tx · AxqVfZMc16R1MgXNpP6KxBj5WvyuARH187riXFPze4Dp

3PKL9tfUmNciXvbSA3zpXr6PnDNnhn936ba:  -0.01600000 Waves

2022.06.28 13:21 [3181752] smart account 3PKL9tfUmNciXvbSA3zpXr6PnDNnhn936ba > SELF 0.00000000 Waves

{ "type": 13, "id": "AxqVfZMc16R1MgXNpP6KxBj5WvyuARH187riXFPze4Dp", "fee": 1600000, "feeAssetId": null, "timestamp": 1656411667755, "version": 2, "chainId": 87, "sender": "3PKL9tfUmNciXvbSA3zpXr6PnDNnhn936ba", "senderPublicKey": "8yG34okaNeKtYZriaoqUQTinJjpk3pYKFTeGptmiWvTV", "proofs": [ "4cp5DFN7XKZyooxjVsT5X5oCLQxQ6NoCQTPRXeUTTjRAc8WLhvdRuCYaS8PcD2zYCHqn8ESegoiJa8yFMqCoD7AC" ], "script": "base64:AAIFAAAAAAAAAA4IAhIDCgEIEgASAwoBCAAAABsBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABF0cnlHZXRJbnRFeHRlcm5hbAAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEJAAACAAAAAQIAAAAbUlRHSUU6IFNvbWV0aGluZyB3ZW50IHdyb25nAQAAAAx0cnlHZXRTdHJpbmcAAAABAAAAA2tleQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgUAAAAEdGhpcwUAAAADa2V5AAAAABBkZWxheUZvckhhdGNoaW5nAAAAAAAAAAACAQAAAAlnZXRPcmFjbGUAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAADHRyeUdldFN0cmluZwAAAAECAAAAFHN0YXRpY19vcmFjbGVBZGRyZXNzAQAAAA1nZXRFZ2dBc3NldElkAAAAAAkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAARc3RhdGljX2VnZ0Fzc2V0SWQBAAAAE2dldEluY3ViYXRvckFkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAF3N0YXRpY19pbmN1YmF0b3JBZGRyZXNzAQAAABFnZXRCcmVlZGVyQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2JyZWVkZXJBZGRyZXNzAQAAABFnZXRGYXJtaW5nQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2Zhcm1pbmdBZGRyZXNzAQAAABJnZXRCYWJ5RHVja0FkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAFnN0YXRpY19iYWJ5RHVja0FkZHJlc3MBAAAAEmdldEdhbWVEYXBwQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAWc3RhdGljX2dhbWVEYXBwQWRkcmVzcwEAAAAPZ2V0SXRlbXNBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABNzdGF0aWNfaXRlbXNBZGRyZXNzAQAAABFnZXRDb3Vwb25zQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2NvdXBvbnNBZGRyZXNzAQAAABJnZXRNZXRhcmFjZUFkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAFnN0YXRpY19tZXRhUmFjZUFkZHJlc3MBAAAADmdldEh1bnRBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABJzdGF0aWNfaHVudEFkZHJlc3MAAAAAElBIT0VOSVhCQVNF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AgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAhfYXNzZXRJZAkAAlgAAAABBQAAAAdhc3NldElkBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAANZmluaXNoUmViaXJ0aAAAAAEAAAAGaW5pdFR4BAAAAAdhZGRyZXNzCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAALZmluaXNoQmxvY2sJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAIX2luaXRUeF8FAAAABmluaXRUeAIAAAAMX2ZpbmlzaEJsb2NrBAAAAAthc3NldFJhcml0eQkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAxfYXNzZXRSYXJpdHkEAAAABnN0YXR1cwkBAAAADHRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAACF9pbml0VHhfBQAAAAZpbml0VHgCAAAAB19zdGF0dXMKAQAAABRnZXRBY2Nlc3NJdGVtQXNzZXRJZAAAAAEAAAAHYWRkcmVzcwkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACBQAAAAdhZGRyZXNzAgAAABhzdGF0aWNfYWNjZXNzSXRlbUFzc2V0SWQKAQAAABJnZXRBY2Nlc3NJdGVtUHJpY2UAAAABAAAAB2FkZHJlc3MJAQAAABF0cnlHZXRJbnRFeHRlcm5hbAAAAAIFAAAAB2FkZHJlc3MCAAAAFnN0YXRpY19hY2Nl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", "height": 3181752, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: J7bQ157NFSMzawtuZ9ooiKKs3QxBvwVM8C57JZbG6xz3 Next: 43cJFn2z7U1dxUixv4Qz4t8DBtiEbmpW5Z3SZkS8YmMS Diff:
OldNewDifferences
66 a
77 case _ =>
88 ""
9+}
10+
11+
12+func tryGetIntExternal (address,key) = match getInteger(address, key) {
13+ case a: Int =>
14+ a
15+ case _ =>
16+ throw("RTGIE: Something went wrong")
917 }
1018
1119
3947
4048
4149 func getCouponsAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_couponsAddress")))
50+
51+
52+func getMetaraceAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_metaRaceAddress")))
53+
54+
55+func getHuntAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_huntAddress")))
4256
4357
4458 let PHOENIXBASEOPTIONS = 1000
115129 then "item_ART-FREEGENE"
116130 else {
117131 let n = getRandomNumber(1000, tx, finishHeight, 0)
118- if ((145 > n))
132+ if ((195 > n))
119133 then "duckling_20"
120- else if ((195 > n))
134+ else if ((295 > n))
121135 then "duckling_40"
122- else if ((200 > n))
136+ else if ((300 > n))
123137 then "duckling_80"
124- else if ((300 > n))
138+ else if ((400 > n))
125139 then "incubator"
126- else if ((400 > n))
140+ else if ((500 > n))
127141 then "perch_Y"
128- else if ((500 > n))
142+ else if ((600 > n))
129143 then "perch_G"
130- else if ((600 > n))
144+ else if ((700 > n))
131145 then "perch_B"
132- else if ((700 > n))
146+ else if ((800 > n))
133147 then "perch_R"
134- else if ((849 > n))
135- then "mantle_2"
136- else if ((850 > n))
137- then "mantle_40"
138- else if ((930 > n))
139- then "mantle_3"
140- else if ((980 > n))
141- then "mantle_5"
142- else "mantle_10"
148+ else if ((900 > n))
149+ then "ar"
150+ else "meta"
143151 }
144152 }
145153
197205 else 0
198206 if ((payment == payment))
199207 then {
200- let $t057865835 = getAssetFarmingPower(assetId)
201- let gen = $t057865835._1
202- let rarity = $t057865835._2
208+ let $t060596108 = getAssetFarmingPower(assetId)
209+ let gen = $t060596108._1
210+ let rarity = $t060596108._2
203211 let call = invoke(getOrigin(assetId), "reduceRarity", [toBase58String(assetId), gen], nil)
204212 if ((call == call))
205213 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))]
219227 let finishBlock = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_finishBlock"))
220228 let assetRarity = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_assetRarity"))
221229 let status = tryGetString((((("address_" + address) + "_initTx_") + initTx) + "_status"))
230+ func getAccessItemAssetId (address) = fromBase58String(tryGetStringExternal(address, "static_accessItemAssetId"))
231+
232+ func getAccessItemPrice (address) = tryGetIntExternal(address, "static_accessItemPrice")
233+
222234 if ((status != "open"))
223235 then throw("rebirth is finished or not open")
224236 else if ((finishBlock > height))
241253 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
242254 else throw("Strict value is not equal to itself.")
243255 }
244- else if ((win == "phoenix"))
256+ else if ((win == "ar"))
245257 then {
246- let call = invoke(getIncubatorAddress(), "issueJackpot", [address, txId, "WWWWWWWP"], nil)
258+ let assetId = getAccessItemAssetId(getHuntAddress())
259+ let price = getAccessItemPrice(getHuntAddress())
260+ let call = invoke(getHuntAddress(), "buyAccessItemOther", [address, txId], [AttachedPayment(assetId, price)])
247261 if ((call == call))
248262 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
249263 else throw("Strict value is not equal to itself.")
250264 }
251- else if ((indexOf(win, "duckling") != unit))
265+ else if ((win == "meta"))
252266 then {
253- let level = parseIntValue(split(win, "_")[1])
254- let call = invoke(getBabyDuckAddress(), "issueFreeDuckling", [address, txId, level], nil)
267+ let assetId = getAccessItemAssetId(getMetaraceAddress())
268+ let price = getAccessItemPrice(getMetaraceAddress())
269+ let call = invoke(getMetaraceAddress(), "buyAccessItemOther", [address, txId], [AttachedPayment(assetId, price)])
255270 if ((call == call))
256271 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
257272 else throw("Strict value is not equal to itself.")
258273 }
259- else if ((indexOf(win, "mantle") != unit))
274+ else if ((win == "phoenix"))
260275 then {
261- let level = parseIntValue(split(win, "_")[1])
262- let call = invoke(getGameDappAddress(), "issueFreeMantle", [address, "mantle", level], nil)
276+ let call = invoke(getIncubatorAddress(), "issueJackpot", [address, txId, "WWWWWWWP"], nil)
263277 if ((call == call))
264278 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
265279 else throw("Strict value is not equal to itself.")
266280 }
267- else if ((indexOf(win, "item") != unit))
281+ else if ((indexOf(win, "duckling") != unit))
268282 then {
269- let itemName = split(win, "_")[1]
270- let call = invoke(getItemsAddress(), "issueArtefact", [itemName, address], nil)
283+ let level = parseIntValue(split(win, "_")[1])
284+ let call = invoke(getBabyDuckAddress(), "issueFreeDuckling", [address, txId, level], nil)
271285 if ((call == call))
272286 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
273287 else throw("Strict value is not equal to itself.")
274288 }
275- else throw("RFB: Some error occured, please contact the admins!")
289+ else if ((indexOf(win, "item") != unit))
290+ then {
291+ let itemName = split(win, "_")[1]
292+ let call = invoke(getItemsAddress(), "issueArtefact", [itemName, address], nil)
293+ if ((call == call))
294+ then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
295+ else throw("Strict value is not equal to itself.")
296+ }
297+ else throw("RFB: Some error occured, please contact the admins!")
276298 (result ++ [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_win"), win), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_status"), "finish")])
277299 }
278300 }
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 ""
9+}
10+
11+
12+func tryGetIntExternal (address,key) = match getInteger(address, key) {
13+ case a: Int =>
14+ a
15+ case _ =>
16+ throw("RTGIE: Something went wrong")
917 }
1018
1119
1220 func tryGetString (key) = tryGetStringExternal(this, key)
1321
1422
1523 let delayForHatching = 2
1624
1725 func getOracle () = Address(fromBase58String(tryGetString("static_oracleAddress")))
1826
1927
2028 func getEggAssetId () = fromBase58String(tryGetStringExternal(getOracle(), "static_eggAssetId"))
2129
2230
2331 func getIncubatorAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_incubatorAddress")))
2432
2533
2634 func getBreederAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_breederAddress")))
2735
2836
2937 func getFarmingAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_farmingAddress")))
3038
3139
3240 func getBabyDuckAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_babyDuckAddress")))
3341
3442
3543 func getGameDappAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_gameDappAddress")))
3644
3745
3846 func getItemsAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_itemsAddress")))
3947
4048
4149 func getCouponsAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_couponsAddress")))
50+
51+
52+func getMetaraceAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_metaRaceAddress")))
53+
54+
55+func getHuntAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_huntAddress")))
4256
4357
4458 let PHOENIXBASEOPTIONS = 1000
4559
4660 func tryGetInteger (key) = match getInteger(this, key) {
4761 case b: Int =>
4862 b
4963 case _ =>
5064 0
5165 }
5266
5367
5468 func asString (value) = match value {
5569 case s: String =>
5670 s
5771 case s: Int =>
5872 throw("wrong type, expected: String, got: Int")
5973 case s: Unit =>
6074 throw("wrong type, expected: String, got: Unit")
6175 case _ =>
6276 throw("wrong type, expected: String")
6377 }
6478
6579
6680 let feeAmount = tryGetInteger("currentPrice")
6781
6882 func getAmountOrClear (amount) = if (contains(amount, "0"))
6983 then ""
7084 else amount
7185
7286
7387 func getAssetOrigin (generation) = if ((generation == "G"))
7488 then getIncubatorAddress()
7589 else getBreederAddress()
7690
7791
7892 func getAssetRarity (genotype,generation) = {
7993 let quantity = getIntegerValue(getAssetOrigin(generation), (("stats_" + genotype) + "_quantity"))
8094 let power = pow((10000 / quantity), 4, 5, 1, 2, FLOOR)
8195 if ((power > 0))
8296 then power
8397 else 2
8498 }
8599
86100
87101 func getAssetFarmingPower (assetId) = if (if ((value(assetInfo(assetId)).issuer == getBreederAddress()))
88102 then true
89103 else (value(assetInfo(assetId)).issuer == getIncubatorAddress()))
90104 then {
91105 let assetName = value(assetInfo(assetId)).name
92106 let generation = take(takeRight(assetName, 2), 1)
93107 let farmGen = asString(invoke(getBreederAddress(), "getGenFromName", [assetName], nil))
94108 if ((farmGen == farmGen))
95109 then $Tuple2(farmGen, getAssetRarity(farmGen, generation))
96110 else throw("Strict value is not equal to itself.")
97111 }
98112 else throw("not valid NFT")
99113
100114
101115 func getRandomNumber (options,txId,hatchingFinishHeight,offset) = {
102116 let randomSeedBlock = value(blockInfoByHeight((hatchingFinishHeight - 1)))
103117 let randomHash = sha256((txId + value(randomSeedBlock.vrf)))
104118 (toInt(randomHash, (offset * 8)) % options)
105119 }
106120
107121
108122 func getRandomWin (tx,finishHeight,assetRarity) = {
109123 let phoenixOptions = (PHOENIXBASEOPTIONS - fraction((PHOENIXBASEOPTIONS / 2), assetRarity, 100))
110124 let jackpotRandom = getRandomNumber(phoenixOptions, tx, finishHeight, 1)
111125 let itemRandom = getRandomNumber(phoenixOptions, tx, finishHeight, 2)
112126 if ((jackpotRandom == 1))
113127 then "phoenix"
114128 else if ((itemRandom == 1))
115129 then "item_ART-FREEGENE"
116130 else {
117131 let n = getRandomNumber(1000, tx, finishHeight, 0)
118- if ((145 > n))
132+ if ((195 > n))
119133 then "duckling_20"
120- else if ((195 > n))
134+ else if ((295 > n))
121135 then "duckling_40"
122- else if ((200 > n))
136+ else if ((300 > n))
123137 then "duckling_80"
124- else if ((300 > n))
138+ else if ((400 > n))
125139 then "incubator"
126- else if ((400 > n))
140+ else if ((500 > n))
127141 then "perch_Y"
128- else if ((500 > n))
142+ else if ((600 > n))
129143 then "perch_G"
130- else if ((600 > n))
144+ else if ((700 > n))
131145 then "perch_B"
132- else if ((700 > n))
146+ else if ((800 > n))
133147 then "perch_R"
134- else if ((849 > n))
135- then "mantle_2"
136- else if ((850 > n))
137- then "mantle_40"
138- else if ((930 > n))
139- then "mantle_3"
140- else if ((980 > n))
141- then "mantle_5"
142- else "mantle_10"
148+ else if ((900 > n))
149+ then "ar"
150+ else "meta"
143151 }
144152 }
145153
146154
147155 func getOrigin (assetId) = {
148156 let assetName = value(assetInfo(assetId)).name
149157 let generation = take(takeRight(assetName, 2), 1)
150158 if (if ((generation == "G"))
151159 then true
152160 else (generation == "J"))
153161 then getIncubatorAddress()
154162 else getBreederAddress()
155163 }
156164
157165
158166 func asInt (value) = match value {
159167 case int: Int =>
160168 int
161169 case string: String =>
162170 throw(("RAI: wrong type, expected: Int, but got: " + string))
163171 case _ =>
164172 throw("RAI: wrong type, expected: Int")
165173 }
166174
167175
168176 @Callable(i)
169177 func configureOracle (oracle) = if ((i.caller != this))
170178 then throw("RCU: admin only")
171179 else [StringEntry("static_oracleAddress", oracle)]
172180
173181
174182
175183 @Callable(i)
176184 func initRebirth () = {
177185 let pmt = i.payments[0]
178186 let assetId = value(pmt.assetId)
179187 let initTx = toBase58String(i.transactionId)
180188 let address = toString(i.caller)
181189 if ((pmt.amount != 1))
182190 then throw("NFT is not attached")
183191 else {
184192 let amountPaidByCoupons = asInt(invoke(getCouponsAddress(), "useCoupons", [feeAmount], nil))
185193 if ((amountPaidByCoupons == amountPaidByCoupons))
186194 then {
187195 let leftToPay = (feeAmount - amountPaidByCoupons)
188196 let payment = if ((leftToPay != 0))
189197 then {
190198 let feePayment = value(i.payments[1])
191199 if ((feePayment.assetId != getEggAssetId()))
192200 then throw("You need to attach EGG tokens as fee")
193201 else if ((leftToPay > feePayment.amount))
194202 then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(leftToPay)))
195203 else leftToPay
196204 }
197205 else 0
198206 if ((payment == payment))
199207 then {
200- let $t057865835 = getAssetFarmingPower(assetId)
201- let gen = $t057865835._1
202- let rarity = $t057865835._2
208+ let $t060596108 = getAssetFarmingPower(assetId)
209+ let gen = $t060596108._1
210+ let rarity = $t060596108._2
203211 let call = invoke(getOrigin(assetId), "reduceRarity", [toBase58String(assetId), gen], nil)
204212 if ((call == call))
205213 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))]
206214 else throw("Strict value is not equal to itself.")
207215 }
208216 else throw("Strict value is not equal to itself.")
209217 }
210218 else throw("Strict value is not equal to itself.")
211219 }
212220 }
213221
214222
215223
216224 @Callable(i)
217225 func finishRebirth (initTx) = {
218226 let address = toString(i.caller)
219227 let finishBlock = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_finishBlock"))
220228 let assetRarity = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_assetRarity"))
221229 let status = tryGetString((((("address_" + address) + "_initTx_") + initTx) + "_status"))
230+ func getAccessItemAssetId (address) = fromBase58String(tryGetStringExternal(address, "static_accessItemAssetId"))
231+
232+ func getAccessItemPrice (address) = tryGetIntExternal(address, "static_accessItemPrice")
233+
222234 if ((status != "open"))
223235 then throw("rebirth is finished or not open")
224236 else if ((finishBlock > height))
225237 then throw("you cannot finish rebirth, yet")
226238 else {
227239 let win = getRandomWin(fromBase58String(initTx), finishBlock, assetRarity)
228240 let txId = initTx
229241 let result = if ((indexOf(win, "perch") != unit))
230242 then {
231243 let color = takeRight(win, 1)
232244 let call = invoke(getFarmingAddress(), "addFreePerch", [address, color], nil)
233245 if ((call == call))
234246 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
235247 else throw("Strict value is not equal to itself.")
236248 }
237249 else if ((win == "incubator"))
238250 then {
239251 let call = invoke(getIncubatorAddress(), "issueFreeDuck", [address, txId], nil)
240252 if ((call == call))
241253 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
242254 else throw("Strict value is not equal to itself.")
243255 }
244- else if ((win == "phoenix"))
256+ else if ((win == "ar"))
245257 then {
246- let call = invoke(getIncubatorAddress(), "issueJackpot", [address, txId, "WWWWWWWP"], nil)
258+ let assetId = getAccessItemAssetId(getHuntAddress())
259+ let price = getAccessItemPrice(getHuntAddress())
260+ let call = invoke(getHuntAddress(), "buyAccessItemOther", [address, txId], [AttachedPayment(assetId, price)])
247261 if ((call == call))
248262 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
249263 else throw("Strict value is not equal to itself.")
250264 }
251- else if ((indexOf(win, "duckling") != unit))
265+ else if ((win == "meta"))
252266 then {
253- let level = parseIntValue(split(win, "_")[1])
254- let call = invoke(getBabyDuckAddress(), "issueFreeDuckling", [address, txId, level], nil)
267+ let assetId = getAccessItemAssetId(getMetaraceAddress())
268+ let price = getAccessItemPrice(getMetaraceAddress())
269+ let call = invoke(getMetaraceAddress(), "buyAccessItemOther", [address, txId], [AttachedPayment(assetId, price)])
255270 if ((call == call))
256271 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
257272 else throw("Strict value is not equal to itself.")
258273 }
259- else if ((indexOf(win, "mantle") != unit))
274+ else if ((win == "phoenix"))
260275 then {
261- let level = parseIntValue(split(win, "_")[1])
262- let call = invoke(getGameDappAddress(), "issueFreeMantle", [address, "mantle", level], nil)
276+ let call = invoke(getIncubatorAddress(), "issueJackpot", [address, txId, "WWWWWWWP"], nil)
263277 if ((call == call))
264278 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
265279 else throw("Strict value is not equal to itself.")
266280 }
267- else if ((indexOf(win, "item") != unit))
281+ else if ((indexOf(win, "duckling") != unit))
268282 then {
269- let itemName = split(win, "_")[1]
270- let call = invoke(getItemsAddress(), "issueArtefact", [itemName, address], nil)
283+ let level = parseIntValue(split(win, "_")[1])
284+ let call = invoke(getBabyDuckAddress(), "issueFreeDuckling", [address, txId, level], nil)
271285 if ((call == call))
272286 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
273287 else throw("Strict value is not equal to itself.")
274288 }
275- else throw("RFB: Some error occured, please contact the admins!")
289+ else if ((indexOf(win, "item") != unit))
290+ then {
291+ let itemName = split(win, "_")[1]
292+ let call = invoke(getItemsAddress(), "issueArtefact", [itemName, address], nil)
293+ if ((call == call))
294+ then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
295+ else throw("Strict value is not equal to itself.")
296+ }
297+ else throw("RFB: Some error occured, please contact the admins!")
276298 (result ++ [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_win"), win), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_status"), "finish")])
277299 }
278300 }
279301
280302

github/deemru/w8io/6500d08 
68.85 ms