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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YQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAQZ2V0VXNlckl0ZW1QcmljZQAAAAEAAAAEaXRlbQQAAAAMa2V5SXRlbVByaWNlCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQkABBoAAAACBQAAAAR0aGlzBQAAAAxrZXlJdGVtUHJpY2UBAAAADmdldFZhbHVlQ29tbWl0AAAAAgAAAARpdGVtAAAABHVzZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAAxnZXRLZXlDb21taXQAAAACBQAAAARpdGVtBQAAAAR1c2VyAQAAABRnZXRWYWx1ZUNvbW1pdHNDb3VudAAAAAEAAAAEaXRlbQkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAABJnZXRLZXlDb21taXRzQ291bnQAAAABBQAAAARpdGVtAQAAAA5nZXRWYWx1ZVJldmVhbAAAAAIAAAAEaXRlbQAAAAR1c2VyCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAMZ2V0S2V5UmV2ZWFsAAAAAgUAAAAEaXRlbQUAAAAEdXNlcgEAAAASZ2V0VmFsdWVJdGVtU3RhdHVzAAAAAQAAAARpdGVtCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0BAAAAEmdldFZhbHVlVm90ZXNDb3VudAAAAAIAAAAEaXRlbQAAAAR2b3RlCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAAEGdldEtleVZvdGVzQ291bnQAAAACBQAAAARpdGVtBQAAAAR2b3RlAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEAAAAEaXRlbQQAAAAMa2V5SXRlbVByaWNlCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAMa2V5SXRlbVByaWNlAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEAAAAHYWNjb3VudAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAAB2FjY291bnQAAAAEAAAAAWkBAAAAB2FkZEl0ZW0AAAADAAAABXRpdGxlAAAABXByaWNlAAAABGRhdGEEAAAAD3N1cHBsaWVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAARpdGVtCQEAAAAKZ2V0S2V5SXRlbQAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAFdGl0bGUDCQAAZwAAAAIAAAAAAAAAAAAFAAAABXByaWNlCQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQEAAAACIT0AAAACCQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAAROT05FCQAAAgAAAAECAAAAGUFuIGl0ZW0gaXMgYWxyZWFkeSBleGlzdHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAA9zdXBwbGllckFkZHJlc3MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtBQAAAAVwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADmdldEtleUl0ZW1EYXRhAAAAAQUAAAAEaXRlbQUAAAAEZGF0YQUAAAADbmlsAAAAAWkBAAAACHB1cmNoYXNlAAAAAQAAAARpdGVtBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAoeW91IGNhbiBidSB0b2tlbnMgb25seSB3aXRoIFdhdmVzIHRva2VucwQAAAALdXNlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFcHJpY2UJAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0EAAAAD3N1cHBsaWVyQWRkcmVzcwkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALlB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAVwcmljZQkAAAIAAAABAgAAADBQdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGhpZ2hlciB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAETk9ORQkAAAIAAAABAgAAABdTdXBwbGllciBkb2VzIG5vdCBleGlzdAQAAAAPdXNlckl0ZW1Db3VudGVyCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABGl0ZW0EAAAAF25ld1ZhbHVlVXNlckl0ZW1Db3VudGVyCQAAZAAAAAIJAQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAARpdGVtAAAAAAAAAAABBAAAABJzdXBwbGllckJhbGFuY2VLZXkJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MEAAAAEm5ld1N1cHBsaWVyQmFsYW5jZQkAAGQAAAACCQEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MIBQAAAANwbXQAAAAGYW1vdW50CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA91c2VySXRlbUNvdW50ZXIFAAAAF25ld1ZhbHVlVXNlckl0ZW1Db3VudGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABJzdXBwbGllckJhbGFuY2VLZXkFAAAAEm5ld1N1cHBsaWVyQmFsYW5jZQUAAAADbmlsAAAAAWkBAAAACnZvdGVDb21taXQAAAACAAAABGl0ZW0AAAAEaGFzaAQAAAAEdXNlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAA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", "height": 1932747, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BQKY1HM1xunmPXFtQXhz8CiMJf3LwVrLoyBorfEvfcHv Next: none Diff:
Old | New | Differences | |
---|---|---|---|
22 | 22 | let k = j | |
23 | 23 | k | |
24 | 24 | } | |
25 | - | else | |
25 | + | else a | |
26 | 26 | } | |
27 | 27 | ||
28 | 28 | ||
73 | 73 | func C (D) = (D + "_balance") | |
74 | 74 | ||
75 | 75 | ||
76 | - | func E ( | |
77 | - | let F = | |
76 | + | func E (D) = { | |
77 | + | let F = C(D) | |
78 | 78 | let j = getInteger(this, F) | |
79 | 79 | if ($isInstanceOf(j, "Int")) | |
80 | 80 | then { | |
85 | 85 | } | |
86 | 86 | ||
87 | 87 | ||
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")) | |
112 | 92 | then { | |
113 | 93 | let k = j | |
114 | 94 | k | |
115 | 95 | } | |
116 | - | else | |
96 | + | else 0 | |
117 | 97 | } | |
118 | 98 | ||
119 | 99 | ||
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)) | |
125 | 135 | then throw("Purchase amount cannot be less than item price") | |
126 | - | else if (( | |
136 | + | else if ((Q(r) != a)) | |
127 | 137 | then throw("An item is already exists") | |
128 | - | else WriteSet([DataEntry(q(r), | |
138 | + | else WriteSet([DataEntry(q(r), U), DataEntry(s(r), S), DataEntry(t(r), T)]) | |
129 | 139 | } | |
130 | 140 | ||
131 | 141 | ||
132 | 142 | ||
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)) | |
141 | 178 | then throw("You voted already") | |
142 | 179 | else if ((q(r) == a)) | |
143 | 180 | then throw("Item does not exist") | |
144 | - | else if (if (( | |
145 | - | then ( | |
181 | + | else if (if ((ac != a)) | |
182 | + | then (ac != f) | |
146 | 183 | else false) | |
147 | - | then throw("Voting is not active for this item | |
184 | + | then throw("Voting is not active for this item now") | |
148 | 185 | else { | |
149 | - | let | |
186 | + | let ad = if ((ab == b)) | |
150 | 187 | then g | |
151 | 188 | else f | |
152 | - | WriteSet([DataEntry(u(r, v), | |
189 | + | WriteSet([DataEntry(u(r, v), aa), DataEntry(w(r), (ab + 1)), DataEntry(y(r), ad)]) | |
153 | 190 | } | |
154 | 191 | } | |
155 | 192 | ||
156 | 193 | ||
157 | 194 | ||
158 | - | @Callable( | |
159 | - | func voteReveal (r,A, | |
160 | - | let v = toBase58String( | |
161 | - | let | |
162 | - | let | |
163 | - | let | |
164 | - | if ((toBase58String(sha256(toBytes( | |
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))) | |
165 | 202 | then throw("Reveal data is not valid") | |
166 | - | else if ((b > | |
167 | - | then throw( | |
168 | - | else if (( | |
203 | + | else if ((b > L(r))) | |
204 | + | then throw("Max number of voters not reached") | |
205 | + | else if ((M(r, v) != a)) | |
169 | 206 | then throw("You voted already") | |
170 | - | else if (if (( | |
171 | - | then ( | |
207 | + | else if (if ((ac != f)) | |
208 | + | then (ac != g) | |
172 | 209 | else false) | |
173 | 210 | then throw("Voting is not active of this item now") | |
174 | 211 | else if (if ((A != d)) | |
176 | 213 | else false) | |
177 | 214 | then throw("Provided voting option is incorrect") | |
178 | 215 | else { | |
179 | - | let | |
216 | + | let ad = if ((af >= c)) | |
180 | 217 | then A | |
181 | 218 | else g | |
182 | - | WriteSet([DataEntry(u(r, v), A), DataEntry(z(r, v), | |
219 | + | WriteSet([DataEntry(u(r, v), A), DataEntry(z(r, v), af), DataEntry(y(r), ad)]) | |
183 | 220 | } | |
184 | 221 | } | |
185 | 222 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "NONE" | |
5 | 5 | ||
6 | 6 | let b = 3 | |
7 | 7 | ||
8 | 8 | let c = 2 | |
9 | 9 | ||
10 | 10 | let d = "featured" | |
11 | 11 | ||
12 | 12 | let e = "delisted" | |
13 | 13 | ||
14 | 14 | let f = "voting" | |
15 | 15 | ||
16 | 16 | let g = "reveal" | |
17 | 17 | ||
18 | 18 | func h (i) = { | |
19 | 19 | let j = getString(this, i) | |
20 | 20 | if ($isInstanceOf(j, "String")) | |
21 | 21 | then { | |
22 | 22 | let k = j | |
23 | 23 | k | |
24 | 24 | } | |
25 | - | else | |
25 | + | else a | |
26 | 26 | } | |
27 | 27 | ||
28 | 28 | ||
29 | 29 | func l (i) = { | |
30 | 30 | let j = getInteger(this, i) | |
31 | 31 | if ($isInstanceOf(j, "Int")) | |
32 | 32 | then { | |
33 | 33 | let k = j | |
34 | 34 | k | |
35 | 35 | } | |
36 | 36 | else 0 | |
37 | 37 | } | |
38 | 38 | ||
39 | 39 | ||
40 | 40 | func m (n,o) = { | |
41 | 41 | let p = (n + o) | |
42 | 42 | ("item_" + toBase58String(sha256(toBytes(p)))) | |
43 | 43 | } | |
44 | 44 | ||
45 | 45 | ||
46 | 46 | func q (r) = (r + "_owner") | |
47 | 47 | ||
48 | 48 | ||
49 | 49 | func s (r) = (r + "_price") | |
50 | 50 | ||
51 | 51 | ||
52 | 52 | func t (r) = (r + "_data") | |
53 | 53 | ||
54 | 54 | ||
55 | 55 | func u (r,v) = (((r + "_") + v) + "_commmit") | |
56 | 56 | ||
57 | 57 | ||
58 | 58 | func w (r) = (r + "_cmtcnt") | |
59 | 59 | ||
60 | 60 | ||
61 | 61 | func x (r,v) = (((r + "_") + v) + "_reveal") | |
62 | 62 | ||
63 | 63 | ||
64 | 64 | func y (r) = (r + "_status") | |
65 | 65 | ||
66 | 66 | ||
67 | 67 | func z (r,A) = ((r + "_res:") + A) | |
68 | 68 | ||
69 | 69 | ||
70 | 70 | func B (v,r) = (((r + "_") + v) + "_cnt") | |
71 | 71 | ||
72 | 72 | ||
73 | 73 | func C (D) = (D + "_balance") | |
74 | 74 | ||
75 | 75 | ||
76 | - | func E ( | |
77 | - | let F = | |
76 | + | func E (D) = { | |
77 | + | let F = C(D) | |
78 | 78 | let j = getInteger(this, F) | |
79 | 79 | if ($isInstanceOf(j, "Int")) | |
80 | 80 | then { | |
81 | 81 | let k = j | |
82 | 82 | k | |
83 | 83 | } | |
84 | 84 | else 0 | |
85 | 85 | } | |
86 | 86 | ||
87 | 87 | ||
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")) | |
112 | 92 | then { | |
113 | 93 | let k = j | |
114 | 94 | k | |
115 | 95 | } | |
116 | - | else | |
96 | + | else 0 | |
117 | 97 | } | |
118 | 98 | ||
119 | 99 | ||
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)) | |
125 | 135 | then throw("Purchase amount cannot be less than item price") | |
126 | - | else if (( | |
136 | + | else if ((Q(r) != a)) | |
127 | 137 | then throw("An item is already exists") | |
128 | - | else WriteSet([DataEntry(q(r), | |
138 | + | else WriteSet([DataEntry(q(r), U), DataEntry(s(r), S), DataEntry(t(r), T)]) | |
129 | 139 | } | |
130 | 140 | ||
131 | 141 | ||
132 | 142 | ||
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)) | |
141 | 178 | then throw("You voted already") | |
142 | 179 | else if ((q(r) == a)) | |
143 | 180 | then throw("Item does not exist") | |
144 | - | else if (if (( | |
145 | - | then ( | |
181 | + | else if (if ((ac != a)) | |
182 | + | then (ac != f) | |
146 | 183 | else false) | |
147 | - | then throw("Voting is not active for this item | |
184 | + | then throw("Voting is not active for this item now") | |
148 | 185 | else { | |
149 | - | let | |
186 | + | let ad = if ((ab == b)) | |
150 | 187 | then g | |
151 | 188 | else f | |
152 | - | WriteSet([DataEntry(u(r, v), | |
189 | + | WriteSet([DataEntry(u(r, v), aa), DataEntry(w(r), (ab + 1)), DataEntry(y(r), ad)]) | |
153 | 190 | } | |
154 | 191 | } | |
155 | 192 | ||
156 | 193 | ||
157 | 194 | ||
158 | - | @Callable( | |
159 | - | func voteReveal (r,A, | |
160 | - | let v = toBase58String( | |
161 | - | let | |
162 | - | let | |
163 | - | let | |
164 | - | if ((toBase58String(sha256(toBytes( | |
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))) | |
165 | 202 | then throw("Reveal data is not valid") | |
166 | - | else if ((b > | |
167 | - | then throw( | |
168 | - | else if (( | |
203 | + | else if ((b > L(r))) | |
204 | + | then throw("Max number of voters not reached") | |
205 | + | else if ((M(r, v) != a)) | |
169 | 206 | then throw("You voted already") | |
170 | - | else if (if (( | |
171 | - | then ( | |
207 | + | else if (if ((ac != f)) | |
208 | + | then (ac != g) | |
172 | 209 | else false) | |
173 | 210 | then throw("Voting is not active of this item now") | |
174 | 211 | else if (if ((A != d)) | |
175 | 212 | then (A != e) | |
176 | 213 | else false) | |
177 | 214 | then throw("Provided voting option is incorrect") | |
178 | 215 | else { | |
179 | - | let | |
216 | + | let ad = if ((af >= c)) | |
180 | 217 | then A | |
181 | 218 | else g | |
182 | - | WriteSet([DataEntry(u(r, v), A), DataEntry(z(r, v), | |
219 | + | WriteSet([DataEntry(u(r, v), A), DataEntry(z(r, v), af), DataEntry(y(r), ad)]) | |
183 | 220 | } | |
184 | 221 | } | |
185 | 222 | ||
186 | 223 |
github/deemru/w8io/03bedc9 54.71 ms ◑