tx · vrHv7yM7P3QvZJiygovmRMLR4ToupL4QTz2K6DPLNnJ 3P6TwNU39Ykkbeqhn5TE4a2736xsA1vXemM: -0.01400000 Waves 2022.05.31 13:25 [3141231] smart account 3P6TwNU39Ykkbeqhn5TE4a2736xsA1vXemM > SELF 0.00000000 Waves
{ "type": 13, "id": "vrHv7yM7P3QvZJiygovmRMLR4ToupL4QTz2K6DPLNnJ", "fee": 1400000, "feeAssetId": null, "timestamp": 1653992752218, "version": 2, "chainId": 87, "sender": "3P6TwNU39Ykkbeqhn5TE4a2736xsA1vXemM", "senderPublicKey": "2u37SmDDZX3Ry9sDnA1umgjYSVQ51faPMAXtooDpx6yw", "proofs": [ "3geZgLbshtCSm7SgLUfTjWcApWohibZWLBoVw68TFiPirwNj9WyHN1fFW3c8MeFYDSWxfXGZhLYpWxh6e8vdVQpi" ], "script": "base64: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ZW1wb3JhcmlseSBsb2NrZWQDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIJAQAAABNnZXRTd29wUHJvbW9BZGRyZXNzAAAAAAkAAAIAAAABAgAAABFQZXJuaXNzaW9uIGRlbmllZAQAAAAQdG90YWxEdWNrc0Ftb3VudAkBAAAADXRyeUdldEludGVnZXIAAAABAgAAAAxkdWNrc19hbW91bnQEAAAACmVnZ3NOZWVkZWQJAQAAABVjb3VudEVnZ3NOZWVkZWRBbW91bnQAAAABBQAAABB0b3RhbER1Y2tzQW1vdW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABRnZXRIYXRjaGluZ1N0YXR1c0tleQAAAAIFAAAAB2FkZHJlc3MIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAAD0hhdGNoaW5nU3RhcnRlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAGmdldEhhdGNoaW5nRmluaXNoSGVpZ2h0S2V5AAAAAgUAAAAHYWRkcmVzcwgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAkAAGQAAAACBQAAAAZoZWlnaHQFAAAAEGRlbGF5Rm9ySGF0Y2hpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADGR1Y2tzX2Ftb3VudAkAAGQAAAACBQAAABB0b3RhbER1Y2tzQW1vdW50AAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABBkdWNrc19sYXN0X3ByaWNlCQAAaQAAAAIFAAAACmVnZ3NOZWVkZWQAAAAAAAAPQkAJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAloYXRjaGluZ18JAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAIAAAAGX3Byb21vBgUAAAADbmlsAAAAAWkBAAAAEmZpbmlzaER1Y2tIYXRjaGluZwAAAAEAAAAHdHhJZFN0cgQAAAAEdHhJZAkAAlkAAAABBQAAAAd0eElkU3RyBAAAABFoYXRjaGluZ1N0YXR1c0tleQkBAAAAFGdldEhhdGNoaW5nU3RhdHVzS2V5AAAAAgkABCUA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bnRlZ2VyRW50cnkAAAACCQEAAAAPZ2V0RHVja1N0YXRzS2V5AAAAAQUAAAAHZHVja0dlbgUAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAGc3RhdHNfBQAAAAdmYXJtR2VuAgAAAAlfcXVhbnRpdHkJAABkAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAGc3RhdHNfBQAAAAdmYXJtR2VuAgAAAAlfcXVhbnRpdHkAAAAAAAAAAAEJAARMAAAAAgUAAAAFYXNzZXQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABBQAAAAdhc3NldElkBQAAAANuaWwAAAABaQEAAAANaXNzdWVGcmVlRHVjawAAAAIAAAAHYWRkcmVzcwAAAAd0eElkU3RyAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyCQEAAAARZ2V0UmViaXJ0aEFkZHJlc3MAAAAACQAAAgAAAAECAAAADHJlYmlydGggb25seQQAAAAEdHhJZAkAAlkAAAABBQAAAAd0eElkU3RyBAAAABFoYXRjaGluZ1N0YXR1c0tleQkBAAAAFGdldEhhdGNoaW5nU3RhdHVzS2V5AAAAAgUAAAAHYWRkcmVzcwUAAAAEdHhJZAQAAAAPZmluaXNoSGVpZ2h0S2V5CQEAAAAaZ2V0SGF0Y2hpbmdGaW5pc2hIZWlnaHRLZXkAAAACBQAAAAdhZGRyZXNzBQAAAAR0eElkBAAAABB0b3RhbER1Y2tzQW1vdW50CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAADGR1Y2tzX2Ftb3VudAQAAAAKZWdnc05lZWRlZAkBAAAAFWNvdW50RWdnc05lZWRlZEFtb3VudAAAAAEFAAAAEHRvdGFsRHVja3NBbW91bnQEAAAACyR0MDkyMTc5MzU5CQEAAAANZ2V0UmFuZG9tTmFtZQAAAAIFAAAABHR4SWQJAABkAAAAAgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAD6QAAAAEFAAAABHR4SWQJAAEsAAAAAgkAASwAAAACBQAAAAd0eElk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", "height": 3141231, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: PXnRECJwM2q5WAM3q9pnEXsKf1UEdPfpw7njRPJNVjM Next: HieifPhDetbR4TzZzAdaxB1XYdZnjijhiM4f7KVzg5C6 Diff:
Old | New | Differences | |
---|---|---|---|
98 | 98 | func M (v,G) = { | |
99 | 99 | let N = E(500, v, G, 0) | |
100 | 100 | if (if ((5 > N)) | |
101 | - | then (K("DUCK- | |
101 | + | then (K("DUCK-WWPUZZLE-JU") == 0) | |
102 | 102 | else false) | |
103 | - | then $Tuple2("DUCK-WWZETKIN-JU", "1E1I1K1N1T1U2W1Z-J") | |
104 | - | else if (if ((10 > N)) | |
105 | - | then (K("DUCK-WWWWMARG-JU") == 0) | |
106 | - | else false) | |
107 | - | then $Tuple2("DUCK-WWWWMARG-JU", "1A1G1M1R4W-J") | |
108 | - | else if (if ((15 > N)) | |
109 | - | then (K("DUCK-WWWDAISY-JU") == 0) | |
110 | - | else false) | |
111 | - | then $Tuple2("DUCK-WWWDAISY-JU", "1A1D1I1S3W1Y-J") | |
112 | - | else { | |
113 | - | let O = E(4, v, G, 0) | |
114 | - | let P = E(4, v, G, 1) | |
115 | - | let Q = if ((P == 0)) | |
116 | - | then "Y" | |
117 | - | else if ((P == 1)) | |
118 | - | then "G" | |
119 | - | else if ((P == 2)) | |
120 | - | then "B" | |
121 | - | else "R" | |
122 | - | if ((O == 0)) | |
123 | - | then $Tuple2(("DUCK-HHHHHHHH-G" + Q), "8H-G") | |
124 | - | else if ((O == 1)) | |
125 | - | then $Tuple2(("DUCK-GGGGGGGG-G" + Q), "8G-G") | |
126 | - | else if ((O == 2)) | |
127 | - | then $Tuple2(("DUCK-IIIIIIII-G" + Q), "8I-G") | |
128 | - | else $Tuple2(("DUCK-KKKKKKKK-G" + Q), "8K-G") | |
129 | - | } | |
103 | + | then $Tuple2("DUCK-WWPUZZLE-JU", "1E1L1P1U2W2Z-J") | |
104 | + | else { | |
105 | + | let O = E(4, v, G, 0) | |
106 | + | let P = E(4, v, G, 1) | |
107 | + | let Q = if ((P == 0)) | |
108 | + | then "Y" | |
109 | + | else if ((P == 1)) | |
110 | + | then "G" | |
111 | + | else if ((P == 2)) | |
112 | + | then "B" | |
113 | + | else "R" | |
114 | + | if ((O == 0)) | |
115 | + | then $Tuple2(("DUCK-HHHHHHHH-G" + Q), "8H-G") | |
116 | + | else if ((O == 1)) | |
117 | + | then $Tuple2(("DUCK-GGGGGGGG-G" + Q), "8G-G") | |
118 | + | else if ((O == 2)) | |
119 | + | then $Tuple2(("DUCK-IIIIIIII-G" + Q), "8I-G") | |
120 | + | else $Tuple2(("DUCK-KKKKKKKK-G" + Q), "8K-G") | |
121 | + | } | |
130 | 122 | } | |
131 | 123 | ||
132 | 124 | ||
248 | 240 | let ai = w(b, v) | |
249 | 241 | let S = A("ducks_amount") | |
250 | 242 | let ab = R(S) | |
251 | - | let au = M(v, ( | |
243 | + | let au = M(v, (valueOrErrorMessage(transactionHeightById(v), ((ag + " not found ") + toBase58String(v))) + 1)) | |
252 | 244 | let ao = au._1 | |
253 | 245 | let ap = au._2 | |
254 | 246 | let aq = (("{\"genotype\": \"" + ao) + "\", \"crossbreeding\": true}") | |
279 | 271 | let ar = Issue(ao, aq, 1, 0, false, unit, height) | |
280 | 272 | let as = calculateAssetId(ar) | |
281 | 273 | let aj = x(b, v) | |
282 | - | $Tuple2([IntegerEntry(w(b, v), height), IntegerEntry("ducks_amount", (S + 1)), IntegerEntry("ducks_last_price", (ab / 1000000)), StringEntry(ah, q), StringEntry(aj, toBase58String(as)), StringEntry(toBase58String(as), aj), IntegerEntry(y(ao), (A(y(ao)) + 1)), IntegerEntry((("stats_" + ap) + "_quantity"), (A((("stats_" + ap) + "_quantity")) + 1)), ar, ScriptTransfer(value(addressFromString(b)), 1, as)], toBase58String(as)) | |
274 | + | let aw = f(aj) | |
275 | + | if ((aw != "")) | |
276 | + | then throw((("You will override following duckId :" + aj) + " make sure that your txId is unique!")) | |
277 | + | else $Tuple2([IntegerEntry(w(b, v), height), IntegerEntry("ducks_amount", (S + 1)), IntegerEntry("ducks_last_price", (ab / 1000000)), StringEntry(ah, q), StringEntry(aj, toBase58String(as)), StringEntry(toBase58String(as), aj), IntegerEntry(y(ao), (A(y(ao)) + 1)), IntegerEntry((("stats_" + ap) + "_quantity"), (A((("stats_" + ap) + "_quantity")) + 1)), ar, ScriptTransfer(value(addressFromString(b)), 1, as)], toBase58String(as)) | |
283 | 278 | } | |
284 | 279 | ||
285 | 280 | ||
286 | 281 | ||
287 | 282 | @Callable(Y) | |
288 | - | func reduceRarity (as, | |
283 | + | func reduceRarity (as,ax) = { | |
289 | 284 | let ar = fromBase58String(as) | |
290 | 285 | if (if ((Y.caller != i())) | |
291 | 286 | then (Y.caller != this) | |
293 | 288 | then throw("admin or rebirth only") | |
294 | 289 | else { | |
295 | 290 | let ao = value(assetInfo(ar)).name | |
296 | - | let | |
297 | - | let ap = (("8" + | |
291 | + | let ay = takeRight(take(ao, 6), 1) | |
292 | + | let ap = (("8" + ay) + "-G") | |
298 | 293 | [IntegerEntry(y(ao), (A(y(ao)) - 1)), IntegerEntry((("stats_" + ap) + "_quantity"), (A((("stats_" + ap) + "_quantity")) - 1))] | |
299 | 294 | } | |
300 | 295 | } | |
301 | 296 | ||
302 | 297 | ||
303 | - | @Verifier( | |
304 | - | func | |
298 | + | @Verifier(az) | |
299 | + | func aA () = sigVerify(az.bodyBytes, az.proofs[0], az.senderPublicKey) | |
305 | 300 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func a (b,c) = { | |
5 | 5 | let d = getString(b, c) | |
6 | 6 | if ($isInstanceOf(d, "String")) | |
7 | 7 | then { | |
8 | 8 | let e = d | |
9 | 9 | e | |
10 | 10 | } | |
11 | 11 | else "" | |
12 | 12 | } | |
13 | 13 | ||
14 | 14 | ||
15 | 15 | func f (c) = a(this, c) | |
16 | 16 | ||
17 | 17 | ||
18 | 18 | func g () = Address(fromBase58String(f("static_oracleAddress"))) | |
19 | 19 | ||
20 | 20 | ||
21 | 21 | func h () = fromBase58String(a(g(), "static_eggAssetId")) | |
22 | 22 | ||
23 | 23 | ||
24 | 24 | func i () = Address(fromBase58String(a(g(), "static_rebirthAddress"))) | |
25 | 25 | ||
26 | 26 | ||
27 | 27 | func j () = Address(fromBase58String(a(g(), "static_swopPromoAddress"))) | |
28 | 28 | ||
29 | 29 | ||
30 | 30 | func k () = Address(fromBase58String(a(g(), "static_babyDuckAddress"))) | |
31 | 31 | ||
32 | 32 | ||
33 | 33 | func l () = Address(fromBase58String(a(g(), "static_refContractAddress"))) | |
34 | 34 | ||
35 | 35 | ||
36 | 36 | let m = 2 | |
37 | 37 | ||
38 | 38 | let n = 10 | |
39 | 39 | ||
40 | 40 | let o = 5 | |
41 | 41 | ||
42 | 42 | let p = "HATCHING_STARTED" | |
43 | 43 | ||
44 | 44 | let q = "HATCHING_FINISHED" | |
45 | 45 | ||
46 | 46 | func r () = { | |
47 | 47 | let s = Address(base58'3PEPftf2kWZDmAaWBjs6BUJa9957kiA2PkU') | |
48 | 48 | let d = getInteger(s, "egglock") | |
49 | 49 | if ($isInstanceOf(d, "Int")) | |
50 | 50 | then { | |
51 | 51 | let t = d | |
52 | 52 | t | |
53 | 53 | } | |
54 | 54 | else 0 | |
55 | 55 | } | |
56 | 56 | ||
57 | 57 | ||
58 | 58 | func u (b,v) = (((b + "_") + toBase58String(v)) + "_status") | |
59 | 59 | ||
60 | 60 | ||
61 | 61 | func w (b,v) = (((b + "_") + toBase58String(v)) + "_fh") | |
62 | 62 | ||
63 | 63 | ||
64 | 64 | func x (b,v) = (((b + "_") + toBase58String(v)) + "_di") | |
65 | 65 | ||
66 | 66 | ||
67 | 67 | func y (z) = (("stats_" + z) + "_amount") | |
68 | 68 | ||
69 | 69 | ||
70 | 70 | func A (c) = { | |
71 | 71 | let B = { | |
72 | 72 | let d = getInteger(this, c) | |
73 | 73 | if ($isInstanceOf(d, "Int")) | |
74 | 74 | then { | |
75 | 75 | let t = d | |
76 | 76 | t | |
77 | 77 | } | |
78 | 78 | else 0 | |
79 | 79 | } | |
80 | 80 | B | |
81 | 81 | } | |
82 | 82 | ||
83 | 83 | ||
84 | 84 | let C = A("discountCoefficient") | |
85 | 85 | ||
86 | 86 | let D = A("saleCoefficient") | |
87 | 87 | ||
88 | 88 | func E (F,v,G,H) = { | |
89 | 89 | let I = value(blockInfoByHeight((G - 1))) | |
90 | 90 | let J = sha256((v + value(I.vrf))) | |
91 | 91 | (toInt(J, (H * 8)) % F) | |
92 | 92 | } | |
93 | 93 | ||
94 | 94 | ||
95 | 95 | func K (L) = A(y(L)) | |
96 | 96 | ||
97 | 97 | ||
98 | 98 | func M (v,G) = { | |
99 | 99 | let N = E(500, v, G, 0) | |
100 | 100 | if (if ((5 > N)) | |
101 | - | then (K("DUCK- | |
101 | + | then (K("DUCK-WWPUZZLE-JU") == 0) | |
102 | 102 | else false) | |
103 | - | then $Tuple2("DUCK-WWZETKIN-JU", "1E1I1K1N1T1U2W1Z-J") | |
104 | - | else if (if ((10 > N)) | |
105 | - | then (K("DUCK-WWWWMARG-JU") == 0) | |
106 | - | else false) | |
107 | - | then $Tuple2("DUCK-WWWWMARG-JU", "1A1G1M1R4W-J") | |
108 | - | else if (if ((15 > N)) | |
109 | - | then (K("DUCK-WWWDAISY-JU") == 0) | |
110 | - | else false) | |
111 | - | then $Tuple2("DUCK-WWWDAISY-JU", "1A1D1I1S3W1Y-J") | |
112 | - | else { | |
113 | - | let O = E(4, v, G, 0) | |
114 | - | let P = E(4, v, G, 1) | |
115 | - | let Q = if ((P == 0)) | |
116 | - | then "Y" | |
117 | - | else if ((P == 1)) | |
118 | - | then "G" | |
119 | - | else if ((P == 2)) | |
120 | - | then "B" | |
121 | - | else "R" | |
122 | - | if ((O == 0)) | |
123 | - | then $Tuple2(("DUCK-HHHHHHHH-G" + Q), "8H-G") | |
124 | - | else if ((O == 1)) | |
125 | - | then $Tuple2(("DUCK-GGGGGGGG-G" + Q), "8G-G") | |
126 | - | else if ((O == 2)) | |
127 | - | then $Tuple2(("DUCK-IIIIIIII-G" + Q), "8I-G") | |
128 | - | else $Tuple2(("DUCK-KKKKKKKK-G" + Q), "8K-G") | |
129 | - | } | |
103 | + | then $Tuple2("DUCK-WWPUZZLE-JU", "1E1L1P1U2W2Z-J") | |
104 | + | else { | |
105 | + | let O = E(4, v, G, 0) | |
106 | + | let P = E(4, v, G, 1) | |
107 | + | let Q = if ((P == 0)) | |
108 | + | then "Y" | |
109 | + | else if ((P == 1)) | |
110 | + | then "G" | |
111 | + | else if ((P == 2)) | |
112 | + | then "B" | |
113 | + | else "R" | |
114 | + | if ((O == 0)) | |
115 | + | then $Tuple2(("DUCK-HHHHHHHH-G" + Q), "8H-G") | |
116 | + | else if ((O == 1)) | |
117 | + | then $Tuple2(("DUCK-GGGGGGGG-G" + Q), "8G-G") | |
118 | + | else if ((O == 2)) | |
119 | + | then $Tuple2(("DUCK-IIIIIIII-G" + Q), "8I-G") | |
120 | + | else $Tuple2(("DUCK-KKKKKKKK-G" + Q), "8K-G") | |
121 | + | } | |
130 | 122 | } | |
131 | 123 | ||
132 | 124 | ||
133 | 125 | func R (S) = { | |
134 | 126 | let T = S | |
135 | 127 | let U = C | |
136 | 128 | let V = D | |
137 | 129 | let W = n | |
138 | 130 | let X = pow((100 + ((T * U) / (10 * W))), 2, 5, 1, 2, DOWN) | |
139 | 131 | if ((D == 0)) | |
140 | 132 | then (X * 1000000) | |
141 | 133 | else (((X * 1000000) / 100) * (100 - D)) | |
142 | 134 | } | |
143 | 135 | ||
144 | 136 | ||
145 | 137 | @Callable(Y) | |
146 | 138 | func configureOracle (Z) = if ((Y.caller != this)) | |
147 | 139 | then throw("admin only") | |
148 | 140 | else [StringEntry("static_oracleAddress", Z)] | |
149 | 141 | ||
150 | 142 | ||
151 | 143 | ||
152 | 144 | @Callable(Y) | |
153 | 145 | func setDiscount (B) = if ((Y.caller != this)) | |
154 | 146 | then throw("admin_only") | |
155 | 147 | else [IntegerEntry("discountCoefficient", B)] | |
156 | 148 | ||
157 | 149 | ||
158 | 150 | ||
159 | 151 | @Callable(Y) | |
160 | 152 | func setSale (B) = if ((Y.caller != this)) | |
161 | 153 | then throw("admin_only") | |
162 | 154 | else [IntegerEntry("saleCoefficient", B)] | |
163 | 155 | ||
164 | 156 | ||
165 | 157 | ||
166 | 158 | @Callable(Y) | |
167 | 159 | func startDuckHatching (aa) = if ((r() > 0)) | |
168 | 160 | then throw("EGG operations are temporarily locked") | |
169 | 161 | else { | |
170 | 162 | let S = A("ducks_amount") | |
171 | 163 | let ab = R(S) | |
172 | 164 | let ac = value(Y.payments[0]) | |
173 | 165 | let ad = [StringEntry(u(toString(Y.originCaller), Y.transactionId), p), IntegerEntry(w(toString(Y.originCaller), Y.transactionId), (height + m)), IntegerEntry("ducks_amount", (S + 1)), IntegerEntry("ducks_last_price", (ab / 1000000))] | |
174 | 166 | if ((Y.caller == k())) | |
175 | 167 | then (ad ++ [BooleanEntry((("hatching_" + toBase58String(Y.transactionId)) + "_babyDuck"), true)]) | |
176 | 168 | else if ((ac.assetId != h())) | |
177 | 169 | then throw(("You can attach only EGG tokens with the following asset id: " + toBase58String(h()))) | |
178 | 170 | else if ((ab > ac.amount)) | |
179 | 171 | then throw(("To hatch a duck you currently need the following amount of EGGlets: " + toString(ab))) | |
180 | 172 | else { | |
181 | 173 | let ae = fraction(ab, o, 100) | |
182 | 174 | let af = invoke(l(), "refPayment", [aa], [AttachedPayment(h(), ae)]) | |
183 | 175 | if ((af == af)) | |
184 | 176 | then (ad ++ [ScriptTransfer(Y.caller, (ac.amount - ab), h())]) | |
185 | 177 | else throw("Strict value is not equal to itself.") | |
186 | 178 | } | |
187 | 179 | } | |
188 | 180 | ||
189 | 181 | ||
190 | 182 | ||
191 | 183 | @Callable(Y) | |
192 | 184 | func startDuckHatchingForAddress (b) = if ((r() > 0)) | |
193 | 185 | then throw("EGG operations are temporarily locked") | |
194 | 186 | else if ((Y.caller != j())) | |
195 | 187 | then throw("Pernission denied") | |
196 | 188 | else { | |
197 | 189 | let S = A("ducks_amount") | |
198 | 190 | let ab = R(S) | |
199 | 191 | [StringEntry(u(b, Y.transactionId), p), IntegerEntry(w(b, Y.transactionId), (height + m)), IntegerEntry("ducks_amount", (S + 1)), IntegerEntry("ducks_last_price", (ab / 1000000)), BooleanEntry((("hatching_" + toBase58String(Y.transactionId)) + "_promo"), true)] | |
200 | 192 | } | |
201 | 193 | ||
202 | 194 | ||
203 | 195 | ||
204 | 196 | @Callable(Y) | |
205 | 197 | func finishDuckHatching (ag) = { | |
206 | 198 | let v = fromBase58String(ag) | |
207 | 199 | let ah = u(toString(Y.caller), v) | |
208 | 200 | let ai = w(toString(Y.caller), v) | |
209 | 201 | let aj = x(toString(Y.caller), v) | |
210 | 202 | let ak = { | |
211 | 203 | let d = getBoolean((("hatching_" + ag) + "_babyDuck")) | |
212 | 204 | if ($isInstanceOf(d, "Boolean")) | |
213 | 205 | then { | |
214 | 206 | let W = d | |
215 | 207 | W | |
216 | 208 | } | |
217 | 209 | else false | |
218 | 210 | } | |
219 | 211 | let al = getStringValue(this, ah) | |
220 | 212 | let G = getIntegerValue(this, ai) | |
221 | 213 | if ((al == q)) | |
222 | 214 | then { | |
223 | 215 | let am = getStringValue(this, x(toString(Y.caller), v)) | |
224 | 216 | throw(("The duck was hatched and claimed already, here is the folowing: " + am)) | |
225 | 217 | } | |
226 | 218 | else if ((G > height)) | |
227 | 219 | then throw((((("Hatching is not finished yet " + toString((G - height))) + " blocks remaining, it will take around ") + toString((G - height))) + " minutes")) | |
228 | 220 | else { | |
229 | 221 | let an = M(v, G) | |
230 | 222 | let ao = an._1 | |
231 | 223 | let ap = an._2 | |
232 | 224 | let aq = (("{\"genotype\": \"" + ao) + "\", \"crossbreeding\": true}") | |
233 | 225 | let ar = Issue(ao, aq, 1, 0, false, unit, G) | |
234 | 226 | let as = calculateAssetId(ar) | |
235 | 227 | let at = (A(y(ao)) + 1) | |
236 | 228 | [StringEntry(ah, q), StringEntry(aj, toBase58String(as)), StringEntry(toBase58String(as), aj), BooleanEntry((("duck_" + toBase58String(as)) + "_grown"), ak), IntegerEntry(y(ao), at), IntegerEntry((("stats_" + ap) + "_quantity"), (A((("stats_" + ap) + "_quantity")) + 1)), ar, ScriptTransfer(Y.caller, 1, as)] | |
237 | 229 | } | |
238 | 230 | } | |
239 | 231 | ||
240 | 232 | ||
241 | 233 | ||
242 | 234 | @Callable(Y) | |
243 | 235 | func issueFreeDuck (b,ag) = if ((Y.caller != i())) | |
244 | 236 | then throw("rebirth only") | |
245 | 237 | else { | |
246 | 238 | let v = fromBase58String(ag) | |
247 | 239 | let ah = u(b, v) | |
248 | 240 | let ai = w(b, v) | |
249 | 241 | let S = A("ducks_amount") | |
250 | 242 | let ab = R(S) | |
251 | - | let au = M(v, ( | |
243 | + | let au = M(v, (valueOrErrorMessage(transactionHeightById(v), ((ag + " not found ") + toBase58String(v))) + 1)) | |
252 | 244 | let ao = au._1 | |
253 | 245 | let ap = au._2 | |
254 | 246 | let aq = (("{\"genotype\": \"" + ao) + "\", \"crossbreeding\": true}") | |
255 | 247 | let ar = Issue(ao, aq, 1, 0, false, unit, height) | |
256 | 248 | let as = calculateAssetId(ar) | |
257 | 249 | let at = (A(y(ao)) + 1) | |
258 | 250 | let aj = x(b, v) | |
259 | 251 | $Tuple2([IntegerEntry(w(b, v), height), IntegerEntry("ducks_amount", (S + 1)), IntegerEntry("ducks_last_price", (ab / 1000000)), StringEntry(ah, q), StringEntry(aj, toBase58String(as)), StringEntry(toBase58String(as), aj), IntegerEntry(y(ao), at), IntegerEntry((("stats_" + ap) + "_quantity"), (A((("stats_" + ap) + "_quantity")) + 1)), ar, ScriptTransfer(value(addressFromString(b)), 1, as)], toBase58String(as)) | |
260 | 252 | } | |
261 | 253 | ||
262 | 254 | ||
263 | 255 | ||
264 | 256 | @Callable(Y) | |
265 | 257 | func issueJackpot (b,ag,L) = if (if ((Y.caller != i())) | |
266 | 258 | then (Y.caller != this) | |
267 | 259 | else false) | |
268 | 260 | then throw("admin or rebirth only") | |
269 | 261 | else { | |
270 | 262 | let v = fromBase58String(ag) | |
271 | 263 | let ah = u(b, v) | |
272 | 264 | let ai = w(b, v) | |
273 | 265 | let S = A("ducks_amount") | |
274 | 266 | let ab = R(S) | |
275 | 267 | let av = $Tuple2((("DUCK-" + L) + "-JU"), "8W-J") | |
276 | 268 | let ao = av._1 | |
277 | 269 | let ap = av._2 | |
278 | 270 | let aq = (("{\"genotype\": \"" + ao) + "\", \"crossbreeding\": true}") | |
279 | 271 | let ar = Issue(ao, aq, 1, 0, false, unit, height) | |
280 | 272 | let as = calculateAssetId(ar) | |
281 | 273 | let aj = x(b, v) | |
282 | - | $Tuple2([IntegerEntry(w(b, v), height), IntegerEntry("ducks_amount", (S + 1)), IntegerEntry("ducks_last_price", (ab / 1000000)), StringEntry(ah, q), StringEntry(aj, toBase58String(as)), StringEntry(toBase58String(as), aj), IntegerEntry(y(ao), (A(y(ao)) + 1)), IntegerEntry((("stats_" + ap) + "_quantity"), (A((("stats_" + ap) + "_quantity")) + 1)), ar, ScriptTransfer(value(addressFromString(b)), 1, as)], toBase58String(as)) | |
274 | + | let aw = f(aj) | |
275 | + | if ((aw != "")) | |
276 | + | then throw((("You will override following duckId :" + aj) + " make sure that your txId is unique!")) | |
277 | + | else $Tuple2([IntegerEntry(w(b, v), height), IntegerEntry("ducks_amount", (S + 1)), IntegerEntry("ducks_last_price", (ab / 1000000)), StringEntry(ah, q), StringEntry(aj, toBase58String(as)), StringEntry(toBase58String(as), aj), IntegerEntry(y(ao), (A(y(ao)) + 1)), IntegerEntry((("stats_" + ap) + "_quantity"), (A((("stats_" + ap) + "_quantity")) + 1)), ar, ScriptTransfer(value(addressFromString(b)), 1, as)], toBase58String(as)) | |
283 | 278 | } | |
284 | 279 | ||
285 | 280 | ||
286 | 281 | ||
287 | 282 | @Callable(Y) | |
288 | - | func reduceRarity (as, | |
283 | + | func reduceRarity (as,ax) = { | |
289 | 284 | let ar = fromBase58String(as) | |
290 | 285 | if (if ((Y.caller != i())) | |
291 | 286 | then (Y.caller != this) | |
292 | 287 | else false) | |
293 | 288 | then throw("admin or rebirth only") | |
294 | 289 | else { | |
295 | 290 | let ao = value(assetInfo(ar)).name | |
296 | - | let | |
297 | - | let ap = (("8" + | |
291 | + | let ay = takeRight(take(ao, 6), 1) | |
292 | + | let ap = (("8" + ay) + "-G") | |
298 | 293 | [IntegerEntry(y(ao), (A(y(ao)) - 1)), IntegerEntry((("stats_" + ap) + "_quantity"), (A((("stats_" + ap) + "_quantity")) - 1))] | |
299 | 294 | } | |
300 | 295 | } | |
301 | 296 | ||
302 | 297 | ||
303 | - | @Verifier( | |
304 | - | func | |
298 | + | @Verifier(az) | |
299 | + | func aA () = sigVerify(az.bodyBytes, az.proofs[0], az.senderPublicKey) | |
305 | 300 |
github/deemru/w8io/3ef1775 62.40 ms ◑