tx · 2wNmN9E6iQtzZAuurahZzppr6yCUZAkLdjBXueJnJGWa

3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG:  -0.01400000 Waves

2022.05.19 14:51 [2058514] smart account 3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG > SELF 0.00000000 Waves

{ "type": 13, "id": "2wNmN9E6iQtzZAuurahZzppr6yCUZAkLdjBXueJnJGWa", "fee": 1400000, "feeAssetId": null, "timestamp": 1652961071161, "version": 2, "chainId": 84, "sender": "3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG", "senderPublicKey": "A5uPpc5KS7DgroqteAzwUgULhnPuQKdsgxYXJMyji3j8", "proofs": [ "4qvnZLtcsMyP77WBvY3bdrY9DW3c6ALCSRWmsAiokaC7cMd65jt9vsSmh6GrHmHnZmpm7QXFCCpw97mDM9kamEsN" ], "script": "base64:AAIFAAAAAAAAABEIAhIAEgQKAgQIEgASAwoBAQAAACsAAAAACXNlcGFyYXRvcgIAAAABXwAAAAAIREVWX01PREUGAAAAAAl0b2tlbk5hbWUCAAAABkNvdWNvdQAAAAAJdG9rZW5EZXNjAgAAAAdibGEgYmxhAAAAABh0b2tlbkluaXRpYWxFbWlzc2lvblJhdGUAAAAAAAX14QAAAAAAEmxhbmRzSW5pdGlhbEFtb3VudAAAAAAAAAAABgAAAAAbYXBwZWFyYW5jZUluaXRpYWxCb2R5QW1vdW50AAAAAAAAAAAFAAAAABthcHBlYXJhbmNlSW5pdGlhbEV5ZXNBbW91bnQAAAAAAAAAAAUAAAAAHGFwcGVhcmFuY2VJbml0aWFsTW91dGhBbW91bnQAAAAAAAAAAAUAAAAAF3Jhbmdlc0luaXRpYWxTdGF0c1RpZXJzAgAAAB40NTAwXzc1MDBfOTAwMF85NzUwXzk5OTBfMTAwMDAAAAAAGHJhbmdlc0luaXRpYWxOYXR1cmFsRWxlbQIAAAAcNDAwXzEwMDBfMTQwMF8xNjAwXzE3NTBfMjAwMAAAAAAecmFuZ2VzSW5pdGlhbE5hdHVyYWxHZW5lcmF0aW5nAgAAABcyMDBfMzAwXzM3NV80MjVfNDUwXzUwMAAAAAAacmFuZ2VzSW5pdGlhbE5hdHVyYWxCYXR0bGUCAAAAFzIwMF8zMDBfMzc1XzQyNV80NTBfNTAwAAAAABBiYXR0bGVSZXN0UGVyaW9kAAAAAAAAAAAAAAAAABZiYXR0bGVXaW5DaGFuY2VIYXJkY2FwAAAAAAAADDUAAAAAABtiYXR0bGVXaW5DaGFuY2VJbmNyUGVyQmxvY2sAAAAAAAAAAGQAAAAAFWJhdHRsZUxvb3RSYXJpdHlSYW5nZQIAAAAUODAwMF85NTAwXzk5OTBfMTAwMDAAAAAAD2l0ZW1zQ2F0ZWdvcmllcwAAAAAAAAAAAwAAAAAQaXRlbXNUeXBlc1BlckNhdAIAAAAFNl80XzMAAAAADGl0ZW1zRWZmZWN0cwAAAAAAAAAAIAAAAAAUaXRlbXNFZmZlY3RzTWF4UmFuZ2UJAAS5AAAAAgkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAABDIwMDAJAARMAAAAAgIAAAAEMjAwMAkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAABDIwMDAJAARMAAAAAgIAAAAEMjAwMAkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAABDIwMDAJAARMAAAAAgIAAAAEMjAwMAkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAABDIwMDAJAARMAAAAAgIAAAAEMjAwMAkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAABDIwMDAJAARMAAAAAgIAAAAEMjAwMAkABEwAAAACAgAAAAQyMDAwCQAETAAAAAICAAAAAzUwMAkABEwAAAACAgAAAAM1MDAJAARMAAAAAgIAAAADNTAwCQAETAAAAAICAAAAAzUwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAADMTAwCQAETAAAAAICAAAAAzEwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAADMTAwCQAETAAAAAICAAAAAzEwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAADMTAwCQAETAAAAAICAAAAAzEwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAADMTAwCQAETAAAAAICAAAAAzEwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAADMTAwCQAETAAAAAICAAAAAzEwMAkABEwAAAACAgAAAAMxMDAJAARMAAAAAgIAAAACMjUJAARMAAAAAgIAAAACMjUFAAAAA25pbAUAAAAJc2VwYXJhdG9yAAAAABVrZXlFY29zeXN0ZW1BZGRyZXNzZXMCAAAAE2Vjb3N5c3RlbV9hZGRyZXNzZXMAAAAACmtleVRva2VuSWQCAAAACHRva2VuX2lkAAAAABRrZXlUb2tlbkVtaXNzaW9uUmF0ZQIAAAATdG9rZW5fZW1pc3Npb25fcmF0ZQAAAAARa2V5VG9rZW5HZW5lcmF0ZWQCAAAAD3Rva2VuX2dlbmVyYXRlZAAAAAAba2V5VG9rZW5HZW5lcmF0ZWRMYXN0VXBkYXRlAgAAABt0b2tlbl9nZW5lcmF0ZWRfbGFzdF91cGRhdGUAAAAAEmtleUNoYXJzQm9keUFtb3VudAIAAAARY2hhcnNfYm9keV9hbW91bnQAAAAAEmtleUNoYXJzRXllc0Ftb3VudAIAAAARY2hhcnNfZXllc19hbW91bnQAAAAAE2tleUNoYXJzTW91dGhBbW91bnQCAAAAEmNoYXJzX21vdXRoX2Ftb3VudAAAAAAYa2V5Q2hhcnNTdGF0c1RpZXJzUmFuZ2VzAgAAABhjaGFyc19zdGF0c190aWVyc19yYW5nZXMAAAAAHmtleUNoYXJzTmF0dXJhbEVsZW1Cb251c1JhbmdlcwIAAAAfY2hhcnNfbmF0dXJhbF9lbGVtX2JvbnVzX3JhbmdlcwAAAAAga2V5Q2hhcnNOYXR1cmFsQmF0dGxlQm9udXNSYW5nZXMCAAAAIWNoYXJzX25hdHVyYWxfYmF0dGxlX2JvbnVzX3JhbmdlcwAAAAAka2V5Q2hhcnNOYXR1cmFsR2VuZXJhdGluZ0JvbnVzUmFuZ2VzAgAAACVjaGFyc19uYXR1cmFsX2dlbmVyYXRpbmdfYm9udXNfcmFuZ2VzAAAAAA1rZXlUb3RhbExhbmRzAgAAAAt0b3RhbF9sYW5kcwAAAAATa2V5QmF0dGxlUmVzdFBlcmlvZAIAAAASYmF0dGxlX3Jlc3RfcGVyaW9kAAAAABlrZXlCYXR0bGVXaW5DaGFuY2VIYXJkY2FwAgAAABliYXR0bGVfd2luX2NoYW5jZV9oYXJkY2FwAAAAAB5rZXlCYXR0bGVXaW5DaGFuY2VJbmNyUGVyQmxvY2sCAAAAIGJhdHRsZV93aW5fY2hhbmNlX2luY3JfcGVyX2Jsb2NrAAAAABlrZXlCYXR0bGVMb290UmFyaXR5UmFuZ2VzAgAAABliYXR0bGVfbG9vdF9yYXJpdHlfcmFuZ2VzAAAAABJrZXlJdGVtc0NhdGVnb3JpZXMCAAAAEGl0ZW1zX2NhdGVnb3JpZXMAAAAAE2tleUl0ZW1zVHlwZXNQZXJDYXQCAAAAE2l0ZW1zX3R5cGVzX3Blcl9jYXQAAAAAD2tleUl0ZW1zRWZmZWN0cwIAAAANaXRlbXNfZWZmZWN0cwAAAAAYa2V5aXRlbXNFZmZlY3RzTWF4UmFuZ2VzAgAAABdpdGVtc19lZmZlY3RzX21heF9yYW5nZQEAAAAOZWNvc3lzdGVtQ2hlY2sAAAABAAAABmNhbGxlcgMJAQAAAAIhPQAAAAIJAQAAAAhjb250YWlucwAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAAFWtleUVjb3N5c3RlbUFkZHJlc3NlcwkAAlgAAAABCAUAAAAGY2FsbGVyAAAABWJ5dGVzBgkAAAIAAAABAgAAAA1BY2Nlc3MgZGVuaWVkBgAAAAQAAAABaQEAAAAEaW5pdAAAAAADCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAMQWNjZXMgZGVuaWVkAwMJAQAAAAIhPQAAAAIJAAQeAAAAAQUAAAAEdGhpcwYJAQAAAAIhPQAAAAIFAAAACERFVl9NT0RFBgcJAAACAAAAAQIAAAARSW5pdCBkb25lIGFscmVhZHkEAAAACnRva2VuSXNzdWUJAARCAAAABQUAAAAJdG9rZW5OYW1lBQAAAAl0b2tlbkRlc2MAAAAAAAAAAAEAAAAAAAAAAAgGBAAAAAd0b2tlbklkCQAEOAAAAAEFAAAACnRva2VuSXNzdWUJAARMAAAAAgUAAAAKdG9rZW5Jc3N1ZQkABEwAAAACCQEAAAALQmluYXJ5RW50cnkAAAACBQAAAAprZXlUb2tlbklkBQAAAAd0b2tlbklkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABRrZXlUb2tlbkVtaXNzaW9uUmF0ZQUAAAAYdG9rZW5Jbml0aWFsRW1pc3Npb25SYXRlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlUb2tlbkdlbmVyYXRlZAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAba2V5VG9rZW5HZW5lcmF0ZWRMYXN0VXBkYXRlBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAVa2V5RWNvc3lzdGVtQWRkcmVzc2VzCQAEJQAAAAEFAAAABHRoaXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtleVRvdGFsTGFuZHMFAAAAEmxhbmRzSW5pdGlhbEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5Q2hhcnNCb2R5QW1vdW50BQAAABthcHBlYXJhbmNlSW5pdGlhbEJvZHlBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleUNoYXJzRXllc0Ftb3VudAUAAAAbYXBwZWFyYW5jZUluaXRpYWxFeWVzQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABNrZXlDaGFyc01vdXRoQW1vdW50BQAAABxhcHBlYXJhbmNlSW5pdGlhbE1vdXRoQW1vdW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAGGtleUNoYXJzU3RhdHNUaWVyc1JhbmdlcwUAAAAXcmFuZ2VzSW5pdGlhbFN0YXRzVGllcnMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAea2V5Q2hhcnNOYXR1cmFsRWxlbUJvbnVzUmFuZ2VzBQAAABhyYW5nZXNJbml0aWFsTmF0dXJhbEVsZW0JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAka2V5Q2hhcnNOYXR1cmFsR2VuZXJhdGluZ0JvbnVzUmFuZ2VzBQAAAB5yYW5nZXNJbml0aWFsTmF0dXJhbEdlbmVyYXRpbmcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAga2V5Q2hhcnNOYXR1cmFsQmF0dGxlQm9udXNSYW5nZXMFAAAAGnJhbmdlc0luaXRpYWxOYXR1cmFsQmF0dGxlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABNrZXlCYXR0bGVSZXN0UGVyaW9kBQAAABBiYXR0bGVSZXN0UGVyaW9kCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABlrZXlCYXR0bGVXaW5DaGFuY2VIYXJkY2FwBQAAABZiYXR0bGVXaW5DaGFuY2VIYXJkY2FwCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAB5rZXlCYXR0bGVXaW5DaGFuY2VJbmNyUGVyQmxvY2sFAAAAG2JhdHRsZVdpbkNoYW5jZUluY3JQZXJCbG9jawkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABlrZXlCYXR0bGVMb290UmFyaXR5UmFuZ2VzBQAAABViYXR0bGVMb290UmFyaXR5UmFuZ2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleUl0ZW1zQ2F0ZWdvcmllcwUAAAAPaXRlbXNDYXRlZ29yaWVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAE2tleUl0ZW1zVHlwZXNQZXJDYXQFAAAAEGl0ZW1zVHlwZXNQZXJDYXQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleUl0ZW1zRWZmZWN0cwUAAAAMaXRlbXNFZmZlY3RzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAGGtleWl0ZW1zRWZmZWN0c01heFJhbmdlcwUAAAAUaXRlbXNFZmZlY3RzTWF4UmFuZ2UFAAAAA25pbAAAAAFpAQAAABhtYW5hZ2VFY29zeXN0ZW1BZGRyZXNzZXMAAAACAAAAA2FkZAAAAARhZGRyAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAADEFjY2VzIGRlbmllZAQAAAAFbUFkZHIEAAAAByRtYXRjaDAJAAQmAAAAAQUAAAAEYWRkcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQWRkcmVzcwQAAAAGaXNBZGRyBQAAAAckbWF0Y2gwBQAAAARhZGRyCQAAAgAAAAECAAAADk5vdCBhbiBhZGRyZXNzBAAAAA5jdXJyZW50RWNvQWRkcgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAVa2V5RWNvc3lzdGVtQWRkcmVzc2VzBAAAAAphZGRySW5MaXN0CQEAAAAIY29udGFpbnMAAAACBQAAAA5jdXJyZW50RWNvQWRkcgUAAAAFbUFkZHIDAwkAAAAAAAACBQAAAANhZGQGCQAAAAAAAAIFAAAACmFkZHJJbkxpc3QGBwkAAAIAAAABAgAAABtBZGRyZXNzIGFscmVhZHkgaW4gdGhlIGxpc3QDAwkAAAAAAAACBQAAAANhZGQHCQAAAAAAAAIFAAAACmFkZHJJbkxpc3QHBwkAAAIAAAABAgAAAB9BZGRyZXNzIG5vdCBpbiB0aGUgbGlzdCBhbHJlYWR5BAAAAApuZXdFY29BZGRyAwkAAAAAAAACBQAAAANhZGQGCQABLAAAAAIJAAEsAAAAAgUAAAAOY3VycmVudEVjb0FkZHIFAAAACXNlcGFyYXRvcgUAAAAFbUFkZHIEAAAAC2Vjb0FkZHJMaXN0CQAEtQAAAAIFAAAADmN1cnJlbnRFY29BZGRyBQAAAAlzZXBhcmF0b3IEAAAACWFkZHJJbmRleAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAETwAAAAIFAAAAC2Vjb0FkZHJMaXN0BQAAAAVtQWRkcgIAAAAPVW5rbm93biBhZGRyZXNzCQAEuQAAAAIJAARRAAAAAgUAAAALZWNvQWRkckxpc3QFAAAACWFkZHJJbmRleAUAAAAJc2VwYXJhdG9yCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAFWtleUVjb3N5c3RlbUFkZHJlc3NlcwUAAAAKbmV3RWNvQWRkcgUAAAADbmlsAAAAAWkBAAAAFGdldEdlbmVyYXRlZFN1cHBsaWVzAAAAAAMJAQAAAAIhPQAAAAIJAQAAAA5lY29zeXN0ZW1DaGVjawAAAAEIBQAAAAFpAAAABmNhbGxlcgYJAQAAAAV0aHJvdwAAAAAEAAAAGGN1cnJlbnRHZW5lcmF0ZWRTdXBwbGllcwkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAARa2V5VG9rZW5HZW5lcmF0ZWQEAAAACmhlaWdodERpZmYJAABlAAAAAgUAAAAGaGVpZ2h0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAABtrZXlUb2tlbkdlbmVyYXRlZExhc3RVcGRhdGUEAAAAFG5ld0dlbmVyYXRlZFN1cHBsaWVzCQAAZAAAAAIFAAAAGGN1cnJlbnRHZW5lcmF0ZWRTdXBwbGllcwkAAGgAAAACBQAAAApoZWlnaHREaWZmCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAABRrZXlUb2tlbkVtaXNzaW9uUmF0ZQMJAABmAAAAAgUAAAAYY3VycmVudEdlbmVyYXRlZFN1cHBsaWVzBQAAABRuZXdHZW5lcmF0ZWRTdXBwbGllcwkAAAIAAAABAgAAAC9uZXdHZW5lcmF0ZWRTdXBwbGllcyA8IGN1cnJlbnRHZW5lcmF0ZWRTdXBwbGllcwMJAABmAAAAAgAAAAAAAAAAAAUAAAAKaGVpZ2h0RGlmZgkAAAIAAAABAgAAAA5oZWlnaHREaWZmIDwgMAkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlUb2tlbkdlbmVyYXRlZAUAAAAUbmV3R2VuZXJhdGVkU3VwcGxpZXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAG2tleVRva2VuR2VuZXJhdGVkTGFzdFVwZGF0ZQUAAAAGaGVpZ2h0BQAAAANuaWwFAAAAFG5ld0dlbmVyYXRlZFN1cHBsaWVzAAAAAWkBAAAAD3NlbmRUb2tlbnN0b0FwcAAAAAEAAAAGYW1vdW50AwkBAAAAAiE9AAAAAgkBAAAADmVjb3N5c3RlbUNoZWNrAAAAAQgFAAAAAWkAAAAGY2FsbGVyBgkBAAAABXRocm93AAAAAAQAAAAHdG9rZW5JZAkBAAAAEUBleHRyTmF0aXZlKDEwNTIpAAAAAgUAAAAEdGhpcwUAAAAKa2V5VG9rZW5JZAQAAAAMdG9rZW5SZWlzc3VlCQEAAAAHUmVpc3N1ZQAAAAMFAAAAB3Rva2VuSWQFAAAABmFtb3VudAYJAAUUAAAAAgkABEwAAAACBQAAAAx0b2tlblJlaXNzdWUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAZhbW91bnQFAAAAB3Rva2VuSWQFAAAAA25pbAUAAAAGYW1vdW50AAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnuf3XU", "height": 2058514, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6hUDWE4NzGYyQnM8V6NW3w7BjePLyx52jKdUCTk5ay8M Next: FK36WmgDfwSPewjSdsMDMcJ54zmBJkdNqurVAHhxXN8k Diff:
OldNewDifferences
2727
2828 let m = "200_300_375_425_450_500"
2929
30-let n = "ecosystem_addresses"
30+let n = 0
3131
32-let o = "token_id"
32+let o = 800000
3333
34-let p = "token_emission_rate"
34+let p = 100
3535
36-let q = "token_generated"
36+let q = "8000_9500_9990_10000"
3737
38-let r = "token_generated_last_update"
38+let r = 3
3939
40-let s = "chars_body_amount"
40+let s = "6_4_3"
4141
42-let t = "chars_eyes_amount"
42+let t = 32
4343
44-let u = "chars_mouth_amount"
44+let u = 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"], a)
4545
46-let v = "chars_stats_tiers_ranges"
46+let v = "ecosystem_addresses"
4747
48-let w = "chars_natural_elem_bonus_ranges"
48+let w = "token_id"
4949
50-let x = "chars_natural_loots_bonus_ranges"
50+let x = "token_emission_rate"
5151
52-let y = "chars_natural_generating_bonus_ranges"
52+let y = "token_generated"
5353
54-let z = "total_lands"
54+let z = "token_generated_last_update"
5555
56-func A (B) = if ((contains(getStringValue(this, n), toBase58String(B.bytes)) != true))
56+let A = "chars_body_amount"
57+
58+let B = "chars_eyes_amount"
59+
60+let C = "chars_mouth_amount"
61+
62+let D = "chars_stats_tiers_ranges"
63+
64+let E = "chars_natural_elem_bonus_ranges"
65+
66+let F = "chars_natural_battle_bonus_ranges"
67+
68+let G = "chars_natural_generating_bonus_ranges"
69+
70+let H = "total_lands"
71+
72+let I = "battle_rest_period"
73+
74+let J = "battle_win_chance_hardcap"
75+
76+let K = "battle_win_chance_incr_per_block"
77+
78+let L = "battle_loot_rarity_ranges"
79+
80+let M = "items_categories"
81+
82+let N = "items_types_per_cat"
83+
84+let O = "items_effects"
85+
86+let P = "items_effects_max_range"
87+
88+func Q (R) = if ((contains(getStringValue(this, v), toBase58String(R.bytes)) != true))
5789 then throw("Access denied")
5890 else true
5991
6092
61-@Callable(C)
62-func init () = if ((C.caller != this))
93+@Callable(S)
94+func init () = if ((S.caller != this))
6395 then throw("Acces denied")
6496 else if (if ((isDataStorageUntouched(this) != true))
6597 then (b != true)
6698 else false)
6799 then throw("Init done already")
68100 else {
69- let D = Issue(c, d, 1, 8, true)
70- let E = calculateAssetId(D)
71-[D, BinaryEntry(o, E), IntegerEntry(p, e), IntegerEntry(q, 0), IntegerEntry(r, height), StringEntry(n, toString(this)), IntegerEntry(z, f), IntegerEntry(s, g), IntegerEntry(t, h), IntegerEntry(u, i), StringEntry(v, j), StringEntry(w, k), StringEntry(y, l), StringEntry(x, m)]
101+ let T = Issue(c, d, 1, 8, true)
102+ let U = calculateAssetId(T)
103+[T, BinaryEntry(w, U), IntegerEntry(x, e), IntegerEntry(y, 0), IntegerEntry(z, height), StringEntry(v, toString(this)), IntegerEntry(H, f), IntegerEntry(A, g), IntegerEntry(B, h), IntegerEntry(C, i), StringEntry(D, j), StringEntry(E, k), StringEntry(G, l), StringEntry(F, m), IntegerEntry(I, n), IntegerEntry(J, o), IntegerEntry(K, p), StringEntry(L, q), IntegerEntry(M, r), StringEntry(N, s), IntegerEntry(O, t), StringEntry(P, u)]
72104 }
73105
74106
75107
76-@Callable(C)
77-func manageEcosystemAddresses (F,G) = if ((C.caller != this))
108+@Callable(S)
109+func manageEcosystemAddresses (V,W) = if ((S.caller != this))
78110 then throw("Acces denied")
79111 else {
80- let H = {
81- let I = addressFromString(G)
82- if ($isInstanceOf(I, "Address"))
112+ let X = {
113+ let Y = addressFromString(W)
114+ if ($isInstanceOf(Y, "Address"))
83115 then {
84- let J = I
85- G
116+ let Z = Y
117+ W
86118 }
87119 else throw("Not an address")
88120 }
89- let K = getStringValue(this, n)
90- let L = contains(K, H)
91- if (if ((F == true))
92- then (L == true)
121+ let aa = getStringValue(this, v)
122+ let ab = contains(aa, X)
123+ if (if ((V == true))
124+ then (ab == true)
93125 else false)
94126 then throw("Address already in the list")
95- else if (if ((F == false))
96- then (L == false)
127+ else if (if ((V == false))
128+ then (ab == false)
97129 else false)
98130 then throw("Address not in the list already")
99131 else {
100- let M = if ((F == true))
101- then ((K + a) + H)
132+ let ac = if ((V == true))
133+ then ((aa + a) + X)
102134 else {
103- let N = split(K, a)
104- let O = valueOrErrorMessage(indexOf(N, H), "Unknown address")
105- makeString(removeByIndex(N, O), a)
135+ let ad = split(aa, a)
136+ let ae = valueOrErrorMessage(indexOf(ad, X), "Unknown address")
137+ makeString(removeByIndex(ad, ae), a)
106138 }
107-[StringEntry(n, M)]
139+[StringEntry(v, ac)]
108140 }
109141 }
110142
111143
112144
113-@Callable(C)
114-func getGeneratedSupplies () = if ((A(C.caller) != true))
145+@Callable(S)
146+func getGeneratedSupplies () = if ((Q(S.caller) != true))
115147 then throw()
116148 else {
117- let P = getIntegerValue(this, q)
118- let Q = (height - getIntegerValue(this, r))
119- let R = (P + (Q * getIntegerValue(this, p)))
120- if ((P > R))
149+ let af = getIntegerValue(this, y)
150+ let ag = (height - getIntegerValue(this, z))
151+ let ah = (af + (ag * getIntegerValue(this, x)))
152+ if ((af > ah))
121153 then throw("newGeneratedSupplies < currentGeneratedSupplies")
122- else if ((0 > Q))
154+ else if ((0 > ag))
123155 then throw("heightDiff < 0")
124- else $Tuple2([IntegerEntry(q, R), IntegerEntry(r, height)], R)
156+ else $Tuple2([IntegerEntry(y, ah), IntegerEntry(z, height)], ah)
125157 }
126158
127159
128160
129-@Callable(C)
130-func sendTokenstoApp (S) = if ((A(C.caller) != true))
161+@Callable(S)
162+func sendTokenstoApp (ai) = if ((Q(S.caller) != true))
131163 then throw()
132164 else {
133- let E = getBinaryValue(this, o)
134- let T = Reissue(E, S, true)
135- $Tuple2([T, ScriptTransfer(C.caller, S, E)], S)
165+ let U = getBinaryValue(this, w)
166+ let aj = Reissue(U, ai, true)
167+ $Tuple2([aj, ScriptTransfer(S.caller, ai, U)], ai)
136168 }
137169
138170
139-@Verifier(U)
140-func V () = sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
171+@Verifier(ak)
172+func al () = sigVerify(ak.bodyBytes, ak.proofs[0], ak.senderPublicKey)
141173
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 let b = true
77
88 let c = "Coucou"
99
1010 let d = "bla bla"
1111
1212 let e = 100000000
1313
1414 let f = 6
1515
1616 let g = 5
1717
1818 let h = 5
1919
2020 let i = 5
2121
2222 let j = "4500_7500_9000_9750_9990_10000"
2323
2424 let k = "400_1000_1400_1600_1750_2000"
2525
2626 let l = "200_300_375_425_450_500"
2727
2828 let m = "200_300_375_425_450_500"
2929
30-let n = "ecosystem_addresses"
30+let n = 0
3131
32-let o = "token_id"
32+let o = 800000
3333
34-let p = "token_emission_rate"
34+let p = 100
3535
36-let q = "token_generated"
36+let q = "8000_9500_9990_10000"
3737
38-let r = "token_generated_last_update"
38+let r = 3
3939
40-let s = "chars_body_amount"
40+let s = "6_4_3"
4141
42-let t = "chars_eyes_amount"
42+let t = 32
4343
44-let u = "chars_mouth_amount"
44+let u = 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"], a)
4545
46-let v = "chars_stats_tiers_ranges"
46+let v = "ecosystem_addresses"
4747
48-let w = "chars_natural_elem_bonus_ranges"
48+let w = "token_id"
4949
50-let x = "chars_natural_loots_bonus_ranges"
50+let x = "token_emission_rate"
5151
52-let y = "chars_natural_generating_bonus_ranges"
52+let y = "token_generated"
5353
54-let z = "total_lands"
54+let z = "token_generated_last_update"
5555
56-func A (B) = if ((contains(getStringValue(this, n), toBase58String(B.bytes)) != true))
56+let A = "chars_body_amount"
57+
58+let B = "chars_eyes_amount"
59+
60+let C = "chars_mouth_amount"
61+
62+let D = "chars_stats_tiers_ranges"
63+
64+let E = "chars_natural_elem_bonus_ranges"
65+
66+let F = "chars_natural_battle_bonus_ranges"
67+
68+let G = "chars_natural_generating_bonus_ranges"
69+
70+let H = "total_lands"
71+
72+let I = "battle_rest_period"
73+
74+let J = "battle_win_chance_hardcap"
75+
76+let K = "battle_win_chance_incr_per_block"
77+
78+let L = "battle_loot_rarity_ranges"
79+
80+let M = "items_categories"
81+
82+let N = "items_types_per_cat"
83+
84+let O = "items_effects"
85+
86+let P = "items_effects_max_range"
87+
88+func Q (R) = if ((contains(getStringValue(this, v), toBase58String(R.bytes)) != true))
5789 then throw("Access denied")
5890 else true
5991
6092
61-@Callable(C)
62-func init () = if ((C.caller != this))
93+@Callable(S)
94+func init () = if ((S.caller != this))
6395 then throw("Acces denied")
6496 else if (if ((isDataStorageUntouched(this) != true))
6597 then (b != true)
6698 else false)
6799 then throw("Init done already")
68100 else {
69- let D = Issue(c, d, 1, 8, true)
70- let E = calculateAssetId(D)
71-[D, BinaryEntry(o, E), IntegerEntry(p, e), IntegerEntry(q, 0), IntegerEntry(r, height), StringEntry(n, toString(this)), IntegerEntry(z, f), IntegerEntry(s, g), IntegerEntry(t, h), IntegerEntry(u, i), StringEntry(v, j), StringEntry(w, k), StringEntry(y, l), StringEntry(x, m)]
101+ let T = Issue(c, d, 1, 8, true)
102+ let U = calculateAssetId(T)
103+[T, BinaryEntry(w, U), IntegerEntry(x, e), IntegerEntry(y, 0), IntegerEntry(z, height), StringEntry(v, toString(this)), IntegerEntry(H, f), IntegerEntry(A, g), IntegerEntry(B, h), IntegerEntry(C, i), StringEntry(D, j), StringEntry(E, k), StringEntry(G, l), StringEntry(F, m), IntegerEntry(I, n), IntegerEntry(J, o), IntegerEntry(K, p), StringEntry(L, q), IntegerEntry(M, r), StringEntry(N, s), IntegerEntry(O, t), StringEntry(P, u)]
72104 }
73105
74106
75107
76-@Callable(C)
77-func manageEcosystemAddresses (F,G) = if ((C.caller != this))
108+@Callable(S)
109+func manageEcosystemAddresses (V,W) = if ((S.caller != this))
78110 then throw("Acces denied")
79111 else {
80- let H = {
81- let I = addressFromString(G)
82- if ($isInstanceOf(I, "Address"))
112+ let X = {
113+ let Y = addressFromString(W)
114+ if ($isInstanceOf(Y, "Address"))
83115 then {
84- let J = I
85- G
116+ let Z = Y
117+ W
86118 }
87119 else throw("Not an address")
88120 }
89- let K = getStringValue(this, n)
90- let L = contains(K, H)
91- if (if ((F == true))
92- then (L == true)
121+ let aa = getStringValue(this, v)
122+ let ab = contains(aa, X)
123+ if (if ((V == true))
124+ then (ab == true)
93125 else false)
94126 then throw("Address already in the list")
95- else if (if ((F == false))
96- then (L == false)
127+ else if (if ((V == false))
128+ then (ab == false)
97129 else false)
98130 then throw("Address not in the list already")
99131 else {
100- let M = if ((F == true))
101- then ((K + a) + H)
132+ let ac = if ((V == true))
133+ then ((aa + a) + X)
102134 else {
103- let N = split(K, a)
104- let O = valueOrErrorMessage(indexOf(N, H), "Unknown address")
105- makeString(removeByIndex(N, O), a)
135+ let ad = split(aa, a)
136+ let ae = valueOrErrorMessage(indexOf(ad, X), "Unknown address")
137+ makeString(removeByIndex(ad, ae), a)
106138 }
107-[StringEntry(n, M)]
139+[StringEntry(v, ac)]
108140 }
109141 }
110142
111143
112144
113-@Callable(C)
114-func getGeneratedSupplies () = if ((A(C.caller) != true))
145+@Callable(S)
146+func getGeneratedSupplies () = if ((Q(S.caller) != true))
115147 then throw()
116148 else {
117- let P = getIntegerValue(this, q)
118- let Q = (height - getIntegerValue(this, r))
119- let R = (P + (Q * getIntegerValue(this, p)))
120- if ((P > R))
149+ let af = getIntegerValue(this, y)
150+ let ag = (height - getIntegerValue(this, z))
151+ let ah = (af + (ag * getIntegerValue(this, x)))
152+ if ((af > ah))
121153 then throw("newGeneratedSupplies < currentGeneratedSupplies")
122- else if ((0 > Q))
154+ else if ((0 > ag))
123155 then throw("heightDiff < 0")
124- else $Tuple2([IntegerEntry(q, R), IntegerEntry(r, height)], R)
156+ else $Tuple2([IntegerEntry(y, ah), IntegerEntry(z, height)], ah)
125157 }
126158
127159
128160
129-@Callable(C)
130-func sendTokenstoApp (S) = if ((A(C.caller) != true))
161+@Callable(S)
162+func sendTokenstoApp (ai) = if ((Q(S.caller) != true))
131163 then throw()
132164 else {
133- let E = getBinaryValue(this, o)
134- let T = Reissue(E, S, true)
135- $Tuple2([T, ScriptTransfer(C.caller, S, E)], S)
165+ let U = getBinaryValue(this, w)
166+ let aj = Reissue(U, ai, true)
167+ $Tuple2([aj, ScriptTransfer(S.caller, ai, U)], ai)
136168 }
137169
138170
139-@Verifier(U)
140-func V () = sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey)
171+@Verifier(ak)
172+func al () = sigVerify(ak.bodyBytes, ak.proofs[0], ak.senderPublicKey)
141173

github/deemru/w8io/169f3d6 
49.28 ms