tx · FmdcB9vxXUNiwNRiHMrk5VaiPZXHrw7m7zNXzebhmDx3

3PCC6fVHNa6289DTDmcUo3RuLaFmteZZsmQ:  -0.05000000 Waves

2022.10.06 16:59 [3326036] smart account 3PCC6fVHNa6289DTDmcUo3RuLaFmteZZsmQ > SELF 0.00000000 Waves

{ "type": 13, "id": "FmdcB9vxXUNiwNRiHMrk5VaiPZXHrw7m7zNXzebhmDx3", "fee": 5000000, "feeAssetId": null, "timestamp": 1665064800332, "version": 2, "chainId": 87, "sender": "3PCC6fVHNa6289DTDmcUo3RuLaFmteZZsmQ", "senderPublicKey": "HobXgEQL44LfeEEq2G69uiciuAuiUBfG33UF4ubYmNMd", "proofs": [ "1DazHUFWbRDYnfRNvTissqdNSP6hd4ktN4EJDATC9kmF3X7NUq7LZpU19LdQNpgGvLVPqhJdTNR9s5weWVaC45i" ], "script": "base64:AAIFAAAAAAAAAA4IAhIDCgEIEgASAwoBCAAAABwBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABF0cnlHZXRJbnRFeHRlcm5hbAAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEJAAACAAAAAQIAAAAbUlRHSUU6IFNvbWV0aGluZyB3ZW50IHdyb25nAQAAAAx0cnlHZXRTdHJpbmcAAAABAAAAA2tleQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgUAAAAEdGhpcwUAAAADa2V5AAAAABBkZWxheUZvckhhdGNoaW5nAAAAAAAAAAACAQAAAAlnZXRPcmFjbGUAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAADHRyeUdldFN0cmluZwAAAAECAAAAFHN0YXRpY19vcmFjbGVBZGRyZXNzAQAAAA1nZXRFZ2dBc3NldElkAAAAAAkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAARc3RhdGljX2VnZ0Fzc2V0SWQBAAAAE2dldEluY3ViYXRvckFkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAF3N0YXRpY19pbmN1YmF0b3JBZGRyZXNzAQAAABFnZXRCcmVlZGVyQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2JyZWVkZXJBZGRyZXNzAQAAABFnZXRGYXJtaW5nQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2Zhcm1pbmdBZGRyZXNzAQAAABJnZXRCYWJ5RHVja0FkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAFnN0YXRpY19iYWJ5RHVja0FkZHJlc3MBAAAAEmdldEdhbWVEYXBwQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAWc3RhdGljX2dhbWVEYXBwQWRkcmVzcwEAAAAPZ2V0SXRlbXNBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABNzdGF0aWNfaXRlbXNBZGRyZXNzAQAAABFnZXRDb3Vwb25zQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2NvdXBvbnNBZGRyZXNzAQAAABJnZXRNZXRhcmFjZUFkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAFnN0YXRpY19tZXRhUmFjZUFkZHJlc3MBAAAADmdldEh1bnRBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABJzdGF0aWNfaHVudEFkZHJlc3MBAAAADmdldEJ1cm5BZGRy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", "height": 3326036, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 12m5f3GBdpPWhP3231bw2ofiaspSBDq8xuwTKh9a7Yo5 Next: D4NNY6fKaZQk5DChHjkTkTPcQoSQ3TgTVpyHgqewrZA9 Diff:
OldNewDifferences
201201 let feePayment = value(i.payments[1])
202202 if ((feePayment.assetId != getEggAssetId()))
203203 then throw("You need to attach EGG tokens as fee")
204- else if ((leftToPay > feePayment.amount))
204+ else if ((feePayment.amount != leftToPay))
205205 then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(leftToPay)))
206206 else {
207207 let burnCall = invoke(getBurnAddress(), "burnAttachedPayments", nil, [AttachedPayment(getEggAssetId(), leftToPay)])
213213 else 0
214214 if ((payment == payment))
215215 then {
216- let $t062756324 = getAssetFarmingPower(assetId)
217- let gen = $t062756324._1
218- let rarity = $t062756324._2
216+ let $t062766325 = getAssetFarmingPower(assetId)
217+ let gen = $t062766325._1
218+ let rarity = $t062766325._2
219219 let call = invoke(getOrigin(assetId), "reduceRarity", [toBase58String(assetId), gen], nil)
220220 if ((call == call))
221221 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))]
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 tryGetIntExternal (address,key) = match getInteger(address, key) {
1313 case a: Int =>
1414 a
1515 case _ =>
1616 throw("RTGIE: Something went wrong")
1717 }
1818
1919
2020 func tryGetString (key) = tryGetStringExternal(this, key)
2121
2222
2323 let delayForHatching = 2
2424
2525 func getOracle () = Address(fromBase58String(tryGetString("static_oracleAddress")))
2626
2727
2828 func getEggAssetId () = fromBase58String(tryGetStringExternal(getOracle(), "static_eggAssetId"))
2929
3030
3131 func getIncubatorAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_incubatorAddress")))
3232
3333
3434 func getBreederAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_breederAddress")))
3535
3636
3737 func getFarmingAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_farmingAddress")))
3838
3939
4040 func getBabyDuckAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_babyDuckAddress")))
4141
4242
4343 func getGameDappAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_gameDappAddress")))
4444
4545
4646 func getItemsAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_itemsAddress")))
4747
4848
4949 func getCouponsAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_couponsAddress")))
5050
5151
5252 func getMetaraceAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_metaRaceAddress")))
5353
5454
5555 func getHuntAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_huntAddress")))
5656
5757
5858 func getBurnAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_burnAddress")))
5959
6060
6161 let PHOENIXBASEOPTIONS = 1000
6262
6363 func tryGetInteger (key) = match getInteger(this, key) {
6464 case b: Int =>
6565 b
6666 case _ =>
6767 0
6868 }
6969
7070
7171 func asString (value) = match value {
7272 case s: String =>
7373 s
7474 case s: Int =>
7575 throw("wrong type, expected: String, got: Int")
7676 case s: Unit =>
7777 throw("wrong type, expected: String, got: Unit")
7878 case _ =>
7979 throw("wrong type, expected: String")
8080 }
8181
8282
8383 let feeAmount = tryGetInteger("currentPrice")
8484
8585 func getAmountOrClear (amount) = if (contains(amount, "0"))
8686 then ""
8787 else amount
8888
8989
9090 func getAssetOrigin (generation) = if ((generation == "G"))
9191 then getIncubatorAddress()
9292 else getBreederAddress()
9393
9494
9595 func getAssetRarity (genotype,generation) = {
9696 let quantity = getIntegerValue(getAssetOrigin(generation), (("stats_" + genotype) + "_quantity"))
9797 let power = pow((10000 / quantity), 4, 5, 1, 2, FLOOR)
9898 if ((power > 0))
9999 then power
100100 else 2
101101 }
102102
103103
104104 func getAssetFarmingPower (assetId) = if (if ((value(assetInfo(assetId)).issuer == getBreederAddress()))
105105 then true
106106 else (value(assetInfo(assetId)).issuer == getIncubatorAddress()))
107107 then {
108108 let assetName = value(assetInfo(assetId)).name
109109 let generation = take(takeRight(assetName, 2), 1)
110110 let farmGen = asString(invoke(getBreederAddress(), "getGenFromName", [assetName], nil))
111111 if ((farmGen == farmGen))
112112 then $Tuple2(farmGen, getAssetRarity(farmGen, generation))
113113 else throw("Strict value is not equal to itself.")
114114 }
115115 else throw("not valid NFT")
116116
117117
118118 func getRandomNumber (options,txId,hatchingFinishHeight,offset) = {
119119 let randomSeedBlock = value(blockInfoByHeight((hatchingFinishHeight - 1)))
120120 let randomHash = sha256((txId + value(randomSeedBlock.vrf)))
121121 (toInt(randomHash, (offset * 8)) % options)
122122 }
123123
124124
125125 func getRandomWin (tx,finishHeight,assetRarity) = {
126126 let phoenixOptions = (PHOENIXBASEOPTIONS - fraction((PHOENIXBASEOPTIONS / 2), assetRarity, 100))
127127 let jackpotRandom = getRandomNumber(phoenixOptions, tx, finishHeight, 1)
128128 let itemRandom = getRandomNumber(phoenixOptions, tx, finishHeight, 2)
129129 if ((jackpotRandom == 1))
130130 then "phoenix"
131131 else if ((itemRandom == 1))
132132 then "item_ART-FREEGENE"
133133 else {
134134 let n = getRandomNumber(1000, tx, finishHeight, 0)
135135 if ((150 > n))
136136 then "duckling_2"
137137 else if ((200 > n))
138138 then "duckling_10"
139139 else if ((210 > n))
140140 then "duckling_20"
141141 else if ((250 > n))
142142 then "incubator"
143143 else if ((375 > n))
144144 then "perch_Y"
145145 else if ((500 > n))
146146 then "perch_G"
147147 else if ((625 > n))
148148 then "perch_B"
149149 else if ((750 > n))
150150 then "perch_R"
151151 else if ((875 > n))
152152 then "ar"
153153 else "meta"
154154 }
155155 }
156156
157157
158158 func getOrigin (assetId) = {
159159 let assetName = value(assetInfo(assetId)).name
160160 let generation = take(takeRight(assetName, 2), 1)
161161 if (if ((generation == "G"))
162162 then true
163163 else (generation == "J"))
164164 then getIncubatorAddress()
165165 else getBreederAddress()
166166 }
167167
168168
169169 func asInt (value) = match value {
170170 case int: Int =>
171171 int
172172 case string: String =>
173173 throw(("RAI: wrong type, expected: Int, but got: " + string))
174174 case _ =>
175175 throw("RAI: wrong type, expected: Int")
176176 }
177177
178178
179179 @Callable(i)
180180 func configureOracle (oracle) = if ((i.caller != this))
181181 then throw("RCU: admin only")
182182 else [StringEntry("static_oracleAddress", oracle)]
183183
184184
185185
186186 @Callable(i)
187187 func initRebirth () = {
188188 let pmt = i.payments[0]
189189 let assetId = value(pmt.assetId)
190190 let initTx = toBase58String(i.transactionId)
191191 let address = toString(i.caller)
192192 if ((pmt.amount != 1))
193193 then throw("NFT is not attached")
194194 else {
195195 let amountPaidByCoupons = asInt(invoke(getCouponsAddress(), "useCoupons", [feeAmount], nil))
196196 if ((amountPaidByCoupons == amountPaidByCoupons))
197197 then {
198198 let leftToPay = (feeAmount - amountPaidByCoupons)
199199 let payment = if ((leftToPay != 0))
200200 then {
201201 let feePayment = value(i.payments[1])
202202 if ((feePayment.assetId != getEggAssetId()))
203203 then throw("You need to attach EGG tokens as fee")
204- else if ((leftToPay > feePayment.amount))
204+ else if ((feePayment.amount != leftToPay))
205205 then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(leftToPay)))
206206 else {
207207 let burnCall = invoke(getBurnAddress(), "burnAttachedPayments", nil, [AttachedPayment(getEggAssetId(), leftToPay)])
208208 if ((burnCall == burnCall))
209209 then leftToPay
210210 else throw("Strict value is not equal to itself.")
211211 }
212212 }
213213 else 0
214214 if ((payment == payment))
215215 then {
216- let $t062756324 = getAssetFarmingPower(assetId)
217- let gen = $t062756324._1
218- let rarity = $t062756324._2
216+ let $t062766325 = getAssetFarmingPower(assetId)
217+ let gen = $t062766325._1
218+ let rarity = $t062766325._2
219219 let call = invoke(getOrigin(assetId), "reduceRarity", [toBase58String(assetId), gen], nil)
220220 if ((call == call))
221221 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))]
222222 else throw("Strict value is not equal to itself.")
223223 }
224224 else throw("Strict value is not equal to itself.")
225225 }
226226 else throw("Strict value is not equal to itself.")
227227 }
228228 }
229229
230230
231231
232232 @Callable(i)
233233 func finishRebirth (initTx) = {
234234 let address = toString(i.caller)
235235 let finishBlock = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_finishBlock"))
236236 let assetRarity = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_assetRarity"))
237237 let status = tryGetString((((("address_" + address) + "_initTx_") + initTx) + "_status"))
238238 func getAccessItemAssetId (address) = fromBase58String(tryGetStringExternal(address, "static_accessItemAssetId"))
239239
240240 func getAccessItemPrice (address) = tryGetIntExternal(address, "static_accessItemPrice")
241241
242242 if ((status != "open"))
243243 then throw("rebirth is finished or not open")
244244 else if ((finishBlock > height))
245245 then throw("you cannot finish rebirth, yet")
246246 else {
247247 let win = getRandomWin(fromBase58String(initTx), finishBlock, assetRarity)
248248 let txId = initTx
249249 let result = if ((indexOf(win, "perch") != unit))
250250 then {
251251 let color = takeRight(win, 1)
252252 let call = invoke(getFarmingAddress(), "addFreePerch", [address, color], nil)
253253 if ((call == call))
254254 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
255255 else throw("Strict value is not equal to itself.")
256256 }
257257 else if ((win == "incubator"))
258258 then {
259259 let call = invoke(getIncubatorAddress(), "issueFreeDuck", [address, txId], nil)
260260 if ((call == call))
261261 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
262262 else throw("Strict value is not equal to itself.")
263263 }
264264 else if ((win == "ar"))
265265 then {
266266 let assetId = getAccessItemAssetId(getHuntAddress())
267267 let price = getAccessItemPrice(getHuntAddress())
268268 let call = invoke(getHuntAddress(), "buyAccessItemOther", [address], [AttachedPayment(assetId, price)])
269269 if ((call == call))
270270 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
271271 else throw("Strict value is not equal to itself.")
272272 }
273273 else if ((win == "meta"))
274274 then {
275275 let assetId = getAccessItemAssetId(getMetaraceAddress())
276276 let price = getAccessItemPrice(getMetaraceAddress())
277277 let call = invoke(getMetaraceAddress(), "buyAccessItemOther", [address], [AttachedPayment(assetId, price)])
278278 if ((call == call))
279279 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
280280 else throw("Strict value is not equal to itself.")
281281 }
282282 else if ((win == "phoenix"))
283283 then {
284284 let call = invoke(getIncubatorAddress(), "issueJackpot", [address, txId, "WWWWWWWP"], nil)
285285 if ((call == call))
286286 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
287287 else throw("Strict value is not equal to itself.")
288288 }
289289 else if ((indexOf(win, "duckling") != unit))
290290 then {
291291 let level = parseIntValue(split(win, "_")[1])
292292 let call = invoke(getBabyDuckAddress(), "issueFreeDuckling", [address, txId, level], nil)
293293 if ((call == call))
294294 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
295295 else throw("Strict value is not equal to itself.")
296296 }
297297 else if ((indexOf(win, "item") != unit))
298298 then {
299299 let itemName = split(win, "_")[1]
300300 let call = invoke(getItemsAddress(), "issueArtefact", [itemName, address], nil)
301301 if ((call == call))
302302 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
303303 else throw("Strict value is not equal to itself.")
304304 }
305305 else throw("RFB: Some error occured, please contact the admins!")
306306 (result ++ [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_win"), win), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_status"), "finish")])
307307 }
308308 }
309309
310310

github/deemru/w8io/3ef1775 
59.35 ms