tx · 2H3adsHairCBijtE37fpZ4b4buUvnSZuBNmJxZhsyPKG

3MqDf9VgoL9eqrCPx8F74Au6xBpvdTm9UP8:  -0.01700000 Waves

2022.09.14 17:26 [2228892] smart account 3MqDf9VgoL9eqrCPx8F74Au6xBpvdTm9UP8 > SELF 0.00000000 Waves

{ "type": 13, "id": "2H3adsHairCBijtE37fpZ4b4buUvnSZuBNmJxZhsyPKG", "fee": 1700000, "feeAssetId": null, "timestamp": 1663165575259, "version": 2, "chainId": 84, "sender": "3MqDf9VgoL9eqrCPx8F74Au6xBpvdTm9UP8", "senderPublicKey": "4ja2PX5eqM576zv9KGzu5Qe7M92Z3jbuSmkLPdGjK4ue", "proofs": [ "2DuJpXsbY26EVxcHnMPLe35ZbFW4A18qTnt8zzJD53iQgv8Uuvhk3n1CbdbSwxa2i7nayQVJyZ67KtUAa4wZpR96", "37tuo57geHNTiJFQfQspMPM6Wku5vax4asSMmjoqtAbVY6TvA7hxLjBSSSnVdy9z6PDTW9d4TB2MUiKrgrHyzSV1" ], "script": "base64:AAIFAAAAAAAAABAIAhIICgYYGBERGAESABIAAAAAJgAAAAAHa0FjdGl2ZQIAAAAGYWN0aXZlAAAAAAZrQ2F1c2UCAAAADnNodXRkb3duX2NhdXNlAAAAAA1rUG9vbEluT3JhY2xlAgAAAAVwb29sXwAAAAAOa1VzZXJTd29wSW5Hb3YCAAAADF9TV09QX2Ftb3VudAAAAAAKa0Rpc2NvdW50cwIAAAAJZGlzY291bnRzAAAAAA9rRGlzY291bnRWYWx1ZXMCAAAAD2Rpc2NvdW50X3ZhbHVlcwAAAAALa1JvdXRpbmdGZWUCAAAAC3JvdXRpbmdfZmVlAAAAAA1rQWRtaW5QdWJLZXkxAgAAAAthZG1pbl9wdWJfMQAAAAANa0FkbWluUHViS2V5MgIAAAALYWRtaW5fcHViXzIAAAAADWtBZG1pblB1YktleTMCAAAAC2FkbWluX3B1Yl8zAAAAABBrTW9uZXlCb3hBZGRyZXNzAgAAABFtb25leV9ib3hfYWRkcmVzcwAAAAALa0dvdkFkZHJlc3MCAAAAEmdvdmVybmFuY2VfYWRkcmVzcwAAAAAEa0ZlZQIAAAAKY29tbWlzc2lvbgAAAAASa011bHR5QXNzZXRCYWxhbmNlAgAAAAhfYmFsYW5jZQAAAAAHZGlnaXRzOAAAAAAAAAAACAAAAAAGc2NhbGU4AAAAAAAF9eEAAAAAAAdzY2FsZTE2AAAjhvJvwQAAAAAAAAVhbHBoYQAAAAAAAAAAMgAAAAALYWxwaGFEaWdpdHMAAAAAAAAAAAIAAAAABGJldGEAABBXrPX3gAAAAAAABm9yYWNsZQkBAAAAB0FkZHJlc3MAAAABAQAAABoBVOlFqh6QLzqu8boO5i6akl8amITh82KzCAEAAAATZ2V0QmFzZTU4RnJvbU9yYWNsZQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABm9yYWNsZQUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnN0cmluZwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAZzdHJpbmcEAAAAB25vdGhpbmcFAAAAByRtYXRjaDAJAAACAAAAAQkAASwAAAACBQAAAANrZXkCAAAACGlzIGVtcHR5AAAAAAxhZG1pblB1YktleTEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAANa0FkbWluUHViS2V5MQAAAAAMYWRtaW5QdWJLZXkyCQEAAAATZ2V0QmFzZTU4RnJvbU9yYWNsZQAAAAEFAAAADWtBZG1pblB1YktleTIAAAAADGFkbWluUHViS2V5MwkBAAAAE2dldEJhc2U1OEZyb21PcmFjbGUAAAABBQAAAA1rQWRtaW5QdWJLZXkzAAAAAA9tb25leUJveEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQkBAAAAE2dldEJhc2U1OEZyb21PcmFjbGUAAAABBQAAABBrTW9uZXlCb3hBZGRyZXNzAAAAAApnb3ZBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAALa0dvdkFkZHJlc3MAAAAABmFjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAdrQWN0aXZlBgAAAAAKcm91dGluZ0ZlZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABm9yYWNsZQUAAAALa1JvdXRpbmdGZWUCAAAAFHJvdXRpbmdfZmVlIGlzIGVtcHR5AAAAAAlmZWVTY2FsZTYAAAAAAAAPQkABAAAACGlzQWN0aXZlAAAAAAMFAAAABmFjdGl2ZQUAAAAEdW5pdAkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AQAAAAtpc0FkbWluQ2FsbAAAAAEAAAABaQMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAAEdW5pdAkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24BAAAADXRocm93SXNBY3RpdmUAAAAACQAAAgAAAAECAAAAFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAdrQWN0aXZlBwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAZrQ2F1c2UFAAAABWNhdXNlBQAAAANuaWwBAAAACHNrZXduZXNzAAAAAgAAAAF4AAAAAXkJAABpAAAAAgkAAGQAAAACCQAAawAAAAMFAAAAB3NjYWxlMTYFAAAAAXgFAAAAAXkJAABrAAAAAwUAAAAHc2NhbGUxNgUAAAABeQUAAAABeAAAAAAAAAAAAgEAAAANaW52YXJpYW50Q2FsYwAAAAIAAAABeAAAAAF5BAAAAAJzawkBAAAACHNrZXduZXNzAAAAAgUAAAABeAUAAAABeQkAAGQAAAACCQAAawAAAAMJAABkAAAAAgUAAAABeAUAAAABeQUAAAAHc2NhbGUxNgkAAGwAAAAGBQAAAAJzawUAAAAHZGlnaXRzOAUAAAAFYWxwaGEFAAAAC2FscGhhRGlnaXRzBQAAAAdkaWdpdHM4BQAAAAdDRUlMSU5HCQAAaAAAAAIAAAAAAAAAAAIJAABrAAAAAwkAAaAAAAABCQAAdgAAAAYJAAE8AAAAAwkAATYAAAABBQAAAAF4CQABNgAAAAEFAAAAAXkJAAE2AAAAAQUAAAAGc2NhbGU4AAAAAAAAAAAACQABNgAAAAEAAAAAAAAAAAUAAAAAAAAAAAEJAABpAAAAAgUAAAAHZGlnaXRzOAAAAAAAAAAAAgUAAAAERE9XTgkAAGwAAAAGCQAAZQAAAAIFAAAAAnNrBQAAAARiZXRhBQAAAAdkaWdpdHM4BQAAAAVhbHBoYQUAAAALYWxwaGFEaWdpdHMFAAAAB2RpZ2l0czgFAAAABERPV04FAAAABnNjYWxlOAEAAAAUY2FsY3VsYXRlRmVlRGlzY291bnQAAAABAAAACHVzZXJBZGRyBAAAAApzd29wQW1vdW50CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAACmdvdkFkZHJlc3MJAAEsAAAAAgkABCUAAAABBQAAAAh1c2VyQWRkcgUAAAAOa1VzZXJTd29wSW5Hb3YAAAAAAAAAAAAEAAAADmRpc2NvdW50VmFsdWVzCQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABm9yYWNsZQUAAAAPa0Rpc2NvdW50VmFsdWVzAgAAAAEsBAAAAAlkaXNjb3VudHMJAAS1AAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAGb3JhY2xlBQAAAAprRGlzY291bnRzAgAAAAEsAwMJAABnAAAAAgUAAAAKc3dvcEFtb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADmRpc2NvdW50VmFsdWVzAAAAAAAAAAAACQAAZgAAAAIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA5kaXNjb3VudFZhbHVlcwAAAAAAAAAAAQUAAAAKc3dvcEFtb3VudAcJAABlAAAAAgUAAAAJZmVlU2NhbGU2CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJZGlzY291bnRzAAAAAAAAAAAAAwMJAABnAAAAAgUAAAAKc3dvcEFtb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADmRpc2NvdW50VmFsdWVzAAAAAAAAAAABCQAAZgAAAAIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA5kaXNjb3VudFZhbHVlcwAAAAAAAAAAAgUAAAAKc3dvcEFtb3VudAcJAABlAAAAAgUAAAAJZmVlU2NhbGU2CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJZGlzY291bnRzAAAAAAAAAAABAwMJAABnAAAAAgUAAAAKc3dvcEFtb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADmRpc2NvdW50VmFsdWVzAAAAAAAAAAACCQAAZgAAAAIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA5kaXNjb3VudFZhbHVlcwAAAAAAAAAAAwUAAAAKc3dvcEFtb3VudAcJAABlAAAAAgUAAAAJZmVlU2NhbGU2CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJZGlzY291bnRzAAAAAAAAAAACAwMJAABnAAAAAgUAAAAKc3dvcEFtb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADmRpc2NvdW50VmFsdWVzAAAAAAAAAAADCQAAZgAAAAIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA5kaXNjb3VudFZhbHVlcwAAAAAAAAAABAUAAAAKc3dvcEFtb3VudAcJAABlAAAAAgUAAAAJZmVlU2NhbGU2CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJZGlzY291bnRzAAAAAAAAAAADAwkAAGcAAAACBQAAAApzd29wQW1vdW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAOZGlzY291bnRWYWx1ZXMAAAAAAAAAAAQJAABlAAAAAgUAAAAJZmVlU2NhbGU2CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJZGlzY291bnRzAAAAAAAAAAAEBQAAAAlmZWVTY2FsZTYBAAAAEGNoZWNrUG9zc2liaWxpdHkAAAAIAAAABmNhbGxlcgAAAAlwbXRBbW91bnQAAAASbWluQW1vdW50VG9SZWNlaXZlAAAACmV4Y2hhbmdlcnMAAAAOZXhjaGFuZ2Vyc1R5cGUAAAARcm91dGluZ0Fzc2V0c0tleXMAAAAFYXJnczEAAAAFYXJnczIEAAAAC2ZlZURpc2NvdW50CQEAAAAUY2FsY3VsYXRlRmVlRGlzY291bnQAAAABBQAAAAZjYWxsZXIEAAAAFGdldEZyb20xVHJhZGVXaXRoRmVlAwkAAAAAAAACCQABkQAAAAIFAAAADmV4Y2hhbmdlcnNUeXBlAAAAAAAAAAAAAgAAAA5jdXJ2ZU11bHR5RmxhdAQAAAADaW52CgAAAAABQAkAA/wAAAAECQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQABkQAAAAIFAAAACmV4Y2hhbmdlcnMAAAAAAAAAAAACAAAABWdldER5CQAETAAAAAIJAAGRAAAAAgUAAAARcm91dGluZ0Fzc2V0c0tleXMAAAAAAAAAAAAJAARMAAAAAgkAAZEAAAACBQAAABFyb3V0aW5nQXNzZXRzS2V5cwAAAAAAAAAAAQkABEwAAAACBQAAAAlwbXRBbW91bnQJAARMAAAAAgkABCUAAAABBQAAAAZjYWxsZXIFAAAAA25pbAUAAAADbmlsAwkAAAEAAAACBQAAAAFAAgAAAAooSW50LCBJbnQpBQAAAAFACQAAAgAAAAECAAAAH0NvdWxkbid0IGNhc3QgQW55IHRvIChJbnQsIEludCkDCQAAAAAAAAIFAAAAA2ludgUAAAADaW52CAUAAAADaW52AAAAAl8xCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQAAAANZEFwcDFUb2tlblBheQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAApleGNoYW5nZXJzAAAAAAAAAAAACQABkQAAAAIFAAAAEXJvdXRpbmdBc3NldHNLZXlzAAAAAAAAAAAABAAAAA1kQXBwMVRva2VuR2V0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQABkQAAAAIFAAAACmV4Y2hhbmdlcnMAAAAAAAAAAAAJAAGRAAAAAgUAAAARcm91dGluZ0Fzc2V0c0tleXMAAAAAAAAAAAEDCQAAAAAAAAIJAAGRAAAAAgUAAAAOZXhjaGFuZ2Vyc1R5cGUAAAAAAAAAAAACAAAABGNwbW0EAAAAA2ZlZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAApleGNoYW5nZXJzAAAAAAAAAAAABQAAAARrRmVlBAAAABdnZXRGcm9tMVRyYWRlV2l0aG91dEZlZQkAAGsAAAADBQAAAA1kQXBwMVRva2VuR2V0BQAAAAlwbXRBbW91bnQJAABkAAAAAgUAAAAJcG10QW1vdW50BQAAAA1kQXBwMVRva2VuUGF5CQAAawAAAAMFAAAAF2dldEZyb20xVHJhZGVXaXRob3V0RmVlCQAAZQAAAAIFAAAACWZlZVNjYWxlNgkAAGsAAAADBQAAAANmZWUFAAAAC2ZlZURpc2NvdW50BQAAAAlmZWVTY2FsZTYFAAAACWZlZVNjYWxlNgMJAAAAAAAAAgkAAZEAAAACBQAAAA5leGNoYW5nZXJzVHlwZQAAAAAAAAAAAAIAAAAEZmxhdAQAAAAJaW52YXJpYW50CQEAAAANaW52YXJpYW50Q2FsYwAAAAIFAAAADWRBcHAxVG9rZW5QYXkFAAAADWRBcHAxVG9rZW5HZXQEAAAAE21pbkFtb3VudFRvUmVjZWl2ZTEJAAGRAAAAAgUAAAAFYXJnczIAAAAAAAAAAAAEAAAADGludmFyaWFudE5ldwkBAAAADWludmFyaWFudENhbGMAAAACCQAAZAAAAAIFAAAADWRBcHAxVG9rZW5QYXkFAAAACXBtdEFtb3VudAkAAGUAAAACBQAAAA1kQXBwMVRva2VuR2V0BQAAABNtaW5BbW91bnRUb1JlY2VpdmUxAwkAAGcAAAACBQAAAAxpbnZhcmlhbnROZXcFAAAACWludmFyaWFudAUAAAATbWluQW1vdW50VG9SZWNlaXZlMQkAAAIAAAABAgAAACdGbGF0IGNvbnRyYWN0OiBpbnZhcmlhbnROZXcgPCBpbnZhcmlhbnQJAAACAAAAAQIAAAAXSW5jb3JyZWN0IGV4Y2hhbmdlIHR5cGUEAAAAFGdldEZyb20yVHJhZGVXaXRoRmVlAwkAAAAAAAACCQABkQAAAAIFAAAADmV4Y2hhbmdlcnNUeXBlAAAAAAAAAAABAgAAAA5jdXJ2ZU11bHR5RmxhdAQAAAADaW52CgAAAAABQAkAA/wAAAAECQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQABkQAAAAIFAAAACmV4Y2hhbmdlcnMAAAAAAAAAAAECAAAABWdldER5CQAETAAAAAIJAAGRAAAAAgUAAAARcm91dGluZ0Fzc2V0c0tleXMAAAAAAAAAAAIJAARMAAAAAgkAAZEAAAACBQAAABFyb3V0aW5nQXNzZXRzS2V5cwAAAAAAAAAAAwkABEwAAAACBQAAABRnZXRGcm9tMVRyYWRlV2l0aEZlZQkABEwAAAACCQAEJQAAAAEFAAAABmNhbGxlcgUAAAADbmlsBQAAAANuaWwDCQAAAQAAAAIFAAAAAUACAAAACihJbnQsIEludCkFAAAAAUAJAAACAAAAAQIAAAAfQ291bGRuJ3QgY2FzdCBBbnkgdG8gKEludCwgSW50KQMJAAAAAAAAAgUAAAADaW52BQAAAANpbnYIBQAAAANpbnYAAAACXzEJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAAAAA1kQXBwMlRva2VuUGF5CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQABkQAAAAIFAAAACmV4Y2hhbmdlcnMAAAAAAAAAAAEJAAGRAAAAAgUAAAARcm91dGluZ0Fzc2V0c0tleXMAAAAAAAAAAAIEAAAADWRBcHAyVG9rZW5HZXQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAAGRAAAAAgUAAAAKZXhjaGFuZ2VycwAAAAAAAAAAAQkAAZEAAAACBQAAABFyb3V0aW5nQXNzZXRzS2V5cwAAAAAAAAAAAwMJAAAAAAAAAgkAAZEAAAACBQAAAA5leGNoYW5nZXJzVHlwZQAAAAAAAAAAAQIAAAAEY3BtbQQAAAAXZ2V0RnJvbTJUcmFkZVdpdGhvdXRGZWUJAABrAAAAAwUAAAANZEFwcDJUb2tlbkdldAUAAAAUZ2V0RnJvbTFUcmFkZVdpdGhGZWUJAABkAAAAAgUAAAAUZ2V0RnJvbTFUcmFkZVdpdGhGZWUFAAAADWRBcHAyVG9rZW5QYXkEAAAAA2ZlZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAApleGNoYW5nZXJzAAAAAAAAAAABBQAAAARrRmVlCQAAawAAAAMFAAAAF2dldEZyb20yVHJhZGVXaXRob3V0RmVlCQAAZQAAAAIFAAAACWZlZVNjYWxlNgkAAGsAAAADBQAAAANmZWUFAAAAC2ZlZURpc2NvdW50BQAAAAlmZWVTY2FsZTYFAAAACWZlZVNjYWxlNgMJAAAAAAAAAgkAAZEAAAACBQAAAA5leGNoYW5nZXJzVHlwZQAAAAAAAAAAAQIAAAAEZmxhdAQAAAAJaW52YXJpYW50CQEAAAANaW52YXJpYW50Q2FsYwAAAAIFAAAADWRBcHAyVG9rZW5QYXkFAAAADWRBcHAyVG9rZW5HZXQEAAAAE21pbkFtb3VudFRvUmVjZWl2ZTIJAAGRAAAAAgUAAAAFYXJnczIAAAAAAAAAAAEEAAAADGludmFyaWFudE5ldwkBAAAADWludmFyaWFudENhbGMAAAACCQAAZAAAAAIFAAAADWRBcHAyVG9rZW5QYXkFAAAAFGdldEZyb20xVHJhZGVXaXRoRmVlCQAAZQAAAAIFAAAADWRBcHAyVG9rZW5HZXQFAAAAE21pbkFtb3VudFRvUmVjZWl2ZTIDCQAAZwAAAAIFAAAADGludmFyaWFudE5ldwUAAAAJaW52YXJpYW50BQAAABNtaW5BbW91bnRUb1JlY2VpdmUyCQAAAgAAAAECAAAAJ0ZsYXQgY29udHJhY3Q6IGludmFyaWFudE5ldyA8IGludmFyaWFudAkAAAIAAAABAgAAABdJbmNvcnJlY3QgZXhjaGFuZ2UgdHlwZQkAAGcAAAACBQAAABRnZXRGcm9tMlRyYWRlV2l0aEZlZQUAAAASbWluQW1vdW50VG9SZWNlaXZlAAAAAwAAAAFpAQAAAAxyb3V0aW5nVHJhZGUAAAAGAAAACmV4Y2hhbmdlcnMAAAAOZXhjaGFuZ2Vyc1R5cGUAAAAFYXJnczEAAAAFYXJnczIAAAARcm91dGluZ0Fzc2V0c0tleXMAAAASbWluQW1vdW50VG9SZWNlaXZlCQEAAAALdmFsdWVPckVsc2UAAAACCQEAAAAIaXNBY3RpdmUAAAAABAAAAAskdDA3NDQxNzUxNQkABRQAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAACXBtdEFtb3VudAgFAAAACyR0MDc0NDE3NTE1AAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAALJHQwNzQ0MTc1MTUAAAACXzIDCQEAAAABIQAAAAEJAQAAABBjaGVja1Bvc3NpYmlsaXR5AAAACAgFAAAAAWkAAAAGY2FsbGVyBQAAAAlwbXRBbW91bnQFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAAKZXhjaGFuZ2VycwUAAAAOZXhjaGFuZ2Vyc1R5cGUFAAAAEXJvdXRpbmdBc3NldHNLZXlzBQAAAAVhcmdzMQUAAAAFYXJnczIJAAACAAAAAQIAAAAmQ2hlY2sgdHJhbnNhY3Rpb24gcG9zc2li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", "height": 2228892, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FwMizbZF89mPChiZXuidB9TYV5ZRqVHDEvB2ZQHd4Vzm Next: CFWPUccGbc6SooPMwrAyEumopuTnkM9Fm9DXtZUs6FHt Diff:
OldNewDifferences
224224 let aK = addressFromStringValue(aC)
225225 if ((ad[aE] == "cpmm"))
226226 then {
227- let aj = invoke(aK, "exchange", [af[aE]], [AttachedPayment(aI, aJ)])
227+ let aj = {
228+ let ak = invoke(aK, "exchange", [af[aE]], [AttachedPayment(aI, aJ)])
229+ if ($isInstanceOf(ak, "(Int, ByteVector)"))
230+ then ak
231+ else throw("Couldn't cast Any to (Int, ByteVector)")
232+ }
228233 if ((aj == aj))
229- then {
230- let x = aj
231- if (if ($isInstanceOf(x, "(Int, Unit)"))
232- then true
233- else $isInstanceOf(x, "(Int, ByteVector)"))
234- then {
235- let aj = x
236- let aL = aj
237- let aM = aL._1
238- let aN = aL._2
239- $Tuple3((aE + 1), aM, aN)
240- }
241- else throw("Incorrect invoke result: expected amountWithFee and assetsIdSend")
242- }
234+ then $Tuple3((aE + 1), aj._1, aj._2)
243235 else throw("Strict value is not equal to itself.")
244236 }
245237 else if ((ad[aE] == "flat"))
271263 else aB
272264 }
273265
274- let aO = {
275- let aP = ac
276- let aQ = size(aP)
277- let aR = $Tuple3(0, 0, base58'')
278- func aS (aT,aU) = if ((aU >= aQ))
279- then aT
280- else aA(aT, aP[aU])
266+ let aL = {
267+ let aM = ac
268+ let aN = size(aM)
269+ let aO = $Tuple3(0, 0, base58'')
270+ func aP (aQ,aR) = if ((aR >= aN))
271+ then aQ
272+ else aA(aQ, aM[aR])
281273
282- func aV (aT,aU) = if ((aU >= aQ))
283- then aT
274+ func aS (aQ,aR) = if ((aR >= aN))
275+ then aQ
284276 else throw("List size exceeds 3")
285277
286- aV(aS(aS(aS(aR, 0), 1), 2), 3)
278+ aS(aP(aP(aP(aO, 0), 1), 2), 3)
287279 }
288- let aE = aO._1
289- let aW = aO._2
290- let aN = aO._3
291- let aM = fraction(aW, (H - G), H)
280+ let aE = aL._1
281+ let aT = aL._2
282+ let aU = aL._3
283+ let aV = fraction(aT, (H - G), H)
292284 if (if ((aE == az))
293- then (aM >= ab)
285+ then (aV >= ab)
294286 else false)
295- then [ScriptTransfer(K.caller, aM, aN), ScriptTransfer(D, (aW - aM), aN)]
287+ then [ScriptTransfer(K.caller, aV, aU), ScriptTransfer(D, (aT - aV), aU)]
296288 else throw("routing != routingSize or amountToRecieve < minAmountToReceive")
297289 }
298290 })
312304 else [BooleanEntry(a, true), DeleteEntry(b)])
313305
314306
315-@Verifier(aX)
316-func aY () = {
317- let aZ = {
318- let ba = if (sigVerify(aX.bodyBytes, aX.proofs[0], A))
307+@Verifier(aW)
308+func aX () = {
309+ let aY = {
310+ let aZ = if (sigVerify(aW.bodyBytes, aW.proofs[0], A))
319311 then 1
320312 else 0
321- let bb = if (sigVerify(aX.bodyBytes, aX.proofs[1], B))
313+ let ba = if (sigVerify(aW.bodyBytes, aW.proofs[1], B))
322314 then 1
323315 else 0
324- let bc = if (sigVerify(aX.bodyBytes, aX.proofs[2], C))
316+ let bb = if (sigVerify(aW.bodyBytes, aW.proofs[2], C))
325317 then 1
326318 else 0
327- (((ba + bb) + bc) >= 2)
319+ (((aZ + ba) + bb) >= 2)
328320 }
329- let x = aX
330- aZ
321+ let x = aW
322+ aY
331323 }
332324
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "active"
55
66 let b = "shutdown_cause"
77
88 let c = "pool_"
99
1010 let d = "_SWOP_amount"
1111
1212 let e = "discounts"
1313
1414 let f = "discount_values"
1515
1616 let g = "routing_fee"
1717
1818 let h = "admin_pub_1"
1919
2020 let i = "admin_pub_2"
2121
2222 let j = "admin_pub_3"
2323
2424 let k = "money_box_address"
2525
2626 let l = "governance_address"
2727
2828 let m = "commission"
2929
3030 let n = "_balance"
3131
3232 let o = 8
3333
3434 let p = 100000000
3535
3636 let q = 10000000000000000
3737
3838 let r = 50
3939
4040 let s = 2
4141
4242 let t = 4600000000000000
4343
4444 let u = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
4545
4646 func v (w) = {
4747 let x = getString(u, w)
4848 if ($isInstanceOf(x, "String"))
4949 then {
5050 let y = x
5151 fromBase58String(y)
5252 }
5353 else {
5454 let z = x
5555 throw((w + "is empty"))
5656 }
5757 }
5858
5959
6060 let A = v(h)
6161
6262 let B = v(i)
6363
6464 let C = v(j)
6565
6666 let D = Address(v(k))
6767
6868 let E = Address(v(l))
6969
7070 let F = valueOrElse(getBoolean(this, a), true)
7171
7272 let G = valueOrErrorMessage(getInteger(u, g), "routing_fee is empty")
7373
7474 let H = 1000000
7575
7676 func I () = if (F)
7777 then unit
7878 else throw("DApp is inactive at this moment")
7979
8080
8181 func J (K) = if (containsElement([A, B, C], K.callerPublicKey))
8282 then unit
8383 else throw("Only admin can call this function")
8484
8585
8686 func L () = throw("DApp is already active")
8787
8888
8989 func M (N) = [BooleanEntry(a, false), StringEntry(b, N)]
9090
9191
9292 func O (P,Q) = ((fraction(q, P, Q) + fraction(q, Q, P)) / 2)
9393
9494
9595 func R (P,Q) = {
9696 let S = O(P, Q)
9797 (fraction((P + Q), q, pow(S, o, r, s, o, CEILING)) + (2 * fraction(toInt(pow(fraction(toBigInt(P), toBigInt(Q), toBigInt(p)), 0, toBigInt(5), 1, (o / 2), DOWN)), pow((S - t), o, r, s, o, DOWN), p)))
9898 }
9999
100100
101101 func T (U) = {
102102 let V = valueOrElse(getInteger(E, (toString(U) + d)), 0)
103103 let W = split(getStringValue(u, f), ",")
104104 let X = split(getStringValue(u, e), ",")
105105 if (if ((V >= parseIntValue(W[0])))
106106 then (parseIntValue(W[1]) > V)
107107 else false)
108108 then (H - parseIntValue(X[0]))
109109 else if (if ((V >= parseIntValue(W[1])))
110110 then (parseIntValue(W[2]) > V)
111111 else false)
112112 then (H - parseIntValue(X[1]))
113113 else if (if ((V >= parseIntValue(W[2])))
114114 then (parseIntValue(W[3]) > V)
115115 else false)
116116 then (H - parseIntValue(X[2]))
117117 else if (if ((V >= parseIntValue(W[3])))
118118 then (parseIntValue(W[4]) > V)
119119 else false)
120120 then (H - parseIntValue(X[3]))
121121 else if ((V >= parseIntValue(W[4])))
122122 then (H - parseIntValue(X[4]))
123123 else H
124124 }
125125
126126
127127 func Y (Z,aa,ab,ac,ad,ae,af,ag) = {
128128 let ah = T(Z)
129129 let ai = if ((ad[0] == "curveMultyFlat"))
130130 then {
131131 let aj = {
132132 let ak = invoke(addressFromStringValue(ac[0]), "getDy", [ae[0], ae[1], aa, toString(Z)], nil)
133133 if ($isInstanceOf(ak, "(Int, Int)"))
134134 then ak
135135 else throw("Couldn't cast Any to (Int, Int)")
136136 }
137137 if ((aj == aj))
138138 then aj._1
139139 else throw("Strict value is not equal to itself.")
140140 }
141141 else {
142142 let al = getIntegerValue(addressFromStringValue(ac[0]), ae[0])
143143 let am = getIntegerValue(addressFromStringValue(ac[0]), ae[1])
144144 if ((ad[0] == "cpmm"))
145145 then {
146146 let an = getIntegerValue(addressFromStringValue(ac[0]), m)
147147 let ao = fraction(am, aa, (aa + al))
148148 fraction(ao, (H - fraction(an, ah, H)), H)
149149 }
150150 else if ((ad[0] == "flat"))
151151 then {
152152 let ap = R(al, am)
153153 let aq = ag[0]
154154 let ar = R((al + aa), (am - aq))
155155 if ((ar >= ap))
156156 then aq
157157 else throw("Flat contract: invariantNew < invariant")
158158 }
159159 else throw("Incorrect exchange type")
160160 }
161161 let as = if ((ad[1] == "curveMultyFlat"))
162162 then {
163163 let aj = {
164164 let ak = invoke(addressFromStringValue(ac[1]), "getDy", [ae[2], ae[3], ai, toString(Z)], nil)
165165 if ($isInstanceOf(ak, "(Int, Int)"))
166166 then ak
167167 else throw("Couldn't cast Any to (Int, Int)")
168168 }
169169 if ((aj == aj))
170170 then aj._1
171171 else throw("Strict value is not equal to itself.")
172172 }
173173 else {
174174 let at = getIntegerValue(addressFromStringValue(ac[1]), ae[2])
175175 let au = getIntegerValue(addressFromStringValue(ac[1]), ae[3])
176176 if ((ad[1] == "cpmm"))
177177 then {
178178 let av = fraction(au, ai, (ai + at))
179179 let an = getIntegerValue(addressFromStringValue(ac[1]), m)
180180 fraction(av, (H - fraction(an, ah, H)), H)
181181 }
182182 else if ((ad[1] == "flat"))
183183 then {
184184 let ap = R(at, au)
185185 let aw = ag[1]
186186 let ar = R((at + ai), (au - aw))
187187 if ((ar >= ap))
188188 then aw
189189 else throw("Flat contract: invariantNew < invariant")
190190 }
191191 else throw("Incorrect exchange type")
192192 }
193193 (as >= ab)
194194 }
195195
196196
197197 @Callable(K)
198198 func routingTrade (ac,ad,af,ag,ae,ab) = valueOrElse(I(), {
199199 let ax = $Tuple2(K.payments[0].amount, K.payments[0].assetId)
200200 let aa = ax._1
201201 let ay = ax._2
202202 if (!(Y(K.caller, aa, ab, ac, ad, ae, af, ag)))
203203 then throw("Check transaction possibilty: declined")
204204 else if (if (!(isDefined(getString(u, (c + ac[0])))))
205205 then true
206206 else !(isDefined(getString(u, (c + ac[1])))))
207207 then throw("Pool is not in oracle")
208208 else {
209209 let az = size(ac)
210210 func aA (aB,aC) = {
211211 let aD = aB
212212 let aE = aD._1
213213 let aF = aD._2
214214 let aG = aD._3
215215 let aH = if ((aE == 0))
216216 then $Tuple2(ay, aa)
217217 else $Tuple2(aG, aF)
218218 let aI = aH._1
219219 let aJ = aH._2
220220 if (((if ((aE >= 0))
221221 then (az > aE)
222222 else false) == true))
223223 then {
224224 let aK = addressFromStringValue(aC)
225225 if ((ad[aE] == "cpmm"))
226226 then {
227- let aj = invoke(aK, "exchange", [af[aE]], [AttachedPayment(aI, aJ)])
227+ let aj = {
228+ let ak = invoke(aK, "exchange", [af[aE]], [AttachedPayment(aI, aJ)])
229+ if ($isInstanceOf(ak, "(Int, ByteVector)"))
230+ then ak
231+ else throw("Couldn't cast Any to (Int, ByteVector)")
232+ }
228233 if ((aj == aj))
229- then {
230- let x = aj
231- if (if ($isInstanceOf(x, "(Int, Unit)"))
232- then true
233- else $isInstanceOf(x, "(Int, ByteVector)"))
234- then {
235- let aj = x
236- let aL = aj
237- let aM = aL._1
238- let aN = aL._2
239- $Tuple3((aE + 1), aM, aN)
240- }
241- else throw("Incorrect invoke result: expected amountWithFee and assetsIdSend")
242- }
234+ then $Tuple3((aE + 1), aj._1, aj._2)
243235 else throw("Strict value is not equal to itself.")
244236 }
245237 else if ((ad[aE] == "flat"))
246238 then {
247239 let aj = {
248240 let ak = invoke(aK, "exchange", [af[aE], ag[aE]], [AttachedPayment(aI, aJ)])
249241 if ($isInstanceOf(ak, "List[Any]"))
250242 then ak
251243 else throw("Couldn't cast Any to List[Any]")
252244 }
253245 if ((aj == aj))
254246 then $Tuple3((aE + 1), aj[0], aj[1])
255247 else throw("Strict value is not equal to itself.")
256248 }
257249 else if ((ad[aE] == "curveMultyFlat"))
258250 then {
259251 let aj = {
260252 let ak = invoke(aK, "exchange", [ae[((aE * 2) + 1)], ag[aE]], [AttachedPayment(aI, aJ)])
261253 if ($isInstanceOf(ak, "List[Any]"))
262254 then ak
263255 else throw("Couldn't cast Any to List[Any]")
264256 }
265257 if ((aj == aj))
266258 then $Tuple3((aE + 1), aj[0], aj[1])
267259 else throw("Strict value is not equal to itself.")
268260 }
269261 else throw("Incorrect exchange type")
270262 }
271263 else aB
272264 }
273265
274- let aO = {
275- let aP = ac
276- let aQ = size(aP)
277- let aR = $Tuple3(0, 0, base58'')
278- func aS (aT,aU) = if ((aU >= aQ))
279- then aT
280- else aA(aT, aP[aU])
266+ let aL = {
267+ let aM = ac
268+ let aN = size(aM)
269+ let aO = $Tuple3(0, 0, base58'')
270+ func aP (aQ,aR) = if ((aR >= aN))
271+ then aQ
272+ else aA(aQ, aM[aR])
281273
282- func aV (aT,aU) = if ((aU >= aQ))
283- then aT
274+ func aS (aQ,aR) = if ((aR >= aN))
275+ then aQ
284276 else throw("List size exceeds 3")
285277
286- aV(aS(aS(aS(aR, 0), 1), 2), 3)
278+ aS(aP(aP(aP(aO, 0), 1), 2), 3)
287279 }
288- let aE = aO._1
289- let aW = aO._2
290- let aN = aO._3
291- let aM = fraction(aW, (H - G), H)
280+ let aE = aL._1
281+ let aT = aL._2
282+ let aU = aL._3
283+ let aV = fraction(aT, (H - G), H)
292284 if (if ((aE == az))
293- then (aM >= ab)
285+ then (aV >= ab)
294286 else false)
295- then [ScriptTransfer(K.caller, aM, aN), ScriptTransfer(D, (aW - aM), aN)]
287+ then [ScriptTransfer(K.caller, aV, aU), ScriptTransfer(D, (aT - aV), aU)]
296288 else throw("routing != routingSize or amountToRecieve < minAmountToReceive")
297289 }
298290 })
299291
300292
301293
302294 @Callable(K)
303295 func shutdown () = valueOrElse(J(K), if (!(F))
304296 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified")))
305297 else M("Paused by admin"))
306298
307299
308300
309301 @Callable(K)
310302 func activate () = valueOrElse(J(K), if (F)
311303 then L()
312304 else [BooleanEntry(a, true), DeleteEntry(b)])
313305
314306
315-@Verifier(aX)
316-func aY () = {
317- let aZ = {
318- let ba = if (sigVerify(aX.bodyBytes, aX.proofs[0], A))
307+@Verifier(aW)
308+func aX () = {
309+ let aY = {
310+ let aZ = if (sigVerify(aW.bodyBytes, aW.proofs[0], A))
319311 then 1
320312 else 0
321- let bb = if (sigVerify(aX.bodyBytes, aX.proofs[1], B))
313+ let ba = if (sigVerify(aW.bodyBytes, aW.proofs[1], B))
322314 then 1
323315 else 0
324- let bc = if (sigVerify(aX.bodyBytes, aX.proofs[2], C))
316+ let bb = if (sigVerify(aW.bodyBytes, aW.proofs[2], C))
325317 then 1
326318 else 0
327- (((ba + bb) + bc) >= 2)
319+ (((aZ + ba) + bb) >= 2)
328320 }
329- let x = aX
330- aZ
321+ let x = aW
322+ aY
331323 }
332324

github/deemru/w8io/169f3d6 
55.96 ms