tx · 9MtpZHQLVGNhpwpuoH2NZC4u2gp48Fxcvj7ptmDgrYGC 3PLNxoMJYKzcA8qQ7hQidGDaUJNvM4w36nj: -0.01400000 Waves 2021.11.21 17:11 [2865920] smart account 3PLNxoMJYKzcA8qQ7hQidGDaUJNvM4w36nj > SELF 0.00000000 Waves
{ "type": 13, "id": "9MtpZHQLVGNhpwpuoH2NZC4u2gp48Fxcvj7ptmDgrYGC", "fee": 1400000, "feeAssetId": null, "timestamp": 1637503871625, "version": 2, "chainId": 87, "sender": "3PLNxoMJYKzcA8qQ7hQidGDaUJNvM4w36nj", "senderPublicKey": "Ehjvdw3WVF7oCUdAurvB42kf744MJj92p3A2qHsTCXrq", "proofs": [ "NBnHZZtoK8fTjmn7qNWzs1BMxRVmQVUbaR5XPcSQGRLhUEkAvgn3kdTJgjQuDZ737mYHjtSAiTrPP61daw1892U" ], "script": "base64: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", "height": 2865920, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: AG3eAWDcn22TNmv4sfEunc84fK85DEBRsMeCMJtLgVjV Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let mainAddress = Address(base58'3PKYPKJPHZENAAwH9e7TF5edDgukNxxBt3M') | |
5 | + | ||
6 | + | let assetIds = [base58'EfdcPXw7o7rrrPWmMBr2sa66Dk95n56622ngujbaGhye', base58'B543bkZcZNo5GrUnd5fxB6EwkiJhAVyKCkPn5nWzZC2s', base58'5bcAh1r6ydrpk44FEmrnmJQjumgKo3NKEEsyfgmZYwxC', base58'54UszKAj3MtYmkdRCqSXAcaQLaVALBy7CCrVkfmfzhxR', base58'5nk9JW8yRonyNBEwhChoksLxpBECVxbVLqaNuQs9EJn1', base58'Dfx6LJPndo1h5Umk9SofDhMDs6Gi8cHyT3873pSgoASU', base58'4kwKSf4Bx2Wq8YxKnVZBhcEHyXzEtJ2pw7ixfJgirwf2', base58'Ej7kEzxvUsoiMtJKiuFpMD9tC6qfCADpZynyW2vqcWW', base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'] | |
7 | + | ||
8 | + | let baseAssetId = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS' | |
9 | + | ||
10 | + | let poolIndexId = base58'3WZCNktsDP7bozcQQjegcbdLp85VvGjtoemUrTZ9XTDH' | |
11 | + | ||
12 | + | @Callable(i) | |
13 | + | func generateIndexWithOneTokenAndStake () = { | |
14 | + | let tokenId = i.payments[0].assetId | |
15 | + | let amount = (i.payments[0].amount / 10) | |
16 | + | if ((tokenId != baseAssetId)) | |
17 | + | then throw("best gamefi token only") | |
18 | + | else { | |
19 | + | func handler (accum,assetId) = { | |
20 | + | let in = match invoke(mainAddress, "swap", [toBase58String(assetId), 0], [AttachedPayment(baseAssetId, amount)]) { | |
21 | + | case x: Int => | |
22 | + | x | |
23 | + | case _ => | |
24 | + | 0 | |
25 | + | } | |
26 | + | if ((in == in)) | |
27 | + | then (accum ++ [AttachedPayment(assetId, in)]) | |
28 | + | else throw("Strict value is not equal to itself.") | |
29 | + | } | |
30 | + | ||
31 | + | let exchangeInvokes = { | |
32 | + | let $l = assetIds | |
33 | + | let $s = size($l) | |
34 | + | let $acc0 = [AttachedPayment(baseAssetId, amount)] | |
35 | + | func 1 ($a,$i) = if (($i >= $s)) | |
36 | + | then $a | |
37 | + | else handler($a, $l[$i]) | |
38 | + | ||
39 | + | func 2 ($a,$i) = if (($i >= $s)) | |
40 | + | then $a | |
41 | + | else throw("List size exceeds 9") | |
42 | + | ||
43 | + | 2(1(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9) | |
44 | + | } | |
45 | + | if ((exchangeInvokes == exchangeInvokes)) | |
46 | + | then { | |
47 | + | let PIssuedAmount = match reentrantInvoke(mainAddress, "generateIndex", nil, exchangeInvokes) { | |
48 | + | case x: Int => | |
49 | + | x | |
50 | + | case _ => | |
51 | + | 0 | |
52 | + | } | |
53 | + | if ((PIssuedAmount == PIssuedAmount)) | |
54 | + | then nil | |
55 | + | else throw("Strict value is not equal to itself.") | |
56 | + | } | |
57 | + | else throw("Strict value is not equal to itself.") | |
58 | + | } | |
59 | + | } | |
60 | + | ||
61 | + | ||
62 | + | ||
63 | + | @Callable(i) | |
64 | + | func generateIndexAndStake () = { | |
65 | + | let PIssuedAmount = match reentrantInvoke(mainAddress, "generateIndex", nil, i.payments) { | |
66 | + | case x: Int => | |
67 | + | x | |
68 | + | case _ => | |
69 | + | 0 | |
70 | + | } | |
71 | + | if ((PIssuedAmount == PIssuedAmount)) | |
72 | + | then { | |
73 | + | let stakeInvoke = reentrantInvoke(mainAddress, "stakeIndex", nil, [AttachedPayment(poolIndexId, PIssuedAmount)]) | |
74 | + | if ((stakeInvoke == stakeInvoke)) | |
75 | + | then nil | |
76 | + | else throw("Strict value is not equal to itself.") | |
77 | + | } | |
78 | + | else throw("Strict value is not equal to itself.") | |
79 | + | } | |
80 | + | ||
81 | + | ||
82 | + | ||
83 | + | @Callable(i) | |
84 | + | func unstakeAndRedeemIndex (amount) = { | |
85 | + | let unstakeInvoke = reentrantInvoke(mainAddress, "unstakeIndex", [amount], i.payments) | |
86 | + | if ((unstakeInvoke == unstakeInvoke)) | |
87 | + | then { | |
88 | + | let redeemInvoke = reentrantInvoke(mainAddress, "redeemIndex", nil, [AttachedPayment(poolIndexId, amount)]) | |
89 | + | if ((redeemInvoke == redeemInvoke)) | |
90 | + | then nil | |
91 | + | else throw("Strict value is not equal to itself.") | |
92 | + | } | |
93 | + | else throw("Strict value is not equal to itself.") | |
94 | + | } | |
95 | + | ||
96 | + |
github/deemru/w8io/0e76f2f 28.80 ms ◑