tx · 6qPTFVCgFHMjmDwkrG3qnJasyeaFRej41oXSnTKtuXnr

3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG:  -0.01400000 Waves

2022.05.19 15:37 [2058560] smart account 3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG > SELF 0.00000000 Waves

{ "type": 13, "id": "6qPTFVCgFHMjmDwkrG3qnJasyeaFRej41oXSnTKtuXnr", "fee": 1400000, "feeAssetId": null, "timestamp": 1652963900636, "version": 2, "chainId": 84, "sender": "3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG", "senderPublicKey": "A5uPpc5KS7DgroqteAzwUgULhnPuQKdsgxYXJMyji3j8", "proofs": [ "2TsthUfbJ3ssmru9JHk9yEL8oPPRg2HJGQCFKK1udDsryanYJYqYaW86rDFosHkr21nB1bFt6UwFWVP8oTTh7f39" ], "script": "base64:AAIFAAAAAAAAABEIAhIAEgQKAgQIEgASAwoBAQAAACsAAAAACXNlcGFyYXRvcgIAAAABXwAAAAAIREVWX01PREUGAAAAAAl0b2tlbk5hbWUCAAAABkNvdWNvdQAAAAAJdG9rZW5EZXNjAgAAAAdibGEgYmxhAAAAABh0b2tlbkluaXRpYWxFbWlzc2lvblJhdGUAAAAAAAX14QAAAAAAEmxhbmRzSW5pdGlhbEFtb3VudAAAAAAAAAAABgAAAAAbYXBwZWFyYW5jZUluaXRpYWxCb2R5QW1vdW50AAAAAAAAAAAFAAAAABthcHBlYXJhbmNlSW5pdGlhbEV5ZXNBbW91bnQAAAAAAAAAAAUAAAAAHGFwcGVhcmFuY2VJbml0aWFsTW91dGhBbW91bnQAAAAAAAAAAAUAAAAAF3Jhbmdlc0luaXRpYWxTdGF0c1RpZXJzAgAAAB40NTAwXzc1MDBfOTAwMF85NzUwXzk5OTBfMTAwMDAAAAAAGHJhbmdlc0luaXRpYWxOYXR1cmFsRWxlbQIAAAAcNDAwXzEwMDBfMTQwMF8xNjAwXzE3NTBfMjAwMAAAAAAecmFuZ2VzSW5pdGlhbE5hdHVyYWxHZW5lcmF0aW5nAgAAABcyMDBfMzAwXzM3NV80MjVfNDUwXzUwMAAAAAAacmFuZ2VzSW5pdGlhbE5hdHVyYWxCYXR0bGUCAAAAHTIwMDBfMzAwMF8zNzUwXzQyNTBfNDUwMF81MDAwAAAAABBiYXR0bGVSZXN0UGVyaW9kAAAAAAAAAAAAAAAAABZiYXR0bGVXaW5DaGFuY2VIYXJkY2FwAAAAAAAADDUAAAAAABtiYXR0bGVXaW5DaGFuY2VJbmNyUGVyQmxvY2sAAAAAAAAAAGQAAAAAFWJhdHRsZUxvb3RSYXJpdHlSYW5nZQIAAAAUODAwMF85NTAwXzk5OTBfMTAwMDAAAAAAD2l0ZW1zQ2F0ZWdvcmllcwAAAAAAAAAAAwAAAAAQaXRlbXNUeXBlc1BlckNhdAIAAAAFNl80XzMAAAAADGl0ZW1zRWZmZWN0cwAAAAAAAAAAIAAAAAAUaXRlbXNFZmZlY3RzTWF4UmFuZ2UJAAS5AAAAAgkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAABDIwMDAJAARMAAAAAgIAAAAEMjAwMAkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAABDIwMDAJAARMAAAAAgIAAAAEMjAwMAkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAABDIwMDAJAARMAAAAAgIAAAAEMjAwMAkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAABDIwMDAJAARMAAAAAgIAAAAEMjAwMAkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAABDIwMDAJAARMAAAAAgIAAAAEMjAwMAkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAAAzUwMAkABEwAAAACAgAAAAM1MDAJAARMAAAAAgIAAAADNTAwCQAETAAAAAICAAAAAzUwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAADMTAwCQAETAAAAAICAAAAAzEwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAADMTAwCQAETAAAAAICAAAAAzEwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAADMTAwCQAETAAAAAICAAAAAzEwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAADMTAwCQAETAAAAAICAAAAAzEwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAADMTAwCQAETAAAAAICAAAAAzEwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAACMjUJAARMAAAAAgIAAAACMjUFAAAAA25pbAUAAAAJc2VwYXJhdG9yAAAAABVrZXlFY29zeXN0ZW1BZGRyZXNzZXMCAAAAE2Vjb3N5c3RlbV9hZGRyZXNzZXMAAAAACmtleVRva2VuSWQCAAAACHRva2VuX2lkAAAAABRrZXlUb2tlbkVtaXNzaW9uUmF0ZQIAAAATdG9rZW5fZW1pc3Npb25fcmF0ZQAAAAARa2V5VG9rZW5HZW5lcmF0ZWQCAAAAD3Rva2VuX2dlbmVyYXRlZAAAAAAba2V5VG9rZW5HZW5lcmF0ZWRMYXN0VXBkYXRlAgAAABt0b2tlbl9nZW5lcmF0ZWRfbGFzdF91cGRhdGUAAAAAEmtleUNoYXJzQm9keUFtb3VudAIAAAARY2hhcnNfYm9keV9hbW91bnQAAAAAEmtleUNoYXJzRXllc0Ftb3VudAIAAAARY2hhcnNfZXllc19hbW91bnQAAAAAE2tleUNoYXJzTW91dGhBbW91bnQCAAAAEmNoYXJzX21vdXRoX2Ftb3VudAAAAAAYa2V5Q2hhcnNTdGF0c1RpZXJzUmFuZ2VzAgAAABhjaGFyc19zdGF0c190aWVyc19yYW5nZXMAAAAAHmtleUNoYXJzTmF0dXJhbEVsZW1Cb251c1JhbmdlcwIAAAAfY2hhcnNfbmF0dXJhbF9lbGVtX2JvbnVzX3JhbmdlcwAAAAAga2V5Q2hhcnNOYXR1cmFsQmF0dGxlQm9udXNSYW5nZXMCAAAAIWNoYXJzX25hdHVyYWxfYmF0dGxlX2JvbnVzX3JhbmdlcwAAAAAka2V5Q2hhcnNOYXR1cmFsR2VuZXJhdGluZ0JvbnVzUmFuZ2VzAgAAACVjaGFyc19uYXR1cmFsX2dlbmVyYXRpbmdfYm9udXNfcmFuZ2VzAAAAAA1rZXlUb3RhbExhbmRzAgAAAAt0b3RhbF9sYW5kcwAAAAATa2V5QmF0dGxlUmVzdFBlcmlvZAIAAAASYmF0dGxlX3Jlc3RfcGVyaW9kAAAAABlrZXlCYXR0bGVXaW5DaGFuY2VIYXJkY2FwAgAAABliYXR0bGVfd2luX2NoYW5jZV9oYXJkY2FwAAAAAB5rZXlCYXR0bGVXaW5DaGFuY2VJbmNyUGVyQmxvY2sCAAAAIGJhdHRsZV93aW5fY2hhbmNlX2luY3JfcGVyX2Jsb2NrAAAAABlrZXlCYXR0bGVMb290UmFyaXR5UmFuZ2VzAgAAABliYXR0bGVfbG9vdF9yYXJpdHlfcmFuZ2VzAAAAABJrZXlJdGVtc0NhdGVnb3JpZXMCAAAAEGl0ZW1zX2NhdGVnb3JpZXMAAAAAE2tleUl0ZW1zVHlwZXNQZXJDYXQCAAAAE2l0ZW1zX3R5cGVzX3Blcl9jYXQAAAAAD2tleUl0ZW1zRWZmZWN0cwIAAAANaXRlbXNfZWZmZWN0cwAAAAAYa2V5aXRlbXNFZmZlY3RzTWF4UmFuZ2VzAgAAABdpdGVtc19lZmZlY3RzX21heF9yYW5nZQEAAAAOZWNvc3lzdGVtQ2hlY2sAAAABAAAABmNhbGxlcgMJAQAAAAIhPQAAAAIJAQAAAAhjb250YWlucwAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAAFWtleUVjb3N5c3RlbUFkZHJlc3NlcwkAAlgAAAABCAUAAAAGY2FsbGVyAAAABWJ5dGVzBgkAAAIAAAABAgAAAA5BY2Nlc3MgZGVuaWVkIAYAAAAEAAAAAWkBAAAABGluaXQAAAAAAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAADEFjY2VzIGRlbmllZAMDCQEAAAACIT0AAAACCQAEHgAAAAEFAAAABHRoaXMGCQEAAAACIT0AAAACBQAAAAhERVZfTU9ERQYHCQAAAgAAAAECAAAAEUluaXQgZG9uZSBhbHJlYWR5BAAAAAp0b2tlbklzc3VlCQAEQgAAAAUFAAAACXRva2VuTmFtZQUAAAAJdG9rZW5EZXNjAAAAAAAAAAABAAAAAAAAAAAIBgQAAAAHdG9rZW5JZAkABDgAAAABBQAAAAp0b2tlbklzc3VlCQAETAAAAAIFAAAACnRva2VuSXNzdWUJAARMAAAAAgkBAAAAC0JpbmFyeUVudHJ5AAAAAgUAAAAKa2V5VG9rZW5JZAUAAAAHdG9rZW5JZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAUa2V5VG9rZW5FbWlzc2lvblJhdGUFAAAAGHRva2VuSW5pdGlhbEVtaXNzaW9uUmF0ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARa2V5VG9rZW5HZW5lcmF0ZWQAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAG2tleVRva2VuR2VuZXJhdGVkTGFzdFVwZGF0ZQUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAFWtleUVjb3N5c3RlbUFkZHJlc3NlcwkABCUAAAABBQAAAAR0aGlzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUb3RhbExhbmRzBQAAABJsYW5kc0luaXRpYWxBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleUNoYXJzQm9keUFtb3VudAUAAAAbYXBwZWFyYW5jZUluaXRpYWxCb2R5QW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlDaGFyc0V5ZXNBbW91bnQFAAAAG2FwcGVhcmFuY2VJbml0aWFsRXllc0Ftb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAATa2V5Q2hhcnNNb3V0aEFtb3VudAUAAAAcYXBwZWFyYW5jZUluaXRpYWxNb3V0aEFtb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABhrZXlDaGFyc1N0YXRzVGllcnNSYW5nZXMFAAAAF3Jhbmdlc0luaXRpYWxTdGF0c1RpZXJzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAHmtleUNoYXJzTmF0dXJhbEVsZW1Cb251c1JhbmdlcwUAAAAYcmFuZ2VzSW5pdGlhbE5hdHVyYWxFbGVtCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAJGtleUNoYXJzTmF0dXJhbEdlbmVyYXRpbmdCb251c1JhbmdlcwUAAAAecmFuZ2VzSW5pdGlhbE5hdHVyYWxHZW5lcmF0aW5nCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAIGtleUNoYXJzTmF0dXJhbEJhdHRsZUJvbnVzUmFuZ2VzBQAAABpyYW5nZXNJbml0aWFsTmF0dXJhbEJhdHRsZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAATa2V5QmF0dGxlUmVzdFBlcmlvZAUAAAAQYmF0dGxlUmVzdFBlcmlvZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAZa2V5QmF0dGxlV2luQ2hhbmNlSGFyZGNhcAUAAAAWYmF0dGxlV2luQ2hhbmNlSGFyZGNhcAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAea2V5QmF0dGxlV2luQ2hhbmNlSW5jclBlckJsb2NrBQAAABtiYXR0bGVXaW5DaGFuY2VJbmNyUGVyQmxvY2sJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAZa2V5QmF0dGxlTG9vdFJhcml0eVJhbmdlcwUAAAAVYmF0dGxlTG9vdFJhcml0eVJhbmdlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlJdGVtc0NhdGVnb3JpZXMFAAAAD2l0ZW1zQ2F0ZWdvcmllcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABNrZXlJdGVtc1R5cGVzUGVyQ2F0BQAAABBpdGVtc1R5cGVzUGVyQ2F0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlJdGVtc0VmZmVjdHMFAAAADGl0ZW1zRWZmZWN0cwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABhrZXlpdGVtc0VmZmVjdHNNYXhSYW5nZXMFAAAAFGl0ZW1zRWZmZWN0c01heFJhbmdlBQAAAANuaWwAAAABaQEAAAAYbWFuYWdlRWNvc3lzdGVtQWRkcmVzc2VzAAAAAgAAAANhZGQAAAAEYWRkcgMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAAAxBY2NlcyBkZW5pZWQEAAAABW1BZGRyBAAAAAckbWF0Y2gwCQAEJgAAAAEFAAAABGFkZHIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0FkZHJlc3MEAAAABmlzQWRkcgUAAAAHJG1hdGNoMAUAAAAEYWRkcgkAAAIAAAABAgAAAA5Ob3QgYW4gYWRkcmVzcwQAAAAOY3VycmVudEVjb0FkZHIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAAFWtleUVjb3N5c3RlbUFkZHJlc3NlcwQAAAAKYWRkckluTGlzdAkBAAAACGNvbnRhaW5zAAAAAgUAAAAOY3VycmVudEVjb0FkZHIFAAAABW1BZGRyAwMJAAAAAAAAAgUAAAADYWRkBgkAAAAAAAACBQAAAAphZGRySW5MaXN0BgcJAAACAAAAAQIAAAAbQWRkcmVzcyBhbHJlYWR5IGluIHRoZSBsaXN0AwMJAAAAAAAAAgUAAAADYWRkBwkAAAAAAAACBQAAAAphZGRySW5MaXN0BwcJAAACAAAAAQIAAAAfQWRkcmVzcyBub3QgaW4gdGhlIGxpc3QgYWxyZWFkeQQAAAAKbmV3RWNvQWRkcgMJAAAAAAAAAgUAAAADYWRkBgkAASwAAAACCQABLAAAAAIFAAAADmN1cnJlbnRFY29BZGRyBQAAAAlzZXBhcmF0b3IFAAAABW1BZGRyBAAAAAtlY29BZGRyTGlzdAkABLUAAAACBQAAAA5jdXJyZW50RWNvQWRkcgUAAAAJc2VwYXJhdG9yBAAAAAlhZGRySW5kZXgJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABE8AAAACBQAAAAtlY29BZGRyTGlzdAUAAAAFbUFkZHICAAAAD1Vua25vd24gYWRkcmVzcwkABLkAAAACCQAEUQAAAAIFAAAAC2Vjb0FkZHJMaXN0BQAAAAlhZGRySW5kZXgFAAAACXNlcGFyYXRvcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABVrZXlFY29zeXN0ZW1BZGRyZXNzZXMFAAAACm5ld0Vjb0FkZHIFAAAAA25pbAAAAAFpAQAAABRnZXRHZW5lcmF0ZWRTdXBwbGllcwAAAAADCQEAAAACIT0AAAACCQEAAAAOZWNvc3lzdGVtQ2hlY2sAAAABCAUAAAABaQAAAAZjYWxsZXIGCQEAAAAFdGhyb3cAAAAABAAAABhjdXJyZW50R2VuZXJhdGVkU3VwcGxpZXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAEWtleVRva2VuR2VuZXJhdGVkBAAAAApoZWlnaHREaWZmCQAAZQAAAAIFAAAABmhlaWdodAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAba2V5VG9rZW5HZW5lcmF0ZWRMYXN0VXBkYXRlBAAAABRuZXdHZW5lcmF0ZWRTdXBwbGllcwkAAGQAAAACBQAAABhjdXJyZW50R2VuZXJhdGVkU3VwcGxpZXMJAABoAAAAAgUAAAAKaGVpZ2h0RGlmZgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAUa2V5VG9rZW5FbWlzc2lvblJhdGUDCQAAZgAAAAIFAAAAGGN1cnJlbnRHZW5lcmF0ZWRTdXBwbGllcwUAAAAUbmV3R2VuZXJhdGVkU3VwcGxpZXMJAAACAAAAAQIAAAAvbmV3R2VuZXJhdGVkU3VwcGxpZXMgPCBjdXJyZW50R2VuZXJhdGVkU3VwcGxpZXMDCQAAZgAAAAIAAAAAAAAAAAAFAAAACmhlaWdodERpZmYJAAACAAAAAQIAAAAOaGVpZ2h0RGlmZiA8IDAJAAUUAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARa2V5VG9rZW5HZW5lcmF0ZWQFAAAAFG5ld0dlbmVyYXRlZFN1cHBsaWVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABtrZXlUb2tlbkdlbmVyYXRlZExhc3RVcGRhdGUFAAAABmhlaWdodAUAAAADbmlsBQAAABRuZXdHZW5lcmF0ZWRTdXBwbGllcwAAAAFpAQAAAA9zZW5kVG9rZW5zdG9BcHAAAAABAAAABmFtb3VudAMJAQAAAAIhPQAAAAIJAQAAAA5lY29zeXN0ZW1DaGVjawAAAAEIBQAAAAFpAAAABmNhbGxlcgYJAQAAAAV0aHJvdwAAAAAEAAAAB3Rva2VuSWQJAQAAABFAZXh0ck5hdGl2ZSgxMDUyKQAAAAIFAAAABHRoaXMFAAAACmtleVRva2VuSWQEAAAADHRva2VuUmVpc3N1ZQkBAAAAB1JlaXNzdWUAAAADBQAAAAd0b2tlbklkBQAAAAZhbW91bnQGCQAFFAAAAAIJAARMAAAAAgUAAAAMdG9rZW5SZWlzc3VlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGYW1vdW50BQAAAAd0b2tlbklkBQAAAANuaWwFAAAABmFtb3VudAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V52ftpGQ==", "height": 2058560, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FK36WmgDfwSPewjSdsMDMcJ54zmBJkdNqurVAHhxXN8k Next: 6qL3BAEnYpNyaDhjZP9PEFuKsm3i6CzSdf2jihht3r4b Diff:
OldNewDifferences
2525
2626 let rangesInitialNaturalGenerating = "200_300_375_425_450_500"
2727
28-let rangesInitialNaturalBattle = "200_300_375_425_450_500"
28+let rangesInitialNaturalBattle = "2000_3000_3750_4250_4500_5000"
2929
3030 let battleRestPeriod = 0
3131
8686 let keyitemsEffectsMaxRanges = "items_effects_max_range"
8787
8888 func ecosystemCheck (caller) = if ((contains(getStringValue(this, keyEcosystemAddresses), toBase58String(caller.bytes)) != true))
89- then throw(("Access denied " + toBase58String(caller.bytes)))
89+ then throw("Access denied ")
9090 else true
9191
9292
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let separator = "_"
55
66 let DEV_MODE = true
77
88 let tokenName = "Coucou"
99
1010 let tokenDesc = "bla bla"
1111
1212 let tokenInitialEmissionRate = 100000000
1313
1414 let landsInitialAmount = 6
1515
1616 let appearanceInitialBodyAmount = 5
1717
1818 let appearanceInitialEyesAmount = 5
1919
2020 let appearanceInitialMouthAmount = 5
2121
2222 let rangesInitialStatsTiers = "4500_7500_9000_9750_9990_10000"
2323
2424 let rangesInitialNaturalElem = "400_1000_1400_1600_1750_2000"
2525
2626 let rangesInitialNaturalGenerating = "200_300_375_425_450_500"
2727
28-let rangesInitialNaturalBattle = "200_300_375_425_450_500"
28+let rangesInitialNaturalBattle = "2000_3000_3750_4250_4500_5000"
2929
3030 let battleRestPeriod = 0
3131
3232 let battleWinChanceHardcap = 800000
3333
3434 let battleWinChanceIncrPerBlock = 100
3535
3636 let battleLootRarityRange = "8000_9500_9990_10000"
3737
3838 let itemsCategories = 3
3939
4040 let itemsTypesPerCat = "6_4_3"
4141
4242 let itemsEffects = 32
4343
4444 let itemsEffectsMaxRange = makeString(["2000", "2000", "2000", "2000", "2000", "2000", "2000", "2000", "2000", "2000", "2000", "2000", "2000", "2000", "2000", "2000", "500", "500", "500", "500", "100", "100", "100", "100", "100", "100", "100", "100", "100", "100", "100", "100", "100", "100", "100", "100", "25", "25"], separator)
4545
4646 let keyEcosystemAddresses = "ecosystem_addresses"
4747
4848 let keyTokenId = "token_id"
4949
5050 let keyTokenEmissionRate = "token_emission_rate"
5151
5252 let keyTokenGenerated = "token_generated"
5353
5454 let keyTokenGeneratedLastUpdate = "token_generated_last_update"
5555
5656 let keyCharsBodyAmount = "chars_body_amount"
5757
5858 let keyCharsEyesAmount = "chars_eyes_amount"
5959
6060 let keyCharsMouthAmount = "chars_mouth_amount"
6161
6262 let keyCharsStatsTiersRanges = "chars_stats_tiers_ranges"
6363
6464 let keyCharsNaturalElemBonusRanges = "chars_natural_elem_bonus_ranges"
6565
6666 let keyCharsNaturalBattleBonusRanges = "chars_natural_battle_bonus_ranges"
6767
6868 let keyCharsNaturalGeneratingBonusRanges = "chars_natural_generating_bonus_ranges"
6969
7070 let keyTotalLands = "total_lands"
7171
7272 let keyBattleRestPeriod = "battle_rest_period"
7373
7474 let keyBattleWinChanceHardcap = "battle_win_chance_hardcap"
7575
7676 let keyBattleWinChanceIncrPerBlock = "battle_win_chance_incr_per_block"
7777
7878 let keyBattleLootRarityRanges = "battle_loot_rarity_ranges"
7979
8080 let keyItemsCategories = "items_categories"
8181
8282 let keyItemsTypesPerCat = "items_types_per_cat"
8383
8484 let keyItemsEffects = "items_effects"
8585
8686 let keyitemsEffectsMaxRanges = "items_effects_max_range"
8787
8888 func ecosystemCheck (caller) = if ((contains(getStringValue(this, keyEcosystemAddresses), toBase58String(caller.bytes)) != true))
89- then throw(("Access denied " + toBase58String(caller.bytes)))
89+ then throw("Access denied ")
9090 else true
9191
9292
9393 @Callable(i)
9494 func init () = if ((i.caller != this))
9595 then throw("Acces denied")
9696 else if (if ((isDataStorageUntouched(this) != true))
9797 then (DEV_MODE != true)
9898 else false)
9999 then throw("Init done already")
100100 else {
101101 let tokenIssue = Issue(tokenName, tokenDesc, 1, 8, true)
102102 let tokenId = calculateAssetId(tokenIssue)
103103 [tokenIssue, BinaryEntry(keyTokenId, tokenId), IntegerEntry(keyTokenEmissionRate, tokenInitialEmissionRate), IntegerEntry(keyTokenGenerated, 0), IntegerEntry(keyTokenGeneratedLastUpdate, height), StringEntry(keyEcosystemAddresses, toString(this)), IntegerEntry(keyTotalLands, landsInitialAmount), IntegerEntry(keyCharsBodyAmount, appearanceInitialBodyAmount), IntegerEntry(keyCharsEyesAmount, appearanceInitialEyesAmount), IntegerEntry(keyCharsMouthAmount, appearanceInitialMouthAmount), StringEntry(keyCharsStatsTiersRanges, rangesInitialStatsTiers), StringEntry(keyCharsNaturalElemBonusRanges, rangesInitialNaturalElem), StringEntry(keyCharsNaturalGeneratingBonusRanges, rangesInitialNaturalGenerating), StringEntry(keyCharsNaturalBattleBonusRanges, rangesInitialNaturalBattle), IntegerEntry(keyBattleRestPeriod, battleRestPeriod), IntegerEntry(keyBattleWinChanceHardcap, battleWinChanceHardcap), IntegerEntry(keyBattleWinChanceIncrPerBlock, battleWinChanceIncrPerBlock), StringEntry(keyBattleLootRarityRanges, battleLootRarityRange), IntegerEntry(keyItemsCategories, itemsCategories), StringEntry(keyItemsTypesPerCat, itemsTypesPerCat), IntegerEntry(keyItemsEffects, itemsEffects), StringEntry(keyitemsEffectsMaxRanges, itemsEffectsMaxRange)]
104104 }
105105
106106
107107
108108 @Callable(i)
109109 func manageEcosystemAddresses (add,addr) = if ((i.caller != this))
110110 then throw("Acces denied")
111111 else {
112112 let mAddr = match addressFromString(addr) {
113113 case isAddr: Address =>
114114 addr
115115 case _ =>
116116 throw("Not an address")
117117 }
118118 let currentEcoAddr = getStringValue(this, keyEcosystemAddresses)
119119 let addrInList = contains(currentEcoAddr, mAddr)
120120 if (if ((add == true))
121121 then (addrInList == true)
122122 else false)
123123 then throw("Address already in the list")
124124 else if (if ((add == false))
125125 then (addrInList == false)
126126 else false)
127127 then throw("Address not in the list already")
128128 else {
129129 let newEcoAddr = if ((add == true))
130130 then ((currentEcoAddr + separator) + mAddr)
131131 else {
132132 let ecoAddrList = split(currentEcoAddr, separator)
133133 let addrIndex = valueOrErrorMessage(indexOf(ecoAddrList, mAddr), "Unknown address")
134134 makeString(removeByIndex(ecoAddrList, addrIndex), separator)
135135 }
136136 [StringEntry(keyEcosystemAddresses, newEcoAddr)]
137137 }
138138 }
139139
140140
141141
142142 @Callable(i)
143143 func getGeneratedSupplies () = if ((ecosystemCheck(i.caller) != true))
144144 then throw()
145145 else {
146146 let currentGeneratedSupplies = getIntegerValue(this, keyTokenGenerated)
147147 let heightDiff = (height - getIntegerValue(this, keyTokenGeneratedLastUpdate))
148148 let newGeneratedSupplies = (currentGeneratedSupplies + (heightDiff * getIntegerValue(this, keyTokenEmissionRate)))
149149 if ((currentGeneratedSupplies > newGeneratedSupplies))
150150 then throw("newGeneratedSupplies < currentGeneratedSupplies")
151151 else if ((0 > heightDiff))
152152 then throw("heightDiff < 0")
153153 else $Tuple2([IntegerEntry(keyTokenGenerated, newGeneratedSupplies), IntegerEntry(keyTokenGeneratedLastUpdate, height)], newGeneratedSupplies)
154154 }
155155
156156
157157
158158 @Callable(i)
159159 func sendTokenstoApp (amount) = if ((ecosystemCheck(i.caller) != true))
160160 then throw()
161161 else {
162162 let tokenId = getBinaryValue(this, keyTokenId)
163163 let tokenReissue = Reissue(tokenId, amount, true)
164164 $Tuple2([tokenReissue, ScriptTransfer(i.caller, amount, tokenId)], amount)
165165 }
166166
167167
168168 @Verifier(tx)
169169 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
170170

github/deemru/w8io/169f3d6 
62.53 ms