tx · D9hSjsYxjrYbE63CLrsb5BK6bRW4tbiZvxLaMuY1NhAU

3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb:  -0.03200000 Waves

2022.07.07 13:00 [2129125] smart account 3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb > SELF 0.00000000 Waves

{ "type": 13, "id": "D9hSjsYxjrYbE63CLrsb5BK6bRW4tbiZvxLaMuY1NhAU", "fee": 3200000, "feeAssetId": null, "timestamp": 1657188015115, "version": 2, "chainId": 84, "sender": "3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb", "senderPublicKey": "FWSsBbeCwLVkekWhvNKtX6JkrZiruRybKKVuiS3F4bqN", "proofs": [ "3gtRhKSXwWPoK9GC2cECeDeaF1eF7exDzwo2twgB4nw7YquqX1DMxceTAQbawiJe6PryUWfZNCEmLhSUwYYYT6rW" ], "script": "base64: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AAAAAAAAZAMJAABmAAAAAgUAAAAKYXNzZXRQb3dlcgAAAAAAAAAAAAQAAAAMY3VycmVudFBvd2VyCQEAAAAUbmF0aW9uc1RyeUdldEludGVnZXIAAAABCQABLAAAAAIFAAAABmNhbGxlcgIAAAAGX1Bvd2VyBAAAAAJwdwkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAADm5hdGlvbnNBZGRyZXNzAgAAAAxzZXRVc2VyUG93ZXIJAARMAAAAAgUAAAAGY2FsbGVyCQAETAAAAAIJAABkAAAAAgUAAAAMY3VycmVudFBvd2VyBQAAAAphc3NldFBvd2VyBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAACcHcFAAAAAnB3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAhhc3NldEtleQUAAAAKYXNzZXRDb2lucwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAABFCdWlsZGluZ1N0YXR1c0tleQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAA9maW5pc2hIZWlnaHRLZXkFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACGFzc2V0S2V5BQAAAAphc3NldENvaW5zCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAEUJ1aWxkaW5nU3RhdHVzS2V5CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAD2ZpbmlzaEhlaWdodEtleQUAAAADbmlsAQAAABNpbnRlcm5hbEZpbmlzaEJ1aWxkAAAABgAAAAZjYWxsZXIAAAAIYXNzZXRTdHIAAAAIYXNzZXRLZXkAAAARQnVpbGRpbmdTdGF0dXNLZXkAAAAPZmluaXNoSGVpZ2h0S2V5AAAADXRyYW5zYWN0aW9uSWQEAAAABmNodW5rcwkBAAAAEWdldEFzc2V0VHlwZUxldmVsAAAAAQUAAAAIYXNzZXRTdHIEAAAADHN0ckFzc2V0VHlwZQgFAAAABmNodW5rcwAAAAJfMQQAAAAFbGV2ZWwIBQAAAAZjaHVua3MA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ASwAAAACBQAAAAxhZ2dyQXNzZXRrZXkCAAAABl9Pd25lcgUAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAxhZ2dyQXNzZXRrZXkJAABkAAAAAgUAAAAFY29pbnMFAAAACmFzc2V0Q29pbnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAMYWdnckFzc2V0a2V5AgAAAARfUXR5CQAAZAAAAAIFAAAAA3F0eQAAAAAAAAAAAQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAABFCdWlsZGluZ1N0YXR1c0tleQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAA9maW5pc2hIZWlnaHRLZXkFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAIYXNzZXRLZXkFAAAACmFzc2V0Q29pbnMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAARQnVpbGRpbmdTdGF0dXNLZXkJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAPZmluaXNoSGVpZ2h0S2V5BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQAAAA9jaGVja0Fzc2V0T3duZXIAAAACAAAABmNhbGxlcgAAAAhhc3NldEtleQQAAAAKYXNzZXRPd25lcgkBAAAADHRyeUdldFN0cmluZwAAAAEJAQAAABZnZXRBc3NldE93bmVyS2V5U3RyaW5nAAAAAQUAAAAIYXNzZXRLZXkJAAAAAAAAAgUAAAAKYXNzZXRPd25lcgUAAAAGY2FsbGVyAQAAABVpc05hdGlvblJlc2VydmVkQXNzZXQAAAACAAAABE5hbWUAAAAFTGV2ZWwEAAAAAWsJAQAAAAhnZXRBTEtleQAAAAIFAAAABE5hbWUFAAAABUxldmVsCQEAAAARY29uZlRyeUdldEJvb2xlYW4AAAABCQABLAAAAAIFAAAAAWsCAAAAD19OYXRpb25SZXNlcnZlZAEAAAAZaW50ZXJuYWxUcmFzbmZlck93bmVyc2hpcAAAAAMAAAAHYXNzZXRJZAAAAAhuZXdPd25lcgAAAANxdHkEAAAABmNodW5rcwkBAAAAEWdldEFzc2V0VHlwZUxldmVsAAAAAQUAAAAHYXNzZXRJZAQAAAAMc3RyQXNzZXRUeXBlCAUAAAAGY2h1bmtzAAAAAl8xBAAAAAVsZXZlbAgFAAAABmNodW5rcwAAAAJfMgQAAAABawkBAAAACGdldEFMS2V5AAAAAgUAAAAMc3RyQXNzZXRUeXBlBQAAAAVsZXZlbAQAAAAIb2xkT3duZXIJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQEAAAAWZ2V0QXNzZXRPd25lcktleVN0cmluZwAAAAEFAAAAB2Fzc2V0SWQDCQEAAAARY29uZlRyeUdldEJvb2xlYW4AAAABCQABLAAAAAIFAAAAAWsCAAAAC19BZ2dyZWdhdGVkBAAAAAphc3NldFBvd2VyCQEAAAARY29uZlRyeUdldEludGVnZXIAAAABCQABLAAAAAIFAAAAAWsCAAAABl9Qb3dlcgQAAAAIcXR5UG93ZXIJAABoAAAAAgUAAAAKYXNzZXRQb3dlcgUAAAADcXR5BAAAAAxhZ2dyQXNzZXRrZXkJAAEsAAAAAgkAASwAAAACBQAAAAFrAgAAAAFfBQAAAAhvbGRPd25lcgQAAAAIb2xkUG93ZXIJAQAAABRuYXRpb25zVHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAAIb2xkT3duZXICAAAABl9Qb3dlcgQAAAAIb2xkQ29pbnMJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAMYWdnckFzc2V0a2V5BAAAAApzaW5nbGVDb2luCQAAawAAAAMFAAAACG9sZENvaW5zAAAAAAAAAAABBQAAAANxdHkEAAAACm9sZEl0ZW1xdHkJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACBQAAAAxhZ2dyQXNzZXRrZXkCAAAABF9RdHkEAAAAD25ld0FnZ3JBc3NldEtleQkAASwAAAACCQABLAAAAAIFAAAAAWsCAAAAAV8FAAAACG5ld093bmVyBAAAAAhuZXdDb2lucwkBAAAADXRyeUdldEludGVnZXIAAAABBQAAAA9uZXdBZ2dyQXNzZXRLZXkEAAAACm5ld0l0ZW1xdHkJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACBQAAAA9uZXdBZ2dyQXNzZXRLZXkCAAAABF9RdHkEAAAACG5ld1Bvd2VyCQEAAAAUbmF0aW9uc1RyeUdldEludGVnZXIAAAABCQABLAAAAAIFAAAACG5ld093bmVyAgAAAAZfUG93ZXIEAAAABXB3T2xkCQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAObmF0aW9uc0FkZHJlc3MCAAAADHNldFVzZXJQb3dlcgkABEwAAAACBQAAAAhvbGRPd25lcgkABEwAAAACCQAAZQAAAAIFAAAACG9sZFBvd2VyBQAAAAhxdHlQb3dlcgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAABXB3T2xkBQAAAAVwd09sZAQAAAAFcHdOZXcJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAAA5uYXRpb25zQWRkcmVzcwIAAAAMc2V0VXNlclBvd2VyCQAETAAAAAIFAAAACG5ld093bmVyCQAETAAAAAIJAABkAAAAAgUAAAAIbmV3UG93ZXIFAAAACHF0eVBvd2VyBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAFcHdOZXcFAAAABXB3TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADGFnZ3JBc3NldGtleQIAAAAEX1F0eQkAAGUAAAACBQAAAApvbGRJdGVtcXR5BQAAAANxdHkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAPbmV3QWdnckFzc2V0S2V5AgAAAARfUXR5CQAAZAAAAAIFAAAACm5ld0l0ZW1xdHkFAAAAA3F0eQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAMYWdnckFzc2V0a2V5CQAAZQAAAAIFAAAACG9sZENvaW5zCQAAaAAAAAIFAAAAA3F0eQUAAAAKc2luZ2xlQ29pbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPbmV3QWdnckFzc2V0S2V5CQAAZAAAAAIFAAAACG5ld0NvaW5zCQAAaAAAAAIFAAAAA3F0eQUAAAAKc2luZ2xlQ29pbgUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EAAAACmFzc2V0UG93ZXIJAQAAABFjb25mVHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAABawIAAAAGX1Bvd2VyAwkAAGYAAAACBQAAAAphc3NldFBvd2VyAAAAAAAAAAAABAAAAAxjdXJyZW50UG93ZXIJAQAAABRuYXRpb25zVHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAAIb2xkT3duZXICAAAABl9Qb3dlcgQAAAACcHcJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAAA5uYXRpb25zQWRkcmVzcwIAAAAMc2V0VXNlclBvd2VyCQAETAAAAAIFAAAACG9sZE93bmVyCQAETAAAAAIJAABlAAAAAgUAAAAMY3VycmVudFBvd2VyBQAAAAphc3NldFBvd2VyBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAACcHcFAAAAAnB3AwkBAAAAAiE9AAAAAgUAAAACcHcJAABlAAAAAgUAAAAMY3VycmVudFBvd2VyBQAAAAphc3NldFBvd2VyCQAAAgAAAAECAAAAF0luY29ycmVjdCBpbnZva2UgcmVzdWx0BAAAAA9uZXdjdXJyZW50UG93ZXIJAQAAABRuYXRpb25zVHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAAIbmV3T3duZXICAAAABl9Qb3dlcgQAAAADcHcyCQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAObmF0aW9uc0FkZHJlc3MCAAAADHNldFVzZXJQb3dlcgkABEwAAAACBQAAAAhuZXdPd25lcgkABEwAAAACCQAAZAAAAAIFAAAAD25ld2N1cnJlbnRQb3dlcgUAAAAKYXNzZXRQb3dlcgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAA3B3MgUAAAADcHcyBAAAAAckbWF0Y2gwBQAAAANwdzIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABcgUAAAAHJG1hdGNoMAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAWZ2V0QXNzZXRPd25lcktleVN0cmluZwAAAAEFAAAAB2Fzc2V0SWQFAAAACG5ld093bmVyBQAAAANuaWwJAAACAAAAAQIAAAAXSW5jb3JyZWN0IGludm9rZSByZXN1bHQJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAWZ2V0QXNzZXRPd25lcktleVN0cmluZwAAAAEFAAAAB2Fzc2V0SWQFAAAACG5ld093bmVyBQAAAANuaWwBAAAAHENoZWNrQXNzZXRCdWlsZGFibGVTYWNyaWZpY2UAAAADAAAABUFMS2V5AAAABmNhbGxlcgAAAAxTYWNyaWZpY2VLZXkEAAAACGFzc2V0U2FjCQEAAAAQY29uZlRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgUAAAAFQUxLZXkCAAAAD19TYWNyaWZpY2VBc3NldAQAAAALYXNzZXRTYWNsdmwJAQAAABFjb25mVHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAAFQUxLZXkCAAAAFF9TYWNyaWZpY2VBc3NldExldmVsAwkAAAAAAAACBQAAAAhhc3NldFNhYwIAAAAABgMJAQAAAAEhAAAAAQkBAAAAD2NoZWNrQXNzZXRPd25lcgAAAAIFAAAABmNhbGxlcgUAAAAMU2FjcmlmaWNlS2V5CQAAAgAAAAECAAAALHlvdSBhcmUgbm90IHRoZSBvd25lciBvZiB0aGUgU2FjcmlmaWNlIGFzc2V0BAAAAAZjaHVua3MJAQAAABFnZXRBc3NldFR5cGVMZXZlbAAAAAEFAAAADFNhY3JpZmljZUtleQMDCQEAAAACIT0AAAACBQAAAAhhc3NldFNhYwgFAAAABmNodW5rcwAAAAJfMQYJAQAAAAIhPQAAAAIFAAAAC2Fzc2V0U2FjbHZsCAUAAAAGY2h1bmtzAAAAAl8yCQAAAgAAAAECAAAALnRoZSBzYWNyaWZpY2VBc3NldCBoYXMgdGhlIHdyb25nIHR5cGUgb3IgbGV2ZWwGAQAAABlDaGVja0Fzc2V0QnVpbGRhYmxlTmF0aW9uAAAABAAAAAROYW1lAAAABUxldmVsAAAACU5hdGlvbktleQAAAAxTYWNyaWZpY2VLZXkEAAAAB2NuZmdLZXkJAQAAAAhnZXRBTEtleQAAAAIFAAAABE5hbWUFAAAABUxldmVsBAAAAAN0ZWMJAQAAABBjb25mVHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACBQAAAAdjbmZnS2V5AgAAABZfVGVjbmhvbG9neV9kaXNjb3ZlcmVkAwkBAAAAAiE9AAAAAgUAAAADdGVjAgAAAAADCQEAAAAUbmF0aW9uc1RyeUdldEJvb2xlYW4AAAABCQABLAAAAAIJAAEsAAAAAgUAAAAJTmF0aW9uS2V5AgAAAAFfBQAAAAN0ZWMJAQAAABxDaGVja0Fzc2V0QnVpbGRhYmxlU2FjcmlmaWNlAAAAAwUAAAAHY25mZ0tleQUAAAAJTmF0aW9uS2V5BQAAAAxTYWNyaWZpY2VLZXkHCQEAAAAcQ2hlY2tBc3NldEJ1aWxkYWJsZVNhY3JpZmljZQAAAAMFAAAAB2NuZmdLZXkFAAAACU5hdGlvbktleQUAAAAMU2FjcmlmaWNlS2V5AQAAABdDaGVja0Fzc2V0QnVpbGRhYmxlVXNlcgAAAAQAAAAETmFtZQAAAAVMZXZlbAAAAAZjYWxsZXIAAAAMU2FjcmlmaWNlS2V5BAAAAAZjbmZLZXkJAQAAAAhnZXRBTEtleQAAAAIFAAAABE5hbWUFAAAABUxldmVsBAAAAAhuYXRpb25JZAkBAAAAFG5hdGlvbnNUcnlHZXRJbnRlZ2VyAAAAAQUAAAAGY2FsbGVyAwkAAAAAAAACBQAAAAhuYXRpb25JZAAAAAAAAAAAAAcEAAAAA3RlYwkBAAAAEGNvbmZUcnlHZXRTdHJpbmcAAAABCQABLAAAAAIFAAAABmNuZktleQIAAAAWX1RlY25ob2xvZ3lfZGlzY292ZXJlZAMJAQAAAAIhPQAAAAIFAAAAA3RlYwIAAAAABAAAAAlOYXRpb25LZXkJAQAAABNuYXRpb25zVHJ5R2V0U3RyaW5nAAAAAQkAAaQAAAABBQAAAAhuYXRpb25JZAMJAQAAABRuYXRpb25zVHJ5R2V0Qm9vbGVhbgAAAAEJAAEsAAAAAgkAASwAAAACBQAAAAlOYXRpb25LZXkCAAAAAV8FAAAAA3RlYwkBAAAAHENoZWNrQXNzZXRCdWlsZGFibGVTYWNyaWZpY2UAAAADBQAAAAZjbmZLZXkFAAAABmNhbGxlcgUAAAAMU2FjcmlmaWNlS2V5BwkBAAAAHENoZWNrQXNzZXRCdWlsZGFibGVTYWNyaWZpY2UAAAADBQAAAAZjbmZLZXkFAAAABmNhbGxlcgUAAAAMU2FjcmlmaWNlS2V5AQAAABNDaGVja0Fzc2V0QnVpbGRhYmxlAAAABQAAAAROYW1lAAAABUxldmVsAAAABkNhbGxlcgAAAAlOYXRpb25LZXkAAAAMU2FjcmlmaWNlS2V5AwkBAAAAAiE9AAAAAgUAAAAJTmF0aW9uS2V5AgAAAAAJAQAAABlDaGVja0Fzc2V0QnVpbGRhYmxlTmF0aW9uAAAABAUAAAAETmFtZQUAAAAFTGV2ZWwFAAAACU5hdGlvbktleQUAAAAMU2FjcmlmaWNlS2V5CQEAAAAXQ2hlY2tBc3NldEJ1aWxkYWJsZVVzZXIAAAAEBQAAAAROYW1lBQAAAAVMZXZlbAUAAAAGQ2FsbGVyBQAAAAxTYWNyaWZpY2VLZXkAAAALAAAAAWkBAAAAClN0YXJ0QnVpbGQAAAAEAAAADHN0ckFzc2V0VHlwZQAAAAVMZXZlbAAAAAlOYXRpb25LZXkAAAAMU2FjcmlmaWNlS2V5AwkBAAAAASEAAAABCQEAAAATQ2hlY2tBc3NldEJ1aWxkYWJsZQAAAAUFAAAADHN0ckFzc2V0VHlwZQUAAAAFTGV2ZWwJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAAlOYXRpb25LZXkFAAAADFNhY3JpZmljZUtleQkAAAIAAAABAgAAABpZb3UgY2Fubm90IGJ1aWxkIHRoaXMgSXRlbQQAAAAHY25mZ0tleQkBAAAACGdldEFMS2V5AAAAAgUAAAAMc3RyQXNzZXRUeXBlBQAAAAVMZXZlbAQAAAAQZGVsYXlGb3JCdWlsZGluZwkBAAAAEWNvbmZUcnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACBQAAAAdjbmZnS2V5AgAAAApfQnVpbGRUaW1lBAAAAA5hc3NldEJ1aWxkQ29zdAkBAAAAEWNvbmZUcnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACBQAAAAdjbmZnS2V5AgAAAAVfQ29zdAQAAAANVG9BZG1pbldhbGxl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RXJyb3IgRGlzdHJpYnV0aW5nIGFzc2V0IHJld2FyZHMJAAACAAAAAQIAAAAdRXJyb3IgRGVwb3NpdGluZyBuYXRpb24gZnVuZHMJAAACAAAAAQIAAAAdRXJyb3IgRGVwb3NpdGluZyBuYXRpb24gZnVuZHMEAAAACGFzc2V0U2FjCQEAAAAQY29uZlRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgUAAAAHY25mZ0tleQIAAAAPX1NhY3JpZmljZUFzc2V0AwkBAAAAAiE9AAAAAgUAAAAIYXNzZXRTYWMCAAAAAAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAxTYWNyaWZpY2VLZXkJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACBQAAAAxTYWNyaWZpY2VLZXkCAAAABl9Pd25lcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAUZ2V0QnVpbGRpbmdTdGF0dXNLZXkAAAADCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcggFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAHY25mZ0tleQUAAAAMQnVpbGRTdGFydGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBnZXRBc3NldE93bmVyS2V5AAAAAggFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAHY25mZ0tleQkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABpnZXRCdWlsZGluZ0ZpbmlzaEhlaWdodEtleQAAAAMJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAAdjbmZnS2V5CQAAZAAAAAIFAAAABmhlaWdodAUAAAAQZGVsYXlGb3JCdWlsZGluZwUAAAADbmlsBAAAAAhhbW91bnRJbgkBAAAABXZhbHVlAAAAAQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50AwkAAGYAAAACBQAAAA5hc3NldEJ1aWxkQ29zdAUAAAAIYW1vdW50SW4JAAACAAAAAQkAASwAAAACAgAAAD5Zb3UgcHJvdmlkZWQgbGVzcyAkaGVnIHRoYW4gdGhlIG5lZWRlZCBjb3N0IGZvciBidWlsZGluZyB0aGlzIAUAAAAMc3RyQXNzZXRUeXBlAwkBAAAAAiE9AAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAUAAAAKc2hpbnl3Z2dpZAkAAAIAAAABAgAAABpPbmx5ICRIRUcgcGF5bWVudHMgYWxsb3dlZAQAAAACcHcJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAAA90cmVhc3VyeUFkZHJlc3MCAAAAB0RlcG9zaXQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAKc2hpbnl3Z2dpZAUAAAANVW5pdFN0YWtlU2hlZwUAAAADbmlsBAAAAAckbWF0Y2gwBQAAAAJwdwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFyBQAAAAckbWF0Y2gwCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABRnZXRCdWlsZGluZ1N0YXR1c0tleQAAAAMJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAAdjbmZnS2V5BQAAAAxCdWlsZFN0YXJ0ZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGdldEFzc2V0T3duZXJLZXkAAAACCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAAdjbmZnS2V5CQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAGmdldEJ1aWxkaW5nRmluaXNoSGVpZ2h0S2V5AAAAAwkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAAB2NuZmdLZXkJAABkAAAAAgUAAAAGaGVpZ2h0BQAAABBkZWxheUZvckJ1aWxkaW5nCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAC2FkbWluV2FsbGV0BQAAAA1Ub0FkbWluV2FsbGV0BQAAAApzaGlueXdnZ2lkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAFmRhaWx5R2FtZVJld2FyZHNXYWxsZXQFAAAAE1RvR2FtZVJld2FyZHNXYWxsZXQFAAAACnNoaW55d2dnaWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAZZGFpbHlTdGFraW5nUmV3YXJkc1dhbGxldAUAAAAWVG9TdGFraW5nUmV3YXJkc1dhbGxldAUAAAAKc2hpbnl3Z2dpZAUAAAADbmlsCQAAAgAAAAECAAAAF0luY29ycmVjdCBpbnZva2UgcmVzdWx0AAAAAWkBAAAAC0ZpbmlzaEJ1aWxkAAAABAAAAAd0eElkU3RyAAAACGFzc2V0U3RyAAAABUxldmVsAAAACU5hdGlvbktleQQAAAAEdHhJZAkAAlkAAAABBQAAAAd0eElkU3RyBAAAAAVBTEtleQkBAAAACGdldEFMS2V5AAAAAgUAAAAIYXNzZXRTdHIFAAAABUxldmVsBAAAABFCdWlsZGluZ1N0YXR1c0tleQkBAAAAFGdldEJ1aWxkaW5nU3RhdHVzS2V5AAAAAwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAABHR4SWQFAAAABUFMS2V5BAAAAA9maW5pc2hIZWlnaHRLZXkJAQAAABpnZXRCdWlsZGluZ0ZpbmlzaEhlaWdodEtleQAAAAMJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAAR0eElkBQAAAAVBTEtleQQAAAAIYXNzZXRLZXkJAQAAAA1nZXRBc3NldElkS2V5AAAAAgUAAAAEdHhJZAUAAAAFQUxLZXkEAAAACmFzc2V0T3duZXIJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQEAAAAQZ2V0QXNzZXRPd25lcktleQAAAAIFAAAABHR4SWQFAAAABUFMS2V5AwkBAAAAFWlzTmF0aW9uUmVzZXJ2ZWRBc3NldAAAAAIFAAAACGFzc2V0U3RyBQAAAAVMZXZlbAMDCQEAAAABIQAAAAEJAQAAAA9jaGVja0Fzc2V0T3duZXIAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAJTmF0aW9uS2V5CQEAAAABIQAAAAEJAQAAAApjaGVja0FkbWluAAAAAQgFAAAAAWkAAAAGY2FsbGVyBwkAAAIAAAABAgAAADBZb3UgYXJlIG5vdCBhdXRob3JpemVkIHRvIHBlcmZvcm0gdGhpcyBvcGVyYXRpb24JAQAAABNpbnRlcm5hbEZpbmlzaEJ1aWxkAAAABgUAAAAJTmF0aW9uS2V5BQAAAAVBTEtleQUAAAAIYXNzZXRLZXkFAAAAEUJ1aWxkaW5nU3RhdHVzS2V5BQAAAA9maW5pc2hIZWlnaHRLZXkFAAAABHR4SWQDCQEAAAACIT0AAAACBQAAAAphc3NldE93bmVyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABCQABLAAAAAICAAAAIVlvdSBjYW5ub3QgY2xhaW0gb3RoZXIncyBwbGF5ZXJzIAUAAAAIYXNzZXRTdHIEAAAAEGJ1aWxkaW5nVHhTdGF0dXMJAQAAAAx0cnlHZXRTdHJpbmcAAAABBQAAABFCdWlsZGluZ1N0YXR1c0tleQMJAAAAAAAAAgUAAAAQYnVpbGRpbmdUeFN0YXR1cwIAAAAACQAAAgAAAAECAAAAJE5vIHBlbmRpbmcgb3BlcmF0aW9ucyBmb3IgdGhpcyBhc3NldAQAAAAIYXNzZXRTYWMJAQAAABBjb25mVHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACBQAAAAVBTEtleQIAAAAPX1NhY3JpZmljZUFzc2V0BAAAAA1hc3NldFNhY0xldmVsCQEAAAARY29uZlRyeUdldEludGVnZXIAAAABCQABLAAAAAIFAAAABUFMS2V5AgAAABRfU2FjcmlmaWNlQXNzZXRMZXZlbAMJAQAAAAIhPQAAAAIFAAAACGFzc2V0U2FjAgAAAAAJAQAAABxpbnRlcm5hbFNhY3JpZmljZUZpbmlzaEJ1aWxkAAAABwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAABUFMS2V5BQAAAAhhc3NldEtleQUAAAARQnVpbGRpbmdTdGF0dXNLZXkFAAAAD2ZpbmlzaEhlaWdodEtleQUAAAAEdHhJZAkBAAAACGdldEFMS2V5AAAAAgUAAAAIYXNzZXRTYWMFAAAADWFzc2V0U2FjTGV2ZWwJAQAAABNpbnRlcm5hbEZpbmlzaEJ1aWxkAAAABgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAABUFMS2V5BQAAAAhhc3NldEtleQUAAAARQnVpbGRpbmdTdGF0dXNLZXkFAAAAD2ZpbmlzaEhlaWdodEtleQUAAAAEdHhJZAAAAAFpAQAAABF0cmFuc2Zlck93bmVyc2hpcAAAAAMAAAAHYXNzZXRJZAAAAAhuZXdPd25lcgAAAANxdHkDCQEAAAABIQAAAAEJAQAAAApjaGVja0FkbWluAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAKU9ubHkgdGhlIGFkbWluIGNhbiBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uCQAFFAAAAAIJAQAAABlpbnRlcm5hbFRyYXNuZmVyT3duZXJzaGlwAAAAAwUAAAAHYXNzZXRJZAUAAAAIbmV3T3duZXIFAAAAA3F0eQUAAAAIbmV3T3duZXIAAAABaQEAAAAXZGVzdHJveUFzc2V0QW5kVHJhbnNmZXIAAAADAAAAB2Fzc2V0SWQAAAADcXR5AAAACXRvQWRkcmVzcwQAAAAGY2h1bmtzCQEAAAARZ2V0QXNzZXRUeXBlTGV2ZWwAAAABBQAAAAdhc3NldElkBAAAAAxzdHJBc3NldFR5cGUIBQAAAAZjaHVua3MAAAACXzEEAAAABWxldmVsCAUAAAAGY2h1bmtzAAAAAl8yBAAAAAFrCQEAAAAIZ2V0QUxLZXkAAAACBQAAAAxzdHJBc3NldFR5cGUFAAAABWxldmVsAwkBAAAAASEAAAABCQEAAAAKY2hlY2tBZG1pbgAAAAEIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABAgAAAClPbmx5IHRoZSBhZG1pbiBjYW4gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbgQAAAAIb2xkT3duZXIJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQEAAAAWZ2V0QXNzZXRPd25lcktleVN0cmluZwAAAAEFAAAAB2Fzc2V0SWQEAAAACmFzc2V0Q29pbnMJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQUAAAAHYXNzZXRJZAQAAAAMY3VycmVudFBvd2VyCQEAAAAUbmF0aW9uc1RyeUdldEludGVnZXIAAAABCQABLAAAAAIFAAAACG9sZE93bmVyAgAAAAZfUG93ZXIEAAAACmFzc2V0UG93ZXIJAQAAABFjb25mVHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAABawIAAAAGX1Bvd2VyAwkBAAAAEWNvbmZUcnlHZXRCb29sZWFuAAAAAQkAASwAAAACBQAAAAFrAgAAAAtfQWdncmVnYXRlZAQAAAAOdW5pdEFzc2V0Q29pbnMJAABpAAAAAgkAAGgAAAACCQEAAAARY29uZlRyeUdldEludGVnZXIAAAABCQABLAAAAAIFAAAAAWsCAAAABV9Db3N0AAAAAAAAAAAUAAAAAAAAAABkBAAAAAhxdHlBc3NldAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIFAAAAAWsCAAAABF9RdHkDCQAAZgAAAAIAAAAAAAAAAAAJAABlAAAAAgUAAAAIcXR5QXNzZXQFAAAAA3F0eQkAAAIAAAABCQABLAAAAAICAAAAFnlvdSBkb24ndCBoYXZlIGVub3VnaCAFAAAADHN0ckFzc2V0VHlwZQQAAAACcHcJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAAA5uYXRpb25zQWRkcmVzcwIAAAAMc2V0VXNlclBvd2VyCQAETAAAAAIFAAAACG9sZE93bmVyCQAETAAAAAIJAABlAAAAAgUAAAAMY3VycmVudFBvd2VyCQAAaAAAAAIFAAAACmFzc2V0UG93ZXIFAAAAA3F0eQUAAAADbmlsBQAAAANuaWwEAAAAByRtYXRjaDAFAAAAAnB3AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAXIFAAAAByRtYXRjaDAEAAAACWF0dGFja2VycwkABLUAAAACBQAAAAl0b0FkZHJlc3MCAAAAASMEAAAABGRpc3QKAAAAAAIkbAUAAAAJYXR0YWNrZXJzCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAUAAAADbmlsCgEAAAAFJGYwXzEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAAVZGlzdHJpYkRlc3Ryb3lSZXdhcmRzAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAAFJGYwXzIAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQAAAgAAAAECAAAAFExpc3Qgc2l6ZSBleGNlZWRzIDUwCQEAAAAFJGYwXzIAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAA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", "height": 2129125, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GRDVgQ8tYUURwJgCs1YvNujrPQLFoB6ANhQvvSZPYPeJ Next: Hdr93jgyU83ubtkarjBnNLPPg835LkU1CY1m58bdD9B4 Diff:
OldNewDifferences
288288 }
289289
290290
291-func az (E,aA) = {
291+func az (E,aA,au) = {
292292 let Q = O(E)
293293 let R = Q._1
294294 let S = Q._2
295295 let ay = r(R, S)
296296 let aB = q(D(E))
297- let am = u((ay + "_Power"))
298- if ((am > 0))
297+ if (w((ay + "_Aggregated")))
299298 then {
300- let ao = A((aB + "_Power"))
301- let ap = invoke(Address(f), "setUserPower", [aB, (ao - am)], nil)
302- if ((ap == ap))
303- then if ((ap != (ao - am)))
304- then throw("Incorrect invoke result")
305- else {
306- let aC = A((aA + "_Power"))
307- let aD = invoke(Address(f), "setUserPower", [aA, (aC + am)], nil)
308- if ((aD == aD))
309- then {
310- let n = aD
311- if ($isInstanceOf(n, "Int"))
312- then {
313- let aE = n
314-[StringEntry(D(E), aA)]
315- }
316- else throw("Incorrect invoke result")
317- }
318- else throw("Strict value is not equal to itself.")
319- }
299+ let am = u((ay + "_Power"))
300+ let aC = (am * au)
301+ let as = ((ay + "_") + aB)
302+ let aD = A((aB + "_Power"))
303+ let aE = l(as)
304+ let aF = fraction(aE, 1, au)
305+ let aG = l((as + "_Qty"))
306+ let aH = ((ay + "_") + aA)
307+ let aI = l(aH)
308+ let aJ = l((aH + "_Qty"))
309+ let aK = A((aA + "_Power"))
310+ let aL = invoke(Address(f), "setUserPower", [aB, (aD - aC)], nil)
311+ if ((aL == aL))
312+ then {
313+ let aM = invoke(Address(f), "setUserPower", [aA, (aK + aC)], nil)
314+ if ((aM == aM))
315+ then [IntegerEntry((as + "_Qty"), (aG - au)), IntegerEntry((aH + "_Qty"), (aJ + au)), IntegerEntry(as, (aE - (au * aF))), IntegerEntry(aH, (aI + (au * aF)))]
316+ else throw("Strict value is not equal to itself.")
317+ }
320318 else throw("Strict value is not equal to itself.")
321319 }
322- else [StringEntry(D(E), aA)]
320+ else {
321+ let am = u((ay + "_Power"))
322+ if ((am > 0))
323+ then {
324+ let ao = A((aB + "_Power"))
325+ let ap = invoke(Address(f), "setUserPower", [aB, (ao - am)], nil)
326+ if ((ap == ap))
327+ then if ((ap != (ao - am)))
328+ then throw("Incorrect invoke result")
329+ else {
330+ let aN = A((aA + "_Power"))
331+ let aO = invoke(Address(f), "setUserPower", [aA, (aN + am)], nil)
332+ if ((aO == aO))
333+ then {
334+ let n = aO
335+ if ($isInstanceOf(n, "Int"))
336+ then {
337+ let aP = n
338+[StringEntry(D(E), aA)]
339+ }
340+ else throw("Incorrect invoke result")
341+ }
342+ else throw("Strict value is not equal to itself.")
343+ }
344+ else throw("Strict value is not equal to itself.")
345+ }
346+ else [StringEntry(D(E), aA)]
347+ }
323348 }
324349
325350
326-func aF (aG,k,aH) = {
327- let aI = v((aG + "_SacrificeAsset"))
328- let aJ = u((aG + "_SacrificeAssetLevel"))
329- if ((aI == ""))
351+func aQ (aR,k,aS) = {
352+ let aT = v((aR + "_SacrificeAsset"))
353+ let aU = u((aR + "_SacrificeAssetLevel"))
354+ if ((aT == ""))
330355 then true
331- else if (!(av(k, aH)))
356+ else if (!(av(k, aS)))
332357 then throw("you are not the owner of the Sacrifice asset")
333358 else {
334- let Q = O(aH)
335- if (if ((aI != Q._1))
359+ let Q = O(aS)
360+ if (if ((aT != Q._1))
336361 then true
337- else (aJ != Q._2))
362+ else (aU != Q._2))
338363 then throw("the sacrificeAsset has the wrong type or level")
339364 else true
340365 }
341366 }
342367
343368
344-func aK (s,t,aL,aH) = {
345- let aM = r(s, t)
346- let aN = v((aM + "_Tecnhology_discovered"))
347- if ((aN != ""))
348- then if (B(((aL + "_") + aN)))
349- then aF(aM, aL, aH)
369+func aV (s,t,aW,aS) = {
370+ let aX = r(s, t)
371+ let aY = v((aX + "_Tecnhology_discovered"))
372+ if ((aY != ""))
373+ then if (B(((aW + "_") + aY)))
374+ then aQ(aX, aW, aS)
350375 else false
351- else aF(aM, aL, aH)
376+ else aQ(aX, aW, aS)
352377 }
353378
354379
355-func aO (s,t,k,aH) = {
356- let aP = r(s, t)
357- let aQ = A(k)
358- if ((aQ == 0))
380+func aZ (s,t,k,aS) = {
381+ let ba = r(s, t)
382+ let bb = A(k)
383+ if ((bb == 0))
359384 then false
360385 else {
361- let aN = v((aP + "_Tecnhology_discovered"))
362- if ((aN != ""))
386+ let aY = v((ba + "_Tecnhology_discovered"))
387+ if ((aY != ""))
363388 then {
364- let aL = C(toString(aQ))
365- if (B(((aL + "_") + aN)))
366- then aF(aP, k, aH)
389+ let aW = C(toString(bb))
390+ if (B(((aW + "_") + aY)))
391+ then aQ(ba, k, aS)
367392 else false
368393 }
369- else aF(aP, k, aH)
394+ else aQ(ba, k, aS)
370395 }
371396 }
372397
373398
374-func aR (s,t,aS,aL,aH) = if ((aL != ""))
375- then aK(s, t, aL, aH)
376- else aO(s, t, aS, aH)
399+func bc (s,t,bd,aW,aS) = if ((aW != ""))
400+ then aV(s, t, aW, aS)
401+ else aZ(s, t, bd, aS)
377402
378403
379-@Callable(aT)
380-func StartBuild (R,t,aL,aH) = if (!(aR(R, t, toString(aT.caller), aL, aH)))
404+@Callable(be)
405+func StartBuild (R,t,aW,aS) = if (!(bc(R, t, toString(be.caller), aW, aS)))
381406 then throw("You cannot build this Item")
382407 else {
383- let aM = r(R, t)
384- let aU = u((aM + "_BuildTime"))
385- let aV = u((aM + "_Cost"))
386- let aW = ((aV * 5) / 100)
387- let aX = ((aV * 10) / 100)
388- let aY = ((aV * 65) / 100)
389- let aZ = (((aV - aW) - aX) - aY)
408+ let aX = r(R, t)
409+ let bf = u((aX + "_BuildTime"))
410+ let bg = u((aX + "_Cost"))
411+ let bh = ((bg * 5) / 100)
412+ let bi = ((bg * 10) / 100)
413+ let bj = ((bg * 65) / 100)
414+ let bk = (((bg - bh) - bi) - bj)
390415 if (ax(R, t))
391- then if (if (!(av(toString(aT.caller), aL)))
392- then !(j(aT.caller))
416+ then if (if (!(av(toString(be.caller), aW)))
417+ then !(j(be.caller))
393418 else false)
394419 then throw("You are not the owner of the nation")
395420 else {
396- let ba = z(x(aL))
397- if ((aV > ba))
421+ let bl = z(x(aW))
422+ if ((bg > bl))
398423 then throw("The nation hasn't enough funds")
399424 else {
400- let bb = invoke(Address(b), "decreaseNationWallet", [aL, aV], nil)
401- let n = bb
425+ let bm = invoke(Address(b), "decreaseNationWallet", [aW, bg], nil)
426+ let n = bm
402427 if ($isInstanceOf(n, "Int"))
403428 then {
404- let aE = n
405- let ap = invoke(Address(b), "arbitraryAddCoins", [aL, aZ], nil)
406- let bc = ap
407- if ($isInstanceOf(bc, "Int"))
429+ let aP = n
430+ let ap = invoke(Address(b), "arbitraryAddCoins", [aW, bk], nil)
431+ let bn = ap
432+ if ($isInstanceOf(bn, "Int"))
408433 then {
409- let o = bc
410- let bd = invoke(Address(b), "distributeNationPayRewards", [aV], nil)
411- let be = bd
412- if ($isInstanceOf(be, "Int"))
434+ let o = bn
435+ let bo = invoke(Address(b), "distributeNationPayRewards", [bg], nil)
436+ let bp = bo
437+ if ($isInstanceOf(bp, "Int"))
413438 then {
414- let X = be
415-[StringEntry(N(toString(aT.originCaller), aT.transactionId, aM), F), StringEntry(K(aT.transactionId, aM), aL), IntegerEntry(L(toString(aT.originCaller), aT.transactionId, aM), (height + aU))]
439+ let X = bp
440+[StringEntry(N(toString(be.originCaller), be.transactionId, aX), F), StringEntry(K(be.transactionId, aX), aW), IntegerEntry(L(toString(be.originCaller), be.transactionId, aX), (height + bf))]
416441 }
417442 else throw("Error Distributing asset rewards")
418443 }
422447 }
423448 }
424449 else {
425- let aI = v((aM + "_SacrificeAsset"))
426- if ((aI != ""))
427- then [DeleteEntry(aH), DeleteEntry((aH + "_Owner")), StringEntry(N(toString(aT.originCaller), aT.transactionId, aM), F), StringEntry(K(aT.transactionId, aM), toString(aT.originCaller)), IntegerEntry(L(toString(aT.originCaller), aT.transactionId, aM), (height + aU))]
450+ let aT = v((aX + "_SacrificeAsset"))
451+ if ((aT != ""))
452+ then [DeleteEntry(aS), DeleteEntry((aS + "_Owner")), StringEntry(N(toString(be.originCaller), be.transactionId, aX), F), StringEntry(K(be.transactionId, aX), toString(be.originCaller)), IntegerEntry(L(toString(be.originCaller), be.transactionId, aX), (height + bf))]
428453 else {
429- let bf = value(aT.payments[0].amount)
430- if ((aV > bf))
454+ let bq = value(be.payments[0].amount)
455+ if ((bg > bq))
431456 then throw(("You provided less $heg than the needed cost for building this " + R))
432- else if ((aT.payments[0].assetId != a))
457+ else if ((be.payments[0].assetId != a))
433458 then throw("Only $HEG payments allowed")
434459 else {
435- let ap = invoke(Address(b), "Deposit", nil, [AttachedPayment(a, aZ)])
460+ let ap = invoke(Address(b), "Deposit", nil, [AttachedPayment(a, bk)])
436461 let n = ap
437462 if ($isInstanceOf(n, "Int"))
438463 then {
439- let aE = n
440-[StringEntry(N(toString(aT.originCaller), aT.transactionId, aM), F), StringEntry(K(aT.transactionId, aM), toString(aT.originCaller)), IntegerEntry(L(toString(aT.originCaller), aT.transactionId, aM), (height + aU)), ScriptTransfer(g, aW, a), ScriptTransfer(h, aX, a), ScriptTransfer(i, aY, a)]
464+ let aP = n
465+[StringEntry(N(toString(be.originCaller), be.transactionId, aX), F), StringEntry(K(be.transactionId, aX), toString(be.originCaller)), IntegerEntry(L(toString(be.originCaller), be.transactionId, aX), (height + bf)), ScriptTransfer(g, bh, a), ScriptTransfer(h, bi, a), ScriptTransfer(i, bj, a)]
441466 }
442467 else throw("Incorrect invoke result")
443468 }
447472
448473
449474
450-@Callable(aT)
451-func FinishBuild (bg,P,t,aL) = {
452- let I = fromBase58String(bg)
453- let aG = r(P, t)
454- let ag = N(toString(aT.caller), I, aG)
455- let ah = L(toString(aT.caller), I, aG)
456- let af = H(I, aG)
457- let aw = q(K(I, aG))
475+@Callable(be)
476+func FinishBuild (br,P,t,aW) = {
477+ let I = fromBase58String(br)
478+ let aR = r(P, t)
479+ let ag = N(toString(be.caller), I, aR)
480+ let ah = L(toString(be.caller), I, aR)
481+ let af = H(I, aR)
482+ let aw = q(K(I, aR))
458483 if (ax(P, t))
459- then if (if (!(av(toString(aT.caller), aL)))
460- then !(j(aT.caller))
484+ then if (if (!(av(toString(be.caller), aW)))
485+ then !(j(be.caller))
461486 else false)
462487 then throw("You are not authorized to perform this operation")
463- else aq(aL, aG, af, ag, ah, I)
464- else if ((aw != toString(aT.caller)))
488+ else aq(aW, aR, af, ag, ah, I)
489+ else if ((aw != toString(be.caller)))
465490 then throw(("You cannot claim other's players " + P))
466491 else {
467- let bh = q(ag)
468- if ((bh == ""))
492+ let bs = q(ag)
493+ if ((bs == ""))
469494 then throw("No pending operations for this asset")
470495 else {
471- let aI = v((aG + "_SacrificeAsset"))
472- let bi = u((aG + "_SacrificeAssetLevel"))
473- if ((aI != ""))
474- then ae(toString(aT.caller), aG, af, ag, ah, I, r(aI, bi))
475- else aq(toString(aT.caller), aG, af, ag, ah, I)
496+ let aT = v((aR + "_SacrificeAsset"))
497+ let bt = u((aR + "_SacrificeAssetLevel"))
498+ if ((aT != ""))
499+ then ae(toString(be.caller), aR, af, ag, ah, I, r(aT, bt))
500+ else aq(toString(be.caller), aR, af, ag, ah, I)
476501 }
477502 }
478503 }
479504
480505
481506
482-@Callable(aT)
483-func transferOwnership (E,aA) = if (!(j(aT.caller)))
507+@Callable(be)
508+func transferOwnership (E,aA,au) = if (!(j(be.caller)))
484509 then throw("Only the admin can perform this operation")
485- else $Tuple2(az(E, aA), aA)
510+ else $Tuple2(az(E, aA, au), aA)
486511
487512
488513
489-@Callable(aT)
490-func destroyAssetAndTransfer (E,au,bj) = {
514+@Callable(be)
515+func destroyAssetAndTransfer (E,au,bu) = {
491516 let Q = O(E)
492517 let R = Q._1
493518 let S = Q._2
494519 let ay = r(R, S)
495- if (!(j(aT.caller)))
520+ if (!(j(be.caller)))
496521 then throw("Only the admin can perform this operation")
497522 else {
498523 let aB = q(D(E))
501526 let am = u((ay + "_Power"))
502527 if (w((ay + "_Aggregated")))
503528 then {
504- let bk = ((u((ay + "_Cost")) * 20) / 100)
505- let bl = l((ay + "_Qty"))
506- if ((0 > (bl - au)))
529+ let bv = ((u((ay + "_Cost")) * 20) / 100)
530+ let bw = l((ay + "_Qty"))
531+ if ((0 > (bw - au)))
507532 then throw(("you don't have enough " + R))
508533 else {
509534 let ap = invoke(Address(f), "setUserPower", [aB, (ao - (am * au))], nil)
510535 let n = ap
511536 if ($isInstanceOf(n, "Int"))
512537 then {
513- let aE = n
514- let bm = split(bj, "#")
515- let bn = {
516- let bo = bm
517- let bp = size(bo)
518- let bq = nil
519- func br (bs,bt) = if ((bt >= bp))
520- then bs
521- else Y(bs, bo[bt])
538+ let aP = n
539+ let bx = split(bu, "#")
540+ let by = {
541+ let bz = bx
542+ let bA = size(bz)
543+ let bB = nil
544+ func bC (bD,bE) = if ((bE >= bA))
545+ then bD
546+ else Y(bD, bz[bE])
522547
523- func bu (bs,bt) = if ((bt >= bp))
524- then bs
548+ func bF (bD,bE) = if ((bE >= bA))
549+ then bD
525550 else throw("List size exceeds 50")
526551
527- bu(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(bq, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
552+ bF(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bB, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
528553 }
529- if ((bn == bn))
530- then if (((bl - au) > 0))
531- then [IntegerEntry((ay + "_Qty"), (bl - au))]
554+ if ((by == by))
555+ then if (((bw - au) > 0))
556+ then [IntegerEntry((ay + "_Qty"), (bw - au))]
532557 else [DeleteEntry(E), DeleteEntry(D(E))]
533558 else throw("Strict value is not equal to itself.")
534559 }
536561 }
537562 }
538563 else {
539- let bm = split(bj, "#")
540- let bn = {
541- let bo = bm
542- let bp = size(bo)
543- let bq = nil
544- func br (bs,bt) = if ((bt >= bp))
545- then bs
546- else Y(bs, bo[bt])
564+ let bx = split(bu, "#")
565+ let by = {
566+ let bz = bx
567+ let bA = size(bz)
568+ let bB = nil
569+ func bC (bD,bE) = if ((bE >= bA))
570+ then bD
571+ else Y(bD, bz[bE])
547572
548- func bu (bs,bt) = if ((bt >= bp))
549- then bs
573+ func bF (bD,bE) = if ((bE >= bA))
574+ then bD
550575 else throw("List size exceeds 50")
551576
552- bu(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(bq, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
577+ bF(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bB, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
553578 }
554- if ((bn == bn))
579+ if ((by == by))
555580 then {
556581 let ap = invoke(Address(f), "setUserPower", [aB, (ao - am)], nil)
557582 if ((ap == ap))
559584 let n = ap
560585 if ($isInstanceOf(n, "Int"))
561586 then {
562- let aE = n
587+ let aP = n
563588 [DeleteEntry(E), DeleteEntry(D(E))]
564589 }
565590 else throw("Error setting user power")
573598
574599
575600
576-@Callable(aT)
601+@Callable(be)
577602 func destroyAssetFromUser (E,au) = {
578603 let Q = O(E)
579604 let R = Q._1
580605 let S = Q._2
581606 let ay = r(R, S)
582- if (!(av(toString(aT.caller), E)))
607+ if (!(av(toString(be.caller), E)))
583608 then throw("You don't own this asset")
584609 else {
585610 let an = l(E)
586- let ao = A((toString(aT.caller) + "_Power"))
611+ let ao = A((toString(be.caller) + "_Power"))
587612 let am = u((ay + "_Power"))
588613 if (w((ay + "_Aggregated")))
589614 then {
590- let bk = ((u((ay + "_Cost")) * 20) / 100)
591- let bl = l((ay + "_Qty"))
592- if ((0 > (bl - au)))
615+ let bv = ((u((ay + "_Cost")) * 20) / 100)
616+ let bw = l((ay + "_Qty"))
617+ if ((0 > (bw - au)))
593618 then throw(("you don't have enough " + R))
594619 else {
595- let ap = invoke(Address(f), "setUserPower", [toString(aT.caller), (ao - (am * au))], nil)
620+ let ap = invoke(Address(f), "setUserPower", [toString(be.caller), (ao - (am * au))], nil)
596621 let n = ap
597622 if ($isInstanceOf(n, "Int"))
598623 then {
599- let aE = n
600- let W = invoke(Address(b), "adminTransfer", [toString(aT.caller), (bk * au)], nil)
601- let bc = W
602- if ($isInstanceOf(bc, "Int"))
624+ let aP = n
625+ let W = invoke(Address(b), "adminTransfer", [toString(be.caller), (bv * au)], nil)
626+ let bn = W
627+ if ($isInstanceOf(bn, "Int"))
603628 then {
604- let X = bc
605- if (((bl - au) > 0))
606- then [IntegerEntry((ay + "_Qty"), (bl - au))]
629+ let X = bn
630+ if (((bw - au) > 0))
631+ then [IntegerEntry((ay + "_Qty"), (bw - au))]
607632 else [DeleteEntry(E), DeleteEntry(D(E))]
608633 }
609634 else throw("Error transferring coins")
612637 }
613638 }
614639 else {
615- let ap = invoke(Address(f), "setUserPower", [toString(aT.caller), (ao - am)], nil)
640+ let ap = invoke(Address(f), "setUserPower", [toString(be.caller), (ao - am)], nil)
616641 let n = ap
617642 if ($isInstanceOf(n, "Int"))
618643 then {
619- let aE = n
620- let W = invoke(Address(b), "adminTransfer", [toString(aT.caller), an], nil)
621- let bc = W
622- if ($isInstanceOf(bc, "Int"))
644+ let aP = n
645+ let W = invoke(Address(b), "adminTransfer", [toString(be.caller), an], nil)
646+ let bn = W
647+ if ($isInstanceOf(bn, "Int"))
623648 then {
624- let X = bc
649+ let X = bn
625650 [DeleteEntry(E), DeleteEntry(D(E))]
626651 }
627652 else throw("Error transferring coins")
633658
634659
635660
636-@Callable(aT)
637-func setNationOwner (bv,aA) = if (j(aT.caller))
638- then $Tuple2([StringEntry((bv + "_Owner"), aA)], true)
661+@Callable(be)
662+func setNationOwner (bG,aA) = if (j(be.caller))
663+ then $Tuple2([StringEntry((bG + "_Owner"), aA)], true)
639664 else {
640- let bw = q((bv + "_Owner"))
641- if ((bw != toString(aT.caller)))
665+ let bH = q((bG + "_Owner"))
666+ if ((bH != toString(be.caller)))
642667 then throw("You are not the nation owner")
643- else [StringEntry((bv + "_Owner"), aA)]
668+ else [StringEntry((bG + "_Owner"), aA)]
644669 }
645670
646671
647672
648-@Callable(aT)
649-func buyNationItem (E,aL) = {
673+@Callable(be)
674+func buyNationItem (E,aW) = {
650675 let Q = O(E)
651676 let R = Q._1
652677 let S = Q._2
653678 let ay = r(R, S)
654- let bx = A(toString(aT.caller))
655- let by = A(aL)
656- if ((bx != by))
679+ let bI = A(toString(be.caller))
680+ let bJ = A(aW)
681+ if ((bI != bJ))
657682 then throw("you can buy assets only from your nation")
658- else if (!(av(aL, E)))
683+ else if (!(av(aW, E)))
659684 then throw("The asset does not belong to the nation")
660685 else if (!(ax(R, S)))
661686 then throw("this asset cannot be sold by the nation")
662687 else {
663- let bz = u((r(R, S) + "_SellPrice"))
664- let bf = value(aT.payments[0].amount)
665- if ((bz > bf))
688+ let bK = u((r(R, S) + "_SellPrice"))
689+ let bq = value(be.payments[0].amount)
690+ if ((bK > bq))
666691 then throw(("You provided less $heg than the needed cost for buying this " + R))
667- else if ((aT.payments[0].assetId != a))
692+ else if ((be.payments[0].assetId != a))
668693 then throw("Only $HEG payments allowed")
669694 else {
670- let bA = invoke(Address(b), "increaseNationWallet", [aL, bf], nil)
671- let n = bA
695+ let bL = invoke(Address(b), "increaseNationWallet", [aW, bq], nil)
696+ let n = bL
672697 if ($isInstanceOf(n, "Int"))
673698 then {
674699 let o = n
675- (az(E, toString(aT.caller)) :+ ScriptTransfer(Address(b), bf, a))
700+ (az(E, toString(be.caller), 1) :+ ScriptTransfer(Address(b), bq, a))
676701 }
677702 else throw("Error transferring SHEG to nations wallet")
678703 }
681706
682707
683708
684-@Callable(aT)
685-func AddAssetFromMarkeplace (E,aB,bB) = if (!(j(aT.caller)))
709+@Callable(be)
710+func AddAssetFromMarkeplace (E,aB,bM) = if (!(j(be.caller)))
686711 then throw("You are not allowed to perform this operation")
687- else $Tuple2([StringEntry(D(E), aB), IntegerEntry(E, bB)], aB)
712+ else $Tuple2([StringEntry(D(E), aB), IntegerEntry(E, bM)], aB)
688713
689714
690715
691-@Callable(aT)
692-func TransferAssetToMarketplace (E,bC) = if (!(av(toString(aT.caller), E)))
716+@Callable(be)
717+func TransferAssetToMarketplace (E,bN) = if (!(av(toString(be.caller), E)))
693718 then throw("You are not the owner of this asset")
694719 else {
695- let bB = l(E)
696- let W = invoke(Address(d), "putOnSale", [E, bB, bC], nil)
720+ let bM = l(E)
721+ let W = invoke(Address(d), "putOnSale", [E, bM, bN], nil)
697722 let n = W
698723 if ($isInstanceOf(n, "Int"))
699724 then {
705730
706731
707732
708-@Callable(aT)
709-func DelKey (m) = if (!(j(aT.caller)))
733+@Callable(be)
734+func DelKey (m) = if (!(j(be.caller)))
710735 then throw("")
711736 else [DeleteEntry(m)]
712737
713738
714739
715-@Callable(aT)
716-func UpdKey (m,ab) = if (!(j(aT.caller)))
740+@Callable(be)
741+func UpdKey (m,ab) = if (!(j(be.caller)))
717742 then throw("")
718743 else [StringEntry(m, ab)]
719744
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'AFQS5E4ELtxex3iANtWtUU2V2oWJZSo8VVnK8z3VFmqf'
55
66 let b = base58'3MyDGEoKp1gF4LSRknk9vSuDEyrwuYXcQEQ'
77
88 let c = base58'3N8WDKbqGox5Eky326PHHT7rUyrby5MXdmb'
99
1010 let d = base58'3Mra7mjPipcQd5sJaRmXK8xgS4scb8gPF4A'
1111
1212 let e = base58'3N9tj3b2djcaZozn97VkYchL9S1i6cdEbC1'
1313
1414 let f = base58'3MvyzDtzWWV5MZ1GP8JfQhhQqiGU4Nbifdy'
1515
1616 let g = addressFromStringValue("3MpNtiPSRSq6NnaQYk38BfWSzZcgAYTyrQ9")
1717
1818 let h = addressFromStringValue("3MuSrXTTiwo9bdoD6FeaBpMUYMiU5saDv2U")
1919
2020 let i = addressFromStringValue("3Mv3mr3uNXdpgkVPApbGEJjMQXqau37DY5i")
2121
2222 func j (k) = if (if (if (if (if ((k == g))
2323 then true
2424 else (k == this))
2525 then true
2626 else (k.bytes == c))
2727 then true
2828 else (k.bytes == b))
2929 then true
3030 else (k.bytes == d))
3131 then true
3232 else (k.bytes == f)
3333
3434
3535 func l (m) = {
3636 let n = getInteger(this, m)
3737 if ($isInstanceOf(n, "Int"))
3838 then {
3939 let o = n
4040 o
4141 }
4242 else 0
4343 }
4444
4545
4646 func p (m) = {
4747 let n = getBoolean(this, m)
4848 if ($isInstanceOf(n, "Boolean"))
4949 then {
5050 let o = n
5151 o
5252 }
5353 else false
5454 }
5555
5656
5757 func q (m) = {
5858 let n = getString(this, m)
5959 if ($isInstanceOf(n, "String"))
6060 then {
6161 let o = n
6262 o
6363 }
6464 else ""
6565 }
6666
6767
6868 func r (s,t) = ((s + "_lvl") + toString(t))
6969
7070
7171 func u (m) = {
7272 let n = getInteger(Address(e), m)
7373 if ($isInstanceOf(n, "Int"))
7474 then {
7575 let o = n
7676 o
7777 }
7878 else 0
7979 }
8080
8181
8282 func v (m) = {
8383 let n = getString(Address(e), m)
8484 if ($isInstanceOf(n, "String"))
8585 then {
8686 let o = n
8787 o
8888 }
8989 else ""
9090 }
9191
9292
9393 func w (m) = {
9494 let n = getBoolean(Address(e), m)
9595 if ($isInstanceOf(n, "Boolean"))
9696 then {
9797 let o = n
9898 o
9999 }
100100 else false
101101 }
102102
103103
104104 func x (y) = (y + "_Treasury")
105105
106106
107107 func z (m) = {
108108 let n = getInteger(Address(b), m)
109109 if ($isInstanceOf(n, "Int"))
110110 then {
111111 let o = n
112112 o
113113 }
114114 else 0
115115 }
116116
117117
118118 func A (m) = {
119119 let n = getInteger(Address(f), m)
120120 if ($isInstanceOf(n, "Int"))
121121 then {
122122 let o = n
123123 o
124124 }
125125 else 0
126126 }
127127
128128
129129 func B (m) = {
130130 let n = getBoolean(Address(f), m)
131131 if ($isInstanceOf(n, "Boolean"))
132132 then {
133133 let o = n
134134 o
135135 }
136136 else false
137137 }
138138
139139
140140 func C (m) = {
141141 let n = getString(Address(f), m)
142142 if ($isInstanceOf(n, "String"))
143143 then {
144144 let o = n
145145 o
146146 }
147147 else ""
148148 }
149149
150150
151151 func D (E) = (E + "_Owner")
152152
153153
154154 let F = "BUILD_STARTED"
155155
156156 let G = "BUILD_FINISHED"
157157
158158 func H (I,J) = ((J + "_") + toBase58String(I))
159159
160160
161161 func K (I,J) = (H(I, J) + "_Owner")
162162
163163
164164 func L (M,I,J) = (((M + "_") + H(I, J)) + "_fh")
165165
166166
167167 func N (M,I,J) = (((M + "_") + H(I, J)) + "_status")
168168
169169
170170 func O (P) = {
171171 let Q = split(P, "_")
172172 let R = Q[0]
173173 let S = parseIntValue(drop(Q[1], 3))
174174 $Tuple2(R, S)
175175 }
176176
177177
178178 func T (U,V) = {
179179 let W = invoke(Address(b), "addReward", [addressFromStringValue(U), V], nil)
180180 if ((W == W))
181181 then {
182182 let n = W
183183 if ($isInstanceOf(n, "Int"))
184184 then {
185185 let X = n
186186 V
187187 }
188188 else 0
189189 }
190190 else throw("Strict value is not equal to itself.")
191191 }
192192
193193
194194 func Y (Z,aa) = {
195195 let ab = split(aa, "_")
196196 let ac = ab[0]
197197 let ad = ab[1]
198198 (Z :+ T(ac, parseIntValue(ad)))
199199 }
200200
201201
202202 func ae (k,P,af,ag,ah,ai,aj) = {
203203 let Q = O(P)
204204 let R = Q._1
205205 let S = Q._2
206206 let ak = getIntegerValue(this, ah)
207207 if ((ak > height))
208208 then throw((((("Building is not finished yet " + toString((ak - height))) + " blocks remaining, it will take around ") + toString((ak - height))) + " minutes"))
209209 else if ((take(R, 4) == "TECH"))
210210 then {
211211 let al = invoke(Address(f), "setTecnhnologyDiscovered", [k, P], nil)
212212 if ((al == true))
213213 then [DeleteEntry(ag), DeleteEntry(ah), DeleteEntry(K(ai, P))]
214214 else throw("error discovering technology")
215215 }
216216 else {
217217 let am = u((P + "_Power"))
218218 let an = ((u((aj + "_Cost")) * 20) / 100)
219219 if ((am > 0))
220220 then {
221221 let ao = A((k + "_Power"))
222222 let ap = invoke(Address(f), "setUserPower", [k, (ao + am)], nil)
223223 if ((ap == ap))
224224 then [IntegerEntry(af, an), DeleteEntry(ag), DeleteEntry(ah)]
225225 else throw("Strict value is not equal to itself.")
226226 }
227227 else [IntegerEntry(af, an), DeleteEntry(ag), DeleteEntry(ah)]
228228 }
229229 }
230230
231231
232232 func aq (k,P,af,ag,ah,ai) = {
233233 let Q = O(P)
234234 let R = Q._1
235235 let S = Q._2
236236 let ak = getIntegerValue(this, ah)
237237 if ((ak > height))
238238 then throw((((("Building is not finished yet " + toString((ak - height))) + " blocks remaining, it will take around ") + toString((ak - height))) + " minutes"))
239239 else if ((take(R, 4) == "TECH"))
240240 then {
241241 let al = invoke(Address(f), "setTecnhnologyDiscovered", [k, P], nil)
242242 if ((al == true))
243243 then [DeleteEntry(ag), DeleteEntry(ah), DeleteEntry(K(ai, P))]
244244 else throw("error discovering technology")
245245 }
246246 else {
247247 let am = u((P + "_Power"))
248248 let an = ((u((P + "_Cost")) * 20) / 100)
249249 let ar = invoke(Address(b), "Pay", [k, an], nil)
250250 if ((ar == ar))
251251 then if ((am > 0))
252252 then {
253253 let ao = A((k + "_Power"))
254254 let ap = invoke(Address(f), "setUserPower", [k, (ao + am)], nil)
255255 if ((ap == ap))
256256 then if (w((P + "_Aggregated")))
257257 then {
258258 let as = ((P + "_") + k)
259259 let at = l(as)
260260 let au = l((as + "_Qty"))
261261 [DeleteEntry(K(ai, P)), StringEntry((as + "_Owner"), k), IntegerEntry(as, (at + an)), IntegerEntry((as + "_Qty"), (au + 1)), DeleteEntry(ag), DeleteEntry(ah)]
262262 }
263263 else [IntegerEntry(af, an), DeleteEntry(ag), DeleteEntry(ah)]
264264 else throw("Strict value is not equal to itself.")
265265 }
266266 else if (w((P + "_Aggregated")))
267267 then {
268268 let as = ((P + "_") + k)
269269 let at = l(as)
270270 let au = l((as + "_Qty"))
271271 [DeleteEntry(K(ai, P)), StringEntry((as + "_Owner"), k), IntegerEntry(as, (at + an)), IntegerEntry((as + "_Qty"), (au + 1)), DeleteEntry(ag), DeleteEntry(ah)]
272272 }
273273 else [IntegerEntry(af, an), DeleteEntry(ag), DeleteEntry(ah)]
274274 else throw("Strict value is not equal to itself.")
275275 }
276276 }
277277
278278
279279 func av (k,af) = {
280280 let aw = q(D(af))
281281 (aw == k)
282282 }
283283
284284
285285 func ax (s,t) = {
286286 let ay = r(s, t)
287287 w((ay + "_NationReserved"))
288288 }
289289
290290
291-func az (E,aA) = {
291+func az (E,aA,au) = {
292292 let Q = O(E)
293293 let R = Q._1
294294 let S = Q._2
295295 let ay = r(R, S)
296296 let aB = q(D(E))
297- let am = u((ay + "_Power"))
298- if ((am > 0))
297+ if (w((ay + "_Aggregated")))
299298 then {
300- let ao = A((aB + "_Power"))
301- let ap = invoke(Address(f), "setUserPower", [aB, (ao - am)], nil)
302- if ((ap == ap))
303- then if ((ap != (ao - am)))
304- then throw("Incorrect invoke result")
305- else {
306- let aC = A((aA + "_Power"))
307- let aD = invoke(Address(f), "setUserPower", [aA, (aC + am)], nil)
308- if ((aD == aD))
309- then {
310- let n = aD
311- if ($isInstanceOf(n, "Int"))
312- then {
313- let aE = n
314-[StringEntry(D(E), aA)]
315- }
316- else throw("Incorrect invoke result")
317- }
318- else throw("Strict value is not equal to itself.")
319- }
299+ let am = u((ay + "_Power"))
300+ let aC = (am * au)
301+ let as = ((ay + "_") + aB)
302+ let aD = A((aB + "_Power"))
303+ let aE = l(as)
304+ let aF = fraction(aE, 1, au)
305+ let aG = l((as + "_Qty"))
306+ let aH = ((ay + "_") + aA)
307+ let aI = l(aH)
308+ let aJ = l((aH + "_Qty"))
309+ let aK = A((aA + "_Power"))
310+ let aL = invoke(Address(f), "setUserPower", [aB, (aD - aC)], nil)
311+ if ((aL == aL))
312+ then {
313+ let aM = invoke(Address(f), "setUserPower", [aA, (aK + aC)], nil)
314+ if ((aM == aM))
315+ then [IntegerEntry((as + "_Qty"), (aG - au)), IntegerEntry((aH + "_Qty"), (aJ + au)), IntegerEntry(as, (aE - (au * aF))), IntegerEntry(aH, (aI + (au * aF)))]
316+ else throw("Strict value is not equal to itself.")
317+ }
320318 else throw("Strict value is not equal to itself.")
321319 }
322- else [StringEntry(D(E), aA)]
320+ else {
321+ let am = u((ay + "_Power"))
322+ if ((am > 0))
323+ then {
324+ let ao = A((aB + "_Power"))
325+ let ap = invoke(Address(f), "setUserPower", [aB, (ao - am)], nil)
326+ if ((ap == ap))
327+ then if ((ap != (ao - am)))
328+ then throw("Incorrect invoke result")
329+ else {
330+ let aN = A((aA + "_Power"))
331+ let aO = invoke(Address(f), "setUserPower", [aA, (aN + am)], nil)
332+ if ((aO == aO))
333+ then {
334+ let n = aO
335+ if ($isInstanceOf(n, "Int"))
336+ then {
337+ let aP = n
338+[StringEntry(D(E), aA)]
339+ }
340+ else throw("Incorrect invoke result")
341+ }
342+ else throw("Strict value is not equal to itself.")
343+ }
344+ else throw("Strict value is not equal to itself.")
345+ }
346+ else [StringEntry(D(E), aA)]
347+ }
323348 }
324349
325350
326-func aF (aG,k,aH) = {
327- let aI = v((aG + "_SacrificeAsset"))
328- let aJ = u((aG + "_SacrificeAssetLevel"))
329- if ((aI == ""))
351+func aQ (aR,k,aS) = {
352+ let aT = v((aR + "_SacrificeAsset"))
353+ let aU = u((aR + "_SacrificeAssetLevel"))
354+ if ((aT == ""))
330355 then true
331- else if (!(av(k, aH)))
356+ else if (!(av(k, aS)))
332357 then throw("you are not the owner of the Sacrifice asset")
333358 else {
334- let Q = O(aH)
335- if (if ((aI != Q._1))
359+ let Q = O(aS)
360+ if (if ((aT != Q._1))
336361 then true
337- else (aJ != Q._2))
362+ else (aU != Q._2))
338363 then throw("the sacrificeAsset has the wrong type or level")
339364 else true
340365 }
341366 }
342367
343368
344-func aK (s,t,aL,aH) = {
345- let aM = r(s, t)
346- let aN = v((aM + "_Tecnhology_discovered"))
347- if ((aN != ""))
348- then if (B(((aL + "_") + aN)))
349- then aF(aM, aL, aH)
369+func aV (s,t,aW,aS) = {
370+ let aX = r(s, t)
371+ let aY = v((aX + "_Tecnhology_discovered"))
372+ if ((aY != ""))
373+ then if (B(((aW + "_") + aY)))
374+ then aQ(aX, aW, aS)
350375 else false
351- else aF(aM, aL, aH)
376+ else aQ(aX, aW, aS)
352377 }
353378
354379
355-func aO (s,t,k,aH) = {
356- let aP = r(s, t)
357- let aQ = A(k)
358- if ((aQ == 0))
380+func aZ (s,t,k,aS) = {
381+ let ba = r(s, t)
382+ let bb = A(k)
383+ if ((bb == 0))
359384 then false
360385 else {
361- let aN = v((aP + "_Tecnhology_discovered"))
362- if ((aN != ""))
386+ let aY = v((ba + "_Tecnhology_discovered"))
387+ if ((aY != ""))
363388 then {
364- let aL = C(toString(aQ))
365- if (B(((aL + "_") + aN)))
366- then aF(aP, k, aH)
389+ let aW = C(toString(bb))
390+ if (B(((aW + "_") + aY)))
391+ then aQ(ba, k, aS)
367392 else false
368393 }
369- else aF(aP, k, aH)
394+ else aQ(ba, k, aS)
370395 }
371396 }
372397
373398
374-func aR (s,t,aS,aL,aH) = if ((aL != ""))
375- then aK(s, t, aL, aH)
376- else aO(s, t, aS, aH)
399+func bc (s,t,bd,aW,aS) = if ((aW != ""))
400+ then aV(s, t, aW, aS)
401+ else aZ(s, t, bd, aS)
377402
378403
379-@Callable(aT)
380-func StartBuild (R,t,aL,aH) = if (!(aR(R, t, toString(aT.caller), aL, aH)))
404+@Callable(be)
405+func StartBuild (R,t,aW,aS) = if (!(bc(R, t, toString(be.caller), aW, aS)))
381406 then throw("You cannot build this Item")
382407 else {
383- let aM = r(R, t)
384- let aU = u((aM + "_BuildTime"))
385- let aV = u((aM + "_Cost"))
386- let aW = ((aV * 5) / 100)
387- let aX = ((aV * 10) / 100)
388- let aY = ((aV * 65) / 100)
389- let aZ = (((aV - aW) - aX) - aY)
408+ let aX = r(R, t)
409+ let bf = u((aX + "_BuildTime"))
410+ let bg = u((aX + "_Cost"))
411+ let bh = ((bg * 5) / 100)
412+ let bi = ((bg * 10) / 100)
413+ let bj = ((bg * 65) / 100)
414+ let bk = (((bg - bh) - bi) - bj)
390415 if (ax(R, t))
391- then if (if (!(av(toString(aT.caller), aL)))
392- then !(j(aT.caller))
416+ then if (if (!(av(toString(be.caller), aW)))
417+ then !(j(be.caller))
393418 else false)
394419 then throw("You are not the owner of the nation")
395420 else {
396- let ba = z(x(aL))
397- if ((aV > ba))
421+ let bl = z(x(aW))
422+ if ((bg > bl))
398423 then throw("The nation hasn't enough funds")
399424 else {
400- let bb = invoke(Address(b), "decreaseNationWallet", [aL, aV], nil)
401- let n = bb
425+ let bm = invoke(Address(b), "decreaseNationWallet", [aW, bg], nil)
426+ let n = bm
402427 if ($isInstanceOf(n, "Int"))
403428 then {
404- let aE = n
405- let ap = invoke(Address(b), "arbitraryAddCoins", [aL, aZ], nil)
406- let bc = ap
407- if ($isInstanceOf(bc, "Int"))
429+ let aP = n
430+ let ap = invoke(Address(b), "arbitraryAddCoins", [aW, bk], nil)
431+ let bn = ap
432+ if ($isInstanceOf(bn, "Int"))
408433 then {
409- let o = bc
410- let bd = invoke(Address(b), "distributeNationPayRewards", [aV], nil)
411- let be = bd
412- if ($isInstanceOf(be, "Int"))
434+ let o = bn
435+ let bo = invoke(Address(b), "distributeNationPayRewards", [bg], nil)
436+ let bp = bo
437+ if ($isInstanceOf(bp, "Int"))
413438 then {
414- let X = be
415-[StringEntry(N(toString(aT.originCaller), aT.transactionId, aM), F), StringEntry(K(aT.transactionId, aM), aL), IntegerEntry(L(toString(aT.originCaller), aT.transactionId, aM), (height + aU))]
439+ let X = bp
440+[StringEntry(N(toString(be.originCaller), be.transactionId, aX), F), StringEntry(K(be.transactionId, aX), aW), IntegerEntry(L(toString(be.originCaller), be.transactionId, aX), (height + bf))]
416441 }
417442 else throw("Error Distributing asset rewards")
418443 }
419444 else throw("Error Depositing nation funds")
420445 }
421446 else throw("Error Depositing nation funds")
422447 }
423448 }
424449 else {
425- let aI = v((aM + "_SacrificeAsset"))
426- if ((aI != ""))
427- then [DeleteEntry(aH), DeleteEntry((aH + "_Owner")), StringEntry(N(toString(aT.originCaller), aT.transactionId, aM), F), StringEntry(K(aT.transactionId, aM), toString(aT.originCaller)), IntegerEntry(L(toString(aT.originCaller), aT.transactionId, aM), (height + aU))]
450+ let aT = v((aX + "_SacrificeAsset"))
451+ if ((aT != ""))
452+ then [DeleteEntry(aS), DeleteEntry((aS + "_Owner")), StringEntry(N(toString(be.originCaller), be.transactionId, aX), F), StringEntry(K(be.transactionId, aX), toString(be.originCaller)), IntegerEntry(L(toString(be.originCaller), be.transactionId, aX), (height + bf))]
428453 else {
429- let bf = value(aT.payments[0].amount)
430- if ((aV > bf))
454+ let bq = value(be.payments[0].amount)
455+ if ((bg > bq))
431456 then throw(("You provided less $heg than the needed cost for building this " + R))
432- else if ((aT.payments[0].assetId != a))
457+ else if ((be.payments[0].assetId != a))
433458 then throw("Only $HEG payments allowed")
434459 else {
435- let ap = invoke(Address(b), "Deposit", nil, [AttachedPayment(a, aZ)])
460+ let ap = invoke(Address(b), "Deposit", nil, [AttachedPayment(a, bk)])
436461 let n = ap
437462 if ($isInstanceOf(n, "Int"))
438463 then {
439- let aE = n
440-[StringEntry(N(toString(aT.originCaller), aT.transactionId, aM), F), StringEntry(K(aT.transactionId, aM), toString(aT.originCaller)), IntegerEntry(L(toString(aT.originCaller), aT.transactionId, aM), (height + aU)), ScriptTransfer(g, aW, a), ScriptTransfer(h, aX, a), ScriptTransfer(i, aY, a)]
464+ let aP = n
465+[StringEntry(N(toString(be.originCaller), be.transactionId, aX), F), StringEntry(K(be.transactionId, aX), toString(be.originCaller)), IntegerEntry(L(toString(be.originCaller), be.transactionId, aX), (height + bf)), ScriptTransfer(g, bh, a), ScriptTransfer(h, bi, a), ScriptTransfer(i, bj, a)]
441466 }
442467 else throw("Incorrect invoke result")
443468 }
444469 }
445470 }
446471 }
447472
448473
449474
450-@Callable(aT)
451-func FinishBuild (bg,P,t,aL) = {
452- let I = fromBase58String(bg)
453- let aG = r(P, t)
454- let ag = N(toString(aT.caller), I, aG)
455- let ah = L(toString(aT.caller), I, aG)
456- let af = H(I, aG)
457- let aw = q(K(I, aG))
475+@Callable(be)
476+func FinishBuild (br,P,t,aW) = {
477+ let I = fromBase58String(br)
478+ let aR = r(P, t)
479+ let ag = N(toString(be.caller), I, aR)
480+ let ah = L(toString(be.caller), I, aR)
481+ let af = H(I, aR)
482+ let aw = q(K(I, aR))
458483 if (ax(P, t))
459- then if (if (!(av(toString(aT.caller), aL)))
460- then !(j(aT.caller))
484+ then if (if (!(av(toString(be.caller), aW)))
485+ then !(j(be.caller))
461486 else false)
462487 then throw("You are not authorized to perform this operation")
463- else aq(aL, aG, af, ag, ah, I)
464- else if ((aw != toString(aT.caller)))
488+ else aq(aW, aR, af, ag, ah, I)
489+ else if ((aw != toString(be.caller)))
465490 then throw(("You cannot claim other's players " + P))
466491 else {
467- let bh = q(ag)
468- if ((bh == ""))
492+ let bs = q(ag)
493+ if ((bs == ""))
469494 then throw("No pending operations for this asset")
470495 else {
471- let aI = v((aG + "_SacrificeAsset"))
472- let bi = u((aG + "_SacrificeAssetLevel"))
473- if ((aI != ""))
474- then ae(toString(aT.caller), aG, af, ag, ah, I, r(aI, bi))
475- else aq(toString(aT.caller), aG, af, ag, ah, I)
496+ let aT = v((aR + "_SacrificeAsset"))
497+ let bt = u((aR + "_SacrificeAssetLevel"))
498+ if ((aT != ""))
499+ then ae(toString(be.caller), aR, af, ag, ah, I, r(aT, bt))
500+ else aq(toString(be.caller), aR, af, ag, ah, I)
476501 }
477502 }
478503 }
479504
480505
481506
482-@Callable(aT)
483-func transferOwnership (E,aA) = if (!(j(aT.caller)))
507+@Callable(be)
508+func transferOwnership (E,aA,au) = if (!(j(be.caller)))
484509 then throw("Only the admin can perform this operation")
485- else $Tuple2(az(E, aA), aA)
510+ else $Tuple2(az(E, aA, au), aA)
486511
487512
488513
489-@Callable(aT)
490-func destroyAssetAndTransfer (E,au,bj) = {
514+@Callable(be)
515+func destroyAssetAndTransfer (E,au,bu) = {
491516 let Q = O(E)
492517 let R = Q._1
493518 let S = Q._2
494519 let ay = r(R, S)
495- if (!(j(aT.caller)))
520+ if (!(j(be.caller)))
496521 then throw("Only the admin can perform this operation")
497522 else {
498523 let aB = q(D(E))
499524 let an = l(E)
500525 let ao = A((aB + "_Power"))
501526 let am = u((ay + "_Power"))
502527 if (w((ay + "_Aggregated")))
503528 then {
504- let bk = ((u((ay + "_Cost")) * 20) / 100)
505- let bl = l((ay + "_Qty"))
506- if ((0 > (bl - au)))
529+ let bv = ((u((ay + "_Cost")) * 20) / 100)
530+ let bw = l((ay + "_Qty"))
531+ if ((0 > (bw - au)))
507532 then throw(("you don't have enough " + R))
508533 else {
509534 let ap = invoke(Address(f), "setUserPower", [aB, (ao - (am * au))], nil)
510535 let n = ap
511536 if ($isInstanceOf(n, "Int"))
512537 then {
513- let aE = n
514- let bm = split(bj, "#")
515- let bn = {
516- let bo = bm
517- let bp = size(bo)
518- let bq = nil
519- func br (bs,bt) = if ((bt >= bp))
520- then bs
521- else Y(bs, bo[bt])
538+ let aP = n
539+ let bx = split(bu, "#")
540+ let by = {
541+ let bz = bx
542+ let bA = size(bz)
543+ let bB = nil
544+ func bC (bD,bE) = if ((bE >= bA))
545+ then bD
546+ else Y(bD, bz[bE])
522547
523- func bu (bs,bt) = if ((bt >= bp))
524- then bs
548+ func bF (bD,bE) = if ((bE >= bA))
549+ then bD
525550 else throw("List size exceeds 50")
526551
527- bu(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(bq, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
552+ bF(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bB, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
528553 }
529- if ((bn == bn))
530- then if (((bl - au) > 0))
531- then [IntegerEntry((ay + "_Qty"), (bl - au))]
554+ if ((by == by))
555+ then if (((bw - au) > 0))
556+ then [IntegerEntry((ay + "_Qty"), (bw - au))]
532557 else [DeleteEntry(E), DeleteEntry(D(E))]
533558 else throw("Strict value is not equal to itself.")
534559 }
535560 else throw("Error setting user power")
536561 }
537562 }
538563 else {
539- let bm = split(bj, "#")
540- let bn = {
541- let bo = bm
542- let bp = size(bo)
543- let bq = nil
544- func br (bs,bt) = if ((bt >= bp))
545- then bs
546- else Y(bs, bo[bt])
564+ let bx = split(bu, "#")
565+ let by = {
566+ let bz = bx
567+ let bA = size(bz)
568+ let bB = nil
569+ func bC (bD,bE) = if ((bE >= bA))
570+ then bD
571+ else Y(bD, bz[bE])
547572
548- func bu (bs,bt) = if ((bt >= bp))
549- then bs
573+ func bF (bD,bE) = if ((bE >= bA))
574+ then bD
550575 else throw("List size exceeds 50")
551576
552- bu(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(br(bq, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
577+ bF(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bC(bB, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50)
553578 }
554- if ((bn == bn))
579+ if ((by == by))
555580 then {
556581 let ap = invoke(Address(f), "setUserPower", [aB, (ao - am)], nil)
557582 if ((ap == ap))
558583 then {
559584 let n = ap
560585 if ($isInstanceOf(n, "Int"))
561586 then {
562- let aE = n
587+ let aP = n
563588 [DeleteEntry(E), DeleteEntry(D(E))]
564589 }
565590 else throw("Error setting user power")
566591 }
567592 else throw("Strict value is not equal to itself.")
568593 }
569594 else throw("Strict value is not equal to itself.")
570595 }
571596 }
572597 }
573598
574599
575600
576-@Callable(aT)
601+@Callable(be)
577602 func destroyAssetFromUser (E,au) = {
578603 let Q = O(E)
579604 let R = Q._1
580605 let S = Q._2
581606 let ay = r(R, S)
582- if (!(av(toString(aT.caller), E)))
607+ if (!(av(toString(be.caller), E)))
583608 then throw("You don't own this asset")
584609 else {
585610 let an = l(E)
586- let ao = A((toString(aT.caller) + "_Power"))
611+ let ao = A((toString(be.caller) + "_Power"))
587612 let am = u((ay + "_Power"))
588613 if (w((ay + "_Aggregated")))
589614 then {
590- let bk = ((u((ay + "_Cost")) * 20) / 100)
591- let bl = l((ay + "_Qty"))
592- if ((0 > (bl - au)))
615+ let bv = ((u((ay + "_Cost")) * 20) / 100)
616+ let bw = l((ay + "_Qty"))
617+ if ((0 > (bw - au)))
593618 then throw(("you don't have enough " + R))
594619 else {
595- let ap = invoke(Address(f), "setUserPower", [toString(aT.caller), (ao - (am * au))], nil)
620+ let ap = invoke(Address(f), "setUserPower", [toString(be.caller), (ao - (am * au))], nil)
596621 let n = ap
597622 if ($isInstanceOf(n, "Int"))
598623 then {
599- let aE = n
600- let W = invoke(Address(b), "adminTransfer", [toString(aT.caller), (bk * au)], nil)
601- let bc = W
602- if ($isInstanceOf(bc, "Int"))
624+ let aP = n
625+ let W = invoke(Address(b), "adminTransfer", [toString(be.caller), (bv * au)], nil)
626+ let bn = W
627+ if ($isInstanceOf(bn, "Int"))
603628 then {
604- let X = bc
605- if (((bl - au) > 0))
606- then [IntegerEntry((ay + "_Qty"), (bl - au))]
629+ let X = bn
630+ if (((bw - au) > 0))
631+ then [IntegerEntry((ay + "_Qty"), (bw - au))]
607632 else [DeleteEntry(E), DeleteEntry(D(E))]
608633 }
609634 else throw("Error transferring coins")
610635 }
611636 else throw("Error setting user power")
612637 }
613638 }
614639 else {
615- let ap = invoke(Address(f), "setUserPower", [toString(aT.caller), (ao - am)], nil)
640+ let ap = invoke(Address(f), "setUserPower", [toString(be.caller), (ao - am)], nil)
616641 let n = ap
617642 if ($isInstanceOf(n, "Int"))
618643 then {
619- let aE = n
620- let W = invoke(Address(b), "adminTransfer", [toString(aT.caller), an], nil)
621- let bc = W
622- if ($isInstanceOf(bc, "Int"))
644+ let aP = n
645+ let W = invoke(Address(b), "adminTransfer", [toString(be.caller), an], nil)
646+ let bn = W
647+ if ($isInstanceOf(bn, "Int"))
623648 then {
624- let X = bc
649+ let X = bn
625650 [DeleteEntry(E), DeleteEntry(D(E))]
626651 }
627652 else throw("Error transferring coins")
628653 }
629654 else throw("Error setting user power")
630655 }
631656 }
632657 }
633658
634659
635660
636-@Callable(aT)
637-func setNationOwner (bv,aA) = if (j(aT.caller))
638- then $Tuple2([StringEntry((bv + "_Owner"), aA)], true)
661+@Callable(be)
662+func setNationOwner (bG,aA) = if (j(be.caller))
663+ then $Tuple2([StringEntry((bG + "_Owner"), aA)], true)
639664 else {
640- let bw = q((bv + "_Owner"))
641- if ((bw != toString(aT.caller)))
665+ let bH = q((bG + "_Owner"))
666+ if ((bH != toString(be.caller)))
642667 then throw("You are not the nation owner")
643- else [StringEntry((bv + "_Owner"), aA)]
668+ else [StringEntry((bG + "_Owner"), aA)]
644669 }
645670
646671
647672
648-@Callable(aT)
649-func buyNationItem (E,aL) = {
673+@Callable(be)
674+func buyNationItem (E,aW) = {
650675 let Q = O(E)
651676 let R = Q._1
652677 let S = Q._2
653678 let ay = r(R, S)
654- let bx = A(toString(aT.caller))
655- let by = A(aL)
656- if ((bx != by))
679+ let bI = A(toString(be.caller))
680+ let bJ = A(aW)
681+ if ((bI != bJ))
657682 then throw("you can buy assets only from your nation")
658- else if (!(av(aL, E)))
683+ else if (!(av(aW, E)))
659684 then throw("The asset does not belong to the nation")
660685 else if (!(ax(R, S)))
661686 then throw("this asset cannot be sold by the nation")
662687 else {
663- let bz = u((r(R, S) + "_SellPrice"))
664- let bf = value(aT.payments[0].amount)
665- if ((bz > bf))
688+ let bK = u((r(R, S) + "_SellPrice"))
689+ let bq = value(be.payments[0].amount)
690+ if ((bK > bq))
666691 then throw(("You provided less $heg than the needed cost for buying this " + R))
667- else if ((aT.payments[0].assetId != a))
692+ else if ((be.payments[0].assetId != a))
668693 then throw("Only $HEG payments allowed")
669694 else {
670- let bA = invoke(Address(b), "increaseNationWallet", [aL, bf], nil)
671- let n = bA
695+ let bL = invoke(Address(b), "increaseNationWallet", [aW, bq], nil)
696+ let n = bL
672697 if ($isInstanceOf(n, "Int"))
673698 then {
674699 let o = n
675- (az(E, toString(aT.caller)) :+ ScriptTransfer(Address(b), bf, a))
700+ (az(E, toString(be.caller), 1) :+ ScriptTransfer(Address(b), bq, a))
676701 }
677702 else throw("Error transferring SHEG to nations wallet")
678703 }
679704 }
680705 }
681706
682707
683708
684-@Callable(aT)
685-func AddAssetFromMarkeplace (E,aB,bB) = if (!(j(aT.caller)))
709+@Callable(be)
710+func AddAssetFromMarkeplace (E,aB,bM) = if (!(j(be.caller)))
686711 then throw("You are not allowed to perform this operation")
687- else $Tuple2([StringEntry(D(E), aB), IntegerEntry(E, bB)], aB)
712+ else $Tuple2([StringEntry(D(E), aB), IntegerEntry(E, bM)], aB)
688713
689714
690715
691-@Callable(aT)
692-func TransferAssetToMarketplace (E,bC) = if (!(av(toString(aT.caller), E)))
716+@Callable(be)
717+func TransferAssetToMarketplace (E,bN) = if (!(av(toString(be.caller), E)))
693718 then throw("You are not the owner of this asset")
694719 else {
695- let bB = l(E)
696- let W = invoke(Address(d), "putOnSale", [E, bB, bC], nil)
720+ let bM = l(E)
721+ let W = invoke(Address(d), "putOnSale", [E, bM, bN], nil)
697722 let n = W
698723 if ($isInstanceOf(n, "Int"))
699724 then {
700725 let X = n
701726 [DeleteEntry(D(E)), DeleteEntry(E)]
702727 }
703728 else throw("Error putting the item on the marketplace")
704729 }
705730
706731
707732
708-@Callable(aT)
709-func DelKey (m) = if (!(j(aT.caller)))
733+@Callable(be)
734+func DelKey (m) = if (!(j(be.caller)))
710735 then throw("")
711736 else [DeleteEntry(m)]
712737
713738
714739
715-@Callable(aT)
716-func UpdKey (m,ab) = if (!(j(aT.caller)))
740+@Callable(be)
741+func UpdKey (m,ab) = if (!(j(be.caller)))
717742 then throw("")
718743 else [StringEntry(m, ab)]
719744
720745

github/deemru/w8io/169f3d6 
211.75 ms