tx · 3RsvnpSXrxUTQXz6JCuPhV11WC9bPYMkikq2eAzFCiEA 3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ: -0.01400000 Waves 2021.10.09 01:11 [1737874] smart account 3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ > SELF 0.00000000 Waves
{ "type": 13, "id": "3RsvnpSXrxUTQXz6JCuPhV11WC9bPYMkikq2eAzFCiEA", "fee": 1400000, "feeAssetId": null, "timestamp": 1633731076129, "version": 2, "chainId": 84, "sender": "3N17JMn4WESkhCSrcEwdADBZFAe8uiuvCGQ", "senderPublicKey": "BMLuSYJ8rvQD55waCoKpzCBhJAbY8s9pp4V5ZgxuzCBD", "proofs": [ "5Cx3wbregivmHQDUidvzjbQLZdYLDww19H9UbNqMck93dASSfjrbnjjLNbJjq4SPGqE6Hq1gpdc455BLjJfPRhu8" ], "script": "base64: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", "height": 1737874, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3CyTgfTSq4jXkpZoi98f7Ku3naXpdwmxcFb1LwPHmWVJ Next: FTGctiZfB5i9VDtrwxGZN9tjSupJGbAAqxdYPikeJaVQ Diff:
Old | New | Differences | |
---|---|---|---|
11 | 11 | ||
12 | 12 | let e = (((lastBlock.timestamp - b) / c) + 1) | |
13 | 13 | ||
14 | - | let f = | |
14 | + | let f = toString(e) | |
15 | 15 | ||
16 | - | let g = ( | |
16 | + | let g = (b + ((e - 1) * c)) | |
17 | 17 | ||
18 | - | let h = | |
18 | + | let h = (g + d) | |
19 | 19 | ||
20 | - | let i = " | |
20 | + | let i = "<h1>You Voted Successfully!</h1><br>" | |
21 | 21 | ||
22 | - | let j = " | |
22 | + | let j = "DApp Need 0.0001 A4A Token as Attach payment[1]." | |
23 | 23 | ||
24 | - | let k = | |
24 | + | let k = "Min. 1 A4A required on Your Address to Vote. Please Mint or hold min. 1 A4A on this Address." | |
25 | 25 | ||
26 | - | let l = " | |
26 | + | let l = (("Incorrect asset attach, please attach " + toBase58String(a)) + " AssetID Only.") | |
27 | 27 | ||
28 | - | let m = { | |
29 | - | let n = getInteger(this, "Total_Txns") | |
30 | - | if ($isInstanceOf(n, "Int")) | |
28 | + | let m = "Please Attach Exact 0.0001 A4A To Vote." | |
29 | + | ||
30 | + | let n = (("Voting is paused for Next " + toString(((h - lastBlock.timestamp) / 60000))) + " Minutes") | |
31 | + | ||
32 | + | let o = { | |
33 | + | let p = getInteger(this, "Total_Txns") | |
34 | + | if ($isInstanceOf(p, "Int")) | |
31 | 35 | then { | |
32 | - | let | |
33 | - | | |
36 | + | let q = p | |
37 | + | q | |
34 | 38 | } | |
35 | 39 | else 0 | |
36 | 40 | } | |
37 | 41 | ||
38 | - | let | |
42 | + | let r = (o + 1) | |
39 | 43 | ||
40 | - | let | |
41 | - | let | |
42 | - | if ($isInstanceOf( | |
44 | + | let s = { | |
45 | + | let p = getInteger(this, (f + "_Total_Txns")) | |
46 | + | if ($isInstanceOf(p, "Int")) | |
43 | 47 | then { | |
44 | - | let | |
45 | - | | |
48 | + | let q = p | |
49 | + | q | |
46 | 50 | } | |
47 | 51 | else 0 | |
48 | 52 | } | |
49 | 53 | ||
50 | - | let | |
54 | + | let t = (s + 1) | |
51 | 55 | ||
52 | - | @Callable( | |
56 | + | @Callable(u) | |
53 | 57 | func Chainlink () = { | |
54 | - | let | |
55 | - | let | |
56 | - | then | |
57 | - | else throw( | |
58 | - | let | |
59 | - | let | |
60 | - | let | |
61 | - | let | |
62 | - | if ($isInstanceOf( | |
58 | + | let v = "Chainlink" | |
59 | + | let w = if ((size(u.payments) == 1)) | |
60 | + | then u.payments[0] | |
61 | + | else throw(j) | |
62 | + | let x = toBase58String(u.caller.bytes) | |
63 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
64 | + | let z = { | |
65 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
66 | + | if ($isInstanceOf(p, "Int")) | |
63 | 67 | then { | |
64 | - | let o = n | |
65 | - | o | |
66 | - | } | |
67 | - | else 0 | |
68 | - | } | |
69 | - | let y = (x + 1) | |
70 | - | let z = { | |
71 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
72 | - | if ($isInstanceOf(n, "Int")) | |
73 | - | then { | |
74 | - | let o = n | |
75 | - | o | |
68 | + | let q = p | |
69 | + | q | |
76 | 70 | } | |
77 | 71 | else 0 | |
78 | 72 | } | |
79 | 73 | let A = (z + 1) | |
80 | 74 | let B = { | |
81 | - | let | |
82 | - | if ($isInstanceOf( | |
75 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
76 | + | if ($isInstanceOf(p, "Int")) | |
83 | 77 | then { | |
84 | - | let | |
85 | - | | |
78 | + | let q = p | |
79 | + | q | |
86 | 80 | } | |
87 | 81 | else 0 | |
88 | 82 | } | |
89 | 83 | let C = (B + 1) | |
90 | 84 | let D = { | |
91 | - | let | |
92 | - | if ($isInstanceOf( | |
85 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
86 | + | if ($isInstanceOf(p, "Int")) | |
93 | 87 | then { | |
94 | - | let | |
95 | - | | |
88 | + | let q = p | |
89 | + | q | |
96 | 90 | } | |
97 | 91 | else 0 | |
98 | 92 | } | |
99 | 93 | let E = (D + 1) | |
100 | 94 | let F = { | |
101 | - | let | |
102 | - | if ($isInstanceOf( | |
95 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
96 | + | if ($isInstanceOf(p, "Int")) | |
103 | 97 | then { | |
104 | - | let | |
105 | - | | |
98 | + | let q = p | |
99 | + | q | |
106 | 100 | } | |
107 | 101 | else 0 | |
108 | 102 | } | |
109 | 103 | let G = (F + 1) | |
110 | 104 | let H = { | |
111 | - | let | |
112 | - | if ($isInstanceOf( | |
105 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
106 | + | if ($isInstanceOf(p, "Int")) | |
113 | 107 | then { | |
114 | - | let | |
115 | - | | |
108 | + | let q = p | |
109 | + | q | |
116 | 110 | } | |
117 | 111 | else 0 | |
118 | 112 | } | |
119 | 113 | let I = (H + 1) | |
120 | - | if ((100000000 > w)) | |
121 | - | then throw(j) | |
122 | - | else if ((u.assetId != a)) | |
123 | - | then throw(k) | |
124 | - | else if ((u.amount != 10000)) | |
125 | - | then throw(l) | |
126 | - | else if ((g > lastBlock.timestamp)) | |
127 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
128 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
114 | + | let J = { | |
115 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
116 | + | if ($isInstanceOf(p, "Int")) | |
117 | + | then { | |
118 | + | let q = p | |
119 | + | q | |
120 | + | } | |
121 | + | else 0 | |
122 | + | } | |
123 | + | let K = (J + 1) | |
124 | + | if ((100000000 > y)) | |
125 | + | then throw(k) | |
126 | + | else if ((w.assetId != a)) | |
127 | + | then throw(l) | |
128 | + | else if ((w.amount != 10000)) | |
129 | + | then throw(m) | |
130 | + | else if ((h > lastBlock.timestamp)) | |
131 | + | then throw(n) | |
132 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
129 | 133 | } | |
130 | 134 | ||
131 | 135 | ||
132 | 136 | ||
133 | - | @Callable( | |
137 | + | @Callable(u) | |
134 | 138 | func Dent () = { | |
135 | - | let | |
136 | - | let | |
137 | - | then | |
138 | - | else throw( | |
139 | - | let | |
140 | - | let | |
141 | - | let | |
142 | - | let | |
143 | - | if ($isInstanceOf( | |
139 | + | let v = "Dent" | |
140 | + | let w = if ((size(u.payments) == 1)) | |
141 | + | then u.payments[0] | |
142 | + | else throw(j) | |
143 | + | let x = toBase58String(u.caller.bytes) | |
144 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
145 | + | let z = { | |
146 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
147 | + | if ($isInstanceOf(p, "Int")) | |
144 | 148 | then { | |
145 | - | let o = n | |
146 | - | o | |
147 | - | } | |
148 | - | else 0 | |
149 | - | } | |
150 | - | let y = (x + 1) | |
151 | - | let z = { | |
152 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
153 | - | if ($isInstanceOf(n, "Int")) | |
154 | - | then { | |
155 | - | let o = n | |
156 | - | o | |
149 | + | let q = p | |
150 | + | q | |
157 | 151 | } | |
158 | 152 | else 0 | |
159 | 153 | } | |
160 | 154 | let A = (z + 1) | |
161 | 155 | let B = { | |
162 | - | let | |
163 | - | if ($isInstanceOf( | |
156 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
157 | + | if ($isInstanceOf(p, "Int")) | |
164 | 158 | then { | |
165 | - | let | |
166 | - | | |
159 | + | let q = p | |
160 | + | q | |
167 | 161 | } | |
168 | 162 | else 0 | |
169 | 163 | } | |
170 | 164 | let C = (B + 1) | |
171 | 165 | let D = { | |
172 | - | let | |
173 | - | if ($isInstanceOf( | |
166 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
167 | + | if ($isInstanceOf(p, "Int")) | |
174 | 168 | then { | |
175 | - | let | |
176 | - | | |
169 | + | let q = p | |
170 | + | q | |
177 | 171 | } | |
178 | 172 | else 0 | |
179 | 173 | } | |
180 | 174 | let E = (D + 1) | |
181 | 175 | let F = { | |
182 | - | let | |
183 | - | if ($isInstanceOf( | |
176 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
177 | + | if ($isInstanceOf(p, "Int")) | |
184 | 178 | then { | |
185 | - | let | |
186 | - | | |
179 | + | let q = p | |
180 | + | q | |
187 | 181 | } | |
188 | 182 | else 0 | |
189 | 183 | } | |
190 | 184 | let G = (F + 1) | |
191 | 185 | let H = { | |
192 | - | let | |
193 | - | if ($isInstanceOf( | |
186 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
187 | + | if ($isInstanceOf(p, "Int")) | |
194 | 188 | then { | |
195 | - | let | |
196 | - | | |
189 | + | let q = p | |
190 | + | q | |
197 | 191 | } | |
198 | 192 | else 0 | |
199 | 193 | } | |
200 | 194 | let I = (H + 1) | |
201 | - | if ((100000000 > w)) | |
202 | - | then throw(j) | |
203 | - | else if ((u.assetId != a)) | |
204 | - | then throw(k) | |
205 | - | else if ((u.amount != 10000)) | |
206 | - | then throw(l) | |
207 | - | else if ((g > lastBlock.timestamp)) | |
208 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
209 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
195 | + | let J = { | |
196 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
197 | + | if ($isInstanceOf(p, "Int")) | |
198 | + | then { | |
199 | + | let q = p | |
200 | + | q | |
201 | + | } | |
202 | + | else 0 | |
203 | + | } | |
204 | + | let K = (J + 1) | |
205 | + | if ((100000000 > y)) | |
206 | + | then throw(k) | |
207 | + | else if ((w.assetId != a)) | |
208 | + | then throw(l) | |
209 | + | else if ((w.amount != 10000)) | |
210 | + | then throw(m) | |
211 | + | else if ((h > lastBlock.timestamp)) | |
212 | + | then throw(n) | |
213 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
210 | 214 | } | |
211 | 215 | ||
212 | 216 | ||
213 | 217 | ||
214 | - | @Callable( | |
218 | + | @Callable(u) | |
215 | 219 | func Sushi () = { | |
216 | - | let | |
217 | - | let | |
218 | - | then | |
219 | - | else throw( | |
220 | - | let | |
221 | - | let | |
222 | - | let | |
223 | - | let | |
224 | - | if ($isInstanceOf( | |
220 | + | let v = "Sushi" | |
221 | + | let w = if ((size(u.payments) == 1)) | |
222 | + | then u.payments[0] | |
223 | + | else throw(j) | |
224 | + | let x = toBase58String(u.caller.bytes) | |
225 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
226 | + | let z = { | |
227 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
228 | + | if ($isInstanceOf(p, "Int")) | |
225 | 229 | then { | |
226 | - | let o = n | |
227 | - | o | |
228 | - | } | |
229 | - | else 0 | |
230 | - | } | |
231 | - | let y = (x + 1) | |
232 | - | let z = { | |
233 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
234 | - | if ($isInstanceOf(n, "Int")) | |
235 | - | then { | |
236 | - | let o = n | |
237 | - | o | |
230 | + | let q = p | |
231 | + | q | |
238 | 232 | } | |
239 | 233 | else 0 | |
240 | 234 | } | |
241 | 235 | let A = (z + 1) | |
242 | 236 | let B = { | |
243 | - | let | |
244 | - | if ($isInstanceOf( | |
237 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
238 | + | if ($isInstanceOf(p, "Int")) | |
245 | 239 | then { | |
246 | - | let | |
247 | - | | |
240 | + | let q = p | |
241 | + | q | |
248 | 242 | } | |
249 | 243 | else 0 | |
250 | 244 | } | |
251 | 245 | let C = (B + 1) | |
252 | 246 | let D = { | |
253 | - | let | |
254 | - | if ($isInstanceOf( | |
247 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
248 | + | if ($isInstanceOf(p, "Int")) | |
255 | 249 | then { | |
256 | - | let | |
257 | - | | |
250 | + | let q = p | |
251 | + | q | |
258 | 252 | } | |
259 | 253 | else 0 | |
260 | 254 | } | |
261 | 255 | let E = (D + 1) | |
262 | 256 | let F = { | |
263 | - | let | |
264 | - | if ($isInstanceOf( | |
257 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
258 | + | if ($isInstanceOf(p, "Int")) | |
265 | 259 | then { | |
266 | - | let | |
267 | - | | |
260 | + | let q = p | |
261 | + | q | |
268 | 262 | } | |
269 | 263 | else 0 | |
270 | 264 | } | |
271 | 265 | let G = (F + 1) | |
272 | 266 | let H = { | |
273 | - | let | |
274 | - | if ($isInstanceOf( | |
267 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
268 | + | if ($isInstanceOf(p, "Int")) | |
275 | 269 | then { | |
276 | - | let | |
277 | - | | |
270 | + | let q = p | |
271 | + | q | |
278 | 272 | } | |
279 | 273 | else 0 | |
280 | 274 | } | |
281 | 275 | let I = (H + 1) | |
282 | - | if ((100000000 > w)) | |
283 | - | then throw(j) | |
284 | - | else if ((u.assetId != a)) | |
285 | - | then throw(k) | |
286 | - | else if ((u.amount != 10000)) | |
287 | - | then throw(l) | |
288 | - | else if ((g > lastBlock.timestamp)) | |
289 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
290 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
276 | + | let J = { | |
277 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
278 | + | if ($isInstanceOf(p, "Int")) | |
279 | + | then { | |
280 | + | let q = p | |
281 | + | q | |
282 | + | } | |
283 | + | else 0 | |
284 | + | } | |
285 | + | let K = (J + 1) | |
286 | + | if ((100000000 > y)) | |
287 | + | then throw(k) | |
288 | + | else if ((w.assetId != a)) | |
289 | + | then throw(l) | |
290 | + | else if ((w.amount != 10000)) | |
291 | + | then throw(m) | |
292 | + | else if ((h > lastBlock.timestamp)) | |
293 | + | then throw(n) | |
294 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
291 | 295 | } | |
292 | 296 | ||
293 | 297 | ||
294 | 298 | ||
295 | - | @Callable( | |
299 | + | @Callable(u) | |
296 | 300 | func Compound () = { | |
297 | - | let | |
298 | - | let | |
299 | - | then | |
300 | - | else throw( | |
301 | - | let | |
302 | - | let | |
303 | - | let | |
304 | - | let | |
305 | - | if ($isInstanceOf( | |
301 | + | let v = "Compound" | |
302 | + | let w = if ((size(u.payments) == 1)) | |
303 | + | then u.payments[0] | |
304 | + | else throw(j) | |
305 | + | let x = toBase58String(u.caller.bytes) | |
306 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
307 | + | let z = { | |
308 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
309 | + | if ($isInstanceOf(p, "Int")) | |
306 | 310 | then { | |
307 | - | let o = n | |
308 | - | o | |
309 | - | } | |
310 | - | else 0 | |
311 | - | } | |
312 | - | let y = (x + 1) | |
313 | - | let z = { | |
314 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
315 | - | if ($isInstanceOf(n, "Int")) | |
316 | - | then { | |
317 | - | let o = n | |
318 | - | o | |
311 | + | let q = p | |
312 | + | q | |
319 | 313 | } | |
320 | 314 | else 0 | |
321 | 315 | } | |
322 | 316 | let A = (z + 1) | |
323 | 317 | let B = { | |
324 | - | let | |
325 | - | if ($isInstanceOf( | |
318 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
319 | + | if ($isInstanceOf(p, "Int")) | |
326 | 320 | then { | |
327 | - | let | |
328 | - | | |
321 | + | let q = p | |
322 | + | q | |
329 | 323 | } | |
330 | 324 | else 0 | |
331 | 325 | } | |
332 | 326 | let C = (B + 1) | |
333 | 327 | let D = { | |
334 | - | let | |
335 | - | if ($isInstanceOf( | |
328 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
329 | + | if ($isInstanceOf(p, "Int")) | |
336 | 330 | then { | |
337 | - | let | |
338 | - | | |
331 | + | let q = p | |
332 | + | q | |
339 | 333 | } | |
340 | 334 | else 0 | |
341 | 335 | } | |
342 | 336 | let E = (D + 1) | |
343 | 337 | let F = { | |
344 | - | let | |
345 | - | if ($isInstanceOf( | |
338 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
339 | + | if ($isInstanceOf(p, "Int")) | |
346 | 340 | then { | |
347 | - | let | |
348 | - | | |
341 | + | let q = p | |
342 | + | q | |
349 | 343 | } | |
350 | 344 | else 0 | |
351 | 345 | } | |
352 | 346 | let G = (F + 1) | |
353 | 347 | let H = { | |
354 | - | let | |
355 | - | if ($isInstanceOf( | |
348 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
349 | + | if ($isInstanceOf(p, "Int")) | |
356 | 350 | then { | |
357 | - | let | |
358 | - | | |
351 | + | let q = p | |
352 | + | q | |
359 | 353 | } | |
360 | 354 | else 0 | |
361 | 355 | } | |
362 | 356 | let I = (H + 1) | |
363 | - | if ((100000000 > w)) | |
364 | - | then throw(j) | |
365 | - | else if ((u.assetId != a)) | |
366 | - | then throw(k) | |
367 | - | else if ((u.amount != 10000)) | |
368 | - | then throw(l) | |
369 | - | else if ((g > lastBlock.timestamp)) | |
370 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
371 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
357 | + | let J = { | |
358 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
359 | + | if ($isInstanceOf(p, "Int")) | |
360 | + | then { | |
361 | + | let q = p | |
362 | + | q | |
363 | + | } | |
364 | + | else 0 | |
365 | + | } | |
366 | + | let K = (J + 1) | |
367 | + | if ((100000000 > y)) | |
368 | + | then throw(k) | |
369 | + | else if ((w.assetId != a)) | |
370 | + | then throw(l) | |
371 | + | else if ((w.amount != 10000)) | |
372 | + | then throw(m) | |
373 | + | else if ((h > lastBlock.timestamp)) | |
374 | + | then throw(n) | |
375 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
372 | 376 | } | |
373 | 377 | ||
374 | 378 | ||
375 | 379 | ||
376 | - | @Callable( | |
380 | + | @Callable(u) | |
377 | 381 | func Haven () = { | |
378 | - | let | |
379 | - | let | |
380 | - | then | |
381 | - | else throw( | |
382 | - | let | |
383 | - | let | |
384 | - | let | |
385 | - | let | |
386 | - | if ($isInstanceOf( | |
382 | + | let v = "Haven" | |
383 | + | let w = if ((size(u.payments) == 1)) | |
384 | + | then u.payments[0] | |
385 | + | else throw(j) | |
386 | + | let x = toBase58String(u.caller.bytes) | |
387 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
388 | + | let z = { | |
389 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
390 | + | if ($isInstanceOf(p, "Int")) | |
387 | 391 | then { | |
388 | - | let o = n | |
389 | - | o | |
390 | - | } | |
391 | - | else 0 | |
392 | - | } | |
393 | - | let y = (x + 1) | |
394 | - | let z = { | |
395 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
396 | - | if ($isInstanceOf(n, "Int")) | |
397 | - | then { | |
398 | - | let o = n | |
399 | - | o | |
392 | + | let q = p | |
393 | + | q | |
400 | 394 | } | |
401 | 395 | else 0 | |
402 | 396 | } | |
403 | 397 | let A = (z + 1) | |
404 | 398 | let B = { | |
405 | - | let | |
406 | - | if ($isInstanceOf( | |
399 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
400 | + | if ($isInstanceOf(p, "Int")) | |
407 | 401 | then { | |
408 | - | let | |
409 | - | | |
402 | + | let q = p | |
403 | + | q | |
410 | 404 | } | |
411 | 405 | else 0 | |
412 | 406 | } | |
413 | 407 | let C = (B + 1) | |
414 | 408 | let D = { | |
415 | - | let | |
416 | - | if ($isInstanceOf( | |
409 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
410 | + | if ($isInstanceOf(p, "Int")) | |
417 | 411 | then { | |
418 | - | let | |
419 | - | | |
412 | + | let q = p | |
413 | + | q | |
420 | 414 | } | |
421 | 415 | else 0 | |
422 | 416 | } | |
423 | 417 | let E = (D + 1) | |
424 | 418 | let F = { | |
425 | - | let | |
426 | - | if ($isInstanceOf( | |
419 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
420 | + | if ($isInstanceOf(p, "Int")) | |
427 | 421 | then { | |
428 | - | let | |
429 | - | | |
422 | + | let q = p | |
423 | + | q | |
430 | 424 | } | |
431 | 425 | else 0 | |
432 | 426 | } | |
433 | 427 | let G = (F + 1) | |
434 | 428 | let H = { | |
435 | - | let | |
436 | - | if ($isInstanceOf( | |
429 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
430 | + | if ($isInstanceOf(p, "Int")) | |
437 | 431 | then { | |
438 | - | let | |
439 | - | | |
432 | + | let q = p | |
433 | + | q | |
440 | 434 | } | |
441 | 435 | else 0 | |
442 | 436 | } | |
443 | 437 | let I = (H + 1) | |
444 | - | if ((100000000 > w)) | |
445 | - | then throw(j) | |
446 | - | else if ((u.assetId != a)) | |
447 | - | then throw(k) | |
448 | - | else if ((u.amount != 10000)) | |
449 | - | then throw(l) | |
450 | - | else if ((g > lastBlock.timestamp)) | |
451 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
452 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
438 | + | let J = { | |
439 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
440 | + | if ($isInstanceOf(p, "Int")) | |
441 | + | then { | |
442 | + | let q = p | |
443 | + | q | |
444 | + | } | |
445 | + | else 0 | |
446 | + | } | |
447 | + | let K = (J + 1) | |
448 | + | if ((100000000 > y)) | |
449 | + | then throw(k) | |
450 | + | else if ((w.assetId != a)) | |
451 | + | then throw(l) | |
452 | + | else if ((w.amount != 10000)) | |
453 | + | then throw(m) | |
454 | + | else if ((h > lastBlock.timestamp)) | |
455 | + | then throw(n) | |
456 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
453 | 457 | } | |
454 | 458 | ||
455 | 459 | ||
456 | 460 | ||
457 | - | @Callable( | |
461 | + | @Callable(u) | |
458 | 462 | func PirateChain () = { | |
459 | - | let | |
460 | - | let | |
461 | - | then | |
462 | - | else throw( | |
463 | - | let | |
464 | - | let | |
465 | - | let | |
466 | - | let | |
467 | - | if ($isInstanceOf( | |
463 | + | let v = "PirateChain" | |
464 | + | let w = if ((size(u.payments) == 1)) | |
465 | + | then u.payments[0] | |
466 | + | else throw(j) | |
467 | + | let x = toBase58String(u.caller.bytes) | |
468 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
469 | + | let z = { | |
470 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
471 | + | if ($isInstanceOf(p, "Int")) | |
468 | 472 | then { | |
469 | - | let o = n | |
470 | - | o | |
471 | - | } | |
472 | - | else 0 | |
473 | - | } | |
474 | - | let y = (x + 1) | |
475 | - | let z = { | |
476 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
477 | - | if ($isInstanceOf(n, "Int")) | |
478 | - | then { | |
479 | - | let o = n | |
480 | - | o | |
473 | + | let q = p | |
474 | + | q | |
481 | 475 | } | |
482 | 476 | else 0 | |
483 | 477 | } | |
484 | 478 | let A = (z + 1) | |
485 | 479 | let B = { | |
486 | - | let | |
487 | - | if ($isInstanceOf( | |
480 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
481 | + | if ($isInstanceOf(p, "Int")) | |
488 | 482 | then { | |
489 | - | let | |
490 | - | | |
483 | + | let q = p | |
484 | + | q | |
491 | 485 | } | |
492 | 486 | else 0 | |
493 | 487 | } | |
494 | 488 | let C = (B + 1) | |
495 | 489 | let D = { | |
496 | - | let | |
497 | - | if ($isInstanceOf( | |
490 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
491 | + | if ($isInstanceOf(p, "Int")) | |
498 | 492 | then { | |
499 | - | let | |
500 | - | | |
493 | + | let q = p | |
494 | + | q | |
501 | 495 | } | |
502 | 496 | else 0 | |
503 | 497 | } | |
504 | 498 | let E = (D + 1) | |
505 | 499 | let F = { | |
506 | - | let | |
507 | - | if ($isInstanceOf( | |
500 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
501 | + | if ($isInstanceOf(p, "Int")) | |
508 | 502 | then { | |
509 | - | let | |
510 | - | | |
503 | + | let q = p | |
504 | + | q | |
511 | 505 | } | |
512 | 506 | else 0 | |
513 | 507 | } | |
514 | 508 | let G = (F + 1) | |
515 | 509 | let H = { | |
516 | - | let | |
517 | - | if ($isInstanceOf( | |
510 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
511 | + | if ($isInstanceOf(p, "Int")) | |
518 | 512 | then { | |
519 | - | let | |
520 | - | | |
513 | + | let q = p | |
514 | + | q | |
521 | 515 | } | |
522 | 516 | else 0 | |
523 | 517 | } | |
524 | 518 | let I = (H + 1) | |
525 | - | if ((100000000 > w)) | |
526 | - | then throw(j) | |
527 | - | else if ((u.assetId != a)) | |
528 | - | then throw(k) | |
529 | - | else if ((u.amount != 10000)) | |
530 | - | then throw(l) | |
531 | - | else if ((g > lastBlock.timestamp)) | |
532 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
533 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
519 | + | let J = { | |
520 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
521 | + | if ($isInstanceOf(p, "Int")) | |
522 | + | then { | |
523 | + | let q = p | |
524 | + | q | |
525 | + | } | |
526 | + | else 0 | |
527 | + | } | |
528 | + | let K = (J + 1) | |
529 | + | if ((100000000 > y)) | |
530 | + | then throw(k) | |
531 | + | else if ((w.assetId != a)) | |
532 | + | then throw(l) | |
533 | + | else if ((w.amount != 10000)) | |
534 | + | then throw(m) | |
535 | + | else if ((h > lastBlock.timestamp)) | |
536 | + | then throw(n) | |
537 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
534 | 538 | } | |
535 | 539 | ||
536 | 540 | ||
537 | 541 | ||
538 | - | @Callable( | |
542 | + | @Callable(u) | |
539 | 543 | func Monero () = { | |
540 | - | let | |
541 | - | let | |
542 | - | then | |
543 | - | else throw( | |
544 | - | let | |
545 | - | let | |
546 | - | let | |
547 | - | let | |
548 | - | if ($isInstanceOf( | |
544 | + | let v = "Monero" | |
545 | + | let w = if ((size(u.payments) == 1)) | |
546 | + | then u.payments[0] | |
547 | + | else throw(j) | |
548 | + | let x = toBase58String(u.caller.bytes) | |
549 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
550 | + | let z = { | |
551 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
552 | + | if ($isInstanceOf(p, "Int")) | |
549 | 553 | then { | |
550 | - | let o = n | |
551 | - | o | |
552 | - | } | |
553 | - | else 0 | |
554 | - | } | |
555 | - | let y = (x + 1) | |
556 | - | let z = { | |
557 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
558 | - | if ($isInstanceOf(n, "Int")) | |
559 | - | then { | |
560 | - | let o = n | |
561 | - | o | |
554 | + | let q = p | |
555 | + | q | |
562 | 556 | } | |
563 | 557 | else 0 | |
564 | 558 | } | |
565 | 559 | let A = (z + 1) | |
566 | 560 | let B = { | |
567 | - | let | |
568 | - | if ($isInstanceOf( | |
561 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
562 | + | if ($isInstanceOf(p, "Int")) | |
569 | 563 | then { | |
570 | - | let | |
571 | - | | |
564 | + | let q = p | |
565 | + | q | |
572 | 566 | } | |
573 | 567 | else 0 | |
574 | 568 | } | |
575 | 569 | let C = (B + 1) | |
576 | 570 | let D = { | |
577 | - | let | |
578 | - | if ($isInstanceOf( | |
571 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
572 | + | if ($isInstanceOf(p, "Int")) | |
579 | 573 | then { | |
580 | - | let | |
581 | - | | |
574 | + | let q = p | |
575 | + | q | |
582 | 576 | } | |
583 | 577 | else 0 | |
584 | 578 | } | |
585 | 579 | let E = (D + 1) | |
586 | 580 | let F = { | |
587 | - | let | |
588 | - | if ($isInstanceOf( | |
581 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
582 | + | if ($isInstanceOf(p, "Int")) | |
589 | 583 | then { | |
590 | - | let | |
591 | - | | |
584 | + | let q = p | |
585 | + | q | |
592 | 586 | } | |
593 | 587 | else 0 | |
594 | 588 | } | |
595 | 589 | let G = (F + 1) | |
596 | 590 | let H = { | |
597 | - | let | |
598 | - | if ($isInstanceOf( | |
591 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
592 | + | if ($isInstanceOf(p, "Int")) | |
599 | 593 | then { | |
600 | - | let | |
601 | - | | |
594 | + | let q = p | |
595 | + | q | |
602 | 596 | } | |
603 | 597 | else 0 | |
604 | 598 | } | |
605 | 599 | let I = (H + 1) | |
606 | - | if ((100000000 > w)) | |
607 | - | then throw(j) | |
608 | - | else if ((u.assetId != a)) | |
609 | - | then throw(k) | |
610 | - | else if ((u.amount != 10000)) | |
611 | - | then throw(l) | |
612 | - | else if ((g > lastBlock.timestamp)) | |
613 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
614 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
600 | + | let J = { | |
601 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
602 | + | if ($isInstanceOf(p, "Int")) | |
603 | + | then { | |
604 | + | let q = p | |
605 | + | q | |
606 | + | } | |
607 | + | else 0 | |
608 | + | } | |
609 | + | let K = (J + 1) | |
610 | + | if ((100000000 > y)) | |
611 | + | then throw(k) | |
612 | + | else if ((w.assetId != a)) | |
613 | + | then throw(l) | |
614 | + | else if ((w.amount != 10000)) | |
615 | + | then throw(m) | |
616 | + | else if ((h > lastBlock.timestamp)) | |
617 | + | then throw(n) | |
618 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
615 | 619 | } | |
616 | 620 | ||
617 | 621 | ||
618 | 622 | ||
619 | - | @Callable( | |
623 | + | @Callable(u) | |
620 | 624 | func PRCY () = { | |
621 | - | let | |
622 | - | let | |
623 | - | then | |
624 | - | else throw( | |
625 | - | let | |
626 | - | let | |
627 | - | let | |
628 | - | let | |
629 | - | if ($isInstanceOf( | |
625 | + | let v = "Privacy" | |
626 | + | let w = if ((size(u.payments) == 1)) | |
627 | + | then u.payments[0] | |
628 | + | else throw(j) | |
629 | + | let x = toBase58String(u.caller.bytes) | |
630 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
631 | + | let z = { | |
632 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
633 | + | if ($isInstanceOf(p, "Int")) | |
630 | 634 | then { | |
631 | - | let o = n | |
632 | - | o | |
633 | - | } | |
634 | - | else 0 | |
635 | - | } | |
636 | - | let y = (x + 1) | |
637 | - | let z = { | |
638 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
639 | - | if ($isInstanceOf(n, "Int")) | |
640 | - | then { | |
641 | - | let o = n | |
642 | - | o | |
635 | + | let q = p | |
636 | + | q | |
643 | 637 | } | |
644 | 638 | else 0 | |
645 | 639 | } | |
646 | 640 | let A = (z + 1) | |
647 | 641 | let B = { | |
648 | - | let | |
649 | - | if ($isInstanceOf( | |
642 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
643 | + | if ($isInstanceOf(p, "Int")) | |
650 | 644 | then { | |
651 | - | let | |
652 | - | | |
645 | + | let q = p | |
646 | + | q | |
653 | 647 | } | |
654 | 648 | else 0 | |
655 | 649 | } | |
656 | 650 | let C = (B + 1) | |
657 | 651 | let D = { | |
658 | - | let | |
659 | - | if ($isInstanceOf( | |
652 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
653 | + | if ($isInstanceOf(p, "Int")) | |
660 | 654 | then { | |
661 | - | let | |
662 | - | | |
655 | + | let q = p | |
656 | + | q | |
663 | 657 | } | |
664 | 658 | else 0 | |
665 | 659 | } | |
666 | 660 | let E = (D + 1) | |
667 | 661 | let F = { | |
668 | - | let | |
669 | - | if ($isInstanceOf( | |
662 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
663 | + | if ($isInstanceOf(p, "Int")) | |
670 | 664 | then { | |
671 | - | let | |
672 | - | | |
665 | + | let q = p | |
666 | + | q | |
673 | 667 | } | |
674 | 668 | else 0 | |
675 | 669 | } | |
676 | 670 | let G = (F + 1) | |
677 | 671 | let H = { | |
678 | - | let | |
679 | - | if ($isInstanceOf( | |
672 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
673 | + | if ($isInstanceOf(p, "Int")) | |
680 | 674 | then { | |
681 | - | let | |
682 | - | | |
675 | + | let q = p | |
676 | + | q | |
683 | 677 | } | |
684 | 678 | else 0 | |
685 | 679 | } | |
686 | 680 | let I = (H + 1) | |
687 | - | if ((100000000 > w)) | |
688 | - | then throw(j) | |
689 | - | else if ((u.assetId != a)) | |
690 | - | then throw(k) | |
691 | - | else if ((u.amount != 10000)) | |
692 | - | then throw(l) | |
693 | - | else if ((g > lastBlock.timestamp)) | |
694 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
695 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
681 | + | let J = { | |
682 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
683 | + | if ($isInstanceOf(p, "Int")) | |
684 | + | then { | |
685 | + | let q = p | |
686 | + | q | |
687 | + | } | |
688 | + | else 0 | |
689 | + | } | |
690 | + | let K = (J + 1) | |
691 | + | if ((100000000 > y)) | |
692 | + | then throw(k) | |
693 | + | else if ((w.assetId != a)) | |
694 | + | then throw(l) | |
695 | + | else if ((w.amount != 10000)) | |
696 | + | then throw(m) | |
697 | + | else if ((h > lastBlock.timestamp)) | |
698 | + | then throw(n) | |
699 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
696 | 700 | } | |
697 | 701 | ||
698 | 702 | ||
699 | - | @Verifier(J) | |
700 | - | func K () = sigVerify(J.bodyBytes, J.proofs[0], J.senderPublicKey) | |
703 | + | ||
704 | + | @Callable(u) | |
705 | + | func BTC () = { | |
706 | + | let v = "Bitcoin" | |
707 | + | let w = if ((size(u.payments) == 1)) | |
708 | + | then u.payments[0] | |
709 | + | else throw(j) | |
710 | + | let x = toBase58String(u.caller.bytes) | |
711 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
712 | + | let z = { | |
713 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
714 | + | if ($isInstanceOf(p, "Int")) | |
715 | + | then { | |
716 | + | let q = p | |
717 | + | q | |
718 | + | } | |
719 | + | else 0 | |
720 | + | } | |
721 | + | let A = (z + 1) | |
722 | + | let B = { | |
723 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
724 | + | if ($isInstanceOf(p, "Int")) | |
725 | + | then { | |
726 | + | let q = p | |
727 | + | q | |
728 | + | } | |
729 | + | else 0 | |
730 | + | } | |
731 | + | let C = (B + 1) | |
732 | + | let D = { | |
733 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
734 | + | if ($isInstanceOf(p, "Int")) | |
735 | + | then { | |
736 | + | let q = p | |
737 | + | q | |
738 | + | } | |
739 | + | else 0 | |
740 | + | } | |
741 | + | let E = (D + 1) | |
742 | + | let F = { | |
743 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
744 | + | if ($isInstanceOf(p, "Int")) | |
745 | + | then { | |
746 | + | let q = p | |
747 | + | q | |
748 | + | } | |
749 | + | else 0 | |
750 | + | } | |
751 | + | let G = (F + 1) | |
752 | + | let H = { | |
753 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
754 | + | if ($isInstanceOf(p, "Int")) | |
755 | + | then { | |
756 | + | let q = p | |
757 | + | q | |
758 | + | } | |
759 | + | else 0 | |
760 | + | } | |
761 | + | let I = (H + 1) | |
762 | + | let J = { | |
763 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
764 | + | if ($isInstanceOf(p, "Int")) | |
765 | + | then { | |
766 | + | let q = p | |
767 | + | q | |
768 | + | } | |
769 | + | else 0 | |
770 | + | } | |
771 | + | let K = (J + 1) | |
772 | + | if ((100000000 > y)) | |
773 | + | then throw(k) | |
774 | + | else if ((w.assetId != a)) | |
775 | + | then throw(l) | |
776 | + | else if ((w.amount != 10000)) | |
777 | + | then throw(m) | |
778 | + | else if ((h > lastBlock.timestamp)) | |
779 | + | then throw(n) | |
780 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
781 | + | } | |
782 | + | ||
783 | + | ||
784 | + | ||
785 | + | @Callable(u) | |
786 | + | func LTC () = { | |
787 | + | let v = "Litecoin" | |
788 | + | let w = if ((size(u.payments) == 1)) | |
789 | + | then u.payments[0] | |
790 | + | else throw(j) | |
791 | + | let x = toBase58String(u.caller.bytes) | |
792 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
793 | + | let z = { | |
794 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
795 | + | if ($isInstanceOf(p, "Int")) | |
796 | + | then { | |
797 | + | let q = p | |
798 | + | q | |
799 | + | } | |
800 | + | else 0 | |
801 | + | } | |
802 | + | let A = (z + 1) | |
803 | + | let B = { | |
804 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
805 | + | if ($isInstanceOf(p, "Int")) | |
806 | + | then { | |
807 | + | let q = p | |
808 | + | q | |
809 | + | } | |
810 | + | else 0 | |
811 | + | } | |
812 | + | let C = (B + 1) | |
813 | + | let D = { | |
814 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
815 | + | if ($isInstanceOf(p, "Int")) | |
816 | + | then { | |
817 | + | let q = p | |
818 | + | q | |
819 | + | } | |
820 | + | else 0 | |
821 | + | } | |
822 | + | let E = (D + 1) | |
823 | + | let F = { | |
824 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
825 | + | if ($isInstanceOf(p, "Int")) | |
826 | + | then { | |
827 | + | let q = p | |
828 | + | q | |
829 | + | } | |
830 | + | else 0 | |
831 | + | } | |
832 | + | let G = (F + 1) | |
833 | + | let H = { | |
834 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
835 | + | if ($isInstanceOf(p, "Int")) | |
836 | + | then { | |
837 | + | let q = p | |
838 | + | q | |
839 | + | } | |
840 | + | else 0 | |
841 | + | } | |
842 | + | let I = (H + 1) | |
843 | + | let J = { | |
844 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
845 | + | if ($isInstanceOf(p, "Int")) | |
846 | + | then { | |
847 | + | let q = p | |
848 | + | q | |
849 | + | } | |
850 | + | else 0 | |
851 | + | } | |
852 | + | let K = (J + 1) | |
853 | + | if ((100000000 > y)) | |
854 | + | then throw(k) | |
855 | + | else if ((w.assetId != a)) | |
856 | + | then throw(l) | |
857 | + | else if ((w.amount != 10000)) | |
858 | + | then throw(m) | |
859 | + | else if ((h > lastBlock.timestamp)) | |
860 | + | then throw(n) | |
861 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
862 | + | } | |
863 | + | ||
864 | + | ||
865 | + | ||
866 | + | @Callable(u) | |
867 | + | func DASH () = { | |
868 | + | let v = "Dash" | |
869 | + | let w = if ((size(u.payments) == 1)) | |
870 | + | then u.payments[0] | |
871 | + | else throw(j) | |
872 | + | let x = toBase58String(u.caller.bytes) | |
873 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
874 | + | let z = { | |
875 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
876 | + | if ($isInstanceOf(p, "Int")) | |
877 | + | then { | |
878 | + | let q = p | |
879 | + | q | |
880 | + | } | |
881 | + | else 0 | |
882 | + | } | |
883 | + | let A = (z + 1) | |
884 | + | let B = { | |
885 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
886 | + | if ($isInstanceOf(p, "Int")) | |
887 | + | then { | |
888 | + | let q = p | |
889 | + | q | |
890 | + | } | |
891 | + | else 0 | |
892 | + | } | |
893 | + | let C = (B + 1) | |
894 | + | let D = { | |
895 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
896 | + | if ($isInstanceOf(p, "Int")) | |
897 | + | then { | |
898 | + | let q = p | |
899 | + | q | |
900 | + | } | |
901 | + | else 0 | |
902 | + | } | |
903 | + | let E = (D + 1) | |
904 | + | let F = { | |
905 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
906 | + | if ($isInstanceOf(p, "Int")) | |
907 | + | then { | |
908 | + | let q = p | |
909 | + | q | |
910 | + | } | |
911 | + | else 0 | |
912 | + | } | |
913 | + | let G = (F + 1) | |
914 | + | let H = { | |
915 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
916 | + | if ($isInstanceOf(p, "Int")) | |
917 | + | then { | |
918 | + | let q = p | |
919 | + | q | |
920 | + | } | |
921 | + | else 0 | |
922 | + | } | |
923 | + | let I = (H + 1) | |
924 | + | let J = { | |
925 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
926 | + | if ($isInstanceOf(p, "Int")) | |
927 | + | then { | |
928 | + | let q = p | |
929 | + | q | |
930 | + | } | |
931 | + | else 0 | |
932 | + | } | |
933 | + | let K = (J + 1) | |
934 | + | if ((100000000 > y)) | |
935 | + | then throw(k) | |
936 | + | else if ((w.assetId != a)) | |
937 | + | then throw(l) | |
938 | + | else if ((w.amount != 10000)) | |
939 | + | then throw(m) | |
940 | + | else if ((h > lastBlock.timestamp)) | |
941 | + | then throw(n) | |
942 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
943 | + | } | |
944 | + | ||
945 | + | ||
946 | + | ||
947 | + | @Callable(u) | |
948 | + | func BCH () = { | |
949 | + | let v = "BitcoinCash" | |
950 | + | let w = if ((size(u.payments) == 1)) | |
951 | + | then u.payments[0] | |
952 | + | else throw(j) | |
953 | + | let x = toBase58String(u.caller.bytes) | |
954 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
955 | + | let z = { | |
956 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
957 | + | if ($isInstanceOf(p, "Int")) | |
958 | + | then { | |
959 | + | let q = p | |
960 | + | q | |
961 | + | } | |
962 | + | else 0 | |
963 | + | } | |
964 | + | let A = (z + 1) | |
965 | + | let B = { | |
966 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
967 | + | if ($isInstanceOf(p, "Int")) | |
968 | + | then { | |
969 | + | let q = p | |
970 | + | q | |
971 | + | } | |
972 | + | else 0 | |
973 | + | } | |
974 | + | let C = (B + 1) | |
975 | + | let D = { | |
976 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
977 | + | if ($isInstanceOf(p, "Int")) | |
978 | + | then { | |
979 | + | let q = p | |
980 | + | q | |
981 | + | } | |
982 | + | else 0 | |
983 | + | } | |
984 | + | let E = (D + 1) | |
985 | + | let F = { | |
986 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
987 | + | if ($isInstanceOf(p, "Int")) | |
988 | + | then { | |
989 | + | let q = p | |
990 | + | q | |
991 | + | } | |
992 | + | else 0 | |
993 | + | } | |
994 | + | let G = (F + 1) | |
995 | + | let H = { | |
996 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
997 | + | if ($isInstanceOf(p, "Int")) | |
998 | + | then { | |
999 | + | let q = p | |
1000 | + | q | |
1001 | + | } | |
1002 | + | else 0 | |
1003 | + | } | |
1004 | + | let I = (H + 1) | |
1005 | + | let J = { | |
1006 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
1007 | + | if ($isInstanceOf(p, "Int")) | |
1008 | + | then { | |
1009 | + | let q = p | |
1010 | + | q | |
1011 | + | } | |
1012 | + | else 0 | |
1013 | + | } | |
1014 | + | let K = (J + 1) | |
1015 | + | if ((100000000 > y)) | |
1016 | + | then throw(k) | |
1017 | + | else if ((w.assetId != a)) | |
1018 | + | then throw(l) | |
1019 | + | else if ((w.amount != 10000)) | |
1020 | + | then throw(m) | |
1021 | + | else if ((h > lastBlock.timestamp)) | |
1022 | + | then throw(n) | |
1023 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
1024 | + | } | |
1025 | + | ||
1026 | + | ||
1027 | + | @Verifier(L) | |
1028 | + | func M () = sigVerify(L.bodyBytes, L.proofs[0], L.senderPublicKey) | |
701 | 1029 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'8hdsVCxPBVEmVUZyyX8Sd98Z9hU7Fny26W96sjKiTw8g' | |
5 | 5 | ||
6 | 6 | let b = 1628368200000 | |
7 | 7 | ||
8 | 8 | let c = 604800000 | |
9 | 9 | ||
10 | 10 | let d = 14400000 | |
11 | 11 | ||
12 | 12 | let e = (((lastBlock.timestamp - b) / c) + 1) | |
13 | 13 | ||
14 | - | let f = | |
14 | + | let f = toString(e) | |
15 | 15 | ||
16 | - | let g = ( | |
16 | + | let g = (b + ((e - 1) * c)) | |
17 | 17 | ||
18 | - | let h = | |
18 | + | let h = (g + d) | |
19 | 19 | ||
20 | - | let i = " | |
20 | + | let i = "<h1>You Voted Successfully!</h1><br>" | |
21 | 21 | ||
22 | - | let j = " | |
22 | + | let j = "DApp Need 0.0001 A4A Token as Attach payment[1]." | |
23 | 23 | ||
24 | - | let k = | |
24 | + | let k = "Min. 1 A4A required on Your Address to Vote. Please Mint or hold min. 1 A4A on this Address." | |
25 | 25 | ||
26 | - | let l = " | |
26 | + | let l = (("Incorrect asset attach, please attach " + toBase58String(a)) + " AssetID Only.") | |
27 | 27 | ||
28 | - | let m = { | |
29 | - | let n = getInteger(this, "Total_Txns") | |
30 | - | if ($isInstanceOf(n, "Int")) | |
28 | + | let m = "Please Attach Exact 0.0001 A4A To Vote." | |
29 | + | ||
30 | + | let n = (("Voting is paused for Next " + toString(((h - lastBlock.timestamp) / 60000))) + " Minutes") | |
31 | + | ||
32 | + | let o = { | |
33 | + | let p = getInteger(this, "Total_Txns") | |
34 | + | if ($isInstanceOf(p, "Int")) | |
31 | 35 | then { | |
32 | - | let | |
33 | - | | |
36 | + | let q = p | |
37 | + | q | |
34 | 38 | } | |
35 | 39 | else 0 | |
36 | 40 | } | |
37 | 41 | ||
38 | - | let | |
42 | + | let r = (o + 1) | |
39 | 43 | ||
40 | - | let | |
41 | - | let | |
42 | - | if ($isInstanceOf( | |
44 | + | let s = { | |
45 | + | let p = getInteger(this, (f + "_Total_Txns")) | |
46 | + | if ($isInstanceOf(p, "Int")) | |
43 | 47 | then { | |
44 | - | let | |
45 | - | | |
48 | + | let q = p | |
49 | + | q | |
46 | 50 | } | |
47 | 51 | else 0 | |
48 | 52 | } | |
49 | 53 | ||
50 | - | let | |
54 | + | let t = (s + 1) | |
51 | 55 | ||
52 | - | @Callable( | |
56 | + | @Callable(u) | |
53 | 57 | func Chainlink () = { | |
54 | - | let | |
55 | - | let | |
56 | - | then | |
57 | - | else throw( | |
58 | - | let | |
59 | - | let | |
60 | - | let | |
61 | - | let | |
62 | - | if ($isInstanceOf( | |
58 | + | let v = "Chainlink" | |
59 | + | let w = if ((size(u.payments) == 1)) | |
60 | + | then u.payments[0] | |
61 | + | else throw(j) | |
62 | + | let x = toBase58String(u.caller.bytes) | |
63 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
64 | + | let z = { | |
65 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
66 | + | if ($isInstanceOf(p, "Int")) | |
63 | 67 | then { | |
64 | - | let o = n | |
65 | - | o | |
66 | - | } | |
67 | - | else 0 | |
68 | - | } | |
69 | - | let y = (x + 1) | |
70 | - | let z = { | |
71 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
72 | - | if ($isInstanceOf(n, "Int")) | |
73 | - | then { | |
74 | - | let o = n | |
75 | - | o | |
68 | + | let q = p | |
69 | + | q | |
76 | 70 | } | |
77 | 71 | else 0 | |
78 | 72 | } | |
79 | 73 | let A = (z + 1) | |
80 | 74 | let B = { | |
81 | - | let | |
82 | - | if ($isInstanceOf( | |
75 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
76 | + | if ($isInstanceOf(p, "Int")) | |
83 | 77 | then { | |
84 | - | let | |
85 | - | | |
78 | + | let q = p | |
79 | + | q | |
86 | 80 | } | |
87 | 81 | else 0 | |
88 | 82 | } | |
89 | 83 | let C = (B + 1) | |
90 | 84 | let D = { | |
91 | - | let | |
92 | - | if ($isInstanceOf( | |
85 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
86 | + | if ($isInstanceOf(p, "Int")) | |
93 | 87 | then { | |
94 | - | let | |
95 | - | | |
88 | + | let q = p | |
89 | + | q | |
96 | 90 | } | |
97 | 91 | else 0 | |
98 | 92 | } | |
99 | 93 | let E = (D + 1) | |
100 | 94 | let F = { | |
101 | - | let | |
102 | - | if ($isInstanceOf( | |
95 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
96 | + | if ($isInstanceOf(p, "Int")) | |
103 | 97 | then { | |
104 | - | let | |
105 | - | | |
98 | + | let q = p | |
99 | + | q | |
106 | 100 | } | |
107 | 101 | else 0 | |
108 | 102 | } | |
109 | 103 | let G = (F + 1) | |
110 | 104 | let H = { | |
111 | - | let | |
112 | - | if ($isInstanceOf( | |
105 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
106 | + | if ($isInstanceOf(p, "Int")) | |
113 | 107 | then { | |
114 | - | let | |
115 | - | | |
108 | + | let q = p | |
109 | + | q | |
116 | 110 | } | |
117 | 111 | else 0 | |
118 | 112 | } | |
119 | 113 | let I = (H + 1) | |
120 | - | if ((100000000 > w)) | |
121 | - | then throw(j) | |
122 | - | else if ((u.assetId != a)) | |
123 | - | then throw(k) | |
124 | - | else if ((u.amount != 10000)) | |
125 | - | then throw(l) | |
126 | - | else if ((g > lastBlock.timestamp)) | |
127 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
128 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
114 | + | let J = { | |
115 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
116 | + | if ($isInstanceOf(p, "Int")) | |
117 | + | then { | |
118 | + | let q = p | |
119 | + | q | |
120 | + | } | |
121 | + | else 0 | |
122 | + | } | |
123 | + | let K = (J + 1) | |
124 | + | if ((100000000 > y)) | |
125 | + | then throw(k) | |
126 | + | else if ((w.assetId != a)) | |
127 | + | then throw(l) | |
128 | + | else if ((w.amount != 10000)) | |
129 | + | then throw(m) | |
130 | + | else if ((h > lastBlock.timestamp)) | |
131 | + | then throw(n) | |
132 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
129 | 133 | } | |
130 | 134 | ||
131 | 135 | ||
132 | 136 | ||
133 | - | @Callable( | |
137 | + | @Callable(u) | |
134 | 138 | func Dent () = { | |
135 | - | let | |
136 | - | let | |
137 | - | then | |
138 | - | else throw( | |
139 | - | let | |
140 | - | let | |
141 | - | let | |
142 | - | let | |
143 | - | if ($isInstanceOf( | |
139 | + | let v = "Dent" | |
140 | + | let w = if ((size(u.payments) == 1)) | |
141 | + | then u.payments[0] | |
142 | + | else throw(j) | |
143 | + | let x = toBase58String(u.caller.bytes) | |
144 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
145 | + | let z = { | |
146 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
147 | + | if ($isInstanceOf(p, "Int")) | |
144 | 148 | then { | |
145 | - | let o = n | |
146 | - | o | |
147 | - | } | |
148 | - | else 0 | |
149 | - | } | |
150 | - | let y = (x + 1) | |
151 | - | let z = { | |
152 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
153 | - | if ($isInstanceOf(n, "Int")) | |
154 | - | then { | |
155 | - | let o = n | |
156 | - | o | |
149 | + | let q = p | |
150 | + | q | |
157 | 151 | } | |
158 | 152 | else 0 | |
159 | 153 | } | |
160 | 154 | let A = (z + 1) | |
161 | 155 | let B = { | |
162 | - | let | |
163 | - | if ($isInstanceOf( | |
156 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
157 | + | if ($isInstanceOf(p, "Int")) | |
164 | 158 | then { | |
165 | - | let | |
166 | - | | |
159 | + | let q = p | |
160 | + | q | |
167 | 161 | } | |
168 | 162 | else 0 | |
169 | 163 | } | |
170 | 164 | let C = (B + 1) | |
171 | 165 | let D = { | |
172 | - | let | |
173 | - | if ($isInstanceOf( | |
166 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
167 | + | if ($isInstanceOf(p, "Int")) | |
174 | 168 | then { | |
175 | - | let | |
176 | - | | |
169 | + | let q = p | |
170 | + | q | |
177 | 171 | } | |
178 | 172 | else 0 | |
179 | 173 | } | |
180 | 174 | let E = (D + 1) | |
181 | 175 | let F = { | |
182 | - | let | |
183 | - | if ($isInstanceOf( | |
176 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
177 | + | if ($isInstanceOf(p, "Int")) | |
184 | 178 | then { | |
185 | - | let | |
186 | - | | |
179 | + | let q = p | |
180 | + | q | |
187 | 181 | } | |
188 | 182 | else 0 | |
189 | 183 | } | |
190 | 184 | let G = (F + 1) | |
191 | 185 | let H = { | |
192 | - | let | |
193 | - | if ($isInstanceOf( | |
186 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
187 | + | if ($isInstanceOf(p, "Int")) | |
194 | 188 | then { | |
195 | - | let | |
196 | - | | |
189 | + | let q = p | |
190 | + | q | |
197 | 191 | } | |
198 | 192 | else 0 | |
199 | 193 | } | |
200 | 194 | let I = (H + 1) | |
201 | - | if ((100000000 > w)) | |
202 | - | then throw(j) | |
203 | - | else if ((u.assetId != a)) | |
204 | - | then throw(k) | |
205 | - | else if ((u.amount != 10000)) | |
206 | - | then throw(l) | |
207 | - | else if ((g > lastBlock.timestamp)) | |
208 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
209 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
195 | + | let J = { | |
196 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
197 | + | if ($isInstanceOf(p, "Int")) | |
198 | + | then { | |
199 | + | let q = p | |
200 | + | q | |
201 | + | } | |
202 | + | else 0 | |
203 | + | } | |
204 | + | let K = (J + 1) | |
205 | + | if ((100000000 > y)) | |
206 | + | then throw(k) | |
207 | + | else if ((w.assetId != a)) | |
208 | + | then throw(l) | |
209 | + | else if ((w.amount != 10000)) | |
210 | + | then throw(m) | |
211 | + | else if ((h > lastBlock.timestamp)) | |
212 | + | then throw(n) | |
213 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
210 | 214 | } | |
211 | 215 | ||
212 | 216 | ||
213 | 217 | ||
214 | - | @Callable( | |
218 | + | @Callable(u) | |
215 | 219 | func Sushi () = { | |
216 | - | let | |
217 | - | let | |
218 | - | then | |
219 | - | else throw( | |
220 | - | let | |
221 | - | let | |
222 | - | let | |
223 | - | let | |
224 | - | if ($isInstanceOf( | |
220 | + | let v = "Sushi" | |
221 | + | let w = if ((size(u.payments) == 1)) | |
222 | + | then u.payments[0] | |
223 | + | else throw(j) | |
224 | + | let x = toBase58String(u.caller.bytes) | |
225 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
226 | + | let z = { | |
227 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
228 | + | if ($isInstanceOf(p, "Int")) | |
225 | 229 | then { | |
226 | - | let o = n | |
227 | - | o | |
228 | - | } | |
229 | - | else 0 | |
230 | - | } | |
231 | - | let y = (x + 1) | |
232 | - | let z = { | |
233 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
234 | - | if ($isInstanceOf(n, "Int")) | |
235 | - | then { | |
236 | - | let o = n | |
237 | - | o | |
230 | + | let q = p | |
231 | + | q | |
238 | 232 | } | |
239 | 233 | else 0 | |
240 | 234 | } | |
241 | 235 | let A = (z + 1) | |
242 | 236 | let B = { | |
243 | - | let | |
244 | - | if ($isInstanceOf( | |
237 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
238 | + | if ($isInstanceOf(p, "Int")) | |
245 | 239 | then { | |
246 | - | let | |
247 | - | | |
240 | + | let q = p | |
241 | + | q | |
248 | 242 | } | |
249 | 243 | else 0 | |
250 | 244 | } | |
251 | 245 | let C = (B + 1) | |
252 | 246 | let D = { | |
253 | - | let | |
254 | - | if ($isInstanceOf( | |
247 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
248 | + | if ($isInstanceOf(p, "Int")) | |
255 | 249 | then { | |
256 | - | let | |
257 | - | | |
250 | + | let q = p | |
251 | + | q | |
258 | 252 | } | |
259 | 253 | else 0 | |
260 | 254 | } | |
261 | 255 | let E = (D + 1) | |
262 | 256 | let F = { | |
263 | - | let | |
264 | - | if ($isInstanceOf( | |
257 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
258 | + | if ($isInstanceOf(p, "Int")) | |
265 | 259 | then { | |
266 | - | let | |
267 | - | | |
260 | + | let q = p | |
261 | + | q | |
268 | 262 | } | |
269 | 263 | else 0 | |
270 | 264 | } | |
271 | 265 | let G = (F + 1) | |
272 | 266 | let H = { | |
273 | - | let | |
274 | - | if ($isInstanceOf( | |
267 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
268 | + | if ($isInstanceOf(p, "Int")) | |
275 | 269 | then { | |
276 | - | let | |
277 | - | | |
270 | + | let q = p | |
271 | + | q | |
278 | 272 | } | |
279 | 273 | else 0 | |
280 | 274 | } | |
281 | 275 | let I = (H + 1) | |
282 | - | if ((100000000 > w)) | |
283 | - | then throw(j) | |
284 | - | else if ((u.assetId != a)) | |
285 | - | then throw(k) | |
286 | - | else if ((u.amount != 10000)) | |
287 | - | then throw(l) | |
288 | - | else if ((g > lastBlock.timestamp)) | |
289 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
290 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
276 | + | let J = { | |
277 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
278 | + | if ($isInstanceOf(p, "Int")) | |
279 | + | then { | |
280 | + | let q = p | |
281 | + | q | |
282 | + | } | |
283 | + | else 0 | |
284 | + | } | |
285 | + | let K = (J + 1) | |
286 | + | if ((100000000 > y)) | |
287 | + | then throw(k) | |
288 | + | else if ((w.assetId != a)) | |
289 | + | then throw(l) | |
290 | + | else if ((w.amount != 10000)) | |
291 | + | then throw(m) | |
292 | + | else if ((h > lastBlock.timestamp)) | |
293 | + | then throw(n) | |
294 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
291 | 295 | } | |
292 | 296 | ||
293 | 297 | ||
294 | 298 | ||
295 | - | @Callable( | |
299 | + | @Callable(u) | |
296 | 300 | func Compound () = { | |
297 | - | let | |
298 | - | let | |
299 | - | then | |
300 | - | else throw( | |
301 | - | let | |
302 | - | let | |
303 | - | let | |
304 | - | let | |
305 | - | if ($isInstanceOf( | |
301 | + | let v = "Compound" | |
302 | + | let w = if ((size(u.payments) == 1)) | |
303 | + | then u.payments[0] | |
304 | + | else throw(j) | |
305 | + | let x = toBase58String(u.caller.bytes) | |
306 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
307 | + | let z = { | |
308 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
309 | + | if ($isInstanceOf(p, "Int")) | |
306 | 310 | then { | |
307 | - | let o = n | |
308 | - | o | |
309 | - | } | |
310 | - | else 0 | |
311 | - | } | |
312 | - | let y = (x + 1) | |
313 | - | let z = { | |
314 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
315 | - | if ($isInstanceOf(n, "Int")) | |
316 | - | then { | |
317 | - | let o = n | |
318 | - | o | |
311 | + | let q = p | |
312 | + | q | |
319 | 313 | } | |
320 | 314 | else 0 | |
321 | 315 | } | |
322 | 316 | let A = (z + 1) | |
323 | 317 | let B = { | |
324 | - | let | |
325 | - | if ($isInstanceOf( | |
318 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
319 | + | if ($isInstanceOf(p, "Int")) | |
326 | 320 | then { | |
327 | - | let | |
328 | - | | |
321 | + | let q = p | |
322 | + | q | |
329 | 323 | } | |
330 | 324 | else 0 | |
331 | 325 | } | |
332 | 326 | let C = (B + 1) | |
333 | 327 | let D = { | |
334 | - | let | |
335 | - | if ($isInstanceOf( | |
328 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
329 | + | if ($isInstanceOf(p, "Int")) | |
336 | 330 | then { | |
337 | - | let | |
338 | - | | |
331 | + | let q = p | |
332 | + | q | |
339 | 333 | } | |
340 | 334 | else 0 | |
341 | 335 | } | |
342 | 336 | let E = (D + 1) | |
343 | 337 | let F = { | |
344 | - | let | |
345 | - | if ($isInstanceOf( | |
338 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
339 | + | if ($isInstanceOf(p, "Int")) | |
346 | 340 | then { | |
347 | - | let | |
348 | - | | |
341 | + | let q = p | |
342 | + | q | |
349 | 343 | } | |
350 | 344 | else 0 | |
351 | 345 | } | |
352 | 346 | let G = (F + 1) | |
353 | 347 | let H = { | |
354 | - | let | |
355 | - | if ($isInstanceOf( | |
348 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
349 | + | if ($isInstanceOf(p, "Int")) | |
356 | 350 | then { | |
357 | - | let | |
358 | - | | |
351 | + | let q = p | |
352 | + | q | |
359 | 353 | } | |
360 | 354 | else 0 | |
361 | 355 | } | |
362 | 356 | let I = (H + 1) | |
363 | - | if ((100000000 > w)) | |
364 | - | then throw(j) | |
365 | - | else if ((u.assetId != a)) | |
366 | - | then throw(k) | |
367 | - | else if ((u.amount != 10000)) | |
368 | - | then throw(l) | |
369 | - | else if ((g > lastBlock.timestamp)) | |
370 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
371 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
357 | + | let J = { | |
358 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
359 | + | if ($isInstanceOf(p, "Int")) | |
360 | + | then { | |
361 | + | let q = p | |
362 | + | q | |
363 | + | } | |
364 | + | else 0 | |
365 | + | } | |
366 | + | let K = (J + 1) | |
367 | + | if ((100000000 > y)) | |
368 | + | then throw(k) | |
369 | + | else if ((w.assetId != a)) | |
370 | + | then throw(l) | |
371 | + | else if ((w.amount != 10000)) | |
372 | + | then throw(m) | |
373 | + | else if ((h > lastBlock.timestamp)) | |
374 | + | then throw(n) | |
375 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
372 | 376 | } | |
373 | 377 | ||
374 | 378 | ||
375 | 379 | ||
376 | - | @Callable( | |
380 | + | @Callable(u) | |
377 | 381 | func Haven () = { | |
378 | - | let | |
379 | - | let | |
380 | - | then | |
381 | - | else throw( | |
382 | - | let | |
383 | - | let | |
384 | - | let | |
385 | - | let | |
386 | - | if ($isInstanceOf( | |
382 | + | let v = "Haven" | |
383 | + | let w = if ((size(u.payments) == 1)) | |
384 | + | then u.payments[0] | |
385 | + | else throw(j) | |
386 | + | let x = toBase58String(u.caller.bytes) | |
387 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
388 | + | let z = { | |
389 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
390 | + | if ($isInstanceOf(p, "Int")) | |
387 | 391 | then { | |
388 | - | let o = n | |
389 | - | o | |
390 | - | } | |
391 | - | else 0 | |
392 | - | } | |
393 | - | let y = (x + 1) | |
394 | - | let z = { | |
395 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
396 | - | if ($isInstanceOf(n, "Int")) | |
397 | - | then { | |
398 | - | let o = n | |
399 | - | o | |
392 | + | let q = p | |
393 | + | q | |
400 | 394 | } | |
401 | 395 | else 0 | |
402 | 396 | } | |
403 | 397 | let A = (z + 1) | |
404 | 398 | let B = { | |
405 | - | let | |
406 | - | if ($isInstanceOf( | |
399 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
400 | + | if ($isInstanceOf(p, "Int")) | |
407 | 401 | then { | |
408 | - | let | |
409 | - | | |
402 | + | let q = p | |
403 | + | q | |
410 | 404 | } | |
411 | 405 | else 0 | |
412 | 406 | } | |
413 | 407 | let C = (B + 1) | |
414 | 408 | let D = { | |
415 | - | let | |
416 | - | if ($isInstanceOf( | |
409 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
410 | + | if ($isInstanceOf(p, "Int")) | |
417 | 411 | then { | |
418 | - | let | |
419 | - | | |
412 | + | let q = p | |
413 | + | q | |
420 | 414 | } | |
421 | 415 | else 0 | |
422 | 416 | } | |
423 | 417 | let E = (D + 1) | |
424 | 418 | let F = { | |
425 | - | let | |
426 | - | if ($isInstanceOf( | |
419 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
420 | + | if ($isInstanceOf(p, "Int")) | |
427 | 421 | then { | |
428 | - | let | |
429 | - | | |
422 | + | let q = p | |
423 | + | q | |
430 | 424 | } | |
431 | 425 | else 0 | |
432 | 426 | } | |
433 | 427 | let G = (F + 1) | |
434 | 428 | let H = { | |
435 | - | let | |
436 | - | if ($isInstanceOf( | |
429 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
430 | + | if ($isInstanceOf(p, "Int")) | |
437 | 431 | then { | |
438 | - | let | |
439 | - | | |
432 | + | let q = p | |
433 | + | q | |
440 | 434 | } | |
441 | 435 | else 0 | |
442 | 436 | } | |
443 | 437 | let I = (H + 1) | |
444 | - | if ((100000000 > w)) | |
445 | - | then throw(j) | |
446 | - | else if ((u.assetId != a)) | |
447 | - | then throw(k) | |
448 | - | else if ((u.amount != 10000)) | |
449 | - | then throw(l) | |
450 | - | else if ((g > lastBlock.timestamp)) | |
451 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
452 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
438 | + | let J = { | |
439 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
440 | + | if ($isInstanceOf(p, "Int")) | |
441 | + | then { | |
442 | + | let q = p | |
443 | + | q | |
444 | + | } | |
445 | + | else 0 | |
446 | + | } | |
447 | + | let K = (J + 1) | |
448 | + | if ((100000000 > y)) | |
449 | + | then throw(k) | |
450 | + | else if ((w.assetId != a)) | |
451 | + | then throw(l) | |
452 | + | else if ((w.amount != 10000)) | |
453 | + | then throw(m) | |
454 | + | else if ((h > lastBlock.timestamp)) | |
455 | + | then throw(n) | |
456 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
453 | 457 | } | |
454 | 458 | ||
455 | 459 | ||
456 | 460 | ||
457 | - | @Callable( | |
461 | + | @Callable(u) | |
458 | 462 | func PirateChain () = { | |
459 | - | let | |
460 | - | let | |
461 | - | then | |
462 | - | else throw( | |
463 | - | let | |
464 | - | let | |
465 | - | let | |
466 | - | let | |
467 | - | if ($isInstanceOf( | |
463 | + | let v = "PirateChain" | |
464 | + | let w = if ((size(u.payments) == 1)) | |
465 | + | then u.payments[0] | |
466 | + | else throw(j) | |
467 | + | let x = toBase58String(u.caller.bytes) | |
468 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
469 | + | let z = { | |
470 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
471 | + | if ($isInstanceOf(p, "Int")) | |
468 | 472 | then { | |
469 | - | let o = n | |
470 | - | o | |
471 | - | } | |
472 | - | else 0 | |
473 | - | } | |
474 | - | let y = (x + 1) | |
475 | - | let z = { | |
476 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
477 | - | if ($isInstanceOf(n, "Int")) | |
478 | - | then { | |
479 | - | let o = n | |
480 | - | o | |
473 | + | let q = p | |
474 | + | q | |
481 | 475 | } | |
482 | 476 | else 0 | |
483 | 477 | } | |
484 | 478 | let A = (z + 1) | |
485 | 479 | let B = { | |
486 | - | let | |
487 | - | if ($isInstanceOf( | |
480 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
481 | + | if ($isInstanceOf(p, "Int")) | |
488 | 482 | then { | |
489 | - | let | |
490 | - | | |
483 | + | let q = p | |
484 | + | q | |
491 | 485 | } | |
492 | 486 | else 0 | |
493 | 487 | } | |
494 | 488 | let C = (B + 1) | |
495 | 489 | let D = { | |
496 | - | let | |
497 | - | if ($isInstanceOf( | |
490 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
491 | + | if ($isInstanceOf(p, "Int")) | |
498 | 492 | then { | |
499 | - | let | |
500 | - | | |
493 | + | let q = p | |
494 | + | q | |
501 | 495 | } | |
502 | 496 | else 0 | |
503 | 497 | } | |
504 | 498 | let E = (D + 1) | |
505 | 499 | let F = { | |
506 | - | let | |
507 | - | if ($isInstanceOf( | |
500 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
501 | + | if ($isInstanceOf(p, "Int")) | |
508 | 502 | then { | |
509 | - | let | |
510 | - | | |
503 | + | let q = p | |
504 | + | q | |
511 | 505 | } | |
512 | 506 | else 0 | |
513 | 507 | } | |
514 | 508 | let G = (F + 1) | |
515 | 509 | let H = { | |
516 | - | let | |
517 | - | if ($isInstanceOf( | |
510 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
511 | + | if ($isInstanceOf(p, "Int")) | |
518 | 512 | then { | |
519 | - | let | |
520 | - | | |
513 | + | let q = p | |
514 | + | q | |
521 | 515 | } | |
522 | 516 | else 0 | |
523 | 517 | } | |
524 | 518 | let I = (H + 1) | |
525 | - | if ((100000000 > w)) | |
526 | - | then throw(j) | |
527 | - | else if ((u.assetId != a)) | |
528 | - | then throw(k) | |
529 | - | else if ((u.amount != 10000)) | |
530 | - | then throw(l) | |
531 | - | else if ((g > lastBlock.timestamp)) | |
532 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
533 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
519 | + | let J = { | |
520 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
521 | + | if ($isInstanceOf(p, "Int")) | |
522 | + | then { | |
523 | + | let q = p | |
524 | + | q | |
525 | + | } | |
526 | + | else 0 | |
527 | + | } | |
528 | + | let K = (J + 1) | |
529 | + | if ((100000000 > y)) | |
530 | + | then throw(k) | |
531 | + | else if ((w.assetId != a)) | |
532 | + | then throw(l) | |
533 | + | else if ((w.amount != 10000)) | |
534 | + | then throw(m) | |
535 | + | else if ((h > lastBlock.timestamp)) | |
536 | + | then throw(n) | |
537 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
534 | 538 | } | |
535 | 539 | ||
536 | 540 | ||
537 | 541 | ||
538 | - | @Callable( | |
542 | + | @Callable(u) | |
539 | 543 | func Monero () = { | |
540 | - | let | |
541 | - | let | |
542 | - | then | |
543 | - | else throw( | |
544 | - | let | |
545 | - | let | |
546 | - | let | |
547 | - | let | |
548 | - | if ($isInstanceOf( | |
544 | + | let v = "Monero" | |
545 | + | let w = if ((size(u.payments) == 1)) | |
546 | + | then u.payments[0] | |
547 | + | else throw(j) | |
548 | + | let x = toBase58String(u.caller.bytes) | |
549 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
550 | + | let z = { | |
551 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
552 | + | if ($isInstanceOf(p, "Int")) | |
549 | 553 | then { | |
550 | - | let o = n | |
551 | - | o | |
552 | - | } | |
553 | - | else 0 | |
554 | - | } | |
555 | - | let y = (x + 1) | |
556 | - | let z = { | |
557 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
558 | - | if ($isInstanceOf(n, "Int")) | |
559 | - | then { | |
560 | - | let o = n | |
561 | - | o | |
554 | + | let q = p | |
555 | + | q | |
562 | 556 | } | |
563 | 557 | else 0 | |
564 | 558 | } | |
565 | 559 | let A = (z + 1) | |
566 | 560 | let B = { | |
567 | - | let | |
568 | - | if ($isInstanceOf( | |
561 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
562 | + | if ($isInstanceOf(p, "Int")) | |
569 | 563 | then { | |
570 | - | let | |
571 | - | | |
564 | + | let q = p | |
565 | + | q | |
572 | 566 | } | |
573 | 567 | else 0 | |
574 | 568 | } | |
575 | 569 | let C = (B + 1) | |
576 | 570 | let D = { | |
577 | - | let | |
578 | - | if ($isInstanceOf( | |
571 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
572 | + | if ($isInstanceOf(p, "Int")) | |
579 | 573 | then { | |
580 | - | let | |
581 | - | | |
574 | + | let q = p | |
575 | + | q | |
582 | 576 | } | |
583 | 577 | else 0 | |
584 | 578 | } | |
585 | 579 | let E = (D + 1) | |
586 | 580 | let F = { | |
587 | - | let | |
588 | - | if ($isInstanceOf( | |
581 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
582 | + | if ($isInstanceOf(p, "Int")) | |
589 | 583 | then { | |
590 | - | let | |
591 | - | | |
584 | + | let q = p | |
585 | + | q | |
592 | 586 | } | |
593 | 587 | else 0 | |
594 | 588 | } | |
595 | 589 | let G = (F + 1) | |
596 | 590 | let H = { | |
597 | - | let | |
598 | - | if ($isInstanceOf( | |
591 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
592 | + | if ($isInstanceOf(p, "Int")) | |
599 | 593 | then { | |
600 | - | let | |
601 | - | | |
594 | + | let q = p | |
595 | + | q | |
602 | 596 | } | |
603 | 597 | else 0 | |
604 | 598 | } | |
605 | 599 | let I = (H + 1) | |
606 | - | if ((100000000 > w)) | |
607 | - | then throw(j) | |
608 | - | else if ((u.assetId != a)) | |
609 | - | then throw(k) | |
610 | - | else if ((u.amount != 10000)) | |
611 | - | then throw(l) | |
612 | - | else if ((g > lastBlock.timestamp)) | |
613 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
614 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
600 | + | let J = { | |
601 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
602 | + | if ($isInstanceOf(p, "Int")) | |
603 | + | then { | |
604 | + | let q = p | |
605 | + | q | |
606 | + | } | |
607 | + | else 0 | |
608 | + | } | |
609 | + | let K = (J + 1) | |
610 | + | if ((100000000 > y)) | |
611 | + | then throw(k) | |
612 | + | else if ((w.assetId != a)) | |
613 | + | then throw(l) | |
614 | + | else if ((w.amount != 10000)) | |
615 | + | then throw(m) | |
616 | + | else if ((h > lastBlock.timestamp)) | |
617 | + | then throw(n) | |
618 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
615 | 619 | } | |
616 | 620 | ||
617 | 621 | ||
618 | 622 | ||
619 | - | @Callable( | |
623 | + | @Callable(u) | |
620 | 624 | func PRCY () = { | |
621 | - | let | |
622 | - | let | |
623 | - | then | |
624 | - | else throw( | |
625 | - | let | |
626 | - | let | |
627 | - | let | |
628 | - | let | |
629 | - | if ($isInstanceOf( | |
625 | + | let v = "Privacy" | |
626 | + | let w = if ((size(u.payments) == 1)) | |
627 | + | then u.payments[0] | |
628 | + | else throw(j) | |
629 | + | let x = toBase58String(u.caller.bytes) | |
630 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
631 | + | let z = { | |
632 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
633 | + | if ($isInstanceOf(p, "Int")) | |
630 | 634 | then { | |
631 | - | let o = n | |
632 | - | o | |
633 | - | } | |
634 | - | else 0 | |
635 | - | } | |
636 | - | let y = (x + 1) | |
637 | - | let z = { | |
638 | - | let n = getInteger(this, ((((toString(e) + "_User_Total_Votes_") + v) + "-") + t)) | |
639 | - | if ($isInstanceOf(n, "Int")) | |
640 | - | then { | |
641 | - | let o = n | |
642 | - | o | |
635 | + | let q = p | |
636 | + | q | |
643 | 637 | } | |
644 | 638 | else 0 | |
645 | 639 | } | |
646 | 640 | let A = (z + 1) | |
647 | 641 | let B = { | |
648 | - | let | |
649 | - | if ($isInstanceOf( | |
642 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
643 | + | if ($isInstanceOf(p, "Int")) | |
650 | 644 | then { | |
651 | - | let | |
652 | - | | |
645 | + | let q = p | |
646 | + | q | |
653 | 647 | } | |
654 | 648 | else 0 | |
655 | 649 | } | |
656 | 650 | let C = (B + 1) | |
657 | 651 | let D = { | |
658 | - | let | |
659 | - | if ($isInstanceOf( | |
652 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
653 | + | if ($isInstanceOf(p, "Int")) | |
660 | 654 | then { | |
661 | - | let | |
662 | - | | |
655 | + | let q = p | |
656 | + | q | |
663 | 657 | } | |
664 | 658 | else 0 | |
665 | 659 | } | |
666 | 660 | let E = (D + 1) | |
667 | 661 | let F = { | |
668 | - | let | |
669 | - | if ($isInstanceOf( | |
662 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
663 | + | if ($isInstanceOf(p, "Int")) | |
670 | 664 | then { | |
671 | - | let | |
672 | - | | |
665 | + | let q = p | |
666 | + | q | |
673 | 667 | } | |
674 | 668 | else 0 | |
675 | 669 | } | |
676 | 670 | let G = (F + 1) | |
677 | 671 | let H = { | |
678 | - | let | |
679 | - | if ($isInstanceOf( | |
672 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
673 | + | if ($isInstanceOf(p, "Int")) | |
680 | 674 | then { | |
681 | - | let | |
682 | - | | |
675 | + | let q = p | |
676 | + | q | |
683 | 677 | } | |
684 | 678 | else 0 | |
685 | 679 | } | |
686 | 680 | let I = (H + 1) | |
687 | - | if ((100000000 > w)) | |
688 | - | then throw(j) | |
689 | - | else if ((u.assetId != a)) | |
690 | - | then throw(k) | |
691 | - | else if ((u.amount != 10000)) | |
692 | - | then throw(l) | |
693 | - | else if ((g > lastBlock.timestamp)) | |
694 | - | then throw((("Voting is paused for Next " + toString(((g - lastBlock.timestamp) / 60000))) + " Minutes")) | |
695 | - | else [IntegerEntry("Total_Txns", p), IntegerEntry((toString(e) + "_Total_Txns"), r), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + t), G), IntegerEntry(((toString(e) + "_Total_Votes_") + t), I), IntegerEntry(("User_Total_Votes_" + v), C), IntegerEntry(((toString(e) + "_User_Total_Votes_") + v), y), IntegerEntry(((((toString(e) + "_User_Total_Votes_") + v) + "-") + t), A), IntegerEntry(((("User_Total_Asset_Votes_" + v) + "_") + t), E), StringEntry("message", h)] | |
681 | + | let J = { | |
682 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
683 | + | if ($isInstanceOf(p, "Int")) | |
684 | + | then { | |
685 | + | let q = p | |
686 | + | q | |
687 | + | } | |
688 | + | else 0 | |
689 | + | } | |
690 | + | let K = (J + 1) | |
691 | + | if ((100000000 > y)) | |
692 | + | then throw(k) | |
693 | + | else if ((w.assetId != a)) | |
694 | + | then throw(l) | |
695 | + | else if ((w.amount != 10000)) | |
696 | + | then throw(m) | |
697 | + | else if ((h > lastBlock.timestamp)) | |
698 | + | then throw(n) | |
699 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
696 | 700 | } | |
697 | 701 | ||
698 | 702 | ||
699 | - | @Verifier(J) | |
700 | - | func K () = sigVerify(J.bodyBytes, J.proofs[0], J.senderPublicKey) | |
703 | + | ||
704 | + | @Callable(u) | |
705 | + | func BTC () = { | |
706 | + | let v = "Bitcoin" | |
707 | + | let w = if ((size(u.payments) == 1)) | |
708 | + | then u.payments[0] | |
709 | + | else throw(j) | |
710 | + | let x = toBase58String(u.caller.bytes) | |
711 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
712 | + | let z = { | |
713 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
714 | + | if ($isInstanceOf(p, "Int")) | |
715 | + | then { | |
716 | + | let q = p | |
717 | + | q | |
718 | + | } | |
719 | + | else 0 | |
720 | + | } | |
721 | + | let A = (z + 1) | |
722 | + | let B = { | |
723 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
724 | + | if ($isInstanceOf(p, "Int")) | |
725 | + | then { | |
726 | + | let q = p | |
727 | + | q | |
728 | + | } | |
729 | + | else 0 | |
730 | + | } | |
731 | + | let C = (B + 1) | |
732 | + | let D = { | |
733 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
734 | + | if ($isInstanceOf(p, "Int")) | |
735 | + | then { | |
736 | + | let q = p | |
737 | + | q | |
738 | + | } | |
739 | + | else 0 | |
740 | + | } | |
741 | + | let E = (D + 1) | |
742 | + | let F = { | |
743 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
744 | + | if ($isInstanceOf(p, "Int")) | |
745 | + | then { | |
746 | + | let q = p | |
747 | + | q | |
748 | + | } | |
749 | + | else 0 | |
750 | + | } | |
751 | + | let G = (F + 1) | |
752 | + | let H = { | |
753 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
754 | + | if ($isInstanceOf(p, "Int")) | |
755 | + | then { | |
756 | + | let q = p | |
757 | + | q | |
758 | + | } | |
759 | + | else 0 | |
760 | + | } | |
761 | + | let I = (H + 1) | |
762 | + | let J = { | |
763 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
764 | + | if ($isInstanceOf(p, "Int")) | |
765 | + | then { | |
766 | + | let q = p | |
767 | + | q | |
768 | + | } | |
769 | + | else 0 | |
770 | + | } | |
771 | + | let K = (J + 1) | |
772 | + | if ((100000000 > y)) | |
773 | + | then throw(k) | |
774 | + | else if ((w.assetId != a)) | |
775 | + | then throw(l) | |
776 | + | else if ((w.amount != 10000)) | |
777 | + | then throw(m) | |
778 | + | else if ((h > lastBlock.timestamp)) | |
779 | + | then throw(n) | |
780 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
781 | + | } | |
782 | + | ||
783 | + | ||
784 | + | ||
785 | + | @Callable(u) | |
786 | + | func LTC () = { | |
787 | + | let v = "Litecoin" | |
788 | + | let w = if ((size(u.payments) == 1)) | |
789 | + | then u.payments[0] | |
790 | + | else throw(j) | |
791 | + | let x = toBase58String(u.caller.bytes) | |
792 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
793 | + | let z = { | |
794 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
795 | + | if ($isInstanceOf(p, "Int")) | |
796 | + | then { | |
797 | + | let q = p | |
798 | + | q | |
799 | + | } | |
800 | + | else 0 | |
801 | + | } | |
802 | + | let A = (z + 1) | |
803 | + | let B = { | |
804 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
805 | + | if ($isInstanceOf(p, "Int")) | |
806 | + | then { | |
807 | + | let q = p | |
808 | + | q | |
809 | + | } | |
810 | + | else 0 | |
811 | + | } | |
812 | + | let C = (B + 1) | |
813 | + | let D = { | |
814 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
815 | + | if ($isInstanceOf(p, "Int")) | |
816 | + | then { | |
817 | + | let q = p | |
818 | + | q | |
819 | + | } | |
820 | + | else 0 | |
821 | + | } | |
822 | + | let E = (D + 1) | |
823 | + | let F = { | |
824 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
825 | + | if ($isInstanceOf(p, "Int")) | |
826 | + | then { | |
827 | + | let q = p | |
828 | + | q | |
829 | + | } | |
830 | + | else 0 | |
831 | + | } | |
832 | + | let G = (F + 1) | |
833 | + | let H = { | |
834 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
835 | + | if ($isInstanceOf(p, "Int")) | |
836 | + | then { | |
837 | + | let q = p | |
838 | + | q | |
839 | + | } | |
840 | + | else 0 | |
841 | + | } | |
842 | + | let I = (H + 1) | |
843 | + | let J = { | |
844 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
845 | + | if ($isInstanceOf(p, "Int")) | |
846 | + | then { | |
847 | + | let q = p | |
848 | + | q | |
849 | + | } | |
850 | + | else 0 | |
851 | + | } | |
852 | + | let K = (J + 1) | |
853 | + | if ((100000000 > y)) | |
854 | + | then throw(k) | |
855 | + | else if ((w.assetId != a)) | |
856 | + | then throw(l) | |
857 | + | else if ((w.amount != 10000)) | |
858 | + | then throw(m) | |
859 | + | else if ((h > lastBlock.timestamp)) | |
860 | + | then throw(n) | |
861 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
862 | + | } | |
863 | + | ||
864 | + | ||
865 | + | ||
866 | + | @Callable(u) | |
867 | + | func DASH () = { | |
868 | + | let v = "Dash" | |
869 | + | let w = if ((size(u.payments) == 1)) | |
870 | + | then u.payments[0] | |
871 | + | else throw(j) | |
872 | + | let x = toBase58String(u.caller.bytes) | |
873 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
874 | + | let z = { | |
875 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
876 | + | if ($isInstanceOf(p, "Int")) | |
877 | + | then { | |
878 | + | let q = p | |
879 | + | q | |
880 | + | } | |
881 | + | else 0 | |
882 | + | } | |
883 | + | let A = (z + 1) | |
884 | + | let B = { | |
885 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
886 | + | if ($isInstanceOf(p, "Int")) | |
887 | + | then { | |
888 | + | let q = p | |
889 | + | q | |
890 | + | } | |
891 | + | else 0 | |
892 | + | } | |
893 | + | let C = (B + 1) | |
894 | + | let D = { | |
895 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
896 | + | if ($isInstanceOf(p, "Int")) | |
897 | + | then { | |
898 | + | let q = p | |
899 | + | q | |
900 | + | } | |
901 | + | else 0 | |
902 | + | } | |
903 | + | let E = (D + 1) | |
904 | + | let F = { | |
905 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
906 | + | if ($isInstanceOf(p, "Int")) | |
907 | + | then { | |
908 | + | let q = p | |
909 | + | q | |
910 | + | } | |
911 | + | else 0 | |
912 | + | } | |
913 | + | let G = (F + 1) | |
914 | + | let H = { | |
915 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
916 | + | if ($isInstanceOf(p, "Int")) | |
917 | + | then { | |
918 | + | let q = p | |
919 | + | q | |
920 | + | } | |
921 | + | else 0 | |
922 | + | } | |
923 | + | let I = (H + 1) | |
924 | + | let J = { | |
925 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
926 | + | if ($isInstanceOf(p, "Int")) | |
927 | + | then { | |
928 | + | let q = p | |
929 | + | q | |
930 | + | } | |
931 | + | else 0 | |
932 | + | } | |
933 | + | let K = (J + 1) | |
934 | + | if ((100000000 > y)) | |
935 | + | then throw(k) | |
936 | + | else if ((w.assetId != a)) | |
937 | + | then throw(l) | |
938 | + | else if ((w.amount != 10000)) | |
939 | + | then throw(m) | |
940 | + | else if ((h > lastBlock.timestamp)) | |
941 | + | then throw(n) | |
942 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
943 | + | } | |
944 | + | ||
945 | + | ||
946 | + | ||
947 | + | @Callable(u) | |
948 | + | func BCH () = { | |
949 | + | let v = "BitcoinCash" | |
950 | + | let w = if ((size(u.payments) == 1)) | |
951 | + | then u.payments[0] | |
952 | + | else throw(j) | |
953 | + | let x = toBase58String(u.caller.bytes) | |
954 | + | let y = assetBalance(addressFromPublicKey(u.callerPublicKey), a) | |
955 | + | let z = { | |
956 | + | let p = getInteger(this, ((f + "_User_Total_Votes_") + x)) | |
957 | + | if ($isInstanceOf(p, "Int")) | |
958 | + | then { | |
959 | + | let q = p | |
960 | + | q | |
961 | + | } | |
962 | + | else 0 | |
963 | + | } | |
964 | + | let A = (z + 1) | |
965 | + | let B = { | |
966 | + | let p = getInteger(this, ((((f + "_User_Total_Votes_") + x) + "-") + v)) | |
967 | + | if ($isInstanceOf(p, "Int")) | |
968 | + | then { | |
969 | + | let q = p | |
970 | + | q | |
971 | + | } | |
972 | + | else 0 | |
973 | + | } | |
974 | + | let C = (B + 1) | |
975 | + | let D = { | |
976 | + | let p = getInteger(this, ("User_Total_Votes_" + x)) | |
977 | + | if ($isInstanceOf(p, "Int")) | |
978 | + | then { | |
979 | + | let q = p | |
980 | + | q | |
981 | + | } | |
982 | + | else 0 | |
983 | + | } | |
984 | + | let E = (D + 1) | |
985 | + | let F = { | |
986 | + | let p = getInteger(this, ((("User_Total_Asset_Votes_" + x) + "_") + v)) | |
987 | + | if ($isInstanceOf(p, "Int")) | |
988 | + | then { | |
989 | + | let q = p | |
990 | + | q | |
991 | + | } | |
992 | + | else 0 | |
993 | + | } | |
994 | + | let G = (F + 1) | |
995 | + | let H = { | |
996 | + | let p = getInteger(this, ("Total_Votes_" + v)) | |
997 | + | if ($isInstanceOf(p, "Int")) | |
998 | + | then { | |
999 | + | let q = p | |
1000 | + | q | |
1001 | + | } | |
1002 | + | else 0 | |
1003 | + | } | |
1004 | + | let I = (H + 1) | |
1005 | + | let J = { | |
1006 | + | let p = getInteger(this, ((f + "_Total_Votes_") + v)) | |
1007 | + | if ($isInstanceOf(p, "Int")) | |
1008 | + | then { | |
1009 | + | let q = p | |
1010 | + | q | |
1011 | + | } | |
1012 | + | else 0 | |
1013 | + | } | |
1014 | + | let K = (J + 1) | |
1015 | + | if ((100000000 > y)) | |
1016 | + | then throw(k) | |
1017 | + | else if ((w.assetId != a)) | |
1018 | + | then throw(l) | |
1019 | + | else if ((w.amount != 10000)) | |
1020 | + | then throw(m) | |
1021 | + | else if ((h > lastBlock.timestamp)) | |
1022 | + | then throw(n) | |
1023 | + | else [IntegerEntry("Total_Txns", r), IntegerEntry((f + "_Total_Txns"), t), IntegerEntry("Current_Voting_Week", e), IntegerEntry(("Total_Votes_" + v), I), IntegerEntry(((f + "_Total_Votes_") + v), K), IntegerEntry(("User_Total_Votes_" + x), E), IntegerEntry(((f + "_User_Total_Votes_") + x), A), IntegerEntry(((((f + "_User_Total_Votes_") + x) + "-") + v), C), IntegerEntry(((("User_Total_Asset_Votes_" + x) + "_") + v), G), StringEntry("message", i)] | |
1024 | + | } | |
1025 | + | ||
1026 | + | ||
1027 | + | @Verifier(L) | |
1028 | + | func M () = sigVerify(L.bodyBytes, L.proofs[0], L.senderPublicKey) | |
701 | 1029 |
github/deemru/w8io/c3f4982 501.84 ms ◑