tx · cAH7vFTStNMkgBtSJCeZBqKyCm4haqhiLYZGJkWJEct

3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv:  -0.01400000 Waves

2022.06.04 14:38 [3147104] smart account 3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv > SELF 0.00000000 Waves

{ "type": 13, "id": "cAH7vFTStNMkgBtSJCeZBqKyCm4haqhiLYZGJkWJEct", "fee": 1400000, "feeAssetId": null, "timestamp": 1654342723164, "version": 2, "chainId": 87, "sender": "3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv", "senderPublicKey": "EBHsV7TQYm4qS2V7iZXEXwcbUdEYQyCSLEdY2AMvLPns", "proofs": [ "4cd7vf9g94zLrBFP1rWFyqAMRyhXad7jDEwJywRZYFY4AcdY4jbATomj1R9CT9ZRYWSy4YZczTZhvQDHNbXYediv" ], "script": "base64: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AAAAAAAAAAAAAAkAAAIAAAABAgAAAC1JU0RIRkE6IEVHRyBvcGVyYXRpb25zIGFyZSB0ZW1wb3JhcmlseSBsb2NrZWQDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIJAQAAABNnZXRTd29wUHJvbW9BZGRyZXNzAAAAAAkAAAIAAAABAgAAABlJU0RIRkE6IFBlcm1pc3Npb24gZGVuaWVkBAAAABB0b3RhbER1Y2tzQW1vdW50CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAADGR1Y2tzX2Ftb3VudAQAAAAKZWdnc05lZWRlZAkBAAAAFWNvdW50RWdnc05lZWRlZEFtb3VudAAAAAEFAAAAEHRvdGFsRHVja3NBbW91bnQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAFGdldEhhdGNoaW5nU3RhdHVzS2V5AAAAAgUAAAAHYWRkcmVzcwgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAPSGF0Y2hpbmdTdGFydGVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAaZ2V0SGF0Y2hpbmdGaW5pc2hIZWlnaHRLZXkAAAACBQAAAAdhZGRyZXNzCAUAAAABaQAAAA10cmFuc2FjdGlvbklkCQAAZAAAAAIFAAAABmhlaWdodAUAAAAQZGVsYXlGb3JIYXRjaGluZwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMZHVja3NfYW1vdW50CQAAZAAAAAIFAAAAEHRvdGFsRHVja3NBbW91bnQAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEGR1Y2tzX2xhc3RfcHJpY2UJAABpAAAAAgUAAAAKZWdnc05lZWRlZAAAAAAAAA9CQAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACWhhdGNoaW5nXwkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkAgAAAAZfcHJvbW8GBQAAAANuaWwAAAABaQEAAAASZmluaXNoRHVja0hhdGNoaW5nAAAAAQAAAAd0eElkU3RyBAAAAAR0eElkCQACWQAAAAEFAAAAB3R4SWRTdHIEAAAAEWhhdGNoaW5nU3RhdHVzS2V5CQEAAAAUZ2V0SGF0Y2hpbmdTdGF0dXNLZXkAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAEdHhJZAQAAAAPZmluaXNoSGVpZ2h0S2V5CQEAAAAaZ2V0SGF0Y2hpbmdGaW5pc2hIZWlnaHRLZXkAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAEdHhJZAQAAAAJZHVja0lkS2V5CQEAAAAMZ2V0RHVja0lkS2V5AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAABHR4SWQEAAAADGR1Y2tGcm9tQmFieQQAAAAHJG1hdGNoMAkABCAAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAJaGF0Y2hpbmdfBQAAAAd0eElkU3RyAgAAAAlfYmFieUR1Y2sDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAXQFAAAAByRtYXRjaDAFAAAAAXQHBAAAABBoYXRjaGluZ1R4U3RhdHVzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAABFoYXRjaGluZ1N0YXR1c0tleQQAAAAUaGF0Y2hpbmdGaW5pc2hIZWlnaHQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAD2ZpbmlzaEhlaWdodEtleQMJAAAAAAAAAgUAAAAQaGF0Y2hpbmdUeFN0YXR1cwUAAAAQSGF0Y2hpbmdGaW5pc2hlZAQAAAAGZHVja0lkCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQEAAAAMZ2V0RHVja0lkS2V5AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAABHR4SWQJAAACAAAAAQkAASwAAAACAgAAAEZJRkRIOiBUaGUgZHVjayB3YXMgaGF0Y2hlZCBhbmQgY2xhaW1lZCBhbHJlYWR5LCBoZXJlIGlzIHRoZSBmb2xvd2luZzogBQAAAAZkdWNrSWQDCQAAZgAAAAIFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0BQAAAAZoZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAB1IYXRjaGluZyBpcyBub3QgZmluaXNoZWQgeWV0IAkAAaQAAAABCQAAZQAAAAIFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0BQAAAAZoZWlnaHQCAAAAJyBibG9ja3MgcmVtYWluaW5nLCBpdCB3aWxsIHRha2UgYXJvdW5kIAkAAaQAAAABCQAAZQAAAAIFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0BQAAAAZoZWlnaHQCAAAACCBtaW51dGVzBAAAAAskdDA4NjEzODY5OQkBAAAADWdldFJhbmRvbU5hbWUAAAACBQAAAAR0eElkBQAAABRoYXRjaGluZ0ZpbmlzaEhlaWdodAQAAAAHZHVja0dlbggFAAAACyR0MDg2MTM4Njk5AAAAAl8xBAAAAAdmYXJtR2VuCAUAAAALJHQwODYxMzg2OTkAAAACXzIEAAAAEmphY2twb3RSYW5kb21FbnRyeQgFAAAACyR0MDg2MTM4Njk5AAAAAl8zBAAAAAtkZXNjcmlwdGlvbgkAASwAAAACCQABLAAAAAICAAAADnsiZ2Vub3R5cGUiOiAiBQAAAAdkdWNrR2VuAgAAABkiLCAiY3Jvc3NicmVlZGluZyI6IHRydWV9BAAAAAVhc3NldAkABEMAAAAHBQAAAAdkdWNrR2VuBQAAAAtkZXNjcmlwdGlvbgAAAAAAAAAAAQAAAAAAAAAAAAcFAAAABHVuaXQFAAAAFGhhdGNoaW5nRmluaXNoSGVpZ2h0BAAAAAdhc3NldElkCQAEOAAAAAEFAAAABWFzc2V0BAAAAAZhbW91bnQJAABkAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAAPZ2V0RHVja1N0YXRzS2V5AAAAAQUAAAAHZHVja0dlbgAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABFoYXRjaGluZ1N0YXR1c0tleQUAAAAQSGF0Y2hpbmdGaW5pc2hlZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAlkdWNrSWRLZXkJAAJYAAAAAQUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQACWAAAAAEFAAAAB2Fzc2V0SWQFAAAACWR1Y2tJZEtleQkABEwAAAAC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AQAAABRnZXRIYXRjaGluZ1N0YXR1c0tleQAAAAIFAAAAB2FkZHJlc3MFAAAABHR4SWQEAAAAD2ZpbmlzaEhlaWdodEtleQkBAAAAGmdldEhhdGNoaW5nRmluaXNoSGVpZ2h0S2V5AAAAAgUAAAAHYWRkcmVzcwUAAAAEdHhJZAQAAAAQdG90YWxEdWNrc0Ftb3VudAkBAAAADXRyeUdldEludGVnZXIAAAABAgAAAAxkdWNrc19hbW91bnQEAAAACmVnZ3NOZWVkZWQJAQAAABVjb3VudEVnZ3NOZWVkZWRBbW91bnQAAAABBQAAABB0b3RhbER1Y2tzQW1vdW50BAAAAA0kdDAxMTYwNTExNjU3CQAFFAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAVEVUNLLQUAAAADZ2VuAgAAAAMtSlUCAAAABDhXLUoEAAAAB2R1Y2tHZW4IBQAAAA0kdDAxMTYwNTExNjU3AAAAAl8xBAAAAAdmYXJtR2VuCAUAAAANJHQwMTE2MDUxMTY1NwAAAAJfMgQAAAALZGVzY3JpcHRpb24JAAEsAAAAAgkAASwAAAACAgAAAA57Imdlbm90eXBlIjogIgUAAAAHZHVja0dlbgIAAAAZIiwgImNyb3NzYnJlZWRpbmciOiB0cnVlfQQAAAAFYXNzZXQJAARDAAAABwUAAAAHZHVja0dlbgUAAAALZGVzY3JpcHRpb24AAAAAAAAAAAEAAAAAAAAAAAAHBQAAAAR1bml0BQAAAAZoZWlnaHQEAAAAB2Fzc2V0SWQJAAQ4AAAAAQUAAAAFYXNzZXQEAAAACWR1Y2tJZEtleQkBAAAADGdldER1Y2tJZEtleQAAAAIFAAAAB2FkZHJlc3MFAAAABHR4SWQEAAAAE3ZhbHVlRHVja0lkS2V5RXhpdHMJAQAAAAx0cnlHZXRTdHJpbmcAAAABBQAAAAlkdWNrSWRLZXkDCQEAAAACIT0AAAACBQAAABN2YWx1ZUR1Y2tJZEtleUV4aXRzAgAAAAAJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAKUlTSjogWW91IHdpbGwgb3ZlcnJpZGUgZm9sbG93aW5nIGR1Y2tJZCA6BQAAAAlkdWNrSWRLZXkCAAAAJCBtYWtlIHN1cmUgdGhhdCB5b3VyIHR4SWQgaXMgdW5pcXVlIQkA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", "height": 3147104, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BN8m2Mxde1A3XYHPjG8vJA3Zn7oaPWfKFdG9TuWUWETT Next: AzpFF87agB89JVbKq4Qb1iCDUMVzbyUfD2xBWiMCjKqm Diff:
OldNewDifferences
9292
9393
9494 func getRandomName (txId,hatchingFinishHeight) = {
95- let jackpotRandom = getRandomNumber(500, txId, hatchingFinishHeight, 4)
95+ let jackpotRandom = getRandomNumber(1000, txId, hatchingFinishHeight, 4)
9696 let entry = IntegerEntry("last_jackpot_random", jackpotRandom)
97- if (if ((jackpotRandom > 495))
97+ if (if (if ((jackpotRandom > 495))
98+ then (505 > jackpotRandom)
99+ else false)
98100 then (wasUniqueBorn("DUCK-WWGRANJA-JU") == 0)
99101 else false)
100102 then $Tuple3("DUCK-WWGRANJA-JU", "2A1G1J1N1R2W-J", entry)
240242 else if ((hatchingFinishHeight > height))
241243 then throw((((("Hatching is not finished yet " + toString((hatchingFinishHeight - height))) + " blocks remaining, it will take around ") + toString((hatchingFinishHeight - height))) + " minutes"))
242244 else {
243- let $t085898675 = getRandomName(txId, hatchingFinishHeight)
244- let duckGen = $t085898675._1
245- let farmGen = $t085898675._2
246- let jackpotRandomEntry = $t085898675._3
245+ let $t086138699 = getRandomName(txId, hatchingFinishHeight)
246+ let duckGen = $t086138699._1
247+ let farmGen = $t086138699._2
248+ let jackpotRandomEntry = $t086138699._3
247249 let description = (("{\"genotype\": \"" + duckGen) + "\", \"crossbreeding\": true}")
248250 let asset = Issue(duckGen, description, 1, 0, false, unit, hatchingFinishHeight)
249251 let assetId = calculateAssetId(asset)
263265 let finishHeightKey = getHatchingFinishHeightKey(address, txId)
264266 let totalDucksAmount = tryGetInteger("ducks_amount")
265267 let eggsNeeded = countEggsNeededAmount(totalDucksAmount)
266- let $t0994410106 = getRandomName(txId, (valueOrErrorMessage(transactionHeightById(txId), ((txIdStr + " not found ") + toBase58String(txId))) + 1))
267- let duckGen = $t0994410106._1
268- let farmGen = $t0994410106._2
269- let jackpotRandomEntry = $t0994410106._3
268+ let $t0996810130 = getRandomName(txId, (valueOrErrorMessage(transactionHeightById(txId), ((txIdStr + " not found ") + toBase58String(txId))) + 1))
269+ let duckGen = $t0996810130._1
270+ let farmGen = $t0996810130._2
271+ let jackpotRandomEntry = $t0996810130._3
270272 let description = (("{\"genotype\": \"" + duckGen) + "\", \"crossbreeding\": true}")
271273 let asset = Issue(duckGen, description, 1, 0, false, unit, height)
272274 let assetId = calculateAssetId(asset)
288290 let finishHeightKey = getHatchingFinishHeightKey(address, txId)
289291 let totalDucksAmount = tryGetInteger("ducks_amount")
290292 let eggsNeeded = countEggsNeededAmount(totalDucksAmount)
291- let $t01158111633 = $Tuple2((("DUCK-" + gen) + "-JU"), "8W-J")
292- let duckGen = $t01158111633._1
293- let farmGen = $t01158111633._2
293+ let $t01160511657 = $Tuple2((("DUCK-" + gen) + "-JU"), "8W-J")
294+ let duckGen = $t01160511657._1
295+ let farmGen = $t01160511657._2
294296 let description = (("{\"genotype\": \"" + duckGen) + "\", \"crossbreeding\": true}")
295297 let asset = Issue(duckGen, description, 1, 0, false, unit, height)
296298 let assetId = calculateAssetId(asset)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func tryGetStringExternal (address,key) = match getString(address, key) {
55 case a: String =>
66 a
77 case _ =>
88 ""
99 }
1010
1111
1212 func tryGetString (key) = tryGetStringExternal(this, key)
1313
1414
1515 func getOracle () = Address(fromBase58String(tryGetString("static_oracleAddress")))
1616
1717
1818 func getEggAssetId () = fromBase58String(tryGetStringExternal(getOracle(), "static_eggAssetId"))
1919
2020
2121 func getRebirthAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_rebirthAddress")))
2222
2323
2424 func getSwopPromoAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_swopPromoAddress")))
2525
2626
2727 func getBabyDuckAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_babyDuckAddress")))
2828
2929
3030 func getRefContractAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_refContractAddress")))
3131
3232
3333 func getCouponsAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_couponsAddress")))
3434
3535
3636 let delayForHatching = 2
3737
3838 let typesAmount = 10
3939
4040 let RefererReward = 5
4141
4242 let HatchingStarted = "HATCHING_STARTED"
4343
4444 let HatchingFinished = "HATCHING_FINISHED"
4545
4646 func isLocked () = {
4747 let masterAddress = Address(base58'3PEPftf2kWZDmAaWBjs6BUJa9957kiA2PkU')
4848 match getInteger(masterAddress, "egglock") {
4949 case b: Int =>
5050 b
5151 case _ =>
5252 0
5353 }
5454 }
5555
5656
5757 func getHatchingStatusKey (address,txId) = (((address + "_") + toBase58String(txId)) + "_status")
5858
5959
6060 func getHatchingFinishHeightKey (address,txId) = (((address + "_") + toBase58String(txId)) + "_fh")
6161
6262
6363 func getDuckIdKey (address,txId) = (((address + "_") + toBase58String(txId)) + "_di")
6464
6565
6666 func getDuckStatsKey (genString) = (("stats_" + genString) + "_amount")
6767
6868
6969 func tryGetInteger (key) = {
7070 let val = match getInteger(this, key) {
7171 case b: Int =>
7272 b
7373 case _ =>
7474 0
7575 }
7676 val
7777 }
7878
7979
8080 let discountCoefficient = tryGetInteger("discountCoefficient")
8181
8282 let saleCoefficient = tryGetInteger("saleCoefficient")
8383
8484 func getRandomNumber (variants,txId,hatchingFinishHeight,offset) = {
8585 let randomSeedBlock = value(blockInfoByHeight((hatchingFinishHeight - 1)))
8686 let randomHash = sha256(((base58'incubator' + txId) + value(randomSeedBlock.vrf)))
8787 (toInt(randomHash, offset) % variants)
8888 }
8989
9090
9191 func wasUniqueBorn (gen) = tryGetInteger(getDuckStatsKey(gen))
9292
9393
9494 func getRandomName (txId,hatchingFinishHeight) = {
95- let jackpotRandom = getRandomNumber(500, txId, hatchingFinishHeight, 4)
95+ let jackpotRandom = getRandomNumber(1000, txId, hatchingFinishHeight, 4)
9696 let entry = IntegerEntry("last_jackpot_random", jackpotRandom)
97- if (if ((jackpotRandom > 495))
97+ if (if (if ((jackpotRandom > 495))
98+ then (505 > jackpotRandom)
99+ else false)
98100 then (wasUniqueBorn("DUCK-WWGRANJA-JU") == 0)
99101 else false)
100102 then $Tuple3("DUCK-WWGRANJA-JU", "2A1G1J1N1R2W-J", entry)
101103 else {
102104 let typeRandom = getRandomNumber(4, txId, hatchingFinishHeight, 5)
103105 let colorRandom = getRandomNumber(4, txId, hatchingFinishHeight, 6)
104106 let color = if ((colorRandom == 0))
105107 then "Y"
106108 else if ((colorRandom == 1))
107109 then "G"
108110 else if ((colorRandom == 2))
109111 then "B"
110112 else "R"
111113 if ((typeRandom == 0))
112114 then $Tuple3(("DUCK-HHHHHHHH-G" + color), "8H-G", entry)
113115 else if ((typeRandom == 1))
114116 then $Tuple3(("DUCK-GGGGGGGG-G" + color), "8G-G", entry)
115117 else if ((typeRandom == 2))
116118 then $Tuple3(("DUCK-IIIIIIII-G" + color), "8I-G", entry)
117119 else $Tuple3(("DUCK-KKKKKKKK-G" + color), "8K-G", entry)
118120 }
119121 }
120122
121123
122124 func countEggsNeededAmount (totalDucksAmount) = {
123125 let n = totalDucksAmount
124126 let g = discountCoefficient
125127 let s = saleCoefficient
126128 let t = typesAmount
127129 let price = pow((100 + ((n * g) / (10 * t))), 2, 5, 1, 2, DOWN)
128130 if ((saleCoefficient == 0))
129131 then (price * 1000000)
130132 else (((price * 1000000) / 100) * (100 - saleCoefficient))
131133 }
132134
133135
134136 func asInt (value) = match value {
135137 case int: Int =>
136138 int
137139 case _ =>
138140 throw("FAI: wrong type, expected: Int")
139141 }
140142
141143
142144 @Callable(i)
143145 func configureOracle (oracle) = if ((i.caller != this))
144146 then throw("ICU: admin only")
145147 else [StringEntry("static_oracleAddress", oracle)]
146148
147149
148150
149151 @Callable(i)
150152 func setDiscount (val) = if ((i.caller != this))
151153 then throw("ISD: admin_only")
152154 else [IntegerEntry("discountCoefficient", val)]
153155
154156
155157
156158 @Callable(i)
157159 func setSale (val) = if ((i.caller != this))
158160 then throw("ISS: admin_only")
159161 else [IntegerEntry("saleCoefficient", val)]
160162
161163
162164
163165 @Callable(i)
164166 func startDuckHatching (refererAddress) = if ((isLocked() > 0))
165167 then throw("ISDH: EGG operations are temporarily locked")
166168 else {
167169 let totalDucksAmount = tryGetInteger("ducks_amount")
168170 let eggsNeeded = countEggsNeededAmount(totalDucksAmount)
169171 let results = [StringEntry(getHatchingStatusKey(toString(i.originCaller), i.transactionId), HatchingStarted), IntegerEntry(getHatchingFinishHeightKey(toString(i.originCaller), i.transactionId), (height + delayForHatching)), IntegerEntry("ducks_amount", (totalDucksAmount + 1)), IntegerEntry("ducks_last_price", (eggsNeeded / 1000000))]
170172 let entry = if ((i.caller == getBabyDuckAddress()))
171173 then [BooleanEntry((("hatching_" + toBase58String(i.transactionId)) + "_babyDuck"), true)]
172174 else {
173175 let amountPaidByCoupons = asInt(invoke(getCouponsAddress(), "useCoupons", [eggsNeeded], nil))
174176 if ((amountPaidByCoupons == amountPaidByCoupons))
175177 then {
176178 let leftToPay = (eggsNeeded - amountPaidByCoupons)
177179 if ((leftToPay != 0))
178180 then {
179181 let firstPayment = value(i.payments[0])
180182 if ((firstPayment.assetId != getEggAssetId()))
181183 then throw(("ISDH: You can attach only EGG tokens with the following asset id: " + toBase58String(getEggAssetId())))
182184 else if ((leftToPay > firstPayment.amount))
183185 then throw(("ISDH: To hatch a duck you currently need the following amount of EGGlets: " + toString(leftToPay)))
184186 else {
185187 let refererReward = fraction(leftToPay, RefererReward, 100)
186188 let refCall = invoke(getRefContractAddress(), "refPayment", [refererAddress], [AttachedPayment(getEggAssetId(), refererReward)])
187189 if ((refCall == refCall))
188190 then {
189191 let payback = (firstPayment.amount - leftToPay)
190192 if ((payback > 0))
191193 then [ScriptTransfer(i.caller, payback, getEggAssetId())]
192194 else nil
193195 }
194196 else throw("Strict value is not equal to itself.")
195197 }
196198 }
197199 else nil
198200 }
199201 else throw("Strict value is not equal to itself.")
200202 }
201203 if ((entry == entry))
202204 then (results ++ entry)
203205 else throw("Strict value is not equal to itself.")
204206 }
205207
206208
207209
208210 @Callable(i)
209211 func startDuckHatchingForAddress (address) = if ((isLocked() > 0))
210212 then throw("ISDHFA: EGG operations are temporarily locked")
211213 else if ((i.caller != getSwopPromoAddress()))
212214 then throw("ISDHFA: Permission denied")
213215 else {
214216 let totalDucksAmount = tryGetInteger("ducks_amount")
215217 let eggsNeeded = countEggsNeededAmount(totalDucksAmount)
216218 [StringEntry(getHatchingStatusKey(address, i.transactionId), HatchingStarted), IntegerEntry(getHatchingFinishHeightKey(address, i.transactionId), (height + delayForHatching)), IntegerEntry("ducks_amount", (totalDucksAmount + 1)), IntegerEntry("ducks_last_price", (eggsNeeded / 1000000)), BooleanEntry((("hatching_" + toBase58String(i.transactionId)) + "_promo"), true)]
217219 }
218220
219221
220222
221223 @Callable(i)
222224 func finishDuckHatching (txIdStr) = {
223225 let txId = fromBase58String(txIdStr)
224226 let hatchingStatusKey = getHatchingStatusKey(toString(i.caller), txId)
225227 let finishHeightKey = getHatchingFinishHeightKey(toString(i.caller), txId)
226228 let duckIdKey = getDuckIdKey(toString(i.caller), txId)
227229 let duckFromBaby = match getBoolean((("hatching_" + txIdStr) + "_babyDuck")) {
228230 case t: Boolean =>
229231 t
230232 case _ =>
231233 false
232234 }
233235 let hatchingTxStatus = getStringValue(this, hatchingStatusKey)
234236 let hatchingFinishHeight = getIntegerValue(this, finishHeightKey)
235237 if ((hatchingTxStatus == HatchingFinished))
236238 then {
237239 let duckId = getStringValue(this, getDuckIdKey(toString(i.caller), txId))
238240 throw(("IFDH: The duck was hatched and claimed already, here is the folowing: " + duckId))
239241 }
240242 else if ((hatchingFinishHeight > height))
241243 then throw((((("Hatching is not finished yet " + toString((hatchingFinishHeight - height))) + " blocks remaining, it will take around ") + toString((hatchingFinishHeight - height))) + " minutes"))
242244 else {
243- let $t085898675 = getRandomName(txId, hatchingFinishHeight)
244- let duckGen = $t085898675._1
245- let farmGen = $t085898675._2
246- let jackpotRandomEntry = $t085898675._3
245+ let $t086138699 = getRandomName(txId, hatchingFinishHeight)
246+ let duckGen = $t086138699._1
247+ let farmGen = $t086138699._2
248+ let jackpotRandomEntry = $t086138699._3
247249 let description = (("{\"genotype\": \"" + duckGen) + "\", \"crossbreeding\": true}")
248250 let asset = Issue(duckGen, description, 1, 0, false, unit, hatchingFinishHeight)
249251 let assetId = calculateAssetId(asset)
250252 let amount = (tryGetInteger(getDuckStatsKey(duckGen)) + 1)
251253 [StringEntry(hatchingStatusKey, HatchingFinished), StringEntry(duckIdKey, toBase58String(assetId)), StringEntry(toBase58String(assetId), duckIdKey), BooleanEntry((("duck_" + toBase58String(assetId)) + "_grown"), duckFromBaby), IntegerEntry(getDuckStatsKey(duckGen), amount), jackpotRandomEntry, IntegerEntry((("stats_" + farmGen) + "_quantity"), (tryGetInteger((("stats_" + farmGen) + "_quantity")) + 1)), asset, ScriptTransfer(i.caller, 1, assetId)]
252254 }
253255 }
254256
255257
256258
257259 @Callable(i)
258260 func issueFreeDuck (address,txIdStr) = if ((i.caller != getRebirthAddress()))
259261 then throw("ISFD: rebirth only")
260262 else {
261263 let txId = fromBase58String(txIdStr)
262264 let hatchingStatusKey = getHatchingStatusKey(address, txId)
263265 let finishHeightKey = getHatchingFinishHeightKey(address, txId)
264266 let totalDucksAmount = tryGetInteger("ducks_amount")
265267 let eggsNeeded = countEggsNeededAmount(totalDucksAmount)
266- let $t0994410106 = getRandomName(txId, (valueOrErrorMessage(transactionHeightById(txId), ((txIdStr + " not found ") + toBase58String(txId))) + 1))
267- let duckGen = $t0994410106._1
268- let farmGen = $t0994410106._2
269- let jackpotRandomEntry = $t0994410106._3
268+ let $t0996810130 = getRandomName(txId, (valueOrErrorMessage(transactionHeightById(txId), ((txIdStr + " not found ") + toBase58String(txId))) + 1))
269+ let duckGen = $t0996810130._1
270+ let farmGen = $t0996810130._2
271+ let jackpotRandomEntry = $t0996810130._3
270272 let description = (("{\"genotype\": \"" + duckGen) + "\", \"crossbreeding\": true}")
271273 let asset = Issue(duckGen, description, 1, 0, false, unit, height)
272274 let assetId = calculateAssetId(asset)
273275 let amount = (tryGetInteger(getDuckStatsKey(duckGen)) + 1)
274276 let duckIdKey = getDuckIdKey(address, txId)
275277 $Tuple2([IntegerEntry(getHatchingFinishHeightKey(address, txId), height), IntegerEntry("ducks_amount", (totalDucksAmount + 1)), IntegerEntry("ducks_last_price", (eggsNeeded / 1000000)), jackpotRandomEntry, StringEntry(hatchingStatusKey, HatchingFinished), StringEntry(duckIdKey, toBase58String(assetId)), StringEntry(toBase58String(assetId), duckIdKey), IntegerEntry(getDuckStatsKey(duckGen), amount), IntegerEntry((("stats_" + farmGen) + "_quantity"), (tryGetInteger((("stats_" + farmGen) + "_quantity")) + 1)), asset, ScriptTransfer(value(addressFromString(address)), 1, assetId)], toBase58String(assetId))
276278 }
277279
278280
279281
280282 @Callable(i)
281283 func issueJackpot (address,txIdStr,gen) = if (if ((i.caller != getRebirthAddress()))
282284 then (i.caller != this)
283285 else false)
284286 then throw("ISJ: admin or rebirth only")
285287 else {
286288 let txId = fromBase58String(txIdStr)
287289 let hatchingStatusKey = getHatchingStatusKey(address, txId)
288290 let finishHeightKey = getHatchingFinishHeightKey(address, txId)
289291 let totalDucksAmount = tryGetInteger("ducks_amount")
290292 let eggsNeeded = countEggsNeededAmount(totalDucksAmount)
291- let $t01158111633 = $Tuple2((("DUCK-" + gen) + "-JU"), "8W-J")
292- let duckGen = $t01158111633._1
293- let farmGen = $t01158111633._2
293+ let $t01160511657 = $Tuple2((("DUCK-" + gen) + "-JU"), "8W-J")
294+ let duckGen = $t01160511657._1
295+ let farmGen = $t01160511657._2
294296 let description = (("{\"genotype\": \"" + duckGen) + "\", \"crossbreeding\": true}")
295297 let asset = Issue(duckGen, description, 1, 0, false, unit, height)
296298 let assetId = calculateAssetId(asset)
297299 let duckIdKey = getDuckIdKey(address, txId)
298300 let valueDuckIdKeyExits = tryGetString(duckIdKey)
299301 if ((valueDuckIdKeyExits != ""))
300302 then throw((("ISJ: You will override following duckId :" + duckIdKey) + " make sure that your txId is unique!"))
301303 else $Tuple2([IntegerEntry(getHatchingFinishHeightKey(address, txId), height), IntegerEntry("ducks_amount", (totalDucksAmount + 1)), IntegerEntry("ducks_last_price", (eggsNeeded / 1000000)), StringEntry(hatchingStatusKey, HatchingFinished), StringEntry(duckIdKey, toBase58String(assetId)), StringEntry(toBase58String(assetId), duckIdKey), IntegerEntry(getDuckStatsKey(duckGen), (tryGetInteger(getDuckStatsKey(duckGen)) + 1)), IntegerEntry((("stats_" + farmGen) + "_quantity"), (tryGetInteger((("stats_" + farmGen) + "_quantity")) + 1)), asset, ScriptTransfer(value(addressFromString(address)), 1, assetId)], toBase58String(assetId))
302304 }
303305
304306
305307
306308 @Callable(i)
307309 func reduceRarity (assetId,fGen) = {
308310 let asset = fromBase58String(assetId)
309311 if (if ((i.caller != getRebirthAddress()))
310312 then (i.caller != this)
311313 else false)
312314 then throw("IRR: admin or rebirth only")
313315 else {
314316 let duckGen = value(assetInfo(asset)).name
315317 let letter = takeRight(take(duckGen, 6), 1)
316318 let farmGen = (("8" + letter) + "-G")
317319 [IntegerEntry(getDuckStatsKey(duckGen), (tryGetInteger(getDuckStatsKey(duckGen)) - 1)), IntegerEntry((("stats_" + farmGen) + "_quantity"), (tryGetInteger((("stats_" + farmGen) + "_quantity")) - 1))]
318320 }
319321 }
320322
321323
322324 @Verifier(tx)
323325 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
324326

github/deemru/w8io/6500d08 
63.19 ms