tx · Gr27S8yWbynpYvFteydUys7vMtNRBHe6F3mjNdKSe2PV

3NBNXspdVCrwtfqFKntEyCDZSqpxDWDTE1W:  -0.01000000 Waves

2021.07.07 16:38 [1603247] smart account 3NBNXspdVCrwtfqFKntEyCDZSqpxDWDTE1W > SELF 0.00000000 Waves

{ "type": 13, "id": "Gr27S8yWbynpYvFteydUys7vMtNRBHe6F3mjNdKSe2PV", "fee": 1000000, "feeAssetId": null, "timestamp": 1625665144553, "version": 2, "chainId": 84, "sender": "3NBNXspdVCrwtfqFKntEyCDZSqpxDWDTE1W", "senderPublicKey": "3Dq1hVruD3fXqLqJwiuaCNFV2ARb5J6Sirz1WrttcEJp", "proofs": [ "3RnQ1zMbVZVEzTJj42TNJv6XnzqoZDvzBttdXtG7qR4EuG2kyLJMDzmGHMF7vpsJgpeXdUqeLRHSNKXDeCTEiSi3" ], "script": "base64:AAIFAAAAAAAAA9QIAhIFCgMIAQgSAwoBCBIAEgQKAggIEgUKAwgICBoMCgJhMRIGVk9URVJTGgwKAmEyEgZRVU9SVU0aDAoCYTMSBlZPVElORxoMCgJhNBIGUkVWRUFMGg4KAmE1EghGRUFUVVJFRBoOCgJhNhIIREVMSVNURUQaCgoCYTcSBE5PTkUaFAoCYTgSDmdldE51bWJlckJ5S2V5GgkKAmE5EgNrZXkaCQoCYjESA251bRoNCgJiMhIHJG1hdGNoMBoHCgJiMxIBYRoRCgJiNBILZ2V0U3RyQnlLZXkaCQoCYjUSA3N0choSCgJiNhIMZ2V0S2V5Q29tbWl0GgoKAmI3EgRpdGVtGgoKAmI4EgR1c2VyGhQKAmI5Eg5nZXRWYWx1ZUNvbW1pdBoYCgJjMRISZ2V0S2V5Q29tbWl0c0NvdW50GhoKAmMyEhRnZXRWYWx1ZUNvbW1pdHNDb3VudBoSCgJjMxIMZ2V0S2V5UmV2ZWFsGhQKAmM0Eg5nZXRWYWx1ZVJldmVhbBoWCgJjNRIQZ2V0S2V5SXRlbVN0YXR1cxoYCgJjNhISZ2V0VmFsdWVJdGVtU3RhdHVzGhUKAmM3Eg9nZXRLZXlWb3RlQ291bnQaCgoCYzgSBHZvdGUaFwoCYzkSEWdldFZhbHVlVm90ZUNvdW50GhUKAmQxEg9nZXRLZXlJdGVtUHJpY2UaFwoCZDISEWdldFZhbHVlSXRlbVByaWNlGhsKAmQzEhVnZXRLZXlVc2VySXRlbUNvdW50ZXIaHQoCZDQSF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyGhAKAmQ1EgpnZXRLZXlJdGVtGg4KAmQ2EghzdXBwbGllchoLCgJkNxIFdGl0bGUaFAoCZDgSDmdldEtleUl0ZW1EYXRhGhgKAmQ5EhJnZXRLZXlJdGVtU3VwcGxpZXIaGgoCZTESFGdldFZhbHVlSXRlbVN1cHBsaWVyGhsKAmUyEhVnZXRLZXlCYWxhbmNlU3VwcGxpZXIaDQoCZTMSB2FjY291bnQaHQoCZTQSF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyGgcKAmU1EgFpGgsKAmU2EgVwcmljZRoKCgJlNxIEZGF0YRoVCgJlOBIPc3VwcGxpZXJBZGRyZXNzGgkKAmU5EgNwbXQaEQoCZjESC3VzZXJBZGRy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", "height": 1603247, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4y9MxzhhxxJrrjaqBpTpxGgJWmzb9KpVZKqNpBJ1J9c5 Next: none Diff:
OldNewDifferences
173173 let q = toBase58String(O.caller.bytes)
174174 let X = x(p)
175175 let Z = (A(p, z) + 1)
176- if ((a > t(p)))
177- then throw("max num of voters hasnt reached yet")
178- else if ((v(p, q) != g))
179- then throw("user has already participated")
180- else if (if ((X != c))
181- then (X != d)
182- else false)
183- then throw("wrong status")
184- else if (if ((z != e))
185- then (z != f)
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)
186184 else false)
187- then throw("wrong vote")
188- else if (if ((X == e))
189- then true
190- else (X == f))
191- then throw("vote has finished")
192- else [StringEntry(u(p, q), z), IntegerEntry(y(p, z), Z), StringEntry(w(p), if ((Z >= b))
193- then z
194- else d)]
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)]
195197 }
196198
197199
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 3
55
66 let b = 2
77
88 let c = "voting"
99
1010 let d = "reveal"
1111
1212 let e = "featured"
1313
1414 let f = "delisted"
1515
1616 let g = "none"
1717
1818 func h (i) = {
1919 let j = {
2020 let k = getInteger(this, i)
2121 if ($isInstanceOf(k, "Int"))
2222 then {
2323 let l = k
2424 l
2525 }
2626 else 0
2727 }
2828 j
2929 }
3030
3131
3232 func m (i) = {
3333 let n = {
3434 let k = getString(this, i)
3535 if ($isInstanceOf(k, "String"))
3636 then {
3737 let l = k
3838 l
3939 }
4040 else g
4141 }
4242 n
4343 }
4444
4545
4646 func o (p,q) = (((p + "_") + q) + "_commit")
4747
4848
4949 func r (p,q) = m(o(p, q))
5050
5151
5252 func s (p) = (p + "_comcnt")
5353
5454
5555 func t (p) = h(s(p))
5656
5757
5858 func u (p,q) = (((p + "_") + q) + "_reveal")
5959
6060
6161 func v (p,q) = m(u(p, q))
6262
6363
6464 func w (p) = (p + "_status")
6565
6666
6767 func x (p) = m(w(p))
6868
6969
7070 func y (p,z) = ((p + "_res") + z)
7171
7272
7373 func A (p,z) = h(y(p, z))
7474
7575
7676 func B (p) = (p + "_price")
7777
7878
7979 func C (p) = h(B(p))
8080
8181
8282 func D (q,p) = (((p + "_") + q) + "_cnt")
8383
8484
8585 func E (q,p) = h(D(q, p))
8686
8787
8888 func F (G,H) = ("item_" + toBase58String(sha256(toBytes((G + H)))))
8989
9090
9191 func I (p) = (p + "_data")
9292
9393
9494 func J (p) = (p + "_owner")
9595
9696
9797 func K (p) = m(J(p))
9898
9999
100100 func L (M) = (M + "_balance")
101101
102102
103103 func N (M) = h(L(M))
104104
105105
106106 @Callable(O)
107107 func addItem (H,P,Q) = {
108108 let R = toBase58String(O.caller.bytes)
109109 let p = F(R, H)
110110 if ((0 >= P))
111111 then throw("Purchase amount cannot be less than item price")
112112 else if ((K(p) != g))
113113 then throw("an item already exists")
114114 else [StringEntry(J(p), R), IntegerEntry(B(p), P), StringEntry(I(p), Q)]
115115 }
116116
117117
118118
119119 @Callable(O)
120120 func purchase (p) = {
121121 let S = O.payments[0]
122122 if (isDefined(S.assetId))
123123 then throw("WAVES tokens only at moment")
124124 else {
125125 let T = toBase58String(O.caller.bytes)
126126 let P = C(p)
127127 let R = K(p)
128128 if ((P > S.amount))
129129 then throw("Purchase amount cannot be less than item price")
130130 else if ((R == g))
131131 then throw("Supplier does not exist")
132132 else [IntegerEntry(D(T, p), (E(T, p) + 1)), IntegerEntry(L(R), (N(R) + S.amount))]
133133 }
134134 }
135135
136136
137137
138138 @Callable(O)
139139 func withdraw () = {
140140 let R = toBase58String(O.caller.bytes)
141141 let U = N(R)
142142 if ((0 >= U))
143143 then throw("insuficient balance")
144144 else [IntegerEntry(L(R), 0), ScriptTransfer(addressFromStringValue(R), U, unit)]
145145 }
146146
147147
148148
149149 @Callable(O)
150150 func voteCommit (p,V) = {
151151 let q = toBase58String(O.caller.bytes)
152152 let W = t(p)
153153 let X = x(p)
154154 if ((W >= a))
155155 then throw("reached max num of voters")
156156 else if ((r(p, q) != g))
157157 then throw("user has already participated")
158158 else if ((J(p) == g))
159159 then throw("item does not exist")
160160 else if (if ((X != g))
161161 then (X != c)
162162 else false)
163163 then throw("voting is not possible")
164164 else [StringEntry(o(p, q), V), IntegerEntry(s(p), (W + 1)), StringEntry(w(p), if ((W == a))
165165 then d
166166 else c)]
167167 }
168168
169169
170170
171171 @Callable(O)
172172 func voteReveal (p,z,Y) = {
173173 let q = toBase58String(O.caller.bytes)
174174 let X = x(p)
175175 let Z = (A(p, z) + 1)
176- if ((a > t(p)))
177- then throw("max num of voters hasnt reached yet")
178- else if ((v(p, q) != g))
179- then throw("user has already participated")
180- else if (if ((X != c))
181- then (X != d)
182- else false)
183- then throw("wrong status")
184- else if (if ((z != e))
185- then (z != f)
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)
186184 else false)
187- then throw("wrong vote")
188- else if (if ((X == e))
189- then true
190- else (X == f))
191- then throw("vote has finished")
192- else [StringEntry(u(p, q), z), IntegerEntry(y(p, z), Z), StringEntry(w(p), if ((Z >= b))
193- then z
194- else d)]
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)]
195197 }
196198
197199

github/deemru/w8io/873ac7e 
39.45 ms