tx · FFFmgPrUhWY6cVK34Yyxan18GdyVksZm7BVYgbF7CmwE 3MspVNLJ5UHqAy4NA8RvNGMqiVEsFaaxt45: -0.01000000 Waves 2020.09.23 09:22 [1189578] smart account 3MspVNLJ5UHqAy4NA8RvNGMqiVEsFaaxt45 > SELF 0.00000000 Waves
{ "type": 13, "id": "FFFmgPrUhWY6cVK34Yyxan18GdyVksZm7BVYgbF7CmwE", "fee": 1000000, "feeAssetId": null, "timestamp": 1600842156761, "version": 2, "chainId": 84, "sender": "3MspVNLJ5UHqAy4NA8RvNGMqiVEsFaaxt45", "senderPublicKey": "5knEXQSQFxXmqsNyCBdJgnb5h8vX4gv2o1ZjmoiBArwo", "proofs": [ "2obSnG6FVYRVQQJvWqoisnrP9g4W557BM1CTpDLdVrmaXmPm7S1XgvBT3jXX7ok9vhGYoJxpoTmwkCQRfc5fJhWF" ], "script": "base64:AAIEAAAAAAAAACEIAhIECgIIARIDCgEIEgMKAQgSBAoCCAgSBQoDCAgIEgAAAAAKAAAAAAZMRVNTT04BAAAAIOjnSHw4js1vrbOhaypqBgUMh7yKo+Dj/vvXlCSDAODpAAAAAARQQVI3AQAAACDOWED9mOK0xZN34xzFUmgrQZwssasR1XxpyjfnkulHjAAAAAAESlBZTgEAAAAgpkwt1dw/HjX4xz4uw1W7wTtHqP/hoq/OIPS85VScd2AAAAAABFVTRE4BAAAAICJkPx6+YEbpEWoTE9ymM/4Wfgf5d+mz8hX8mUkqMAo3AAAAAAdQQVI3UEFZAQAAACCXnW4Q/g8CyoQAfx9ug2MeGb+saXzue5DNzkjl0gdBIwAAAAAUbGVzc29uT3duZXJQdWJsaWNLZXkBAAAAINbyv5Ac0MRdf7uiiOo57gRy8h66G93ymjYom8jUMkVUAAAAAAdwZW5kaW5nAAAAAAAAAAAAAAAAAAVzdGFydAAAAAAAAAAAAQAAAAADZW5kAAAAAAAAAAACAAAAAAxwYXltZW50VG9rZW4FAAAABFBBUjcAAAAGAAAAAWkBAAAAEWlzc3VlTGVzc29uVGlja2V0AAAAAgAAAARqc29uAAAABXByaWNlBAAAAANwbXQJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAADCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAABkxFU1NPTgkAAAIAAAABAgAAABZ3b3JrcyB3aXRoIExFU1NPTiBvbmx5BAAAAA9pc3N1ZUN1cnJlbnRLZXkCAAAAC2lzc3VlTnVtYmVyBAAAABJpc3N1ZUN1cnJlbnROdW1iZXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAPaXNzdWVDdXJyZW50S2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAADm5ld0lzc3VlTnVtYmVyCQAAZAAAAAIFAAAAEmlzc3VlQ3VycmVudE51bWJlcgAAAAAAAAAAAQQAAAAUbmV3SXNzdWVOdW1iZXJTdHJpbmcJAAGkAAAAAQUAAAAObmV3SXNzdWVOdW1iZXIEAAAAF3RpY2tldERldGFpbHNDdXJyZW50S2V5CQABLAAAAAIJAAEsAAAAAgIAAAAHVElDS0VUXwUAAAAUbmV3SXNzdWVOdW1iZXJTdHJpbmcCAAAACF9kZXRhaWxzBAAAABV0aWNrZXRQcmljZUN1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAdUSUNLRVRfBQAAABRuZXdJc3N1ZU51bWJlclN0cmluZwIAAAAGX3ByaWNlBAAAABd0aWNrZXRCYWxhbmNlQ3VycmVudEtleQkAASwAAAACCQABLAAAAAICAAAAB1RJQ0tFVF8FAAAAFG5ld0lzc3VlTnVtYmVyU3RyaW5nAgAAAAhfYmFsYW5jZQQAAAAadGlja2V0QmFsYW5jZUN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAXdGlja2V0QmFsYW5jZUN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAWbmV3VGlja2V0QmFsYW5jZUFtb3VudAkAAGQAAAACBQAAABp0aWNrZXRCYWxhbmNlQ3VycmVudEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFXRpY2tldFByaWNlQ3VycmVudEtleQUAAAAFcHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2lzc3VlQ3VycmVudEtleQUAAAAObmV3SXNzdWVOdW1iZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAXdGlja2V0RGV0YWlsc0N1cnJlbnRLZXkFAAAABGpzb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAF3RpY2tldEJhbGFuY2VDdXJyZW50S2V5BQAAABZuZXdUaWNrZXRCYWxhbmNlQW1vdW50BQAAAANuaWwAAAABaQEAAAAJYnV5VGlja2V0AAAAAQAAAAx0aWNrZXROdW1iZXIEAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAVdGlja2V0UHJpY2VDdXJyZW50S2V5CQABLAAAAAIJAAEsAAAAAgIAAAAHVElDS0VUXwUAAAAMdGlja2V0TnVtYmVyAgAAAAZfcHJpY2UEAAAAGHRpY2tldFByaWNlQ3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABV0aWNrZXRQcmljZUN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAALdGlja2V0UHJpY2UFAAAAGHRpY2tldFByaWNlQ3VycmVudEFtb3VudAQAAAAKcmF0ZUFtb3VudAkAAGkAAAACCAUAAAADcG10AAAABmFtb3VudAUAAAALdGlja2V0UHJpY2UDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAADHBheW1lbnRUb2tlbgkAAAIAAAABAgAAAB13b3JrcyB3aXRoIFBheW1lbnQgVG9rZW4gb25seQQAAAANYnV5Q3VycmVudEtleQkAASwAAAACAgAAAARidXlfCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAEGJ1eUN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAANYnV5Q3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAxidXlOZXdBbW91bnQJAABkAAAAAgUAAAAQYnV5Q3VycmVudEFtb3VudAUAAAAKcmF0ZUFtb3VudAQAAAAXdGlja2V0QmFsYW5jZUN1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAdUSUNLRVRfBQAAAAx0aWNrZXROdW1iZXICAAAACF9iYWxhbmNlBAAAABp0aWNrZXRCYWxhbmNlQ3VycmVudEFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABd0aWNrZXRCYWxhbmNlQ3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABZuZXdUaWNrZXRCYWxhbmNlQW1vdW50CQAAZQAAAAIFAAAAGnRpY2tldEJhbGFuY2VDdXJyZW50QW1vdW50BQAAAApyYXRlQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1idXlDdXJyZW50S2V5BQAAAAxidXlOZXdBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAF3RpY2tldEJhbGFuY2VDdXJyZW50S2V5BQAAABZuZXdUaWNrZXRCYWxhbmNlQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKcmF0ZUFtb3VudAUAAAAGTEVTU09OBQAAAANuaWwAAAABaQEAAAASbGVzc29uU3Vic2NyaXB0aW9uAAAAAQAAAAhsZXNzb25JZAQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAVwbXRJZAgFAAAAA3BtdAAAAAdhc3NldElkBAAAAA5zdHVkZW50QWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAABZsZXNzb25TdGF0dXNDdXJyZW50S2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdzdGF0dXNfBQAAAAhsZXNzb25JZAIAAAABXwUAAAAOc3R1ZGVudEFkZHJlc3MEAAAAE2xlc3NvbkZlZUN1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACHBheW1lbnRfBQAAAAhsZXNzb25JZAIAAAABXwUAAAAOc3R1ZGVudEFkZHJlc3MEAAAAFmxlc3NvbkZlZUN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAATbGVzc29uRmVlQ3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA90aWNrZXROZXdBbW91bnQJAABkAAAAAgUAAAAWbGVzc29uRmVlQ3VycmVudEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFmxlc3NvblN0YXR1c0N1cnJlbnRLZXkFAAAAB3BlbmRpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAE2xlc3NvbkZlZUN1cnJlbnRLZXkFAAAAD3RpY2tldE5ld0Ftb3VudAUAAAADbmlsAAAAAWkBAAAAC2xlc3NvblN0YXJ0AAAAAgAAAAhsZXNzb25JZAAAAA5zdHVkZW50QWRkcmVzcwQAAAAWbGVzc29uU3RhdHVzQ3VycmVudEtleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHc3RhdHVzXwUAAAAIbGVzc29uSWQCAAAAAV8FAAAADnN0dWRlbnRBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABZsZXNzb25TdGF0dXNDdXJyZW50S2V5BQAAAAVzdGFydAUAAAADbmlsAAAAAWkBAAAADGxlc3NvbkZpbmlzaAAAAAMAAAAIbGVzc29uSWQAAAAOc3R1ZGVudEFkZHJlc3MAAAAMdGlja2V0TnVtYmVyBAAAAAh0aWNrZXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAAZMRVNTT04EAAAAE2xlc3NvbkZlZUN1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACHBheW1lbnRfBQAAAAhsZXNzb25JZAIAAAABXwUAAAAOc3R1ZGVudEFkZHJlc3MEAAAAFmxlc3NvbkZlZUN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAATbGVzc29uRmVlQ3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABV0aWNrZXRQcmljZUN1cnJlbnRLZXkJAAEsAAAAAgkAASwAAAACAgAAAAdUSUNLRVRfBQAAAAx0aWNrZXROdW1iZXICAAAABl9wcmljZQQAAAAYdGlja2V0UHJpY2VDdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAFXRpY2tldFByaWNlQ3VycmVu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", "height": 1189578, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 4 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = base58'GgA8mL3SEYvuhYoZFd418Li4bqXAasGbYCKJshTt2MGU' | |
5 | + | ||
6 | + | let b = base58'EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm' | |
7 | + | ||
8 | + | let c = base58'CCA3xSCed22LYv22gZ646XjKQikbGYRe49StqbrSkNEK' | |
9 | + | ||
10 | + | let d = base58'3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC' | |
11 | + | ||
12 | + | let e = base58'BCqo4hvDBB2dzmidJQKkVtQtkgEQVVwMy1jjV4R4tNB4' | |
13 | + | ||
14 | + | let f = base58'FU4wEpLzTjfekkKGGSaXKgBmP1LNJu6ewSw82z6AjoXH' | |
15 | + | ||
16 | + | let g = 0 | |
17 | + | ||
18 | + | let h = 1 | |
19 | + | ||
20 | + | let i = 2 | |
21 | + | ||
22 | + | let j = b | |
23 | + | ||
24 | + | @Callable(k) | |
25 | + | func issueLessonTicket (l,m) = { | |
26 | + | let n = k.payments[0] | |
27 | + | if ((n.assetId != a)) | |
28 | + | then throw("works with LESSON only") | |
29 | + | else { | |
30 | + | let o = "issueNumber" | |
31 | + | let p = { | |
32 | + | let q = getInteger(this, o) | |
33 | + | if ($isInstanceOf(q, "Int")) | |
34 | + | then { | |
35 | + | let r = q | |
36 | + | r | |
37 | + | } | |
38 | + | else 0 | |
39 | + | } | |
40 | + | let s = (p + 1) | |
41 | + | let t = toString(s) | |
42 | + | let u = (("TICKET_" + t) + "_details") | |
43 | + | let v = (("TICKET_" + t) + "_price") | |
44 | + | let w = (("TICKET_" + t) + "_balance") | |
45 | + | let x = { | |
46 | + | let q = getInteger(this, w) | |
47 | + | if ($isInstanceOf(q, "Int")) | |
48 | + | then { | |
49 | + | let r = q | |
50 | + | r | |
51 | + | } | |
52 | + | else 0 | |
53 | + | } | |
54 | + | let y = (x + n.amount) | |
55 | + | [IntegerEntry(v, m), IntegerEntry(o, s), StringEntry(u, l), IntegerEntry(w, y)] | |
56 | + | } | |
57 | + | } | |
58 | + | ||
59 | + | ||
60 | + | ||
61 | + | @Callable(k) | |
62 | + | func buyTicket (z) = { | |
63 | + | let n = k.payments[0] | |
64 | + | let v = (("TICKET_" + z) + "_price") | |
65 | + | let A = { | |
66 | + | let q = getInteger(this, v) | |
67 | + | if ($isInstanceOf(q, "Int")) | |
68 | + | then { | |
69 | + | let r = q | |
70 | + | r | |
71 | + | } | |
72 | + | else 0 | |
73 | + | } | |
74 | + | let B = A | |
75 | + | let C = (n.amount / B) | |
76 | + | if ((n.assetId != j)) | |
77 | + | then throw("works with Payment Token only") | |
78 | + | else { | |
79 | + | let D = ("buy_" + toBase58String(k.caller.bytes)) | |
80 | + | let E = { | |
81 | + | let q = getInteger(this, D) | |
82 | + | if ($isInstanceOf(q, "Int")) | |
83 | + | then { | |
84 | + | let r = q | |
85 | + | r | |
86 | + | } | |
87 | + | else 0 | |
88 | + | } | |
89 | + | let F = (E + C) | |
90 | + | let w = (("TICKET_" + z) + "_balance") | |
91 | + | let x = { | |
92 | + | let q = getInteger(this, w) | |
93 | + | if ($isInstanceOf(q, "Int")) | |
94 | + | then { | |
95 | + | let r = q | |
96 | + | r | |
97 | + | } | |
98 | + | else 0 | |
99 | + | } | |
100 | + | let y = (x - C) | |
101 | + | [IntegerEntry(D, F), IntegerEntry(w, y), ScriptTransfer(k.caller, C, a)] | |
102 | + | } | |
103 | + | } | |
104 | + | ||
105 | + | ||
106 | + | ||
107 | + | @Callable(k) | |
108 | + | func lessonSubscription (G) = { | |
109 | + | let n = k.payments[0] | |
110 | + | let H = n.assetId | |
111 | + | let I = toBase58String(k.caller.bytes) | |
112 | + | let J = ((("status_" + G) + "_") + I) | |
113 | + | let K = ((("payment_" + G) + "_") + I) | |
114 | + | let L = { | |
115 | + | let q = getInteger(this, K) | |
116 | + | if ($isInstanceOf(q, "Int")) | |
117 | + | then { | |
118 | + | let r = q | |
119 | + | r | |
120 | + | } | |
121 | + | else 0 | |
122 | + | } | |
123 | + | let M = (L + n.amount) | |
124 | + | [IntegerEntry(J, g), IntegerEntry(K, M)] | |
125 | + | } | |
126 | + | ||
127 | + | ||
128 | + | ||
129 | + | @Callable(k) | |
130 | + | func lessonStart (G,I) = { | |
131 | + | let J = ((("status_" + G) + "_") + I) | |
132 | + | [IntegerEntry(J, h)] | |
133 | + | } | |
134 | + | ||
135 | + | ||
136 | + | ||
137 | + | @Callable(k) | |
138 | + | func lessonFinish (G,I,z) = { | |
139 | + | let N = toBase58String(value(a)) | |
140 | + | let K = ((("payment_" + G) + "_") + I) | |
141 | + | let L = { | |
142 | + | let q = getInteger(this, K) | |
143 | + | if ($isInstanceOf(q, "Int")) | |
144 | + | then { | |
145 | + | let r = q | |
146 | + | r | |
147 | + | } | |
148 | + | else 0 | |
149 | + | } | |
150 | + | let v = (("TICKET_" + z) + "_price") | |
151 | + | let A = { | |
152 | + | let q = getInteger(this, v) | |
153 | + | if ($isInstanceOf(q, "Int")) | |
154 | + | then { | |
155 | + | let r = q | |
156 | + | r | |
157 | + | } | |
158 | + | else 0 | |
159 | + | } | |
160 | + | let O = (L * A) | |
161 | + | let P = ("owner_balance_" + toBase58String(k.caller.bytes)) | |
162 | + | let Q = { | |
163 | + | let q = getInteger(this, P) | |
164 | + | if ($isInstanceOf(q, "Int")) | |
165 | + | then { | |
166 | + | let r = q | |
167 | + | r | |
168 | + | } | |
169 | + | else 0 | |
170 | + | } | |
171 | + | let R = (Q + O) | |
172 | + | let J = ((("status_" + G) + "_") + I) | |
173 | + | let S = ((N + "_") + I) | |
174 | + | let T = { | |
175 | + | let q = getInteger(this, S) | |
176 | + | if ($isInstanceOf(q, "Int")) | |
177 | + | then { | |
178 | + | let r = q | |
179 | + | r | |
180 | + | } | |
181 | + | else 0 | |
182 | + | } | |
183 | + | let U = fromBase58String(N) | |
184 | + | [IntegerEntry(P, R), IntegerEntry(J, i), IntegerEntry(K, 0), Burn(a, L)] | |
185 | + | } | |
186 | + | ||
187 | + | ||
188 | + | ||
189 | + | @Callable(k) | |
190 | + | func ownerWithdraw () = { | |
191 | + | let P = ("owner_balance_" + toBase58String(k.caller.bytes)) | |
192 | + | let Q = { | |
193 | + | let q = getInteger(this, P) | |
194 | + | if ($isInstanceOf(q, "Int")) | |
195 | + | then { | |
196 | + | let r = q | |
197 | + | r | |
198 | + | } | |
199 | + | else 0 | |
200 | + | } | |
201 | + | if ((0 > Q)) | |
202 | + | then throw("Can't withdraw negative amount") | |
203 | + | else [IntegerEntry(P, 0), ScriptTransfer(k.caller, Q, j)] | |
204 | + | } | |
205 | + | ||
206 | + | ||
207 | + | @Verifier(V) | |
208 | + | func W () = sigVerify(V.bodyBytes, V.proofs[0], f) | |
209 | + |
github/deemru/w8io/169f3d6 39.13 ms ◑