tx · HZbJruGLQVyqmptfspxsKMnM7YqWwNAsYUfQkEgubWa3 3MxiJLrY6Qa5bSYxxSFHSG5bVV2n59x1MGn: -0.01400000 Waves 2022.05.18 13:01 [2056949] smart account 3MxiJLrY6Qa5bSYxxSFHSG5bVV2n59x1MGn > SELF 0.00000000 Waves
{ "type": 13, "id": "HZbJruGLQVyqmptfspxsKMnM7YqWwNAsYUfQkEgubWa3", "fee": 1400000, "feeAssetId": null, "timestamp": 1652868173523, "version": 2, "chainId": 84, "sender": "3MxiJLrY6Qa5bSYxxSFHSG5bVV2n59x1MGn", "senderPublicKey": "9M1hAsbWkVP73NKHvZezCkamwZfSdkejc3b8sejqT98D", "proofs": [ "4LogyvueYXhivkBMzHWFNVp25eMvU6jz9qMTqQWU7NU1QyrXBhgaCxzBnofMbBavMDC6TPuLvgvdzrJSamSzoqBW" ], "script": "base64:AAIFAAAAAAAAAAgIAhIECgIBAQAAACEAAAAACXNlcGFyYXRvcgIAAAABXwAAAAANc2hhcmVEZWNpbWFscwAN4Lazp2QAAAAAAAASa2V5Q2hhckN1cnJlbnRMYW5kAgAAABFjaGFyX2N1cnJlbnRfbGFuZAAAAAAfa2V5Q2hhckluaXRpYWxHZW5lcmF0ZWRTdXBwbGllcwIAAAAfY2hhcl9pbml0aWFsX2dlbmVyYXRlZF9zdXBwbGllcwAAAAAQa2V5TGFuZFB5cm9Qb3dlcgIAAAAPbGFuZF9weXJvX3Bvd2VyAAAAABBrZXlMYW5kQXF1YVBvd2VyAgAAAA9sYW5kX2FxdWFfcG93ZXIAAAAAEWtleUxhbmRUZXJyYVBvd2VyAgAAABBsYW5kX3RlcnJhX3Bvd2VyAAAAABBrZXlMYW5kQWVyb1Bvd2VyAgAAAA9sYW5kX2Flcm9fcG93ZXIAAAAAF2tleUNoYXJJbml0aWFsUHlyb1NoYXJlAgAAABdjaGFyX2luaXRpYWxfcHlyb19zaGFyZQAAAAAXa2V5Q2hhckluaXRpYWxBcXVhU2hhcmUCAAAAF2NoYXJfaW5pdGlhbF9hcXVhX3NoYXJlAAAAABhrZXlDaGFySW5pdGlhbFRlcnJhU2hhcmUCAAAAGGNoYXJfaW5pdGlhbF90ZXJyYV9zaGFyZQAAAAAXa2V5Q2hhckluaXRpYWxBZXJvU2hhcmUCAAAAF2NoYXJfaW5pdGlhbF9hZXJvX3NoYXJlAAAAABJrZXlDaGFyVG90YWxJbmNvbWUCAAAAEWNoYXJfdG90YWxfaW5jb21lAAAAABVrZXlBZGRyZXNzVG90YWxJbmNvbWUCAAAAFGFkZHJlc3NfdG90YWxfaW5jb21lAAAAAAZnb3ZBcHAJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNNeXhmd3ZidWVVQnluWUhmUXN1dE5YWk5xTm96R2lNbnNHAAAAABVrZXlFY29zeXN0ZW1BZGRyZXNzZXMCAAAAE2Vjb3N5c3RlbV9hZGRyZXNzZXMAAAAACmtleVRva2VuSWQCAAAACHRva2VuX2lkAAAAAA1rZXlUb3RhbExhbmRzAgAAAAt0b3RhbF9sYW5kcwAAAAAUa2V5VG9rZW5FbWlzc2lvblJhdGUCAAAAE3Rva2VuX2VtaXNzaW9uX3JhdGUAAAAACGNoYXJzQXBwCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzTkEzTFJTaWdrNmtuTFoxNnVUemNkTE5vdzJFUVp0WFRhSgAAAAAIa2V5T3duZXICAAAABW93bmVyAAAAABNrZXlOYXR1cmFsUHlyb0JvbnVzAgAAABJuYXR1cmFsX3B5cm9fYm9udXMAAAAAE2tleU5hdHVyYWxBcXVhQm9udXMCAAAAEm5hdHVyYWxfYXF1YV9ib251cwAAAAAUa2V5TmF0dXJhbFRlcnJhQm9udXMCAAAAE25hdHVyYWxfdGVycmFfYm9udXMAAAAAE2tleU5hdHVyYWxBZXJvQm9udXMCAAAAEm5hdHVyYWxfYWVyb19ib251cwEAAAAMaW52b2tlQ2hlY2tzAAAAAQAAAApjYWxsZXJBZGRyAwkBAAAAAiE9AAAAAgkABB4AAAABBQAAAAZnb3ZBcHAHCQAAAgAAAAECAAAAF0dvdmVybmluZyBhcHAgbm90IHJlYWR5BAAAABJlY29zeXN0ZW1BZGRyZXNzZXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABmdvdkFwcAUAAAAVa2V5RWNvc3lzdGVtQWRkcmVzc2VzAwkBAAAAAiE9AAAAAgkBAAAACGNvbnRhaW5zAAAAAgUAAAASZWNvc3lzdGVtQWRkcmVzc2VzCQAEJQAAAAEFAAAACmNhbGxlckFkZHIHCQAAAgAAAAECAAAADUFjY2VzcyBkZW5pZWQGAQAAAAR3aXRoAAAAAgAAAAFhAAAAAWIEAAAAAWMEAAAAByRtYXRjaDAFAAAAAWIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAFaXNJbnQFAAAAByRtYXRjaDAJAAGkAAAAAQUAAAAFaXNJbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAAFaXNTdHIFAAAAByRtYXRjaDAFAAAABWlzU3RyCQAAAgAAAAECAAAAH01hdGNoaW5nIGlzc3VlIGluIHdpdGggZnVuY3Rpb24JAAEsAAAAAgkAASwAAAACBQAAAAFjBQAAAAlzZXBhcmF0b3IFAAAAAWEBAAAAF2dldENoYXJOYXR1cmFsRWxlbUJvbnVzAAAA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ck5hdHVyYWxFbGVtQm9udXMAAAAAAAAAAAMFAAAAA25pbAEAAAASY2FsY0NoYXJFbGVtU2hhcmVzAAAAAgAAABBjaGFyTmF0dXJhbEJvbnVzAAAADWxhbmRFbGVtUG93ZXIJAARMAAAAAgkAAGsAAAADBQAAAA1zaGFyZURlY2ltYWxzCQABkQAAAAIFAAAAEGNoYXJOYXR1cmFsQm9udXMAAAAAAAAAAAAJAAGRAAAAAgUAAAANbGFuZEVsZW1Qb3dlcgAAAAAAAAAAAAkABEwAAAACCQAAawAAAAMFAAAADXNoYXJlRGVjaW1hbHMJAAGRAAAAAgUAAAAQY2hhck5hdHVyYWxCb251cwAAAAAAAAAAAQkAAZEAAAACBQAAAA1sYW5kRWxlbVBvd2VyAAAAAAAAAAABCQAETAAAAAIJAABrAAAAAwUAAAANc2hhcmVEZWNpbWFscwkAAZEAAAACBQAAABBjaGFyTmF0dXJhbEJvbnVzAAAAAAAAAAACCQABkQAAAAIFAAAADWxhbmRFbGVtUG93ZXIAAAAAAAAAAAIJAARMAAAAAgkAAGsAAAADBQAAAA1zaGFyZURlY2ltYWxzCQABkQAAAAIFAAAAEGNoYXJOYXR1cmFsQm9udXMAAAAAAAAAAAMJAAGRAAAAAgUAAAANbGFuZEVsZW1Qb3dlcgAAAAAAAAAAAwUAAAADbmlsAQAAAA5jYWxjQ2hhckluY29tZQAAAAQAAAAGY2hhcklkAAAAEG9sZExhbmRFbGVtUG93ZXIAAAAUY2hhck5hdHVyYWxFbGVtQm9udXMAAAAYY3VycmVudEdlbmVyYXRlZFN1cHBsaWVzBAAAABxvbGRMYW5kQ2hhckN1cnJlbnRFbGVtU2hhcmVzCQEAAAASY2FsY0NoYXJFbGVtU2hhcmVzAAAAAgUAAAAQb2xkTGFuZEVsZW1Qb3dlcgUAAAAUY2hhck5hdHVyYWxFbGVtQm9udXMEAAAAHG9sZExhbmRDaGFyQXZlcmFnZUVsZW1TaGFyZXMJAARMAAAAAgkAAGkAAAACCQAAZAAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAQAAAAR3aXRoAAAAAgUAAAAXa2V5Q2hhckluaXRpYWxQeXJvU2hhcmUFAAAABmNoYXJJZAkAAZEAAAAC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AAMJAAAAAAAAAgUAAAALY3VycmVudExhbmQFAAAABmxhbmRJZAkAAAIAAAABAgAAABlDaGFyIGFscmVhZHkgb24gdGhhdCBsYW5kBAAAABRjaGFyTmF0dXJhbEVsZW1Cb251cwkBAAAAF2dldENoYXJOYXR1cmFsRWxlbUJvbnVzAAAAAQUAAAAGY2hhcklkBAAAABBvbGRMYW5kRWxlbVBvd2VyCQEAAAAQZ2V0TGFuZEVsZW1Qb3dlcgAAAAEFAAAAC2N1cnJlbnRMYW5kBAAAAB5jdXJyZW50R2VuZXJhdGVkU3VwcGxpZXNSZXN1bHQJAAP8AAAABAUAAAAGZ292QXBwAgAAABRnZXRHZW5lcmF0ZWRTdXBwbGllcwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAHmN1cnJlbnRHZW5lcmF0ZWRTdXBwbGllc1Jlc3VsdAUAAAAeY3VycmVudEdlbmVyYXRlZFN1cHBsaWVzUmVzdWx0BAAAABhjdXJyZW50R2VuZXJhdGVkU3VwcGxpZXMEAAAAByRtYXRjaDAFAAAAHmN1cnJlbnRHZW5lcmF0ZWRTdXBwbGllc1Jlc3VsdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAVpc0ludAUAAAAHJG1hdGNoMAUAAAAFaXNJbnQJAAACAAAAAQIAAAARQmFkIGludm9rZSByZXN1bHQEAAAADmpvaW5pbmdBY3Rpb25zAwkBAAAAAiE9AAAAAgUAAAAGbGFuZElkAAAAAAAAAAAABAAAABNuZXdMYW5kTmV3RWxlbVBvd2VyCQEAAAAUY2FsY05ld0xhbmRFbGVtUG93ZXIAAAACBQAAAAZsYW5kSWQFAAAAFGNoYXJOYXR1cmFsRWxlbUJvbnVzBAAAABVuZXdMYW5kQ2hhckVsZW1TaGFyZXMJAQAAABJjYWxjQ2hhckVsZW1TaGFyZXMAAAACBQAAABRjaGFyTmF0dXJhbEVsZW1Cb251cwUAAAATbmV3TGFuZE5ld0VsZW1Qb3dlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAABBrZXlMYW5kUHlyb1Bvd2VyBQAAAAZsYW5kSWQJAAGRAAAAAgUAAAATbmV3TGFuZE5ld0VsZW1Qb3dlcgAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAABBrZXlMYW5kQXF1YVBvd2VyBQAAAAZsYW5kSWQJAAGRAAAAAgUAAAATbmV3TGFuZE5ld0VsZW1Qb3dlcgAAAAAAAAAAAQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAABFrZXlMYW5kVGVycmFQb3dlcgUAAAAGbGFuZElkCQABkQAAAAIFAAAAE25ld0xhbmROZXdFbGVtUG93ZXIAAAAAAAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAAQa2V5TGFuZEFlcm9Qb3dlcgUAAAAGbGFuZElkCQABkQAAAAIFAAAAE25ld0xhbmROZXdFbGVtUG93ZXIAAAAAAAAAAAMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAAfa2V5Q2hhckluaXRpYWxHZW5lcmF0ZWRTdXBwbGllcwUAAAAGY2hhcklkBQAAABhjdXJyZW50R2VuZXJhdGVkU3VwcGxpZXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAAXa2V5Q2hhckluaXRpYWxQeXJvU2hhcmUFAAAABmNoYXJJZAkAAZEAAAACBQAAABVuZXdMYW5kQ2hhckVsZW1TaGFyZXMAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAAXa2V5Q2hhckluaXRpYWxBcXVhU2hhcmUFAAAABmNoYXJJZAkAAZEAAAACBQAAABVuZXdMYW5kQ2hhckVsZW1TaGFyZXMAAAAAAAAAAAEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAAYa2V5Q2hhckluaXRpYWxUZXJyYVNoYXJlBQAAAAZjaGFySWQJAAGRAAAAAgUAAAAVbmV3TGFuZENoYXJFbGVtU2hhcmVzAAAAAAAAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAF2tleUNoYXJJbml0aWFsQWVyb1NoYXJlBQAAAAZjaGFySWQJAAGRAAAAAgUAAAAVbmV3TGFuZENoYXJFbGVtU2hhcmVzAAAAAAAAAAADBQAAAANuaWwJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAABHdpdGgAAAACBQAAAB9rZXlDaGFySW5pdGlhbEdlbmVyYXRlZFN1cHBsaWVzBQAAAAZjaGFySWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAABHdpdGgAAAACBQAAABdrZXlDaGFySW5pdGlhbFB5cm9TaGFyZQUAAAAGY2hhcklkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAAR3aXRoAAAAAgUAAAAXa2V5Q2hhckluaXRpYWxBcXVhU2hhcmUFAAAABmNoYXJJZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAEd2l0aAAAAAIFAAAAGGtleUNoYXJJbml0aWFsVGVycmFTaGFyZQUAAAAGY2hhcklkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAAR3aXRoAAAAAgUAAAAXa2V5Q2hhckluaXRpYWxBZXJvU2hhcmUFAAAABmNoYXJJZAUAAAADbmlsBAAAAA5leGl0aW5nQWN0aW9ucwMJAQAAAAIhPQAAAAIFAAAAC2N1cnJlbnRMYW5kAAAAAAAAAAAABAAAAA9zZW5kVG9rZW5zVG9BcHAJAAP8AAAABAUAAAAGZ292QXBwAgAAAA9zZW5kVG9rZW5zVG9BcHAJAARMAAAAAgkBAAAADmNhbGNDaGFySW5jb21lAAAABAUAAAAGY2hhcklkBQAAABBvbGRMYW5kRWxlbVBvd2VyBQAAABRjaGFyTmF0dXJhbEVsZW1Cb251cwUAAAAYY3VycmVudEdlbmVyYXRlZFN1cHBsaWVzCQAETAAAAAIICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAA9zZW5kVG9rZW5zVG9BcHAFAAAAD3NlbmRUb2tlbnNUb0FwcAQAAAAPY2hhclRva2VuSW5jb21lBAAAAAckbWF0Y2gwBQAAAA9zZW5kVG9rZW5zVG9BcHADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAFaXNJbnQFAAAAByRtYXRjaDAFAAAABWlzSW50CQAAAgAAAAECAAAADEludm9rZSBpc3N1ZQQAAAASbmV3Q2hhclRvdGFsSW5jb21lCQAAZAAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAABHdpdGgAAAACBQAAABJrZXlDaGFyVG90YWxJbmNvbWUFAAAABmNoYXJJZAAAAAAAAAAAAAUAAAAPY2hhclRva2VuSW5jb21lBAAAABVuZXdBZGRyZXNzVG90YWxJbmNvbWUJAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAEd2l0aAAAAAIFAAAAFWtleUFkZHJlc3NUb3RhbEluY29tZQUAAAAKY2FsbGVyQWRkcgAAAAAAAAAAAAUAAAAPY2hhclRva2VuSW5jb21lBAAAABNvbGRMYW5kTmV3RWxlbVBvd2VyCQEAAAAUY2FsY09sZExhbmRFbGVtUG93ZXIAAAACBQAAABBvbGRMYW5kRWxlbVBvd2VyBQAAABRjaGFyTmF0dXJhbEVsZW1Cb251cwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAD2NoYXJUb2tlbkluY29tZQkBAAAAEUBleHRyTmF0aXZlKDEwNTIpAAAAAgUAAAAGZ292QXBwBQAAAAprZXlUb2tlbklkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAEmtleUNoYXJUb3RhbEluY29tZQUAAAAGY2hhcklkBQAAABJuZXdDaGFyVG90YWxJbmNvbWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAAVa2V5QWRkcmVzc1RvdGFsSW5jb21lBQAAAApjYWxsZXJBZGRyBQAAABJuZXdDaGFyVG90YWxJbmNvbWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAAQa2V5TGFuZFB5cm9Qb3dlcgUAAAALY3VycmVudExhbmQJAAGRAAAAAgUAAAATb2xkTGFuZE5ld0VsZW1Qb3dlcgAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAABBrZXlMYW5kQXF1YVBvd2VyBQAAAAtjdXJyZW50TGFuZAkAAZEAAAACBQAAABNvbGRMYW5kTmV3RWxlbVBvd2VyAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAEWtleUxhbmRUZXJyYVBvd2VyBQAAAAtjdXJyZW50TGFuZAkAAZEAAAACBQAAABNvbGRMYW5kTmV3RWxlbVBvd2VyAAAAAAAAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAEGtleUxhbmRBZXJvUG93ZXIFAAAAC2N1cnJlbnRMYW5kCQABkQAAAAIFAAAAE29sZExhbmROZXdFbGVtUG93ZXIAAAAAAAAAAAMFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4FAAAAA25pbAkABE4AAAACCQAETgAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAASa2V5Q2hhckN1cnJlbnRMYW5kBQAAAAZjaGFySWQFAAAABmxhbmRJZAUAAAADbmlsBQAAAA5qb2luaW5nQWN0aW9ucwUAAAAOZXhpdGluZ0FjdGlvbnMJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmmYHLt", "height": 2056949, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3LapG6R7tHyCvhzxeDJreDFqL3uefc2BH2XJNEQK39pa Next: C1bVv8dpSsPMXq821V5nWc7wYBEvFyFWnVwjYbpqP44L Diff:
Old | New | Differences | |
---|---|---|---|
33 | 33 | ||
34 | 34 | let p = "ecosystem_addresses" | |
35 | 35 | ||
36 | - | let q = " | |
36 | + | let q = "token_id" | |
37 | 37 | ||
38 | - | let r = " | |
38 | + | let r = "total_lands" | |
39 | 39 | ||
40 | - | let s = | |
40 | + | let s = "token_emission_rate" | |
41 | 41 | ||
42 | - | let t = " | |
42 | + | let t = addressFromStringValue("3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ") | |
43 | 43 | ||
44 | - | let u = " | |
44 | + | let u = "owner" | |
45 | 45 | ||
46 | - | let v = "natural_ | |
46 | + | let v = "natural_pyro_bonus" | |
47 | 47 | ||
48 | - | let w = "natural_ | |
48 | + | let w = "natural_aqua_bonus" | |
49 | 49 | ||
50 | - | let x = "natural_ | |
50 | + | let x = "natural_terra_bonus" | |
51 | 51 | ||
52 | - | func y (z) = if ((isDataStorageUntouched(o) != false)) | |
52 | + | let y = "natural_aero_bonus" | |
53 | + | ||
54 | + | func z (A) = if ((isDataStorageUntouched(o) != false)) | |
53 | 55 | then throw("Governing app not ready") | |
54 | 56 | else { | |
55 | - | let | |
56 | - | if ((contains( | |
57 | + | let B = getStringValue(o, p) | |
58 | + | if ((contains(B, toString(A)) != false)) | |
57 | 59 | then throw("Access denied") | |
58 | 60 | else true | |
59 | 61 | } | |
60 | 62 | ||
61 | 63 | ||
62 | - | func | |
63 | - | let | |
64 | - | let | |
65 | - | if ($isInstanceOf( | |
64 | + | func C (D,E) = { | |
65 | + | let F = { | |
66 | + | let G = E | |
67 | + | if ($isInstanceOf(G, "Int")) | |
66 | 68 | then { | |
67 | - | let | |
68 | - | toString( | |
69 | + | let H = G | |
70 | + | toString(H) | |
69 | 71 | } | |
70 | - | else if ($isInstanceOf( | |
72 | + | else if ($isInstanceOf(G, "String")) | |
71 | 73 | then { | |
72 | - | let | |
73 | - | | |
74 | + | let I = G | |
75 | + | I | |
74 | 76 | } | |
75 | 77 | else throw("Matching issue in with function") | |
76 | 78 | } | |
77 | - | (( | |
79 | + | ((F + a) + D) | |
78 | 80 | } | |
79 | 81 | ||
80 | 82 | ||
81 | - | func | |
83 | + | func J (K) = [getIntegerValue(t, C(v, K)), getIntegerValue(t, C(w, K)), getIntegerValue(t, C(x, K)), getIntegerValue(t, C(y, K))] | |
82 | 84 | ||
83 | 85 | ||
84 | - | func | |
86 | + | func L (M) = [valueOrElse(getInteger(this, C(e, M)), 0), valueOrElse(getInteger(this, C(f, M)), 0), valueOrElse(getInteger(this, C(g, M)), 0), valueOrElse(getInteger(this, C(h, M)), 0)] | |
85 | 87 | ||
86 | 88 | ||
87 | - | func | |
88 | - | let | |
89 | - | [( | |
89 | + | func N (M,O) = { | |
90 | + | let P = L(M) | |
91 | + | [(P[0] + O[0]), (P[1] + O[1]), (P[2] + O[2]), (P[3] + O[3])] | |
90 | 92 | } | |
91 | 93 | ||
92 | 94 | ||
93 | - | func | |
95 | + | func Q (R,O) = [(R[0] - O[0]), (R[1] - O[1]), (R[2] - O[2]), (R[3] - O[3])] | |
94 | 96 | ||
95 | 97 | ||
96 | - | func | |
98 | + | func S (T,U) = [fraction(b, T[0], U[0]), fraction(b, T[1], U[1]), fraction(b, T[2], U[2]), fraction(b, T[3], U[3])] | |
97 | 99 | ||
98 | 100 | ||
99 | - | func | |
100 | - | let | |
101 | - | let | |
102 | - | let | |
103 | - | (((fraction( | |
101 | + | func V (K,R,O,W) = { | |
102 | + | let X = S(R, O) | |
103 | + | let Y = [((getIntegerValue(this, C(i, K)) + X[0]) / 2), ((getIntegerValue(this, C(j, K)) + X[1]) / 2), ((getIntegerValue(this, C(k, K)) + X[2]) / 2), ((getIntegerValue(this, C(l, K)) + X[3]) / 2)] | |
104 | + | let Z = (((W - getIntegerValue(this, C(d, K))) / getIntegerValue(o, r)) / 4) | |
105 | + | (((fraction(Z, Y[0], b) + fraction(Z, Y[1], b)) + fraction(Z, Y[2], b)) + fraction(Z, Y[3], b)) | |
104 | 106 | } | |
105 | 107 | ||
106 | 108 | ||
107 | - | @Callable( | |
108 | - | func charMovingLand ( | |
109 | + | @Callable(aa) | |
110 | + | func charMovingLand (K,M) = if ((z(aa.caller) != true)) | |
109 | 111 | then throw() | |
110 | 112 | else { | |
111 | - | let | |
112 | - | if ((getStringValue( | |
113 | + | let A = toBase58String(aa.caller.bytes) | |
114 | + | if ((getStringValue(t, C(u, K)) != A)) | |
113 | 115 | then throw("Caller doesn't own this char") | |
114 | - | else if (if ((0 > | |
116 | + | else if (if ((0 > M)) | |
115 | 117 | then true | |
116 | - | else ( | |
118 | + | else (M > getIntegerValue(o, r))) | |
117 | 119 | then throw("Not a land") | |
118 | 120 | else { | |
119 | - | let | |
120 | - | if (( | |
121 | + | let ab = valueOrElse(getInteger(this, C(c, K)), 0) | |
122 | + | if ((ab == M)) | |
121 | 123 | then throw("Char already on that land") | |
122 | 124 | else { | |
123 | - | let | |
124 | - | let | |
125 | - | let | |
126 | - | if (( | |
125 | + | let O = J(K) | |
126 | + | let R = L(ab) | |
127 | + | let ac = invoke(o, "getGeneratedSupplies", nil, nil) | |
128 | + | if ((ac == ac)) | |
127 | 129 | then { | |
128 | - | let | |
129 | - | let | |
130 | - | if ($isInstanceOf( | |
130 | + | let W = { | |
131 | + | let G = ac | |
132 | + | if ($isInstanceOf(G, "Int")) | |
131 | 133 | then { | |
132 | - | let | |
133 | - | | |
134 | + | let H = G | |
135 | + | H | |
134 | 136 | } | |
135 | 137 | else throw("Bad invoke result") | |
136 | 138 | } | |
137 | - | let | |
139 | + | let ad = if ((M != 0)) | |
138 | 140 | then { | |
139 | - | let | |
140 | - | let | |
141 | - | [IntegerEntry( | |
141 | + | let ae = N(M, O) | |
142 | + | let af = S(O, ae) | |
143 | + | [IntegerEntry(C(e, M), ae[0]), IntegerEntry(C(f, M), ae[1]), IntegerEntry(C(g, M), ae[2]), IntegerEntry(C(h, M), ae[3]), IntegerEntry(C(d, K), W), IntegerEntry(C(i, K), af[0]), IntegerEntry(C(j, K), af[1]), IntegerEntry(C(k, K), af[2]), IntegerEntry(C(l, K), af[3])] | |
142 | 144 | } | |
143 | - | else [DeleteEntry( | |
144 | - | let | |
145 | + | else [DeleteEntry(C(d, K)), DeleteEntry(C(i, K)), DeleteEntry(C(j, K)), DeleteEntry(C(k, K)), DeleteEntry(C(l, K))] | |
146 | + | let ag = if ((ab != 0)) | |
145 | 147 | then { | |
146 | - | let | |
147 | - | if (( | |
148 | + | let ah = invoke(o, "sendTokensToApp", [V(K, R, O, W), aa.caller.bytes], nil) | |
149 | + | if ((ah == ah)) | |
148 | 150 | then { | |
149 | - | let | |
150 | - | let | |
151 | - | if ($isInstanceOf( | |
151 | + | let ai = { | |
152 | + | let G = ah | |
153 | + | if ($isInstanceOf(G, "Int")) | |
152 | 154 | then { | |
153 | - | let | |
154 | - | | |
155 | + | let H = G | |
156 | + | H | |
155 | 157 | } | |
156 | 158 | else throw("Invoke issue") | |
157 | 159 | } | |
158 | - | let | |
159 | - | let | |
160 | - | let | |
161 | - | [ | |
160 | + | let aj = (valueOrElse(getInteger(this, C(m, K)), 0) + ai) | |
161 | + | let ak = (valueOrElse(getInteger(this, C(n, A)), 0) + ai) | |
162 | + | let al = Q(R, O) | |
163 | + | [ScriptTransfer(aa.caller, ai, getBinaryValue(o, q)), IntegerEntry(C(m, K), aj), IntegerEntry(C(n, A), aj), IntegerEntry(C(e, ab), al[0]), IntegerEntry(C(f, ab), al[1]), IntegerEntry(C(g, ab), al[2]), IntegerEntry(C(h, ab), al[3])] | |
162 | 164 | } | |
163 | 165 | else throw("Strict value is not equal to itself.") | |
164 | 166 | } | |
165 | 167 | else nil | |
166 | - | (([IntegerEntry( | |
168 | + | (([IntegerEntry(C(c, K), M)] ++ ad) ++ ag) | |
167 | 169 | } | |
168 | 170 | else throw("Strict value is not equal to itself.") | |
169 | 171 | } | |
171 | 173 | } | |
172 | 174 | ||
173 | 175 | ||
174 | - | @Verifier( | |
175 | - | func | |
176 | + | @Verifier(am) | |
177 | + | func an () = sigVerify(am.bodyBytes, am.proofs[0], am.senderPublicKey) | |
176 | 178 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "_" | |
5 | 5 | ||
6 | 6 | let b = 1000000000000000000 | |
7 | 7 | ||
8 | 8 | let c = "char_current_land" | |
9 | 9 | ||
10 | 10 | let d = "char_initial_generated_supplies" | |
11 | 11 | ||
12 | 12 | let e = "land_pyro_power" | |
13 | 13 | ||
14 | 14 | let f = "land_aqua_power" | |
15 | 15 | ||
16 | 16 | let g = "land_terra_power" | |
17 | 17 | ||
18 | 18 | let h = "land_aero_power" | |
19 | 19 | ||
20 | 20 | let i = "char_initial_pyro_share" | |
21 | 21 | ||
22 | 22 | let j = "char_initial_aqua_share" | |
23 | 23 | ||
24 | 24 | let k = "char_initial_terra_share" | |
25 | 25 | ||
26 | 26 | let l = "char_initial_aero_share" | |
27 | 27 | ||
28 | 28 | let m = "char_total_income" | |
29 | 29 | ||
30 | 30 | let n = "address_total_income" | |
31 | 31 | ||
32 | 32 | let o = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG") | |
33 | 33 | ||
34 | 34 | let p = "ecosystem_addresses" | |
35 | 35 | ||
36 | - | let q = " | |
36 | + | let q = "token_id" | |
37 | 37 | ||
38 | - | let r = " | |
38 | + | let r = "total_lands" | |
39 | 39 | ||
40 | - | let s = | |
40 | + | let s = "token_emission_rate" | |
41 | 41 | ||
42 | - | let t = " | |
42 | + | let t = addressFromStringValue("3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ") | |
43 | 43 | ||
44 | - | let u = " | |
44 | + | let u = "owner" | |
45 | 45 | ||
46 | - | let v = "natural_ | |
46 | + | let v = "natural_pyro_bonus" | |
47 | 47 | ||
48 | - | let w = "natural_ | |
48 | + | let w = "natural_aqua_bonus" | |
49 | 49 | ||
50 | - | let x = "natural_ | |
50 | + | let x = "natural_terra_bonus" | |
51 | 51 | ||
52 | - | func y (z) = if ((isDataStorageUntouched(o) != false)) | |
52 | + | let y = "natural_aero_bonus" | |
53 | + | ||
54 | + | func z (A) = if ((isDataStorageUntouched(o) != false)) | |
53 | 55 | then throw("Governing app not ready") | |
54 | 56 | else { | |
55 | - | let | |
56 | - | if ((contains( | |
57 | + | let B = getStringValue(o, p) | |
58 | + | if ((contains(B, toString(A)) != false)) | |
57 | 59 | then throw("Access denied") | |
58 | 60 | else true | |
59 | 61 | } | |
60 | 62 | ||
61 | 63 | ||
62 | - | func | |
63 | - | let | |
64 | - | let | |
65 | - | if ($isInstanceOf( | |
64 | + | func C (D,E) = { | |
65 | + | let F = { | |
66 | + | let G = E | |
67 | + | if ($isInstanceOf(G, "Int")) | |
66 | 68 | then { | |
67 | - | let | |
68 | - | toString( | |
69 | + | let H = G | |
70 | + | toString(H) | |
69 | 71 | } | |
70 | - | else if ($isInstanceOf( | |
72 | + | else if ($isInstanceOf(G, "String")) | |
71 | 73 | then { | |
72 | - | let | |
73 | - | | |
74 | + | let I = G | |
75 | + | I | |
74 | 76 | } | |
75 | 77 | else throw("Matching issue in with function") | |
76 | 78 | } | |
77 | - | (( | |
79 | + | ((F + a) + D) | |
78 | 80 | } | |
79 | 81 | ||
80 | 82 | ||
81 | - | func | |
83 | + | func J (K) = [getIntegerValue(t, C(v, K)), getIntegerValue(t, C(w, K)), getIntegerValue(t, C(x, K)), getIntegerValue(t, C(y, K))] | |
82 | 84 | ||
83 | 85 | ||
84 | - | func | |
86 | + | func L (M) = [valueOrElse(getInteger(this, C(e, M)), 0), valueOrElse(getInteger(this, C(f, M)), 0), valueOrElse(getInteger(this, C(g, M)), 0), valueOrElse(getInteger(this, C(h, M)), 0)] | |
85 | 87 | ||
86 | 88 | ||
87 | - | func | |
88 | - | let | |
89 | - | [( | |
89 | + | func N (M,O) = { | |
90 | + | let P = L(M) | |
91 | + | [(P[0] + O[0]), (P[1] + O[1]), (P[2] + O[2]), (P[3] + O[3])] | |
90 | 92 | } | |
91 | 93 | ||
92 | 94 | ||
93 | - | func | |
95 | + | func Q (R,O) = [(R[0] - O[0]), (R[1] - O[1]), (R[2] - O[2]), (R[3] - O[3])] | |
94 | 96 | ||
95 | 97 | ||
96 | - | func | |
98 | + | func S (T,U) = [fraction(b, T[0], U[0]), fraction(b, T[1], U[1]), fraction(b, T[2], U[2]), fraction(b, T[3], U[3])] | |
97 | 99 | ||
98 | 100 | ||
99 | - | func | |
100 | - | let | |
101 | - | let | |
102 | - | let | |
103 | - | (((fraction( | |
101 | + | func V (K,R,O,W) = { | |
102 | + | let X = S(R, O) | |
103 | + | let Y = [((getIntegerValue(this, C(i, K)) + X[0]) / 2), ((getIntegerValue(this, C(j, K)) + X[1]) / 2), ((getIntegerValue(this, C(k, K)) + X[2]) / 2), ((getIntegerValue(this, C(l, K)) + X[3]) / 2)] | |
104 | + | let Z = (((W - getIntegerValue(this, C(d, K))) / getIntegerValue(o, r)) / 4) | |
105 | + | (((fraction(Z, Y[0], b) + fraction(Z, Y[1], b)) + fraction(Z, Y[2], b)) + fraction(Z, Y[3], b)) | |
104 | 106 | } | |
105 | 107 | ||
106 | 108 | ||
107 | - | @Callable( | |
108 | - | func charMovingLand ( | |
109 | + | @Callable(aa) | |
110 | + | func charMovingLand (K,M) = if ((z(aa.caller) != true)) | |
109 | 111 | then throw() | |
110 | 112 | else { | |
111 | - | let | |
112 | - | if ((getStringValue( | |
113 | + | let A = toBase58String(aa.caller.bytes) | |
114 | + | if ((getStringValue(t, C(u, K)) != A)) | |
113 | 115 | then throw("Caller doesn't own this char") | |
114 | - | else if (if ((0 > | |
116 | + | else if (if ((0 > M)) | |
115 | 117 | then true | |
116 | - | else ( | |
118 | + | else (M > getIntegerValue(o, r))) | |
117 | 119 | then throw("Not a land") | |
118 | 120 | else { | |
119 | - | let | |
120 | - | if (( | |
121 | + | let ab = valueOrElse(getInteger(this, C(c, K)), 0) | |
122 | + | if ((ab == M)) | |
121 | 123 | then throw("Char already on that land") | |
122 | 124 | else { | |
123 | - | let | |
124 | - | let | |
125 | - | let | |
126 | - | if (( | |
125 | + | let O = J(K) | |
126 | + | let R = L(ab) | |
127 | + | let ac = invoke(o, "getGeneratedSupplies", nil, nil) | |
128 | + | if ((ac == ac)) | |
127 | 129 | then { | |
128 | - | let | |
129 | - | let | |
130 | - | if ($isInstanceOf( | |
130 | + | let W = { | |
131 | + | let G = ac | |
132 | + | if ($isInstanceOf(G, "Int")) | |
131 | 133 | then { | |
132 | - | let | |
133 | - | | |
134 | + | let H = G | |
135 | + | H | |
134 | 136 | } | |
135 | 137 | else throw("Bad invoke result") | |
136 | 138 | } | |
137 | - | let | |
139 | + | let ad = if ((M != 0)) | |
138 | 140 | then { | |
139 | - | let | |
140 | - | let | |
141 | - | [IntegerEntry( | |
141 | + | let ae = N(M, O) | |
142 | + | let af = S(O, ae) | |
143 | + | [IntegerEntry(C(e, M), ae[0]), IntegerEntry(C(f, M), ae[1]), IntegerEntry(C(g, M), ae[2]), IntegerEntry(C(h, M), ae[3]), IntegerEntry(C(d, K), W), IntegerEntry(C(i, K), af[0]), IntegerEntry(C(j, K), af[1]), IntegerEntry(C(k, K), af[2]), IntegerEntry(C(l, K), af[3])] | |
142 | 144 | } | |
143 | - | else [DeleteEntry( | |
144 | - | let | |
145 | + | else [DeleteEntry(C(d, K)), DeleteEntry(C(i, K)), DeleteEntry(C(j, K)), DeleteEntry(C(k, K)), DeleteEntry(C(l, K))] | |
146 | + | let ag = if ((ab != 0)) | |
145 | 147 | then { | |
146 | - | let | |
147 | - | if (( | |
148 | + | let ah = invoke(o, "sendTokensToApp", [V(K, R, O, W), aa.caller.bytes], nil) | |
149 | + | if ((ah == ah)) | |
148 | 150 | then { | |
149 | - | let | |
150 | - | let | |
151 | - | if ($isInstanceOf( | |
151 | + | let ai = { | |
152 | + | let G = ah | |
153 | + | if ($isInstanceOf(G, "Int")) | |
152 | 154 | then { | |
153 | - | let | |
154 | - | | |
155 | + | let H = G | |
156 | + | H | |
155 | 157 | } | |
156 | 158 | else throw("Invoke issue") | |
157 | 159 | } | |
158 | - | let | |
159 | - | let | |
160 | - | let | |
161 | - | [ | |
160 | + | let aj = (valueOrElse(getInteger(this, C(m, K)), 0) + ai) | |
161 | + | let ak = (valueOrElse(getInteger(this, C(n, A)), 0) + ai) | |
162 | + | let al = Q(R, O) | |
163 | + | [ScriptTransfer(aa.caller, ai, getBinaryValue(o, q)), IntegerEntry(C(m, K), aj), IntegerEntry(C(n, A), aj), IntegerEntry(C(e, ab), al[0]), IntegerEntry(C(f, ab), al[1]), IntegerEntry(C(g, ab), al[2]), IntegerEntry(C(h, ab), al[3])] | |
162 | 164 | } | |
163 | 165 | else throw("Strict value is not equal to itself.") | |
164 | 166 | } | |
165 | 167 | else nil | |
166 | - | (([IntegerEntry( | |
168 | + | (([IntegerEntry(C(c, K), M)] ++ ad) ++ ag) | |
167 | 169 | } | |
168 | 170 | else throw("Strict value is not equal to itself.") | |
169 | 171 | } | |
170 | 172 | } | |
171 | 173 | } | |
172 | 174 | ||
173 | 175 | ||
174 | - | @Verifier( | |
175 | - | func | |
176 | + | @Verifier(am) | |
177 | + | func an () = sigVerify(am.bodyBytes, am.proofs[0], am.senderPublicKey) | |
176 | 178 |
github/deemru/w8io/169f3d6 124.63 ms ◑