tx · 9WCKZaZrWG229ja9fXM7Vm25sc6aX6SWLUFpVrTESthK 3NARb6kPZQfvHem9AbHY4ymmcRUTYRuzyoY: -0.05000000 Waves 2021.04.16 00:04 [1484070] smart account 3NARb6kPZQfvHem9AbHY4ymmcRUTYRuzyoY > SELF 0.00000000 Waves
{ "type": 13, "id": "9WCKZaZrWG229ja9fXM7Vm25sc6aX6SWLUFpVrTESthK", "fee": 5000000, "feeAssetId": null, "timestamp": 1618520724243, "version": 2, "chainId": 84, "sender": "3NARb6kPZQfvHem9AbHY4ymmcRUTYRuzyoY", "senderPublicKey": "JBRAxo1SGQ7RcGimF2r394b7Qga2v7nWiT1RfoT4cpnv", "proofs": [ "4UFQ4avat1MmCBooNC4RXmANbtqH9Rv1oCbEKtFvm69AEy9f3xweNzRn6pZPEiTDCPqJjarXKMrNCkr7Kfr9yBfW" ], "script": "base64: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", "height": 1484070, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Cgb7Jsek5h5QD2d3Pji4mEjmeQaLpNkPUPW36R9dEYx Next: DoPcWuk62hXTRJrksXa6j7yjPJBKaghDAYsmWxK7CFrx Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let assetId01 = fromBase58String(getStringValue(this, "asset_id_01")) | |
4 | 5 | ||
6 | + | let assetId02 = fromBase58String(getStringValue(this, "asset_id_02")) | |
7 | + | ||
8 | + | let assetId03 = fromBase58String(getStringValue(this, "asset_id_03")) | |
5 | 9 | ||
6 | 10 | @Callable(i) | |
7 | 11 | func call01 () = { | |
13 | 17 | ||
14 | 18 | @Callable(i) | |
15 | 19 | func call02 () = { | |
16 | - | let assetId = fromBase58String(getStringValue(this, "asset_id_02")) | |
20 | + | let assetId = fromBase58String(getStringValue(this, "asset_id_03")) | |
21 | + | [Reissue(assetId, 1, true), ScriptTransfer(i.caller, 1, assetId)] | |
22 | + | } | |
23 | + | ||
24 | + | ||
25 | + | ||
26 | + | @Callable(i) | |
27 | + | func call03 () = { | |
28 | + | let pmtIdA = i.payments[0].assetId | |
29 | + | let pmtAmntA = i.payments[0].amount | |
30 | + | let pmtIdB = i.payments[0].assetId | |
31 | + | let pmtAmntB = i.payments[0].amount | |
32 | + | if ((pmtIdA != assetId01)) | |
33 | + | then throw("err") | |
34 | + | else if ((pmtIdB != assetId02)) | |
35 | + | then throw("err") | |
36 | + | else if ((pmtAmntA != 1)) | |
37 | + | then throw("err") | |
38 | + | else if ((pmtAmntB != 2)) | |
39 | + | then throw("err") | |
40 | + | else [StringEntry((toString(i.caller) + "_action"), "1"), IntegerEntry((toString(i.caller) + "_time"), height)] | |
41 | + | } | |
42 | + | ||
43 | + | ||
44 | + | ||
45 | + | @Callable(i) | |
46 | + | func call04 () = { | |
47 | + | let assetId = fromBase58String(getStringValue(this, "asset_id_0")) | |
17 | 48 | [Reissue(assetId, 1, true), ScriptTransfer(i.caller, 1, assetId)] | |
18 | 49 | } | |
19 | 50 | ||
22 | 53 | @Callable(i) | |
23 | 54 | func init () = { | |
24 | 55 | let asset01 = Issue("Asset_01", "", 0, 0, true) | |
25 | - | let | |
56 | + | let locassetId01 = calculateAssetId(asset01) | |
26 | 57 | let asset02 = Issue("Asset_02", "", 0, 0, true) | |
27 | - | let assetId02 = calculateAssetId(asset02) | |
28 | - | [StringEntry("asset_id_01", toBase58String(assetId01)), asset01, StringEntry("asset_id_02", toBase58String(assetId02)), asset02] | |
58 | + | let locassetId02 = calculateAssetId(asset02) | |
59 | + | let asset03 = Issue("Asset_03", "", 0, 0, true) | |
60 | + | let locssetId03 = calculateAssetId(asset03) | |
61 | + | [StringEntry("asset_id_01", toBase58String(locassetId01)), asset01, StringEntry("asset_id_02", toBase58String(locassetId02)), asset02, StringEntry("asset_id_03", toBase58String(locssetId03)), asset03] | |
29 | 62 | } | |
30 | 63 | ||
31 | 64 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let assetId01 = fromBase58String(getStringValue(this, "asset_id_01")) | |
4 | 5 | ||
6 | + | let assetId02 = fromBase58String(getStringValue(this, "asset_id_02")) | |
7 | + | ||
8 | + | let assetId03 = fromBase58String(getStringValue(this, "asset_id_03")) | |
5 | 9 | ||
6 | 10 | @Callable(i) | |
7 | 11 | func call01 () = { | |
8 | 12 | let assetId = fromBase58String(getStringValue(this, "asset_id_01")) | |
9 | 13 | [Reissue(assetId, 1, true), ScriptTransfer(i.caller, 1, assetId)] | |
10 | 14 | } | |
11 | 15 | ||
12 | 16 | ||
13 | 17 | ||
14 | 18 | @Callable(i) | |
15 | 19 | func call02 () = { | |
16 | - | let assetId = fromBase58String(getStringValue(this, "asset_id_02")) | |
20 | + | let assetId = fromBase58String(getStringValue(this, "asset_id_03")) | |
21 | + | [Reissue(assetId, 1, true), ScriptTransfer(i.caller, 1, assetId)] | |
22 | + | } | |
23 | + | ||
24 | + | ||
25 | + | ||
26 | + | @Callable(i) | |
27 | + | func call03 () = { | |
28 | + | let pmtIdA = i.payments[0].assetId | |
29 | + | let pmtAmntA = i.payments[0].amount | |
30 | + | let pmtIdB = i.payments[0].assetId | |
31 | + | let pmtAmntB = i.payments[0].amount | |
32 | + | if ((pmtIdA != assetId01)) | |
33 | + | then throw("err") | |
34 | + | else if ((pmtIdB != assetId02)) | |
35 | + | then throw("err") | |
36 | + | else if ((pmtAmntA != 1)) | |
37 | + | then throw("err") | |
38 | + | else if ((pmtAmntB != 2)) | |
39 | + | then throw("err") | |
40 | + | else [StringEntry((toString(i.caller) + "_action"), "1"), IntegerEntry((toString(i.caller) + "_time"), height)] | |
41 | + | } | |
42 | + | ||
43 | + | ||
44 | + | ||
45 | + | @Callable(i) | |
46 | + | func call04 () = { | |
47 | + | let assetId = fromBase58String(getStringValue(this, "asset_id_0")) | |
17 | 48 | [Reissue(assetId, 1, true), ScriptTransfer(i.caller, 1, assetId)] | |
18 | 49 | } | |
19 | 50 | ||
20 | 51 | ||
21 | 52 | ||
22 | 53 | @Callable(i) | |
23 | 54 | func init () = { | |
24 | 55 | let asset01 = Issue("Asset_01", "", 0, 0, true) | |
25 | - | let | |
56 | + | let locassetId01 = calculateAssetId(asset01) | |
26 | 57 | let asset02 = Issue("Asset_02", "", 0, 0, true) | |
27 | - | let assetId02 = calculateAssetId(asset02) | |
28 | - | [StringEntry("asset_id_01", toBase58String(assetId01)), asset01, StringEntry("asset_id_02", toBase58String(assetId02)), asset02] | |
58 | + | let locassetId02 = calculateAssetId(asset02) | |
59 | + | let asset03 = Issue("Asset_03", "", 0, 0, true) | |
60 | + | let locssetId03 = calculateAssetId(asset03) | |
61 | + | [StringEntry("asset_id_01", toBase58String(locassetId01)), asset01, StringEntry("asset_id_02", toBase58String(locassetId02)), asset02, StringEntry("asset_id_03", toBase58String(locssetId03)), asset03] | |
29 | 62 | } | |
30 | 63 | ||
31 | 64 | ||
32 | 65 | @Verifier(tx) | |
33 | 66 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
34 | 67 |
github/deemru/w8io/169f3d6 23.42 ms ◑![]()