tx · 6kwW4cUXabAtA7GqjRCKXhw5oNj9ek7HdginDmLHsqMB

3N81Dk1WuUv7UKt3inqWVYN81J8VHjoV3MC:  -0.01400000 Waves

2022.02.21 04:16 [1932747] smart account 3N81Dk1WuUv7UKt3inqWVYN81J8VHjoV3MC > SELF 0.00000000 Waves

{ "type": 13, "id": "6kwW4cUXabAtA7GqjRCKXhw5oNj9ek7HdginDmLHsqMB", "fee": 1400000, "feeAssetId": null, "timestamp": 1645406236808, "version": 2, "chainId": 84, "sender": "3N81Dk1WuUv7UKt3inqWVYN81J8VHjoV3MC", "senderPublicKey": "5vXdNgZ1TR8AAzcnLumQTQYzcU3AwHj91bZTtiE3roBE", "proofs": [ "5qPRzEdZNVavRSVdQGTnR2ZsznbPCf6eseMT8cyjAPgQ4TkJzgQFRHX2zptGjEiYQRkPNkbwvbGRu34N7Pe2aEV9" ], "script": "base64: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YQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAQZ2V0VXNlckl0ZW1QcmljZQAAAAEAAAAEaXRlbQQAAAAMa2V5SXRlbVByaWNlCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQkABBoAAAACBQAAAAR0aGlzBQAAAAxrZXlJdGVtUHJpY2UBAAAADmdldFZhbHVlQ29tbWl0AAAAAgAAAARpdGVtAAAABHVzZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAAxnZXRLZXlDb21taXQAAAACBQAAAARpdGVtBQAAAAR1c2VyAQAAABRnZXRWYWx1ZUNvbW1pdHNDb3VudAAAAAEAAAAEaXRlbQkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAABJnZXRLZXlDb21taXRzQ291bnQAAAABBQAAAARpdGVtAQAAAA5nZXRWYWx1ZVJldmVhbAAAAAIAAAAEaXRlbQAAAAR1c2VyCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAMZ2V0S2V5UmV2ZWFsAAAAAgUAAAAEaXRlbQUAAAAEdXNlcgEAAAASZ2V0VmFsdWVJdGVtU3RhdHVzAAAAAQAAAARpdGVtCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0BAAAAEmdldFZhbHVlVm90ZXNDb3VudAAAAAIAAAAEaXRlbQAAAAR2b3RlCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAAEGdldEtleVZvdGVzQ291bnQAAAACBQAAAARpdGVtBQAAAAR2b3RlAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEAAAAEaXRlbQQAAAAMa2V5SXRlbVByaWNlCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAMa2V5SXRlbVByaWNlAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEAAAAHYWNjb3VudAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAAB2FjY291bnQAAAAEAAAAAWkBAAAAB2FkZEl0ZW0AAAADAAAABXRpdGxlAAAABXByaWNlAAAABGRhdGEEAAAAD3N1cHBsaWVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAARpdGVtCQEAAAAKZ2V0S2V5SXRlbQAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAFdGl0bGUDCQAAZwAAAAIAAAAAAAAAAAAFAAAABXByaWNlCQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQEAAAACIT0AAAACCQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAAROT05FCQAAAgAAAAECAAAAGUFuIGl0ZW0gaXMgYWxyZWFkeSBleGlzdHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAA9zdXBwbGllckFkZHJlc3MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtBQAAAAVwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADmdldEtleUl0ZW1EYXRhAAAAAQUAAAAEaXRlbQUAAAAEZGF0YQUAAAADbmlsAAAAAWkBAAAACHB1cmNoYXNlAAAAAQAAAARpdGVtBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAoeW91IGNhbiBidSB0b2tlbnMgb25seSB3aXRoIFdhdmVzIHRva2VucwQAAAALdXNlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFcHJpY2UJAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0EAAAAD3N1cHBsaWVyQWRkcmVzcwkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAVwcmljZQkAAAIAAAABAgAAADBQdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGhpZ2hlciB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAETk9ORQkAAAIAAAABAgAAABdTdXBwbGllciBkb2VzIG5vdCBleGlzdAQAAAAPdXNlckl0ZW1Db3VudGVyCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABGl0ZW0EAAAAF25ld1ZhbHVlVXNlckl0ZW1Db3VudGVyCQAAZAAAAAIJAQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtAAAAAAAAAAABBAAAABJzdXBwbGllckJhbGFuY2VLZXkJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MEAAAAEm5ld1N1cHBsaWVyQmFsYW5jZQkAAGQAAAACCQEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MIBQAAAANwbXQAAAAGYW1vdW50CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA91c2VySXRlbUNvdW50ZXIFAAAAF25ld1ZhbHVlVXNlckl0ZW1Db3VudGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABJzdXBwbGllckJhbGFuY2VLZXkFAAAAEm5ld1N1cHBsaWVyQmFsYW5jZQUAAAADbmlsAAAAAWkBAAAACnZvdGVDb21taXQAAAACAAAABGl0ZW0AAAAEaGFzaAQAAAAEdXNlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAxjb21taXRzQ291bnQJAQAAABRnZXRWYWx1ZUNvbW1pdHNDb3VudAAAAAEFAAAABGl0ZW0EAAAABnN0YXR1cwkBAAAAEmdldFZhbHVlSXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0DCQAAZwAAAAIFAAAADGNvbW1pdHNDb3VudAUAAAAGVk9URVJTCQAAAgAAAAEJAAEsAAAAAgIAAAAdUmVhY2hlZCBtYXggbnVtZXIgb2Ygdm90ZXJzOiAJAAGkAAAAAQUAAAAGVk9URVJTAwkBAAAAAiE9AAAAAgkBAAAADmdldFZhbHVlQ29tbWl0AAAAAgUAAAAEaXRlbQUAAAAEdXNlcgUAAAAETk9ORQkAAAIAAAABAgAAABFZb3Ugdm90ZWQgYWxyZWFkeQMJAAAAAAAAAgkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAABE5PTkUJAAACAAAAAQIAAAATSXRlbSBkb2VzIG5vdCBleGlzdAMDCQEAAAACIT0AAAACBQAAAAZzdGF0dXMFAAAABE5PTkUJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAAGVk9USU5HBwkAAAIAAAABAgAAACZWb3RpbmcgaXMgbm90IGFjdGl2ZSBmb3IgdGhpcyBpdGVtIG5vdwQAAAAJbmV3U3RhdHVzAwkAAAAAAAACBQAAAAxjb21taXRzQ291bnQFAAAABlZPVEVSUwUAAAAGUkVWRUFMBQAAAAZWT1RJTkcJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAAxnZXRLZXlDb21taXQAAAACBQAAAARpdGVtBQAAAAR1c2VyBQAAAARoYXNoCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0S2V5Q29tbWl0c0NvdW50AAAAAQUAAAAEaXRlbQkAAGQAAAACBQAAAAxjb21taXRzQ291bnQAAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRLZXlJdGVtU3RhdHVzAAAAAQUAAAAEaXRlbQUAAAAJbmV3U3RhdHVzBQAAAANuaWwAAAABaQEAAAAKdm90ZVJldmVhbAAAAAMAAAAEaXRlbQAAAAR2b3RlAAAABHNhbHQEAAAABHVzZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAGc3RhdHVzCQEAAAASZ2V0VmFsdWVJdGVtU3RhdHVzAAAAAQUAAAAEaXRlbQQAAAANbmV3Vm90ZXNDb3VudAkAAGQAAAACCQEAAAASZ2V0VmFsdWVWb3Rlc0NvdW50AAAAAgUAAAAEaXRlbQUAAAAEdm90ZQAAAAAAAAAAAQQAAAAKc2FsdGVkVm90ZQkAASwAAAACCQABLAAAAAIFAAAABGl0ZW0FAAAABHZvdGUFAAAABHNhbHQDCQEAAAACIT0AAAACCQACWAAAAAEJAAH3AAAAAQkAAZsAAAABBQAAAApzYWx0ZWRWb3RlCQEAAAAOZ2V0VmFsdWVDb21taXQAAAACBQAAAARpdGVtBQAAAAR1c2VyCQAAAgAAAAECAAAAGFJldmVhbCBkYXRhIGlzIG5vdCB2YWxpZAMJAABmAAAAAgUAAAAGVk9URVJTCQEAAAAUZ2V0VmFsdWVDb21taXRzQ291bnQAAAABBQAAAARpdGVtCQAAAgAAAAECAAAAIE1heCBudW1iZXIgb2Ygdm90ZXJzIG5vdCByZWFjaGVkAwkBAAAAAiE9AAAAAgkBAAAADmdldFZhbHVlUmV2ZWFsAAAAAgUAAAAEaXRlbQUAAAAEdXNlcgUAAAAETk9ORQkAAAIAAAABAgAAABFZb3Ugdm90ZWQgYWxyZWFkeQMDCQEAAAACIT0AAAACBQAAAAZzdGF0dXMFAAAABlZPVElORwkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzBQAAAAZSRVZFQUwHCQAAAgAAAAECAAAAJVZvdGluZyBpcyBub3QgYWN0aXZlIG9mIHRoaXMgaXRlbSBub3cDAwkBAAAAAiE9AAAAAgUAAAAEdm90ZQUAAAAIRkVBVFVSRUQJAQAAAAIhPQAAAAIFAAAABHZvdGUFAAAACERFTElTVEVEBwkAAAIAAAABAgAAACNQcm92aWRlZCB2b3Rpbmcgb3B0aW9uIGlzIGluY29ycmVjdAQAAAAJbmV3U3RhdHVzAwkAAGcAAAACBQAAAA1uZXdWb3Rlc0NvdW50BQAAAAZRVU9SVU0FAAAABHZvdGUFAAAABlJFVkVBTAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADGdldEtleUNvbW1pdAAAAAIFAAAABGl0ZW0FAAAABHVzZXIFAAAABHZvdGUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRLZXlWb3Rlc0NvdW50AAAAAgUAAAAEaXRlbQUAAAAEdXNlcgUAAAANbmV3Vm90ZXNDb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldEtleUl0ZW1TdGF0dXMAAAABBQAAAARpdGVtBQAAAAluZXdTdGF0dXMFAAAAA25pbAAAAAD3qjIA", "height": 1932747, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BQKY1HM1xunmPXFtQXhz8CiMJf3LwVrLoyBorfEvfcHv Next: none Diff:
OldNewDifferences
2222 let k = j
2323 k
2424 }
25- else "NONE"
25+ else a
2626 }
2727
2828
7373 func C (D) = (D + "_balance")
7474
7575
76-func E (v,r) = {
77- let F = B(v, r)
76+func E (D) = {
77+ let F = C(D)
7878 let j = getInteger(this, F)
7979 if ($isInstanceOf(j, "Int"))
8080 then {
8585 }
8686
8787
88-func G (r) = {
89- let H = s(r)
90- getInteger(this, H)
91- }
92-
93-
94-func I (r,v) = h(u(r, v))
95-
96-
97-func J (r) = l(w(r))
98-
99-
100-func K (r,v) = h(x(r, v))
101-
102-
103-func L (r) = h(y(r))
104-
105-
106-func M (r,A) = l(z(r, A))
107-
108-
109-func N (D) = {
110- let j = getString(this, D)
111- if ($isInstanceOf(j, "String"))
88+func G (v,r) = {
89+ let H = B(v, r)
90+ let j = getInteger(this, H)
91+ if ($isInstanceOf(j, "Int"))
11292 then {
11393 let k = j
11494 k
11595 }
116- else "NONE"
96+ else 0
11797 }
11898
11999
120-@Callable(O)
121-func addItem (o,P,Q) = {
122- let R = toBase58String(O.caller.bytes)
123- let r = m(R, o)
124- if ((0 >= P))
100+func I (r) = {
101+ let J = s(r)
102+ getInteger(this, J)
103+ }
104+
105+
106+func K (r,v) = h(u(r, v))
107+
108+
109+func L (r) = l(w(r))
110+
111+
112+func M (r,v) = h(x(r, v))
113+
114+
115+func N (r) = h(y(r))
116+
117+
118+func O (r,A) = l(z(r, A))
119+
120+
121+func P (r) = {
122+ let J = s(r)
123+ getIntegerValue(this, J)
124+ }
125+
126+
127+func Q (D) = h(q(D))
128+
129+
130+@Callable(R)
131+func addItem (o,S,T) = {
132+ let U = toBase58String(R.caller.bytes)
133+ let r = m(U, o)
134+ if ((0 >= S))
125135 then throw("Purchase amount cannot be less than item price")
126- else if ((N(r) != a))
136+ else if ((Q(r) != a))
127137 then throw("An item is already exists")
128- else WriteSet([DataEntry(q(r), R), DataEntry(s(r), P), DataEntry(t(r), Q)])
138+ else WriteSet([DataEntry(q(r), U), DataEntry(s(r), S), DataEntry(t(r), T)])
129139 }
130140
131141
132142
133-@Callable(O)
134-func voteCommit (r,S) = {
135- let v = toBase58String(O.caller.bytes)
136- let T = J(r)
137- let U = L(r)
138- if ((T >= b))
139- then throw("Reached max numer of voters")
140- else if ((I(r, v) != a))
143+@Callable(R)
144+func purchase (r) = {
145+ let V = extract(R.payment)
146+ if (isDefined(V.assetId))
147+ then throw("you can bu tokens only with Waves tokens")
148+ else {
149+ let W = toBase58String(R.caller.bytes)
150+ let S = P(r)
151+ let U = Q(r)
152+ if ((S > V.amount))
153+ then throw("Purchase amount cannot be less than item price")
154+ else if ((V.amount > S))
155+ then throw("Purchase amount cannot be higher than item price")
156+ else if ((U == a))
157+ then throw("Supplier does not exist")
158+ else {
159+ let X = B(W, r)
160+ let Y = (G(W, r) + 1)
161+ let F = C(U)
162+ let Z = (E(U) + V.amount)
163+ WriteSet([DataEntry(X, Y), DataEntry(F, Z)])
164+ }
165+ }
166+ }
167+
168+
169+
170+@Callable(R)
171+func voteCommit (r,aa) = {
172+ let v = toBase58String(R.caller.bytes)
173+ let ab = L(r)
174+ let ac = N(r)
175+ if ((ab >= b))
176+ then throw(("Reached max numer of voters: " + toString(b)))
177+ else if ((K(r, v) != a))
141178 then throw("You voted already")
142179 else if ((q(r) == a))
143180 then throw("Item does not exist")
144- else if (if ((U != a))
145- then (U != f)
181+ else if (if ((ac != a))
182+ then (ac != f)
146183 else false)
147- then throw("Voting is not active for this item noew")
184+ then throw("Voting is not active for this item now")
148185 else {
149- let V = if ((T == b))
186+ let ad = if ((ab == b))
150187 then g
151188 else f
152- WriteSet([DataEntry(u(r, v), S), DataEntry(w(r), (T + 1)), DataEntry(y(r), V)])
189+ WriteSet([DataEntry(u(r, v), aa), DataEntry(w(r), (ab + 1)), DataEntry(y(r), ad)])
153190 }
154191 }
155192
156193
157194
158-@Callable(O)
159-func voteReveal (r,A,W) = {
160- let v = toBase58String(O.caller.bytes)
161- let U = L(r)
162- let X = (M(r, A) + 1)
163- let Y = ((r + A) + W)
164- if ((toBase58String(sha256(toBytes(Y))) != I(r, v)))
195+@Callable(R)
196+func voteReveal (r,A,ae) = {
197+ let v = toBase58String(R.caller.bytes)
198+ let ac = N(r)
199+ let af = (O(r, A) + 1)
200+ let ag = ((r + A) + ae)
201+ if ((toBase58String(sha256(toBytes(ag))) != K(r, v)))
165202 then throw("Reveal data is not valid")
166- else if ((b > J(r)))
167- then throw(("Max number of voters not reached: " + toString(b)))
168- else if ((K(r, v) != a))
203+ else if ((b > L(r)))
204+ then throw("Max number of voters not reached")
205+ else if ((M(r, v) != a))
169206 then throw("You voted already")
170- else if (if ((U != f))
171- then (U != g)
207+ else if (if ((ac != f))
208+ then (ac != g)
172209 else false)
173210 then throw("Voting is not active of this item now")
174211 else if (if ((A != d))
176213 else false)
177214 then throw("Provided voting option is incorrect")
178215 else {
179- let V = if ((X >= c))
216+ let ad = if ((af >= c))
180217 then A
181218 else g
182- WriteSet([DataEntry(u(r, v), A), DataEntry(z(r, v), X), DataEntry(y(r), V)])
219+ WriteSet([DataEntry(u(r, v), A), DataEntry(z(r, v), af), DataEntry(y(r), ad)])
183220 }
184221 }
185222
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 = "featured"
1111
1212 let e = "delisted"
1313
1414 let f = "voting"
1515
1616 let g = "reveal"
1717
1818 func h (i) = {
1919 let j = getString(this, i)
2020 if ($isInstanceOf(j, "String"))
2121 then {
2222 let k = j
2323 k
2424 }
25- else "NONE"
25+ else a
2626 }
2727
2828
2929 func l (i) = {
3030 let j = getInteger(this, i)
3131 if ($isInstanceOf(j, "Int"))
3232 then {
3333 let k = j
3434 k
3535 }
3636 else 0
3737 }
3838
3939
4040 func m (n,o) = {
4141 let p = (n + o)
4242 ("item_" + toBase58String(sha256(toBytes(p))))
4343 }
4444
4545
4646 func q (r) = (r + "_owner")
4747
4848
4949 func s (r) = (r + "_price")
5050
5151
5252 func t (r) = (r + "_data")
5353
5454
5555 func u (r,v) = (((r + "_") + v) + "_commmit")
5656
5757
5858 func w (r) = (r + "_cmtcnt")
5959
6060
6161 func x (r,v) = (((r + "_") + v) + "_reveal")
6262
6363
6464 func y (r) = (r + "_status")
6565
6666
6767 func z (r,A) = ((r + "_res:") + A)
6868
6969
7070 func B (v,r) = (((r + "_") + v) + "_cnt")
7171
7272
7373 func C (D) = (D + "_balance")
7474
7575
76-func E (v,r) = {
77- let F = B(v, r)
76+func E (D) = {
77+ let F = C(D)
7878 let j = getInteger(this, F)
7979 if ($isInstanceOf(j, "Int"))
8080 then {
8181 let k = j
8282 k
8383 }
8484 else 0
8585 }
8686
8787
88-func G (r) = {
89- let H = s(r)
90- getInteger(this, H)
91- }
92-
93-
94-func I (r,v) = h(u(r, v))
95-
96-
97-func J (r) = l(w(r))
98-
99-
100-func K (r,v) = h(x(r, v))
101-
102-
103-func L (r) = h(y(r))
104-
105-
106-func M (r,A) = l(z(r, A))
107-
108-
109-func N (D) = {
110- let j = getString(this, D)
111- if ($isInstanceOf(j, "String"))
88+func G (v,r) = {
89+ let H = B(v, r)
90+ let j = getInteger(this, H)
91+ if ($isInstanceOf(j, "Int"))
11292 then {
11393 let k = j
11494 k
11595 }
116- else "NONE"
96+ else 0
11797 }
11898
11999
120-@Callable(O)
121-func addItem (o,P,Q) = {
122- let R = toBase58String(O.caller.bytes)
123- let r = m(R, o)
124- if ((0 >= P))
100+func I (r) = {
101+ let J = s(r)
102+ getInteger(this, J)
103+ }
104+
105+
106+func K (r,v) = h(u(r, v))
107+
108+
109+func L (r) = l(w(r))
110+
111+
112+func M (r,v) = h(x(r, v))
113+
114+
115+func N (r) = h(y(r))
116+
117+
118+func O (r,A) = l(z(r, A))
119+
120+
121+func P (r) = {
122+ let J = s(r)
123+ getIntegerValue(this, J)
124+ }
125+
126+
127+func Q (D) = h(q(D))
128+
129+
130+@Callable(R)
131+func addItem (o,S,T) = {
132+ let U = toBase58String(R.caller.bytes)
133+ let r = m(U, o)
134+ if ((0 >= S))
125135 then throw("Purchase amount cannot be less than item price")
126- else if ((N(r) != a))
136+ else if ((Q(r) != a))
127137 then throw("An item is already exists")
128- else WriteSet([DataEntry(q(r), R), DataEntry(s(r), P), DataEntry(t(r), Q)])
138+ else WriteSet([DataEntry(q(r), U), DataEntry(s(r), S), DataEntry(t(r), T)])
129139 }
130140
131141
132142
133-@Callable(O)
134-func voteCommit (r,S) = {
135- let v = toBase58String(O.caller.bytes)
136- let T = J(r)
137- let U = L(r)
138- if ((T >= b))
139- then throw("Reached max numer of voters")
140- else if ((I(r, v) != a))
143+@Callable(R)
144+func purchase (r) = {
145+ let V = extract(R.payment)
146+ if (isDefined(V.assetId))
147+ then throw("you can bu tokens only with Waves tokens")
148+ else {
149+ let W = toBase58String(R.caller.bytes)
150+ let S = P(r)
151+ let U = Q(r)
152+ if ((S > V.amount))
153+ then throw("Purchase amount cannot be less than item price")
154+ else if ((V.amount > S))
155+ then throw("Purchase amount cannot be higher than item price")
156+ else if ((U == a))
157+ then throw("Supplier does not exist")
158+ else {
159+ let X = B(W, r)
160+ let Y = (G(W, r) + 1)
161+ let F = C(U)
162+ let Z = (E(U) + V.amount)
163+ WriteSet([DataEntry(X, Y), DataEntry(F, Z)])
164+ }
165+ }
166+ }
167+
168+
169+
170+@Callable(R)
171+func voteCommit (r,aa) = {
172+ let v = toBase58String(R.caller.bytes)
173+ let ab = L(r)
174+ let ac = N(r)
175+ if ((ab >= b))
176+ then throw(("Reached max numer of voters: " + toString(b)))
177+ else if ((K(r, v) != a))
141178 then throw("You voted already")
142179 else if ((q(r) == a))
143180 then throw("Item does not exist")
144- else if (if ((U != a))
145- then (U != f)
181+ else if (if ((ac != a))
182+ then (ac != f)
146183 else false)
147- then throw("Voting is not active for this item noew")
184+ then throw("Voting is not active for this item now")
148185 else {
149- let V = if ((T == b))
186+ let ad = if ((ab == b))
150187 then g
151188 else f
152- WriteSet([DataEntry(u(r, v), S), DataEntry(w(r), (T + 1)), DataEntry(y(r), V)])
189+ WriteSet([DataEntry(u(r, v), aa), DataEntry(w(r), (ab + 1)), DataEntry(y(r), ad)])
153190 }
154191 }
155192
156193
157194
158-@Callable(O)
159-func voteReveal (r,A,W) = {
160- let v = toBase58String(O.caller.bytes)
161- let U = L(r)
162- let X = (M(r, A) + 1)
163- let Y = ((r + A) + W)
164- if ((toBase58String(sha256(toBytes(Y))) != I(r, v)))
195+@Callable(R)
196+func voteReveal (r,A,ae) = {
197+ let v = toBase58String(R.caller.bytes)
198+ let ac = N(r)
199+ let af = (O(r, A) + 1)
200+ let ag = ((r + A) + ae)
201+ if ((toBase58String(sha256(toBytes(ag))) != K(r, v)))
165202 then throw("Reveal data is not valid")
166- else if ((b > J(r)))
167- then throw(("Max number of voters not reached: " + toString(b)))
168- else if ((K(r, v) != a))
203+ else if ((b > L(r)))
204+ then throw("Max number of voters not reached")
205+ else if ((M(r, v) != a))
169206 then throw("You voted already")
170- else if (if ((U != f))
171- then (U != g)
207+ else if (if ((ac != f))
208+ then (ac != g)
172209 else false)
173210 then throw("Voting is not active of this item now")
174211 else if (if ((A != d))
175212 then (A != e)
176213 else false)
177214 then throw("Provided voting option is incorrect")
178215 else {
179- let V = if ((X >= c))
216+ let ad = if ((af >= c))
180217 then A
181218 else g
182- WriteSet([DataEntry(u(r, v), A), DataEntry(z(r, v), X), DataEntry(y(r), V)])
219+ WriteSet([DataEntry(u(r, v), A), DataEntry(z(r, v), af), DataEntry(y(r), ad)])
183220 }
184221 }
185222
186223

github/deemru/w8io/03bedc9 
54.71 ms