tx · HJSFVVpbDq4iVTRdDDCd24pz71eEFqhUuj5UZ1MjKU52 3MtELerncMfYVZvRuEeMvgvsj7jUnshXWuw: -0.01400000 Waves 2019.11.04 00:34 [749253] smart account 3MtELerncMfYVZvRuEeMvgvsj7jUnshXWuw > SELF 0.00000000 Waves
{ "type": 13, "id": "HJSFVVpbDq4iVTRdDDCd24pz71eEFqhUuj5UZ1MjKU52", "fee": 1400000, "feeAssetId": null, "timestamp": 1572816718294, "version": 1, "sender": "3MtELerncMfYVZvRuEeMvgvsj7jUnshXWuw", "senderPublicKey": "FXsc9LG44fGFsWEUFctaZ8pr75ZoWQuPc75fhhG6CQb7", "proofs": [ "2bLcD3uzzNavz66ESWtuTzYVD4mLfzqvzA8HXZkwzJwPLGX5ukLJLCicDUEBCfize8LcwZDkNdJYnp3hFAyscQkx" ], "script": "base64:AAIDAAAAAAAAAB0IARIDCgEIEgUKAwgBCBIAEgQKAggIEgUKAwgICAAAACAAAAAAC2FsaWNlUHViS2V5AQAAACDX7EL0fX6l5Q8xnNOHhmzsBtLIfcaqkBcB//AMYv5XXgAAAAAJYm9iUHViS2V5AQAAACDsEpMXzzUbpi2Ff0Mjrb6D9V66oNMCyG1kL2a1kcQmVQAAAAAMY29vcGVyUHViS2V5AQAAACCASY5fiAuofxMqf5Ivw/e0xG6jnCiQ2b9d7EzQoCSpIgAAAAAETk9ORQIAAAAEbm9uZQAAAAAGVk9URVJTAAAAAAAAAAADAAAAAAZRVU9SVU0AAAAAAAAAAAIAAAAABlZPVElORwIAAAAGdm90aW5nAAAAAAZSRVZFQUwCAAAABnJldmVhbAAAAAAIRkVBVFVSRUQCAAAACGZlYXR1cmVkAAAAAAhERUxJU1RFRAIAAAAIZGVsaXN0ZWQBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAA251bQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAUAAAADbnVtAQAAAAtnZXRTdHJCeUtleQAAAAEAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgEAAAAMZ2V0S2V5Q29tbWl0AAAAAgAAAARpdGVtAAAABHVzZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABGl0ZW0CAAAAAV8FAAAABHVzZXICAAAAB19jb21taXQBAAAADmdldFZhbHVlQ29tbWl0AAAAAgAAAARpdGVtAAAABHVzZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAAxnZXRLZXlDb21taXQAAAACBQAAAARpdGVtBQAAAAR1c2VyAQAAABJnZXRLZXlDb21taXRzQ291bnQAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAHX2NvbWNudAEAAAAUZ2V0VmFsdWVDb21taXRzQ291bnQAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRLZXlDb21taXRzQ291bnQAAAABBQAAAARpdGVtAQAAAAxnZXRLZXlSZXZlYWwAAAACAAAABGl0ZW0AAAAEdXNlcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAABXwUAAAAEdXNlcgIAAAAHX3JldmVhbAEAAAAOZ2V0VmFsdWVSZXZlYWwAAAACAAAABGl0ZW0AAAAEdXNlcgkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAADGdldEtleVJldmVhbAAAAAIFAAAABGl0ZW0FAAAABHVzZXIBAAAAEGdldEtleUl0ZW1TdGF0dXMAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAHX3N0YXR1cwEAAAASZ2V0VmFsdWVJdGVtU3RhdHVzAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAQZ2V0S2V5SXRlbVN0YXR1cwAAAAEFAAAABGl0ZW0BAAAAD2dldEtleVZvdGVDb3VudAAAAAIAAAAEaXRlbQAAAAR2b3RlCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAAFX3JlczoFAAAABHZvdGUBAAAAEWdldFZhbHVlVm90ZUNvdW50AAAAAgAAAARpdGVtAAAABHZvdGUJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA9nZXRLZXlWb3RlQ291bnQAAAACBQAAAARpdGVtBQAAAAR2b3RlAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAGX3ByaWNlAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0BAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAR1c2VyBQAAAAR1c2VyAgAAAARfY250AQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAAEdXNlcgUAAAAEaXRlbQEAAAAKZ2V0S2V5SXRlbQAAAAIAAAAIc3VwcGxpZXIAAAAFdGl0bGUJAAEsAAAAAgIAAAAFaXRlbV8JAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAIc3VwcGxpZXIFAAAABXRpdGxlAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAVfZGF0YQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9vd25lcgEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABAAAAB2FjY291bnQJAAEsAAAAAgUAAAAHYWNjb3VudAIAAAAIX2JhbGFuY2UBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQAAAAdhY2NvdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAHYWNjb3VudAAAAAUAAAABaQEAAAAIcHVyY2hhc2UAAAABAAAABGl0ZW0EAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAACBDYW4gdXNlIFdBVkVTIG9ubHkgYXQgdGhlIG1vbWVudAQAAAAPY3VzdG9tZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXByaWNlCQEAAAARZ2V0VmFsdWVJdGVtUHJpY2UAAAABBQAAAARp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", "chainId": 84, "height": 749253, "spentComplexity": 0 } View: original | compacted Prev: 9DQntgwT3Hrh8LNV6uVE6X8pKLqedSgzsjwr3c2tSqN3 Next: 9ftHk5EzwWYwMrCtFA5HthCLpzR9bRNr2nhKS5f3GBXK Diff:
Old | New | Differences | |
---|---|---|---|
175 | 175 | } | |
176 | 176 | ||
177 | 177 | ||
178 | - | @Verifier(ab) | |
179 | - | func ac () = { | |
180 | - | let ad = sigVerify(ab.bodyBytes, ab.proofs[0], a) | |
181 | - | let ae = sigVerify(ab.bodyBytes, ab.proofs[1], a) | |
182 | - | let af = sigVerify(ab.bodyBytes, ab.proofs[2], a) | |
183 | - | let ag = sigVerify(ab.bodyBytes, ab.proofs[0], b) | |
184 | - | let ah = sigVerify(ab.bodyBytes, ab.proofs[1], b) | |
185 | - | let ai = sigVerify(ab.bodyBytes, ab.proofs[2], b) | |
186 | - | let aj = sigVerify(ab.bodyBytes, ab.proofs[0], c) | |
187 | - | let ak = sigVerify(ab.bodyBytes, ab.proofs[1], c) | |
188 | - | let al = sigVerify(ab.bodyBytes, ab.proofs[2], c) | |
189 | - | let am = if (if (if (if (if (if (ad) | |
190 | - | then ah | |
178 | + | ||
179 | + | @Callable(R) | |
180 | + | func voteReveal (s,C,ab) = { | |
181 | + | let t = toBase58String(R.caller.bytes) | |
182 | + | let aa = A(s) | |
183 | + | let ac = (D(s, C) + 1) | |
184 | + | if ((toBase58String(sha256(toBytes((C + ab)))) != u(s, t))) | |
185 | + | then throw("Revealed data is not valid") | |
186 | + | else if ((e > w(s))) | |
187 | + | then throw("max number of voters has not reached yet") | |
188 | + | else if ((y(s, t) != d)) | |
189 | + | then throw("User has already participated") | |
190 | + | else if (if ((aa != g)) | |
191 | + | then (aa != h) | |
192 | + | else false) | |
193 | + | then throw("Wrong status") | |
194 | + | else if (if ((C != i)) | |
195 | + | then (C != j) | |
196 | + | else false) | |
197 | + | then throw("Wrong vote") | |
198 | + | else if (if ((aa == i)) | |
199 | + | then true | |
200 | + | else (aa == j)) | |
201 | + | then throw("Vote has finished") | |
202 | + | else WriteSet([DataEntry(x(s, t), C), DataEntry(B(s, C), ac), DataEntry(z(s), if ((ac >= f)) | |
203 | + | then C | |
204 | + | else h)]) | |
205 | + | } | |
206 | + | ||
207 | + | ||
208 | + | @Verifier(ad) | |
209 | + | func ae () = { | |
210 | + | let af = sigVerify(ad.bodyBytes, ad.proofs[0], a) | |
211 | + | let ag = sigVerify(ad.bodyBytes, ad.proofs[1], a) | |
212 | + | let ah = sigVerify(ad.bodyBytes, ad.proofs[2], a) | |
213 | + | let ai = sigVerify(ad.bodyBytes, ad.proofs[0], b) | |
214 | + | let aj = sigVerify(ad.bodyBytes, ad.proofs[1], b) | |
215 | + | let ak = sigVerify(ad.bodyBytes, ad.proofs[2], b) | |
216 | + | let al = sigVerify(ad.bodyBytes, ad.proofs[0], c) | |
217 | + | let am = sigVerify(ad.bodyBytes, ad.proofs[1], c) | |
218 | + | let an = sigVerify(ad.bodyBytes, ad.proofs[2], c) | |
219 | + | let ao = if (if (if (if (if (if (af) | |
220 | + | then aj | |
191 | 221 | else false) | |
192 | 222 | then true | |
193 | - | else if (ad) | |
223 | + | else if (af) | |
224 | + | then ak | |
225 | + | else false) | |
226 | + | then true | |
227 | + | else if (ag) | |
194 | 228 | then ai | |
195 | 229 | else false) | |
196 | 230 | then true | |
197 | - | else if ( | |
198 | - | then | |
231 | + | else if (ag) | |
232 | + | then ak | |
199 | 233 | else false) | |
200 | 234 | then true | |
201 | - | else if ( | |
235 | + | else if (ah) | |
202 | 236 | then ai | |
203 | - | else false) | |
204 | - | then true | |
205 | - | else if (af) | |
206 | - | then ag | |
207 | - | else false) | |
208 | - | then true | |
209 | - | else if (af) | |
210 | - | then ah | |
211 | - | else false | |
212 | - | let an = if (if (if (if (if (if (aj) | |
213 | - | then ae | |
214 | - | else false) | |
215 | - | then true | |
216 | - | else if (aj) | |
217 | - | then af | |
218 | - | else false) | |
219 | - | then true | |
220 | - | else if (ak) | |
221 | - | then ad | |
222 | - | else false) | |
223 | - | then true | |
224 | - | else if (ak) | |
225 | - | then af | |
226 | - | else false) | |
227 | - | then true | |
228 | - | else if (al) | |
229 | - | then ad | |
230 | - | else false) | |
231 | - | then true | |
232 | - | else if (al) | |
233 | - | then ae | |
234 | - | else false | |
235 | - | let ao = if (if (if (if (if (if (ag) | |
236 | - | then ak | |
237 | - | else false) | |
238 | - | then true | |
239 | - | else if (ag) | |
240 | - | then al | |
241 | 237 | else false) | |
242 | 238 | then true | |
243 | 239 | else if (ah) | |
244 | 240 | then aj | |
241 | + | else false | |
242 | + | let ap = if (if (if (if (if (if (al) | |
243 | + | then ag | |
244 | + | else false) | |
245 | + | then true | |
246 | + | else if (al) | |
247 | + | then ah | |
245 | 248 | else false) | |
246 | 249 | then true | |
247 | - | else if (ah) | |
250 | + | else if (am) | |
251 | + | then af | |
252 | + | else false) | |
253 | + | then true | |
254 | + | else if (am) | |
255 | + | then ah | |
256 | + | else false) | |
257 | + | then true | |
258 | + | else if (an) | |
259 | + | then af | |
260 | + | else false) | |
261 | + | then true | |
262 | + | else if (an) | |
263 | + | then ag | |
264 | + | else false | |
265 | + | let aq = if (if (if (if (if (if (ai) | |
266 | + | then am | |
267 | + | else false) | |
268 | + | then true | |
269 | + | else if (ai) | |
270 | + | then an | |
271 | + | else false) | |
272 | + | then true | |
273 | + | else if (aj) | |
248 | 274 | then al | |
249 | 275 | else false) | |
250 | 276 | then true | |
251 | - | else if ( | |
252 | - | then | |
277 | + | else if (aj) | |
278 | + | then an | |
253 | 279 | else false) | |
254 | 280 | then true | |
255 | - | else if (ai) | |
256 | - | then ak | |
281 | + | else if (ak) | |
282 | + | then al | |
283 | + | else false) | |
284 | + | then true | |
285 | + | else if (ak) | |
286 | + | then am | |
257 | 287 | else false | |
258 | - | let n = | |
288 | + | let n = ad | |
259 | 289 | if ($isInstanceOf(n, "SetScriptTransaction")) | |
260 | 290 | then { | |
261 | - | let | |
291 | + | let ar = n | |
262 | 292 | true | |
263 | 293 | } | |
264 | - | else if (if ( | |
294 | + | else if (if (ao) | |
265 | 295 | then true | |
266 | - | else | |
296 | + | else ap) | |
267 | 297 | then true | |
268 | - | else | |
298 | + | else aq | |
269 | 299 | } | |
270 | 300 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'FXsc9LG44fGFsWEUFctaZ8pr75ZoWQuPc75fhhG6CQb7' | |
5 | 5 | ||
6 | 6 | let b = base58'GtXeMqkP3JUjRf7EDptgqdEu5wkrkG4d2sbfUi5hYQVi' | |
7 | 7 | ||
8 | 8 | let c = base58'9dnEr8G5eVHGJ5LkzueoK512pE3XBYBpe2ReLVcsrawT' | |
9 | 9 | ||
10 | 10 | let d = "none" | |
11 | 11 | ||
12 | 12 | let e = 3 | |
13 | 13 | ||
14 | 14 | let f = 2 | |
15 | 15 | ||
16 | 16 | let g = "voting" | |
17 | 17 | ||
18 | 18 | let h = "reveal" | |
19 | 19 | ||
20 | 20 | let i = "featured" | |
21 | 21 | ||
22 | 22 | let j = "delisted" | |
23 | 23 | ||
24 | 24 | func k (l) = { | |
25 | 25 | let m = { | |
26 | 26 | let n = getInteger(this, l) | |
27 | 27 | if ($isInstanceOf(n, "Int")) | |
28 | 28 | then { | |
29 | 29 | let o = n | |
30 | 30 | o | |
31 | 31 | } | |
32 | 32 | else 0 | |
33 | 33 | } | |
34 | 34 | m | |
35 | 35 | } | |
36 | 36 | ||
37 | 37 | ||
38 | 38 | func p (l) = { | |
39 | 39 | let q = { | |
40 | 40 | let n = getString(this, l) | |
41 | 41 | if ($isInstanceOf(n, "String")) | |
42 | 42 | then { | |
43 | 43 | let o = n | |
44 | 44 | o | |
45 | 45 | } | |
46 | 46 | else d | |
47 | 47 | } | |
48 | 48 | q | |
49 | 49 | } | |
50 | 50 | ||
51 | 51 | ||
52 | 52 | func r (s,t) = (((s + "_") + t) + "_commit") | |
53 | 53 | ||
54 | 54 | ||
55 | 55 | func u (s,t) = p(r(s, t)) | |
56 | 56 | ||
57 | 57 | ||
58 | 58 | func v (s) = (s + "_comcnt") | |
59 | 59 | ||
60 | 60 | ||
61 | 61 | func w (s) = k(v(s)) | |
62 | 62 | ||
63 | 63 | ||
64 | 64 | func x (s,t) = (((s + "_") + t) + "_reveal") | |
65 | 65 | ||
66 | 66 | ||
67 | 67 | func y (s,t) = p(x(s, t)) | |
68 | 68 | ||
69 | 69 | ||
70 | 70 | func z (s) = (s + "_status") | |
71 | 71 | ||
72 | 72 | ||
73 | 73 | func A (s) = p(z(s)) | |
74 | 74 | ||
75 | 75 | ||
76 | 76 | func B (s,C) = ((s + "_res:") + C) | |
77 | 77 | ||
78 | 78 | ||
79 | 79 | func D (s,C) = k(B(s, C)) | |
80 | 80 | ||
81 | 81 | ||
82 | 82 | func E (s) = (s + "_price") | |
83 | 83 | ||
84 | 84 | ||
85 | 85 | func F (s) = k(E(s)) | |
86 | 86 | ||
87 | 87 | ||
88 | 88 | func G (t,s) = (((s + "user") + t) + "_cnt") | |
89 | 89 | ||
90 | 90 | ||
91 | 91 | func H (t,s) = k(G(t, s)) | |
92 | 92 | ||
93 | 93 | ||
94 | 94 | func I (J,K) = ("item_" + toBase58String(sha256(toBytes((J + K))))) | |
95 | 95 | ||
96 | 96 | ||
97 | 97 | func L (s) = (s + "_data") | |
98 | 98 | ||
99 | 99 | ||
100 | 100 | func M (s) = (s + "_owner") | |
101 | 101 | ||
102 | 102 | ||
103 | 103 | func N (s) = p(M(s)) | |
104 | 104 | ||
105 | 105 | ||
106 | 106 | func O (P) = (P + "_balance") | |
107 | 107 | ||
108 | 108 | ||
109 | 109 | func Q (P) = k(O(P)) | |
110 | 110 | ||
111 | 111 | ||
112 | 112 | @Callable(R) | |
113 | 113 | func purchase (s) = { | |
114 | 114 | let S = extract(R.payment) | |
115 | 115 | if (isDefined(S.assetId)) | |
116 | 116 | then throw("Can use WAVES only at the moment") | |
117 | 117 | else { | |
118 | 118 | let T = toBase58String(R.caller.bytes) | |
119 | 119 | let U = F(s) | |
120 | 120 | let V = N(s) | |
121 | 121 | if ((U > S.amount)) | |
122 | 122 | then throw("Purchase amount can not be less than item price") | |
123 | 123 | else if ((S.amount > U)) | |
124 | 124 | then throw("Purchase amount can not be more than item price") | |
125 | 125 | else if ((V == d)) | |
126 | 126 | then throw("Supplier does not exist") | |
127 | 127 | else WriteSet([DataEntry(G(T, s), (H(T, s) + 1)), DataEntry(O(V), (Q(V) + S.amount))]) | |
128 | 128 | } | |
129 | 129 | } | |
130 | 130 | ||
131 | 131 | ||
132 | 132 | ||
133 | 133 | @Callable(R) | |
134 | 134 | func addItem (K,U,W) = { | |
135 | 135 | let V = toBase58String(R.caller.bytes) | |
136 | 136 | let s = I(V, K) | |
137 | 137 | if ((0 >= U)) | |
138 | 138 | then throw("purchase amount can not be less than item price") | |
139 | 139 | else if ((N(s) != d)) | |
140 | 140 | then throw("An item is already") | |
141 | 141 | else WriteSet([DataEntry(M(s), V), DataEntry(E(s), U), DataEntry(L(s), W)]) | |
142 | 142 | } | |
143 | 143 | ||
144 | 144 | ||
145 | 145 | ||
146 | 146 | @Callable(R) | |
147 | 147 | func withdraw () = { | |
148 | 148 | let V = toBase58String(R.caller.bytes) | |
149 | 149 | let X = Q(V) | |
150 | 150 | if ((0 >= X)) | |
151 | 151 | then throw("insufficient balance") | |
152 | 152 | else ScriptResult(WriteSet([DataEntry(O(V), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(V), X, unit)])) | |
153 | 153 | } | |
154 | 154 | ||
155 | 155 | ||
156 | 156 | ||
157 | 157 | @Callable(R) | |
158 | 158 | func voteCommit (s,Y) = { | |
159 | 159 | let t = toBase58String(R.caller.bytes) | |
160 | 160 | let Z = w(s) | |
161 | 161 | let aa = A(s) | |
162 | 162 | if ((Z >= e)) | |
163 | 163 | then throw("Reached max number of voters") | |
164 | 164 | else if ((u(s, t) != d)) | |
165 | 165 | then throw("User has aready participated") | |
166 | 166 | else if ((M(s) == d)) | |
167 | 167 | then throw("Item does not exist") | |
168 | 168 | else if (if ((aa != d)) | |
169 | 169 | then (aa != g) | |
170 | 170 | else false) | |
171 | 171 | then throw("Voting is not possible") | |
172 | 172 | else WriteSet([DataEntry(r(s, t), Y), DataEntry(v(s), (Z + 1)), DataEntry(z(s), if ((Z == e)) | |
173 | 173 | then h | |
174 | 174 | else g)]) | |
175 | 175 | } | |
176 | 176 | ||
177 | 177 | ||
178 | - | @Verifier(ab) | |
179 | - | func ac () = { | |
180 | - | let ad = sigVerify(ab.bodyBytes, ab.proofs[0], a) | |
181 | - | let ae = sigVerify(ab.bodyBytes, ab.proofs[1], a) | |
182 | - | let af = sigVerify(ab.bodyBytes, ab.proofs[2], a) | |
183 | - | let ag = sigVerify(ab.bodyBytes, ab.proofs[0], b) | |
184 | - | let ah = sigVerify(ab.bodyBytes, ab.proofs[1], b) | |
185 | - | let ai = sigVerify(ab.bodyBytes, ab.proofs[2], b) | |
186 | - | let aj = sigVerify(ab.bodyBytes, ab.proofs[0], c) | |
187 | - | let ak = sigVerify(ab.bodyBytes, ab.proofs[1], c) | |
188 | - | let al = sigVerify(ab.bodyBytes, ab.proofs[2], c) | |
189 | - | let am = if (if (if (if (if (if (ad) | |
190 | - | then ah | |
178 | + | ||
179 | + | @Callable(R) | |
180 | + | func voteReveal (s,C,ab) = { | |
181 | + | let t = toBase58String(R.caller.bytes) | |
182 | + | let aa = A(s) | |
183 | + | let ac = (D(s, C) + 1) | |
184 | + | if ((toBase58String(sha256(toBytes((C + ab)))) != u(s, t))) | |
185 | + | then throw("Revealed data is not valid") | |
186 | + | else if ((e > w(s))) | |
187 | + | then throw("max number of voters has not reached yet") | |
188 | + | else if ((y(s, t) != d)) | |
189 | + | then throw("User has already participated") | |
190 | + | else if (if ((aa != g)) | |
191 | + | then (aa != h) | |
192 | + | else false) | |
193 | + | then throw("Wrong status") | |
194 | + | else if (if ((C != i)) | |
195 | + | then (C != j) | |
196 | + | else false) | |
197 | + | then throw("Wrong vote") | |
198 | + | else if (if ((aa == i)) | |
199 | + | then true | |
200 | + | else (aa == j)) | |
201 | + | then throw("Vote has finished") | |
202 | + | else WriteSet([DataEntry(x(s, t), C), DataEntry(B(s, C), ac), DataEntry(z(s), if ((ac >= f)) | |
203 | + | then C | |
204 | + | else h)]) | |
205 | + | } | |
206 | + | ||
207 | + | ||
208 | + | @Verifier(ad) | |
209 | + | func ae () = { | |
210 | + | let af = sigVerify(ad.bodyBytes, ad.proofs[0], a) | |
211 | + | let ag = sigVerify(ad.bodyBytes, ad.proofs[1], a) | |
212 | + | let ah = sigVerify(ad.bodyBytes, ad.proofs[2], a) | |
213 | + | let ai = sigVerify(ad.bodyBytes, ad.proofs[0], b) | |
214 | + | let aj = sigVerify(ad.bodyBytes, ad.proofs[1], b) | |
215 | + | let ak = sigVerify(ad.bodyBytes, ad.proofs[2], b) | |
216 | + | let al = sigVerify(ad.bodyBytes, ad.proofs[0], c) | |
217 | + | let am = sigVerify(ad.bodyBytes, ad.proofs[1], c) | |
218 | + | let an = sigVerify(ad.bodyBytes, ad.proofs[2], c) | |
219 | + | let ao = if (if (if (if (if (if (af) | |
220 | + | then aj | |
191 | 221 | else false) | |
192 | 222 | then true | |
193 | - | else if (ad) | |
223 | + | else if (af) | |
224 | + | then ak | |
225 | + | else false) | |
226 | + | then true | |
227 | + | else if (ag) | |
194 | 228 | then ai | |
195 | 229 | else false) | |
196 | 230 | then true | |
197 | - | else if ( | |
198 | - | then | |
231 | + | else if (ag) | |
232 | + | then ak | |
199 | 233 | else false) | |
200 | 234 | then true | |
201 | - | else if ( | |
235 | + | else if (ah) | |
202 | 236 | then ai | |
203 | - | else false) | |
204 | - | then true | |
205 | - | else if (af) | |
206 | - | then ag | |
207 | - | else false) | |
208 | - | then true | |
209 | - | else if (af) | |
210 | - | then ah | |
211 | - | else false | |
212 | - | let an = if (if (if (if (if (if (aj) | |
213 | - | then ae | |
214 | - | else false) | |
215 | - | then true | |
216 | - | else if (aj) | |
217 | - | then af | |
218 | - | else false) | |
219 | - | then true | |
220 | - | else if (ak) | |
221 | - | then ad | |
222 | - | else false) | |
223 | - | then true | |
224 | - | else if (ak) | |
225 | - | then af | |
226 | - | else false) | |
227 | - | then true | |
228 | - | else if (al) | |
229 | - | then ad | |
230 | - | else false) | |
231 | - | then true | |
232 | - | else if (al) | |
233 | - | then ae | |
234 | - | else false | |
235 | - | let ao = if (if (if (if (if (if (ag) | |
236 | - | then ak | |
237 | - | else false) | |
238 | - | then true | |
239 | - | else if (ag) | |
240 | - | then al | |
241 | 237 | else false) | |
242 | 238 | then true | |
243 | 239 | else if (ah) | |
244 | 240 | then aj | |
241 | + | else false | |
242 | + | let ap = if (if (if (if (if (if (al) | |
243 | + | then ag | |
244 | + | else false) | |
245 | + | then true | |
246 | + | else if (al) | |
247 | + | then ah | |
245 | 248 | else false) | |
246 | 249 | then true | |
247 | - | else if (ah) | |
250 | + | else if (am) | |
251 | + | then af | |
252 | + | else false) | |
253 | + | then true | |
254 | + | else if (am) | |
255 | + | then ah | |
256 | + | else false) | |
257 | + | then true | |
258 | + | else if (an) | |
259 | + | then af | |
260 | + | else false) | |
261 | + | then true | |
262 | + | else if (an) | |
263 | + | then ag | |
264 | + | else false | |
265 | + | let aq = if (if (if (if (if (if (ai) | |
266 | + | then am | |
267 | + | else false) | |
268 | + | then true | |
269 | + | else if (ai) | |
270 | + | then an | |
271 | + | else false) | |
272 | + | then true | |
273 | + | else if (aj) | |
248 | 274 | then al | |
249 | 275 | else false) | |
250 | 276 | then true | |
251 | - | else if ( | |
252 | - | then | |
277 | + | else if (aj) | |
278 | + | then an | |
253 | 279 | else false) | |
254 | 280 | then true | |
255 | - | else if (ai) | |
256 | - | then ak | |
281 | + | else if (ak) | |
282 | + | then al | |
283 | + | else false) | |
284 | + | then true | |
285 | + | else if (ak) | |
286 | + | then am | |
257 | 287 | else false | |
258 | - | let n = | |
288 | + | let n = ad | |
259 | 289 | if ($isInstanceOf(n, "SetScriptTransaction")) | |
260 | 290 | then { | |
261 | - | let | |
291 | + | let ar = n | |
262 | 292 | true | |
263 | 293 | } | |
264 | - | else if (if ( | |
294 | + | else if (if (ao) | |
265 | 295 | then true | |
266 | - | else | |
296 | + | else ap) | |
267 | 297 | then true | |
268 | - | else | |
298 | + | else aq | |
269 | 299 | } | |
270 | 300 |
github/deemru/w8io/169f3d6 43.05 ms ◑