tx · 98FMcrJd5dRW71fToMq2bpdEB7VLUWXTsrPP2sQsb3CC 3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph: -0.01400000 Waves 2021.10.26 15:50 [1763278] smart account 3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph > SELF 0.00000000 Waves
{ "type": 13, "id": "98FMcrJd5dRW71fToMq2bpdEB7VLUWXTsrPP2sQsb3CC", "fee": 1400000, "feeAssetId": null, "timestamp": 1635252689663, "version": 2, "chainId": 84, "sender": "3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph", "senderPublicKey": "G7cNXePvAHUHmZfXa1eHnvFeH6DuykPC5wm9v9djTKgD", "proofs": [ "5iVebruoDjQpkDfqjL5kTGB5P75o7VWuUf2HVvLYP1LwvoxnoFQy3GWU8Vqfk18h1X5fgL1k7WoL3phJnq1Umcer" ], "script": "base64:AAIFAAAAAAAAABEIAhIAEgASAwoBCBIECgIIAQAAAAMAAAAACmRlcG9zaXRGZWUAAAAAAAAAA+gAAAAADWNvbnRyb2xsZXJGZWUAAAAAAAAAJxAAAAAAC3BsYXRmb3JtRmVlAAAAAAAAACcQAAAABAAAAAJhOAEAAAAEaW5pdAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAMTNQUEg3eDdpcW9iVzV6aXlpUkNpYzE5clFxS3I2blBZYUsxX2Fzc2V0X2JhbGFuY2UAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAATjNQUEg3eDdpcW9iVzV6aXlpUkNpYzE5clFxS3I2blBZYUsxXzNNdGhzdUM1RUR5ZWhHb0t2eXp3aFp2TUVOcm9IUHNnYVhTX2Vhcm5lZAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAABVM1BQSDd4N2lxb2JXNXppeWlSQ2ljMTlyUXFLcjZuUFlhSzFfM010aHN1QzVFRHllaEdvS3Z5endoWnZNRU5yb0hQc2dhWFNfYXNzZXRfYmFsYW5jZQAAAAAAAAAAAAUAAAADbmlsAAAAAmE4AQAAAARjYWxsAAAAAAQAAAACYTkJAARDAAAABwIAAAAGQXNzZXQxAgAAAA9Bc3NldCBmcm9tIGRBcHAAAAAAAAABhqAAAAAAAAAAAAIGBQAAAAR1bml0AAAAAAAAAAAABAAAAAJiMQkABDgAAAABBQAAAAJhOQkABEwAAAACCQEAAAALQmluYXJ5RW50cnkAAAACAgAAAANiaW4BAAAAAAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgIAAAAEYm9vbAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAA2ludAAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAANzdHICAAAAAAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABAgAAAANzdHIJAARMAAAAAgUAAAACYTkFAAAAA25pbAAAAAFpAQAAAAdkZXBvc2l0AAAAAQAAAARwb29sBAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAQAAAAHYXNzZXRJZAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAANcG9vbEFtb3VudEtleQkAASwAAAACBQAAAARwb29sAgAAAA5fYXNzZXRfYmFsYW5jZQQAAAALdXNlckFkZHJlc3MJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABF1c2VyUG9vbEFtb3VudEtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwUAAAALdXNlckFkZHJlc3MCAAAADl9hc3NldF9iYWxhbmNlBAAAABBkQXBwQXNzZXRBZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wCAAAADl9zZXJ2aWNlX3Rva2VuBAAAAApwb29sQW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAA1wb29sQW1vdW50S2V5BAAAAAp1c2VyQW1vdW50BAAAAAckbWF0Y2gwCQAEHwAAAAEFAAAAEXVzZXJQb29sQW1vdW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA2ludAUAAAAHJG1hdGNoMAUAAAADaW50BAAAAAdub3RoaW5nBQAAAAckbWF0Y2gwAAAAAAAAAAAABAAAAA1uZXdQb29sQW1vdW50CQAAZAAAAAIFAAAACnBvb2xBbW91bnQFAAAABmFtb3VudAQAAAAUdXNlckFtb3VudFdpdGhvdXRGZWUJAABlAAAAAgkAAGUAAAACBQAAAAZhbW91bnQJAQAAAAhmcmFjdGlvbgAAAAQFAAAABmFtb3VudAAAAAAAAAAAAQUAAAAKZGVwb3NpdEZlZQUAAAAERE9XTgkBAAAACGZyYWN0aW9uAAAABAUAAAAGYW1vdW50AAAAAAAAAAABBQAAAA1jb250cm9sbGVyRmVlBQAAAARET1dOBAAAABFuZXdVc2VyUG9vbEFtb3VudAkAAGQAAAACBQAAAAp1c2VyQW1vdW50BQAAABR1c2VyQW1vdW50V2l0aG91dEZlZQkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMJAAJZAAAAAQUAAAAQZEFwcEFzc2V0QWRkcmVzcwUAAAAGYW1vdW50BgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAFHVzZXJBbW91bnRXaXRob3V0RmVlCQACWQAAAAEFAAAAEGRBcHBBc3NldEFkZHJlc3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADXBvb2xBbW91bnRLZXkFAAAADW5ld1Bvb2xBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEXVzZXJQb29sQW1vdW50S2V5BQAAABFuZXdVc2VyUG9vbEFtb3VudAUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAgAAAARwb29sAAAACnVzZXJFYXJuZWQEAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BAAAAAdhc3NldElkCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAA1wb29sQW1vdW50S2V5CQABLAAAAAIFAAAABHBvb2wCAAAADl9hc3NldF9iYWxhbmNlBAAAAAt1c2VyQWRkcmVzcwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAEXVzZXJQb29sQW1vdW50S2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfBQAAAAt1c2VyQWRkcmVzcwIAAAAOX2Fzc2V0X2JhbGFuY2UEAAAAEXVzZXJQb29sRWFybmVkS2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfBQAAAAt1c2VyQWRkcmVzcwIAAAAHX2Vhcm5lZAQAAAAKcG9vbEFtb3VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAANcG9vbEFtb3VudEtleQQAAAAKdXNlckFtb3VudAQAAAAHJG1hdGNoMAkABB8AAAABBQAAABF1c2VyUG9vbEFtb3VudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAANpbnQFAAAAByRtYXRjaDAFAAAAA2ludAQAAAAHbm90aGluZwUAAAAHJG1hdGNoMAAAAAAAAAAAAAQAAAAQdXNlckVhcm5lZEJlZm9yZQQAAAAHJG1hdGNoMAkABB8AAAABBQAAABF1c2VyUG9vbEVhcm5lZEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAANpbnQFAAAAByRtYXRjaDAFAAAAA2ludAQAAAAHbm90aGluZwUAAAAHJG1hdGNoMAAAAAAAAAAAAAQAAAAQZEFwcEFzc2V0QWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sAgAAABBfbGlxdWlkaXR5X3Rva2VuBAAAABVsaXF1aWRpdHlUb2tlbkRlY2ltYWwEAAAAByRtYXRjaDAJAAPsAAAAAQkAAlkAAAABBQAAABBkQXBwQXNzZXRBZGRyZXNzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAVBc3NldAQAAAAFYXNzZXQFAAAAByRtYXRjaDAIBQAAAAVhc3NldAAAAAhkZWNpbWFscwkAAAIAAAABAgAAABBDYW4ndCBmaW5kIGFzc2V0BAAAAA91c2VyRWFybmVkVG90YWwJAABkAAAAAgUAAAAKdXNlckVhcm5lZAUAAAAQdXNlckVhcm5lZEJlZm9yZQQAAAAQYW1vdW50V2l0aG91dEZlZQkAAGUAAAACCQAAZQAAAAIFAAAABmFtb3VudAkBAAAACGZyYWN0aW9uAAAABAUAAAAGYW1vdW50AAAAAAAAAAABBQAAAAtwbGF0Zm9ybUZlZQUAAAAGSEFMRlVQCQEAAAAIZnJhY3Rpb24AAAAEBQAAAAZhbW91bnQAAAAAAAAAAAEFAAAADWNvbnRyb2xsZXJGZWUFAAAABkhBTEZVUAQAAAANbmV3UG9vbEFtb3VudAkAAGUAAAACBQAAAApwb29sQW1vdW50BQAAABBhbW91bnRXaXRob3V0RmVlAwkAAGcAAAACBQAAAAp1c2VyQW1vdW50BQAAAAZhbW91bnQEAAAAEW5ld1VzZXJQb29sQW1vdW50CQAAZQAAAAIFAAAACnVzZXJBbW91bnQFAAAAEGFtb3VudFdpdGhvdXRGZWUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAABBhbW91bnRXaXRob3V0RmVlCQACWQAAAAEFAAAAEGRBcHBBc3NldEFkZHJlc3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADXBvb2xBbW91bnRLZXkFAAAADW5ld1Bvb2xBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEXVzZXJQb29sQW1vdW50S2V5BQAAABFuZXdVc2VyUG9vbEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARdXNlclBvb2xFYXJuZWRLZXkFAAAAD3VzZXJFYXJuZWRUb3RhbAUAAAADbmlsCQAAAgAAAAECAAAAJllvdSBoYXZlIG5vdCBzdWNoIGJhbGFuY2UgZm9yIHdpdGhkcmF3AAAAAQAAAAJiNgEAAAACYjcAAAAACQAB9AAAAAMIBQAAAAJiNgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAmI2AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAmI2AAAAD3NlbmRlclB1YmxpY0tlef7BJts=", "height": 1763278, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4DaoepFAZWSLdQLF8tXn5fNxCDqeeQA4pdcqTA8fQqcY Next: 9UUA9eyMTDEbaq6wx9op4mSKFyiBTD8btzHeqLqhwMTx Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = | |
4 | + | let a = 1000 | |
5 | 5 | ||
6 | - | let b = | |
6 | + | let b = 10000 | |
7 | 7 | ||
8 | - | let c = | |
8 | + | let c = 10000 | |
9 | 9 | ||
10 | - | let d = 10000 | |
11 | - | ||
12 | - | let e = 10000 | |
13 | - | ||
14 | - | @Callable(f) | |
10 | + | @Callable(d) | |
15 | 11 | func init () = [IntegerEntry("3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1_asset_balance", 0), IntegerEntry("3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1_3MthsuC5EDyehGoKvyzwhZvMENroHPsgaXS_earned", 0), IntegerEntry("3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1_3MthsuC5EDyehGoKvyzwhZvMENroHPsgaXS_asset_balance", 0)] | |
16 | 12 | ||
17 | 13 | ||
18 | 14 | ||
19 | - | @Callable( | |
15 | + | @Callable(d) | |
20 | 16 | func call () = { | |
21 | - | let | |
22 | - | let | |
23 | - | [BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), | |
17 | + | let e = Issue("Asset1", "Asset from dApp", 100000, 2, true, unit, 0) | |
18 | + | let f = calculateAssetId(e) | |
19 | + | [BinaryEntry("bin", base58''), BooleanEntry("bool", true), IntegerEntry("int", 1), StringEntry("str", ""), DeleteEntry("str"), e] | |
24 | 20 | } | |
25 | 21 | ||
26 | 22 | ||
27 | 23 | ||
28 | - | @Callable( | |
29 | - | func deposit ( | |
30 | - | let | |
31 | - | let | |
32 | - | let | |
33 | - | let | |
34 | - | let | |
35 | - | let | |
36 | - | let | |
37 | - | let | |
38 | - | let | |
39 | - | if ($isInstanceOf( | |
24 | + | @Callable(g) | |
25 | + | func deposit (h) = { | |
26 | + | let i = g.payments[0].amount | |
27 | + | let j = g.payments[0].assetId | |
28 | + | let k = (h + "_asset_balance") | |
29 | + | let l = toString(g.caller) | |
30 | + | let m = (((h + "_") + l) + "_asset_balance") | |
31 | + | let n = getStringValue(this, (h + "_service_token")) | |
32 | + | let o = getIntegerValue(this, k) | |
33 | + | let p = { | |
34 | + | let q = getInteger(m) | |
35 | + | if ($isInstanceOf(q, "Int")) | |
40 | 36 | then { | |
41 | - | let | |
42 | - | | |
37 | + | let r = q | |
38 | + | r | |
43 | 39 | } | |
44 | 40 | else { | |
45 | - | let | |
41 | + | let s = q | |
46 | 42 | 0 | |
47 | 43 | } | |
48 | 44 | } | |
49 | - | let v = (q + k) | |
50 | - | let w = (r + ((k - fraction(k, 1, c, DOWN)) - fraction(k, 1, d, DOWN))) | |
51 | - | [ScriptTransfer(i.caller, k, fromBase58String(p)), IntegerEntry(m, v), IntegerEntry(o, w)] | |
45 | + | let t = (o + i) | |
46 | + | let u = ((i - fraction(i, 1, a, DOWN)) - fraction(i, 1, b, DOWN)) | |
47 | + | let v = (p + u) | |
48 | + | [Reissue(fromBase58String(n), i, true), ScriptTransfer(g.caller, u, fromBase58String(n)), IntegerEntry(k, t), IntegerEntry(m, v)] | |
52 | 49 | } | |
53 | 50 | ||
54 | 51 | ||
55 | 52 | ||
56 | - | @Callable( | |
57 | - | func withdraw ( | |
58 | - | let | |
59 | - | let | |
60 | - | let | |
61 | - | let | |
62 | - | let | |
63 | - | let | |
64 | - | let | |
65 | - | let | |
66 | - | let | |
67 | - | if ($isInstanceOf( | |
53 | + | @Callable(g) | |
54 | + | func withdraw (h,w) = { | |
55 | + | let i = g.payments[0].amount | |
56 | + | let j = g.payments[0].assetId | |
57 | + | let k = (h + "_asset_balance") | |
58 | + | let l = toString(g.caller) | |
59 | + | let m = (((h + "_") + l) + "_asset_balance") | |
60 | + | let x = (((h + "_") + l) + "_earned") | |
61 | + | let o = getIntegerValue(this, k) | |
62 | + | let p = { | |
63 | + | let q = getInteger(m) | |
64 | + | if ($isInstanceOf(q, "Int")) | |
68 | 65 | then { | |
69 | - | let | |
70 | - | | |
66 | + | let r = q | |
67 | + | r | |
71 | 68 | } | |
72 | 69 | else { | |
73 | - | let | |
70 | + | let s = q | |
74 | 71 | 0 | |
75 | 72 | } | |
76 | 73 | } | |
77 | - | let | |
78 | - | let | |
79 | - | if ($isInstanceOf( | |
74 | + | let y = { | |
75 | + | let q = getInteger(x) | |
76 | + | if ($isInstanceOf(q, "Int")) | |
80 | 77 | then { | |
81 | - | let | |
82 | - | | |
78 | + | let r = q | |
79 | + | r | |
83 | 80 | } | |
84 | 81 | else { | |
85 | - | let | |
82 | + | let s = q | |
86 | 83 | 0 | |
87 | 84 | } | |
88 | 85 | } | |
89 | - | let | |
90 | - | let | |
91 | - | let | |
92 | - | if ($isInstanceOf( | |
86 | + | let n = getStringValue(this, (h + "_liquidity_token")) | |
87 | + | let z = { | |
88 | + | let q = assetInfo(fromBase58String(n)) | |
89 | + | if ($isInstanceOf(q, "Asset")) | |
93 | 90 | then { | |
94 | - | let | |
95 | - | | |
91 | + | let A = q | |
92 | + | A.decimals | |
96 | 93 | } | |
97 | 94 | else throw("Can't find asset") | |
98 | 95 | } | |
99 | - | let | |
100 | - | let | |
101 | - | let | |
102 | - | if (( | |
96 | + | let B = (w + y) | |
97 | + | let C = ((i - fraction(i, 1, c, HALFUP)) - fraction(i, 1, b, HALFUP)) | |
98 | + | let t = (o - C) | |
99 | + | if ((p >= i)) | |
103 | 100 | then { | |
104 | - | let | |
105 | - | [ScriptTransfer( | |
101 | + | let v = (p - C) | |
102 | + | [ScriptTransfer(g.caller, C, fromBase58String(n)), IntegerEntry(k, t), IntegerEntry(m, v), IntegerEntry(x, B)] | |
106 | 103 | } | |
107 | 104 | else throw("You have not such balance for withdraw") | |
108 | 105 | } | |
109 | 106 | ||
110 | 107 | ||
111 | - | @Verifier( | |
112 | - | func | |
108 | + | @Verifier(D) | |
109 | + | func E () = sigVerify(D.bodyBytes, D.proofs[0], D.senderPublicKey) | |
113 | 110 |
github/deemru/w8io/03bedc9 46.01 ms ◑