tx · CNypNpEYGuCMN6y5MLZ4tntGq6McneNozuMu3vF6Rhuv

3PKL9tfUmNciXvbSA3zpXr6PnDNnhn936ba:  -0.01400000 Waves

2022.06.09 14:53 [3154403] smart account 3PKL9tfUmNciXvbSA3zpXr6PnDNnhn936ba > SELF 0.00000000 Waves

{ "type": 13, "id": "CNypNpEYGuCMN6y5MLZ4tntGq6McneNozuMu3vF6Rhuv", "fee": 1400000, "feeAssetId": null, "timestamp": 1654775648876, "version": 2, "chainId": 87, "sender": "3PKL9tfUmNciXvbSA3zpXr6PnDNnhn936ba", "senderPublicKey": "8yG34okaNeKtYZriaoqUQTinJjpk3pYKFTeGptmiWvTV", "proofs": [ "TrMrYgTZfBLLmMAJGFvhWPSjxCE4ow1kRvSLnMUUYNLGRP87QbQzZudU4A1NAnz4CBeaUbVqvpPru4ZcA3NTaC1" ], "script": "base64:AAIFAAAAAAAAAA4IAhIDCgEIEgASAwoBCAAAABgBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAAAx0cnlHZXRTdHJpbmcAAAABAAAAA2tleQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgUAAAAEdGhpcwUAAAADa2V5AAAAABBkZWxheUZvckhhdGNoaW5nAAAAAAAAAAACAQAAAAlnZXRPcmFjbGUAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAADHRyeUdldFN0cmluZwAAAAECAAAAFHN0YXRpY19vcmFjbGVBZGRyZXNzAQAAAA1nZXRFZ2dBc3NldElkAAAAAAkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAARc3RhdGljX2VnZ0Fzc2V0SWQBAAAAE2dldEluY3ViYXRvckFkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAF3N0YXRpY19pbmN1YmF0b3JBZGRyZXNzAQAAABFnZXRCcmVlZGVyQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2JyZWVkZXJBZGRyZXNzAQAAABFnZXRGYXJtaW5nQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2Zhcm1pbmdBZGRyZXNzAQAAABJnZXRCYWJ5RHVja0FkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAFnN0YXRpY19iYWJ5RHVja0FkZHJlc3MBAAAAEmdldEdhbWVEYXBwQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAWc3RhdGljX2dhbWVEYXBwQWRkcmVzcwEAAAAPZ2V0SXRlbXNBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABNzdGF0aWNfaXRlbXNBZGRyZXNzAQAAABFnZXRDb3Vwb25zQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2NvdXBvbnNBZGRyZXNzAAAAABJQSE9FTklYQkFTRU9QVElPTlMAAAAAAAAAA+gBAAAADXRyeUdldEludGVnZXIAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgAAAAAAAAAAAAEAAAAIYXNTdHJpbmcAAAABAAAABXZhbHVlBAAAAAckbWF0Y2gwBQAAAAV2YWx1ZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwBQAAAAFzCQAAAgAAAAECAAAAHHdyb25nIHR5cGUsIGV4cGVjdGVkOiBTdHJpbmcAAAAACWZlZUFtb3VudAkBAAAADXRyeUdldEludGVnZXIAAAABAgAAAAxjdXJyZW50UHJpY2UBAAAAEGdldEFtb3VudE9yQ2xlYXIAAAABAAAABmFtb3VudAMJAQAAAAhjb250YWlucwAAAAIFAAAABmFtb3VudAIAAAABMAIAAAAABQAAAAZh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", "height": 3154403, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CuXYSMrm3Zk2XMkHUyjMbo3ovj1Kgt7g3GRpLyeKSVdQ Next: 7gmmkcGvxA43EhWAepsswGmT6xHTX6YcbXC8WVawG3Vr Diff:
OldNewDifferences
153153 func asInt (value) = match value {
154154 case int: Int =>
155155 int
156+ case string: String =>
157+ throw(("RAI: wrong type, expected: Int, but got: " + string))
156158 case _ =>
157- throw("FAI: wrong type, expected: Int")
159+ throw("RAI: wrong type, expected: Int")
158160 }
159161
160162
190192 else 0
191193 if ((payment == payment))
192194 then {
193- let $t054965545 = getAssetFarmingPower(assetId)
194- let gen = $t054965545._1
195- let rarity = $t054965545._2
195+ let $t055785627 = getAssetFarmingPower(assetId)
196+ let gen = $t055785627._1
197+ let rarity = $t055785627._2
196198 let call = invoke(getOrigin(assetId), "reduceRarity", [toBase58String(assetId), gen], nil)
197199 if ((call == call))
198200 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 tryGetString (key) = tryGetStringExternal(this, key)
1313
1414
1515 let delayForHatching = 2
1616
1717 func getOracle () = Address(fromBase58String(tryGetString("static_oracleAddress")))
1818
1919
2020 func getEggAssetId () = fromBase58String(tryGetStringExternal(getOracle(), "static_eggAssetId"))
2121
2222
2323 func getIncubatorAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_incubatorAddress")))
2424
2525
2626 func getBreederAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_breederAddress")))
2727
2828
2929 func getFarmingAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_farmingAddress")))
3030
3131
3232 func getBabyDuckAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_babyDuckAddress")))
3333
3434
3535 func getGameDappAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_gameDappAddress")))
3636
3737
3838 func getItemsAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_itemsAddress")))
3939
4040
4141 func getCouponsAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_couponsAddress")))
4242
4343
4444 let PHOENIXBASEOPTIONS = 1000
4545
4646 func tryGetInteger (key) = match getInteger(this, key) {
4747 case b: Int =>
4848 b
4949 case _ =>
5050 0
5151 }
5252
5353
5454 func asString (value) = match value {
5555 case s: String =>
5656 s
5757 case _ =>
5858 throw("wrong type, expected: String")
5959 }
6060
6161
6262 let feeAmount = tryGetInteger("currentPrice")
6363
6464 func getAmountOrClear (amount) = if (contains(amount, "0"))
6565 then ""
6666 else amount
6767
6868
6969 func getAssetOrigin (generation) = if ((generation == "G"))
7070 then getIncubatorAddress()
7171 else getBreederAddress()
7272
7373
7474 func getAssetRarity (genotype,generation) = {
7575 let quantity = getIntegerValue(getAssetOrigin(generation), (("stats_" + genotype) + "_quantity"))
7676 let power = pow((10000 / quantity), 4, 5, 1, 2, FLOOR)
7777 if ((power > 0))
7878 then power
7979 else 2
8080 }
8181
8282
8383 func getAssetFarmingPower (assetId) = if (if ((value(assetInfo(assetId)).issuer == getBreederAddress()))
8484 then true
8585 else (value(assetInfo(assetId)).issuer == getIncubatorAddress()))
8686 then {
8787 let assetName = value(assetInfo(assetId)).name
8888 let generation = take(takeRight(assetName, 2), 1)
8989 let farmGen = asString(invoke(getBreederAddress(), "getGenFromName", [assetName], nil))
9090 if ((farmGen == farmGen))
9191 then $Tuple2(farmGen, getAssetRarity(farmGen, generation))
9292 else throw("Strict value is not equal to itself.")
9393 }
9494 else throw("not valid NFT")
9595
9696
9797 func getRandomNumber (options,txId,hatchingFinishHeight,offset) = {
9898 let randomSeedBlock = value(blockInfoByHeight((hatchingFinishHeight - 1)))
9999 let randomHash = sha256((txId + value(randomSeedBlock.vrf)))
100100 (toInt(randomHash, (offset * 8)) % options)
101101 }
102102
103103
104104 func getRandomWin (tx,finishHeight,assetRarity) = {
105105 let phoenixOptions = (PHOENIXBASEOPTIONS - fraction((PHOENIXBASEOPTIONS / 2), assetRarity, 100))
106106 let phoenixRandom = getRandomNumber(phoenixOptions, tx, finishHeight, 1)
107107 if ((phoenixRandom == 1))
108108 then "phoenix"
109109 else {
110110 let n = getRandomNumber(1000, tx, finishHeight, 0)
111111 if ((n == 1))
112112 then "item_ART-FREEGENE"
113113 else if ((145 > n))
114114 then "duckling_20"
115115 else if ((195 > n))
116116 then "duckling_40"
117117 else if ((200 > n))
118118 then "duckling_80"
119119 else if ((300 > n))
120120 then "incubator"
121121 else if ((400 > n))
122122 then "perch_Y"
123123 else if ((500 > n))
124124 then "perch_G"
125125 else if ((600 > n))
126126 then "perch_B"
127127 else if ((700 > n))
128128 then "perch_R"
129129 else if ((849 > n))
130130 then "mantle_2"
131131 else if ((850 > n))
132132 then "mantle_40"
133133 else if ((930 > n))
134134 then "mantle_3"
135135 else if ((980 > n))
136136 then "mantle_5"
137137 else "mantle_10"
138138 }
139139 }
140140
141141
142142 func getOrigin (assetId) = {
143143 let assetName = value(assetInfo(assetId)).name
144144 let generation = take(takeRight(assetName, 2), 1)
145145 if (if ((generation == "G"))
146146 then true
147147 else (generation == "J"))
148148 then getIncubatorAddress()
149149 else getBreederAddress()
150150 }
151151
152152
153153 func asInt (value) = match value {
154154 case int: Int =>
155155 int
156+ case string: String =>
157+ throw(("RAI: wrong type, expected: Int, but got: " + string))
156158 case _ =>
157- throw("FAI: wrong type, expected: Int")
159+ throw("RAI: wrong type, expected: Int")
158160 }
159161
160162
161163 @Callable(i)
162164 func configureOracle (oracle) = if ((i.caller != this))
163165 then throw("RCU: admin only")
164166 else [StringEntry("static_oracleAddress", oracle)]
165167
166168
167169
168170 @Callable(i)
169171 func initRebirth () = {
170172 let pmt = i.payments[0]
171173 let assetId = value(pmt.assetId)
172174 let initTx = toBase58String(i.transactionId)
173175 let address = toString(i.caller)
174176 if ((pmt.amount != 1))
175177 then throw("NFT is not attached")
176178 else {
177179 let amountPaidByCoupons = asInt(invoke(getCouponsAddress(), "useCoupons", [feeAmount], nil))
178180 if ((amountPaidByCoupons == amountPaidByCoupons))
179181 then {
180182 let leftToPay = (feeAmount - amountPaidByCoupons)
181183 let payment = if ((leftToPay != 0))
182184 then {
183185 let feePayment = value(i.payments[1])
184186 if ((feePayment.assetId != getEggAssetId()))
185187 then throw("You need to attach EGG tokens as fee")
186188 else if ((leftToPay > feePayment.amount))
187189 then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(leftToPay)))
188190 else leftToPay
189191 }
190192 else 0
191193 if ((payment == payment))
192194 then {
193- let $t054965545 = getAssetFarmingPower(assetId)
194- let gen = $t054965545._1
195- let rarity = $t054965545._2
195+ let $t055785627 = getAssetFarmingPower(assetId)
196+ let gen = $t055785627._1
197+ let rarity = $t055785627._2
196198 let call = invoke(getOrigin(assetId), "reduceRarity", [toBase58String(assetId), gen], nil)
197199 if ((call == call))
198200 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))]
199201 else throw("Strict value is not equal to itself.")
200202 }
201203 else throw("Strict value is not equal to itself.")
202204 }
203205 else throw("Strict value is not equal to itself.")
204206 }
205207 }
206208
207209
208210
209211 @Callable(i)
210212 func finishRebirth (initTx) = {
211213 let address = toString(i.caller)
212214 let finishBlock = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_finishBlock"))
213215 let assetRarity = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_assetRarity"))
214216 let status = tryGetString((((("address_" + address) + "_initTx_") + initTx) + "_status"))
215217 if ((status != "open"))
216218 then throw("rebirth is finished or not open")
217219 else if ((finishBlock > height))
218220 then throw("you cannot finish rebirth, yet")
219221 else {
220222 let win = getRandomWin(fromBase58String(initTx), finishBlock, assetRarity)
221223 let txId = initTx
222224 let result = if ((indexOf(win, "perch") != unit))
223225 then {
224226 let color = takeRight(win, 1)
225227 let call = invoke(getFarmingAddress(), "addFreePerch", [address, color], nil)
226228 if ((call == call))
227229 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
228230 else throw("Strict value is not equal to itself.")
229231 }
230232 else if ((win == "incubator"))
231233 then {
232234 let call = invoke(getIncubatorAddress(), "issueFreeDuck", [address, txId], nil)
233235 if ((call == call))
234236 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
235237 else throw("Strict value is not equal to itself.")
236238 }
237239 else if ((win == "phoenix"))
238240 then {
239241 let call = invoke(getIncubatorAddress(), "issueJackpot", [address, txId, "WWWWWWWP"], nil)
240242 if ((call == call))
241243 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
242244 else throw("Strict value is not equal to itself.")
243245 }
244246 else if ((indexOf(win, "duckling") != unit))
245247 then {
246248 let level = asInt(split(win, "_")[1])
247249 let call = invoke(getBabyDuckAddress(), "issueFreeDuckling", [address, txId, level], nil)
248250 if ((call == call))
249251 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
250252 else throw("Strict value is not equal to itself.")
251253 }
252254 else if ((indexOf(win, "mantle") != unit))
253255 then {
254256 let level = asInt(split(win, "_")[1])
255257 let call = invoke(getGameDappAddress(), "issueFreeMantle", [address, "mantle", level], nil)
256258 if ((call == call))
257259 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
258260 else throw("Strict value is not equal to itself.")
259261 }
260262 else if ((indexOf(win, "item") != unit))
261263 then {
262264 let itemName = asString(split(win, "_")[1])
263265 let call = invoke(getItemsAddress(), "issueArtefact", [itemName, address], nil)
264266 if ((call == call))
265267 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
266268 else throw("Strict value is not equal to itself.")
267269 }
268270 else throw("RFB: Some error occured, please contact the admins!")
269271 (result ++ [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_win"), win), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_status"), "finish")])
270272 }
271273 }
272274
273275

github/deemru/w8io/3ef1775 
52.39 ms