tx · 6N8Je9stNvh5QMAWrtxEdmPHFDBC87GNQvtuzeq5ocTA

3N1NcGcztR7MMNbTmtNv96A9Q75b3foNWtk:  -0.01400000 Waves

2019.07.08 16:43 [576709] smart account 3N1NcGcztR7MMNbTmtNv96A9Q75b3foNWtk > SELF 0.00000000 Waves

{ "type": 13, "id": "6N8Je9stNvh5QMAWrtxEdmPHFDBC87GNQvtuzeq5ocTA", "fee": 1400000, "feeAssetId": null, "timestamp": 1562593496290, "version": 1, "sender": "3N1NcGcztR7MMNbTmtNv96A9Q75b3foNWtk", "senderPublicKey": "G2s7RQed7v8vaaSdJUzzvKbooceGFVF9y5SPF2pww4Vu", "proofs": [ "45eVdQogR5deMsKdmrAT86oJmETLxkr5DUiLvyiowVXwMCeNU5NTjfjaeytfMhpGq8LMVJ6LNB3BudPC8thcJUab" ], "script": "base64:AAIDAAAAAAAAAAAAAAAhAAAAAAZWT1RFUlMAAAAAAAAAAAMAAAAABlFVT1JVTQAAAAAAAAAAAgAAAAAGVk9USU5HAgAAAAZ2b3RpbmcAAAAABlJFVkVBTAIAAAAGcmV2ZWFsAAAAAAhGRUFUVVJFRAIAAAAIZmVhdHVyZWQAAAAACERFTElTVEVEAgAAAAhkZWxpc3RlZAAAAAAETk9ORQIAAAAEbm9uZQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAADbnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAANudW0BAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAGX3ByaWNlAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0BAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAARfY250AQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAAEdXNlcgUAAAAEaXRlbQEAAAAKZ2V0S2V5SXRlbQAAAAIAAAAIc3VwcGxpZXIAAAAFdGl0bGUJAAEsAAAAAgIAAAAFaXRlbV8JAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAIc3VwcGxpZXIFAAAABXRpdGxlAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAVfZGF0YQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9vd25lcgEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABAAAAB2FjY291bnQJAAEsAAAAAgUAAAAHYWNjb3VudAIAAAAIX2JhbGFuY2UBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQAAAAdhY2NvdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAHYWNjb3VudAEAAAAMZ2V0S2V5Q29tbWl0AAAAAgAAAARpdGVtAAAABHVzZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABGl0ZW0CAAAAAV8FAAAABHVzZXICAAAAB19jb21taXQBAAAADmdldFZhbHVlQ29tbWl0AAAAAgAAAARpdGVtAAAABHVzZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAAxnZXRLZXlDb21taXQAAAACBQAAAARpdGVtBQAAAAR1c2VyAQAAABJnZXRLZXlDb21taXRzQ291bnQAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAHX2NvbWNudAEAAAAUZ2V0VmFsdWVDb21taXRzQ291bnQAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRLZXlDb21taXRzQ291bnQAAAABBQAAAARpdGVtAQAAAAxnZXRLZXlSZXZlYWwAAAACAAAABGl0ZW0AAAAEdXNlcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAABXwUAAAAEdXNlcgIAAAAHX3JldmVhbAEAAAAOZ2V0VmFsdWVSZXZlYWwAAAACAAAABGl0ZW0AAAAEdXNlcgkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAADGdldEtleVJldmVhbAAAAAIFAAAABGl0ZW0FAAAABHVzZXIBAAAAEGdldEtleUl0ZW1TdGF0dXMAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAHX3N0YXR1cwEAAAASZ2V0VmFsdWVJdGVtU3RhdHVzAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0BAAAAD2dldEtleVZvdGVDb3VudAAAAAIAAAAEaXRlbQAAAAR2b3RlCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAAFX3JlczoFAAAABHZvdGUBAAAAEWdldFZhbHVlVm90ZUNvdW50AAAAAgAAAARpdGVtAAAABHZvdGUJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA9nZXRLZXlWb3RlQ291bnQAAAACBQAAAARpdGVtBQAAAAR2b3RlAAAAAAtCTEFDS0xJU1RFRAIAAAAJYmxhY2tsaXN0AQAAABNnZXRFeHRBZGRyZXNzT3JhY2xlAAAAAAkBAAAAB2V4dHJhY3QAAAABCQEAAAARYWRkcmVzc0Zyb21TdHJpbmcAAAABAgAAACMzTjlmNFlmUUE5UVBYMVJpVnZiaEhZYUNoS3c3QjZnaVhyWgEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEAAAAHYWNjb3VudAkAASwAAAACBQAAAAdhY2NvdW50AgAAABBfdmVyaWZpZXJfc3RhdHVzAQAAAB5nZXRFeHRWYWx1ZUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAACAAAABm9yYWNsZQAAAAdhY2NvdW50BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAGb3JhY2xlCQEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEFAAAAB2FjY291bnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAAAABQAAAAFpAQAAAAdhZGRJdGVtAAAAAwAAAAV0aXRsZQAAAAVwcmljZQAAAARkYXRhBAAAAA9zdXBwbGllckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAEaXRlbQkBAAAACmdldEtleUl0ZW0AAAACBQAAAA9zdXBwbGllckFkZHJlc3MFAAAABXRpdGxlBAAAABFzdXBwbGllcndoaXRlbGlzdAkBAAAAHmdldEV4dFZhbHVlSXRlbVdoaXRlTGlzdFN0YXR1cwAAAAIJAQAAABNnZXRFeHRBZGRyZXNzT3JhY2xlAAAAAAUAAAAPc3VwcGxpZXJBZGRyZXNzAwkAAGcAAAACAAAAAAAAAAAABQAAAAVwcmljZQkAAAIAAAABAgAAAC9wdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGhpZ2hlciB0aGFuIGl0ZW0gcGljZQMJAQAAAAIhPQAAAAIJAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAABE5PTkUJAAACAAAAAQIAAAAYYW4gaXRlbSBpcyBhbHJlYWR5IGV4aXN0AwkAAAAAAAACBQAAABFzdXBwbGllcndoaXRlbGlzdAUAAAALQkxBQ0tMSVNURUQJAAACAAAAAQIAAAAmc3VwcGxpZXIncyBhY2NvdW50IGFzIGJlZW4gYmxhY2tsaXN0ZWQJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAA9zdXBwbGllckFkZHJlc3MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtBQAAAAVwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADmdldEtleUl0ZW1EYXRhAAAAAQUAAAAEaXRlbQUAAAAEZGF0YQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHGdldEV4dEtleUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAABBQAAAA9zdXBwbGllckFkZHJlc3MFAAAAEXN1cHBsaWVyd2hpdGVsaXN0BQAAAANuaWwAAAABaQEAAAAIcHVyY2hhc2UAAAABAAAABGl0ZW0EAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAAB9XYXZlcyB0b2tlbnMgb25seSBhdCB0aGUgbW9tZW50BAAAAAt1c2VyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAVwcmljZQkBAAAAEWdldFZhbHVlSXRlbVByaWNlAAAAAQUAAAAEaXRlbQQAAAAPc3VwcGxpZXJBZGRyZXNzCQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtAwkAAGYAAAACBQAAAAVwcmljZQgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAAucHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBsZXNzIHRoYW4gaXRlbSBwcmljZQMJAABmAAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAABXByaWNlCQAAAgAAAAECAAAAMHB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgaGlnaGVyIHRoYW4gaXRlbSBwcmljZQMJAAAAAAAAAgUAAAAPc3VwcGxpZXJBZGRyZXNzBQAAAAROT05FCQAAAgAAAAECAAAAF3N1cHBsaWVyIGRvZXMgbm90IGV4aXN0CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABGl0ZW0JAABkAAAAAgkBAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABGl0ZW0AAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MJAABkAAAAAgkBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQUA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", "chainId": 84, "height": 576709, "spentComplexity": 0 } View: original | compacted Prev: 8gsk83P8XCnpqsU52DxvEoZYqqjZmYkCjnpUks9PXbv9 Next: 5YQv2bZ7kt75bcNhsFzonMMpua6tV5Rka2kCf1wBLBH5 Diff:
OldNewDifferences
129129 func addItem (w,U,V) = {
130130 let W = toBase58String(T.caller.bytes)
131131 let p = u(W, w)
132+ let X = R(P(), W)
132133 if ((0 >= U))
133134 then throw("purchase amount cannot be higher than item pice")
134135 else if ((z(p) != g))
135136 then throw("an item is already exist")
136- else WriteSet([DataEntry(y(p), W), DataEntry(o(p), U), DataEntry(x(p), V)])
137+ else if ((X == O))
138+ then throw("supplier's account as been blacklisted")
139+ else WriteSet([DataEntry(y(p), W), DataEntry(o(p), U), DataEntry(x(p), V), DataEntry(Q(W), X)])
137140 }
138141
139142
140143
141144 @Callable(T)
142145 func purchase (p) = {
143- let X = extract(T.payment)
144- if (isDefined(X.assetId))
146+ let Y = extract(T.payment)
147+ if (isDefined(Y.assetId))
145148 then throw("Waves tokens only at the moment")
146149 else {
147- let Y = toBase58String(T.caller.bytes)
150+ let Z = toBase58String(T.caller.bytes)
148151 let U = q(p)
149152 let W = z(p)
150- if ((U > X.amount))
153+ if ((U > Y.amount))
151154 then throw("purchase amount cannot be less than item price")
152- else if ((X.amount > U))
155+ else if ((Y.amount > U))
153156 then throw("purchase amount cannot be higher than item price")
154157 else if ((W == g))
155158 then throw("supplier does not exist")
156- else WriteSet([DataEntry(r(Y, p), (t(Y, p) + 1)), DataEntry(A(W), (C(W) + X.amount))])
159+ else WriteSet([DataEntry(r(Z, p), (t(Z, p) + 1)), DataEntry(A(W), (C(W) + Y.amount))])
157160 }
158161 }
159162
162165 @Callable(T)
163166 func withdraw () = {
164167 let W = toBase58String(T.caller.bytes)
165- let Z = C(W)
166- if ((0 >= Z))
168+ let aa = C(W)
169+ if ((0 >= aa))
167170 then throw("insufficient balance")
168- else ScriptResult(WriteSet([DataEntry(A(W), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(W), Z, unit)]))
171+ else ScriptResult(WriteSet([DataEntry(A(W), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(W), aa, unit)]))
169172 }
170173
171174
172175
173176 @Callable(T)
174-func voteCommit (p,aa) = {
177+func voteCommit (p,ab) = {
175178 let s = toBase58String(T.caller.bytes)
176- let ab = G(p)
177- let ac = K(p)
178- if ((ab >= a))
179+ let ac = G(p)
180+ let ad = K(p)
181+ if ((ac >= a))
179182 then throw("reached max num of voters")
180183 else if ((E(p, s) != g))
181184 then throw("user has already participated")
182185 else if ((y(p) == g))
183186 then throw("item does not exist")
184- else if (if ((ac != g))
185- then (ac != c)
187+ else if (if ((ad != g))
188+ then (ad != c)
186189 else false)
187190 then throw("voting is not possible")
188- else WriteSet([DataEntry(D(p, s), aa), DataEntry(F(p), (ab + 1)), DataEntry(J(p), if ((ab == a))
191+ else WriteSet([DataEntry(D(p, s), ab), DataEntry(F(p), (ac + 1)), DataEntry(J(p), if ((ac == a))
189192 then d
190193 else c)])
191194 }
193196
194197
195198 @Callable(T)
196-func voteReveal (p,M,ad) = {
199+func voteReveal (p,M,ae) = {
197200 let s = toBase58String(T.caller.bytes)
198- let ac = K(p)
199- let ae = (N(p, M) + 1)
200- if ((toBase58String(sha256(toBytes((M + ad)))) != E(p, s)))
201+ let ad = K(p)
202+ let af = (N(p, M) + 1)
203+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(p, s)))
201204 then throw("reveal data is not valid")
202205 else if ((a > G(p)))
203206 then throw("max num of voters hasn't reached yet")
204207 else if ((I(p, s) != g))
205208 then throw("user has already participated")
206- else if (if ((ac != c))
207- then (ac != d)
209+ else if (if ((ad != c))
210+ then (ad != d)
208211 else false)
209212 then throw("wrong status")
210213 else if (if ((M != e))
211214 then true
212- else (ac == f))
215+ else (ad == f))
213216 then throw("worng vote")
214- else if (if ((ac == e))
217+ else if (if ((ad == e))
215218 then true
216- else (ac == f))
219+ else (ad == f))
217220 then throw("vote has finished")
218- else WriteSet([DataEntry(H(p, s), M), DataEntry(L(p, M), ae), DataEntry(J(p), if ((ae >= b))
221+ else WriteSet([DataEntry(H(p, s), M), DataEntry(L(p, M), af), DataEntry(J(p), if ((af >= b))
219222 then M
220223 else d)])
221224 }
222225
223226
224-@Verifier(af)
225-func ag () = {
226- let k = af
227+@Verifier(ag)
228+func ah () = {
229+ let k = ag
227230 if ($isInstanceOf(k, "SetScriptTransaction"))
228231 then {
229- let ah = k
232+ let ai = k
230233 true
231234 }
232235 else if ($isInstanceOf(k, "DataTransaction"))
233236 then {
234- let ah = k
237+ let ai = k
235238 true
236239 }
237240 else if ($isInstanceOf(k, "TransferTransaction"))
238241 then {
239- let ah = k
242+ let ai = k
240243 true
241244 }
242245 else true
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
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) = (p + "_price")
4747
4848
4949 func q (p) = h(o(p))
5050
5151
5252 func r (s,p) = (((p + "_") + s) + "_cnt")
5353
5454
5555 func t (s,p) = h(r(s, p))
5656
5757
5858 func u (v,w) = ("item_" + toBase58String(sha256(toBytes((v + w)))))
5959
6060
6161 func x (p) = (p + "_data")
6262
6363
6464 func y (p) = (p + "_owner")
6565
6666
6767 func z (p) = m(y(p))
6868
6969
7070 func A (B) = (B + "_balance")
7171
7272
7373 func C (B) = h(A(B))
7474
7575
7676 func D (p,s) = (((p + "_") + s) + "_commit")
7777
7878
7979 func E (p,s) = m(D(p, s))
8080
8181
8282 func F (p) = (p + "_comcnt")
8383
8484
8585 func G (p) = h(F(p))
8686
8787
8888 func H (p,s) = (((p + "_") + s) + "_reveal")
8989
9090
9191 func I (p,s) = m(H(p, s))
9292
9393
9494 func J (p) = (p + "_status")
9595
9696
9797 func K (p) = m(J(p))
9898
9999
100100 func L (p,M) = ((p + "_res:") + M)
101101
102102
103103 func N (p,M) = h(L(p, M))
104104
105105
106106 let O = "blacklist"
107107
108108 func P () = extract(addressFromString("3N9f4YfQA9QPX1RiVvbhHYaChKw7B6giXrZ"))
109109
110110
111111 func Q (B) = (B + "_verifier_status")
112112
113113
114114 func R (S,B) = {
115115 let n = {
116116 let k = getString(S, Q(B))
117117 if ($isInstanceOf(k, "String"))
118118 then {
119119 let l = k
120120 l
121121 }
122122 else g
123123 }
124124 n
125125 }
126126
127127
128128 @Callable(T)
129129 func addItem (w,U,V) = {
130130 let W = toBase58String(T.caller.bytes)
131131 let p = u(W, w)
132+ let X = R(P(), W)
132133 if ((0 >= U))
133134 then throw("purchase amount cannot be higher than item pice")
134135 else if ((z(p) != g))
135136 then throw("an item is already exist")
136- else WriteSet([DataEntry(y(p), W), DataEntry(o(p), U), DataEntry(x(p), V)])
137+ else if ((X == O))
138+ then throw("supplier's account as been blacklisted")
139+ else WriteSet([DataEntry(y(p), W), DataEntry(o(p), U), DataEntry(x(p), V), DataEntry(Q(W), X)])
137140 }
138141
139142
140143
141144 @Callable(T)
142145 func purchase (p) = {
143- let X = extract(T.payment)
144- if (isDefined(X.assetId))
146+ let Y = extract(T.payment)
147+ if (isDefined(Y.assetId))
145148 then throw("Waves tokens only at the moment")
146149 else {
147- let Y = toBase58String(T.caller.bytes)
150+ let Z = toBase58String(T.caller.bytes)
148151 let U = q(p)
149152 let W = z(p)
150- if ((U > X.amount))
153+ if ((U > Y.amount))
151154 then throw("purchase amount cannot be less than item price")
152- else if ((X.amount > U))
155+ else if ((Y.amount > U))
153156 then throw("purchase amount cannot be higher than item price")
154157 else if ((W == g))
155158 then throw("supplier does not exist")
156- else WriteSet([DataEntry(r(Y, p), (t(Y, p) + 1)), DataEntry(A(W), (C(W) + X.amount))])
159+ else WriteSet([DataEntry(r(Z, p), (t(Z, p) + 1)), DataEntry(A(W), (C(W) + Y.amount))])
157160 }
158161 }
159162
160163
161164
162165 @Callable(T)
163166 func withdraw () = {
164167 let W = toBase58String(T.caller.bytes)
165- let Z = C(W)
166- if ((0 >= Z))
168+ let aa = C(W)
169+ if ((0 >= aa))
167170 then throw("insufficient balance")
168- else ScriptResult(WriteSet([DataEntry(A(W), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(W), Z, unit)]))
171+ else ScriptResult(WriteSet([DataEntry(A(W), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(W), aa, unit)]))
169172 }
170173
171174
172175
173176 @Callable(T)
174-func voteCommit (p,aa) = {
177+func voteCommit (p,ab) = {
175178 let s = toBase58String(T.caller.bytes)
176- let ab = G(p)
177- let ac = K(p)
178- if ((ab >= a))
179+ let ac = G(p)
180+ let ad = K(p)
181+ if ((ac >= a))
179182 then throw("reached max num of voters")
180183 else if ((E(p, s) != g))
181184 then throw("user has already participated")
182185 else if ((y(p) == g))
183186 then throw("item does not exist")
184- else if (if ((ac != g))
185- then (ac != c)
187+ else if (if ((ad != g))
188+ then (ad != c)
186189 else false)
187190 then throw("voting is not possible")
188- else WriteSet([DataEntry(D(p, s), aa), DataEntry(F(p), (ab + 1)), DataEntry(J(p), if ((ab == a))
191+ else WriteSet([DataEntry(D(p, s), ab), DataEntry(F(p), (ac + 1)), DataEntry(J(p), if ((ac == a))
189192 then d
190193 else c)])
191194 }
192195
193196
194197
195198 @Callable(T)
196-func voteReveal (p,M,ad) = {
199+func voteReveal (p,M,ae) = {
197200 let s = toBase58String(T.caller.bytes)
198- let ac = K(p)
199- let ae = (N(p, M) + 1)
200- if ((toBase58String(sha256(toBytes((M + ad)))) != E(p, s)))
201+ let ad = K(p)
202+ let af = (N(p, M) + 1)
203+ if ((toBase58String(sha256(toBytes((M + ae)))) != E(p, s)))
201204 then throw("reveal data is not valid")
202205 else if ((a > G(p)))
203206 then throw("max num of voters hasn't reached yet")
204207 else if ((I(p, s) != g))
205208 then throw("user has already participated")
206- else if (if ((ac != c))
207- then (ac != d)
209+ else if (if ((ad != c))
210+ then (ad != d)
208211 else false)
209212 then throw("wrong status")
210213 else if (if ((M != e))
211214 then true
212- else (ac == f))
215+ else (ad == f))
213216 then throw("worng vote")
214- else if (if ((ac == e))
217+ else if (if ((ad == e))
215218 then true
216- else (ac == f))
219+ else (ad == f))
217220 then throw("vote has finished")
218- else WriteSet([DataEntry(H(p, s), M), DataEntry(L(p, M), ae), DataEntry(J(p), if ((ae >= b))
221+ else WriteSet([DataEntry(H(p, s), M), DataEntry(L(p, M), af), DataEntry(J(p), if ((af >= b))
219222 then M
220223 else d)])
221224 }
222225
223226
224-@Verifier(af)
225-func ag () = {
226- let k = af
227+@Verifier(ag)
228+func ah () = {
229+ let k = ag
227230 if ($isInstanceOf(k, "SetScriptTransaction"))
228231 then {
229- let ah = k
232+ let ai = k
230233 true
231234 }
232235 else if ($isInstanceOf(k, "DataTransaction"))
233236 then {
234- let ah = k
237+ let ai = k
235238 true
236239 }
237240 else if ($isInstanceOf(k, "TransferTransaction"))
238241 then {
239- let ah = k
242+ let ai = k
240243 true
241244 }
242245 else true
243246 }
244247

github/deemru/w8io/873ac7e 
50.64 ms