tx · 43cJFn2z7U1dxUixv4Qz4t8DBtiEbmpW5Z3SZkS8YmMS

3PKL9tfUmNciXvbSA3zpXr6PnDNnhn936ba:  -0.01300000 Waves

2022.08.07 18:40 [3239753] smart account 3PKL9tfUmNciXvbSA3zpXr6PnDNnhn936ba > SELF 0.00000000 Waves

{ "type": 13, "id": "43cJFn2z7U1dxUixv4Qz4t8DBtiEbmpW5Z3SZkS8YmMS", "fee": 1300000, "feeAssetId": null, "timestamp": 1659886933498, "version": 2, "chainId": 87, "sender": "3PKL9tfUmNciXvbSA3zpXr6PnDNnhn936ba", "senderPublicKey": "8yG34okaNeKtYZriaoqUQTinJjpk3pYKFTeGptmiWvTV", "proofs": [ "4eG9KEHAWNLCGSW215BfGgoNRADk387gKx76YG6Dr2BxYdYpxCYmtx8RzGWiCesGKVb7hczqDjFRGsy6xgF33p7b" ], "script": "base64:AAIFAAAAAAAAAA4IAhIDCgEIEgASAwoBCAAAABwBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABF0cnlHZXRJbnRFeHRlcm5hbAAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEJAAACAAAAAQIAAAAbUlRHSUU6IFNvbWV0aGluZyB3ZW50IHdyb25nAQAAAAx0cnlHZXRTdHJpbmcAAAABAAAAA2tleQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgUAAAAEdGhpcwUAAAADa2V5AAAAABBkZWxheUZvckhhdGNoaW5nAAAAAAAAAAACAQAAAAlnZXRPcmFjbGUAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAADHRyeUdldFN0cmluZwAAAAECAAAAFHN0YXRpY19vcmFjbGVBZGRyZXNzAQAAAA1nZXRFZ2dBc3NldElkAAAAAAkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAARc3RhdGljX2VnZ0Fzc2V0SWQBAAAAE2dldEluY3ViYXRvckFkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAF3N0YXRpY19pbmN1YmF0b3JBZGRyZXNzAQAAABFnZXRCcmVlZGVyQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2JyZWVkZXJBZGRyZXNzAQAAABFnZXRGYXJtaW5nQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2Zhcm1pbmdBZGRyZXNzAQAAABJnZXRCYWJ5RHVja0FkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAFnN0YXRpY19iYWJ5RHVja0FkZHJlc3MBAAAAEmdldEdhbWVEYXBwQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAWc3RhdGljX2dhbWVEYXBwQWRkcmVzcwEAAAAPZ2V0SXRlbXNBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABNzdGF0aWNfaXRlbXNBZGRyZXNzAQAAABFnZXRDb3Vwb25zQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAIAAAAVc3RhdGljX2NvdXBvbnNBZGRyZXNzAQAAABJnZXRNZXRhcmFjZUFkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAACAAAAFnN0YXRpY19tZXRhUmFjZUFkZHJlc3MBAAAADmdldEh1bnRBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABJzdGF0aWNfaHVudEFkZHJlc3MBAAAADmdldEJ1cm5BZGRy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", "height": 3239753, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AxqVfZMc16R1MgXNpP6KxBj5WvyuARH187riXFPze4Dp Next: DdqZoeTgXjCGGnt8i75uJK5YJ3QaTpFhjkhjxpSuJXip Diff:
OldNewDifferences
5353
5454
5555 func getHuntAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_huntAddress")))
56+
57+
58+func getBurnAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_burnAddress")))
5659
5760
5861 let PHOENIXBASEOPTIONS = 1000
129132 then "item_ART-FREEGENE"
130133 else {
131134 let n = getRandomNumber(1000, tx, finishHeight, 0)
132- if ((195 > n))
133- then "duckling_20"
134- else if ((295 > n))
135- then "duckling_40"
136- else if ((300 > n))
137- then "duckling_80"
138- else if ((400 > n))
135+ if ((150 > n))
136+ then "duckling_2"
137+ else if ((200 > n))
138+ then "duckling_10"
139+ else if ((210 > n))
140+ then "duckling_20"
141+ else if ((250 > n))
139142 then "incubator"
140- else if ((500 > n))
143+ else if ((375 > n))
141144 then "perch_Y"
142- else if ((600 > n))
145+ else if ((500 > n))
143146 then "perch_G"
144- else if ((700 > n))
147+ else if ((625 > n))
145148 then "perch_B"
146- else if ((800 > n))
149+ else if ((750 > n))
147150 then "perch_R"
148- else if ((900 > n))
151+ else if ((875 > n))
149152 then "ar"
150153 else "meta"
151154 }
200203 then throw("You need to attach EGG tokens as fee")
201204 else if ((leftToPay > feePayment.amount))
202205 then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(leftToPay)))
203- else leftToPay
206+ else {
207+ let burnCall = invoke(getBurnAddress(), "burnAttachedPayments", nil, [AttachedPayment(getEggAssetId(), leftToPay)])
208+ if ((burnCall == burnCall))
209+ then leftToPay
210+ else throw("Strict value is not equal to itself.")
211+ }
204212 }
205213 else 0
206214 if ((payment == payment))
207215 then {
208- let $t060596108 = getAssetFarmingPower(assetId)
209- let gen = $t060596108._1
210- let rarity = $t060596108._2
216+ let $t062756324 = getAssetFarmingPower(assetId)
217+ let gen = $t062756324._1
218+ let rarity = $t062756324._2
211219 let call = invoke(getOrigin(assetId), "reduceRarity", [toBase58String(assetId), gen], nil)
212220 if ((call == call))
213221 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))]
257265 then {
258266 let assetId = getAccessItemAssetId(getHuntAddress())
259267 let price = getAccessItemPrice(getHuntAddress())
260- let call = invoke(getHuntAddress(), "buyAccessItemOther", [address, txId], [AttachedPayment(assetId, price)])
268+ let call = invoke(getHuntAddress(), "buyAccessItemOther", [address], [AttachedPayment(assetId, price)])
261269 if ((call == call))
262270 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
263271 else throw("Strict value is not equal to itself.")
266274 then {
267275 let assetId = getAccessItemAssetId(getMetaraceAddress())
268276 let price = getAccessItemPrice(getMetaraceAddress())
269- let call = invoke(getMetaraceAddress(), "buyAccessItemOther", [address, txId], [AttachedPayment(assetId, price)])
277+ let call = invoke(getMetaraceAddress(), "buyAccessItemOther", [address], [AttachedPayment(assetId, price)])
270278 if ((call == call))
271279 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
272280 else throw("Strict value is not equal to itself.")
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")))
56+
57+
58+func getBurnAddress () = Address(fromBase58String(tryGetStringExternal(getOracle(), "static_burnAddress")))
5659
5760
5861 let PHOENIXBASEOPTIONS = 1000
5962
6063 func tryGetInteger (key) = match getInteger(this, key) {
6164 case b: Int =>
6265 b
6366 case _ =>
6467 0
6568 }
6669
6770
6871 func asString (value) = match value {
6972 case s: String =>
7073 s
7174 case s: Int =>
7275 throw("wrong type, expected: String, got: Int")
7376 case s: Unit =>
7477 throw("wrong type, expected: String, got: Unit")
7578 case _ =>
7679 throw("wrong type, expected: String")
7780 }
7881
7982
8083 let feeAmount = tryGetInteger("currentPrice")
8184
8285 func getAmountOrClear (amount) = if (contains(amount, "0"))
8386 then ""
8487 else amount
8588
8689
8790 func getAssetOrigin (generation) = if ((generation == "G"))
8891 then getIncubatorAddress()
8992 else getBreederAddress()
9093
9194
9295 func getAssetRarity (genotype,generation) = {
9396 let quantity = getIntegerValue(getAssetOrigin(generation), (("stats_" + genotype) + "_quantity"))
9497 let power = pow((10000 / quantity), 4, 5, 1, 2, FLOOR)
9598 if ((power > 0))
9699 then power
97100 else 2
98101 }
99102
100103
101104 func getAssetFarmingPower (assetId) = if (if ((value(assetInfo(assetId)).issuer == getBreederAddress()))
102105 then true
103106 else (value(assetInfo(assetId)).issuer == getIncubatorAddress()))
104107 then {
105108 let assetName = value(assetInfo(assetId)).name
106109 let generation = take(takeRight(assetName, 2), 1)
107110 let farmGen = asString(invoke(getBreederAddress(), "getGenFromName", [assetName], nil))
108111 if ((farmGen == farmGen))
109112 then $Tuple2(farmGen, getAssetRarity(farmGen, generation))
110113 else throw("Strict value is not equal to itself.")
111114 }
112115 else throw("not valid NFT")
113116
114117
115118 func getRandomNumber (options,txId,hatchingFinishHeight,offset) = {
116119 let randomSeedBlock = value(blockInfoByHeight((hatchingFinishHeight - 1)))
117120 let randomHash = sha256((txId + value(randomSeedBlock.vrf)))
118121 (toInt(randomHash, (offset * 8)) % options)
119122 }
120123
121124
122125 func getRandomWin (tx,finishHeight,assetRarity) = {
123126 let phoenixOptions = (PHOENIXBASEOPTIONS - fraction((PHOENIXBASEOPTIONS / 2), assetRarity, 100))
124127 let jackpotRandom = getRandomNumber(phoenixOptions, tx, finishHeight, 1)
125128 let itemRandom = getRandomNumber(phoenixOptions, tx, finishHeight, 2)
126129 if ((jackpotRandom == 1))
127130 then "phoenix"
128131 else if ((itemRandom == 1))
129132 then "item_ART-FREEGENE"
130133 else {
131134 let n = getRandomNumber(1000, tx, finishHeight, 0)
132- if ((195 > n))
133- then "duckling_20"
134- else if ((295 > n))
135- then "duckling_40"
136- else if ((300 > n))
137- then "duckling_80"
138- else if ((400 > n))
135+ if ((150 > n))
136+ then "duckling_2"
137+ else if ((200 > n))
138+ then "duckling_10"
139+ else if ((210 > n))
140+ then "duckling_20"
141+ else if ((250 > n))
139142 then "incubator"
140- else if ((500 > n))
143+ else if ((375 > n))
141144 then "perch_Y"
142- else if ((600 > n))
145+ else if ((500 > n))
143146 then "perch_G"
144- else if ((700 > n))
147+ else if ((625 > n))
145148 then "perch_B"
146- else if ((800 > n))
149+ else if ((750 > n))
147150 then "perch_R"
148- else if ((900 > n))
151+ else if ((875 > n))
149152 then "ar"
150153 else "meta"
151154 }
152155 }
153156
154157
155158 func getOrigin (assetId) = {
156159 let assetName = value(assetInfo(assetId)).name
157160 let generation = take(takeRight(assetName, 2), 1)
158161 if (if ((generation == "G"))
159162 then true
160163 else (generation == "J"))
161164 then getIncubatorAddress()
162165 else getBreederAddress()
163166 }
164167
165168
166169 func asInt (value) = match value {
167170 case int: Int =>
168171 int
169172 case string: String =>
170173 throw(("RAI: wrong type, expected: Int, but got: " + string))
171174 case _ =>
172175 throw("RAI: wrong type, expected: Int")
173176 }
174177
175178
176179 @Callable(i)
177180 func configureOracle (oracle) = if ((i.caller != this))
178181 then throw("RCU: admin only")
179182 else [StringEntry("static_oracleAddress", oracle)]
180183
181184
182185
183186 @Callable(i)
184187 func initRebirth () = {
185188 let pmt = i.payments[0]
186189 let assetId = value(pmt.assetId)
187190 let initTx = toBase58String(i.transactionId)
188191 let address = toString(i.caller)
189192 if ((pmt.amount != 1))
190193 then throw("NFT is not attached")
191194 else {
192195 let amountPaidByCoupons = asInt(invoke(getCouponsAddress(), "useCoupons", [feeAmount], nil))
193196 if ((amountPaidByCoupons == amountPaidByCoupons))
194197 then {
195198 let leftToPay = (feeAmount - amountPaidByCoupons)
196199 let payment = if ((leftToPay != 0))
197200 then {
198201 let feePayment = value(i.payments[1])
199202 if ((feePayment.assetId != getEggAssetId()))
200203 then throw("You need to attach EGG tokens as fee")
201204 else if ((leftToPay > feePayment.amount))
202205 then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(leftToPay)))
203- else leftToPay
206+ else {
207+ let burnCall = invoke(getBurnAddress(), "burnAttachedPayments", nil, [AttachedPayment(getEggAssetId(), leftToPay)])
208+ if ((burnCall == burnCall))
209+ then leftToPay
210+ else throw("Strict value is not equal to itself.")
211+ }
204212 }
205213 else 0
206214 if ((payment == payment))
207215 then {
208- let $t060596108 = getAssetFarmingPower(assetId)
209- let gen = $t060596108._1
210- let rarity = $t060596108._2
216+ let $t062756324 = getAssetFarmingPower(assetId)
217+ let gen = $t062756324._1
218+ let rarity = $t062756324._2
211219 let call = invoke(getOrigin(assetId), "reduceRarity", [toBase58String(assetId), gen], nil)
212220 if ((call == call))
213221 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))]
214222 else throw("Strict value is not equal to itself.")
215223 }
216224 else throw("Strict value is not equal to itself.")
217225 }
218226 else throw("Strict value is not equal to itself.")
219227 }
220228 }
221229
222230
223231
224232 @Callable(i)
225233 func finishRebirth (initTx) = {
226234 let address = toString(i.caller)
227235 let finishBlock = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_finishBlock"))
228236 let assetRarity = tryGetInteger((((("address_" + address) + "_initTx_") + initTx) + "_assetRarity"))
229237 let status = tryGetString((((("address_" + address) + "_initTx_") + initTx) + "_status"))
230238 func getAccessItemAssetId (address) = fromBase58String(tryGetStringExternal(address, "static_accessItemAssetId"))
231239
232240 func getAccessItemPrice (address) = tryGetIntExternal(address, "static_accessItemPrice")
233241
234242 if ((status != "open"))
235243 then throw("rebirth is finished or not open")
236244 else if ((finishBlock > height))
237245 then throw("you cannot finish rebirth, yet")
238246 else {
239247 let win = getRandomWin(fromBase58String(initTx), finishBlock, assetRarity)
240248 let txId = initTx
241249 let result = if ((indexOf(win, "perch") != unit))
242250 then {
243251 let color = takeRight(win, 1)
244252 let call = invoke(getFarmingAddress(), "addFreePerch", [address, color], nil)
245253 if ((call == call))
246254 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
247255 else throw("Strict value is not equal to itself.")
248256 }
249257 else if ((win == "incubator"))
250258 then {
251259 let call = invoke(getIncubatorAddress(), "issueFreeDuck", [address, txId], nil)
252260 if ((call == call))
253261 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
254262 else throw("Strict value is not equal to itself.")
255263 }
256264 else if ((win == "ar"))
257265 then {
258266 let assetId = getAccessItemAssetId(getHuntAddress())
259267 let price = getAccessItemPrice(getHuntAddress())
260- let call = invoke(getHuntAddress(), "buyAccessItemOther", [address, txId], [AttachedPayment(assetId, price)])
268+ let call = invoke(getHuntAddress(), "buyAccessItemOther", [address], [AttachedPayment(assetId, price)])
261269 if ((call == call))
262270 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
263271 else throw("Strict value is not equal to itself.")
264272 }
265273 else if ((win == "meta"))
266274 then {
267275 let assetId = getAccessItemAssetId(getMetaraceAddress())
268276 let price = getAccessItemPrice(getMetaraceAddress())
269- let call = invoke(getMetaraceAddress(), "buyAccessItemOther", [address, txId], [AttachedPayment(assetId, price)])
277+ let call = invoke(getMetaraceAddress(), "buyAccessItemOther", [address], [AttachedPayment(assetId, price)])
270278 if ((call == call))
271279 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
272280 else throw("Strict value is not equal to itself.")
273281 }
274282 else if ((win == "phoenix"))
275283 then {
276284 let call = invoke(getIncubatorAddress(), "issueJackpot", [address, txId, "WWWWWWWP"], nil)
277285 if ((call == call))
278286 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
279287 else throw("Strict value is not equal to itself.")
280288 }
281289 else if ((indexOf(win, "duckling") != unit))
282290 then {
283291 let level = parseIntValue(split(win, "_")[1])
284292 let call = invoke(getBabyDuckAddress(), "issueFreeDuckling", [address, txId, level], nil)
285293 if ((call == call))
286294 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
287295 else throw("Strict value is not equal to itself.")
288296 }
289297 else if ((indexOf(win, "item") != unit))
290298 then {
291299 let itemName = split(win, "_")[1]
292300 let call = invoke(getItemsAddress(), "issueArtefact", [itemName, address], nil)
293301 if ((call == call))
294302 then [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_result"), asString(call))]
295303 else throw("Strict value is not equal to itself.")
296304 }
297305 else throw("RFB: Some error occured, please contact the admins!")
298306 (result ++ [StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_win"), win), StringEntry((((("address_" + address) + "_initTx_") + initTx) + "_status"), "finish")])
299307 }
300308 }
301309
302310

github/deemru/w8io/6500d08 
63.89 ms