tx · AQaQpLwKThbQWjdSmXuG7Ti8yKjvKdnjbH7F98UZNK9w 3N72X4SpkNvXqi3ruDJgYdDmVJe8nRqj7zU: -0.01400000 Waves 2020.09.22 04:20 [1187850] smart account 3N72X4SpkNvXqi3ruDJgYdDmVJe8nRqj7zU > SELF 0.00000000 Waves
{ "type": 13, "id": "AQaQpLwKThbQWjdSmXuG7Ti8yKjvKdnjbH7F98UZNK9w", "fee": 1400000, "feeAssetId": null, "timestamp": 1600737678628, "version": 2, "chainId": 84, "sender": "3N72X4SpkNvXqi3ruDJgYdDmVJe8nRqj7zU", "senderPublicKey": "Ej9UfgzgHeDPtoinwmZaL71Jv5CgK2QzWZZYyQUbpByz", "proofs": [ "7dKTy26mvms6gFhkDxzCmQvZiBpniQ9QYWqz9P82GdX97DmfV1zTTw7QErST4V3RoDU8bFjiVebFVPNAPiR2xmJ" ], "script": "base64:AAIEAAAAAAAAACAIAhIECgIBCBIDCgEIEgYKBAgICAESBwoFCAgIAQESAAAAAAUAAAAADHBheW1lbnRBc3NldAEAAAAgzlhA/ZjitMWTd+McxVJoK0GcLLGrEdV8aco355LpR4wAAAAAFGxlc3Nvbk93bmVyUHVibGljS2V5AQAAACDL8+i1dh5Vr1e4XeTXQeu2gcnq6/18vsaB8jf4EQnUaQAAAAAHcGVuZGluZwAAAAAAAAAAAAAAAAAFc3RhcnQAAAAAAAAAAAEAAAAAA2VuZAAAAAAAAAAAAgAAAAUAAAABaQEAAAAJYnV5VGlja2V0AAAAAgAAAApzd2FwQW1vdW50AAAACHRpY2tldElkBAAAAANwbXQJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAADCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAADHBheW1lbnRBc3NldAkAAAIAAAABAgAAABx3b3JrcyB3aXRoIHBheW1lbnRBc3NldCBvbmx5BAAAAA1idXlDdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAEGJ1eUN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAANYnV5Q3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAxidXlOZXdBbW91bnQJAABkAAAAAgUAAAAQYnV5Q3VycmVudEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQEAAAACnJhdGVBbW91bnQJAABoAAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAACnN3YXBBbW91bnQEAAAABnRpY2tldAkAAlkAAAABBQAAAAh0aWNrZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANYnV5Q3VycmVudEtleQUAAAAMYnV5TmV3QW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKcmF0ZUFtb3VudAUAAAAGdGlja2V0BQAAAANuaWwAAAABaQEAAAASbGVzc29uU3Vic2NyaXB0aW9uAAAAAQAAAAhsZXNzb25JZAQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAVwbXRJZAgFAAAAA3BtdAAAAAdhc3NldElkBAAAAAh0aWNrZXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAAVwbXRJZAQAAAAOc3R1ZGVudEFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAQbGVzc29uQ3VycmVudEtleQkAASwAAAACCQABLAAAAAIFAAAACGxlc3NvbklkAgAAAAFfBQAAAA5zdHVkZW50QWRkcmVzcwQAAAAQdGlja2V0Q3VycmVudEtleQkAASwAAAACCQABLAAAAAIFAAAACHRpY2tldElkAgAAAAFfBQAAAA5zdHVkZW50QWRkcmVzcwQAAAATdGlja2V0Q3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABB0aWNrZXRDdXJyZW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAD3RpY2tldE5ld0Ftb3VudAkAAGQAAAACBQAAABN0aWNrZXRDdXJyZW50QW1vdW50CAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQbGVzc29uQ3VycmVudEtleQUAAAAHcGVuZGluZwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQdGlja2V0Q3VycmVudEtleQUAAAAPdGlja2V0TmV3QW1vdW50BQAAAANuaWwAAAABaQEAAAALbGVzc29uU3RhcnQAAAAEAAAACGxlc3NvbklEAAAADnN0dWRlbnRBZGRyZXNzAAAACHRpY2tldElkAAAADXBheW1lbnRBbW91bnQEAAAADWJ1eUN1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACBQAAAAh0aWNrZXRJZAIAAAABXwUAAAAOc3R1ZGVudEFkZHJlc3MEAAAAEGJ1eUN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJ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", "height": 1187850, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ELcN8X4odiuYVihCSo3TYVczsnu9cYX8uQKCm5sqEaB3 Next: DebXCcYaeHxKCjLPHz3tj1m8XpPey1LJVL2MLCKiRatc Diff:
Old | New | Differences | |
---|---|---|---|
28 | 28 | else 0 | |
29 | 29 | } | |
30 | 30 | let n = (k + i.amount) | |
31 | - | let o = (i.amount | |
31 | + | let o = (i.amount * g) | |
32 | 32 | let p = fromBase58String(h) | |
33 | 33 | [IntegerEntry(j, n), ScriptTransfer(f.caller, o, p)] | |
34 | 34 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm' | |
5 | 5 | ||
6 | 6 | let b = base58'Ej9UfgzgHeDPtoinwmZaL71Jv5CgK2QzWZZYyQUbpByz' | |
7 | 7 | ||
8 | 8 | let c = 0 | |
9 | 9 | ||
10 | 10 | let d = 1 | |
11 | 11 | ||
12 | 12 | let e = 2 | |
13 | 13 | ||
14 | 14 | @Callable(f) | |
15 | 15 | func buyTicket (g,h) = { | |
16 | 16 | let i = f.payments[0] | |
17 | 17 | if ((i.assetId != a)) | |
18 | 18 | then throw("works with paymentAsset only") | |
19 | 19 | else { | |
20 | 20 | let j = toBase58String(f.caller.bytes) | |
21 | 21 | let k = { | |
22 | 22 | let l = getInteger(this, j) | |
23 | 23 | if ($isInstanceOf(l, "Int")) | |
24 | 24 | then { | |
25 | 25 | let m = l | |
26 | 26 | m | |
27 | 27 | } | |
28 | 28 | else 0 | |
29 | 29 | } | |
30 | 30 | let n = (k + i.amount) | |
31 | - | let o = (i.amount | |
31 | + | let o = (i.amount * g) | |
32 | 32 | let p = fromBase58String(h) | |
33 | 33 | [IntegerEntry(j, n), ScriptTransfer(f.caller, o, p)] | |
34 | 34 | } | |
35 | 35 | } | |
36 | 36 | ||
37 | 37 | ||
38 | 38 | ||
39 | 39 | @Callable(f) | |
40 | 40 | func lessonSubscription (q) = { | |
41 | 41 | let i = f.payments[0] | |
42 | 42 | let r = i.assetId | |
43 | 43 | let h = toBase58String(value(r)) | |
44 | 44 | let s = toBase58String(f.caller.bytes) | |
45 | 45 | let t = ((q + "_") + s) | |
46 | 46 | let u = ((h + "_") + s) | |
47 | 47 | let v = { | |
48 | 48 | let l = getInteger(this, u) | |
49 | 49 | if ($isInstanceOf(l, "Int")) | |
50 | 50 | then { | |
51 | 51 | let m = l | |
52 | 52 | m | |
53 | 53 | } | |
54 | 54 | else 0 | |
55 | 55 | } | |
56 | 56 | let w = (v + i.amount) | |
57 | 57 | [IntegerEntry(t, c), IntegerEntry(u, w)] | |
58 | 58 | } | |
59 | 59 | ||
60 | 60 | ||
61 | 61 | ||
62 | 62 | @Callable(f) | |
63 | 63 | func lessonStart (x,s,h,y) = { | |
64 | 64 | let j = ((h + "_") + s) | |
65 | 65 | let k = { | |
66 | 66 | let l = getInteger(this, j) | |
67 | 67 | if ($isInstanceOf(l, "Int")) | |
68 | 68 | then { | |
69 | 69 | let m = l | |
70 | 70 | m | |
71 | 71 | } | |
72 | 72 | else 0 | |
73 | 73 | } | |
74 | 74 | let n = (k - y) | |
75 | 75 | let t = ((x + "_") + s) | |
76 | 76 | [IntegerEntry(j, n), IntegerEntry(t, d)] | |
77 | 77 | } | |
78 | 78 | ||
79 | 79 | ||
80 | 80 | ||
81 | 81 | @Callable(f) | |
82 | 82 | func lessonFinish (q,h,s,y,z) = { | |
83 | 83 | let A = toBase58String(f.caller.bytes) | |
84 | 84 | let B = { | |
85 | 85 | let l = getInteger(this, A) | |
86 | 86 | if ($isInstanceOf(l, "Int")) | |
87 | 87 | then { | |
88 | 88 | let m = l | |
89 | 89 | m | |
90 | 90 | } | |
91 | 91 | else 0 | |
92 | 92 | } | |
93 | 93 | let C = (B + y) | |
94 | 94 | let t = ((q + "_") + s) | |
95 | 95 | let u = ((h + "_") + s) | |
96 | 96 | let v = { | |
97 | 97 | let l = getInteger(this, u) | |
98 | 98 | if ($isInstanceOf(l, "Int")) | |
99 | 99 | then { | |
100 | 100 | let m = l | |
101 | 101 | m | |
102 | 102 | } | |
103 | 103 | else 0 | |
104 | 104 | } | |
105 | 105 | let p = fromBase58String(h) | |
106 | 106 | [IntegerEntry(A, C), IntegerEntry(t, e), Burn(p, z)] | |
107 | 107 | } | |
108 | 108 | ||
109 | 109 | ||
110 | 110 | ||
111 | 111 | @Callable(f) | |
112 | 112 | func ownerWithdraw () = { | |
113 | 113 | let A = toBase58String(f.caller.bytes) | |
114 | 114 | let D = { | |
115 | 115 | let l = getInteger(this, A) | |
116 | 116 | if ($isInstanceOf(l, "Int")) | |
117 | 117 | then { | |
118 | 118 | let m = l | |
119 | 119 | m | |
120 | 120 | } | |
121 | 121 | else 0 | |
122 | 122 | } | |
123 | 123 | if ((0 > D)) | |
124 | 124 | then throw("Can't withdraw negative amount") | |
125 | 125 | else [IntegerEntry(A, 0), ScriptTransfer(f.caller, D, a)] | |
126 | 126 | } | |
127 | 127 | ||
128 | 128 | ||
129 | 129 | @Verifier(E) | |
130 | 130 | func F () = sigVerify(E.bodyBytes, E.proofs[0], b) | |
131 | 131 |
github/deemru/w8io/169f3d6 37.32 ms ◑![]()