tx · DSAcTpaQdfnwGgFnSYFsGZYeoTsWB4dbhXAXC3VsdVb4

3Mz5wFCFSTfF4iW9me9EVrj4Ahm2VTCTsHZ:  -0.01400000 Waves

2019.06.23 12:36 [554515] smart account 3Mz5wFCFSTfF4iW9me9EVrj4Ahm2VTCTsHZ > SELF 0.00000000 Waves

{ "type": 13, "id": "DSAcTpaQdfnwGgFnSYFsGZYeoTsWB4dbhXAXC3VsdVb4", "fee": 1400000, "feeAssetId": null, "timestamp": 1561282636138, "version": 1, "sender": "3Mz5wFCFSTfF4iW9me9EVrj4Ahm2VTCTsHZ", "senderPublicKey": "55dGDbXbEiK5dkWmRvEkVpQP3ZxxA8qUV3xwxnBuD6Rg", "proofs": [ "3sLtfAGoecynmricF2ABgRenEqYzPPHnQmhVrFuSXz4ztgy37FyLuuRwHzwMdi6gpnqMqiLFWFavihZ3rfxKCtcr" ], "script": "base64:AAIDAAAAAAAAAAAAAAAeAAAAAAROT05FAgAAAARub25lAAAAAAZWT1RFUlMAAAAAAAAAAAMAAAAABlFVT1JVTQAAAAAAAAAAAgAAAAAGVk9USU5HAgAAAAZ2b3RpbmcAAAAABlJFVkVBTAIAAAAGcmV2ZWFsAAAAAAhGRUFUVVJFRAIAAAAIZmVhdHVyZWQAAAAACERFTElTVEVEAgAAAAhkZWxpc3RlZAAAAAAEd0VVUgEAAAAg+SHGy1pmNV9GZrG9FQtKAbSPH2Hck25AKl3UAeE+e4gBAAAACmdldEtleUl0ZW0AAAACAAAACHN1cHBsaWVyAAAABXRpdGxlCQABLAAAAAICAAAABWl0ZW1fCQACWAAAAAEJAAH3AAAAAQkAAZsAAAABCQABLAAAAAIFAAAACHN1cHBsaWVyBQAAAAV0aXRsZQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9vd25lcgEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAACF9iYWxhbmNlAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAGX3ByaWNlAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAVfZGF0YQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABGl0ZW0CAAAAAV8FAAAABHVzZXICAAAABF9jbnQBAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0BAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAR1c2VyBQAAAARpdGVtAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEAAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAB2FjY291bnQBAAAADGdldEtleUNvbW1pdAAAAAIAAAAEaXRlbQAAAAR1c2VyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAAdfY29tbWl0AQAAAA5nZXRWYWx1ZUNvbW1pdAAAAAIAAAAEaXRlbQAAAAR1c2VyCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAMZ2V0S2V5Q29tbWl0AAAAAgUAAAAEaXRlbQUAAAAEdXNlcgEAAAASZ2V0S2V5Q29tbWl0c0NvdW50AAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAAB19jb21jbnQBAAAAFGdldFZhbHVlQ29tbWl0c0NvdW50AAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0S2V5Q29tbWl0c0NvdW50AAAAAQUAAAAEaXRlbQEAAAAMZ2V0S2V5UmV2ZWFsAAAAAgAAAARpdGVtAAAABHVzZXIJAAEsAAAAAgkAASwAAAAC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", "chainId": 84, "height": 554515, "spentComplexity": 0 } View: original | compacted Prev: XuBjMEQP8dRhCD9UXJfJhtueJQq1ZKGz2Ejv4uB5agz Next: 3WwJdvwomHk4fw5noNCvYWZNDEbx55cZqpdAEuZD5X25 Diff:
OldNewDifferences
1515
1616 let g = "delisted"
1717
18-func h (i,j) = ("item_" + toBase58String(sha256(toBytes((i + j)))))
18+let h = base58'HmWPZDMJ6zq2QCcpCMucVQtQuMGkCTkz37J5qjvUwJe3'
19+
20+func i (j,k) = ("item_" + toBase58String(sha256(toBytes((j + k)))))
1921
2022
21-func k (l) = (l + "_owner")
23+func l (m) = (m + "_owner")
2224
2325
24-func m (l) = (l + "_balance")
26+func n (m) = (m + "_balance")
2527
2628
27-func n (l) = (l + "_price")
29+func o (m) = (m + "_price")
2830
2931
30-func o (l) = (l + "_data")
32+func p (m) = (m + "_data")
3133
3234
33-func p (q,l) = (((l + "_") + q) + "_cnt")
35+func q (r,m) = (((m + "_") + r) + "_cnt")
3436
3537
36-func r (s) = {
37- let t = {
38- let u = getString(this, s)
39- if ($isInstanceOf(u, "String"))
38+func s (t) = {
39+ let u = {
40+ let v = getString(this, t)
41+ if ($isInstanceOf(v, "String"))
4042 then {
41- let v = u
42- v
43+ let w = v
44+ w
4345 }
4446 else a
4547 }
46- t
48+ u
4749 }
4850
4951
50-func w (s) = {
51- let x = {
52- let u = getInteger(this, s)
53- if ($isInstanceOf(u, "Int"))
52+func x (t) = {
53+ let y = {
54+ let v = getInteger(this, t)
55+ if ($isInstanceOf(v, "Int"))
5456 then {
55- let v = u
56- v
57+ let w = v
58+ w
5759 }
5860 else 0
5961 }
60- x
62+ y
6163 }
6264
6365
64-func y (l) = r(k(l))
66+func z (m) = s(l(m))
6567
6668
67-func z (l) = w(n(l))
69+func A (m) = x(o(m))
6870
6971
70-func A (q,l) = w(p(q, l))
72+func B (r,m) = x(q(r, m))
7173
7274
73-func B (C) = w(m(C))
75+func C (D) = x(n(D))
7476
7577
76-func D (l,q) = (((l + "_") + q) + "_commit")
78+func E (m,r) = (((m + "_") + r) + "_commit")
7779
7880
79-func E (l,q) = r(D(l, q))
81+func F (m,r) = s(E(m, r))
8082
8183
82-func F (l) = (l + "_comcnt")
84+func G (m) = (m + "_comcnt")
8385
8486
85-func G (l) = w(F(l))
87+func H (m) = x(G(m))
8688
8789
88-func H (l,q) = (((l + "_") + q) + "_reveal")
90+func I (m,r) = (((m + "_") + r) + "_reveal")
8991
9092
91-func I (l,q) = r(H(l, q))
93+func J (m,r) = s(I(m, r))
9294
9395
94-func J (l) = (l + "_status")
96+func K (m) = (m + "_status")
9597
9698
97-func K (l) = r(J(l))
99+func L (m) = s(K(m))
98100
99101
100-func L (l,M) = ((l + "_res:") + M)
102+func M (m,N) = ((m + "_res:") + N)
101103
102104
103-func N (l,M) = w(L(l, M))
105+func O (m,N) = x(M(m, N))
104106
105107
106-@Callable(O)
107-func purchaseOld (P) = {
108- let Q = extract(O.payment)
109- if (isDefined(Q.assetId))
108+@Callable(P)
109+func purchaseOld (Q) = {
110+ let R = extract(P.payment)
111+ if (isDefined(R.assetId))
110112 then throw("can use WAVES only at the moment")
111113 else {
112- let R = toBase58String(O.caller.bytes)
113- let S = {
114- let u = getInteger(this, (("item_" + P) + "_coupon_price"))
115- if ($isInstanceOf(u, "Int"))
114+ let S = toBase58String(P.caller.bytes)
115+ let T = {
116+ let v = getInteger(this, (("item_" + Q) + "_coupon_price"))
117+ if ($isInstanceOf(v, "Int"))
116118 then {
117- let v = u
118- v
119+ let w = v
120+ w
119121 }
120122 else 0
121123 }
122- if ((S > Q.amount))
124+ if ((T > R.amount))
123125 then throw("purschase amount cannot be less than item price")
124- else if ((Q.amount > S))
126+ else if ((R.amount > T))
125127 then throw("purchase amount cannot be higher than item price")
126- else WriteSet([DataEntry(((("status:purchase_item_" + P) + "_customer_") + R), "confirmed"), DataEntry(((("price:purchase_item_" + P) + "_customer_") + R), S)])
128+ else WriteSet([DataEntry(((("status:purchase_item_" + Q) + "_customer_") + S), "confirmed"), DataEntry(((("price:purchase_item_" + Q) + "_customer_") + S), T)])
127129 }
128130 }
129131
130132
131133
132-@Callable(O)
133-func addItem (j,S,T) = {
134- let U = toBase58String(O.caller.bytes)
135- let l = h(U, j)
136- if ((0 >= S))
134+@Callable(P)
135+func addItem (k,T,U) = {
136+ let V = toBase58String(P.caller.bytes)
137+ let m = i(V, k)
138+ if ((0 >= T))
137139 then throw("purchase amount cannot be less than item price")
138- else if ((y(l) != a))
140+ else if ((z(m) != a))
139141 then throw("an items is already exist")
140- else WriteSet([DataEntry(k(l), U), DataEntry(n(l), S), DataEntry(o(l), T)])
142+ else WriteSet([DataEntry(l(m), V), DataEntry(o(m), T), DataEntry(p(m), U)])
141143 }
142144
143145
144146
145-@Callable(O)
146-func purchase (l) = {
147- let Q = extract(O.payment)
148- if (isDefined(Q.assetId))
147+@Callable(P)
148+func purchase (m) = {
149+ let R = extract(P.payment)
150+ if (isDefined(R.assetId))
149151 then throw("WAVES tokens only at the moment")
150152 else {
151- let V = toBase58String(O.caller.bytes)
152- let S = z(l)
153- let U = y(l)
154- if ((S > Q.amount))
153+ let W = toBase58String(P.caller.bytes)
154+ let T = A(m)
155+ let V = z(m)
156+ if ((T > R.amount))
155157 then throw("purchase amount cannot be less than item price")
156- else if ((Q.amount > S))
158+ else if ((R.amount > T))
157159 then throw("purchase amount cannot be higher than item price")
158- else if ((U == a))
160+ else if ((V == a))
159161 then throw("supplier does not exist")
160- else WriteSet([DataEntry(p(V, l), (A(V, l) + 1)), DataEntry(m(U), (B(U) + Q.amount))])
162+ else WriteSet([DataEntry(q(W, m), (B(W, m) + 1)), DataEntry(n(V), (C(V) + R.amount))])
161163 }
162164 }
163165
164166
165167
166-@Callable(O)
167-func withdraw () = {
168- let U = toBase58String(O.caller.bytes)
169- let W = B(U)
170- if ((0 >= W))
168+@Callable(P)
169+func withdrawO () = {
170+ let V = toBase58String(P.caller.bytes)
171+ let X = C(V)
172+ if ((0 >= X))
171173 then throw("insufficient balance")
172- else ScriptResult(WriteSet([DataEntry(m(U), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(U), W, unit)]))
174+ else ScriptResult(WriteSet([DataEntry(n(V), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(V), X, unit)]))
173175 }
174176
175177
176178
177-@Callable(O)
178-func voteCommit (l,X) = {
179- let q = toBase58String(O.caller.bytes)
180- let Y = G(l)
181- let Z = K(l)
182- if ((Y >= b))
179+@Callable(P)
180+func voteCommit (m,Y) = {
181+ let r = toBase58String(P.caller.bytes)
182+ let Z = H(m)
183+ let aa = L(m)
184+ if ((Z >= b))
183185 then throw("max votes")
184- else if ((E(l, q) != a))
186+ else if ((F(m, r) != a))
185187 then throw("already participated")
186- else if ((k(l) == a))
188+ else if ((l(m) == a))
187189 then throw("item not exist")
188- else if (if ((Z != a))
189- then (Z != d)
190+ else if (if ((aa != a))
191+ then (aa != d)
190192 else false)
191193 then throw("voting not possible")
192- else WriteSet([DataEntry(D(l, q), X), DataEntry(F(l), (Y + 1)), DataEntry(J(l), if ((Y == b))
194+ else WriteSet([DataEntry(E(m, r), Y), DataEntry(G(m), (Z + 1)), DataEntry(K(m), if ((Z == b))
193195 then e
194196 else d)])
195197 }
196198
197199
198200
199-@Callable(O)
200-func voteReveal (l,M,aa) = {
201- let q = toBase58String(O.caller.bytes)
202- let Z = K(l)
203- let ab = (N(l, M) + 1)
204- if ((toBase58String(sha256(toBytes((M + aa)))) != E(l, q)))
201+@Callable(P)
202+func voteReveal (m,N,ab) = {
203+ let r = toBase58String(P.caller.bytes)
204+ let aa = L(m)
205+ let ac = (O(m, N) + 1)
206+ if ((toBase58String(sha256(toBytes((N + ab)))) != F(m, r)))
205207 then throw("reveal data is not valid")
206- else if ((b > G(l)))
208+ else if ((b > H(m)))
207209 then throw("max num of voters not reached")
208- else if ((I(l, q) != a))
210+ else if ((J(m, r) != a))
209211 then throw("user has already participated")
210- else if (if ((Z != d))
211- then (Z != e)
212+ else if (if ((aa != d))
213+ then (aa != e)
212214 else false)
213215 then throw("wrong status")
214- else if (if ((M != f))
215- then (M != g)
216+ else if (if ((N != f))
217+ then (N != g)
216218 else false)
217219 then throw("wrong vote")
218- else if (if ((Z == f))
220+ else if (if ((aa == f))
219221 then true
220- else (Z == g))
222+ else (aa == g))
221223 then throw("vote finished")
222- else WriteSet([DataEntry(H(l, q), M), DataEntry(L(l, M), ab), DataEntry(J(l), if ((ab >= c))
223- then M
224+ else WriteSet([DataEntry(I(m, r), N), DataEntry(M(m, N), ac), DataEntry(K(m), if ((ac >= c))
225+ then N
224226 else e)])
227+ }
228+
229+
230+
231+@Callable(P)
232+func deposit () = {
233+ let R = extract(P.payment)
234+ if ((R.assetId != h))
235+ then throw("HmWPZDMJ6zq2QCcpCMucVQtQuMGkCTkz37J5qjvUwJe3 only at moment")
236+ else {
237+ let ad = toBase58String(P.caller.bytes)
238+ let ae = {
239+ let v = getInteger(this, ad)
240+ if ($isInstanceOf(v, "Int"))
241+ then {
242+ let w = v
243+ w
244+ }
245+ else 0
246+ }
247+ let af = (ae + R.amount)
248+ WriteSet([DataEntry(ad, af)])
249+ }
250+ }
251+
252+
253+
254+@Callable(P)
255+func withdraw (ag) = {
256+ let ad = toBase58String(P.caller.bytes)
257+ let ae = {
258+ let v = getInteger(this, ad)
259+ if ($isInstanceOf(v, "Int"))
260+ then {
261+ let w = v
262+ w
263+ }
264+ else 0
265+ }
266+ let af = (ae - ag)
267+ if ((0 > ag))
268+ then throw("Can't wd negative amount")
269+ else if ((0 > af))
270+ then throw("not enough")
271+ else ScriptResult(WriteSet([DataEntry(ad, af)]), TransferSet([ScriptTransfer(P.caller, ag, h)]))
225272 }
226273
227274
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "none"
55
66 let b = 3
77
88 let c = 2
99
1010 let d = "voting"
1111
1212 let e = "reveal"
1313
1414 let f = "featured"
1515
1616 let g = "delisted"
1717
18-func h (i,j) = ("item_" + toBase58String(sha256(toBytes((i + j)))))
18+let h = base58'HmWPZDMJ6zq2QCcpCMucVQtQuMGkCTkz37J5qjvUwJe3'
19+
20+func i (j,k) = ("item_" + toBase58String(sha256(toBytes((j + k)))))
1921
2022
21-func k (l) = (l + "_owner")
23+func l (m) = (m + "_owner")
2224
2325
24-func m (l) = (l + "_balance")
26+func n (m) = (m + "_balance")
2527
2628
27-func n (l) = (l + "_price")
29+func o (m) = (m + "_price")
2830
2931
30-func o (l) = (l + "_data")
32+func p (m) = (m + "_data")
3133
3234
33-func p (q,l) = (((l + "_") + q) + "_cnt")
35+func q (r,m) = (((m + "_") + r) + "_cnt")
3436
3537
36-func r (s) = {
37- let t = {
38- let u = getString(this, s)
39- if ($isInstanceOf(u, "String"))
38+func s (t) = {
39+ let u = {
40+ let v = getString(this, t)
41+ if ($isInstanceOf(v, "String"))
4042 then {
41- let v = u
42- v
43+ let w = v
44+ w
4345 }
4446 else a
4547 }
46- t
48+ u
4749 }
4850
4951
50-func w (s) = {
51- let x = {
52- let u = getInteger(this, s)
53- if ($isInstanceOf(u, "Int"))
52+func x (t) = {
53+ let y = {
54+ let v = getInteger(this, t)
55+ if ($isInstanceOf(v, "Int"))
5456 then {
55- let v = u
56- v
57+ let w = v
58+ w
5759 }
5860 else 0
5961 }
60- x
62+ y
6163 }
6264
6365
64-func y (l) = r(k(l))
66+func z (m) = s(l(m))
6567
6668
67-func z (l) = w(n(l))
69+func A (m) = x(o(m))
6870
6971
70-func A (q,l) = w(p(q, l))
72+func B (r,m) = x(q(r, m))
7173
7274
73-func B (C) = w(m(C))
75+func C (D) = x(n(D))
7476
7577
76-func D (l,q) = (((l + "_") + q) + "_commit")
78+func E (m,r) = (((m + "_") + r) + "_commit")
7779
7880
79-func E (l,q) = r(D(l, q))
81+func F (m,r) = s(E(m, r))
8082
8183
82-func F (l) = (l + "_comcnt")
84+func G (m) = (m + "_comcnt")
8385
8486
85-func G (l) = w(F(l))
87+func H (m) = x(G(m))
8688
8789
88-func H (l,q) = (((l + "_") + q) + "_reveal")
90+func I (m,r) = (((m + "_") + r) + "_reveal")
8991
9092
91-func I (l,q) = r(H(l, q))
93+func J (m,r) = s(I(m, r))
9294
9395
94-func J (l) = (l + "_status")
96+func K (m) = (m + "_status")
9597
9698
97-func K (l) = r(J(l))
99+func L (m) = s(K(m))
98100
99101
100-func L (l,M) = ((l + "_res:") + M)
102+func M (m,N) = ((m + "_res:") + N)
101103
102104
103-func N (l,M) = w(L(l, M))
105+func O (m,N) = x(M(m, N))
104106
105107
106-@Callable(O)
107-func purchaseOld (P) = {
108- let Q = extract(O.payment)
109- if (isDefined(Q.assetId))
108+@Callable(P)
109+func purchaseOld (Q) = {
110+ let R = extract(P.payment)
111+ if (isDefined(R.assetId))
110112 then throw("can use WAVES only at the moment")
111113 else {
112- let R = toBase58String(O.caller.bytes)
113- let S = {
114- let u = getInteger(this, (("item_" + P) + "_coupon_price"))
115- if ($isInstanceOf(u, "Int"))
114+ let S = toBase58String(P.caller.bytes)
115+ let T = {
116+ let v = getInteger(this, (("item_" + Q) + "_coupon_price"))
117+ if ($isInstanceOf(v, "Int"))
116118 then {
117- let v = u
118- v
119+ let w = v
120+ w
119121 }
120122 else 0
121123 }
122- if ((S > Q.amount))
124+ if ((T > R.amount))
123125 then throw("purschase amount cannot be less than item price")
124- else if ((Q.amount > S))
126+ else if ((R.amount > T))
125127 then throw("purchase amount cannot be higher than item price")
126- else WriteSet([DataEntry(((("status:purchase_item_" + P) + "_customer_") + R), "confirmed"), DataEntry(((("price:purchase_item_" + P) + "_customer_") + R), S)])
128+ else WriteSet([DataEntry(((("status:purchase_item_" + Q) + "_customer_") + S), "confirmed"), DataEntry(((("price:purchase_item_" + Q) + "_customer_") + S), T)])
127129 }
128130 }
129131
130132
131133
132-@Callable(O)
133-func addItem (j,S,T) = {
134- let U = toBase58String(O.caller.bytes)
135- let l = h(U, j)
136- if ((0 >= S))
134+@Callable(P)
135+func addItem (k,T,U) = {
136+ let V = toBase58String(P.caller.bytes)
137+ let m = i(V, k)
138+ if ((0 >= T))
137139 then throw("purchase amount cannot be less than item price")
138- else if ((y(l) != a))
140+ else if ((z(m) != a))
139141 then throw("an items is already exist")
140- else WriteSet([DataEntry(k(l), U), DataEntry(n(l), S), DataEntry(o(l), T)])
142+ else WriteSet([DataEntry(l(m), V), DataEntry(o(m), T), DataEntry(p(m), U)])
141143 }
142144
143145
144146
145-@Callable(O)
146-func purchase (l) = {
147- let Q = extract(O.payment)
148- if (isDefined(Q.assetId))
147+@Callable(P)
148+func purchase (m) = {
149+ let R = extract(P.payment)
150+ if (isDefined(R.assetId))
149151 then throw("WAVES tokens only at the moment")
150152 else {
151- let V = toBase58String(O.caller.bytes)
152- let S = z(l)
153- let U = y(l)
154- if ((S > Q.amount))
153+ let W = toBase58String(P.caller.bytes)
154+ let T = A(m)
155+ let V = z(m)
156+ if ((T > R.amount))
155157 then throw("purchase amount cannot be less than item price")
156- else if ((Q.amount > S))
158+ else if ((R.amount > T))
157159 then throw("purchase amount cannot be higher than item price")
158- else if ((U == a))
160+ else if ((V == a))
159161 then throw("supplier does not exist")
160- else WriteSet([DataEntry(p(V, l), (A(V, l) + 1)), DataEntry(m(U), (B(U) + Q.amount))])
162+ else WriteSet([DataEntry(q(W, m), (B(W, m) + 1)), DataEntry(n(V), (C(V) + R.amount))])
161163 }
162164 }
163165
164166
165167
166-@Callable(O)
167-func withdraw () = {
168- let U = toBase58String(O.caller.bytes)
169- let W = B(U)
170- if ((0 >= W))
168+@Callable(P)
169+func withdrawO () = {
170+ let V = toBase58String(P.caller.bytes)
171+ let X = C(V)
172+ if ((0 >= X))
171173 then throw("insufficient balance")
172- else ScriptResult(WriteSet([DataEntry(m(U), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(U), W, unit)]))
174+ else ScriptResult(WriteSet([DataEntry(n(V), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(V), X, unit)]))
173175 }
174176
175177
176178
177-@Callable(O)
178-func voteCommit (l,X) = {
179- let q = toBase58String(O.caller.bytes)
180- let Y = G(l)
181- let Z = K(l)
182- if ((Y >= b))
179+@Callable(P)
180+func voteCommit (m,Y) = {
181+ let r = toBase58String(P.caller.bytes)
182+ let Z = H(m)
183+ let aa = L(m)
184+ if ((Z >= b))
183185 then throw("max votes")
184- else if ((E(l, q) != a))
186+ else if ((F(m, r) != a))
185187 then throw("already participated")
186- else if ((k(l) == a))
188+ else if ((l(m) == a))
187189 then throw("item not exist")
188- else if (if ((Z != a))
189- then (Z != d)
190+ else if (if ((aa != a))
191+ then (aa != d)
190192 else false)
191193 then throw("voting not possible")
192- else WriteSet([DataEntry(D(l, q), X), DataEntry(F(l), (Y + 1)), DataEntry(J(l), if ((Y == b))
194+ else WriteSet([DataEntry(E(m, r), Y), DataEntry(G(m), (Z + 1)), DataEntry(K(m), if ((Z == b))
193195 then e
194196 else d)])
195197 }
196198
197199
198200
199-@Callable(O)
200-func voteReveal (l,M,aa) = {
201- let q = toBase58String(O.caller.bytes)
202- let Z = K(l)
203- let ab = (N(l, M) + 1)
204- if ((toBase58String(sha256(toBytes((M + aa)))) != E(l, q)))
201+@Callable(P)
202+func voteReveal (m,N,ab) = {
203+ let r = toBase58String(P.caller.bytes)
204+ let aa = L(m)
205+ let ac = (O(m, N) + 1)
206+ if ((toBase58String(sha256(toBytes((N + ab)))) != F(m, r)))
205207 then throw("reveal data is not valid")
206- else if ((b > G(l)))
208+ else if ((b > H(m)))
207209 then throw("max num of voters not reached")
208- else if ((I(l, q) != a))
210+ else if ((J(m, r) != a))
209211 then throw("user has already participated")
210- else if (if ((Z != d))
211- then (Z != e)
212+ else if (if ((aa != d))
213+ then (aa != e)
212214 else false)
213215 then throw("wrong status")
214- else if (if ((M != f))
215- then (M != g)
216+ else if (if ((N != f))
217+ then (N != g)
216218 else false)
217219 then throw("wrong vote")
218- else if (if ((Z == f))
220+ else if (if ((aa == f))
219221 then true
220- else (Z == g))
222+ else (aa == g))
221223 then throw("vote finished")
222- else WriteSet([DataEntry(H(l, q), M), DataEntry(L(l, M), ab), DataEntry(J(l), if ((ab >= c))
223- then M
224+ else WriteSet([DataEntry(I(m, r), N), DataEntry(M(m, N), ac), DataEntry(K(m), if ((ac >= c))
225+ then N
224226 else e)])
227+ }
228+
229+
230+
231+@Callable(P)
232+func deposit () = {
233+ let R = extract(P.payment)
234+ if ((R.assetId != h))
235+ then throw("HmWPZDMJ6zq2QCcpCMucVQtQuMGkCTkz37J5qjvUwJe3 only at moment")
236+ else {
237+ let ad = toBase58String(P.caller.bytes)
238+ let ae = {
239+ let v = getInteger(this, ad)
240+ if ($isInstanceOf(v, "Int"))
241+ then {
242+ let w = v
243+ w
244+ }
245+ else 0
246+ }
247+ let af = (ae + R.amount)
248+ WriteSet([DataEntry(ad, af)])
249+ }
250+ }
251+
252+
253+
254+@Callable(P)
255+func withdraw (ag) = {
256+ let ad = toBase58String(P.caller.bytes)
257+ let ae = {
258+ let v = getInteger(this, ad)
259+ if ($isInstanceOf(v, "Int"))
260+ then {
261+ let w = v
262+ w
263+ }
264+ else 0
265+ }
266+ let af = (ae - ag)
267+ if ((0 > ag))
268+ then throw("Can't wd negative amount")
269+ else if ((0 > af))
270+ then throw("not enough")
271+ else ScriptResult(WriteSet([DataEntry(ad, af)]), TransferSet([ScriptTransfer(P.caller, ag, h)]))
225272 }
226273
227274

github/deemru/w8io/169f3d6 
80.81 ms