tx · HbtV2BCKiYaCA2pm2mHdLAevT6Gr5LsSAvLZNaSMoe8e

3N72X4SpkNvXqi3ruDJgYdDmVJe8nRqj7zU:  -0.01400000 Waves

2020.09.22 09:31 [1188162] smart account 3N72X4SpkNvXqi3ruDJgYdDmVJe8nRqj7zU > SELF 0.00000000 Waves

{ "type": 13, "id": "HbtV2BCKiYaCA2pm2mHdLAevT6Gr5LsSAvLZNaSMoe8e", "fee": 1400000, "feeAssetId": null, "timestamp": 1600756321730, "version": 2, "chainId": 84, "sender": "3N72X4SpkNvXqi3ruDJgYdDmVJe8nRqj7zU", "senderPublicKey": "Ej9UfgzgHeDPtoinwmZaL71Jv5CgK2QzWZZYyQUbpByz", "proofs": [ "3kSRY7bSpKmxQjJmjDLCgQxGKf7G3D1cSRybYPPUck7jpmr3HQUz13aXt7d1z1rM3X7jgv6Vn7SWtwGoSSJVcTyK" ], "script": "base64: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", "height": 1188162, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6GZCrvWEsrpCLjbiqyrwTyVpoo3Sn3DwM8zsvjCmrVC5 Next: FQPEEDaiWPyVykCD9HxepXSqBxhX51ComXSDmGPX2Ymj Diff:
OldNewDifferences
4141 func lessonSubscription (p) = {
4242 let i = g.payments[0]
4343 let q = i.assetId
44- let r = toBase58String(value(q))
45- let s = toBase58String(g.caller.bytes)
46- let t = ((p + "_") + s)
47- let u = ((r + "_") + s)
48- let v = {
49- let m = getInteger(this, u)
44+ let r = toBase58String(g.caller.bytes)
45+ let s = ((p + "_") + r)
46+ let t = ((("fee_" + p) + "_") + r)
47+ let u = toBase58String(value(q))
48+ let v = ((u + "_") + r)
49+ let w = {
50+ let m = getInteger(this, v)
5051 if ($isInstanceOf(m, "Int"))
5152 then {
5253 let n = m
5455 }
5556 else 0
5657 }
57- let w = (v + i.amount)
58-[IntegerEntry(t, d), IntegerEntry(u, w)]
58+ let x = (w + i.amount)
59+[IntegerEntry(s, d), IntegerEntry(t, i.amount), IntegerEntry(v, x)]
5960 }
6061
6162
6263
6364 @Callable(g)
64-func lessonStart (x,s,r,y) = {
65- let k = ((r + "_") + s)
66- let l = {
67- let m = getInteger(this, k)
65+func lessonStart (p,r) = {
66+ let s = ((p + "_") + r)
67+[IntegerEntry(s, e)]
68+ }
69+
70+
71+
72+@Callable(g)
73+func lessonFinish (p,r) = {
74+ let u = toBase58String(value(a))
75+ let t = ((("fee_" + p) + "_") + r)
76+ let y = {
77+ let m = getInteger(this, t)
6878 if ($isInstanceOf(m, "Int"))
6979 then {
7080 let n = m
7282 }
7383 else 0
7484 }
75- let o = (l - y)
76- let t = ((x + "_") + s)
77-[IntegerEntry(k, o), IntegerEntry(t, e)]
78- }
79-
80-
81-
82-@Callable(g)
83-func lessonFinish (p,r,s,y,z) = {
84- let A = toBase58String(g.caller.bytes)
85- let B = {
86- let m = getInteger(this, A)
85+ let z = toBase58String(g.caller.bytes)
86+ let A = {
87+ let m = getInteger(this, z)
8788 if ($isInstanceOf(m, "Int"))
8889 then {
8990 let n = m
9192 }
9293 else 0
9394 }
94- let C = (B + y)
95- let t = ((p + "_") + s)
96- let u = ((r + "_") + s)
97- let v = {
98- let m = getInteger(this, u)
95+ let B = (A + y)
96+ let s = ((p + "_") + r)
97+ let v = ((u + "_") + r)
98+ let w = {
99+ let m = getInteger(this, v)
99100 if ($isInstanceOf(m, "Int"))
100101 then {
101102 let n = m
103104 }
104105 else 0
105106 }
106- let D = fromBase58String(r)
107-[IntegerEntry(A, C), IntegerEntry(t, f), Burn(D, z)]
107+ let C = fromBase58String(u)
108+[IntegerEntry(z, B), IntegerEntry(s, f), Burn(a, y)]
108109 }
109110
110111
111112
112113 @Callable(g)
113114 func ownerWithdraw () = {
114- let A = toBase58String(g.caller.bytes)
115- let E = {
116- let m = getInteger(this, A)
115+ let z = toBase58String(g.caller.bytes)
116+ let D = {
117+ let m = getInteger(this, z)
117118 if ($isInstanceOf(m, "Int"))
118119 then {
119120 let n = m
121122 }
122123 else 0
123124 }
124- if ((0 > E))
125+ if ((0 > D))
125126 then throw("Can't withdraw negative amount")
126- else [IntegerEntry(A, 0), ScriptTransfer(g.caller, E, b)]
127+ else [IntegerEntry(z, 0), ScriptTransfer(g.caller, D, b)]
127128 }
128129
129130
130-@Verifier(F)
131-func G () = sigVerify(F.bodyBytes, F.proofs[0], c)
131+@Verifier(E)
132+func F () = sigVerify(E.bodyBytes, E.proofs[0], c)
132133
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'GgA8mL3SEYvuhYoZFd418Li4bqXAasGbYCKJshTt2MGU'
55
66 let b = base58'EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm'
77
88 let c = base58'Ej9UfgzgHeDPtoinwmZaL71Jv5CgK2QzWZZYyQUbpByz'
99
1010 let d = 0
1111
1212 let e = 1
1313
1414 let f = 2
1515
1616 @Callable(g)
1717 func buyTicket (h) = {
1818 let i = g.payments[0]
1919 let j = (i.amount / h)
2020 if ((i.assetId != b))
2121 then throw("works with PAR7 only")
2222 else {
2323 let k = toBase58String(g.caller.bytes)
2424 let l = {
2525 let m = getInteger(this, k)
2626 if ($isInstanceOf(m, "Int"))
2727 then {
2828 let n = m
2929 n
3030 }
3131 else 0
3232 }
3333 let o = (l + j)
3434 [IntegerEntry(("buy_" + k), o), ScriptTransfer(g.caller, j, a)]
3535 }
3636 }
3737
3838
3939
4040 @Callable(g)
4141 func lessonSubscription (p) = {
4242 let i = g.payments[0]
4343 let q = i.assetId
44- let r = toBase58String(value(q))
45- let s = toBase58String(g.caller.bytes)
46- let t = ((p + "_") + s)
47- let u = ((r + "_") + s)
48- let v = {
49- let m = getInteger(this, u)
44+ let r = toBase58String(g.caller.bytes)
45+ let s = ((p + "_") + r)
46+ let t = ((("fee_" + p) + "_") + r)
47+ let u = toBase58String(value(q))
48+ let v = ((u + "_") + r)
49+ let w = {
50+ let m = getInteger(this, v)
5051 if ($isInstanceOf(m, "Int"))
5152 then {
5253 let n = m
5354 n
5455 }
5556 else 0
5657 }
57- let w = (v + i.amount)
58-[IntegerEntry(t, d), IntegerEntry(u, w)]
58+ let x = (w + i.amount)
59+[IntegerEntry(s, d), IntegerEntry(t, i.amount), IntegerEntry(v, x)]
5960 }
6061
6162
6263
6364 @Callable(g)
64-func lessonStart (x,s,r,y) = {
65- let k = ((r + "_") + s)
66- let l = {
67- let m = getInteger(this, k)
65+func lessonStart (p,r) = {
66+ let s = ((p + "_") + r)
67+[IntegerEntry(s, e)]
68+ }
69+
70+
71+
72+@Callable(g)
73+func lessonFinish (p,r) = {
74+ let u = toBase58String(value(a))
75+ let t = ((("fee_" + p) + "_") + r)
76+ let y = {
77+ let m = getInteger(this, t)
6878 if ($isInstanceOf(m, "Int"))
6979 then {
7080 let n = m
7181 n
7282 }
7383 else 0
7484 }
75- let o = (l - y)
76- let t = ((x + "_") + s)
77-[IntegerEntry(k, o), IntegerEntry(t, e)]
78- }
79-
80-
81-
82-@Callable(g)
83-func lessonFinish (p,r,s,y,z) = {
84- let A = toBase58String(g.caller.bytes)
85- let B = {
86- let m = getInteger(this, A)
85+ let z = toBase58String(g.caller.bytes)
86+ let A = {
87+ let m = getInteger(this, z)
8788 if ($isInstanceOf(m, "Int"))
8889 then {
8990 let n = m
9091 n
9192 }
9293 else 0
9394 }
94- let C = (B + y)
95- let t = ((p + "_") + s)
96- let u = ((r + "_") + s)
97- let v = {
98- let m = getInteger(this, u)
95+ let B = (A + y)
96+ let s = ((p + "_") + r)
97+ let v = ((u + "_") + r)
98+ let w = {
99+ let m = getInteger(this, v)
99100 if ($isInstanceOf(m, "Int"))
100101 then {
101102 let n = m
102103 n
103104 }
104105 else 0
105106 }
106- let D = fromBase58String(r)
107-[IntegerEntry(A, C), IntegerEntry(t, f), Burn(D, z)]
107+ let C = fromBase58String(u)
108+[IntegerEntry(z, B), IntegerEntry(s, f), Burn(a, y)]
108109 }
109110
110111
111112
112113 @Callable(g)
113114 func ownerWithdraw () = {
114- let A = toBase58String(g.caller.bytes)
115- let E = {
116- let m = getInteger(this, A)
115+ let z = toBase58String(g.caller.bytes)
116+ let D = {
117+ let m = getInteger(this, z)
117118 if ($isInstanceOf(m, "Int"))
118119 then {
119120 let n = m
120121 n
121122 }
122123 else 0
123124 }
124- if ((0 > E))
125+ if ((0 > D))
125126 then throw("Can't withdraw negative amount")
126- else [IntegerEntry(A, 0), ScriptTransfer(g.caller, E, b)]
127+ else [IntegerEntry(z, 0), ScriptTransfer(g.caller, D, b)]
127128 }
128129
129130
130-@Verifier(F)
131-func G () = sigVerify(F.bodyBytes, F.proofs[0], c)
131+@Verifier(E)
132+func F () = sigVerify(E.bodyBytes, E.proofs[0], c)
132133

github/deemru/w8io/169f3d6 
29.64 ms