tx · 2aai1d82unjd8hkJQ6LfbEnnmcHxvRAVLkbB3JyjH9ny 3MxueHaGvWmdk5crtn9HwtkSAAZScTWoHaC: -0.05000000 Waves 2021.08.31 18:34 [1682708] smart account 3MxueHaGvWmdk5crtn9HwtkSAAZScTWoHaC > SELF 0.00000000 Waves
{ "type": 13, "id": "2aai1d82unjd8hkJQ6LfbEnnmcHxvRAVLkbB3JyjH9ny", "fee": 5000000, "feeAssetId": null, "timestamp": 1630424060542, "version": 2, "chainId": 84, "sender": "3MxueHaGvWmdk5crtn9HwtkSAAZScTWoHaC", "senderPublicKey": "Bh2XEEUATJynq6k9cFgUTrpeJAXBbyBVU8pUBSr3Y6qB", "proofs": [ "5UTMm4cLD1CwwnrZKqFT96j4HRiaK5TcXtd4PGveaM9GUCropuDd4xGaTA8TKsBinZz5ZpkeUvzvDba5kyNJgUgb" ], "script": "base64:AAIFAAAAAAAAAB0IAhIJCgcICAgICAEIEgQKAggBEgMKAQESAwoBAQAAAB4AAAAAEWRlY2ltYWxzTXVsdFByaWNlCQAAaAAAAAIJAABoAAAAAgAAAAAAAAAAZAAAAAAAAAAD6AAAAAAAAAAD6AAAAAADU0VQAgAAAAJfXwAAAAAKUG9vbEFjdGl2ZQAAAAAAAAAAAQAAAAAPUG9vbFB1dERpc2FibGVkAAAAAAAAAAACAAAAABNQb29sTWF0Y2hlckRpc2FibGVkAAAAAAAAAAADAAAAAAxQb29sU2h1dGRvd24AAAAAAAAAAAQAAAAAEmlkeEludGVybmFsQXNzZXRJZAAAAAAAAAAAAQAAAAAPaWR4UmVzdXRBY3Rpb25zAAAAAAAAAAACAAAAACBpZHhJZkFzc2V0SWRDYWxjdWxhdGlvblBlcmZvcm1lZAAAAAAAAAAAAwEAAAATa2V5TWF0Y2hlclB1YmxpY0tleQAAAAACAAAAFCVzX19tYXRjaGVyUHVibGljS2V5AQAAABFrZXlQb29sU2NyaXB0SGFzaAAAAAACAAAAFiVzJXNfX3Bvb2xfX3NjcmlwdEhhc2gBAAAAEGtleVByaWNlRGVjaW1hbHMAAAAAAgAAABElc19fcHJpY2VEZWNpbWFscwEAAAATa2V5QWxsUG9vbHNTaHV0ZG93bgAAAAACAAAADCVzX19zaHV0ZG93bgEAAAAWa2V5TmV4dEludGVybmFsQXNzZXRJZAAAAAACAAAAFyVzX19uZXh0SW50ZXJuYWxBc3NldElkAQAAAA9rZXlQb29sVG9XZWlnaHQAAAABAAAAC3Bvb2xBZGRyZXNzCQABLAAAAAICAAAAEiVzJWRfX3Bvb2xXZWlnaHRfXwUAAAALcG9vbEFkZHJlc3MBAAAAH2tleU1hcHBpbmdzSW50ZXJuYWwyYmFzZUFzc2V0SWQAAAABAAAAEWludGVybmFsQmFzZUFzc2V0CQABLAAAAAICAAAAKCVzJXMlZF9fbWFwcGluZ3NfX2ludGVybmFsMmJhc2VBc3NldElkX18JAAGkAAAAAQUAAAARaW50ZXJuYWxCYXNlQXNzZXQBAAAAH2tleU1hcHBpbmdzQmFzZUFzc2V0MmludGVybmFsSWQAAAABAAAADGJhc2VBc3NldFN0cgkAASwAAAACAgAAACglcyVzJXNfX21hcHBpbmdzX19iYXNlQXNzZXQyaW50ZXJuYWxJZF9fBQAAAAxiYXNlQXNzZXRTdHIBAAAADWtleVBvb2xDb25maWcAAAACAAAAE2Ftb3VudEFzc2V0SW50ZXJuYWwAAAAScHJpY2VBc3NldEludGVybmFsCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACCVkJWQlc19fBQAAABNhbW91bnRBc3NldEludGVybmFsAgAAAAJfXwUAAAAScHJpY2VBc3NldEludGVybmFsAgAAAAhfX2NvbmZpZwEAAAAda2V5TWFwcGluZ0xwQXNzZXRUb1Bvb2xBc3NldHMAAAABAAAACmxwQXNzZXRTdHIJAAEsAAAAAgkAASwAAAACAgAAAAglcyVzJXNfXwUAAAAKbHBBc3NldFN0cgIAAAAYX19tYXBwaW5nc19fbHBBc3NldDJQb29sAQAAAB1rZXlNYXBwaW5nUG9vbEFzc2V0c1RvTHBhc3NldAAAAAIAAAAYaW50ZXJuYWxBbW91bnRBc3NldElkU3RyAAAAF2ludGVybmFsUHJpY2VBc3NldElkU3RyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACiVkJWQlcyVzX18FAAAAGGludGVybmFsQW1vdW50QXNzZXRJZFN0cgIAAAACX18FAAAAF2ludGVybmFsUHJpY2VBc3NldElkU3RyAgAAAB5fX21hcHBpbmdzX19Qb29sQXNzZXRzMkxwQXNzZXQBAAAAKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzAAAAAQAAABNwb29sQ29udHJhY3RBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAAIJXMlcyVzX18FAAAAE3Bvb2xDb250cmFjdEFkZHJlc3MCAAAAI19fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJQb29sQXNzZXRzAQAAAClrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcwAAAAIAAAAYaW50ZXJuYWxBbW91bnRBc3NldElkU3RyAAAAF2ludGVybmFsUHJpY2VBc3NldElkU3RyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACiVkJWQlcyVzX18JAAGkAAAAAQUAAAAYaW50ZXJuYWxBbW91bnRBc3NldElkU3RyAgAAAAJfXwkAAaQAAAABBQAAABdpbnRlcm5hbFByaWNlQXNzZXRJZFN0cgIAAAAjX19tYXBwaW5nc19fcG9vbEFzc2V0czJQb29sQ29udHJhY3QBAAAAHmtleU1hcHBpbmdQb29sQ29udHJhY1RvTFBBc3NldAAAAAEAAAATcG9vbENvbnRyYWN0QWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAACCVzJXMlc19fBQAAABNwb29sQ29udHJhY3RBZGRyZXNzAgAAACBfX21hcHBpbmdzX19wb29sQ29udHJhY3QyTHBBc3NldAEAAAAqa2V5TWFwcGluZ1Bvb2xMUEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzAAAAAQAAAApscEFzc2V0U3RyCQABLAAAAAIJAAEsAAAAAgIAAAAKJWQlZCVzJXNfXwUAAAAKbHBBc3NldFN0cgIAAAAgX19tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAICAAAAFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUAAAADa2V5AQAAABBnZXRCb29sZWFuT3JGYWlsAAAAAQAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAANrZXkJAAEsAAAAAgIAAAAVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQAAAANrZXkBAAAADGdldEludE9yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAICAAAAFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUAAAADa2V5AQAAAAtkYXRhUG9vbENmZwAAAAsAAAALcG9vbEFkZHJlc3MAAAAKcG9vbFN0YXR1cwAAAAlscEFzc2V0SWQAAAAOYW1vdW50QXNzZXRTdHIAAAANcHJpY2VBc3NldFN0cgAAABNhbW91bnRBc3NldERlY2ltYWxzAAAAEnByaWNlQXNzZXREZWNpbWFscwAAABVhbW91bnRBc3NldEludGVybmFsSWQAAAAUcHJpY2VBc3NldEludGVybmFsSWQAAAAPbHBBc3NldERlY2ltYWxzAAAAEG1hdGNoZXJQdWJsaWNLZXkJAAS5AAAAAgkABEwAAAACAgAAABYlcyVkJXMlcyVzJWQlZCVkJWQlZCVzCQAETAAAAAIFAAAAC3Bvb2xBZGRyZXNzCQAETAAAAAIFAAAACnBvb2xTdGF0dXMJAARMAAAAAgUAAAAJbHBBc3NldElkCQAETAAAAAIFAAAADmFtb3VudEFzc2V0U3RyCQAETAAAAAIFAAAADXByaWNlQXNzZXRTdHIJAARMAAAAAgkAAaQAAAABBQAAABNhbW91bnRBc3NldERlY2ltYWxzCQAETAAAAAIJAAGkAAAAAQUAAAAScHJpY2VBc3NldERlY2ltYWxzCQAETAAAAAIJAAGkAAAAAQUAAAAVYW1vdW50QXNzZXRJbnRlcm5hbElkCQAETAAAAAIJAAGkAAAAAQUAAAAUcHJpY2VBc3NldEludGVybmFsSWQJAARMAAAAAgkAAaQAAAABBQAAAA9scEFzc2V0RGVjaW1hbHMJAARMAAAAAgUAAAAQbWF0Y2hlclB1YmxpY0tleQUAAAADbmlsBQAAAANTRVABAAAAFWRhdGFNYXBwaW5nUG9vbEFzc2V0cwAAAAIAAAAWaW50ZXJuYWxBbW91bnRBc3NldFN0cgAAABVpbnRlcm5hbFByaWNlQXNzZXRTdHIJAAS5AAAAAgkABEwAAAACAgAAAAQlZCVkCQAETAAAAAIJAAGkAAAAAQUAAAAWaW50ZXJuYWxBbW91bnRBc3NldFN0cgkABEwAAAACCQABpAAAAAEFAAAAFWludGVybmFsUHJpY2VBc3NldFN0cgUAAAADbmlsBQAAAANTRVABAAAAGmdldEludGVybmFsQXNzZXRJZE9yQ3JlYXRlAAAAAgAAAAphc3NldElkU3RyAAAAC2luY3JlbWVudG9yBAAAAA9pbnRlcm5hbEFzc2V0SWQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAH2tleU1hcHBpbmdzQmFzZUFzc2V0MmludGVybmFsSWQAAAABBQAAAAphc3NldElkU3RyAAAAAAAAAAAABAAAABhjdXJyZW50SW5kZXhPZkludGVybmFsSWQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAFmtleU5leHRJbnRlcm5hbEFzc2V0SWQAAAAAAAAAAAAAAAAABAAAAAZyZXN1bHQDCQAAAAAAAAIFAAAAD2ludGVybmFsQXNzZXRJZAAAAAAAAAAAAAQAAAASbmV3SW50ZXJuYWxBc3NldElkCQAAZAAAAAIFAAAAGGN1cnJlbnRJbmRleE9mSW50ZXJuYWxJZAUAAAALaW5jcmVtZW50b3IJAAUVAAAAAwUAAAASbmV3SW50ZXJuYWxBc3NldElkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAWa2V5TmV4dEludGVybmFsQXNzZXRJZAAAAAAFAAAAEm5ld0ludGVybmFsQXNzZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAH2tleU1hcHBpbmdzQmFzZUFzc2V0MmludGVybmFsSWQAAAABBQAAAAphc3NldElkU3RyBQAAABJuZXdJbnRlcm5hbEFzc2V0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAH2tleU1hcHBpbmdzSW50ZXJuYWwyYmFzZUFzc2V0SWQAAAABBQAAABJuZXdJbnRlcm5hbEFzc2V0SWQFAAAACmFzc2V0SWRTdHIFAAAAA25pbAYJAAUVAAAAAwUAAAAPaW50ZXJuYWxBc3NldElkBQAAAANuaWwHBQAAAAZyZXN1bHQAAAAEAAAAAWkBAAAAD2FjdGl2YXRlTmV3UG9vbAAAAAcAAAALcG9vbEFkZHJlc3MAAAAOYW1vdW50QXNzZXRTdHIAAAANcHJpY2VBc3NldFN0cgAAAAtscEFzc2V0TmFtZQAAAAxscEFzc2V0RGVzY3IAAAAKcG9vbFdlaWdodAAAABBtYXRjaGVyUHVibGljS2V5AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAEnBlcm1pc3Npb25zIGRlbmllZAMJAQAAAAlpc0RlZmluZWQAAAABCQAEIgAAAAEJAQAAAClrZXlNYXBwaW5nUG9vbENvbnRyYWN0QWRkcmVzc1RvUG9vbEFzc2V0cwAAAAEFAAAAC3Bvb2xBZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAA1Qb29sIGFkZHJlc3MgBQAAAAtwb29sQWRkcmVzcwIAAAAUIGFscmVhZHkgcmVnaXN0ZXJlZC4EAAAAF2ludGVybmFsQW1vdW50QXNzZXREYXRhCQEAAAAaZ2V0SW50ZXJuYWxBc3NldElkT3JDcmVhdGUAAAACBQAAAA5hbW91bnRBc3NldFN0cgAAAAAAAAAAAQQAAAAVaW50ZXJuYWxBbW91bnRBc3NldElkCAUAAAAXaW50ZXJuYWxBbW91bnRBc3NldERhdGEAAAACXzEEAAAAFmludGVybmFsUHJpY2VBc3NldERhdGEJAQAAABpnZXRJbnRlcm5hbEFzc2V0SWRPckNyZWF0ZQAAAAIFAAAADXByaWNlQXNzZXRTdHIDCAUAAAAXaW50ZXJuYWxBbW91bnRBc3NldERhdGEAAAACXzMAAAAAAAAAAAIAAAAAAAAAAAEEAAAAFGludGVybmFsUHJpY2VBc3NldElkCAUAAAAWaW50ZXJuYWxQcmljZUFzc2V0RGF0YQAAAAJfMQQAAAAVcG9vbEFjY291bnRTY3JpcHRIYXNoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAPxAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAALcG9vbEFkZHJlc3MJAAEsAAAAAgIAAAApTm8gc2NyaXB0IGhhcyBiZWVuIGZvdW5kIG9uIHBvb2wgYWNjb3VudCAFAAAAC3Bvb2xBZGRyZXNzBAAAABxldGhhbG9uUG9vbEFjY291bnRTY3JpcHRIYXNoCQEAAAARQGV4dHJOYXRpdmUoMTA1NykAAAABCQEAAAARa2V5UG9vbFNjcmlwdEhhc2gAAAAABAAAAApwb29sQ29uZmlnCQAEHQAAAAIFAAAABHRoaXMJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQJAAGkAAAAAQUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAKcG9vbENvbmZpZwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABVBvb2wgBQAAAA5hbW91bnRBc3NldFN0cgIAAAABLwUAAAANcHJpY2VBc3NldFN0cgIAAAAcIGhhcyBhbHJlYWR5IGJlZW4gYWN0aXZhdGVkLgQAAAAPcG9vbENvbmZpZ1ZhbHVlCQEAAAAFdmFsdWUAAAABCQAEHQAAAAIFAAAABHRoaXMJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQJAAGkAAAAAQUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQEAAAAFGFtb3VudEFzc2V0c0RlY2ltYWxzAwkAAAAAAAACBQAAAA5hbW91bnRBc3NldFN0cgIAAAAFV0FWRVMFAAAAEWRlY2ltYWxzTXVsdFByaWNlCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEJAAJZAAAAAQUAAAAOYW1vdW50QXNzZXRTdHIAAAAIZGVjaW1hbHMAAAAAAAAAAAAAAAAAAAAAAAAFAAAABERPV04EAAAAE3ByaWNlQXNzZXRzRGVjaW1hbHMDCQAAAAAAAAIFAAAADXByaWNlQXNzZXRTdHICAAAABVdBVkVTBQAAABFkZWNpbWFsc011bHRQcmljZQkAAGwAAAAGAAAAAAAAAAAKAAAAAAAAAAAACAkBAAAABXZhbHVlAAAAAQkAA+wAAAABCQACWQAAAAEFAAAADXByaWNlQXNzZXRTdHIAAAAIZGVjaW1hbHMAAAAAAAAAAAAAAAAAAAAAAAAFAAAABERPV04EAAAAEmxwQXNzZXRJc3N1ZUFjdGlvbgkABEIAAAAFBQAAAAtscEFzc2V0TmFtZQUAAAAMbHBBc3NldERlc2NyAAAAAAAAAAABAAAAAAAAAAAIBgQAAAAJbHBBc3NldElkCQAEOAAAAAEFAAAAEmxwQXNzZXRJc3N1ZUFjdGlvbgQAAAAMbHBBc3NldElkU3RyCQACWAAAAAEFAAAACWxwQXNzZXRJZAQAAAAYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0CQAD/AAAAAQJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAC3Bvb2xBZGRyZXNzAgAAAAhhY3RpdmF0ZQkABEwAAAACBQAAAA5hbW91bnRBc3NldFN0cgkABEwAAAACBQAAAA1wcmljZUFzc2V0U3RyBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0BQAAABhwb29sQWN0aXZhdGVJbnZva2VSZXN1bHQDCQEAAAACIT0AAAACBQAAABhwb29sQWN0aXZhdGVJbnZva2VSZXN1bHQCAAAAB3N1Y2Nlc3MJAAACAAAAAQIAAAAjUG9vbCBpbml0aWFsaXNhdGlvbiBlcnJvciBoYXBwZW5lZC4JAAUUAAAAAgkABE4AAAACCQAETgAAAAIIBQAAABdpbnRlcm5hbEFtb3VudEFzc2V0RGF0YQAAAAJfMggFAAAAFmludGVybmFsUHJpY2VBc3NldERhdGEAAAACXzIJAARMAAAAAgUAAAASbHBBc3NldElzc3VlQWN0aW9uCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAAJbHBBc3NldElkAAAAAAAAAAABCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQJAAGkAAAAAQUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQJAQAAAAtkYXRhUG9vbENmZwAAAAsFAAAAC3Bvb2xBZGRyZXNzCQABpAAAAAEFAAAAClBvb2xBY3RpdmUFAAAADGxwQXNzZXRJZFN0cgUAAAAOYW1vdW50QXNzZXRTdHIFAAAADXByaWNlQXNzZXRTdHIFAAAAFGFtb3VudEFzc2V0c0RlY2ltYWxzBQAAABNwcmljZUFzc2V0c0RlY2ltYWxzBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQFAAAAFGludGVybmFsUHJpY2VBc3NldElkAAAAAAAAAAAIBQAAABBtYXRjaGVyUHVibGljS2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAB1rZXlNYXBwaW5nTHBBc3NldFRvUG9vbEFzc2V0cwAAAAEFAAAADGxwQXNzZXRJZFN0cgkBAAAAFWRhdGFNYXBwaW5nUG9vbEFzc2V0cwAAAAIFAAAAFWludGVybmFsQW1vdW50QXNzZXRJZAUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAHWtleU1hcHBpbmdQb29sQXNzZXRzVG9McGFzc2V0AAAAAgkAAaQAAAABBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQJAAGkAAAAAQUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQJAAEsAAAAAgIAAAAEJXNfXwUAAAAMbHBBc3NldElkU3RyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAClrZXlNYXBwaW5nUG9vbENvbnRyYWN0QWRkcmVzc1RvUG9vbEFzc2V0cwAAAAEFAAAAC3Bvb2xBZGRyZXNzCQEAAAAVZGF0YU1hcHBpbmdQb29sQXNzZXRzAAAAAgUAAAAVaW50ZXJuYWxBbW91bnRBc3NldElkBQAAABRpbnRlcm5hbFByaWNlQXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAApa2V5TWFwcGluZ1Bvb2xBc3NldHNUb1Bvb2xDb250cmFjdEFkZHJlc3MAAAACBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQFAAAAFGludGVybmFsUHJpY2VBc3NldElkBQAAAAtwb29sQWRkcmVzcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAqa2V5TWFwcGluZ1Bvb2xMUEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzAAAAAQUAAAAMbHBBc3NldElkU3RyBQAAAAtwb29sQWRkcmVzcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAea2V5TWFwcGluZ1Bvb2xDb250cmFjVG9MUEFzc2V0AAAAAQUAAAALcG9vbEFkZHJlc3MFAAAADGxwQXNzZXRJZFN0cgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAD2tleVBvb2xUb1dlaWdodAAAAAEFAAAAC3Bvb2xBZGRyZXNzBQAAAApwb29sV2VpZ2h0BQAAAANuaWwCAAAAB3N1Y2Nlc3MJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACm1hbmFnZVBvb2wAAAACAAAAEWxwQ29udHJhY3RBZGRyZXNzAAAACW5ld1N0YXR1cwMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAABJwZXJtaXNzaW9ucyBkZW5pZWQFAAAAA25pbAAAAAFpAQAAAARlbWl0AAAAAQAAAAxhbW91bnRUb0VtaXQEAAAABmNhbGxlcggFAAAAAWkAAAAGY2FsbGVyBAAAAAxvcmlnaW5DYWxsZXIIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgMJAQAAAAIhPQAAAAIFAAAABmNhbGxlcgUAAAAMb3JpZ2luQ2FsbGVyCQAAAgAAAAECAAAAM0VtaXQgbWV0aG9kIGNhbGxlciBtdXN0IGJlIHRoZSBzYW1lIGFzIGRhcHAgYWRkcmVzcwQAAAAQbHBBc3NldFJlcXVlc3RlZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEIgAAAAEJAQAAAB5rZXlNYXBwaW5nUG9vbENvbnRyYWNUb0xQQXNzZXQAAAABCQAEJQAAAAEFAAAABmNhbGxlcgIAAAAdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4EAAAAB2xwQXNzZXQJAAJZAAAAAQUAAAAQbHBBc3NldFJlcXVlc3RlZAkABRQAAAACCQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAAHbHBBc3NldAUAAAAMYW1vdW50VG9FbWl0BgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADGFtb3VudFRvRW1pdAUAAAAHbHBBc3NldAUAAAADbmlsAgAAAAdzdWNjZXNzAAAAAWkBAAAABGJ1cm4AAAABAAAADGFtb3VudFRvQnVybgQAAAAGY2FsbGVyCAUAAAABaQAAAAZjYWxsZXIEAAAADG9yaWdpbkNhbGxlcggFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBAAAAAdwYXltZW50CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAA1wYXltZW50QW1vdW50CQEAAAAFdmFsdWUAAAABCAUAAAAHcGF5bWVudAAAAAZhbW91bnQEAAAAD2luQW1vdW50QXNzZXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBAAAABpscEFzc2V0UmVxdWVzdGVkRm9yQnVybmluZwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEIgAAAAEJAQAAAB5rZXlNYXBwaW5nUG9vbENvbnRyYWNUb0xQQXNzZXQAAAABCQAEJQAAAAEFAAAABmNhbGxlcgIAAAAdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4DCQEAAAACIT0AAAACBQAAAAZjYWxsZXIFAAAADG9yaWdpbkNhbGxlcgkAAAIAAAABAgAAADNCdXJuIG1ldGhvZCBjYWxsZXIgbXVzdCBiZSB0aGUgc2FtZSBhcyBkYXBwIGFkZHJlc3MDCQEAAAACIT0AAAACBQAAAA9pbkFtb3VudEFzc2V0SWQFAAAAGmxwQXNzZXRSZXF1ZXN0ZWRGb3JCdXJuaW5nCQAAAgAAAAECAAAAFUludmFsaWQgYXNzZXQgcGFzc2VkLgMJAQAAAAIhPQAAAAIFAAAADGFtb3VudFRvQnVybgUAAAANcGF5bWVudEFtb3VudAkAAAIAAAABAgAAABZJbnZhbGlkIGFtb3VudCBwYXNzZWQuBAAAAAdscEFzc2V0CQACWQAAAAEFAAAAGmxwQXNzZXRSZXF1ZXN0ZWRGb3JCdXJuaW5nCQAFFAAAAAIJAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAAAdscEFzc2V0BQAAAAxhbW91bnRUb0J1cm4FAAAAA25pbAIAAAAHc3VjY2VzcwAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5KqOD3Q==", "height": 1682708, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9Raq1jnutLjQs6N5MpvNCnjFD4mMax2BTgezmyE2C4yq Next: D6g7hden6Er1FfoYj9FGCfLNkgcXAUanv6HztRq61m16 Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = | |
4 | + | let a = ((100 * 1000) * 1000) | |
5 | 5 | ||
6 | - | let b = | |
6 | + | let b = "__" | |
7 | 7 | ||
8 | - | let c = | |
8 | + | let c = 1 | |
9 | 9 | ||
10 | - | let d = | |
10 | + | let d = 2 | |
11 | 11 | ||
12 | - | let e = | |
12 | + | let e = 3 | |
13 | 13 | ||
14 | - | let f = | |
14 | + | let f = 4 | |
15 | 15 | ||
16 | - | let g = | |
16 | + | let g = 1 | |
17 | 17 | ||
18 | - | let h = | |
18 | + | let h = 2 | |
19 | 19 | ||
20 | - | func i () = "%s__matcherPublicKey" | |
20 | + | let i = 3 | |
21 | + | ||
22 | + | func j () = "%s__matcherPublicKey" | |
21 | 23 | ||
22 | 24 | ||
23 | - | func | |
25 | + | func k () = "%s%s__pool__scriptHash" | |
24 | 26 | ||
25 | 27 | ||
26 | - | func | |
28 | + | func l () = "%s__priceDecimals" | |
27 | 29 | ||
28 | 30 | ||
29 | - | func | |
31 | + | func m () = "%s__shutdown" | |
30 | 32 | ||
31 | 33 | ||
32 | - | func | |
34 | + | func n () = "%s__nextInternalAssetId" | |
33 | 35 | ||
34 | 36 | ||
35 | - | func | |
37 | + | func o (p) = ("%s%d__poolWeight__" + p) | |
36 | 38 | ||
37 | 39 | ||
38 | - | func | |
40 | + | func q (r) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(r)) | |
39 | 41 | ||
40 | 42 | ||
41 | - | func | |
43 | + | func s (t) = ("%s%s%s__mappings__baseAsset2internalId__" + t) | |
42 | 44 | ||
43 | 45 | ||
44 | - | func | |
46 | + | func u (v,w) = (((("%d%d%s__" + v) + "__") + w) + "__config") | |
45 | 47 | ||
46 | 48 | ||
47 | - | func | |
49 | + | func x (y) = (("%s%s%s__" + y) + "__mappings__lpAsset2Pool") | |
48 | 50 | ||
49 | 51 | ||
50 | - | func | |
52 | + | func z (A,B) = (((("%d%d%s%s__" + A) + "__") + B) + "__mappings__PoolAssets2LpAsset") | |
51 | 53 | ||
52 | 54 | ||
53 | - | func | |
55 | + | func C (D) = (("%s%s%s__" + D) + "__mappings__poolContract2PoolAssets") | |
54 | 56 | ||
55 | 57 | ||
56 | - | func | |
58 | + | func E (A,B) = (((("%d%d%s%s__" + toString(A)) + "__") + toString(B)) + "__mappings__poolAssets2PoolContract") | |
57 | 59 | ||
58 | 60 | ||
59 | - | func | |
61 | + | func F (D) = (("%s%s%s__" + D) + "__mappings__poolContract2LpAsset") | |
60 | 62 | ||
61 | 63 | ||
62 | - | func | |
64 | + | func G (y) = (("%d%d%s%s__" + y) + "__mappings__lpAsset2PoolContract") | |
63 | 65 | ||
64 | 66 | ||
65 | - | func | |
67 | + | func H (I) = valueOrErrorMessage(getString(this, I), ("No data for this.key=" + I)) | |
66 | 68 | ||
67 | 69 | ||
68 | - | func | |
70 | + | func J (I) = valueOrErrorMessage(getBoolean(this, I), ("No data for this.key=" + I)) | |
69 | 71 | ||
70 | 72 | ||
71 | - | func | |
73 | + | func K (I) = valueOrErrorMessage(getInteger(this, I), ("No data for this.key=" + I)) | |
72 | 74 | ||
73 | 75 | ||
74 | - | func | |
76 | + | func L (p,M,N,O,P,Q,R,S,T,U,V) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", p, M, N, O, P, toString(Q), toString(R), toString(S), toString(T), toString(U), V], b) | |
75 | 77 | ||
76 | 78 | ||
77 | - | func | |
79 | + | func W (X,Y) = makeString(["%d%d", toString(X), toString(Y)], b) | |
78 | 80 | ||
79 | 81 | ||
80 | - | func | |
81 | - | let | |
82 | - | let | |
83 | - | let | |
82 | + | func Z (aa,ab) = { | |
83 | + | let ac = valueOrElse(getInteger(this, s(aa)), 0) | |
84 | + | let ad = valueOrElse(getInteger(this, n()), 0) | |
85 | + | let ae = if ((ac == 0)) | |
84 | 86 | then { | |
85 | - | let | |
86 | - | $Tuple3( | |
87 | + | let af = (ad + ab) | |
88 | + | $Tuple3(af, [IntegerEntry(n(), af), IntegerEntry(s(aa), af), StringEntry(q(af), aa)], true) | |
87 | 89 | } | |
88 | - | else $Tuple3( | |
89 | - | | |
90 | + | else $Tuple3(ac, nil, false) | |
91 | + | ae | |
90 | 92 | } | |
91 | 93 | ||
92 | 94 | ||
93 | - | @Callable( | |
94 | - | func activateNewPool ( | |
95 | + | @Callable(ag) | |
96 | + | func activateNewPool (p,O,P,ah,ai,aj,V) = if ((ag.caller != this)) | |
95 | 97 | then throw("permissions denied") | |
96 | - | else if (isDefined(getString( | |
97 | - | then throw((("Pool address " + | |
98 | + | else if (isDefined(getString(C(p)))) | |
99 | + | then throw((("Pool address " + p) + " already registered.")) | |
98 | 100 | else { | |
99 | - | let | |
100 | - | let | |
101 | - | let | |
101 | + | let ak = Z(O, 1) | |
102 | + | let al = ak._1 | |
103 | + | let am = Z(P, if (ak._3) | |
102 | 104 | then 2 | |
103 | 105 | else 1) | |
104 | - | let | |
105 | - | let | |
106 | - | let | |
107 | - | let | |
108 | - | if (isDefined( | |
109 | - | then throw((((("Pool " + | |
106 | + | let an = am._1 | |
107 | + | let ao = valueOrErrorMessage(scriptHash(addressFromStringValue(p)), ("No script has been found on pool account " + p)) | |
108 | + | let ap = getBinaryValue(k()) | |
109 | + | let aq = getString(this, u(toString(al), toString(an))) | |
110 | + | if (isDefined(aq)) | |
111 | + | then throw((((("Pool " + O) + "/") + P) + " has already been activated.")) | |
110 | 112 | else { | |
111 | - | let aq = value(getString(this, t(toString(ak), toString(am)))) | |
112 | - | let ar = if ((N == "WAVES")) | |
113 | - | then 8 | |
114 | - | else value(assetInfo(fromBase58String(N))).decimals | |
113 | + | let ar = value(getString(this, u(toString(al), toString(an)))) | |
115 | 114 | let as = if ((O == "WAVES")) | |
116 | - | then 8 | |
117 | - | else value(assetInfo(fromBase58String(O))).decimals | |
118 | - | let at = Issue(ag, ah, 1, 8, true) | |
119 | - | let M = calculateAssetId(at) | |
120 | - | let au = toBase58String(M) | |
121 | - | let av = invoke(addressFromStringValue(o), "activate", [N, O], nil) | |
122 | - | if ((av == av)) | |
123 | - | then if ((av != "success")) | |
115 | + | then a | |
116 | + | else pow(10, 0, value(assetInfo(fromBase58String(O))).decimals, 0, 0, DOWN) | |
117 | + | let at = if ((P == "WAVES")) | |
118 | + | then a | |
119 | + | else pow(10, 0, value(assetInfo(fromBase58String(P))).decimals, 0, 0, DOWN) | |
120 | + | let au = Issue(ah, ai, 1, 8, true) | |
121 | + | let N = calculateAssetId(au) | |
122 | + | let av = toBase58String(N) | |
123 | + | let aw = invoke(addressFromStringValue(p), "activate", [O, P], nil) | |
124 | + | if ((aw == aw)) | |
125 | + | then if ((aw != "success")) | |
124 | 126 | then throw("Pool initialisation error happened.") | |
125 | - | else $Tuple2((( | |
127 | + | else $Tuple2(((ak._2 ++ am._2) ++ [au, Burn(N, 1), StringEntry(u(toString(al), toString(an)), L(p, toString(c), av, O, P, as, at, al, an, 8, V)), StringEntry(x(av), W(al, an)), StringEntry(z(toString(al), toString(an)), ("%s__" + av)), StringEntry(C(p), W(al, an)), StringEntry(E(al, an), p), StringEntry(G(av), p), StringEntry(F(p), av), IntegerEntry(o(p), aj)]), "success") | |
126 | 128 | else throw("Strict value is not equal to itself.") | |
127 | 129 | } | |
128 | 130 | } | |
129 | 131 | ||
130 | 132 | ||
131 | 133 | ||
132 | - | @Callable( | |
133 | - | func managePool ( | |
134 | + | @Callable(ag) | |
135 | + | func managePool (ax,ay) = if ((ag.caller != this)) | |
134 | 136 | then throw("permissions denied") | |
135 | 137 | else nil | |
136 | 138 | ||
137 | 139 | ||
138 | 140 | ||
139 | - | @Callable( | |
140 | - | func emit ( | |
141 | - | let | |
142 | - | let | |
143 | - | if (( | |
141 | + | @Callable(ag) | |
142 | + | func emit (az) = { | |
143 | + | let aA = ag.caller | |
144 | + | let aB = ag.originCaller | |
145 | + | if ((aA != aB)) | |
144 | 146 | then throw("Emit method caller must be the same as dapp address") | |
145 | 147 | else { | |
146 | - | let | |
147 | - | let | |
148 | - | $Tuple2([Reissue( | |
148 | + | let aC = valueOrErrorMessage(getString(F(toString(aA))), "Invalid LP address called me.") | |
149 | + | let aD = fromBase58String(aC) | |
150 | + | $Tuple2([Reissue(aD, az, true), ScriptTransfer(ag.caller, az, aD)], "success") | |
149 | 151 | } | |
150 | 152 | } | |
151 | 153 | ||
152 | 154 | ||
153 | 155 | ||
154 | - | @Callable( | |
155 | - | func burn ( | |
156 | - | let | |
157 | - | let | |
158 | - | let | |
159 | - | let | |
160 | - | let | |
161 | - | let | |
162 | - | if (( | |
156 | + | @Callable(ag) | |
157 | + | func burn (aE) = { | |
158 | + | let aA = ag.caller | |
159 | + | let aB = ag.originCaller | |
160 | + | let aF = value(ag.payments[0]) | |
161 | + | let aG = value(aF.amount) | |
162 | + | let aH = toBase58String(value(aF.assetId)) | |
163 | + | let aI = valueOrErrorMessage(getString(F(toString(aA))), "Invalid LP address called me.") | |
164 | + | if ((aA != aB)) | |
163 | 165 | then throw("Burn method caller must be the same as dapp address") | |
164 | - | else if (( | |
166 | + | else if ((aH != aI)) | |
165 | 167 | then throw("Invalid asset passed.") | |
166 | - | else if (( | |
168 | + | else if ((aE != aG)) | |
167 | 169 | then throw("Invalid amount passed.") | |
168 | 170 | else { | |
169 | - | let | |
170 | - | $Tuple2([Burn( | |
171 | + | let aD = fromBase58String(aI) | |
172 | + | $Tuple2([Burn(aD, aE)], "success") | |
171 | 173 | } | |
172 | 174 | } | |
173 | 175 | ||
174 | 176 | ||
175 | - | @Verifier( | |
176 | - | func | |
177 | + | @Verifier(aJ) | |
178 | + | func aK () = sigVerify(aJ.bodyBytes, aJ.proofs[0], aJ.senderPublicKey) | |
177 | 179 |
github/deemru/w8io/873ac7e 157.84 ms ◑