tx · Ha4vDxwtG5Y7yxHHHVfnZ4nwLQdxCQheQe5CWQzy1ZMw

3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd:  -0.01000000 Waves

2023.12.06 03:32 [2874063] smart account 3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd > SELF 0.00000000 Waves

{ "type": 13, "id": "Ha4vDxwtG5Y7yxHHHVfnZ4nwLQdxCQheQe5CWQzy1ZMw", "fee": 1000000, "feeAssetId": null, "timestamp": 1701822802786, "version": 2, "chainId": 84, "sender": "3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd", "senderPublicKey": "EEhsp9Jd5MwVmYJMGAZJL3tTb5KcurTz8Aw7wksZuw3e", "proofs": [ "22dBpMTVqd6WC4KtQCBTgzSg87NG75fTGBv2K3jy7xzFTSGU9iSKuowvbYaXzGc28GAhCnqar4kmdQXRsBZFGa8P" ], "script": "base64:AAIDAAAAAAAAACYIARIDCgEIEgASBQoDCAEIEgQKAggIEgUKAwgICBIAEgASAwoBAQAAACEAAAAACmFjYzFQdWJLZXkBAAAAINoqzDs5WpVhYDTUvUDFMunBHoYto6DfGaP0KadDFYl5AAAAAAphY2MyUHViS2V5AQAAACDEqrME/jjBGs4Mrxcvf2rYimlLp6n4e/JFPZGNpxSDUQAAAAAKYWNjM1B1YktleQEAAAAgUNvEPKDCChp09z9n6F1NbPXldSbE9+5rrmMBqTTu7wMAAAAABE5PTkUCAAAABG5vbmUAAAAAB0JBTEFOQ0UCAAAACGJhbGFuY2VfAAAAAAZWT1RFUlMAAAAAAAAAAAMAAAAABlFVT1JVTQAAAAAAAAAAAgAAAAAGVk9USU5HAgAAAAZ2b3RpbmcAAAAABlJFVkVBTAIAAAAGcmV2ZWFsAAAAAAhGRUFUVVJFRAIAAAAIZmVhdHVyZWQAAAAACERFTElTVEVEAgAAAAhkZWxpc3RlZAEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAADbnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAANudW0BAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAGX3ByaWNlAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0BAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAARfY250AQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAAEdXNlcgUAAAAEaXRlbQEAAAAKZ2V0S2V5SXRlbQAAAAIAAAAIc3VwcGxpZXIAAAAFdGl0bGUJAAEsAAAAAgIAAAAFaXRlbV8JAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAIc3VwcGxpZXIFAAAABXRpdGxlAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAVfZGF0YQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9vd25lcgEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABAAAAB2FjY291bnQJAAEsAAAAAgUAAAAHYWNjb3VudAIAAAAIX2JhbGFuY2UBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQAAAAdhY2NvdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAHYWNjb3VudAEAAAAMZ2V0S2V5Q29tbWl0AAAAAgAAAARpdGVtAAAABHVzZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABGl0ZW0CAAAAAV8FAAAABHVzZXICAAAAB19jb21taXQBAAAADmdldFZhbHVlQ29tbWl0AAAAAgAAAARpdGVtAAAABHVzZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAAxnZXRLZXlDb21taXQAAAACBQAAAARpdGVtBQAAAAR1c2VyAQAAABJnZXRLZXlDb21taXRzQ291bnQAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAHX2NvbWNudAEAAAAUZ2V0VmFsdWVDb21taXRzQ291bnQAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRLZXlDb21taXRzQ291bnQAAAABBQAAAARpdGVtAQAAAAxnZXRLZXlSZXZlYWwAAAACAAAABGl0ZW0AAAAEdXNlcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAABXwUAAAAEdXNlcgIAAAAHX3JldmVhbAEAAAAOZ2V0VmFsdWVSZXZlYWwAAAACAAAABGl0ZW0AAAAEdXNlcgkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAADGdldEtleVJldmVhbAAAAAIFAAAABGl0ZW0FAAAABHVzZXIBAAAAEGdldEtleUl0ZW1TdGF0dXMAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAHX3N0YXR1cwEAAAASZ2V0VmFsdWVJdGVtU3RhdHVzAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0BAAAAD2dldEtleVZvdGVDb3VudAAAAAIAAAAEaXRlbQAAAAR2b3RlCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAAFX3JlczoFAAAABHZvdGUBAAAAEWdldFZhbHVlVm90ZUNvdW50AAAAAgAAAARpdGVtAAAABHZvdGUJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA9nZXRLZXlWb3RlQ291bnQAAAACBQAAAARpdGVtBQAAAAR2b3RlAAAACAAAAAFpAQAAAAhwdXJjaGFzZQAAAAEAAAAEaXRlbQQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAH1dBVkVTIHRva2VucyBvbmx5IGF0IHRoZSBtb21lbnQEAAAAC3VzZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXByaWNlCQEAAAARZ2V0VmFsdWVJdGVtUHJpY2UAAAABBQAAAARpdGVtBAAAAA5zdXBwbGllckFkZHJzcwkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALnB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAVwcmljZQkAAAIAAAABAgAAADBwdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGhpZ2hlciB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAADnN1cHBsaWVyQWRkcnNzBQAAAAROT05FCQAAAgAAAAECAAAAF3N1cHBsaWVyIGRvZXMgbm90IGV4aXN0CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABGl0ZW0JAABkAAAAAgkBAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABGl0ZW0AAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA5zdXBwbGllckFkZHJzcwkAAGQAAAACCQEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA5zdXBwbGllckFkZHJzcwgFAAAAA3BtdAAAAAZhbW91bnQFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAAEAAAAD3N1cHBsaWVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAdiYWxhbmNlCQEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MDCQAAZwAAAAIAAAAAAAAAAAAFAAAAB2JhbGFuY2UJAAACAAAAAQIAAAAUaW5zdWZmaWNpZW50IGJhbGFuY2UJ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", "height": 2874063, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: J4EDEYhGGN5u8Sn2Hd3Bv1bjtUvXgQdt2nC3zFc2Zii1 Next: 9NpyWuuiEkyk2zN3EtH7nEdabaRDGamYBX8geDQTSCcw Diff:
OldNewDifferences
179179
180180
181181 @Callable(S)
182+func voteReveal (t,Q,ad) = {
183+ let w = toBase58String(S.caller.bytes)
184+ let ac = O(t)
185+ let ae = (R(t, Q) + 1)
186+ if ((toUtf8String(sha256(toBytes((Q + ad)))) != I(t, w)))
187+ then throw("reveal data is not valid")
188+ else if ((f > K(t)))
189+ then throw("max num of voters hasn't reached yet")
190+ else if ((M(t, w) != d))
191+ then throw("user has already participated")
192+ else if (if ((ac != h))
193+ then (ac != i)
194+ else false)
195+ then throw("wrong status")
196+ else if (if ((Q != j))
197+ then (Q != k)
198+ else false)
199+ then throw("vote has finished")
200+ else WriteSet([DataEntry(L(t, w), Q), DataEntry(P(t, Q), ae), DataEntry(N(t), if ((ae >= g))
201+ then Q
202+ else i)])
203+ }
204+
205+
206+
207+@Callable(S)
182208 func x_purchase () = {
183209 let T = extract(S.payment)
184210 if (isDefined(T.assetId))
185211 then throw("can use WAVES only at the moment")
186212 else {
187- let ad = toBase58String(S.caller.bytes)
213+ let af = toBase58String(S.caller.bytes)
188214 let V = {
189215 let o = getInteger(this, "item_A_coupon_price")
190216 if ($isInstanceOf(o, "Int"))
198224 then throw("purchase amount cannot be less than item price")
199225 else if ((T.amount > V))
200226 then throw("purchase amount cannot be higher than item price")
201- else WriteSet([DataEntry(("status:purchase_item_A_customer_" + ad), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + ad), V)])
227+ else WriteSet([DataEntry(("status:purchase_item_A_customer_" + af), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + af), V)])
202228 }
203229 }
204230
210236 if (isDefined(T.assetId))
211237 then throw("can hodl waves only at the moment")
212238 else {
213- let ae = toBase58String(S.caller.bytes)
214- let af = {
215- let o = getInteger(this, ae)
239+ let ag = toBase58String(S.caller.bytes)
240+ let ah = {
241+ let o = getInteger(this, ag)
216242 if ($isInstanceOf(o, "Int"))
217243 then {
218244 let p = o
220246 }
221247 else 0
222248 }
223- let ag = {
224- let o = getString(this, ("wl_sts_" + ae))
249+ let ai = {
250+ let o = getString(this, ("wl_sts_" + ag))
225251 if ($isInstanceOf(o, "String"))
226252 then {
227253 let p = o
229255 }
230256 else throw("User has not deen waitlisted")
231257 }
232- let ah = (af + T.amount)
233- WriteSet([DataEntry((e + ae), ah)])
258+ let aj = (ah + T.amount)
259+ WriteSet([DataEntry((e + ag), aj)])
234260 }
235261 }
236262
237263
238264
239265 @Callable(S)
240-func x_withdraw (ai) = {
241- let ae = toBase58String(S.caller.bytes)
242- let af = {
243- let o = getInteger(this, (e + ae))
266+func x_withdraw (ak) = {
267+ let ag = toBase58String(S.caller.bytes)
268+ let ah = {
269+ let o = getInteger(this, (e + ag))
244270 if ($isInstanceOf(o, "Int"))
245271 then {
246272 let p = o
248274 }
249275 else 0
250276 }
251- let ah = (af - ai)
252- if ((0 > ai))
277+ let aj = (ah - ak)
278+ if ((0 > ak))
253279 then throw("Can't withdraw negative amount")
254- else if ((0 > ah))
280+ else if ((0 > aj))
255281 then throw("Not enough balance")
256- else ScriptResult(WriteSet([DataEntry((e + ae), ah)]), TransferSet([ScriptTransfer(S.caller, ai, unit)]))
282+ else ScriptResult(WriteSet([DataEntry((e + ag), aj)]), TransferSet([ScriptTransfer(S.caller, ak, unit)]))
257283 }
258284
259285
260-@Verifier(aj)
261-func ak () = {
262- let al = sigVerify(aj.bodyBytes, aj.proofs[0], a)
263- let am = sigVerify(aj.bodyBytes, aj.proofs[1], a)
264- let an = sigVerify(aj.bodyBytes, aj.proofs[2], a)
265- let ao = sigVerify(aj.bodyBytes, aj.proofs[0], b)
266- let ap = sigVerify(aj.bodyBytes, aj.proofs[1], b)
267- let aq = sigVerify(aj.bodyBytes, aj.proofs[2], b)
268- let ar = sigVerify(aj.bodyBytes, aj.proofs[0], c)
269- let as = sigVerify(aj.bodyBytes, aj.proofs[1], c)
270- let at = sigVerify(aj.bodyBytes, aj.proofs[2], c)
271- let au = if (if (if (if (if (if (al)
272- then ap
286+@Verifier(al)
287+func am () = {
288+ let an = sigVerify(al.bodyBytes, al.proofs[0], a)
289+ let ao = sigVerify(al.bodyBytes, al.proofs[1], a)
290+ let ap = sigVerify(al.bodyBytes, al.proofs[2], a)
291+ let aq = sigVerify(al.bodyBytes, al.proofs[0], b)
292+ let ar = sigVerify(al.bodyBytes, al.proofs[1], b)
293+ let as = sigVerify(al.bodyBytes, al.proofs[2], b)
294+ let at = sigVerify(al.bodyBytes, al.proofs[0], c)
295+ let au = sigVerify(al.bodyBytes, al.proofs[1], c)
296+ let av = sigVerify(al.bodyBytes, al.proofs[2], c)
297+ let aw = if (if (if (if (if (if (an)
298+ then ar
273299 else false)
274300 then true
275- else if (al)
301+ else if (an)
302+ then as
303+ else false)
304+ then true
305+ else if (ao)
276306 then aq
277307 else false)
278308 then true
279- else if (am)
280- then ao
309+ else if (ao)
310+ then as
281311 else false)
282312 then true
283- else if (am)
313+ else if (ap)
284314 then aq
285315 else false)
286316 then true
317+ else if (ap)
318+ then ar
319+ else false
320+ let ax = if (if (if (if (if (if (an)
321+ then au
322+ else false)
323+ then true
287324 else if (an)
288- then ao
325+ then av
289326 else false)
290327 then true
291- else if (an)
292- then ap
293- else false
294- let av = if (if (if (if (if (if (al)
295- then as
296- else false)
297- then true
298- else if (al)
328+ else if (ao)
299329 then at
300330 else false)
301331 then true
302- else if (am)
303- then ar
332+ else if (ao)
333+ then av
304334 else false)
305335 then true
306- else if (am)
336+ else if (ap)
307337 then at
308338 else false)
309339 then true
310- else if (an)
311- then ar
340+ else if (ap)
341+ then au
342+ else false
343+ let ay = if (if (if (if (if (if (at)
344+ then ar
345+ else false)
346+ then true
347+ else if (at)
348+ then as
312349 else false)
313350 then true
314- else if (an)
315- then as
316- else false
317- let aw = if (if (if (if (if (if (ar)
318- then ap
319- else false)
320- then true
321- else if (ar)
351+ else if (au)
322352 then aq
323353 else false)
324354 then true
325- else if (as)
326- then ao
355+ else if (au)
356+ then as
327357 else false)
328358 then true
329- else if (as)
359+ else if (av)
330360 then aq
331361 else false)
332362 then true
333- else if (at)
334- then ao
335- else false)
336- then true
337- else if (at)
338- then ap
363+ else if (av)
364+ then ar
339365 else false
340- let o = aj
366+ let o = al
341367 if ($isInstanceOf(o, "SetScriptTransaction"))
342368 then {
343- let ax = o
344- sigVerify(aj.bodyBytes, aj.proofs[0], aj.senderPublicKey)
369+ let az = o
370+ sigVerify(al.bodyBytes, al.proofs[0], al.senderPublicKey)
345371 }
346372 else if ($isInstanceOf(o, "DataTransaction"))
347373 then {
348- let ax = o
374+ let az = o
349375 true
350376 }
351377 else if ($isInstanceOf(o, "TransferTransaction"))
352378 then {
353- let ax = o
379+ let az = o
354380 true
355381 }
356382 else if ($isInstanceOf(o, "InvokeScriptTransaction"))
357383 then {
358- let ax = o
384+ let az = o
359385 true
360386 }
361387 else false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'FgdjGJ4tLFiavKEKf4WkWwkgvU8ARWP1WYZfmUrXo4CY'
55
66 let b = base58'EEhsp9Jd5MwVmYJMGAZJL3tTb5KcurTz8Aw7wksZuw3e'
77
88 let c = base58'6SdykacJeMCbeNvVJY71gWMJeXt9ZT44X4KexwZxHEYz'
99
1010 let d = "none"
1111
1212 let e = "balance_"
1313
1414 let f = 3
1515
1616 let g = 2
1717
1818 let h = "voting"
1919
2020 let i = "reveal"
2121
2222 let j = "featured"
2323
2424 let k = "delisted"
2525
2626 func l (m) = {
2727 let n = {
2828 let o = getInteger(this, m)
2929 if ($isInstanceOf(o, "Int"))
3030 then {
3131 let p = o
3232 p
3333 }
3434 else 0
3535 }
3636 n
3737 }
3838
3939
4040 func q (m) = {
4141 let r = {
4242 let o = getString(this, m)
4343 if ($isInstanceOf(o, "String"))
4444 then {
4545 let p = o
4646 p
4747 }
4848 else d
4949 }
5050 r
5151 }
5252
5353
5454 func s (t) = (t + "_price")
5555
5656
5757 func u (t) = l(s(t))
5858
5959
6060 func v (w,t) = (((t + "_") + w) + "_cnt")
6161
6262
6363 func x (w,t) = l(v(w, t))
6464
6565
6666 func y (z,A) = ("item_" + toBase58String(sha256(toBytes((z + A)))))
6767
6868
6969 func B (t) = (t + "_data")
7070
7171
7272 func C (t) = (t + "_owner")
7373
7474
7575 func D (t) = q(C(t))
7676
7777
7878 func E (F) = (F + "_balance")
7979
8080
8181 func G (F) = l(E(F))
8282
8383
8484 func H (t,w) = (((t + "_") + w) + "_commit")
8585
8686
8787 func I (t,w) = q(H(t, w))
8888
8989
9090 func J (t) = (t + "_comcnt")
9191
9292
9393 func K (t) = l(J(t))
9494
9595
9696 func L (t,w) = (((t + "_") + w) + "_reveal")
9797
9898
9999 func M (t,w) = q(L(t, w))
100100
101101
102102 func N (t) = (t + "_status")
103103
104104
105105 func O (t) = q(N(t))
106106
107107
108108 func P (t,Q) = ((t + "_res:") + Q)
109109
110110
111111 func R (t,Q) = l(P(t, Q))
112112
113113
114114 @Callable(S)
115115 func purchase (t) = {
116116 let T = extract(S.payment)
117117 if (isDefined(T.assetId))
118118 then throw("WAVES tokens only at the moment")
119119 else {
120120 let U = toBase58String(S.caller.bytes)
121121 let V = u(t)
122122 let W = D(t)
123123 if ((V > T.amount))
124124 then throw("purchase amount cannot be less than item price")
125125 else if ((T.amount > V))
126126 then throw("purchase amount cannot be higher than item price")
127127 else if ((W == d))
128128 then throw("supplier does not exist")
129129 else WriteSet([DataEntry(v(U, t), (x(U, t) + 1)), DataEntry(E(W), (G(W) + T.amount))])
130130 }
131131 }
132132
133133
134134
135135 @Callable(S)
136136 func withdraw () = {
137137 let X = toBase58String(S.caller.bytes)
138138 let Y = G(X)
139139 if ((0 >= Y))
140140 then throw("insufficient balance")
141141 else ScriptResult(WriteSet([DataEntry(E(X), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(X), Y, unit)]))
142142 }
143143
144144
145145
146146 @Callable(S)
147147 func addItem (A,V,Z) = {
148148 let X = toBase58String(S.caller.bytes)
149149 let t = y(X, A)
150150 if ((0 >= V))
151151 then throw("purchase amount cannot be less than item price")
152152 else if ((D(t) != d))
153153 then throw("an item is already exist")
154154 else WriteSet([DataEntry(C(t), X), DataEntry(s(t), V), DataEntry(B(t), Z)])
155155 }
156156
157157
158158
159159 @Callable(S)
160160 func voteCommit (t,aa) = {
161161 let w = toBase58String(S.caller.bytes)
162162 let ab = K(t)
163163 let ac = O(t)
164164 if ((ab >= f))
165165 then throw("reached max num of voters")
166166 else if ((I(t, w) != d))
167167 then throw("user has already uch")
168168 else if ((C(t) == d))
169169 then throw("item does not exist")
170170 else if (if ((ac != d))
171171 then (ac != h)
172172 else false)
173173 then throw("voting is not possible")
174174 else WriteSet([DataEntry(H(t, w), aa), DataEntry(J(t), (ab + 1)), DataEntry(N(t), if ((ab == f))
175175 then i
176176 else h)])
177177 }
178178
179179
180180
181181 @Callable(S)
182+func voteReveal (t,Q,ad) = {
183+ let w = toBase58String(S.caller.bytes)
184+ let ac = O(t)
185+ let ae = (R(t, Q) + 1)
186+ if ((toUtf8String(sha256(toBytes((Q + ad)))) != I(t, w)))
187+ then throw("reveal data is not valid")
188+ else if ((f > K(t)))
189+ then throw("max num of voters hasn't reached yet")
190+ else if ((M(t, w) != d))
191+ then throw("user has already participated")
192+ else if (if ((ac != h))
193+ then (ac != i)
194+ else false)
195+ then throw("wrong status")
196+ else if (if ((Q != j))
197+ then (Q != k)
198+ else false)
199+ then throw("vote has finished")
200+ else WriteSet([DataEntry(L(t, w), Q), DataEntry(P(t, Q), ae), DataEntry(N(t), if ((ae >= g))
201+ then Q
202+ else i)])
203+ }
204+
205+
206+
207+@Callable(S)
182208 func x_purchase () = {
183209 let T = extract(S.payment)
184210 if (isDefined(T.assetId))
185211 then throw("can use WAVES only at the moment")
186212 else {
187- let ad = toBase58String(S.caller.bytes)
213+ let af = toBase58String(S.caller.bytes)
188214 let V = {
189215 let o = getInteger(this, "item_A_coupon_price")
190216 if ($isInstanceOf(o, "Int"))
191217 then {
192218 let p = o
193219 p
194220 }
195221 else 0
196222 }
197223 if ((V > T.amount))
198224 then throw("purchase amount cannot be less than item price")
199225 else if ((T.amount > V))
200226 then throw("purchase amount cannot be higher than item price")
201- else WriteSet([DataEntry(("status:purchase_item_A_customer_" + ad), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + ad), V)])
227+ else WriteSet([DataEntry(("status:purchase_item_A_customer_" + af), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + af), V)])
202228 }
203229 }
204230
205231
206232
207233 @Callable(S)
208234 func deposit () = {
209235 let T = extract(S.payment)
210236 if (isDefined(T.assetId))
211237 then throw("can hodl waves only at the moment")
212238 else {
213- let ae = toBase58String(S.caller.bytes)
214- let af = {
215- let o = getInteger(this, ae)
239+ let ag = toBase58String(S.caller.bytes)
240+ let ah = {
241+ let o = getInteger(this, ag)
216242 if ($isInstanceOf(o, "Int"))
217243 then {
218244 let p = o
219245 p
220246 }
221247 else 0
222248 }
223- let ag = {
224- let o = getString(this, ("wl_sts_" + ae))
249+ let ai = {
250+ let o = getString(this, ("wl_sts_" + ag))
225251 if ($isInstanceOf(o, "String"))
226252 then {
227253 let p = o
228254 p
229255 }
230256 else throw("User has not deen waitlisted")
231257 }
232- let ah = (af + T.amount)
233- WriteSet([DataEntry((e + ae), ah)])
258+ let aj = (ah + T.amount)
259+ WriteSet([DataEntry((e + ag), aj)])
234260 }
235261 }
236262
237263
238264
239265 @Callable(S)
240-func x_withdraw (ai) = {
241- let ae = toBase58String(S.caller.bytes)
242- let af = {
243- let o = getInteger(this, (e + ae))
266+func x_withdraw (ak) = {
267+ let ag = toBase58String(S.caller.bytes)
268+ let ah = {
269+ let o = getInteger(this, (e + ag))
244270 if ($isInstanceOf(o, "Int"))
245271 then {
246272 let p = o
247273 p
248274 }
249275 else 0
250276 }
251- let ah = (af - ai)
252- if ((0 > ai))
277+ let aj = (ah - ak)
278+ if ((0 > ak))
253279 then throw("Can't withdraw negative amount")
254- else if ((0 > ah))
280+ else if ((0 > aj))
255281 then throw("Not enough balance")
256- else ScriptResult(WriteSet([DataEntry((e + ae), ah)]), TransferSet([ScriptTransfer(S.caller, ai, unit)]))
282+ else ScriptResult(WriteSet([DataEntry((e + ag), aj)]), TransferSet([ScriptTransfer(S.caller, ak, unit)]))
257283 }
258284
259285
260-@Verifier(aj)
261-func ak () = {
262- let al = sigVerify(aj.bodyBytes, aj.proofs[0], a)
263- let am = sigVerify(aj.bodyBytes, aj.proofs[1], a)
264- let an = sigVerify(aj.bodyBytes, aj.proofs[2], a)
265- let ao = sigVerify(aj.bodyBytes, aj.proofs[0], b)
266- let ap = sigVerify(aj.bodyBytes, aj.proofs[1], b)
267- let aq = sigVerify(aj.bodyBytes, aj.proofs[2], b)
268- let ar = sigVerify(aj.bodyBytes, aj.proofs[0], c)
269- let as = sigVerify(aj.bodyBytes, aj.proofs[1], c)
270- let at = sigVerify(aj.bodyBytes, aj.proofs[2], c)
271- let au = if (if (if (if (if (if (al)
272- then ap
286+@Verifier(al)
287+func am () = {
288+ let an = sigVerify(al.bodyBytes, al.proofs[0], a)
289+ let ao = sigVerify(al.bodyBytes, al.proofs[1], a)
290+ let ap = sigVerify(al.bodyBytes, al.proofs[2], a)
291+ let aq = sigVerify(al.bodyBytes, al.proofs[0], b)
292+ let ar = sigVerify(al.bodyBytes, al.proofs[1], b)
293+ let as = sigVerify(al.bodyBytes, al.proofs[2], b)
294+ let at = sigVerify(al.bodyBytes, al.proofs[0], c)
295+ let au = sigVerify(al.bodyBytes, al.proofs[1], c)
296+ let av = sigVerify(al.bodyBytes, al.proofs[2], c)
297+ let aw = if (if (if (if (if (if (an)
298+ then ar
273299 else false)
274300 then true
275- else if (al)
301+ else if (an)
302+ then as
303+ else false)
304+ then true
305+ else if (ao)
276306 then aq
277307 else false)
278308 then true
279- else if (am)
280- then ao
309+ else if (ao)
310+ then as
281311 else false)
282312 then true
283- else if (am)
313+ else if (ap)
284314 then aq
285315 else false)
286316 then true
317+ else if (ap)
318+ then ar
319+ else false
320+ let ax = if (if (if (if (if (if (an)
321+ then au
322+ else false)
323+ then true
287324 else if (an)
288- then ao
325+ then av
289326 else false)
290327 then true
291- else if (an)
292- then ap
293- else false
294- let av = if (if (if (if (if (if (al)
295- then as
296- else false)
297- then true
298- else if (al)
328+ else if (ao)
299329 then at
300330 else false)
301331 then true
302- else if (am)
303- then ar
332+ else if (ao)
333+ then av
304334 else false)
305335 then true
306- else if (am)
336+ else if (ap)
307337 then at
308338 else false)
309339 then true
310- else if (an)
311- then ar
340+ else if (ap)
341+ then au
342+ else false
343+ let ay = if (if (if (if (if (if (at)
344+ then ar
345+ else false)
346+ then true
347+ else if (at)
348+ then as
312349 else false)
313350 then true
314- else if (an)
315- then as
316- else false
317- let aw = if (if (if (if (if (if (ar)
318- then ap
319- else false)
320- then true
321- else if (ar)
351+ else if (au)
322352 then aq
323353 else false)
324354 then true
325- else if (as)
326- then ao
355+ else if (au)
356+ then as
327357 else false)
328358 then true
329- else if (as)
359+ else if (av)
330360 then aq
331361 else false)
332362 then true
333- else if (at)
334- then ao
335- else false)
336- then true
337- else if (at)
338- then ap
363+ else if (av)
364+ then ar
339365 else false
340- let o = aj
366+ let o = al
341367 if ($isInstanceOf(o, "SetScriptTransaction"))
342368 then {
343- let ax = o
344- sigVerify(aj.bodyBytes, aj.proofs[0], aj.senderPublicKey)
369+ let az = o
370+ sigVerify(al.bodyBytes, al.proofs[0], al.senderPublicKey)
345371 }
346372 else if ($isInstanceOf(o, "DataTransaction"))
347373 then {
348- let ax = o
374+ let az = o
349375 true
350376 }
351377 else if ($isInstanceOf(o, "TransferTransaction"))
352378 then {
353- let ax = o
379+ let az = o
354380 true
355381 }
356382 else if ($isInstanceOf(o, "InvokeScriptTransaction"))
357383 then {
358- let ax = o
384+ let az = o
359385 true
360386 }
361387 else false
362388 }
363389

github/deemru/w8io/3ef1775 
89.27 ms