tx · EyAME7X7z8D2nVE1a7QpZHdVz3CopsFFZyZtWSiw9R19

3MuqnVvTnn9Bngyisk54NRUw6BHqjJBYCpH:  -0.01000000 Waves

2021.07.07 14:17 [1603118] smart account 3MuqnVvTnn9Bngyisk54NRUw6BHqjJBYCpH > SELF 0.00000000 Waves

{ "type": 13, "id": "EyAME7X7z8D2nVE1a7QpZHdVz3CopsFFZyZtWSiw9R19", "fee": 1000000, "feeAssetId": null, "timestamp": 1625656714072, "version": 2, "chainId": 84, "sender": "3MuqnVvTnn9Bngyisk54NRUw6BHqjJBYCpH", "senderPublicKey": "DTKevHBeHpCD79KujaY4ZL2TFmNbU3yJ6E42UXcTxqvp", "proofs": [ "fPzsZmRsL4PD3zHpZA5hJdik4TupMc4CrGjovCf7Du5jnwT1MVPb6DJx9i5po3d9fVLFMJFhM2KpChkcQmyNy1a" ], "script": "base64:AAIFAAAAAAAAA9QIAhIFCgMIAQgSAwoBCBIAEgQKAggIEgUKAwgICBoMCgJhMRIGVk9URVJTGgwKAmEyEgZRVU9SVU0aDAoCYTMSBlZPVElORxoMCgJhNBIGUkVWRUFMGg4KAmE1EghGRUFUVVJFRBoOCgJhNhIIREVMSVNURUQaCgoCYTcSBE5PTkUaFAoCYTgSDmdldE51bWJlckJ5S2V5GgkKAmE5EgNrZXkaCQoCYjESA251bRoNCgJiMhIHJG1hdGNoMBoHCgJiMxIBYRoRCgJiNBILZ2V0U3RyQnlLZXkaCQoCYjUSA3N0choSCgJiNhIMZ2V0S2V5Q29tbWl0GgoKAmI3EgRpdGVtGgoKAmI4EgR1c2VyGhQKAmI5Eg5nZXRWYWx1ZUNvbW1pdBoYCgJjMRISZ2V0S2V5Q29tbWl0c0NvdW50GhoKAmMyEhRnZXRWYWx1ZUNvbW1pdHNDb3VudBoSCgJjMxIMZ2V0S2V5UmV2ZWFsGhQKAmM0Eg5nZXRWYWx1ZVJldmVhbBoWCgJjNRIQZ2V0S2V5SXRlbVN0YXR1cxoYCgJjNhISZ2V0VmFsdWVJdGVtU3RhdHVzGhUKAmM3Eg9nZXRLZXlWb3RlQ291bnQaCgoCYzgSBHZvdGUaFwoCYzkSEWdldFZhbHVlVm90ZUNvdW50GhUKAmQxEg9nZXRLZXlJdGVtUHJpY2UaFwoCZDISEWdldFZhbHVlSXRlbVByaWNlGhsKAmQzEhVnZXRLZXlVc2VySXRlbUNvdW50ZXIaHQoCZDQSF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyGhAKAmQ1EgpnZXRLZXlJdGVtGg4KAmQ2EghzdXBwbGllchoLCgJkNxIFdGl0bGUaFAoCZDgSDmdldEtleUl0ZW1EYXRhGhgKAmQ5EhJnZXRLZXlJdGVtU3VwcGxpZXIaGgoCZTESFGdldFZhbHVlSXRlbVN1cHBsaWVyGhsKAmUyEhVnZXRLZXlCYWxhbmNlU3VwcGxpZXIaDQoCZTMSB2FjY291bnQaHQoCZTQSF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyGgcKAmU1EgFpGgsKAmU2EgVwcmljZRoKCgJlNxIEZGF0YRoVCgJlOBIPc3VwcGxpZXJBZGRyZXNzGgkKAmU5EgNwbXQaEQoCZjESC3VzZXJBZGRyZXNzGg0KAmYyEgdiYWxhbmNlGgoKAmYzEgRoYXNoGg0KAmY0Egdjb21taXRzGgwKAmY1EgZzdGF0dXMaCgoCZjYSBHNhbHQaEgoCZjcSDG5ld1ZvdGVDb3VudAAAAB0AAAAAAmExAAAAAAAAAAADAAAAAAJhMgAAAAAAAAAAAgAAAAACYTMCAAAABnZvdGluZwAAAAACYTQCAAAABnJldmVhbAAAAAACYTUCAAAACGZlYXR1cmVkAAAAAAJhNgIAAAAIZGVsaXN0ZWQAAAAAAmE3AgAAAARub25lAQAAAAJhOAAAAAEAAAACYTkEAAAAAmIxBAAAAAJiMgkABBoAAAACBQAAAAR0aGlzBQAAAAJhOQMJAAABAAAAAgUAAAACYjICAAAAA0ludAQAAAACYjMFAAAAAmIyBQAAAAJiMwAAAAAAAAAAAAUAAAACYjEBAAAAAmI0AAAAAQAAAAJhOQQAAAACYjUEAAAAAmIyCQAEHQAAAAIFAAAABHRoaXMFAAAAAmE5AwkAAAEAAAACBQAAAAJiMgIAAAAGU3RyaW5nBAAAAAJiMwUAAAACYjIFAAAAAmIzBQAAAAJhNwUAAAACYjUBAAAAAmI2AAAAAgAAAAJiNwAAAAJiOAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAACYjcCAAAAAV8FAAAAAmI4AgAAAAdfY29tbWl0AQAAAAJiOQAAAAIAAAACYjcAAAACYjgJAQAAAAJiNAAAAAEJAQAAAAJiNgAAAAIFAAAAAmI3BQAAAAJiOAEAAAACYzEAAAABAAAAAmI3CQABLAAAAAIFAAAAAmI3AgAAAAdfY29tY250AQAAAAJjMgAAAAEAAAACYjcJAQAAAAJhOAAAAAEJAQAAAAJjMQAAAAEFAAAAAmI3AQAAAAJjMwAAAAIAAAACYjcAAAACYjgJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAAmI3AgAAAAFfBQAAAAJiOAIAAAAHX3JldmVhbAEAAAACYzQAAAACAAAAAmI3AAAAAmI4CQEAAAACYjQAAAABCQEAAAACYzMAAAACBQAAAAJiNwUAAAACYjgBAAAAAmM1AAAAAQAAAAJiNwkAASwAAAACBQAAAAJiNwIAAAAHX3N0YXR1cwEAAAACYzYAAAABAAAAAmI3CQEAAAACYjQAAAABCQEAAAACYzUAAAABBQAAAAJiNwEAAAACYzcAAAACAAAAAmI3AAAAAmM4CQABLAAAAAIJAAEsAAAAAgUAAAACYjcCAAAABF9yZXMFAAAAAmM4AQAAAAJjOQAAAAIAAAACYjcAAAACYzgJAQAAAAJhOAAAAAEJAQAAAAJjNwAAAAIFAAAAAmI3BQAAAAJjOAEAAAACZDEAAAABAAAAAmI3CQABLAAAAAIFAAAAAmI3AgAAAAZfcHJpY2UBAAAAAmQyAAAAAQAAAAJiNwkBAAAAAmE4AAAAAQkBAAAAAmQxAAAAAQUAAAACYjcBAAAAAmQzAAAAAgAAAAJiOAAAAAJiNwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAACYjcCAAAAAV8FAAAAAmI4AgAAAARfY250AQAAAAJkNAAAAAIAAAACYjgAAAACYjcJAQAAAAJhOAAAAAEJAQAAAAJkMwAAAAIFAAAAAmI4BQAAAAJiNwEAAAACZDUAAAACAAAAAmQ2AAAAAmQ3CQABLAAAAAICAAAABWl0ZW1fCQACWAAAAAEJAAH3AAAAAQkAAZsAAAABCQABLAAAAAIFAAAAAmQ2BQAAAAJkNwEAAAACZDgAAAABAAAAAmI3CQABLAAAAAIFAAAAAmI3AgAAAAVfZGF0YQEAAAACZDkAAAABAAAAAmI3CQABLAAAAAIFAAAAAmI3AgAAAAZfb3duZXIBAAAAAmUxAAAAAQAAAAJiNwkBAAAAAmI0AAAAAQkBAAAAAmQ5AAAAAQUAAAACYjcBAAAAAmUyAAAAAQAAAAJlMwkAASwAAAACBQAAAAJlMwIAAAAIX2JhbGFuY2UBAAAAAmU0AAAAAQAAAAJlMwkBAAAAAmE4AAAAAQkBAAAAAmUyAAAAAQUAAAACZTMAAAAFAAAAAmU1AQAAAAdhZGRJdGVtAAAAAwAAAAJkNwAAAAJlNgAAAAJlNwQAAAACZTgJAAJYAAAAAQgIBQAAAAJlNQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAAmI3CQEAAAACZDUAAAACBQAAAAJlOAUAAAACZDcDCQAAZwAAAAIAAAAAAAAAAAAFAAAAAmU2CQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQEAAAACIT0AAAACCQEAAAACZTEAAAABBQAAAAJiNwUAAAACYTcJAAACAAAAAQIAAAAWYW4gaXRlbSBhbHJlYWR5IGV4aXN0cwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACZDkAAAABBQAAAAJiNwUAAAACZTgJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAJkMQAAAAEFAAAAAmI3BQAAAAJlNgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACZDgAAAABBQAAAAJiNwUAAAACZTcFAAAAA25pbAAAAAJlNQEAAAAIcHVyY2hhc2UAAAABAAAAAmI3BAAAAAJlOQkAAZEAAAACCAUAAAACZTUAAAAIcGF5bWVudHMAAAAAAAAAAAADCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAAmU5AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAbV0FWRVMgdG9rZW5zIG9ubHkgYXQgbW9tZW50BAAAAAJmMQkAAlgAAAABCAgFAAAAAmU1AAAABmNhbGxlcgAAAAVieXRlcwQAAAACZTYJAQAAAAJkMgAAAAEFAAAAAmI3BAAAAAJlOAkBAAAAAmUxAAAAAQUAAAACYjcDCQAAZgAAAAIFAAAAAmU2CAUAAAACZTkAAAAGYW1vdW50CQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAAAmU4BQAAAAJhNwkAAAIAAAABAgAAABdTdXBwbGllciBkb2VzIG5vdCBleGlzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAAmQzAAAAAgUAAAACZjEFAAAAAmI3CQAAZAAAAAIJAQAAAAJkNAAAAAIFAAAAAmYxBQAAAAJiNwAAAAAAAAAAAQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAAmUyAAAAAQUAAAACZTgJAABkAAAAAgkBAAAAAmU0AAAAAQUAAAACZTgIBQAAAAJlOQAAAAZhbW91bnQFAAAAA25pbAAAAAJlNQEAAAAId2l0aGRyYXcAAAAABAAAAAJlOAkAAlgAAAABCAgFAAAAAmU1AAAABmNhbGxlcgAAAAVieXRlcwQAAAACZjIJAQAAAAJlNAAAAAEFAAAAAmU4AwkAAGcAAAACAAAAAAAAAAAABQAAAAJmMgkAAAIAAAABAgAAABNpbnN1ZmljaWVudCBiYWxhbmNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAACZTIAAAABBQAAAAJlOAAAAAAAAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAJlOAUAAAACZjIFAAAABHVuaXQFAAAAA25pbAAAAAJlNQEAAAAKdm90ZUNvbW1pdAAAAAIAAAACYjcAAAACZjMEAAAAAmI4CQACWAAAAAEICAUAAAACZTUAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAJmNAkBAAAAAmMyAAAAAQUAAAACYjcEAAAAAmY1CQEAAAACYzYAAAABBQAAAAJiNwMJAABnAAAAAgUAAAACZjQFAAAAAmExCQAAAgAAAAECAAAAGXJlYWNoZWQgbWF4IG51bSBvZiB2b3RlcnMDCQEAAAACIT0AAAACCQEAAAACYjkAAAACBQAAAAJiNwUAAAACYjgFAAAAAmE3CQAAAgAAAAECAAAAHXVzZXIgaGFzIGFscmVhZHkgcGFydGljaXBhdGVkAwkAAAAAAAACCQEAAAACZDkAAAABBQAAAAJiNwUAAAACYTcJAAACAAAAAQIAAAATaXRlbSBkb2VzIG5vdCBleGlzdAMDCQEAAAACIT0AAAACBQAAAAJmNQUAAAACYTcJAQAAAAIhPQAAAAIFAAAAAmY1BQAAAAJhMwcJAAACAAAAAQIAAAAWdm90aW5nIGlzIG5vdCBwb3NzaWJsZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACYjYAAAACBQAAAAJiNwUAAAACYjgFAAAAAmYzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAACYzEAAAABBQAAAAJiNwkAAGQAAAACBQAAAAJmNAAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACYzUAAAABBQAAAAJiNwMJAAAAAAAAAgUAAAACZjQFAAAAAmExBQAAAAJhNAUAAAACYTMFAAAAA25pbAAAAAJlNQEAAAAKdm90ZVJldmVhbAAAAAMAAAACYjcAAAACYzgAAAACZjYEAAAAAmI4CQACWAAAAAEICAUAAAACZTUAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAJmNQkBAAAAAmM2AAAAAQUAAAACYjcEAAAAAmY3CQAAZAAAAAIJAQAAAAJjOQAAAAIFAAAAAmI3BQAAAAJjOAAAAAAAAAAAAQMJAQAAAAIhPQAAAAIJAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAACYzgFAAAAAmY2CQEAAAACYjkAAAACBQAAAAJiNwUAAAACYjgJAAACAAAAAQIAAAAYcmV2ZWFsIGRhdGEgaXMgbm90IHZhbGlkAwkAAGYAAAACBQAAAAJhMQkBAAAAAmMyAAAAAQUAAAACYjcJAAACAAAAAQIAAAAjbWF4IG51bSBvZiB2b3RlcnMgaGFzbnQgcmVhY2hlZCB5ZXQDCQEAAAACIT0AAAACCQEAAAACYzQAAAACBQAAAAJiNwUAAAACYjgFAAAAAmE3CQAAAgAAAAECAAAAHXVzZXIgaGFzIGFscmVhZHkgcGFydGljaXBhdGVkAwMJAQAAAAIhPQAAAAIFAAAAAmY1BQAAAAJhMwkBAAAAAiE9AAAAAgUAAAACZjUFAAAAAmE0BwkAAAIAAAABAgAAAAx3cm9uZyBzdGF0dXMDAwkBAAAAAiE9AAAAAgUAAAACYzgFAAAAAmE1CQEAAAACIT0AAAACBQAAAAJjOAUAAAACYTYHCQAAAgAAAAECAAAACndyb25nIHZvdGUDAwkAAAAAAAACBQAAAAJmNQUAAAACYTUGCQAAAAAAAAIFAAAAAmY1BQAAAAJhNgkAAAIAAAABAgAAABF2b3RlIGhhcyBmaW5pc2hlZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACYzMAAAACBQAAAAJiNwUAAAACYjgFAAAAAmM4CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAACYzcAAAACBQAAAAJiNwUAAAACYzgFAAAAAmY3CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAJjNQAAAAEFAAAAAmI3AwkAAGcAAAACBQAAAAJmNwUAAAACYTIFAAAAAmM4BQAAAAJhNAUAAAADbmlsAAAAAJc86OE=", "height": 1603118, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DQSKNz58dFYRpKdcsEcd73a5enP5jma9KVktgz3MJvYU Next: GEM1m9mdxTvkLRSsz2v6FnNzbiRodDARLQNRfbut7BvJ Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 3
55
6-let b = "voting"
6+let b = 2
77
8-let c = "reveal"
8+let c = "voting"
99
10-let d = "none"
10+let d = "reveal"
1111
12-func e (f) = {
13- let g = {
14- let h = getInteger(this, f)
15- if ($isInstanceOf(h, "Int"))
12+let e = "featured"
13+
14+let f = "delisted"
15+
16+let g = "none"
17+
18+func h (i) = {
19+ let j = {
20+ let k = getInteger(this, i)
21+ if ($isInstanceOf(k, "Int"))
1622 then {
17- let i = h
18- i
23+ let l = k
24+ l
1925 }
2026 else 0
2127 }
22- g
28+ j
2329 }
2430
2531
26-func j (f) = {
27- let k = {
28- let h = getString(this, f)
29- if ($isInstanceOf(h, "String"))
32+func m (i) = {
33+ let n = {
34+ let k = getString(this, i)
35+ if ($isInstanceOf(k, "String"))
3036 then {
31- let i = h
32- i
37+ let l = k
38+ l
3339 }
34- else d
40+ else g
3541 }
36- k
42+ n
3743 }
3844
3945
40-func l (m,n) = (((m + "_") + n) + "_commit")
46+func o (p,q) = (((p + "_") + q) + "_commit")
4147
4248
43-func o (m,n) = j(l(m, n))
49+func r (p,q) = m(o(p, q))
4450
4551
46-func p (m) = (m + "_comcnt")
52+func s (p) = (p + "_comcnt")
4753
4854
49-func q (m) = e(p(m))
55+func t (p) = h(s(p))
5056
5157
52-func r (m) = (m + "_status")
58+func u (p,q) = (((p + "_") + q) + "_reveal")
5359
5460
55-func s (m) = j(r(m))
61+func v (p,q) = m(u(p, q))
5662
5763
58-func t (m) = (m + "_price")
64+func w (p) = (p + "_status")
5965
6066
61-func u (m) = e(t(m))
67+func x (p) = m(w(p))
6268
6369
64-func v (n,m) = (((m + "_") + n) + "_cnt")
70+func y (p,z) = ((p + "_res") + z)
6571
6672
67-func w (n,m) = e(v(n, m))
73+func A (p,z) = h(y(p, z))
6874
6975
70-func x (y,z) = ("item_" + toBase58String(sha256(toBytes((y + z)))))
76+func B (p) = (p + "_price")
7177
7278
73-func A (m) = (m + "_data")
79+func C (p) = h(B(p))
7480
7581
76-func B (m) = (m + "_owner")
82+func D (q,p) = (((p + "_") + q) + "_cnt")
7783
7884
79-func C (m) = j(B(m))
85+func E (q,p) = h(D(q, p))
8086
8187
82-func D (E) = (E + "_balance")
88+func F (G,H) = ("item_" + toBase58String(sha256(toBytes((G + H)))))
8389
8490
85-func F (E) = e(D(E))
91+func I (p) = (p + "_data")
8692
8793
88-@Callable(G)
89-func addItem (z,H,I) = {
90- let J = toBase58String(G.caller.bytes)
91- let m = x(J, z)
92- if ((0 >= H))
94+func J (p) = (p + "_owner")
95+
96+
97+func K (p) = m(J(p))
98+
99+
100+func L (M) = (M + "_balance")
101+
102+
103+func N (M) = h(L(M))
104+
105+
106+@Callable(O)
107+func addItem (H,P,Q) = {
108+ let R = toBase58String(O.caller.bytes)
109+ let p = F(R, H)
110+ if ((0 >= P))
93111 then throw("Purchase amount cannot be less than item price")
94- else if ((C(m) != d))
112+ else if ((K(p) != g))
95113 then throw("an item already exists")
96- else [StringEntry(B(m), J), IntegerEntry(t(m), H), StringEntry(A(m), I)]
114+ else [StringEntry(J(p), R), IntegerEntry(B(p), P), StringEntry(I(p), Q)]
97115 }
98116
99117
100118
101-@Callable(G)
102-func purchase (m) = {
103- let K = G.payments[0]
104- if (isDefined(K.assetId))
119+@Callable(O)
120+func purchase (p) = {
121+ let S = O.payments[0]
122+ if (isDefined(S.assetId))
105123 then throw("WAVES tokens only at moment")
106124 else {
107- let L = toBase58String(G.caller.bytes)
108- let H = u(m)
109- let J = C(m)
110- if ((H > K.amount))
125+ let T = toBase58String(O.caller.bytes)
126+ let P = C(p)
127+ let R = K(p)
128+ if ((P > S.amount))
111129 then throw("Purchase amount cannot be less than item price")
112- else if ((J == d))
130+ else if ((R == g))
113131 then throw("Supplier does not exist")
114- else [IntegerEntry(v(L, m), (w(L, m) + 1)), IntegerEntry(D(J), (F(J) + K.amount))]
132+ else [IntegerEntry(D(T, p), (E(T, p) + 1)), IntegerEntry(L(R), (N(R) + S.amount))]
115133 }
116134 }
117135
118136
119137
120-@Callable(G)
138+@Callable(O)
121139 func withdraw () = {
122- let J = toBase58String(G.caller.bytes)
123- let M = F(J)
124- if ((0 >= M))
140+ let R = toBase58String(O.caller.bytes)
141+ let U = N(R)
142+ if ((0 >= U))
125143 then throw("insuficient balance")
126- else [IntegerEntry(D(J), 0), ScriptTransfer(addressFromStringValue(J), M, unit)]
144+ else [IntegerEntry(L(R), 0), ScriptTransfer(addressFromStringValue(R), U, unit)]
127145 }
128146
129147
130148
131-@Callable(G)
132-func voteCommit (m,N) = {
133- let n = toBase58String(G.caller.bytes)
134- let O = q(m)
135- let P = s(m)
136- if ((O >= a))
149+@Callable(O)
150+func voteCommit (p,V) = {
151+ let q = toBase58String(O.caller.bytes)
152+ let W = t(p)
153+ let X = x(p)
154+ if ((W >= a))
137155 then throw("reached max num of voters")
138- else if ((o(m, n) != d))
156+ else if ((r(p, q) != g))
139157 then throw("user has already participated")
140- else if ((B(m) == d))
158+ else if ((J(p) == g))
141159 then throw("item does not exist")
142- else if (if ((P != d))
143- then (P != b)
160+ else if (if ((X != g))
161+ then (X != c)
144162 else false)
145163 then throw("voting is not possible")
146- else [StringEntry(l(m, n), N), IntegerEntry(p(m), (O + 1)), StringEntry(r(m), if ((O == a))
147- then c
148- else b)]
164+ else [StringEntry(o(p, q), V), IntegerEntry(s(p), (W + 1)), StringEntry(w(p), if ((W == a))
165+ then d
166+ else c)]
167+ }
168+
169+
170+
171+@Callable(O)
172+func voteReveal (p,z,Y) = {
173+ let q = toBase58String(O.caller.bytes)
174+ let X = x(p)
175+ let Z = (A(p, z) + 1)
176+ if ((toBase58String(sha256(toBytes((z + Y)))) != r(p, q)))
177+ then throw("reveal data is not valid")
178+ else if ((a > t(p)))
179+ then throw("max num of voters hasnt reached yet")
180+ else if ((v(p, q) != g))
181+ then throw("user has already participated")
182+ else if (if ((X != c))
183+ then (X != d)
184+ else false)
185+ then throw("wrong status")
186+ else if (if ((z != e))
187+ then (z != f)
188+ else false)
189+ then throw("wrong vote")
190+ else if (if ((X == e))
191+ then true
192+ else (X == f))
193+ then throw("vote has finished")
194+ else [StringEntry(u(p, q), z), IntegerEntry(y(p, z), Z), StringEntry(w(p), if ((Z >= b))
195+ then z
196+ else d)]
149197 }
150198
151199
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 3
55
6-let b = "voting"
6+let b = 2
77
8-let c = "reveal"
8+let c = "voting"
99
10-let d = "none"
10+let d = "reveal"
1111
12-func e (f) = {
13- let g = {
14- let h = getInteger(this, f)
15- if ($isInstanceOf(h, "Int"))
12+let e = "featured"
13+
14+let f = "delisted"
15+
16+let g = "none"
17+
18+func h (i) = {
19+ let j = {
20+ let k = getInteger(this, i)
21+ if ($isInstanceOf(k, "Int"))
1622 then {
17- let i = h
18- i
23+ let l = k
24+ l
1925 }
2026 else 0
2127 }
22- g
28+ j
2329 }
2430
2531
26-func j (f) = {
27- let k = {
28- let h = getString(this, f)
29- if ($isInstanceOf(h, "String"))
32+func m (i) = {
33+ let n = {
34+ let k = getString(this, i)
35+ if ($isInstanceOf(k, "String"))
3036 then {
31- let i = h
32- i
37+ let l = k
38+ l
3339 }
34- else d
40+ else g
3541 }
36- k
42+ n
3743 }
3844
3945
40-func l (m,n) = (((m + "_") + n) + "_commit")
46+func o (p,q) = (((p + "_") + q) + "_commit")
4147
4248
43-func o (m,n) = j(l(m, n))
49+func r (p,q) = m(o(p, q))
4450
4551
46-func p (m) = (m + "_comcnt")
52+func s (p) = (p + "_comcnt")
4753
4854
49-func q (m) = e(p(m))
55+func t (p) = h(s(p))
5056
5157
52-func r (m) = (m + "_status")
58+func u (p,q) = (((p + "_") + q) + "_reveal")
5359
5460
55-func s (m) = j(r(m))
61+func v (p,q) = m(u(p, q))
5662
5763
58-func t (m) = (m + "_price")
64+func w (p) = (p + "_status")
5965
6066
61-func u (m) = e(t(m))
67+func x (p) = m(w(p))
6268
6369
64-func v (n,m) = (((m + "_") + n) + "_cnt")
70+func y (p,z) = ((p + "_res") + z)
6571
6672
67-func w (n,m) = e(v(n, m))
73+func A (p,z) = h(y(p, z))
6874
6975
70-func x (y,z) = ("item_" + toBase58String(sha256(toBytes((y + z)))))
76+func B (p) = (p + "_price")
7177
7278
73-func A (m) = (m + "_data")
79+func C (p) = h(B(p))
7480
7581
76-func B (m) = (m + "_owner")
82+func D (q,p) = (((p + "_") + q) + "_cnt")
7783
7884
79-func C (m) = j(B(m))
85+func E (q,p) = h(D(q, p))
8086
8187
82-func D (E) = (E + "_balance")
88+func F (G,H) = ("item_" + toBase58String(sha256(toBytes((G + H)))))
8389
8490
85-func F (E) = e(D(E))
91+func I (p) = (p + "_data")
8692
8793
88-@Callable(G)
89-func addItem (z,H,I) = {
90- let J = toBase58String(G.caller.bytes)
91- let m = x(J, z)
92- if ((0 >= H))
94+func J (p) = (p + "_owner")
95+
96+
97+func K (p) = m(J(p))
98+
99+
100+func L (M) = (M + "_balance")
101+
102+
103+func N (M) = h(L(M))
104+
105+
106+@Callable(O)
107+func addItem (H,P,Q) = {
108+ let R = toBase58String(O.caller.bytes)
109+ let p = F(R, H)
110+ if ((0 >= P))
93111 then throw("Purchase amount cannot be less than item price")
94- else if ((C(m) != d))
112+ else if ((K(p) != g))
95113 then throw("an item already exists")
96- else [StringEntry(B(m), J), IntegerEntry(t(m), H), StringEntry(A(m), I)]
114+ else [StringEntry(J(p), R), IntegerEntry(B(p), P), StringEntry(I(p), Q)]
97115 }
98116
99117
100118
101-@Callable(G)
102-func purchase (m) = {
103- let K = G.payments[0]
104- if (isDefined(K.assetId))
119+@Callable(O)
120+func purchase (p) = {
121+ let S = O.payments[0]
122+ if (isDefined(S.assetId))
105123 then throw("WAVES tokens only at moment")
106124 else {
107- let L = toBase58String(G.caller.bytes)
108- let H = u(m)
109- let J = C(m)
110- if ((H > K.amount))
125+ let T = toBase58String(O.caller.bytes)
126+ let P = C(p)
127+ let R = K(p)
128+ if ((P > S.amount))
111129 then throw("Purchase amount cannot be less than item price")
112- else if ((J == d))
130+ else if ((R == g))
113131 then throw("Supplier does not exist")
114- else [IntegerEntry(v(L, m), (w(L, m) + 1)), IntegerEntry(D(J), (F(J) + K.amount))]
132+ else [IntegerEntry(D(T, p), (E(T, p) + 1)), IntegerEntry(L(R), (N(R) + S.amount))]
115133 }
116134 }
117135
118136
119137
120-@Callable(G)
138+@Callable(O)
121139 func withdraw () = {
122- let J = toBase58String(G.caller.bytes)
123- let M = F(J)
124- if ((0 >= M))
140+ let R = toBase58String(O.caller.bytes)
141+ let U = N(R)
142+ if ((0 >= U))
125143 then throw("insuficient balance")
126- else [IntegerEntry(D(J), 0), ScriptTransfer(addressFromStringValue(J), M, unit)]
144+ else [IntegerEntry(L(R), 0), ScriptTransfer(addressFromStringValue(R), U, unit)]
127145 }
128146
129147
130148
131-@Callable(G)
132-func voteCommit (m,N) = {
133- let n = toBase58String(G.caller.bytes)
134- let O = q(m)
135- let P = s(m)
136- if ((O >= a))
149+@Callable(O)
150+func voteCommit (p,V) = {
151+ let q = toBase58String(O.caller.bytes)
152+ let W = t(p)
153+ let X = x(p)
154+ if ((W >= a))
137155 then throw("reached max num of voters")
138- else if ((o(m, n) != d))
156+ else if ((r(p, q) != g))
139157 then throw("user has already participated")
140- else if ((B(m) == d))
158+ else if ((J(p) == g))
141159 then throw("item does not exist")
142- else if (if ((P != d))
143- then (P != b)
160+ else if (if ((X != g))
161+ then (X != c)
144162 else false)
145163 then throw("voting is not possible")
146- else [StringEntry(l(m, n), N), IntegerEntry(p(m), (O + 1)), StringEntry(r(m), if ((O == a))
147- then c
148- else b)]
164+ else [StringEntry(o(p, q), V), IntegerEntry(s(p), (W + 1)), StringEntry(w(p), if ((W == a))
165+ then d
166+ else c)]
167+ }
168+
169+
170+
171+@Callable(O)
172+func voteReveal (p,z,Y) = {
173+ let q = toBase58String(O.caller.bytes)
174+ let X = x(p)
175+ let Z = (A(p, z) + 1)
176+ if ((toBase58String(sha256(toBytes((z + Y)))) != r(p, q)))
177+ then throw("reveal data is not valid")
178+ else if ((a > t(p)))
179+ then throw("max num of voters hasnt reached yet")
180+ else if ((v(p, q) != g))
181+ then throw("user has already participated")
182+ else if (if ((X != c))
183+ then (X != d)
184+ else false)
185+ then throw("wrong status")
186+ else if (if ((z != e))
187+ then (z != f)
188+ else false)
189+ then throw("wrong vote")
190+ else if (if ((X == e))
191+ then true
192+ else (X == f))
193+ then throw("vote has finished")
194+ else [StringEntry(u(p, q), z), IntegerEntry(y(p, z), Z), StringEntry(w(p), if ((Z >= b))
195+ then z
196+ else d)]
149197 }
150198
151199

github/deemru/w8io/873ac7e 
99.75 ms