tx · EhThhSpdMN1Pe6Mdw2fhkd8wNayx6T65FXfPo2tWc9kV 3PCC6fVHNa6289DTDmcUo3RuLaFmteZZsmQ: -0.01400000 Waves 2021.11.08 13:39 [2846944] smart account 3PCC6fVHNa6289DTDmcUo3RuLaFmteZZsmQ > SELF 0.00000000 Waves
{ "type": 13, "id": "EhThhSpdMN1Pe6Mdw2fhkd8wNayx6T65FXfPo2tWc9kV", "fee": 1400000, "feeAssetId": null, "timestamp": 1636368068724, "version": 2, "chainId": 87, "sender": "3PCC6fVHNa6289DTDmcUo3RuLaFmteZZsmQ", "senderPublicKey": "HobXgEQL44LfeEEq2G69uiciuAuiUBfG33UF4ubYmNMd", "proofs": [ "3BwtpgCCN1FK7XqtERoAb2pke1LuRQtEodV7xvmQCX7WqneP9EC7huK1JgqEfFSW5eDswfphwzrtUxDEzap5eAco" ], "script": "base64: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", "height": 2846944, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4bpddu1Y3Nb6TbmXoj4HTpKDuSY4bbcXgmyBL1kcr2GC Next: CDggkszwcyJVRnergLAXji4NxvufDMg4LDFbeomgaR7Q Diff:
Old | New | Differences | |
---|---|---|---|
5 | 5 | ||
6 | 6 | let feeAmount = (50 * 1000000) | |
7 | 7 | ||
8 | + | let promoFeeAmount = (10 * 1000000) | |
9 | + | ||
8 | 10 | let delayForHatching = 2 | |
11 | + | ||
12 | + | let promoAddress = base58'3PQVodJ91e32iii4TkKPeuHmPFBNbjtNmfn' | |
9 | 13 | ||
10 | 14 | let incubatorAddress = base58'3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv' | |
11 | 15 | ||
100 | 104 | func getGen (assetName) = { | |
101 | 105 | let genotype = split(dropRight(drop(assetName, 5), 3), "") | |
102 | 106 | (((((((getAmountOrClear((toString({ | |
103 | - | let $list22622293 = genotype | |
104 | - | let $size22622293 = size($list22622293) | |
105 | - | let $acc022622293 = 0 | |
106 | - | if (($size22622293 == 0)) | |
107 | - | then $acc022622293 | |
108 | - | else { | |
109 | - | let $acc122622293 = isSymbolA($acc022622293, $list22622293[0]) | |
110 | - | if (($size22622293 == 1)) | |
111 | - | then $acc122622293 | |
112 | - | else { | |
113 | - | let $acc222622293 = isSymbolA($acc122622293, $list22622293[1]) | |
114 | - | if (($size22622293 == 2)) | |
115 | - | then $acc222622293 | |
116 | - | else { | |
117 | - | let $acc322622293 = isSymbolA($acc222622293, $list22622293[2]) | |
118 | - | if (($size22622293 == 3)) | |
119 | - | then $acc322622293 | |
120 | - | else { | |
121 | - | let $acc422622293 = isSymbolA($acc322622293, $list22622293[3]) | |
122 | - | if (($size22622293 == 4)) | |
123 | - | then $acc422622293 | |
124 | - | else { | |
125 | - | let $acc522622293 = isSymbolA($acc422622293, $list22622293[4]) | |
126 | - | if (($size22622293 == 5)) | |
127 | - | then $acc522622293 | |
128 | - | else { | |
129 | - | let $acc622622293 = isSymbolA($acc522622293, $list22622293[5]) | |
130 | - | if (($size22622293 == 6)) | |
131 | - | then $acc622622293 | |
132 | - | else { | |
133 | - | let $acc722622293 = isSymbolA($acc622622293, $list22622293[6]) | |
134 | - | if (($size22622293 == 7)) | |
135 | - | then $acc722622293 | |
136 | - | else { | |
137 | - | let $acc822622293 = isSymbolA($acc722622293, $list22622293[7]) | |
138 | - | if (($size22622293 == 8)) | |
139 | - | then $acc822622293 | |
140 | - | else { | |
141 | - | let $acc922622293 = isSymbolA($acc822622293, $list22622293[8]) | |
142 | - | throw("List size exceed 8") | |
143 | - | } | |
144 | - | } | |
145 | - | } | |
146 | - | } | |
147 | - | } | |
148 | - | } | |
149 | - | } | |
150 | - | } | |
151 | - | } | |
107 | + | let $l = genotype | |
108 | + | let $s = size($l) | |
109 | + | let $acc0 = 0 | |
110 | + | func 1 ($a,$i) = if (($i >= $s)) | |
111 | + | then $a | |
112 | + | else isSymbolA($a, $l[$i]) | |
113 | + | ||
114 | + | func 2 ($a,$i) = if (($i >= $s)) | |
115 | + | then $a | |
116 | + | else throw("List size exceeds 8") | |
117 | + | ||
118 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
152 | 119 | }) + "A")) + getAmountOrClear((toString({ | |
153 | - | let $list23302361 = genotype | |
154 | - | let $size23302361 = size($list23302361) | |
155 | - | let $acc023302361 = 0 | |
156 | - | if (($size23302361 == 0)) | |
157 | - | then $acc023302361 | |
158 | - | else { | |
159 | - | let $acc123302361 = isSymbolB($acc023302361, $list23302361[0]) | |
160 | - | if (($size23302361 == 1)) | |
161 | - | then $acc123302361 | |
162 | - | else { | |
163 | - | let $acc223302361 = isSymbolB($acc123302361, $list23302361[1]) | |
164 | - | if (($size23302361 == 2)) | |
165 | - | then $acc223302361 | |
166 | - | else { | |
167 | - | let $acc323302361 = isSymbolB($acc223302361, $list23302361[2]) | |
168 | - | if (($size23302361 == 3)) | |
169 | - | then $acc323302361 | |
170 | - | else { | |
171 | - | let $acc423302361 = isSymbolB($acc323302361, $list23302361[3]) | |
172 | - | if (($size23302361 == 4)) | |
173 | - | then $acc423302361 | |
174 | - | else { | |
175 | - | let $acc523302361 = isSymbolB($acc423302361, $list23302361[4]) | |
176 | - | if (($size23302361 == 5)) | |
177 | - | then $acc523302361 | |
178 | - | else { | |
179 | - | let $acc623302361 = isSymbolB($acc523302361, $list23302361[5]) | |
180 | - | if (($size23302361 == 6)) | |
181 | - | then $acc623302361 | |
182 | - | else { | |
183 | - | let $acc723302361 = isSymbolB($acc623302361, $list23302361[6]) | |
184 | - | if (($size23302361 == 7)) | |
185 | - | then $acc723302361 | |
186 | - | else { | |
187 | - | let $acc823302361 = isSymbolB($acc723302361, $list23302361[7]) | |
188 | - | if (($size23302361 == 8)) | |
189 | - | then $acc823302361 | |
190 | - | else { | |
191 | - | let $acc923302361 = isSymbolB($acc823302361, $list23302361[8]) | |
192 | - | throw("List size exceed 8") | |
193 | - | } | |
194 | - | } | |
195 | - | } | |
196 | - | } | |
197 | - | } | |
198 | - | } | |
199 | - | } | |
200 | - | } | |
201 | - | } | |
120 | + | let $l = genotype | |
121 | + | let $s = size($l) | |
122 | + | let $acc0 = 0 | |
123 | + | func 1 ($a,$i) = if (($i >= $s)) | |
124 | + | then $a | |
125 | + | else isSymbolB($a, $l[$i]) | |
126 | + | ||
127 | + | func 2 ($a,$i) = if (($i >= $s)) | |
128 | + | then $a | |
129 | + | else throw("List size exceeds 8") | |
130 | + | ||
131 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
202 | 132 | }) + "B"))) + getAmountOrClear((toString({ | |
203 | - | let $list23982429 = genotype | |
204 | - | let $size23982429 = size($list23982429) | |
205 | - | let $acc023982429 = 0 | |
206 | - | if (($size23982429 == 0)) | |
207 | - | then $acc023982429 | |
208 | - | else { | |
209 | - | let $acc123982429 = isSymbolC($acc023982429, $list23982429[0]) | |
210 | - | if (($size23982429 == 1)) | |
211 | - | then $acc123982429 | |
212 | - | else { | |
213 | - | let $acc223982429 = isSymbolC($acc123982429, $list23982429[1]) | |
214 | - | if (($size23982429 == 2)) | |
215 | - | then $acc223982429 | |
216 | - | else { | |
217 | - | let $acc323982429 = isSymbolC($acc223982429, $list23982429[2]) | |
218 | - | if (($size23982429 == 3)) | |
219 | - | then $acc323982429 | |
220 | - | else { | |
221 | - | let $acc423982429 = isSymbolC($acc323982429, $list23982429[3]) | |
222 | - | if (($size23982429 == 4)) | |
223 | - | then $acc423982429 | |
224 | - | else { | |
225 | - | let $acc523982429 = isSymbolC($acc423982429, $list23982429[4]) | |
226 | - | if (($size23982429 == 5)) | |
227 | - | then $acc523982429 | |
228 | - | else { | |
229 | - | let $acc623982429 = isSymbolC($acc523982429, $list23982429[5]) | |
230 | - | if (($size23982429 == 6)) | |
231 | - | then $acc623982429 | |
232 | - | else { | |
233 | - | let $acc723982429 = isSymbolC($acc623982429, $list23982429[6]) | |
234 | - | if (($size23982429 == 7)) | |
235 | - | then $acc723982429 | |
236 | - | else { | |
237 | - | let $acc823982429 = isSymbolC($acc723982429, $list23982429[7]) | |
238 | - | if (($size23982429 == 8)) | |
239 | - | then $acc823982429 | |
240 | - | else { | |
241 | - | let $acc923982429 = isSymbolC($acc823982429, $list23982429[8]) | |
242 | - | throw("List size exceed 8") | |
243 | - | } | |
244 | - | } | |
245 | - | } | |
246 | - | } | |
247 | - | } | |
248 | - | } | |
249 | - | } | |
250 | - | } | |
251 | - | } | |
133 | + | let $l = genotype | |
134 | + | let $s = size($l) | |
135 | + | let $acc0 = 0 | |
136 | + | func 1 ($a,$i) = if (($i >= $s)) | |
137 | + | then $a | |
138 | + | else isSymbolC($a, $l[$i]) | |
139 | + | ||
140 | + | func 2 ($a,$i) = if (($i >= $s)) | |
141 | + | then $a | |
142 | + | else throw("List size exceeds 8") | |
143 | + | ||
144 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
252 | 145 | }) + "C"))) + getAmountOrClear((toString({ | |
253 | - | let $list24682499 = genotype | |
254 | - | let $size24682499 = size($list24682499) | |
255 | - | let $acc024682499 = 0 | |
256 | - | if (($size24682499 == 0)) | |
257 | - | then $acc024682499 | |
258 | - | else { | |
259 | - | let $acc124682499 = isSymbolD($acc024682499, $list24682499[0]) | |
260 | - | if (($size24682499 == 1)) | |
261 | - | then $acc124682499 | |
262 | - | else { | |
263 | - | let $acc224682499 = isSymbolD($acc124682499, $list24682499[1]) | |
264 | - | if (($size24682499 == 2)) | |
265 | - | then $acc224682499 | |
266 | - | else { | |
267 | - | let $acc324682499 = isSymbolD($acc224682499, $list24682499[2]) | |
268 | - | if (($size24682499 == 3)) | |
269 | - | then $acc324682499 | |
270 | - | else { | |
271 | - | let $acc424682499 = isSymbolD($acc324682499, $list24682499[3]) | |
272 | - | if (($size24682499 == 4)) | |
273 | - | then $acc424682499 | |
274 | - | else { | |
275 | - | let $acc524682499 = isSymbolD($acc424682499, $list24682499[4]) | |
276 | - | if (($size24682499 == 5)) | |
277 | - | then $acc524682499 | |
278 | - | else { | |
279 | - | let $acc624682499 = isSymbolD($acc524682499, $list24682499[5]) | |
280 | - | if (($size24682499 == 6)) | |
281 | - | then $acc624682499 | |
282 | - | else { | |
283 | - | let $acc724682499 = isSymbolD($acc624682499, $list24682499[6]) | |
284 | - | if (($size24682499 == 7)) | |
285 | - | then $acc724682499 | |
286 | - | else { | |
287 | - | let $acc824682499 = isSymbolD($acc724682499, $list24682499[7]) | |
288 | - | if (($size24682499 == 8)) | |
289 | - | then $acc824682499 | |
290 | - | else { | |
291 | - | let $acc924682499 = isSymbolD($acc824682499, $list24682499[8]) | |
292 | - | throw("List size exceed 8") | |
293 | - | } | |
294 | - | } | |
295 | - | } | |
296 | - | } | |
297 | - | } | |
298 | - | } | |
299 | - | } | |
300 | - | } | |
301 | - | } | |
146 | + | let $l = genotype | |
147 | + | let $s = size($l) | |
148 | + | let $acc0 = 0 | |
149 | + | func 1 ($a,$i) = if (($i >= $s)) | |
150 | + | then $a | |
151 | + | else isSymbolD($a, $l[$i]) | |
152 | + | ||
153 | + | func 2 ($a,$i) = if (($i >= $s)) | |
154 | + | then $a | |
155 | + | else throw("List size exceeds 8") | |
156 | + | ||
157 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
302 | 158 | }) + "D"))) + getAmountOrClear((toString({ | |
303 | - | let $list25362567 = genotype | |
304 | - | let $size25362567 = size($list25362567) | |
305 | - | let $acc025362567 = 0 | |
306 | - | if (($size25362567 == 0)) | |
307 | - | then $acc025362567 | |
308 | - | else { | |
309 | - | let $acc125362567 = isSymbolE($acc025362567, $list25362567[0]) | |
310 | - | if (($size25362567 == 1)) | |
311 | - | then $acc125362567 | |
312 | - | else { | |
313 | - | let $acc225362567 = isSymbolE($acc125362567, $list25362567[1]) | |
314 | - | if (($size25362567 == 2)) | |
315 | - | then $acc225362567 | |
316 | - | else { | |
317 | - | let $acc325362567 = isSymbolE($acc225362567, $list25362567[2]) | |
318 | - | if (($size25362567 == 3)) | |
319 | - | then $acc325362567 | |
320 | - | else { | |
321 | - | let $acc425362567 = isSymbolE($acc325362567, $list25362567[3]) | |
322 | - | if (($size25362567 == 4)) | |
323 | - | then $acc425362567 | |
324 | - | else { | |
325 | - | let $acc525362567 = isSymbolE($acc425362567, $list25362567[4]) | |
326 | - | if (($size25362567 == 5)) | |
327 | - | then $acc525362567 | |
328 | - | else { | |
329 | - | let $acc625362567 = isSymbolE($acc525362567, $list25362567[5]) | |
330 | - | if (($size25362567 == 6)) | |
331 | - | then $acc625362567 | |
332 | - | else { | |
333 | - | let $acc725362567 = isSymbolE($acc625362567, $list25362567[6]) | |
334 | - | if (($size25362567 == 7)) | |
335 | - | then $acc725362567 | |
336 | - | else { | |
337 | - | let $acc825362567 = isSymbolE($acc725362567, $list25362567[7]) | |
338 | - | if (($size25362567 == 8)) | |
339 | - | then $acc825362567 | |
340 | - | else { | |
341 | - | let $acc925362567 = isSymbolE($acc825362567, $list25362567[8]) | |
342 | - | throw("List size exceed 8") | |
343 | - | } | |
344 | - | } | |
345 | - | } | |
346 | - | } | |
347 | - | } | |
348 | - | } | |
349 | - | } | |
350 | - | } | |
351 | - | } | |
159 | + | let $l = genotype | |
160 | + | let $s = size($l) | |
161 | + | let $acc0 = 0 | |
162 | + | func 1 ($a,$i) = if (($i >= $s)) | |
163 | + | then $a | |
164 | + | else isSymbolE($a, $l[$i]) | |
165 | + | ||
166 | + | func 2 ($a,$i) = if (($i >= $s)) | |
167 | + | then $a | |
168 | + | else throw("List size exceeds 8") | |
169 | + | ||
170 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
352 | 171 | }) + "E"))) + getAmountOrClear((toString({ | |
353 | - | let $list26042635 = genotype | |
354 | - | let $size26042635 = size($list26042635) | |
355 | - | let $acc026042635 = 0 | |
356 | - | if (($size26042635 == 0)) | |
357 | - | then $acc026042635 | |
358 | - | else { | |
359 | - | let $acc126042635 = isSymbolF($acc026042635, $list26042635[0]) | |
360 | - | if (($size26042635 == 1)) | |
361 | - | then $acc126042635 | |
362 | - | else { | |
363 | - | let $acc226042635 = isSymbolF($acc126042635, $list26042635[1]) | |
364 | - | if (($size26042635 == 2)) | |
365 | - | then $acc226042635 | |
366 | - | else { | |
367 | - | let $acc326042635 = isSymbolF($acc226042635, $list26042635[2]) | |
368 | - | if (($size26042635 == 3)) | |
369 | - | then $acc326042635 | |
370 | - | else { | |
371 | - | let $acc426042635 = isSymbolF($acc326042635, $list26042635[3]) | |
372 | - | if (($size26042635 == 4)) | |
373 | - | then $acc426042635 | |
374 | - | else { | |
375 | - | let $acc526042635 = isSymbolF($acc426042635, $list26042635[4]) | |
376 | - | if (($size26042635 == 5)) | |
377 | - | then $acc526042635 | |
378 | - | else { | |
379 | - | let $acc626042635 = isSymbolF($acc526042635, $list26042635[5]) | |
380 | - | if (($size26042635 == 6)) | |
381 | - | then $acc626042635 | |
382 | - | else { | |
383 | - | let $acc726042635 = isSymbolF($acc626042635, $list26042635[6]) | |
384 | - | if (($size26042635 == 7)) | |
385 | - | then $acc726042635 | |
386 | - | else { | |
387 | - | let $acc826042635 = isSymbolF($acc726042635, $list26042635[7]) | |
388 | - | if (($size26042635 == 8)) | |
389 | - | then $acc826042635 | |
390 | - | else { | |
391 | - | let $acc926042635 = isSymbolF($acc826042635, $list26042635[8]) | |
392 | - | throw("List size exceed 8") | |
393 | - | } | |
394 | - | } | |
395 | - | } | |
396 | - | } | |
397 | - | } | |
398 | - | } | |
399 | - | } | |
400 | - | } | |
401 | - | } | |
172 | + | let $l = genotype | |
173 | + | let $s = size($l) | |
174 | + | let $acc0 = 0 | |
175 | + | func 1 ($a,$i) = if (($i >= $s)) | |
176 | + | then $a | |
177 | + | else isSymbolF($a, $l[$i]) | |
178 | + | ||
179 | + | func 2 ($a,$i) = if (($i >= $s)) | |
180 | + | then $a | |
181 | + | else throw("List size exceeds 8") | |
182 | + | ||
183 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
402 | 184 | }) + "F"))) + getAmountOrClear((toString({ | |
403 | - | let $list26742705 = genotype | |
404 | - | let $size26742705 = size($list26742705) | |
405 | - | let $acc026742705 = 0 | |
406 | - | if (($size26742705 == 0)) | |
407 | - | then $acc026742705 | |
408 | - | else { | |
409 | - | let $acc126742705 = isSymbolG($acc026742705, $list26742705[0]) | |
410 | - | if (($size26742705 == 1)) | |
411 | - | then $acc126742705 | |
412 | - | else { | |
413 | - | let $acc226742705 = isSymbolG($acc126742705, $list26742705[1]) | |
414 | - | if (($size26742705 == 2)) | |
415 | - | then $acc226742705 | |
416 | - | else { | |
417 | - | let $acc326742705 = isSymbolG($acc226742705, $list26742705[2]) | |
418 | - | if (($size26742705 == 3)) | |
419 | - | then $acc326742705 | |
420 | - | else { | |
421 | - | let $acc426742705 = isSymbolG($acc326742705, $list26742705[3]) | |
422 | - | if (($size26742705 == 4)) | |
423 | - | then $acc426742705 | |
424 | - | else { | |
425 | - | let $acc526742705 = isSymbolG($acc426742705, $list26742705[4]) | |
426 | - | if (($size26742705 == 5)) | |
427 | - | then $acc526742705 | |
428 | - | else { | |
429 | - | let $acc626742705 = isSymbolG($acc526742705, $list26742705[5]) | |
430 | - | if (($size26742705 == 6)) | |
431 | - | then $acc626742705 | |
432 | - | else { | |
433 | - | let $acc726742705 = isSymbolG($acc626742705, $list26742705[6]) | |
434 | - | if (($size26742705 == 7)) | |
435 | - | then $acc726742705 | |
436 | - | else { | |
437 | - | let $acc826742705 = isSymbolG($acc726742705, $list26742705[7]) | |
438 | - | if (($size26742705 == 8)) | |
439 | - | then $acc826742705 | |
440 | - | else { | |
441 | - | let $acc926742705 = isSymbolG($acc826742705, $list26742705[8]) | |
442 | - | throw("List size exceed 8") | |
443 | - | } | |
444 | - | } | |
445 | - | } | |
446 | - | } | |
447 | - | } | |
448 | - | } | |
449 | - | } | |
450 | - | } | |
451 | - | } | |
185 | + | let $l = genotype | |
186 | + | let $s = size($l) | |
187 | + | let $acc0 = 0 | |
188 | + | func 1 ($a,$i) = if (($i >= $s)) | |
189 | + | then $a | |
190 | + | else isSymbolG($a, $l[$i]) | |
191 | + | ||
192 | + | func 2 ($a,$i) = if (($i >= $s)) | |
193 | + | then $a | |
194 | + | else throw("List size exceeds 8") | |
195 | + | ||
196 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
452 | 197 | }) + "G"))) + getAmountOrClear((toString({ | |
453 | - | let $list27422773 = genotype | |
454 | - | let $size27422773 = size($list27422773) | |
455 | - | let $acc027422773 = 0 | |
456 | - | if (($size27422773 == 0)) | |
457 | - | then $acc027422773 | |
458 | - | else { | |
459 | - | let $acc127422773 = isSymbolH($acc027422773, $list27422773[0]) | |
460 | - | if (($size27422773 == 1)) | |
461 | - | then $acc127422773 | |
462 | - | else { | |
463 | - | let $acc227422773 = isSymbolH($acc127422773, $list27422773[1]) | |
464 | - | if (($size27422773 == 2)) | |
465 | - | then $acc227422773 | |
466 | - | else { | |
467 | - | let $acc327422773 = isSymbolH($acc227422773, $list27422773[2]) | |
468 | - | if (($size27422773 == 3)) | |
469 | - | then $acc327422773 | |
470 | - | else { | |
471 | - | let $acc427422773 = isSymbolH($acc327422773, $list27422773[3]) | |
472 | - | if (($size27422773 == 4)) | |
473 | - | then $acc427422773 | |
474 | - | else { | |
475 | - | let $acc527422773 = isSymbolH($acc427422773, $list27422773[4]) | |
476 | - | if (($size27422773 == 5)) | |
477 | - | then $acc527422773 | |
478 | - | else { | |
479 | - | let $acc627422773 = isSymbolH($acc527422773, $list27422773[5]) | |
480 | - | if (($size27422773 == 6)) | |
481 | - | then $acc627422773 | |
482 | - | else { | |
483 | - | let $acc727422773 = isSymbolH($acc627422773, $list27422773[6]) | |
484 | - | if (($size27422773 == 7)) | |
485 | - | then $acc727422773 | |
486 | - | else { | |
487 | - | let $acc827422773 = isSymbolH($acc727422773, $list27422773[7]) | |
488 | - | if (($size27422773 == 8)) | |
489 | - | then $acc827422773 | |
490 | - | else { | |
491 | - | let $acc927422773 = isSymbolH($acc827422773, $list27422773[8]) | |
492 | - | throw("List size exceed 8") | |
493 | - | } | |
494 | - | } | |
495 | - | } | |
496 | - | } | |
497 | - | } | |
498 | - | } | |
499 | - | } | |
500 | - | } | |
501 | - | } | |
198 | + | let $l = genotype | |
199 | + | let $s = size($l) | |
200 | + | let $acc0 = 0 | |
201 | + | func 1 ($a,$i) = if (($i >= $s)) | |
202 | + | then $a | |
203 | + | else isSymbolH($a, $l[$i]) | |
204 | + | ||
205 | + | func 2 ($a,$i) = if (($i >= $s)) | |
206 | + | then $a | |
207 | + | else throw("List size exceeds 8") | |
208 | + | ||
209 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
502 | 210 | }) + "H"))) | |
503 | 211 | } | |
504 | 212 | ||
579 | 287 | let initTx = toBase58String(i.transactionId) | |
580 | 288 | let address = toString(i.caller) | |
581 | 289 | let feePayment = value(i.payments[1]) | |
290 | + | let userFeeAmount = match getInteger(Address(promoAddress), (toString(i.caller) + "_hasPromo")) { | |
291 | + | case x: Int => | |
292 | + | if ((x == 1)) | |
293 | + | then { | |
294 | + | let call = invoke(Address(promoAddress), "setPromoUsed", nil, nil) | |
295 | + | if ((call == call)) | |
296 | + | then promoFeeAmount | |
297 | + | else throw("Strict value is not equal to itself.") | |
298 | + | } | |
299 | + | else feeAmount | |
300 | + | case _ => | |
301 | + | feeAmount | |
302 | + | } | |
582 | 303 | if ((feePayment.assetId != eggsAssetId)) | |
583 | 304 | then throw("You need to attach EGG tokens as fee") | |
584 | 305 | else if ((feeAmount > feePayment.amount)) | |
585 | 306 | then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(feeAmount))) | |
586 | 307 | else { | |
587 | - | let $ | |
588 | - | let gen = $ | |
589 | - | let rarity = $ | |
308 | + | let $t057855834 = getAssetFarmingPower(assetId) | |
309 | + | let gen = $t057855834._1 | |
310 | + | let rarity = $t057855834._2 | |
590 | 311 | let call = invoke(Address(getOrigin(assetId)), "reduceRarity", [toBase58String(assetId), gen], nil) | |
591 | 312 | if ((call == call)) | |
592 | 313 | then [IntegerEntry((((("address_" + address) + "_initTx_") + initTx) + "_finishBlock"), (height + delayForHatching)), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_status"), "open"), IntegerEntry((((("address_" + address) + "_initTx_") + initTx) + "_assetRarity"), rarity), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_assetId"), toBase58String(assetId))] |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let eggsAssetId = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS' | |
5 | 5 | ||
6 | 6 | let feeAmount = (50 * 1000000) | |
7 | 7 | ||
8 | + | let promoFeeAmount = (10 * 1000000) | |
9 | + | ||
8 | 10 | let delayForHatching = 2 | |
11 | + | ||
12 | + | let promoAddress = base58'3PQVodJ91e32iii4TkKPeuHmPFBNbjtNmfn' | |
9 | 13 | ||
10 | 14 | let incubatorAddress = base58'3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv' | |
11 | 15 | ||
12 | 16 | let breederAddress = base58'3PDVuU45H7Eh5dmtNbnRNRStGwULA7NY6Hb' | |
13 | 17 | ||
14 | 18 | let farmingAddress = base58'3PAETTtuW7aSiyKtn9GuML3RgtV1xdq1mQW' | |
15 | 19 | ||
16 | 20 | let ducklingAddress = base58'3PKmLiGEfqLWMC1H9xhzqvAZKUXfFm8uoeg' | |
17 | 21 | ||
18 | 22 | let PHOENIXBASEOPTIONS = 1000 | |
19 | 23 | ||
20 | 24 | func isLocked () = { | |
21 | 25 | let masterAddress = Address(base58'3PEPftf2kWZDmAaWBjs6BUJa9957kiA2PkU') | |
22 | 26 | match getInteger(masterAddress, "egglock") { | |
23 | 27 | case b: Int => | |
24 | 28 | b | |
25 | 29 | case _ => | |
26 | 30 | 0 | |
27 | 31 | } | |
28 | 32 | } | |
29 | 33 | ||
30 | 34 | ||
31 | 35 | func tryGetInteger (key) = match getInteger(this, key) { | |
32 | 36 | case b: Int => | |
33 | 37 | b | |
34 | 38 | case _ => | |
35 | 39 | 0 | |
36 | 40 | } | |
37 | 41 | ||
38 | 42 | ||
39 | 43 | func asString (value) = match value { | |
40 | 44 | case s: String => | |
41 | 45 | s | |
42 | 46 | case _ => | |
43 | 47 | throw("wrong type, expected: String") | |
44 | 48 | } | |
45 | 49 | ||
46 | 50 | ||
47 | 51 | func tryGetString (key) = match getString(this, key) { | |
48 | 52 | case a: String => | |
49 | 53 | a | |
50 | 54 | case _ => | |
51 | 55 | "" | |
52 | 56 | } | |
53 | 57 | ||
54 | 58 | ||
55 | 59 | func isSymbolA (accumulated,sym) = if ((sym == "A")) | |
56 | 60 | then (accumulated + 1) | |
57 | 61 | else (accumulated + 0) | |
58 | 62 | ||
59 | 63 | ||
60 | 64 | func isSymbolB (accumulated,sym) = if ((sym == "B")) | |
61 | 65 | then (accumulated + 1) | |
62 | 66 | else (accumulated + 0) | |
63 | 67 | ||
64 | 68 | ||
65 | 69 | func isSymbolC (accumulated,sym) = if ((sym == "C")) | |
66 | 70 | then (accumulated + 1) | |
67 | 71 | else (accumulated + 0) | |
68 | 72 | ||
69 | 73 | ||
70 | 74 | func isSymbolD (accumulated,sym) = if ((sym == "D")) | |
71 | 75 | then (accumulated + 1) | |
72 | 76 | else (accumulated + 0) | |
73 | 77 | ||
74 | 78 | ||
75 | 79 | func isSymbolE (accumulated,sym) = if ((sym == "E")) | |
76 | 80 | then (accumulated + 1) | |
77 | 81 | else (accumulated + 0) | |
78 | 82 | ||
79 | 83 | ||
80 | 84 | func isSymbolF (accumulated,sym) = if ((sym == "F")) | |
81 | 85 | then (accumulated + 1) | |
82 | 86 | else (accumulated + 0) | |
83 | 87 | ||
84 | 88 | ||
85 | 89 | func isSymbolG (accumulated,sym) = if ((sym == "G")) | |
86 | 90 | then (accumulated + 1) | |
87 | 91 | else (accumulated + 0) | |
88 | 92 | ||
89 | 93 | ||
90 | 94 | func isSymbolH (accumulated,sym) = if ((sym == "H")) | |
91 | 95 | then (accumulated + 1) | |
92 | 96 | else (accumulated + 0) | |
93 | 97 | ||
94 | 98 | ||
95 | 99 | func getAmountOrClear (amount) = if (contains(amount, "0")) | |
96 | 100 | then "" | |
97 | 101 | else amount | |
98 | 102 | ||
99 | 103 | ||
100 | 104 | func getGen (assetName) = { | |
101 | 105 | let genotype = split(dropRight(drop(assetName, 5), 3), "") | |
102 | 106 | (((((((getAmountOrClear((toString({ | |
103 | - | let $list22622293 = genotype | |
104 | - | let $size22622293 = size($list22622293) | |
105 | - | let $acc022622293 = 0 | |
106 | - | if (($size22622293 == 0)) | |
107 | - | then $acc022622293 | |
108 | - | else { | |
109 | - | let $acc122622293 = isSymbolA($acc022622293, $list22622293[0]) | |
110 | - | if (($size22622293 == 1)) | |
111 | - | then $acc122622293 | |
112 | - | else { | |
113 | - | let $acc222622293 = isSymbolA($acc122622293, $list22622293[1]) | |
114 | - | if (($size22622293 == 2)) | |
115 | - | then $acc222622293 | |
116 | - | else { | |
117 | - | let $acc322622293 = isSymbolA($acc222622293, $list22622293[2]) | |
118 | - | if (($size22622293 == 3)) | |
119 | - | then $acc322622293 | |
120 | - | else { | |
121 | - | let $acc422622293 = isSymbolA($acc322622293, $list22622293[3]) | |
122 | - | if (($size22622293 == 4)) | |
123 | - | then $acc422622293 | |
124 | - | else { | |
125 | - | let $acc522622293 = isSymbolA($acc422622293, $list22622293[4]) | |
126 | - | if (($size22622293 == 5)) | |
127 | - | then $acc522622293 | |
128 | - | else { | |
129 | - | let $acc622622293 = isSymbolA($acc522622293, $list22622293[5]) | |
130 | - | if (($size22622293 == 6)) | |
131 | - | then $acc622622293 | |
132 | - | else { | |
133 | - | let $acc722622293 = isSymbolA($acc622622293, $list22622293[6]) | |
134 | - | if (($size22622293 == 7)) | |
135 | - | then $acc722622293 | |
136 | - | else { | |
137 | - | let $acc822622293 = isSymbolA($acc722622293, $list22622293[7]) | |
138 | - | if (($size22622293 == 8)) | |
139 | - | then $acc822622293 | |
140 | - | else { | |
141 | - | let $acc922622293 = isSymbolA($acc822622293, $list22622293[8]) | |
142 | - | throw("List size exceed 8") | |
143 | - | } | |
144 | - | } | |
145 | - | } | |
146 | - | } | |
147 | - | } | |
148 | - | } | |
149 | - | } | |
150 | - | } | |
151 | - | } | |
107 | + | let $l = genotype | |
108 | + | let $s = size($l) | |
109 | + | let $acc0 = 0 | |
110 | + | func 1 ($a,$i) = if (($i >= $s)) | |
111 | + | then $a | |
112 | + | else isSymbolA($a, $l[$i]) | |
113 | + | ||
114 | + | func 2 ($a,$i) = if (($i >= $s)) | |
115 | + | then $a | |
116 | + | else throw("List size exceeds 8") | |
117 | + | ||
118 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
152 | 119 | }) + "A")) + getAmountOrClear((toString({ | |
153 | - | let $list23302361 = genotype | |
154 | - | let $size23302361 = size($list23302361) | |
155 | - | let $acc023302361 = 0 | |
156 | - | if (($size23302361 == 0)) | |
157 | - | then $acc023302361 | |
158 | - | else { | |
159 | - | let $acc123302361 = isSymbolB($acc023302361, $list23302361[0]) | |
160 | - | if (($size23302361 == 1)) | |
161 | - | then $acc123302361 | |
162 | - | else { | |
163 | - | let $acc223302361 = isSymbolB($acc123302361, $list23302361[1]) | |
164 | - | if (($size23302361 == 2)) | |
165 | - | then $acc223302361 | |
166 | - | else { | |
167 | - | let $acc323302361 = isSymbolB($acc223302361, $list23302361[2]) | |
168 | - | if (($size23302361 == 3)) | |
169 | - | then $acc323302361 | |
170 | - | else { | |
171 | - | let $acc423302361 = isSymbolB($acc323302361, $list23302361[3]) | |
172 | - | if (($size23302361 == 4)) | |
173 | - | then $acc423302361 | |
174 | - | else { | |
175 | - | let $acc523302361 = isSymbolB($acc423302361, $list23302361[4]) | |
176 | - | if (($size23302361 == 5)) | |
177 | - | then $acc523302361 | |
178 | - | else { | |
179 | - | let $acc623302361 = isSymbolB($acc523302361, $list23302361[5]) | |
180 | - | if (($size23302361 == 6)) | |
181 | - | then $acc623302361 | |
182 | - | else { | |
183 | - | let $acc723302361 = isSymbolB($acc623302361, $list23302361[6]) | |
184 | - | if (($size23302361 == 7)) | |
185 | - | then $acc723302361 | |
186 | - | else { | |
187 | - | let $acc823302361 = isSymbolB($acc723302361, $list23302361[7]) | |
188 | - | if (($size23302361 == 8)) | |
189 | - | then $acc823302361 | |
190 | - | else { | |
191 | - | let $acc923302361 = isSymbolB($acc823302361, $list23302361[8]) | |
192 | - | throw("List size exceed 8") | |
193 | - | } | |
194 | - | } | |
195 | - | } | |
196 | - | } | |
197 | - | } | |
198 | - | } | |
199 | - | } | |
200 | - | } | |
201 | - | } | |
120 | + | let $l = genotype | |
121 | + | let $s = size($l) | |
122 | + | let $acc0 = 0 | |
123 | + | func 1 ($a,$i) = if (($i >= $s)) | |
124 | + | then $a | |
125 | + | else isSymbolB($a, $l[$i]) | |
126 | + | ||
127 | + | func 2 ($a,$i) = if (($i >= $s)) | |
128 | + | then $a | |
129 | + | else throw("List size exceeds 8") | |
130 | + | ||
131 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
202 | 132 | }) + "B"))) + getAmountOrClear((toString({ | |
203 | - | let $list23982429 = genotype | |
204 | - | let $size23982429 = size($list23982429) | |
205 | - | let $acc023982429 = 0 | |
206 | - | if (($size23982429 == 0)) | |
207 | - | then $acc023982429 | |
208 | - | else { | |
209 | - | let $acc123982429 = isSymbolC($acc023982429, $list23982429[0]) | |
210 | - | if (($size23982429 == 1)) | |
211 | - | then $acc123982429 | |
212 | - | else { | |
213 | - | let $acc223982429 = isSymbolC($acc123982429, $list23982429[1]) | |
214 | - | if (($size23982429 == 2)) | |
215 | - | then $acc223982429 | |
216 | - | else { | |
217 | - | let $acc323982429 = isSymbolC($acc223982429, $list23982429[2]) | |
218 | - | if (($size23982429 == 3)) | |
219 | - | then $acc323982429 | |
220 | - | else { | |
221 | - | let $acc423982429 = isSymbolC($acc323982429, $list23982429[3]) | |
222 | - | if (($size23982429 == 4)) | |
223 | - | then $acc423982429 | |
224 | - | else { | |
225 | - | let $acc523982429 = isSymbolC($acc423982429, $list23982429[4]) | |
226 | - | if (($size23982429 == 5)) | |
227 | - | then $acc523982429 | |
228 | - | else { | |
229 | - | let $acc623982429 = isSymbolC($acc523982429, $list23982429[5]) | |
230 | - | if (($size23982429 == 6)) | |
231 | - | then $acc623982429 | |
232 | - | else { | |
233 | - | let $acc723982429 = isSymbolC($acc623982429, $list23982429[6]) | |
234 | - | if (($size23982429 == 7)) | |
235 | - | then $acc723982429 | |
236 | - | else { | |
237 | - | let $acc823982429 = isSymbolC($acc723982429, $list23982429[7]) | |
238 | - | if (($size23982429 == 8)) | |
239 | - | then $acc823982429 | |
240 | - | else { | |
241 | - | let $acc923982429 = isSymbolC($acc823982429, $list23982429[8]) | |
242 | - | throw("List size exceed 8") | |
243 | - | } | |
244 | - | } | |
245 | - | } | |
246 | - | } | |
247 | - | } | |
248 | - | } | |
249 | - | } | |
250 | - | } | |
251 | - | } | |
133 | + | let $l = genotype | |
134 | + | let $s = size($l) | |
135 | + | let $acc0 = 0 | |
136 | + | func 1 ($a,$i) = if (($i >= $s)) | |
137 | + | then $a | |
138 | + | else isSymbolC($a, $l[$i]) | |
139 | + | ||
140 | + | func 2 ($a,$i) = if (($i >= $s)) | |
141 | + | then $a | |
142 | + | else throw("List size exceeds 8") | |
143 | + | ||
144 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
252 | 145 | }) + "C"))) + getAmountOrClear((toString({ | |
253 | - | let $list24682499 = genotype | |
254 | - | let $size24682499 = size($list24682499) | |
255 | - | let $acc024682499 = 0 | |
256 | - | if (($size24682499 == 0)) | |
257 | - | then $acc024682499 | |
258 | - | else { | |
259 | - | let $acc124682499 = isSymbolD($acc024682499, $list24682499[0]) | |
260 | - | if (($size24682499 == 1)) | |
261 | - | then $acc124682499 | |
262 | - | else { | |
263 | - | let $acc224682499 = isSymbolD($acc124682499, $list24682499[1]) | |
264 | - | if (($size24682499 == 2)) | |
265 | - | then $acc224682499 | |
266 | - | else { | |
267 | - | let $acc324682499 = isSymbolD($acc224682499, $list24682499[2]) | |
268 | - | if (($size24682499 == 3)) | |
269 | - | then $acc324682499 | |
270 | - | else { | |
271 | - | let $acc424682499 = isSymbolD($acc324682499, $list24682499[3]) | |
272 | - | if (($size24682499 == 4)) | |
273 | - | then $acc424682499 | |
274 | - | else { | |
275 | - | let $acc524682499 = isSymbolD($acc424682499, $list24682499[4]) | |
276 | - | if (($size24682499 == 5)) | |
277 | - | then $acc524682499 | |
278 | - | else { | |
279 | - | let $acc624682499 = isSymbolD($acc524682499, $list24682499[5]) | |
280 | - | if (($size24682499 == 6)) | |
281 | - | then $acc624682499 | |
282 | - | else { | |
283 | - | let $acc724682499 = isSymbolD($acc624682499, $list24682499[6]) | |
284 | - | if (($size24682499 == 7)) | |
285 | - | then $acc724682499 | |
286 | - | else { | |
287 | - | let $acc824682499 = isSymbolD($acc724682499, $list24682499[7]) | |
288 | - | if (($size24682499 == 8)) | |
289 | - | then $acc824682499 | |
290 | - | else { | |
291 | - | let $acc924682499 = isSymbolD($acc824682499, $list24682499[8]) | |
292 | - | throw("List size exceed 8") | |
293 | - | } | |
294 | - | } | |
295 | - | } | |
296 | - | } | |
297 | - | } | |
298 | - | } | |
299 | - | } | |
300 | - | } | |
301 | - | } | |
146 | + | let $l = genotype | |
147 | + | let $s = size($l) | |
148 | + | let $acc0 = 0 | |
149 | + | func 1 ($a,$i) = if (($i >= $s)) | |
150 | + | then $a | |
151 | + | else isSymbolD($a, $l[$i]) | |
152 | + | ||
153 | + | func 2 ($a,$i) = if (($i >= $s)) | |
154 | + | then $a | |
155 | + | else throw("List size exceeds 8") | |
156 | + | ||
157 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
302 | 158 | }) + "D"))) + getAmountOrClear((toString({ | |
303 | - | let $list25362567 = genotype | |
304 | - | let $size25362567 = size($list25362567) | |
305 | - | let $acc025362567 = 0 | |
306 | - | if (($size25362567 == 0)) | |
307 | - | then $acc025362567 | |
308 | - | else { | |
309 | - | let $acc125362567 = isSymbolE($acc025362567, $list25362567[0]) | |
310 | - | if (($size25362567 == 1)) | |
311 | - | then $acc125362567 | |
312 | - | else { | |
313 | - | let $acc225362567 = isSymbolE($acc125362567, $list25362567[1]) | |
314 | - | if (($size25362567 == 2)) | |
315 | - | then $acc225362567 | |
316 | - | else { | |
317 | - | let $acc325362567 = isSymbolE($acc225362567, $list25362567[2]) | |
318 | - | if (($size25362567 == 3)) | |
319 | - | then $acc325362567 | |
320 | - | else { | |
321 | - | let $acc425362567 = isSymbolE($acc325362567, $list25362567[3]) | |
322 | - | if (($size25362567 == 4)) | |
323 | - | then $acc425362567 | |
324 | - | else { | |
325 | - | let $acc525362567 = isSymbolE($acc425362567, $list25362567[4]) | |
326 | - | if (($size25362567 == 5)) | |
327 | - | then $acc525362567 | |
328 | - | else { | |
329 | - | let $acc625362567 = isSymbolE($acc525362567, $list25362567[5]) | |
330 | - | if (($size25362567 == 6)) | |
331 | - | then $acc625362567 | |
332 | - | else { | |
333 | - | let $acc725362567 = isSymbolE($acc625362567, $list25362567[6]) | |
334 | - | if (($size25362567 == 7)) | |
335 | - | then $acc725362567 | |
336 | - | else { | |
337 | - | let $acc825362567 = isSymbolE($acc725362567, $list25362567[7]) | |
338 | - | if (($size25362567 == 8)) | |
339 | - | then $acc825362567 | |
340 | - | else { | |
341 | - | let $acc925362567 = isSymbolE($acc825362567, $list25362567[8]) | |
342 | - | throw("List size exceed 8") | |
343 | - | } | |
344 | - | } | |
345 | - | } | |
346 | - | } | |
347 | - | } | |
348 | - | } | |
349 | - | } | |
350 | - | } | |
351 | - | } | |
159 | + | let $l = genotype | |
160 | + | let $s = size($l) | |
161 | + | let $acc0 = 0 | |
162 | + | func 1 ($a,$i) = if (($i >= $s)) | |
163 | + | then $a | |
164 | + | else isSymbolE($a, $l[$i]) | |
165 | + | ||
166 | + | func 2 ($a,$i) = if (($i >= $s)) | |
167 | + | then $a | |
168 | + | else throw("List size exceeds 8") | |
169 | + | ||
170 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
352 | 171 | }) + "E"))) + getAmountOrClear((toString({ | |
353 | - | let $list26042635 = genotype | |
354 | - | let $size26042635 = size($list26042635) | |
355 | - | let $acc026042635 = 0 | |
356 | - | if (($size26042635 == 0)) | |
357 | - | then $acc026042635 | |
358 | - | else { | |
359 | - | let $acc126042635 = isSymbolF($acc026042635, $list26042635[0]) | |
360 | - | if (($size26042635 == 1)) | |
361 | - | then $acc126042635 | |
362 | - | else { | |
363 | - | let $acc226042635 = isSymbolF($acc126042635, $list26042635[1]) | |
364 | - | if (($size26042635 == 2)) | |
365 | - | then $acc226042635 | |
366 | - | else { | |
367 | - | let $acc326042635 = isSymbolF($acc226042635, $list26042635[2]) | |
368 | - | if (($size26042635 == 3)) | |
369 | - | then $acc326042635 | |
370 | - | else { | |
371 | - | let $acc426042635 = isSymbolF($acc326042635, $list26042635[3]) | |
372 | - | if (($size26042635 == 4)) | |
373 | - | then $acc426042635 | |
374 | - | else { | |
375 | - | let $acc526042635 = isSymbolF($acc426042635, $list26042635[4]) | |
376 | - | if (($size26042635 == 5)) | |
377 | - | then $acc526042635 | |
378 | - | else { | |
379 | - | let $acc626042635 = isSymbolF($acc526042635, $list26042635[5]) | |
380 | - | if (($size26042635 == 6)) | |
381 | - | then $acc626042635 | |
382 | - | else { | |
383 | - | let $acc726042635 = isSymbolF($acc626042635, $list26042635[6]) | |
384 | - | if (($size26042635 == 7)) | |
385 | - | then $acc726042635 | |
386 | - | else { | |
387 | - | let $acc826042635 = isSymbolF($acc726042635, $list26042635[7]) | |
388 | - | if (($size26042635 == 8)) | |
389 | - | then $acc826042635 | |
390 | - | else { | |
391 | - | let $acc926042635 = isSymbolF($acc826042635, $list26042635[8]) | |
392 | - | throw("List size exceed 8") | |
393 | - | } | |
394 | - | } | |
395 | - | } | |
396 | - | } | |
397 | - | } | |
398 | - | } | |
399 | - | } | |
400 | - | } | |
401 | - | } | |
172 | + | let $l = genotype | |
173 | + | let $s = size($l) | |
174 | + | let $acc0 = 0 | |
175 | + | func 1 ($a,$i) = if (($i >= $s)) | |
176 | + | then $a | |
177 | + | else isSymbolF($a, $l[$i]) | |
178 | + | ||
179 | + | func 2 ($a,$i) = if (($i >= $s)) | |
180 | + | then $a | |
181 | + | else throw("List size exceeds 8") | |
182 | + | ||
183 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
402 | 184 | }) + "F"))) + getAmountOrClear((toString({ | |
403 | - | let $list26742705 = genotype | |
404 | - | let $size26742705 = size($list26742705) | |
405 | - | let $acc026742705 = 0 | |
406 | - | if (($size26742705 == 0)) | |
407 | - | then $acc026742705 | |
408 | - | else { | |
409 | - | let $acc126742705 = isSymbolG($acc026742705, $list26742705[0]) | |
410 | - | if (($size26742705 == 1)) | |
411 | - | then $acc126742705 | |
412 | - | else { | |
413 | - | let $acc226742705 = isSymbolG($acc126742705, $list26742705[1]) | |
414 | - | if (($size26742705 == 2)) | |
415 | - | then $acc226742705 | |
416 | - | else { | |
417 | - | let $acc326742705 = isSymbolG($acc226742705, $list26742705[2]) | |
418 | - | if (($size26742705 == 3)) | |
419 | - | then $acc326742705 | |
420 | - | else { | |
421 | - | let $acc426742705 = isSymbolG($acc326742705, $list26742705[3]) | |
422 | - | if (($size26742705 == 4)) | |
423 | - | then $acc426742705 | |
424 | - | else { | |
425 | - | let $acc526742705 = isSymbolG($acc426742705, $list26742705[4]) | |
426 | - | if (($size26742705 == 5)) | |
427 | - | then $acc526742705 | |
428 | - | else { | |
429 | - | let $acc626742705 = isSymbolG($acc526742705, $list26742705[5]) | |
430 | - | if (($size26742705 == 6)) | |
431 | - | then $acc626742705 | |
432 | - | else { | |
433 | - | let $acc726742705 = isSymbolG($acc626742705, $list26742705[6]) | |
434 | - | if (($size26742705 == 7)) | |
435 | - | then $acc726742705 | |
436 | - | else { | |
437 | - | let $acc826742705 = isSymbolG($acc726742705, $list26742705[7]) | |
438 | - | if (($size26742705 == 8)) | |
439 | - | then $acc826742705 | |
440 | - | else { | |
441 | - | let $acc926742705 = isSymbolG($acc826742705, $list26742705[8]) | |
442 | - | throw("List size exceed 8") | |
443 | - | } | |
444 | - | } | |
445 | - | } | |
446 | - | } | |
447 | - | } | |
448 | - | } | |
449 | - | } | |
450 | - | } | |
451 | - | } | |
185 | + | let $l = genotype | |
186 | + | let $s = size($l) | |
187 | + | let $acc0 = 0 | |
188 | + | func 1 ($a,$i) = if (($i >= $s)) | |
189 | + | then $a | |
190 | + | else isSymbolG($a, $l[$i]) | |
191 | + | ||
192 | + | func 2 ($a,$i) = if (($i >= $s)) | |
193 | + | then $a | |
194 | + | else throw("List size exceeds 8") | |
195 | + | ||
196 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
452 | 197 | }) + "G"))) + getAmountOrClear((toString({ | |
453 | - | let $list27422773 = genotype | |
454 | - | let $size27422773 = size($list27422773) | |
455 | - | let $acc027422773 = 0 | |
456 | - | if (($size27422773 == 0)) | |
457 | - | then $acc027422773 | |
458 | - | else { | |
459 | - | let $acc127422773 = isSymbolH($acc027422773, $list27422773[0]) | |
460 | - | if (($size27422773 == 1)) | |
461 | - | then $acc127422773 | |
462 | - | else { | |
463 | - | let $acc227422773 = isSymbolH($acc127422773, $list27422773[1]) | |
464 | - | if (($size27422773 == 2)) | |
465 | - | then $acc227422773 | |
466 | - | else { | |
467 | - | let $acc327422773 = isSymbolH($acc227422773, $list27422773[2]) | |
468 | - | if (($size27422773 == 3)) | |
469 | - | then $acc327422773 | |
470 | - | else { | |
471 | - | let $acc427422773 = isSymbolH($acc327422773, $list27422773[3]) | |
472 | - | if (($size27422773 == 4)) | |
473 | - | then $acc427422773 | |
474 | - | else { | |
475 | - | let $acc527422773 = isSymbolH($acc427422773, $list27422773[4]) | |
476 | - | if (($size27422773 == 5)) | |
477 | - | then $acc527422773 | |
478 | - | else { | |
479 | - | let $acc627422773 = isSymbolH($acc527422773, $list27422773[5]) | |
480 | - | if (($size27422773 == 6)) | |
481 | - | then $acc627422773 | |
482 | - | else { | |
483 | - | let $acc727422773 = isSymbolH($acc627422773, $list27422773[6]) | |
484 | - | if (($size27422773 == 7)) | |
485 | - | then $acc727422773 | |
486 | - | else { | |
487 | - | let $acc827422773 = isSymbolH($acc727422773, $list27422773[7]) | |
488 | - | if (($size27422773 == 8)) | |
489 | - | then $acc827422773 | |
490 | - | else { | |
491 | - | let $acc927422773 = isSymbolH($acc827422773, $list27422773[8]) | |
492 | - | throw("List size exceed 8") | |
493 | - | } | |
494 | - | } | |
495 | - | } | |
496 | - | } | |
497 | - | } | |
498 | - | } | |
499 | - | } | |
500 | - | } | |
501 | - | } | |
198 | + | let $l = genotype | |
199 | + | let $s = size($l) | |
200 | + | let $acc0 = 0 | |
201 | + | func 1 ($a,$i) = if (($i >= $s)) | |
202 | + | then $a | |
203 | + | else isSymbolH($a, $l[$i]) | |
204 | + | ||
205 | + | func 2 ($a,$i) = if (($i >= $s)) | |
206 | + | then $a | |
207 | + | else throw("List size exceeds 8") | |
208 | + | ||
209 | + | 2(1(1(1(1(1(1(1(1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
502 | 210 | }) + "H"))) | |
503 | 211 | } | |
504 | 212 | ||
505 | 213 | ||
506 | 214 | func getAssetOrigin (generation) = if ((generation == "G")) | |
507 | 215 | then incubatorAddress | |
508 | 216 | else breederAddress | |
509 | 217 | ||
510 | 218 | ||
511 | 219 | func getAssetRarity (genotype,generation) = { | |
512 | 220 | let quantity = getIntegerValue(Address(getAssetOrigin(generation)), (("stats_" + genotype) + "_quantity")) | |
513 | 221 | let power = pow((10000 / quantity), 4, 5, 1, 2, FLOOR) | |
514 | 222 | if ((power > 0)) | |
515 | 223 | then power | |
516 | 224 | else 2 | |
517 | 225 | } | |
518 | 226 | ||
519 | 227 | ||
520 | 228 | func getAssetFarmingPower (assetId) = if (if ((value(assetInfo(assetId)).issuer == Address(breederAddress))) | |
521 | 229 | then true | |
522 | 230 | else (value(assetInfo(assetId)).issuer == Address(incubatorAddress))) | |
523 | 231 | then { | |
524 | 232 | let assetName = value(assetInfo(assetId)).name | |
525 | 233 | let generation = take(takeRight(assetName, 2), 1) | |
526 | 234 | let gen = ((getGen(assetName) + "-") + generation) | |
527 | 235 | $Tuple2(gen, getAssetRarity(gen, generation)) | |
528 | 236 | } | |
529 | 237 | else throw("not valid NFT") | |
530 | 238 | ||
531 | 239 | ||
532 | 240 | func getRandomNumber (options,txId,hatchingFinishHeight,offset) = { | |
533 | 241 | let randomSeedBlock = value(blockInfoByHeight((hatchingFinishHeight - 1))) | |
534 | 242 | let randomHash = sha256((txId + value(randomSeedBlock.vrf))) | |
535 | 243 | (toInt(randomHash, (offset * 8)) % options) | |
536 | 244 | } | |
537 | 245 | ||
538 | 246 | ||
539 | 247 | func getRandomWin (tx,finishHeight,assetRarity) = { | |
540 | 248 | let phoenixOptions = (PHOENIXBASEOPTIONS - fraction((PHOENIXBASEOPTIONS / 2), assetRarity, 100)) | |
541 | 249 | let phoenixRandom = getRandomNumber(phoenixOptions, tx, finishHeight, 1) | |
542 | 250 | if ((phoenixRandom == 1)) | |
543 | 251 | then "phoenix" | |
544 | 252 | else { | |
545 | 253 | let n = getRandomNumber(10, tx, finishHeight, 0) | |
546 | 254 | if ((3 > n)) | |
547 | 255 | then "gone" | |
548 | 256 | else if ((5 > n)) | |
549 | 257 | then "duckling" | |
550 | 258 | else if ((n == 5)) | |
551 | 259 | then "perch_Y" | |
552 | 260 | else if ((n == 6)) | |
553 | 261 | then "perch_G" | |
554 | 262 | else if ((n == 7)) | |
555 | 263 | then "perch_B" | |
556 | 264 | else if ((n == 8)) | |
557 | 265 | then "perch_R" | |
558 | 266 | else "incubator" | |
559 | 267 | } | |
560 | 268 | } | |
561 | 269 | ||
562 | 270 | ||
563 | 271 | func getOrigin (assetId) = { | |
564 | 272 | let assetName = value(assetInfo(assetId)).name | |
565 | 273 | let generation = take(takeRight(assetName, 2), 1) | |
566 | 274 | if (if ((generation == "G")) | |
567 | 275 | then true | |
568 | 276 | else (generation == "J")) | |
569 | 277 | then incubatorAddress | |
570 | 278 | else breederAddress | |
571 | 279 | } | |
572 | 280 | ||
573 | 281 | ||
574 | 282 | @Callable(i) | |
575 | 283 | func initRebirth () = if ((isLocked() > 0)) | |
576 | 284 | then throw("EGG operations are temporarily locked") | |
577 | 285 | else { | |
578 | 286 | let assetId = value(i.payments[0].assetId) | |
579 | 287 | let initTx = toBase58String(i.transactionId) | |
580 | 288 | let address = toString(i.caller) | |
581 | 289 | let feePayment = value(i.payments[1]) | |
290 | + | let userFeeAmount = match getInteger(Address(promoAddress), (toString(i.caller) + "_hasPromo")) { | |
291 | + | case x: Int => | |
292 | + | if ((x == 1)) | |
293 | + | then { | |
294 | + | let call = invoke(Address(promoAddress), "setPromoUsed", nil, nil) | |
295 | + | if ((call == call)) | |
296 | + | then promoFeeAmount | |
297 | + | else throw("Strict value is not equal to itself.") | |
298 | + | } | |
299 | + | else feeAmount | |
300 | + | case _ => | |
301 | + | feeAmount | |
302 | + | } | |
582 | 303 | if ((feePayment.assetId != eggsAssetId)) | |
583 | 304 | then throw("You need to attach EGG tokens as fee") | |
584 | 305 | else if ((feeAmount > feePayment.amount)) | |
585 | 306 | then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(feeAmount))) | |
586 | 307 | else { | |
587 | - | let $ | |
588 | - | let gen = $ | |
589 | - | let rarity = $ | |
308 | + | let $t057855834 = getAssetFarmingPower(assetId) | |
309 | + | let gen = $t057855834._1 | |
310 | + | let rarity = $t057855834._2 | |
590 | 311 | let call = invoke(Address(getOrigin(assetId)), "reduceRarity", [toBase58String(assetId), gen], nil) | |
591 | 312 | if ((call == call)) | |
592 | 313 | then [IntegerEntry((((("address_" + address) + "_initTx_") + initTx) + "_finishBlock"), (height + delayForHatching)), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_status"), "open"), IntegerEntry((((("address_" + address) + "_initTx_") + initTx) + "_assetRarity"), rarity), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_assetId"), toBase58String(assetId))] | |
593 | 314 | else throw("Strict value is not equal to itself.") | |
594 | 315 | } | |
595 | 316 | } | |
596 | 317 | ||
597 | 318 | ||
598 | 319 | ||
599 | 320 | @Callable(i) | |
600 | 321 | func finishRebirth (initTx) = { | |
601 | 322 | let address = toString(i.caller) | |
602 | 323 | let finishBlock = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_finishBlock")) | |
603 | 324 | let assetRarity = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_assetRarity")) | |
604 | 325 | let status = tryGetString((((("address_" + address) + "_initTx_") + initTx) + "_status")) | |
605 | 326 | if ((status != "open")) | |
606 | 327 | then throw("rebirth is finished or not open") | |
607 | 328 | else if ((finishBlock > height)) | |
608 | 329 | then throw("you cannot finish rebirth, yet") | |
609 | 330 | else { | |
610 | 331 | let win = getRandomWin(fromBase58String(initTx), finishBlock, assetRarity) | |
611 | 332 | let txId = initTx | |
612 | 333 | let result = if ((indexOf(win, "perch") != unit)) | |
613 | 334 | then { | |
614 | 335 | let color = takeRight(win, 1) | |
615 | 336 | let call = invoke(Address(farmingAddress), "addFreePerch", [address, color], nil) | |
616 | 337 | if ((call == call)) | |
617 | 338 | then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))] | |
618 | 339 | else throw("Strict value is not equal to itself.") | |
619 | 340 | } | |
620 | 341 | else if ((win == "incubator")) | |
621 | 342 | then { | |
622 | 343 | let call = invoke(Address(incubatorAddress), "issueFreeDuck", [address, txId], nil) | |
623 | 344 | if ((call == call)) | |
624 | 345 | then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))] | |
625 | 346 | else throw("Strict value is not equal to itself.") | |
626 | 347 | } | |
627 | 348 | else if ((win == "phoenix")) | |
628 | 349 | then { | |
629 | 350 | let call = invoke(Address(incubatorAddress), "issueJackpot", [address, txId, "WWWWWWWP"], nil) | |
630 | 351 | if ((call == call)) | |
631 | 352 | then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))] | |
632 | 353 | else throw("Strict value is not equal to itself.") | |
633 | 354 | } | |
634 | 355 | else if ((win == "duckling")) | |
635 | 356 | then { | |
636 | 357 | let call = invoke(Address(ducklingAddress), "issueFreeDuckling", [address, txId], nil) | |
637 | 358 | if ((call == call)) | |
638 | 359 | then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))] | |
639 | 360 | else throw("Strict value is not equal to itself.") | |
640 | 361 | } | |
641 | 362 | else [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), "")] | |
642 | 363 | (result ++ [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_win"), win), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_status"), "finish")]) | |
643 | 364 | } | |
644 | 365 | } | |
645 | 366 | ||
646 | 367 | ||
647 | 368 | @Verifier(tx) | |
648 | 369 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
649 | 370 |
github/deemru/w8io/3ef1775 74.43 ms ◑