tx · 9A72CE6ypn7Tn33KXBAL9zNEbydDtjGdE8svz76Ps7EE

3N81Dk1WuUv7UKt3inqWVYN81J8VHjoV3MC:  -0.01400000 Waves

2022.02.20 18:45 [1932160] smart account 3N81Dk1WuUv7UKt3inqWVYN81J8VHjoV3MC > SELF 0.00000000 Waves

{ "type": 13, "id": "9A72CE6ypn7Tn33KXBAL9zNEbydDtjGdE8svz76Ps7EE", "fee": 1400000, "feeAssetId": null, "timestamp": 1645371943872, "version": 2, "chainId": 84, "sender": "3N81Dk1WuUv7UKt3inqWVYN81J8VHjoV3MC", "senderPublicKey": "5vXdNgZ1TR8AAzcnLumQTQYzcU3AwHj91bZTtiE3roBE", "proofs": [ "4AGNyhDos1rLouKWmuKipzqyWv3fWTq698WDZ1KfwGPYvYiGD4pbNqmAJTWRaCLG3649hp4KwaVNyDTbAAJe1ixU" ], "script": "base64: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AAACBQAAAARpdGVtBQAAAAR1c2VyAQAAABRnZXRWYWx1ZUNvbW1pdHNDb3VudAAAAAEAAAAEaXRlbQkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAABJnZXRLZXlDb21taXRzQ291bnQAAAABBQAAAARpdGVtAQAAAA5nZXRWYWx1ZVJldmVhbAAAAAIAAAAEaXRlbQAAAAR1c2VyCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAMZ2V0S2V5UmV2ZWFsAAAAAgUAAAAEaXRlbQUAAAAEdXNlcgEAAAASZ2V0VmFsdWVJdGVtU3RhdHVzAAAAAQAAAARpdGVtCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0BAAAAEmdldFZhbHVlVm90ZXNDb3VudAAAAAIAAAAEaXRlbQAAAAR2b3RlCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAAEGdldEtleVZvdGVzQ291bnQAAAACBQAAAARpdGVtBQAAAAR2b3RlAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEAAAAHYWNjb3VudAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAAdhY2NvdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAABE5PTkUAAAADAAAAAWkBAAAAB2FkZEl0ZW0AAAADAAAABXRpdGxlAAAABXByaWNlAAAABGRhdGEEAAAAD3N1cHBsaWVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAARpdGVtCQEAAAAKZ2V0S2V5SXRlbQAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAFdGl0bGUDCQAAZwAAAAIAAAAAAAAAAAAFAAAABXByaWNlCQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQEAAAACIT0AAAACCQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAAROT05FCQAAAgAAAAECAAAA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", "height": 1932160, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 68ihjaaAahY2XytQLUGTa8A7Ksjhtxhc2JnfGB9qaTsP Next: ADywmGrM3EdT2mbLLaMLxDj1FYppTvizVpmBAdbYBtFJ Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "NONE"
55
6-func b (c) = {
7- let d = getString(this, c)
8- if ($isInstanceOf(d, "String"))
6+let b = 2
7+
8+let c = 3
9+
10+let d = "featured"
11+
12+let e = "delisted"
13+
14+let f = "voting"
15+
16+let g = "reveal"
17+
18+func h (i) = {
19+ let j = getString(this, i)
20+ if ($isInstanceOf(j, "String"))
921 then {
10- let e = d
11- e
12- }
13- else ""
14- }
15-
16-
17-func f (g,h) = {
18- let i = (g + h)
19- ("item_" + toBase58String(sha256(toBytes(i))))
20- }
21-
22-
23-func j (k) = (k + "_owner")
24-
25-
26-func l (k) = (k + "_price")
27-
28-
29-func m (k) = (k + "_data")
30-
31-
32-func n (o) = {
33- let d = getString(this, o)
34- if ($isInstanceOf(d, "String"))
35- then {
36- let e = d
37- e
22+ let k = j
23+ k
3824 }
3925 else "NONE"
4026 }
4127
4228
43-@Callable(p)
44-func addItem (h,q,r) = {
45- let s = toBase58String(p.caller.bytes)
46- let k = f(s, h)
47- if ((0 >= q))
29+func l (i) = {
30+ let j = getInteger(this, i)
31+ if ($isInstanceOf(j, "Int"))
32+ then {
33+ let k = j
34+ k
35+ }
36+ else 0
37+ }
38+
39+
40+func m (n,o) = {
41+ let p = (n + o)
42+ ("item_" + toBase58String(sha256(toBytes(p))))
43+ }
44+
45+
46+func q (r) = (r + "_owner")
47+
48+
49+func s (r) = (r + "_price")
50+
51+
52+func t (r) = (r + "_data")
53+
54+
55+func u (r,v) = (((r + "_") + v) + "_commmit")
56+
57+
58+func w (r) = (r + "_cmtcnt")
59+
60+
61+func x (r,v) = (((r + "_") + v) + "_reveal")
62+
63+
64+func y (r) = (r + "_status")
65+
66+
67+func z (r,A) = ((r + "_res:") + A)
68+
69+
70+func B (v,r) = (((r + "_") + v) + "_cnt")
71+
72+
73+func C (D) = (D + "_balance")
74+
75+
76+func E (v,r) = {
77+ let F = B(v, r)
78+ let j = getInteger(this, F)
79+ if ($isInstanceOf(j, "Int"))
80+ then {
81+ let k = j
82+ k
83+ }
84+ else 0
85+ }
86+
87+
88+func G (r) = {
89+ let H = s(r)
90+ getInteger(this, H)
91+ }
92+
93+
94+func I (r,v) = h(u(r, v))
95+
96+
97+func J (r) = l(w(r))
98+
99+
100+func K (r,v) = h(x(r, v))
101+
102+
103+func L (r) = h(y(r))
104+
105+
106+func M (r,A) = l(z(r, A))
107+
108+
109+func N (D) = {
110+ let j = getString(this, D)
111+ if ($isInstanceOf(j, "String"))
112+ then {
113+ let k = j
114+ k
115+ }
116+ else "NONE"
117+ }
118+
119+
120+@Callable(O)
121+func addItem (o,P,Q) = {
122+ let R = toBase58String(O.caller.bytes)
123+ let r = m(R, o)
124+ if ((0 >= P))
48125 then throw("Purchase amount cannot be less than item price")
49- else if ((n(k) != a))
126+ else if ((N(r) != a))
50127 then throw("An item is already exists")
51- else WriteSet([DataEntry(j(k), s), DataEntry(l(k), q), DataEntry(m(k), r)])
128+ else WriteSet([DataEntry(q(r), R), DataEntry(s(r), P), DataEntry(t(r), Q)])
129+ }
130+
131+
132+
133+@Callable(O)
134+func voteCommit (r,S) = {
135+ let v = toBase58String(O.caller.bytes)
136+ let T = J(r)
137+ let U = L(r)
138+ if ((T >= b))
139+ then throw("Reached max numer of voters")
140+ else if ((I(r, v) != a))
141+ then throw("You voted already")
142+ else if ((q(r) == a))
143+ then throw("Item does not exist")
144+ else if (if ((U != a))
145+ then (U != f)
146+ else false)
147+ then throw("Voting is not active for this item noew")
148+ else {
149+ let V = if ((T == b))
150+ then g
151+ else f
152+ WriteSet([DataEntry(u(r, v), S), DataEntry(w(r), (T + 1)), DataEntry(y(r), V)])
153+ }
154+ }
155+
156+
157+
158+@Callable(O)
159+func voteReveal (r,A,W) = {
160+ let v = toBase58String(O.caller.bytes)
161+ let U = L(r)
162+ let X = (M(r, A) + 1)
163+ let Y = ((r + A) + W)
164+ if ((toBase58String(sha256(toBytes(Y))) != I(r, v)))
165+ then throw("Reveal data is not valid")
166+ else if ((b > J(r)))
167+ then throw("Max number of voters not reached")
168+ else if ((K(r, v) != a))
169+ then throw("You voted already")
170+ else if (if ((U != f))
171+ then (U != g)
172+ else false)
173+ then throw("Voting is not active of this item now")
174+ else if (if ((A != d))
175+ then (A != e)
176+ else false)
177+ then throw("Provided voting option is incorrect")
178+ else {
179+ let V = if ((X >= c))
180+ then A
181+ else g
182+ WriteSet([DataEntry(u(r, v), A), DataEntry(z(r, v), X), DataEntry(y(r), V)])
183+ }
52184 }
53185
54186
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "NONE"
55
6-func b (c) = {
7- let d = getString(this, c)
8- if ($isInstanceOf(d, "String"))
6+let b = 2
7+
8+let c = 3
9+
10+let d = "featured"
11+
12+let e = "delisted"
13+
14+let f = "voting"
15+
16+let g = "reveal"
17+
18+func h (i) = {
19+ let j = getString(this, i)
20+ if ($isInstanceOf(j, "String"))
921 then {
10- let e = d
11- e
12- }
13- else ""
14- }
15-
16-
17-func f (g,h) = {
18- let i = (g + h)
19- ("item_" + toBase58String(sha256(toBytes(i))))
20- }
21-
22-
23-func j (k) = (k + "_owner")
24-
25-
26-func l (k) = (k + "_price")
27-
28-
29-func m (k) = (k + "_data")
30-
31-
32-func n (o) = {
33- let d = getString(this, o)
34- if ($isInstanceOf(d, "String"))
35- then {
36- let e = d
37- e
22+ let k = j
23+ k
3824 }
3925 else "NONE"
4026 }
4127
4228
43-@Callable(p)
44-func addItem (h,q,r) = {
45- let s = toBase58String(p.caller.bytes)
46- let k = f(s, h)
47- if ((0 >= q))
29+func l (i) = {
30+ let j = getInteger(this, i)
31+ if ($isInstanceOf(j, "Int"))
32+ then {
33+ let k = j
34+ k
35+ }
36+ else 0
37+ }
38+
39+
40+func m (n,o) = {
41+ let p = (n + o)
42+ ("item_" + toBase58String(sha256(toBytes(p))))
43+ }
44+
45+
46+func q (r) = (r + "_owner")
47+
48+
49+func s (r) = (r + "_price")
50+
51+
52+func t (r) = (r + "_data")
53+
54+
55+func u (r,v) = (((r + "_") + v) + "_commmit")
56+
57+
58+func w (r) = (r + "_cmtcnt")
59+
60+
61+func x (r,v) = (((r + "_") + v) + "_reveal")
62+
63+
64+func y (r) = (r + "_status")
65+
66+
67+func z (r,A) = ((r + "_res:") + A)
68+
69+
70+func B (v,r) = (((r + "_") + v) + "_cnt")
71+
72+
73+func C (D) = (D + "_balance")
74+
75+
76+func E (v,r) = {
77+ let F = B(v, r)
78+ let j = getInteger(this, F)
79+ if ($isInstanceOf(j, "Int"))
80+ then {
81+ let k = j
82+ k
83+ }
84+ else 0
85+ }
86+
87+
88+func G (r) = {
89+ let H = s(r)
90+ getInteger(this, H)
91+ }
92+
93+
94+func I (r,v) = h(u(r, v))
95+
96+
97+func J (r) = l(w(r))
98+
99+
100+func K (r,v) = h(x(r, v))
101+
102+
103+func L (r) = h(y(r))
104+
105+
106+func M (r,A) = l(z(r, A))
107+
108+
109+func N (D) = {
110+ let j = getString(this, D)
111+ if ($isInstanceOf(j, "String"))
112+ then {
113+ let k = j
114+ k
115+ }
116+ else "NONE"
117+ }
118+
119+
120+@Callable(O)
121+func addItem (o,P,Q) = {
122+ let R = toBase58String(O.caller.bytes)
123+ let r = m(R, o)
124+ if ((0 >= P))
48125 then throw("Purchase amount cannot be less than item price")
49- else if ((n(k) != a))
126+ else if ((N(r) != a))
50127 then throw("An item is already exists")
51- else WriteSet([DataEntry(j(k), s), DataEntry(l(k), q), DataEntry(m(k), r)])
128+ else WriteSet([DataEntry(q(r), R), DataEntry(s(r), P), DataEntry(t(r), Q)])
129+ }
130+
131+
132+
133+@Callable(O)
134+func voteCommit (r,S) = {
135+ let v = toBase58String(O.caller.bytes)
136+ let T = J(r)
137+ let U = L(r)
138+ if ((T >= b))
139+ then throw("Reached max numer of voters")
140+ else if ((I(r, v) != a))
141+ then throw("You voted already")
142+ else if ((q(r) == a))
143+ then throw("Item does not exist")
144+ else if (if ((U != a))
145+ then (U != f)
146+ else false)
147+ then throw("Voting is not active for this item noew")
148+ else {
149+ let V = if ((T == b))
150+ then g
151+ else f
152+ WriteSet([DataEntry(u(r, v), S), DataEntry(w(r), (T + 1)), DataEntry(y(r), V)])
153+ }
154+ }
155+
156+
157+
158+@Callable(O)
159+func voteReveal (r,A,W) = {
160+ let v = toBase58String(O.caller.bytes)
161+ let U = L(r)
162+ let X = (M(r, A) + 1)
163+ let Y = ((r + A) + W)
164+ if ((toBase58String(sha256(toBytes(Y))) != I(r, v)))
165+ then throw("Reveal data is not valid")
166+ else if ((b > J(r)))
167+ then throw("Max number of voters not reached")
168+ else if ((K(r, v) != a))
169+ then throw("You voted already")
170+ else if (if ((U != f))
171+ then (U != g)
172+ else false)
173+ then throw("Voting is not active of this item now")
174+ else if (if ((A != d))
175+ then (A != e)
176+ else false)
177+ then throw("Provided voting option is incorrect")
178+ else {
179+ let V = if ((X >= c))
180+ then A
181+ else g
182+ WriteSet([DataEntry(u(r, v), A), DataEntry(z(r, v), X), DataEntry(y(r), V)])
183+ }
52184 }
53185
54186

github/deemru/w8io/03bedc9 
30.23 ms