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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AgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAhfYXNzZXRJZAkAAlgAAAABBQAAAAdhc3NldElkBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAANZmluaXNoUmViaXJ0aAAAAAEAAAAGaW5pdFR4BAAAAAdhZGRyZXNzCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAALZmluaXNoQmxvY2sJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAIX2luaXRUeF8FAAAABmluaXRUeAIAAAAMX2ZpbmlzaEJsb2NrBAAAAAthc3NldFJhcml0eQkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAxfYXNzZXRSYXJpdHkEAAAABnN0YXR1cwkBAAAADHRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAACF9pbml0VHhfBQAAAAZpbml0VHgCAAAAB19zdGF0dXMKAQAAABRnZXRBY2Nlc3NJdGVtQXNzZXRJZAAAAAEAAAAHYWRkcmVzcwkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACBQAAAAdhZGRyZXNzAgAAABhzdGF0aWNfYWNjZXNzSXRlbUFzc2V0SWQKAQAAABJnZXRBY2Nlc3NJdGVtUHJpY2UAAAABAAAAB2FkZHJlc3MJAQAAABF0cnlHZXRJbnRFeHRlcm5hbAAAAAIFAAAAB2FkZHJlc3MCAAAAFnN0YXRpY19hY2Nlc3NJdGVtUHJpY2UDCQEAAAACIT0AAAACBQAAAAZzdGF0dXMCAAAABG9wZW4JAAACAAAAAQIAAAAfcmViaXJ0aCBpcyBmaW5pc2hlZCBvciBub3Qgb3BlbgMJAABmAAAAAgUAAAALZmluaXNoQmxvY2sFAAAABmhlaWdodAkAAAIAAAABAgAAAB55b3UgY2Fubm90IGZpbmlzaCByZWJpcnRoLCB5ZXQEAAAAA3dpbgkBAAAADGdldFJhbmRvbVdpbgAAAAMJAAJZAAAAAQUAAAAGaW5pdFR4BQAAAAtmaW5pc2hCbG9jawUAAAALYXNzZXRSYXJpdHkEAAAABHR4SWQFAAAABmluaXRUeAQAAAAGcmVzdWx0AwkBAAAAAiE9AAAAAgkABLMAAAACBQAAAAN3aW4CAAAABXBlcmNoBQAAAAR1bml0BAAAAAVjb2xvcgkBAAAACXRha2VSaWdodAAAAAIFAAAAA3dpbgAAAAAAAAAAAQQAAAAEY2FsbAkAA/wAAAAECQEAAAARZ2V0RmFybWluZ0FkZHJlc3MAAAAAAgAAAAxhZGRGcmVlUGVyY2gJAARMAAAAAgUAAAAHYWRkcmVzcwkABEwAAAACBQAAAAVjb2xvcgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAABGNhbGwFAAAABGNhbGwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAIX2luaXRUeF8FAAAABmluaXRUeAIAAAAHX3Jlc3VsdAkBAAAACGFzU3RyaW5nAAAAAQUAAAAEY2FsbAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAAAAAAAAgUAAAADd2luAgAAAAlpbmN1YmF0b3IEAAAABGNhbGwJAAP8AAAABAkBAAAAE2dldEluY3ViYXRvckFkZHJlc3MAAAAAAgAAAA1pc3N1ZUZyZWVEdWNrCQAETAAAAAIFAAAAB2FkZHJlc3MJAARMAAAAAgUAAAAEdHhJZAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAABGNhbGwFAAAABGNhbGwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAIX2luaXRUeF8FAAAABmluaXRUeAIAAAAHX3Jlc3VsdAkBAAAACGFzU3RyaW5nAAAAAQUAAAAEY2FsbAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAAAAAAAAgUAAAADd2luAgAAAAJhcgQAAAAHYXNzZXRJZAkBAAAAFGdldEFjY2Vzc0l0ZW1Bc3NldElkAAAAAQkBAAAADmdldEh1bnRBZGRyZXNzAAAAAAQAAAAFcHJpY2UJAQAAABJnZXRBY2Nlc3NJdGVtUHJpY2UAAAABCQEAAAAOZ2V0SHVudEFkZHJlc3MAAAAABAAAAARjYWxsCQAD/AAAAAQJAQAAAA5nZXRIdW50QWRkcmVzcwAAAAACAAAAEmJ1eUFjY2Vzc0l0ZW1PdGhlcgkABEwAAAACBQAAAAdhZGRyZXNzCQAETAAAAAIFAAAABHR4SWQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAHYXNzZXRJZAUAAAAFcHJpY2UFAAAAA25pbAMJAAAAAAAAAgUAAAAEY2FsbAUAAAAEY2FsbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAdfcmVzdWx0CQEAAAAIYXNTdHJpbmcAAAABBQAAAARjYWxsBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAAAAAACBQAAAAN3aW4CAAAABG1ldGEEAAAAB2Fzc2V0SWQJAQAAABRnZXRBY2Nlc3NJdGVtQXNzZXRJZAAAAAEJAQAAABJnZXRNZXRhcmFjZUFkZHJlc3MAAAAABAAAAAVwcmljZQkBAAAAEmdldEFjY2Vzc0l0ZW1QcmljZQAAAAEJAQAAABJnZXRNZXRhcmFjZUFkZHJlc3MAAAAABAAAAARjYWxsCQAD/AAAAAQJAQAAABJnZXRNZXRhcmFjZUFkZHJlc3MAAAAAAgAAABJidXlBY2Nlc3NJdGVtT3RoZXIJAARMAAAAAgUAAAAHYWRkcmVzcwkABEwAAAACBQAAAAR0eElkBQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAAB2Fzc2V0SWQFAAAABXByaWNlBQAAAANuaWwDCQAAAAAAAAIFAAAABGNhbGwFAAAABGNhbGwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAIX2luaXRUeF8FAAAABmluaXRUeAIAAAAHX3Jlc3VsdAkBAAAACGFzU3RyaW5nAAAAAQUAAAAEY2FsbAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAAAAAAAAgUAAAADd2luAgAAAAdwaG9lbml4BAAAAARjYWxsCQAD/AAAAAQJAQAAABNnZXRJbmN1YmF0b3JBZGRyZXNzAAAAAAIAAAAMaXNzdWVKYWNrcG90CQAETAAAAAIFAAAAB2FkZHJlc3MJAARMAAAAAgUAAAAEdHhJZAkABEwAAAACAgAAAAhXV1dXV1dXUAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAABGNhbGwFAAAABGNhbGwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAIX2luaXRUeF8FAAAABmluaXRUeAIAAAAHX3Jlc3VsdAkBAAAACGFzU3RyaW5nAAAAAQUAAAAEY2FsbAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAQAAAAIhPQAAAAIJAASzAAAAAgUAAAADd2luAgAAAAhkdWNrbGluZwUAAAAEdW5pdAQAAAAFbGV2ZWwJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACCQAEtQAAAAIFAAAAA3dpbgIAAAABXwAAAAAAAAAAAQQAAAAEY2FsbAkAA/wAAAAECQEAAAASZ2V0QmFieUR1Y2tBZGRyZXNzAAAAAAIAAAARaXNzdWVGcmVlRHVja2xpbmcJAARMAAAAAgUAAAAHYWRkcmVzcwkABEwAAAACBQAAAAR0eElkCQAETAAAAAIFAAAABWxldmVsBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAEY2FsbAUAAAAEY2FsbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAAdfcmVzdWx0CQEAAAAIYXNTdHJpbmcAAAABBQAAAARjYWxsBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkBAAAAAiE9AAAAAgkABLMAAAACBQAAAAN3aW4CAAAABGl0ZW0FAAAABHVuaXQEAAAACGl0ZW1OYW1lCQABkQAAAAIJAAS1AAAAAgUAAAADd2luAgAAAAFfAAAAAAAAAAABBAAAAARjYWxsCQAD/AAAAAQJAQAAAA9nZXRJdGVtc0FkZHJlc3MAAAAAAgAAAA1pc3N1ZUFydGVmYWN0CQAETAAAAAIFAAAACGl0ZW1OYW1lCQAETAAAAAIFAAAAB2FkZHJlc3MFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAARjYWxsBQAAAARjYWxsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAACF9pbml0VHhfBQAAAAZpbml0VHgCAAAAB19yZXN1bHQJAQAAAAhhc1N0cmluZwAAAAEFAAAABGNhbGwFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAzUkZCOiBTb21lIGVycm9yIG9jY3VyZWQsIHBsZWFzZSBjb250YWN0IHRoZSBhZG1pbnMhCQAETgAAAAIFAAAABnJlc3VsdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAhfaW5pdFR4XwUAAAAGaW5pdFR4AgAAAARfd2luBQAAAAN3aW4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAIX2luaXRUeF8FAAAABmluaXRUeAIAAAAHX3N0YXR1cwIAAAAGZmluaXNoBQAAAANuaWwAAAAApUR1Sg==", "height": 3181752, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: J7bQ157NFSMzawtuZ9ooiKKs3QxBvwVM8C57JZbG6xz3 Next: 43cJFn2z7U1dxUixv4Qz4t8DBtiEbmpW5Z3SZkS8YmMS Diff:
OldNewDifferences
1212 }
1313
1414
15-func f (c) = a(this, c)
15+func f (b,c) = {
16+ let d = getInteger(b, c)
17+ if ($isInstanceOf(d, "Int"))
18+ then {
19+ let e = d
20+ e
21+ }
22+ else throw("RTGIE: Something went wrong")
23+ }
1624
1725
18-let g = 2
19-
20-func h () = Address(fromBase58String(f("static_oracleAddress")))
26+func g (c) = a(this, c)
2127
2228
23-func i () = fromBase58String(a(h(), "static_eggAssetId"))
29+let h = 2
30+
31+func i () = Address(fromBase58String(g("static_oracleAddress")))
2432
2533
26-func j () = Address(fromBase58String(a(h(), "static_incubatorAddress")))
34+func j () = fromBase58String(a(i(), "static_eggAssetId"))
2735
2836
29-func k () = Address(fromBase58String(a(h(), "static_breederAddress")))
37+func k () = Address(fromBase58String(a(i(), "static_incubatorAddress")))
3038
3139
32-func l () = Address(fromBase58String(a(h(), "static_farmingAddress")))
40+func l () = Address(fromBase58String(a(i(), "static_breederAddress")))
3341
3442
35-func m () = Address(fromBase58String(a(h(), "static_babyDuckAddress")))
43+func m () = Address(fromBase58String(a(i(), "static_farmingAddress")))
3644
3745
38-func n () = Address(fromBase58String(a(h(), "static_gameDappAddress")))
46+func n () = Address(fromBase58String(a(i(), "static_babyDuckAddress")))
3947
4048
41-func o () = Address(fromBase58String(a(h(), "static_itemsAddress")))
49+func o () = Address(fromBase58String(a(i(), "static_gameDappAddress")))
4250
4351
44-func p () = Address(fromBase58String(a(h(), "static_couponsAddress")))
52+func p () = Address(fromBase58String(a(i(), "static_itemsAddress")))
4553
4654
47-let q = 1000
55+func q () = Address(fromBase58String(a(i(), "static_couponsAddress")))
4856
49-func r (c) = {
57+
58+func r () = Address(fromBase58String(a(i(), "static_metaRaceAddress")))
59+
60+
61+func s () = Address(fromBase58String(a(i(), "static_huntAddress")))
62+
63+
64+let t = 1000
65+
66+func u (c) = {
5067 let d = getInteger(this, c)
5168 if ($isInstanceOf(d, "Int"))
5269 then {
53- let s = d
54- s
70+ let v = d
71+ v
5572 }
5673 else 0
5774 }
5875
5976
60-func t (u) = {
61- let d = u
77+func w (x) = {
78+ let d = x
6279 if ($isInstanceOf(d, "String"))
6380 then {
64- let v = d
65- v
81+ let y = d
82+ y
6683 }
6784 else if ($isInstanceOf(d, "Int"))
6885 then {
69- let v = d
86+ let y = d
7087 throw("wrong type, expected: String, got: Int")
7188 }
7289 else if ($isInstanceOf(d, "Unit"))
7390 then {
74- let v = d
91+ let y = d
7592 throw("wrong type, expected: String, got: Unit")
7693 }
7794 else throw("wrong type, expected: String")
7895 }
7996
8097
81-let w = r("currentPrice")
98+let z = u("currentPrice")
8299
83-func x (y) = if (contains(y, "0"))
100+func A (B) = if (contains(B, "0"))
84101 then ""
85- else y
102+ else B
86103
87104
88-func z (A) = if ((A == "G"))
89- then j()
90- else k()
105+func C (D) = if ((D == "G"))
106+ then k()
107+ else l()
91108
92109
93-func B (C,A) = {
94- let D = getIntegerValue(z(A), (("stats_" + C) + "_quantity"))
95- let E = pow((10000 / D), 4, 5, 1, 2, FLOOR)
96- if ((E > 0))
97- then E
110+func E (F,D) = {
111+ let G = getIntegerValue(C(D), (("stats_" + F) + "_quantity"))
112+ let H = pow((10000 / G), 4, 5, 1, 2, FLOOR)
113+ if ((H > 0))
114+ then H
98115 else 2
99116 }
100117
101118
102-func F (G) = if (if ((value(assetInfo(G)).issuer == k()))
119+func I (J) = if (if ((value(assetInfo(J)).issuer == l()))
103120 then true
104- else (value(assetInfo(G)).issuer == j()))
121+ else (value(assetInfo(J)).issuer == k()))
105122 then {
106- let H = value(assetInfo(G)).name
107- let A = take(takeRight(H, 2), 1)
108- let I = t(invoke(k(), "getGenFromName", [H], nil))
109- if ((I == I))
110- then $Tuple2(I, B(I, A))
123+ let K = value(assetInfo(J)).name
124+ let D = take(takeRight(K, 2), 1)
125+ let L = w(invoke(l(), "getGenFromName", [K], nil))
126+ if ((L == L))
127+ then $Tuple2(L, E(L, D))
111128 else throw("Strict value is not equal to itself.")
112129 }
113130 else throw("not valid NFT")
114131
115132
116-func J (K,L,M,N) = {
117- let O = value(blockInfoByHeight((M - 1)))
118- let P = sha256((L + value(O.vrf)))
119- (toInt(P, (N * 8)) % K)
133+func M (N,O,P,Q) = {
134+ let R = value(blockInfoByHeight((P - 1)))
135+ let S = sha256((O + value(R.vrf)))
136+ (toInt(S, (Q * 8)) % N)
120137 }
121138
122139
123-func Q (R,S,T) = {
124- let U = (q - fraction((q / 2), T, 100))
125- let V = J(U, R, S, 1)
126- let W = J(U, R, S, 2)
127- if ((V == 1))
140+func T (U,V,W) = {
141+ let X = (t - fraction((t / 2), W, 100))
142+ let Y = M(X, U, V, 1)
143+ let Z = M(X, U, V, 2)
144+ if ((Y == 1))
128145 then "phoenix"
129- else if ((W == 1))
146+ else if ((Z == 1))
130147 then "item_ART-FREEGENE"
131148 else {
132- let X = J(1000, R, S, 0)
133- if ((145 > X))
149+ let aa = M(1000, U, V, 0)
150+ if ((195 > aa))
134151 then "duckling_20"
135- else if ((195 > X))
152+ else if ((295 > aa))
136153 then "duckling_40"
137- else if ((200 > X))
154+ else if ((300 > aa))
138155 then "duckling_80"
139- else if ((300 > X))
156+ else if ((400 > aa))
140157 then "incubator"
141- else if ((400 > X))
158+ else if ((500 > aa))
142159 then "perch_Y"
143- else if ((500 > X))
160+ else if ((600 > aa))
144161 then "perch_G"
145- else if ((600 > X))
162+ else if ((700 > aa))
146163 then "perch_B"
147- else if ((700 > X))
164+ else if ((800 > aa))
148165 then "perch_R"
149- else if ((849 > X))
150- then "mantle_2"
151- else if ((850 > X))
152- then "mantle_40"
153- else if ((930 > X))
154- then "mantle_3"
155- else if ((980 > X))
156- then "mantle_5"
157- else "mantle_10"
166+ else if ((900 > aa))
167+ then "ar"
168+ else "meta"
158169 }
159170 }
160171
161172
162-func Y (G) = {
163- let H = value(assetInfo(G)).name
164- let A = take(takeRight(H, 2), 1)
165- if (if ((A == "G"))
173+func ab (J) = {
174+ let K = value(assetInfo(J)).name
175+ let D = take(takeRight(K, 2), 1)
176+ if (if ((D == "G"))
166177 then true
167- else (A == "J"))
168- then j()
169- else k()
178+ else (D == "J"))
179+ then k()
180+ else l()
170181 }
171182
172183
173-func Z (u) = {
174- let d = u
184+func ac (x) = {
185+ let d = x
175186 if ($isInstanceOf(d, "Int"))
176187 then {
177- let aa = d
178- aa
188+ let ad = d
189+ ad
179190 }
180191 else if ($isInstanceOf(d, "String"))
181192 then {
182- let ab = d
183- throw(("RAI: wrong type, expected: Int, but got: " + ab))
193+ let ae = d
194+ throw(("RAI: wrong type, expected: Int, but got: " + ae))
184195 }
185196 else throw("RAI: wrong type, expected: Int")
186197 }
187198
188199
189-@Callable(ac)
190-func configureOracle (ad) = if ((ac.caller != this))
200+@Callable(af)
201+func configureOracle (ag) = if ((af.caller != this))
191202 then throw("RCU: admin only")
192- else [StringEntry("static_oracleAddress", ad)]
203+ else [StringEntry("static_oracleAddress", ag)]
193204
194205
195206
196-@Callable(ac)
207+@Callable(af)
197208 func initRebirth () = {
198- let ae = ac.payments[0]
199- let G = value(ae.assetId)
200- let af = toBase58String(ac.transactionId)
201- let b = toString(ac.caller)
202- if ((ae.amount != 1))
209+ let ah = af.payments[0]
210+ let J = value(ah.assetId)
211+ let ai = toBase58String(af.transactionId)
212+ let b = toString(af.caller)
213+ if ((ah.amount != 1))
203214 then throw("NFT is not attached")
204215 else {
205- let ag = Z(invoke(p(), "useCoupons", [w], nil))
206- if ((ag == ag))
216+ let aj = ac(invoke(q(), "useCoupons", [z], nil))
217+ if ((aj == aj))
207218 then {
208- let ah = (w - ag)
209- let ai = if ((ah != 0))
219+ let ak = (z - aj)
220+ let al = if ((ak != 0))
210221 then {
211- let aj = value(ac.payments[1])
212- if ((aj.assetId != i()))
222+ let am = value(af.payments[1])
223+ if ((am.assetId != j()))
213224 then throw("You need to attach EGG tokens as fee")
214- else if ((ah > aj.amount))
215- then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(ah)))
216- else ah
225+ else if ((ak > am.amount))
226+ then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(ak)))
227+ else ak
217228 }
218229 else 0
219- if ((ai == ai))
230+ if ((al == al))
220231 then {
221- let ak = F(G)
222- let al = ak._1
223- let am = ak._2
224- let an = invoke(Y(G), "reduceRarity", [toBase58String(G), al], nil)
225- if ((an == an))
226- then [IntegerEntry((((("address_" + b) + "_initTx_") + af) + "_finishBlock"), (height + g)), StringEntry((((("address_" + b) + "_initTx_") + af) + "_status"), "open"), IntegerEntry((((("address_" + b) + "_initTx_") + af) + "_assetRarity"), am), StringEntry((((("address_" + b) + "_initTx_") + af) + "_assetId"), toBase58String(G))]
232+ let an = I(J)
233+ let ao = an._1
234+ let ap = an._2
235+ let aq = invoke(ab(J), "reduceRarity", [toBase58String(J), ao], nil)
236+ if ((aq == aq))
237+ then [IntegerEntry((((("address_" + b) + "_initTx_") + ai) + "_finishBlock"), (height + h)), StringEntry((((("address_" + b) + "_initTx_") + ai) + "_status"), "open"), IntegerEntry((((("address_" + b) + "_initTx_") + ai) + "_assetRarity"), ap), StringEntry((((("address_" + b) + "_initTx_") + ai) + "_assetId"), toBase58String(J))]
227238 else throw("Strict value is not equal to itself.")
228239 }
229240 else throw("Strict value is not equal to itself.")
234245
235246
236247
237-@Callable(ac)
238-func finishRebirth (af) = {
239- let b = toString(ac.caller)
240- let ao = r((((("address_" + b) + "_initTx_") + af) + "_finishBlock"))
241- let T = r((((("address_" + b) + "_initTx_") + af) + "_assetRarity"))
242- let ap = f((((("address_" + b) + "_initTx_") + af) + "_status"))
243- if ((ap != "open"))
248+@Callable(af)
249+func finishRebirth (ai) = {
250+ let b = toString(af.caller)
251+ let ar = u((((("address_" + b) + "_initTx_") + ai) + "_finishBlock"))
252+ let W = u((((("address_" + b) + "_initTx_") + ai) + "_assetRarity"))
253+ let as = g((((("address_" + b) + "_initTx_") + ai) + "_status"))
254+ func at (b) = fromBase58String(a(b, "static_accessItemAssetId"))
255+
256+ func au (b) = f(b, "static_accessItemPrice")
257+
258+ if ((as != "open"))
244259 then throw("rebirth is finished or not open")
245- else if ((ao > height))
260+ else if ((ar > height))
246261 then throw("you cannot finish rebirth, yet")
247262 else {
248- let aq = Q(fromBase58String(af), ao, T)
249- let L = af
250- let ar = if ((indexOf(aq, "perch") != unit))
263+ let av = T(fromBase58String(ai), ar, W)
264+ let O = ai
265+ let aw = if ((indexOf(av, "perch") != unit))
251266 then {
252- let as = takeRight(aq, 1)
253- let an = invoke(l(), "addFreePerch", [b, as], nil)
254- if ((an == an))
255- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
267+ let ax = takeRight(av, 1)
268+ let aq = invoke(m(), "addFreePerch", [b, ax], nil)
269+ if ((aq == aq))
270+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
256271 else throw("Strict value is not equal to itself.")
257272 }
258- else if ((aq == "incubator"))
273+ else if ((av == "incubator"))
259274 then {
260- let an = invoke(j(), "issueFreeDuck", [b, L], nil)
261- if ((an == an))
262- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
275+ let aq = invoke(k(), "issueFreeDuck", [b, O], nil)
276+ if ((aq == aq))
277+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
263278 else throw("Strict value is not equal to itself.")
264279 }
265- else if ((aq == "phoenix"))
280+ else if ((av == "ar"))
266281 then {
267- let an = invoke(j(), "issueJackpot", [b, L, "WWWWWWWP"], nil)
268- if ((an == an))
269- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
282+ let J = at(s())
283+ let ay = au(s())
284+ let aq = invoke(s(), "buyAccessItemOther", [b, O], [AttachedPayment(J, ay)])
285+ if ((aq == aq))
286+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
270287 else throw("Strict value is not equal to itself.")
271288 }
272- else if ((indexOf(aq, "duckling") != unit))
289+ else if ((av == "meta"))
273290 then {
274- let at = parseIntValue(split(aq, "_")[1])
275- let an = invoke(m(), "issueFreeDuckling", [b, L, at], nil)
276- if ((an == an))
277- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
291+ let J = at(r())
292+ let ay = au(r())
293+ let aq = invoke(r(), "buyAccessItemOther", [b, O], [AttachedPayment(J, ay)])
294+ if ((aq == aq))
295+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
278296 else throw("Strict value is not equal to itself.")
279297 }
280- else if ((indexOf(aq, "mantle") != unit))
298+ else if ((av == "phoenix"))
281299 then {
282- let at = parseIntValue(split(aq, "_")[1])
283- let an = invoke(n(), "issueFreeMantle", [b, "mantle", at], nil)
284- if ((an == an))
285- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
300+ let aq = invoke(k(), "issueJackpot", [b, O, "WWWWWWWP"], nil)
301+ if ((aq == aq))
302+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
286303 else throw("Strict value is not equal to itself.")
287304 }
288- else if ((indexOf(aq, "item") != unit))
305+ else if ((indexOf(av, "duckling") != unit))
289306 then {
290- let au = split(aq, "_")[1]
291- let an = invoke(o(), "issueArtefact", [au, b], nil)
292- if ((an == an))
293- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
307+ let az = parseIntValue(split(av, "_")[1])
308+ let aq = invoke(n(), "issueFreeDuckling", [b, O, az], nil)
309+ if ((aq == aq))
310+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
294311 else throw("Strict value is not equal to itself.")
295312 }
296- else throw("RFB: Some error occured, please contact the admins!")
297- (ar ++ [StringEntry((((("address_" + b) + "_initTx_") + af) + "_win"), aq), StringEntry((((("address_" + b) + "_initTx_") + af) + "_status"), "finish")])
313+ else if ((indexOf(av, "item") != unit))
314+ then {
315+ let aA = split(av, "_")[1]
316+ let aq = invoke(p(), "issueArtefact", [aA, b], nil)
317+ if ((aq == aq))
318+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
319+ else throw("Strict value is not equal to itself.")
320+ }
321+ else throw("RFB: Some error occured, please contact the admins!")
322+ (aw ++ [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_win"), av), StringEntry((((("address_" + b) + "_initTx_") + ai) + "_status"), "finish")])
298323 }
299324 }
300325
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = {
55 let d = getString(b, c)
66 if ($isInstanceOf(d, "String"))
77 then {
88 let e = d
99 e
1010 }
1111 else ""
1212 }
1313
1414
15-func f (c) = a(this, c)
15+func f (b,c) = {
16+ let d = getInteger(b, c)
17+ if ($isInstanceOf(d, "Int"))
18+ then {
19+ let e = d
20+ e
21+ }
22+ else throw("RTGIE: Something went wrong")
23+ }
1624
1725
18-let g = 2
19-
20-func h () = Address(fromBase58String(f("static_oracleAddress")))
26+func g (c) = a(this, c)
2127
2228
23-func i () = fromBase58String(a(h(), "static_eggAssetId"))
29+let h = 2
30+
31+func i () = Address(fromBase58String(g("static_oracleAddress")))
2432
2533
26-func j () = Address(fromBase58String(a(h(), "static_incubatorAddress")))
34+func j () = fromBase58String(a(i(), "static_eggAssetId"))
2735
2836
29-func k () = Address(fromBase58String(a(h(), "static_breederAddress")))
37+func k () = Address(fromBase58String(a(i(), "static_incubatorAddress")))
3038
3139
32-func l () = Address(fromBase58String(a(h(), "static_farmingAddress")))
40+func l () = Address(fromBase58String(a(i(), "static_breederAddress")))
3341
3442
35-func m () = Address(fromBase58String(a(h(), "static_babyDuckAddress")))
43+func m () = Address(fromBase58String(a(i(), "static_farmingAddress")))
3644
3745
38-func n () = Address(fromBase58String(a(h(), "static_gameDappAddress")))
46+func n () = Address(fromBase58String(a(i(), "static_babyDuckAddress")))
3947
4048
41-func o () = Address(fromBase58String(a(h(), "static_itemsAddress")))
49+func o () = Address(fromBase58String(a(i(), "static_gameDappAddress")))
4250
4351
44-func p () = Address(fromBase58String(a(h(), "static_couponsAddress")))
52+func p () = Address(fromBase58String(a(i(), "static_itemsAddress")))
4553
4654
47-let q = 1000
55+func q () = Address(fromBase58String(a(i(), "static_couponsAddress")))
4856
49-func r (c) = {
57+
58+func r () = Address(fromBase58String(a(i(), "static_metaRaceAddress")))
59+
60+
61+func s () = Address(fromBase58String(a(i(), "static_huntAddress")))
62+
63+
64+let t = 1000
65+
66+func u (c) = {
5067 let d = getInteger(this, c)
5168 if ($isInstanceOf(d, "Int"))
5269 then {
53- let s = d
54- s
70+ let v = d
71+ v
5572 }
5673 else 0
5774 }
5875
5976
60-func t (u) = {
61- let d = u
77+func w (x) = {
78+ let d = x
6279 if ($isInstanceOf(d, "String"))
6380 then {
64- let v = d
65- v
81+ let y = d
82+ y
6683 }
6784 else if ($isInstanceOf(d, "Int"))
6885 then {
69- let v = d
86+ let y = d
7087 throw("wrong type, expected: String, got: Int")
7188 }
7289 else if ($isInstanceOf(d, "Unit"))
7390 then {
74- let v = d
91+ let y = d
7592 throw("wrong type, expected: String, got: Unit")
7693 }
7794 else throw("wrong type, expected: String")
7895 }
7996
8097
81-let w = r("currentPrice")
98+let z = u("currentPrice")
8299
83-func x (y) = if (contains(y, "0"))
100+func A (B) = if (contains(B, "0"))
84101 then ""
85- else y
102+ else B
86103
87104
88-func z (A) = if ((A == "G"))
89- then j()
90- else k()
105+func C (D) = if ((D == "G"))
106+ then k()
107+ else l()
91108
92109
93-func B (C,A) = {
94- let D = getIntegerValue(z(A), (("stats_" + C) + "_quantity"))
95- let E = pow((10000 / D), 4, 5, 1, 2, FLOOR)
96- if ((E > 0))
97- then E
110+func E (F,D) = {
111+ let G = getIntegerValue(C(D), (("stats_" + F) + "_quantity"))
112+ let H = pow((10000 / G), 4, 5, 1, 2, FLOOR)
113+ if ((H > 0))
114+ then H
98115 else 2
99116 }
100117
101118
102-func F (G) = if (if ((value(assetInfo(G)).issuer == k()))
119+func I (J) = if (if ((value(assetInfo(J)).issuer == l()))
103120 then true
104- else (value(assetInfo(G)).issuer == j()))
121+ else (value(assetInfo(J)).issuer == k()))
105122 then {
106- let H = value(assetInfo(G)).name
107- let A = take(takeRight(H, 2), 1)
108- let I = t(invoke(k(), "getGenFromName", [H], nil))
109- if ((I == I))
110- then $Tuple2(I, B(I, A))
123+ let K = value(assetInfo(J)).name
124+ let D = take(takeRight(K, 2), 1)
125+ let L = w(invoke(l(), "getGenFromName", [K], nil))
126+ if ((L == L))
127+ then $Tuple2(L, E(L, D))
111128 else throw("Strict value is not equal to itself.")
112129 }
113130 else throw("not valid NFT")
114131
115132
116-func J (K,L,M,N) = {
117- let O = value(blockInfoByHeight((M - 1)))
118- let P = sha256((L + value(O.vrf)))
119- (toInt(P, (N * 8)) % K)
133+func M (N,O,P,Q) = {
134+ let R = value(blockInfoByHeight((P - 1)))
135+ let S = sha256((O + value(R.vrf)))
136+ (toInt(S, (Q * 8)) % N)
120137 }
121138
122139
123-func Q (R,S,T) = {
124- let U = (q - fraction((q / 2), T, 100))
125- let V = J(U, R, S, 1)
126- let W = J(U, R, S, 2)
127- if ((V == 1))
140+func T (U,V,W) = {
141+ let X = (t - fraction((t / 2), W, 100))
142+ let Y = M(X, U, V, 1)
143+ let Z = M(X, U, V, 2)
144+ if ((Y == 1))
128145 then "phoenix"
129- else if ((W == 1))
146+ else if ((Z == 1))
130147 then "item_ART-FREEGENE"
131148 else {
132- let X = J(1000, R, S, 0)
133- if ((145 > X))
149+ let aa = M(1000, U, V, 0)
150+ if ((195 > aa))
134151 then "duckling_20"
135- else if ((195 > X))
152+ else if ((295 > aa))
136153 then "duckling_40"
137- else if ((200 > X))
154+ else if ((300 > aa))
138155 then "duckling_80"
139- else if ((300 > X))
156+ else if ((400 > aa))
140157 then "incubator"
141- else if ((400 > X))
158+ else if ((500 > aa))
142159 then "perch_Y"
143- else if ((500 > X))
160+ else if ((600 > aa))
144161 then "perch_G"
145- else if ((600 > X))
162+ else if ((700 > aa))
146163 then "perch_B"
147- else if ((700 > X))
164+ else if ((800 > aa))
148165 then "perch_R"
149- else if ((849 > X))
150- then "mantle_2"
151- else if ((850 > X))
152- then "mantle_40"
153- else if ((930 > X))
154- then "mantle_3"
155- else if ((980 > X))
156- then "mantle_5"
157- else "mantle_10"
166+ else if ((900 > aa))
167+ then "ar"
168+ else "meta"
158169 }
159170 }
160171
161172
162-func Y (G) = {
163- let H = value(assetInfo(G)).name
164- let A = take(takeRight(H, 2), 1)
165- if (if ((A == "G"))
173+func ab (J) = {
174+ let K = value(assetInfo(J)).name
175+ let D = take(takeRight(K, 2), 1)
176+ if (if ((D == "G"))
166177 then true
167- else (A == "J"))
168- then j()
169- else k()
178+ else (D == "J"))
179+ then k()
180+ else l()
170181 }
171182
172183
173-func Z (u) = {
174- let d = u
184+func ac (x) = {
185+ let d = x
175186 if ($isInstanceOf(d, "Int"))
176187 then {
177- let aa = d
178- aa
188+ let ad = d
189+ ad
179190 }
180191 else if ($isInstanceOf(d, "String"))
181192 then {
182- let ab = d
183- throw(("RAI: wrong type, expected: Int, but got: " + ab))
193+ let ae = d
194+ throw(("RAI: wrong type, expected: Int, but got: " + ae))
184195 }
185196 else throw("RAI: wrong type, expected: Int")
186197 }
187198
188199
189-@Callable(ac)
190-func configureOracle (ad) = if ((ac.caller != this))
200+@Callable(af)
201+func configureOracle (ag) = if ((af.caller != this))
191202 then throw("RCU: admin only")
192- else [StringEntry("static_oracleAddress", ad)]
203+ else [StringEntry("static_oracleAddress", ag)]
193204
194205
195206
196-@Callable(ac)
207+@Callable(af)
197208 func initRebirth () = {
198- let ae = ac.payments[0]
199- let G = value(ae.assetId)
200- let af = toBase58String(ac.transactionId)
201- let b = toString(ac.caller)
202- if ((ae.amount != 1))
209+ let ah = af.payments[0]
210+ let J = value(ah.assetId)
211+ let ai = toBase58String(af.transactionId)
212+ let b = toString(af.caller)
213+ if ((ah.amount != 1))
203214 then throw("NFT is not attached")
204215 else {
205- let ag = Z(invoke(p(), "useCoupons", [w], nil))
206- if ((ag == ag))
216+ let aj = ac(invoke(q(), "useCoupons", [z], nil))
217+ if ((aj == aj))
207218 then {
208- let ah = (w - ag)
209- let ai = if ((ah != 0))
219+ let ak = (z - aj)
220+ let al = if ((ak != 0))
210221 then {
211- let aj = value(ac.payments[1])
212- if ((aj.assetId != i()))
222+ let am = value(af.payments[1])
223+ if ((am.assetId != j()))
213224 then throw("You need to attach EGG tokens as fee")
214- else if ((ah > aj.amount))
215- then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(ah)))
216- else ah
225+ else if ((ak > am.amount))
226+ then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(ak)))
227+ else ak
217228 }
218229 else 0
219- if ((ai == ai))
230+ if ((al == al))
220231 then {
221- let ak = F(G)
222- let al = ak._1
223- let am = ak._2
224- let an = invoke(Y(G), "reduceRarity", [toBase58String(G), al], nil)
225- if ((an == an))
226- then [IntegerEntry((((("address_" + b) + "_initTx_") + af) + "_finishBlock"), (height + g)), StringEntry((((("address_" + b) + "_initTx_") + af) + "_status"), "open"), IntegerEntry((((("address_" + b) + "_initTx_") + af) + "_assetRarity"), am), StringEntry((((("address_" + b) + "_initTx_") + af) + "_assetId"), toBase58String(G))]
232+ let an = I(J)
233+ let ao = an._1
234+ let ap = an._2
235+ let aq = invoke(ab(J), "reduceRarity", [toBase58String(J), ao], nil)
236+ if ((aq == aq))
237+ then [IntegerEntry((((("address_" + b) + "_initTx_") + ai) + "_finishBlock"), (height + h)), StringEntry((((("address_" + b) + "_initTx_") + ai) + "_status"), "open"), IntegerEntry((((("address_" + b) + "_initTx_") + ai) + "_assetRarity"), ap), StringEntry((((("address_" + b) + "_initTx_") + ai) + "_assetId"), toBase58String(J))]
227238 else throw("Strict value is not equal to itself.")
228239 }
229240 else throw("Strict value is not equal to itself.")
230241 }
231242 else throw("Strict value is not equal to itself.")
232243 }
233244 }
234245
235246
236247
237-@Callable(ac)
238-func finishRebirth (af) = {
239- let b = toString(ac.caller)
240- let ao = r((((("address_" + b) + "_initTx_") + af) + "_finishBlock"))
241- let T = r((((("address_" + b) + "_initTx_") + af) + "_assetRarity"))
242- let ap = f((((("address_" + b) + "_initTx_") + af) + "_status"))
243- if ((ap != "open"))
248+@Callable(af)
249+func finishRebirth (ai) = {
250+ let b = toString(af.caller)
251+ let ar = u((((("address_" + b) + "_initTx_") + ai) + "_finishBlock"))
252+ let W = u((((("address_" + b) + "_initTx_") + ai) + "_assetRarity"))
253+ let as = g((((("address_" + b) + "_initTx_") + ai) + "_status"))
254+ func at (b) = fromBase58String(a(b, "static_accessItemAssetId"))
255+
256+ func au (b) = f(b, "static_accessItemPrice")
257+
258+ if ((as != "open"))
244259 then throw("rebirth is finished or not open")
245- else if ((ao > height))
260+ else if ((ar > height))
246261 then throw("you cannot finish rebirth, yet")
247262 else {
248- let aq = Q(fromBase58String(af), ao, T)
249- let L = af
250- let ar = if ((indexOf(aq, "perch") != unit))
263+ let av = T(fromBase58String(ai), ar, W)
264+ let O = ai
265+ let aw = if ((indexOf(av, "perch") != unit))
251266 then {
252- let as = takeRight(aq, 1)
253- let an = invoke(l(), "addFreePerch", [b, as], nil)
254- if ((an == an))
255- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
267+ let ax = takeRight(av, 1)
268+ let aq = invoke(m(), "addFreePerch", [b, ax], nil)
269+ if ((aq == aq))
270+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
256271 else throw("Strict value is not equal to itself.")
257272 }
258- else if ((aq == "incubator"))
273+ else if ((av == "incubator"))
259274 then {
260- let an = invoke(j(), "issueFreeDuck", [b, L], nil)
261- if ((an == an))
262- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
275+ let aq = invoke(k(), "issueFreeDuck", [b, O], nil)
276+ if ((aq == aq))
277+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
263278 else throw("Strict value is not equal to itself.")
264279 }
265- else if ((aq == "phoenix"))
280+ else if ((av == "ar"))
266281 then {
267- let an = invoke(j(), "issueJackpot", [b, L, "WWWWWWWP"], nil)
268- if ((an == an))
269- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
282+ let J = at(s())
283+ let ay = au(s())
284+ let aq = invoke(s(), "buyAccessItemOther", [b, O], [AttachedPayment(J, ay)])
285+ if ((aq == aq))
286+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
270287 else throw("Strict value is not equal to itself.")
271288 }
272- else if ((indexOf(aq, "duckling") != unit))
289+ else if ((av == "meta"))
273290 then {
274- let at = parseIntValue(split(aq, "_")[1])
275- let an = invoke(m(), "issueFreeDuckling", [b, L, at], nil)
276- if ((an == an))
277- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
291+ let J = at(r())
292+ let ay = au(r())
293+ let aq = invoke(r(), "buyAccessItemOther", [b, O], [AttachedPayment(J, ay)])
294+ if ((aq == aq))
295+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
278296 else throw("Strict value is not equal to itself.")
279297 }
280- else if ((indexOf(aq, "mantle") != unit))
298+ else if ((av == "phoenix"))
281299 then {
282- let at = parseIntValue(split(aq, "_")[1])
283- let an = invoke(n(), "issueFreeMantle", [b, "mantle", at], nil)
284- if ((an == an))
285- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
300+ let aq = invoke(k(), "issueJackpot", [b, O, "WWWWWWWP"], nil)
301+ if ((aq == aq))
302+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
286303 else throw("Strict value is not equal to itself.")
287304 }
288- else if ((indexOf(aq, "item") != unit))
305+ else if ((indexOf(av, "duckling") != unit))
289306 then {
290- let au = split(aq, "_")[1]
291- let an = invoke(o(), "issueArtefact", [au, b], nil)
292- if ((an == an))
293- then [StringEntry((((("address_" + b) + "_initTx_") + af) + "_result"), t(an))]
307+ let az = parseIntValue(split(av, "_")[1])
308+ let aq = invoke(n(), "issueFreeDuckling", [b, O, az], nil)
309+ if ((aq == aq))
310+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
294311 else throw("Strict value is not equal to itself.")
295312 }
296- else throw("RFB: Some error occured, please contact the admins!")
297- (ar ++ [StringEntry((((("address_" + b) + "_initTx_") + af) + "_win"), aq), StringEntry((((("address_" + b) + "_initTx_") + af) + "_status"), "finish")])
313+ else if ((indexOf(av, "item") != unit))
314+ then {
315+ let aA = split(av, "_")[1]
316+ let aq = invoke(p(), "issueArtefact", [aA, b], nil)
317+ if ((aq == aq))
318+ then [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_result"), w(aq))]
319+ else throw("Strict value is not equal to itself.")
320+ }
321+ else throw("RFB: Some error occured, please contact the admins!")
322+ (aw ++ [StringEntry((((("address_" + b) + "_initTx_") + ai) + "_win"), av), StringEntry((((("address_" + b) + "_initTx_") + ai) + "_status"), "finish")])
298323 }
299324 }
300325
301326

github/deemru/w8io/3ef1775 
109.38 ms