tx · JCKsBDCyJt26BcjcicX2qTzRSaMoTLEDc2oDj4vn9iyN

3N8X6wT7GZLavL2ayUQzwRD2kRFRSDyhkKS:  -0.01400000 Waves

2021.07.09 11:12 [1605821] smart account 3N8X6wT7GZLavL2ayUQzwRD2kRFRSDyhkKS > SELF 0.00000000 Waves

{ "type": 13, "id": "JCKsBDCyJt26BcjcicX2qTzRSaMoTLEDc2oDj4vn9iyN", "fee": 1400000, "feeAssetId": null, "timestamp": 1625818431428, "version": 2, "chainId": 84, "sender": "3N8X6wT7GZLavL2ayUQzwRD2kRFRSDyhkKS", "senderPublicKey": "7DT6yPGiY3eZiSytDKBx5ToZcjhem3SyxdX6Zz9fsMED", "proofs": [ "3rb4tScPDimiizjf2Wc9xHZFCpaxVqiyi3QtwqzAytyB6DEaXFjAqJ3eEhtRtJTkr1AWeRDC3qPoiWPkyWxHiUrV" ], "script": "base64:AAIFAAAAAAAABGAIAhIFCgMIAQgSAwoBCBIAEgQKAggIEgUKAwgICBoKCgJhMRIETk9ORRoUCgJhMhIOZ2V0TnVtYmVyQnlLZXkaCQoCYTMSA2tleRoJCgJhNBIDbnVtGg0KAmE1EgckbWF0Y2gwGgcKAmE2EgFhGhEKAmE3EgtnZXRTdHJCeUtleRoJCgJhOBIDc3RyGhUKAmE5Eg9nZXRLZXlJdGVtUHJpY2UaCgoCYjESBGl0ZW0aFwoCYjISEWdldFZhbHVlSXRlbVByaWNlGhsKAmIzEhVnZXRLZXlVc2VySXRlbUNvdW50ZXIaCgoCYjQSBHVzZXIaHQoCYjUSF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyGhAKAmI2EgpnZXRLZXlJdGVtGg4KAmI3EghzdXBwbGllchoLCgJiOBIFdGl0bGUaFAoCYjkSDmdldEtleUl0ZW1EYXRhGhgKAmMxEhJnZXRLZXlJdGVtU3VwcGxpZXIaGgoCYzISFGdldFZhbHVlSXRlbVN1cHBsaWVyGhsKAmMzEhVnZXRLZXlCYWxhbmNlU3VwcGxpZXIaDQoCYzQSB2FjY291bnQaHQoCYzUSF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyGgwKAmM2EgZWT1RFUlMaDAoCYzcSBlFVT1JVTRoMCgJjOBIGVk9USU5HGgwKAmM5EgZSRVZFQUwaDgoCZDESCEZFQVRVUkVEGg4KAmQyEghERUxJU1RFRBoSCgJkMxIMZ2V0S2V5Q29tbWl0GhQKAmQ0Eg5nZXRWYWx1ZUNvbW1pdBoYCgJkNRISZ2V0S2V5Q29tbWl0c0NvdW50GhoKAmQ2EhRnZXRWYWx1ZUNvbW1pdHNDb3VudBoSCgJkNxIMZ2V0S2V5UmV2ZWFsGhQKAmQ4Eg5nZXRWYWx1ZVJldmVhbBoWCgJkORIQZ2V0S2V5SXRlbVN0YXR1cxoYCgJlMRISZ2V0VmFsdWVJdGVtU3RhdHVzGhUKAmUyEg9nZXRLZXlWb3RlQ291bnQaCgoCZTMSBHZvdGUaFwoCZTQSEWdldFZhbHVlVm90ZUNvdW50GhkKAmU1EhNnZXRFeHRBZGRyZXNzT3JhY2xlGiIKAmU2EhxnZXRFeHRLZXlJdGVtV2hpdGVMaXN0U3RhdHVzGiQKAmU3Eh5nZXRFeHRWYWx1ZUl0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", "height": 1605821, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7wWEyPdq5QN9tdmQRiMzHHxW1Zty6k7KShn6ZhzJkDh5 Next: 8Q6qQTJxNYGn4KqABFLK8pBB3RyJUVckeA74sKvQzFWa Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let a = "none"
45
5-
6-@Callable(a)
7-func call () = {
8- let b = toBase58String(a.callerPublicKey)
9- let c = "4w8EvTLoYiurcojDDGCsL3VafgA9cxuEatiNnRrBwrwk"
10- if ((b == c))
11- then [Burn(base58'2dFd9ZLYU2ZXQk1FACPmkxeAkHrm5X4mZthxSo8peYHd', 1)]
12- else throw("XD")
6+func b (c) = {
7+ let d = {
8+ let e = getInteger(this, c)
9+ if ($isInstanceOf(e, "Int"))
10+ then {
11+ let f = e
12+ f
13+ }
14+ else 0
15+ }
16+ d
1317 }
1418
1519
16-@Verifier(d)
17-func e () = sigVerify(d.bodyBytes, d.proofs[0], d.senderPublicKey)
20+func g (c) = {
21+ let h = {
22+ let e = getString(this, c)
23+ if ($isInstanceOf(e, "String"))
24+ then {
25+ let f = e
26+ f
27+ }
28+ else a
29+ }
30+ h
31+ }
32+
33+
34+func i (j) = (j + "_price")
35+
36+
37+func k (j) = b(i(j))
38+
39+
40+func l (m,j) = (((j + "_") + m) + "_cnt")
41+
42+
43+func n (m,j) = b(l(m, j))
44+
45+
46+func o (p,q) = ("item_" + toBase58String(sha256(toBytes((p + q)))))
47+
48+
49+func r (j) = (j + "_data")
50+
51+
52+func s (j) = (j + "_owner")
53+
54+
55+func t (j) = g(s(j))
56+
57+
58+func u (v) = (v + "_balance")
59+
60+
61+func w (v) = b(u(v))
62+
63+
64+let x = 3
65+
66+let y = 2
67+
68+let z = "voting"
69+
70+let A = "reveal"
71+
72+let B = "featured"
73+
74+let C = "delisted"
75+
76+func D (j,m) = (((j + "_") + m) + "_commit")
77+
78+
79+func E (j,m) = g(D(j, m))
80+
81+
82+func F (j) = (j + "_comcnt")
83+
84+
85+func G (j) = b(F(j))
86+
87+
88+func H (j,m) = (((j + "_") + m) + "_reveal")
89+
90+
91+func I (j,m) = g(H(j, m))
92+
93+
94+func J (j) = (j + "_status")
95+
96+
97+func K (j) = g(J(j))
98+
99+
100+func L (j,M) = ((j + "_res:") + M)
101+
102+
103+func N (j,M) = b(L(j, M))
104+
105+
106+func O () = value(addressFromString("3MsbiyFyy8B3aN3kF8ntda474SPn4YMVkiq"))
107+
108+
109+func P (v) = (v + "_verifier_status")
110+
111+
112+func Q (R,v) = {
113+ let h = {
114+ let e = getString(R, P(v))
115+ if ($isInstanceOf(e, "String"))
116+ then {
117+ let f = e
118+ f
119+ }
120+ else a
121+ }
122+ h
123+ }
124+
125+
126+@Callable(S)
127+func addItem (q,T,U) = {
128+ let V = toBase58String(S.caller.bytes)
129+ let j = o(V, q)
130+ let W = Q(O(), V)
131+ if ((0 >= T))
132+ then throw("Purchase amount cannot be less than item price")
133+ else if ((t(j) != a))
134+ then throw("an item already exists")
135+ else [StringEntry(s(j), V), IntegerEntry(i(j), T), StringEntry(r(j), U)]
136+ }
137+
138+
139+
140+@Callable(S)
141+func purchase (j) = {
142+ let X = S.payments[0]
143+ if (isDefined(X.assetId))
144+ then throw("WAVES ONLY HHEUAWHEUAS")
145+ else {
146+ let Y = toBase58String(S.caller.bytes)
147+ let T = k(j)
148+ let V = t(j)
149+ if ((T > X.amount))
150+ then throw("Purchase amount cannot be less than item price")
151+ else if ((V == a))
152+ then throw("Supplier does not exist")
153+ else [IntegerEntry(l(Y, j), (n(Y, j) + 1)), IntegerEntry(u(V), (w(V) + X.amount))]
154+ }
155+ }
156+
157+
158+
159+@Callable(S)
160+func withdraw () = {
161+ let V = toBase58String(S.caller.bytes)
162+ let Z = w(V)
163+ if ((0 >= Z))
164+ then throw("insuficient balance")
165+ else [IntegerEntry(u(V), 0), ScriptTransfer(addressFromStringValue(V), Z, unit)]
166+ }
167+
168+
169+
170+@Callable(S)
171+func voteCommit (j,aa) = {
172+ let m = toBase58String(S.caller.bytes)
173+ let ab = G(j)
174+ let ac = K(j)
175+ if ((ab >= x))
176+ then throw("Reached max num of voters")
177+ else if ((E(j, m) != a))
178+ then throw("b1")
179+ else if ((s(j) == a))
180+ then throw("b2")
181+ else if (if ((ac != a))
182+ then (ac != z)
183+ else false)
184+ then throw("b3")
185+ else [StringEntry(D(j, m), aa), IntegerEntry(F(j), (ab + 1)), StringEntry(J(j), if ((ab == x))
186+ then A
187+ else z)]
188+ }
189+
190+
191+
192+@Callable(S)
193+func voteReveal (j,M,ad) = {
194+ let m = toBase58String(S.caller.bytes)
195+ let ac = K(j)
196+ let ae = (N(j, M) + 1)
197+ if ((toBase58String(sha256(toBytes((M + ad)))) != E(j, m)))
198+ then throw("Reveal data is not valid")
199+ else if ((x > G(j)))
200+ then throw("max num of voters hasnt reached yet")
201+ else if ((I(j, m) != a))
202+ then throw("user has already participated")
203+ else if (if ((ac != z))
204+ then (ac != A)
205+ else false)
206+ then throw("wrong status")
207+ else if (if ((M != B))
208+ then (M != C)
209+ else false)
210+ then throw("wrong vote")
211+ else if (if ((ac == B))
212+ then true
213+ else (ac == C))
214+ then throw("vote has finished")
215+ else [StringEntry(H(j, m), M), IntegerEntry(L(j, M), ae), StringEntry(J(j), if ((ae >= y))
216+ then M
217+ else A)]
218+ }
219+
18220

github/deemru/w8io/873ac7e 
86.89 ms