tx · 5Hby5paWZK9a5daJyVhbjTCzEaTBCxP2nb4h9L9ZGFf2

3Mtko7KtZDyt532TGHjRUoVahuviQKwbBFt:  -0.01400000 Waves

2021.10.07 13:30 [1735693] smart account 3Mtko7KtZDyt532TGHjRUoVahuviQKwbBFt > SELF 0.00000000 Waves

{ "type": 13, "id": "5Hby5paWZK9a5daJyVhbjTCzEaTBCxP2nb4h9L9ZGFf2", "fee": 1400000, "feeAssetId": null, "timestamp": 1633602688031, "version": 1, "sender": "3Mtko7KtZDyt532TGHjRUoVahuviQKwbBFt", "senderPublicKey": "GptvgtKyc2q5oyNw5gDtNYbcX6wsDyRMVRaAuFUZmzfy", "proofs": [ "5otpJjmnvNwiAP2aYnRSDagotXwVZbZndq9YfmfTGfbqWQFJjZErUu2q6oTRbhys7NVJyQUu6MitvHzHUeyo4gzE" ], "script": "base64:AAIFAAAAAAAAACgIAhIKCggICAgICAgIARIICgYICAgICAESBAoCCAESAwoBARIDCgEBAAAAIQAAAAARZGVjaW1hbHNNdWx0UHJpY2UJAABoAAAAAgkAAGgAAAACAAAAAAAAAABkAAAAAAAAAAPoAAAAAAAAAAPoAAAAAANTRVACAAAAAl9fAAAAAApQb29sQWN0aXZlAAAAAAAAAAABAAAAAA9Qb29sUHV0RGlzYWJsZWQAAAAAAAAAAAIAAAAAE1Bvb2xNYXRjaGVyRGlzYWJsZWQAAAAAAAAAAAMAAAAADFBvb2xTaHV0ZG93bgAAAAAAAAAABAAAAAASaWR4SW50ZXJuYWxBc3NldElkAAAAAAAAAAABAAAAAA9pZHhSZXN1dEFjdGlvbnMAAAAAAAAAAAIAAAAAIGlkeElmQXNzZXRJZENhbGN1bGF0aW9uUGVyZm9ybWVkAAAAAAAAAAADAQAAABBrZXlGYWN0b3J5Q29uZmlnAAAAAAIAAAARJXNfX2ZhY3RvcnlDb25maWcBAAAAD2tleUxwVG9rZW5zTGlzdAAAAAACAAAAECVzX19scFRva2Vuc0xpc3QBAAAAEWtleVBvb2xTY3JpcHRIYXNoAAAAAAIAAAAWJXMlc19fcG9vbF9fc2NyaXB0SGFzaAEAAAAQa2V5UHJpY2VEZWNpbWFscwAAAAACAAAAESVzX19wcmljZURlY2ltYWxzAQAAABNrZXlBbGxQb29sc1NodXRkb3duAAAAAAIAAAAMJXNfX3NodXRkb3duAQAAABZrZXlOZXh0SW50ZXJuYWxBc3NldElkAAAAAAIAAAAXJXNfX25leHRJbnRlcm5hbEFzc2V0SWQBAAAAD2tleVBvb2xUb1dlaWdodAAAAAEAAAALcG9vbEFkZHJlc3MJAAEsAAAAAgIAAAASJXMlc19fcG9vbFdlaWdodF9fBQAAAAtwb29sQWRkcmVzcwEAAAAfa2V5TWFwcGluZ3NJbnRlcm5hbDJiYXNlQXNzZXRJZAAAAAEAAAARaW50ZXJuYWxCYXNlQXNzZXQJAAEsAAAAAgIAAAAoJXMlcyVkX19tYXBwaW5nc19faW50ZXJuYWwyYmFzZUFzc2V0SWRfXwkAAaQAAAABBQAAABFpbnRlcm5hbEJhc2VBc3NldAEAAAAfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZAAAAAEAAAAMYmFzZUFzc2V0U3RyCQABLAAAAAICAAAAKCVzJXMlc19fbWFwcGluZ3NfX2Jhc2VBc3NldDJpbnRlcm5hbElkX18FAAAADGJhc2VBc3NldFN0cgEAAAANa2V5UG9vbENvbmZpZwAAAAIAAAATYW1vdW50QXNzZXRJbnRlcm5hbAAAABJwcmljZUFzc2V0SW50ZXJuYWwJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIJWQlZCVzX18FAAAAE2Ftb3VudEFzc2V0SW50ZXJuYWwCAAAAAl9fBQAAABJwcmljZUFzc2V0SW50ZXJuYWwCAAAACF9fY29uZmlnAQAAAB1rZXlNYXBwaW5nTHBBc3NldFRvUG9vbEFzc2V0cwAAAAEAAAAKbHBBc3NldFN0cgkAASwAAAACCQABLAAAAAICAAAACCVzJXMlc19fBQAAAApscEFzc2V0U3RyAgAAABhfX21hcHBpbmdzX19scEFzc2V0MlBvb2wBAAAAHWtleU1hcHBpbmdQb29sQXNzZXRzVG9McGFzc2V0AAAAAgAAABhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHIAAAAXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAKJWQlZCVzJXNfXwUAAAAYaW50ZXJuYWxBbW91bnRBc3NldElkU3RyAgAAAAJfXwUAAAAXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHICAAAAHl9fbWFwcGluZ3NfX1Bvb2xBc3NldHMyTHBBc3NldAEAAAApa2V5TWFwcGluZ1Bvb2xDb250cmFjdEFkZHJlc3NUb1Bvb2xBc3NldHMAAAABAAAAE3Bvb2xDb250cmFjdEFkZHJlc3MJAAEsAAAAAgkAASwAAAACAgAAAAglcyVzJXNfXwUAAAATcG9vbENvbnRyYWN0QWRkcmVzcwIAAAAjX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MlBvb2xBc3NldHMBAAAAKWtleU1hcHBpbmdQb29sQXNzZXRzVG9Qb29sQ29udHJhY3RBZGRyZXNzAAAAAgAAABhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHIAAAAXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAKJWQlZCVzJXNfXwkAAaQAAAABBQAAABhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHICAAAAAl9fCQABpAAAAAEFAAAAF2ludGVybmFsUHJpY2VBc3NldElkU3RyAgAAACNfX21hcHBpbmdzX19wb29sQXNzZXRzMlBvb2xDb250cmFjdAEAAAAea2V5TWFwcGluZ1Bvb2xDb250cmFjVG9MUEFzc2V0AAAAAQAAABNwb29sQ29udHJhY3RBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAAIJXMlcyVzX18FAAAAE3Bvb2xDb250cmFjdEFkZHJlc3MCAAAAIF9fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJMcEFzc2V0AQAAACprZXlNYXBwaW5nUG9vbExQQXNzZXRUb1Bvb2xDb250cmFjdEFkZHJlc3MAAAABAAAACmxwQXNzZXRTdHIJAAEsAAAAAgkAASwAAAACAgAAAAglcyVzJXNfXwUAAAAKbHBBc3NldFN0cgIAAAAgX19tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAICAAAAFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUAAAADa2V5AQAAABBnZXRCb29sZWFuT3JGYWlsAAAAAQAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAANrZXkJAAEsAAAAAgIAAAAVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQAAAANrZXkBAAAADGdldEludE9yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAICAAAAFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUAAAADa2V5AQAAAA5kYXRhRmFjdG9yeUNmZwAAAAcAAAAOc3Rha2luZ0FkZHJlc3MAAAAPYm9vc3RpbmdBZGRyZXNzAAAAC2lkb0NvbnRyYWN0AAAADHRlYW1Db250cmFjdAAAABBlbWlzc2lvbkNvbnRyYWN0AAAADHJlc3RDb250cmFjdAAAABBzbGlwcGFnZUNvbnRyYWN0CQAEuQAAAAIJAARMAAAAAgIAAAAMJXMlcyVzJXMlcyVzCQAETAAAAAIFAAAADnN0YWtpbmdBZGRyZXNzCQAETAAAAAIFAAAAD2Jvb3N0aW5nQWRkcmVzcwkABEwAAAACBQAAAAtpZG9Db250cmFjdAkABEwAAAACBQAAAAx0ZWFtQ29udHJhY3QJAARMAAAAAgUAAAAQZW1pc3Npb25Db250cmFjdAkABEwAAAACBQAAAAxyZXN0Q29udHJhY3QJAARMAAAAAgUAAAAQc2xpcHBhZ2VDb250cmFjdAUAAAADbmlsBQAAAANTRVABAAAAC2RhdGFQb29sQ2ZnAAAACgAAAAtwb29sQWRkcmVzcwAAAApwb29sU3RhdHVzAAAACWxwQXNzZXRJZAAAAA5hbW91bnRBc3NldFN0cgAAAA1wcmljZUFzc2V0U3RyAAAAE2Ftb3VudEFzc2V0RGVjaW1hbHMAAAAScHJpY2VBc3NldERlY2ltYWxzAAAAFWFtb3VudEFzc2V0SW50ZXJuYWxJZAAAABRwcmljZUFzc2V0SW50ZXJuYWxJZAAAAA9scEFzc2V0RGVjaW1hbHMJAAS5AAAAAgkABEwAAAACAgAAABYlcyVkJXMlcyVzJWQlZCVkJWQlZCVzCQAETAAAAAIFAAAAC3Bvb2xBZGRyZXNzCQAETAAAAAIFAAAACnBvb2xTdGF0dXMJAARMAAAAAgUAAAAJbHBBc3NldElkCQAETAAAAAIFAAAADmFtb3VudEFzc2V0U3RyCQAETAAAAAIFAAAADXByaWNlQXNzZXRTdHIJAARMAAAAAgkAAaQAAAABBQAAABNhbW91bnRBc3NldERlY2ltYWxzCQAETAAAAAIJAAGkAAAAAQUAAAAScHJpY2VBc3NldERlY2ltYWxzCQAETAAAAAIJAAGkAAAAAQUAAAAVYW1vdW50QXNzZXRJbnRlcm5hbElkCQAETAAAAAIJAAGkAAAAAQUAAAAUcHJpY2VBc3NldEludGVybmFsSWQJAARMAAAAAgkAAaQAAAABBQAAAA9scEFzc2V0RGVjaW1hbHMFAAAAA25pbAUAAAADU0VQAQAAABVkYXRhTWFwcGluZ1Bvb2xBc3NldHMAAAACAAAAFmludGVybmFsQW1vdW50QXNzZXRTdHIAAAAVaW50ZXJuYWxQcmljZUFzc2V0U3RyCQAEuQAAAAIJAARMAAAAAgIAAAAEJWQlZAkABEwAAAACCQABpAAAAAEFAAAAFmludGVybmFsQW1vdW50QXNzZXRTdHIJAARMAAAAAgkAAaQAAAABBQAAABVpbnRlcm5hbFByaWNlQXNzZXRTdHIFAAAAA25pbAUAAAADU0VQAQAAABpnZXRJbnRlcm5hbEFzc2V0SWRPckNyZWF0ZQAAAAIAAAAKYXNzZXRJZFN0cgAAAAtpbmNyZW1lbnRvcgQAAAAPaW50ZXJuYWxBc3NldElkCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAAB9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkAAAAAQUAAAAKYXNzZXRJZFN0cgAAAAAAAAAAAAQAAAAYY3VycmVudEluZGV4T2ZJbnRlcm5hbElkCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAABZrZXlOZXh0SW50ZXJuYWxBc3NldElkAAAAAAAAAAAAAAAAAAQAAAAGcmVzdWx0AwkAAAAAAAACBQAAAA9pbnRlcm5hbEFzc2V0SWQAAAAAAAAAAAAEAAAAEm5ld0ludGVybmFsQXNzZXRJZAkAAGQAAAACBQAAABhjdXJyZW50SW5kZXhPZkludGVybmFsSWQFAAAAC2luY3JlbWVudG9yCQAFFQAAAAMFAAAAEm5ld0ludGVybmFsQXNzZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFmtleU5leHRJbnRlcm5hbEFzc2V0SWQAAAAABQAAABJuZXdJbnRlcm5hbEFzc2V0SWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAB9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkAAAAAQUAAAAKYXNzZXRJZFN0cgUAAAASbmV3SW50ZXJuYWxBc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAB9rZXlNYXBwaW5nc0ludGVybmFsMmJhc2VBc3NldElkAAAAAQUAAAASbmV3SW50ZXJuYWxBc3NldElkBQAAAAphc3NldElkU3RyBQAAAANuaWwGCQAFFQAAAAMFAAAAD2ludGVybmFsQXNzZXRJZAUAAAADbmlsBwUAAAAGcmVzdWx0AQAAABdjcmVhdGVMcFRva2Vuc0xpc3RFbnRyeQAAAAEAAAAKbmV3THBUb2tlbgQAAAAIbHBUb2tlbnMJAAQdAAAAAgUAAAAEdGhpcwkBAAAAD2tleUxwVG9rZW5zTGlzdAAAAAADCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAIbHBUb2tlbnMJAAEsAAAAAgkAASwAAAACCQEAAAAFdmFsdWUAAAABBQAAAAhscFRva2VucwUAAAADU0VQBQAAAApuZXdMcFRva2VuBQAAAApuZXdMcFRva2VuAAAABQAAAAFpAQAAAAtjb25zdHJ1Y3RvcgAAAAgAAAAPc3Rha2luZ0NvbnRyYWN0AAAAEGJvb3N0aW5nQ29udHJhY3QAAAALaWRvQ29udHJhY3QAAAAMdGVhbUNvbnRyYWN0AAAAEGVtaXNzaW9uQ29udHJhY3QAAAAMcmVzdENvbnRyYWN0AAAAEHNscGlwYWdlQ29udHJhY3QAAAANcHJpY2VEZWNpbWFscwMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAABJwZXJtaXNzaW9ucyBkZW5pZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGtleUZhY3RvcnlDb25maWcAAAAACQEAAAAOZGF0YUZhY3RvcnlDZmcAAAAHBQAAAA9zdGFraW5nQ29udHJhY3QFAAAAEGJvb3N0aW5nQ29udHJhY3QFAAAAC2lkb0NvbnRyYWN0BQAAAAx0ZWFtQ29udHJhY3QFAAAAEGVtaXNzaW9uQ29udHJhY3QFAAAADHJlc3RDb250cmFjdAUAAAAQc2xwaXBhZ2VDb250cmFjdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEGtleVByaWNlRGVjaW1hbHMAAAAABQAAAA1wcmljZURlY2ltYWxzBQAAAANuaWwAAAABaQEAAAAPYWN0aXZhdGVOZXdQb29sAAAABgAAAAtwb29sQWRkcmVzcwAAAA5hbW91bnRBc3NldFN0cgAAAA1wcmljZUFzc2V0U3RyAAAAC2xwQXNzZXROYW1lAAAADGxwQXNzZXREZXNjcgAAAApwb29sV2VpZ2h0AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAEnBlcm1pc3Npb25zIGRlbmllZAMJAQAAAAlpc0RlZmluZWQAAAABCQAEIgAAAAEJAQAAAClrZXlNYXBwaW5nUG9vbENvbnRyYWN0QWRkcmVzc1RvUG9vbEFzc2V0cwAAAAEFAAAAC3Bvb2xBZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAA1Qb29sIGFkZHJlc3MgBQAAAAtwb29sQWRkcmVzcwIAAAAUIGFscmVhZHkgcmVnaXN0ZXJlZC4EAAAAF2ludGVybmFsQW1vdW50QXNzZXREYXRhCQEAAAAaZ2V0SW50ZXJuYWxBc3NldElkT3JDcmVhdGUAAAACBQAAAA5hbW91bnRBc3NldFN0cgAAAAAAAAAAAQQAAAAVaW50ZXJuYWxBbW91bnRBc3NldElkCAUAAAAXaW50ZXJuYWxBbW91bnRBc3NldERhdGEAAAACXzEEAAAAFmludGVybmFsUHJpY2VBc3NldERhdGEJAQAAABpnZXRJbnRlcm5hbEFzc2V0SWRPckNyZWF0ZQAAAAIFAAAADXByaWNlQXNzZXRTdHIDCAUAAAAXaW50ZXJuYWxBbW91bnRBc3NldERhdGEAAAACXzMAAAAAAAAAAAIAAAAAAAAAAAEEAAAAFGludGVybmFsUHJpY2VBc3NldElkCAUAAAAWaW50ZXJuYWxQcmljZUFzc2V0RGF0YQAAAAJfMQQAAAAVcG9vbEFjY291bnRTY3JpcHRIYXNoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAPxAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAALcG9vbEFkZHJlc3MJAAEsAAAAAgIAAAApTm8gc2NyaXB0IGhhcyBiZWVuIGZvdW5kIG9uIHBvb2wgYWNjb3VudCAFAAAAC3Bvb2xBZGRyZXNzBAAAABxldGhhbG9uUG9vbEFjY291bnRTY3JpcHRIYXNoCQEAAAARQGV4dHJOYXRpdmUoMTA1NykAAAABCQEAAAARa2V5UG9vbFNjcmlwdEhhc2gAAAAABAAAAApwb29sQ29uZmlnCQAEHQAAAAIFAAAABHRoaXMJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQJAAGkAAAAAQUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAKcG9vbENvbmZpZwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABVBvb2wgBQAAAA5hbW91bnRBc3NldFN0cgIAAAABLwUAAAANcHJpY2VBc3NldFN0cgIAAAAcIGhhcyBhbHJlYWR5IGJlZW4gYWN0aXZhdGVkLgQAAAAPcG9vbENvbmZpZ1ZhbHVlCQEAAAAFdmFsdWUAAAABCQAEHQAAAAIFAAAABHRoaXMJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQJAAGkAAAAAQUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQEAAAAFGFtb3VudEFzc2V0c0RlY2ltYWxzAwkAAAAAAAACBQAAAA5hbW91bnRBc3NldFN0cgIAAAAFV0FWRVMFAAAAEWRlY2ltYWxzTXVsdFByaWNlCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEJAAJZAAAAAQUAAAAOYW1vdW50QXNzZXRTdHIAAAAIZGVjaW1hbHMAAAAAAAAAAAAAAAAAAAAAAAAFAAAABERPV04EAAAAE3ByaWNlQXNzZXRzRGVjaW1hbHMDCQAAAAAAAAIFAAAADXByaWNlQXNzZXRTdHICAAAABVdBVkVTBQAAABFkZWNpbWFsc011bHRQcmljZQkAAGwAAAAGAAAAAAAAAAAKAAAAAAAAAAAACAkBAAAABXZhbHVlAAAAAQkAA+wAAAABCQACWQAAAAEFAAAADXByaWNlQXNzZXRTdHIAAAAIZGVjaW1hbHMAAAAAAAAAAAAAAAAAAAAAAAAFAAAABERPV04EAAAAEmxwQXNzZXRJc3N1ZUFjdGlvbgkABEIAAAAFBQAAAAtscEFzc2V0TmFtZQUAAAAMbHBBc3NldERlc2NyAAAAAAAAAAABAAAAAAAAAAAIBgQAAAAJbHBBc3NldElkCQAEOAAAAAEFAAAAEmxwQXNzZXRJc3N1ZUFjdGlvbgQAAAAMbHBBc3NldElkU3RyCQACWAAAAAEFAAAACWxwQXNzZXRJZAQAAAAYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0CQAD/AAAAAQJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAC3Bvb2xBZGRyZXNzAgAAAAhhY3RpdmF0ZQkABEwAAAACBQAAAA5hbW91bnRBc3NldFN0cgkABEwAAAACBQAAAA1wcmljZUFzc2V0U3RyBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0BQAAABhwb29sQWN0aXZhdGVJbnZva2VSZXN1bHQDCQEAAAACIT0AAAACBQAAABhwb29sQWN0aXZhdGVJbnZva2VSZXN1bHQCAAAAB3N1Y2Nlc3MJAAACAAAAAQIAAAAjUG9vbCBpbml0aWFsaXNhdGlvbiBlcnJvciBoYXBwZW5lZC4JAAUUAAAAAgkABE4AAAACCQAETgAAAAIIBQAAABdpbnRlcm5hbEFtb3VudEFzc2V0RGF0YQAAAAJfMggFAAAAFmludGVybmFsUHJpY2VBc3NldERhdGEAAAACXzIJAARMAAAAAgUAAAASbHBBc3NldElzc3VlQWN0aW9uCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAAJbHBBc3NldElkAAAAAAAAAAABCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQJAAGkAAAAAQUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQJAQAAAAtkYXRhUG9vbENmZwAAAAoFAAAAC3Bvb2xBZGRyZXNzCQABpAAAAAEFAAAAClBvb2xBY3RpdmUFAAAADGxwQXNzZXRJZFN0cgUAAAAOYW1vdW50QXNzZXRTdHIFAAAADXByaWNlQXNzZXRTdHIFAAAAFGFtb3VudEFzc2V0c0RlY2ltYWxzBQAAABNwcmljZUFzc2V0c0RlY2ltYWxzBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQFAAAAFGludGVybmFsUHJpY2VBc3NldElkBQAAABFkZWNpbWFsc011bHRQcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAda2V5TWFwcGluZ0xwQXNzZXRUb1Bvb2xBc3NldHMAAAABBQAAAAxscEFzc2V0SWRTdHIJAQAAABVkYXRhTWFwcGluZ1Bvb2xBc3NldHMAAAACBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQFAAAAFGludGVybmFsUHJpY2VBc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAB1rZXlNYXBwaW5nUG9vbEFzc2V0c1RvTHBhc3NldAAAAAIJAAGkAAAAAQUAAAAVaW50ZXJuYWxBbW91bnRBc3NldElkCQABpAAAAAEFAAAAFGludGVybmFsUHJpY2VBc3NldElkCQABLAAAAAICAAAABCVzX18FAAAADGxwQXNzZXRJZFN0cgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAApa2V5TWFwcGluZ1Bvb2xDb250cmFjdEFkZHJlc3NUb1Bvb2xBc3NldHMAAAABBQAAAAtwb29sQWRkcmVzcwkBAAAAFWRhdGFNYXBwaW5nUG9vbEFzc2V0cwAAAAIFAAAAFWludGVybmFsQW1vdW50QXNzZXRJZAUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAKWtleU1hcHBpbmdQb29sQXNzZXRzVG9Qb29sQ29udHJhY3RBZGRyZXNzAAAAAgUAAAAVaW50ZXJuYWxBbW91bnRBc3NldElkBQAAABRpbnRlcm5hbFByaWNlQXNzZXRJZAUAAAALcG9vbEFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAKmtleU1hcHBpbmdQb29sTFBBc3NldFRvUG9vbENvbnRyYWN0QWRkcmVzcwAAAAEFAAAADGxwQXNzZXRJZFN0cgUAAAALcG9vbEFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAHmtleU1hcHBpbmdQb29sQ29udHJhY1RvTFBBc3NldAAAAAEFAAAAC3Bvb2xBZGRyZXNzBQAAAAxscEFzc2V0SWRTdHIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA9rZXlQb29sVG9XZWlnaHQAAAABBQAAAAtwb29sQWRkcmVzcwUAAAAKcG9vbFdlaWdodAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPa2V5THBUb2tlbnNMaXN0AAAAAAkBAAAAF2NyZWF0ZUxwVG9rZW5zTGlzdEVudHJ5AAAAAQUAAAAMbHBBc3NldElkU3RyBQAAAANuaWwCAAAAB3N1Y2Nlc3MJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACm1hbmFnZVBvb2wAAAACAAAAEWxwQ29udHJhY3RBZGRyZXNzAAAACW5ld1N0YXR1cwMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAABJwZXJtaXNzaW9ucyBkZW5pZWQFAAAAA25pbAAAAAFpAQAAAARlbWl0AAAAAQAAAAxhbW91bnRUb0VtaXQEAAAABmNhbGxlcggFAAAAAWkAAAAGY2FsbGVyBAAAAAxvcmlnaW5DYWxsZXIIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgQAAAAQbHBBc3NldFJlcXVlc3RlZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEIgAAAAEJAQAAAB5rZXlNYXBwaW5nUG9vbENvbnRyYWNUb0xQQXNzZXQAAAABCQAEJQAAAAEFAAAABmNhbGxlcgIAAAAdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4EAAAAB2xwQXNzZXQJAAJZAAAAAQUAAAAQbHBBc3NldFJlcXVlc3RlZAMJAABmAAAAAgUAAAAMYW1vdW50VG9FbWl0AAAAAAAAAAAACQAFFAAAAAIJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAAdscEFzc2V0BQAAAAxhbW91bnRUb0VtaXQGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAMYW1vdW50VG9FbWl0BQAAAAdscEFzc2V0BQAAAANuaWwCAAAAB3N1Y2Nlc3MFAAAAA25pbAAAAAFpAQAAAARidXJuAAAAAQAAAAxhbW91bnRUb0J1cm4EAAAABmNhbGxlcggFAAAAAWkAAAAGY2FsbGVyBAAAAAxvcmlnaW5DYWxsZXIIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgQAAAAHcGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAANcGF5bWVudEFtb3VudAkBAAAABXZhbHVlAAAAAQgFAAAAB3BheW1lbnQAAAAGYW1vdW50BAAAAA9pbkFtb3VudEFzc2V0SWQJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAQAAAAabHBBc3NldFJlcXVlc3RlZEZvckJ1cm5pbmcJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCIAAAABCQEAAAAea2V5TWFwcGluZ1Bvb2xDb250cmFjVG9MUEFzc2V0AAAAAQkABCUAAAABBQAAAAZjYWxsZXICAAAAHUludmFsaWQgTFAgYWRkcmVzcyBjYWxsZWQgbWUuAwkBAAAAAiE9AAAAAgUAAAAPaW5BbW91bnRBc3NldElkBQAAABpscEFzc2V0UmVxdWVzdGVkRm9yQnVybmluZwkAAAIAAAABAgAAABVJbnZhbGlkIGFzc2V0IHBhc3NlZC4DCQEAAAACIT0AAAACBQAAAAxhbW91bnRUb0J1cm4FAAAADXBheW1lbnRBbW91bnQJAAACAAAAAQIAAAAWSW52YWxpZCBhbW91bnQgcGFzc2VkLgQAAAAHbHBBc3NldAkAAlkAAAABBQAAABpscEFzc2V0UmVxdWVzdGVkRm9yQnVybmluZwkABRQAAAACCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAAHbHBBc3NldAUAAAAMYW1vdW50VG9CdXJuBQAAAANuaWwCAAAAB3N1Y2Nlc3MAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tlebRz8+k=", "chainId": 84, "height": 1735693, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FbdNVGTqCJ2DbJG2rj3fqtPQtL8mmHcpkoqEyhrCi6oZ Next: none Diff:
OldNewDifferences
2222 func j () = "%s__factoryConfig"
2323
2424
25-func k () = "%s%s__pool__scriptHash"
25+func k () = "%s__lpTokensList"
2626
2727
28-func l () = "%s__priceDecimals"
28+func l () = "%s%s__pool__scriptHash"
2929
3030
31-func m () = "%s__shutdown"
31+func m () = "%s__priceDecimals"
3232
3333
34-func n () = "%s__nextInternalAssetId"
34+func n () = "%s__shutdown"
3535
3636
37-func o (p) = ("%s%s__poolWeight__" + p)
37+func o () = "%s__nextInternalAssetId"
3838
3939
40-func q (r) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(r))
40+func p (q) = ("%s%s__poolWeight__" + q)
4141
4242
43-func s (t) = ("%s%s%s__mappings__baseAsset2internalId__" + t)
43+func r (s) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(s))
4444
4545
46-func u (v,w) = (((("%d%d%s__" + v) + "__") + w) + "__config")
46+func t (u) = ("%s%s%s__mappings__baseAsset2internalId__" + u)
4747
4848
49-func x (y) = (("%s%s%s__" + y) + "__mappings__lpAsset2Pool")
49+func v (w,x) = (((("%d%d%s__" + w) + "__") + x) + "__config")
5050
5151
52-func z (A,B) = (((("%d%d%s%s__" + A) + "__") + B) + "__mappings__PoolAssets2LpAsset")
52+func y (z) = (("%s%s%s__" + z) + "__mappings__lpAsset2Pool")
5353
5454
55-func C (D) = (("%s%s%s__" + D) + "__mappings__poolContract2PoolAssets")
55+func A (B,C) = (((("%d%d%s%s__" + B) + "__") + C) + "__mappings__PoolAssets2LpAsset")
5656
5757
58-func E (A,B) = (((("%d%d%s%s__" + toString(A)) + "__") + toString(B)) + "__mappings__poolAssets2PoolContract")
58+func D (E) = (("%s%s%s__" + E) + "__mappings__poolContract2PoolAssets")
5959
6060
61-func F (D) = (("%s%s%s__" + D) + "__mappings__poolContract2LpAsset")
61+func F (B,C) = (((("%d%d%s%s__" + toString(B)) + "__") + toString(C)) + "__mappings__poolAssets2PoolContract")
6262
6363
64-func G (y) = (("%s%s%s__" + y) + "__mappings__lpAsset2PoolContract")
64+func G (E) = (("%s%s%s__" + E) + "__mappings__poolContract2LpAsset")
6565
6666
67-func H (I) = valueOrErrorMessage(getString(this, I), ("No data for this.key=" + I))
67+func H (z) = (("%s%s%s__" + z) + "__mappings__lpAsset2PoolContract")
6868
6969
70-func J (I) = valueOrErrorMessage(getBoolean(this, I), ("No data for this.key=" + I))
70+func I (J) = valueOrErrorMessage(getString(this, J), ("No data for this.key=" + J))
7171
7272
73-func K (I) = valueOrErrorMessage(getInteger(this, I), ("No data for this.key=" + I))
73+func K (J) = valueOrErrorMessage(getBoolean(this, J), ("No data for this.key=" + J))
7474
7575
76-func L (M,N,O,P,Q,R) = makeString(["%s%s%s%s%s%s", M, N, O, P, Q, R], b)
76+func L (J) = valueOrErrorMessage(getInteger(this, J), ("No data for this.key=" + J))
7777
7878
79-func S (p,T,U,V,W,X,Y,Z,aa,ab,ac) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", p, T, U, V, W, toString(X), toString(Y), toString(Z), toString(aa), toString(ab), ac], b)
79+func M (N,O,P,Q,R,S,T) = makeString(["%s%s%s%s%s%s", N, O, P, Q, R, S, T], b)
8080
8181
82-func ad (ae,af) = makeString(["%d%d", toString(ae), toString(af)], b)
82+func U (q,V,W,X,Y,Z,aa,ab,ac,ad) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", q, V, W, X, Y, toString(Z), toString(aa), toString(ab), toString(ac), toString(ad)], b)
8383
8484
85-func ag (ah,ai) = {
86- let aj = valueOrElse(getInteger(this, s(ah)), 0)
87- let ak = valueOrElse(getInteger(this, n()), 0)
88- let al = if ((aj == 0))
85+func ae (af,ag) = makeString(["%d%d", toString(af), toString(ag)], b)
86+
87+
88+func ah (ai,aj) = {
89+ let ak = valueOrElse(getInteger(this, t(ai)), 0)
90+ let al = valueOrElse(getInteger(this, o()), 0)
91+ let am = if ((ak == 0))
8992 then {
90- let am = (ak + ai)
91- $Tuple3(am, [IntegerEntry(n(), am), IntegerEntry(s(ah), am), StringEntry(q(am), ah)], true)
93+ let an = (al + aj)
94+ $Tuple3(an, [IntegerEntry(o(), an), IntegerEntry(t(ai), an), StringEntry(r(an), ai)], true)
9295 }
93- else $Tuple3(aj, nil, false)
94- al
96+ else $Tuple3(ak, nil, false)
97+ am
9598 }
9699
97100
98-@Callable(an)
99-func constructor (ao,ap,O,P,Q,R,aq) = if ((an.caller != this))
101+func ao (ap) = {
102+ let aq = getString(this, k())
103+ if (isDefined(aq))
104+ then ((value(aq) + b) + ap)
105+ else ap
106+ }
107+
108+
109+@Callable(ar)
110+func constructor (as,at,P,Q,R,S,au,av) = if ((ar.caller != this))
100111 then throw("permissions denied")
101- else [StringEntry(j(), L(ao, ap, O, P, Q, R)), IntegerEntry(l(), aq)]
112+ else [StringEntry(j(), M(as, at, P, Q, R, S, au)), IntegerEntry(m(), av)]
102113
103114
104115
105-@Callable(an)
106-func activateNewPool (p,V,W,ar,as,at,ac) = if ((an.caller != this))
116+@Callable(ar)
117+func activateNewPool (q,X,Y,aw,ax,ay) = if ((ar.caller != this))
107118 then throw("permissions denied")
108- else if (isDefined(getString(C(p))))
109- then throw((("Pool address " + p) + " already registered."))
119+ else if (isDefined(getString(D(q))))
120+ then throw((("Pool address " + q) + " already registered."))
110121 else {
111- let au = ag(V, 1)
112- let av = au._1
113- let aw = ag(W, if (au._3)
122+ let az = ah(X, 1)
123+ let aA = az._1
124+ let aB = ah(Y, if (az._3)
114125 then 2
115126 else 1)
116- let ax = aw._1
117- let ay = valueOrErrorMessage(scriptHash(addressFromStringValue(p)), ("No script has been found on pool account " + p))
118- let az = getBinaryValue(k())
119- let aA = getString(this, u(toString(av), toString(ax)))
120- if (isDefined(aA))
121- then throw((((("Pool " + V) + "/") + W) + " has already been activated."))
127+ let aC = aB._1
128+ let aD = valueOrErrorMessage(scriptHash(addressFromStringValue(q)), ("No script has been found on pool account " + q))
129+ let aE = getBinaryValue(l())
130+ let aF = getString(this, v(toString(aA), toString(aC)))
131+ if (isDefined(aF))
132+ then throw((((("Pool " + X) + "/") + Y) + " has already been activated."))
122133 else {
123- let aB = value(getString(this, u(toString(av), toString(ax))))
124- let aC = if ((V == "WAVES"))
134+ let aG = value(getString(this, v(toString(aA), toString(aC))))
135+ let aH = if ((X == "WAVES"))
125136 then a
126- else pow(10, 0, value(assetInfo(fromBase58String(V))).decimals, 0, 0, DOWN)
127- let aD = if ((W == "WAVES"))
137+ else pow(10, 0, value(assetInfo(fromBase58String(X))).decimals, 0, 0, DOWN)
138+ let aI = if ((Y == "WAVES"))
128139 then a
129- else pow(10, 0, value(assetInfo(fromBase58String(W))).decimals, 0, 0, DOWN)
130- let aE = Issue(ar, as, 1, 8, true)
131- let U = calculateAssetId(aE)
132- let aF = toBase58String(U)
133- let aG = invoke(addressFromStringValue(p), "activate", [V, W], nil)
134- if ((aG == aG))
135- then if ((aG != "success"))
140+ else pow(10, 0, value(assetInfo(fromBase58String(Y))).decimals, 0, 0, DOWN)
141+ let aJ = Issue(aw, ax, 1, 8, true)
142+ let W = calculateAssetId(aJ)
143+ let aK = toBase58String(W)
144+ let aL = invoke(addressFromStringValue(q), "activate", [X, Y], nil)
145+ if ((aL == aL))
146+ then if ((aL != "success"))
136147 then throw("Pool initialisation error happened.")
137- else $Tuple2(((au._2 ++ aw._2) ++ [aE, Burn(U, 1), StringEntry(u(toString(av), toString(ax)), S(p, toString(c), aF, V, W, aC, aD, av, ax, a, ac)), StringEntry(x(aF), ad(av, ax)), StringEntry(z(toString(av), toString(ax)), ("%s__" + aF)), StringEntry(C(p), ad(av, ax)), StringEntry(E(av, ax), p), StringEntry(G(aF), p), StringEntry(F(p), aF), IntegerEntry(o(p), at)]), "success")
148+ else $Tuple2(((az._2 ++ aB._2) ++ [aJ, Burn(W, 1), StringEntry(v(toString(aA), toString(aC)), U(q, toString(c), aK, X, Y, aH, aI, aA, aC, a)), StringEntry(y(aK), ae(aA, aC)), StringEntry(A(toString(aA), toString(aC)), ("%s__" + aK)), StringEntry(D(q), ae(aA, aC)), StringEntry(F(aA, aC), q), StringEntry(H(aK), q), StringEntry(G(q), aK), IntegerEntry(p(q), ay), StringEntry(k(), ao(aK))]), "success")
138149 else throw("Strict value is not equal to itself.")
139150 }
140151 }
141152
142153
143154
144-@Callable(an)
145-func managePool (aH,aI) = if ((an.caller != this))
155+@Callable(ar)
156+func managePool (aM,aN) = if ((ar.caller != this))
146157 then throw("permissions denied")
147158 else nil
148159
149160
150161
151-@Callable(an)
152-func emit (aJ) = {
153- let aK = an.caller
154- let aL = an.originCaller
155- let aM = valueOrErrorMessage(getString(F(toString(aK))), "Invalid LP address called me.")
156- let aN = fromBase58String(aM)
157- $Tuple2([Reissue(aN, aJ, true), ScriptTransfer(an.caller, aJ, aN)], "success")
162+@Callable(ar)
163+func emit (aO) = {
164+ let aP = ar.caller
165+ let aQ = ar.originCaller
166+ let aR = valueOrErrorMessage(getString(G(toString(aP))), "Invalid LP address called me.")
167+ let aS = fromBase58String(aR)
168+ if ((aO > 0))
169+ then $Tuple2([Reissue(aS, aO, true), ScriptTransfer(ar.caller, aO, aS)], "success")
170+ else nil
158171 }
159172
160173
161174
162-@Callable(an)
163-func burn (aO) = {
164- let aK = an.caller
165- let aL = an.originCaller
166- let aP = value(an.payments[0])
167- let aQ = value(aP.amount)
168- let aR = toBase58String(value(aP.assetId))
169- let aS = valueOrErrorMessage(getString(F(toString(aK))), "Invalid LP address called me.")
170- if ((aR != aS))
175+@Callable(ar)
176+func burn (aT) = {
177+ let aP = ar.caller
178+ let aQ = ar.originCaller
179+ let aU = value(ar.payments[0])
180+ let aV = value(aU.amount)
181+ let aW = toBase58String(value(aU.assetId))
182+ let aX = valueOrErrorMessage(getString(G(toString(aP))), "Invalid LP address called me.")
183+ if ((aW != aX))
171184 then throw("Invalid asset passed.")
172- else if ((aO != aQ))
185+ else if ((aT != aV))
173186 then throw("Invalid amount passed.")
174187 else {
175- let aN = fromBase58String(aS)
176- $Tuple2([Burn(aN, aO)], "success")
188+ let aS = fromBase58String(aX)
189+ $Tuple2([Burn(aS, aT)], "success")
177190 }
178191 }
179192
180193
181-@Verifier(aT)
182-func aU () = sigVerify(aT.bodyBytes, aT.proofs[0], aT.senderPublicKey)
194+@Verifier(aY)
195+func aZ () = sigVerify(aY.bodyBytes, aY.proofs[0], aY.senderPublicKey)
183196
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = ((100 * 1000) * 1000)
55
66 let b = "__"
77
88 let c = 1
99
1010 let d = 2
1111
1212 let e = 3
1313
1414 let f = 4
1515
1616 let g = 1
1717
1818 let h = 2
1919
2020 let i = 3
2121
2222 func j () = "%s__factoryConfig"
2323
2424
25-func k () = "%s%s__pool__scriptHash"
25+func k () = "%s__lpTokensList"
2626
2727
28-func l () = "%s__priceDecimals"
28+func l () = "%s%s__pool__scriptHash"
2929
3030
31-func m () = "%s__shutdown"
31+func m () = "%s__priceDecimals"
3232
3333
34-func n () = "%s__nextInternalAssetId"
34+func n () = "%s__shutdown"
3535
3636
37-func o (p) = ("%s%s__poolWeight__" + p)
37+func o () = "%s__nextInternalAssetId"
3838
3939
40-func q (r) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(r))
40+func p (q) = ("%s%s__poolWeight__" + q)
4141
4242
43-func s (t) = ("%s%s%s__mappings__baseAsset2internalId__" + t)
43+func r (s) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(s))
4444
4545
46-func u (v,w) = (((("%d%d%s__" + v) + "__") + w) + "__config")
46+func t (u) = ("%s%s%s__mappings__baseAsset2internalId__" + u)
4747
4848
49-func x (y) = (("%s%s%s__" + y) + "__mappings__lpAsset2Pool")
49+func v (w,x) = (((("%d%d%s__" + w) + "__") + x) + "__config")
5050
5151
52-func z (A,B) = (((("%d%d%s%s__" + A) + "__") + B) + "__mappings__PoolAssets2LpAsset")
52+func y (z) = (("%s%s%s__" + z) + "__mappings__lpAsset2Pool")
5353
5454
55-func C (D) = (("%s%s%s__" + D) + "__mappings__poolContract2PoolAssets")
55+func A (B,C) = (((("%d%d%s%s__" + B) + "__") + C) + "__mappings__PoolAssets2LpAsset")
5656
5757
58-func E (A,B) = (((("%d%d%s%s__" + toString(A)) + "__") + toString(B)) + "__mappings__poolAssets2PoolContract")
58+func D (E) = (("%s%s%s__" + E) + "__mappings__poolContract2PoolAssets")
5959
6060
61-func F (D) = (("%s%s%s__" + D) + "__mappings__poolContract2LpAsset")
61+func F (B,C) = (((("%d%d%s%s__" + toString(B)) + "__") + toString(C)) + "__mappings__poolAssets2PoolContract")
6262
6363
64-func G (y) = (("%s%s%s__" + y) + "__mappings__lpAsset2PoolContract")
64+func G (E) = (("%s%s%s__" + E) + "__mappings__poolContract2LpAsset")
6565
6666
67-func H (I) = valueOrErrorMessage(getString(this, I), ("No data for this.key=" + I))
67+func H (z) = (("%s%s%s__" + z) + "__mappings__lpAsset2PoolContract")
6868
6969
70-func J (I) = valueOrErrorMessage(getBoolean(this, I), ("No data for this.key=" + I))
70+func I (J) = valueOrErrorMessage(getString(this, J), ("No data for this.key=" + J))
7171
7272
73-func K (I) = valueOrErrorMessage(getInteger(this, I), ("No data for this.key=" + I))
73+func K (J) = valueOrErrorMessage(getBoolean(this, J), ("No data for this.key=" + J))
7474
7575
76-func L (M,N,O,P,Q,R) = makeString(["%s%s%s%s%s%s", M, N, O, P, Q, R], b)
76+func L (J) = valueOrErrorMessage(getInteger(this, J), ("No data for this.key=" + J))
7777
7878
79-func S (p,T,U,V,W,X,Y,Z,aa,ab,ac) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", p, T, U, V, W, toString(X), toString(Y), toString(Z), toString(aa), toString(ab), ac], b)
79+func M (N,O,P,Q,R,S,T) = makeString(["%s%s%s%s%s%s", N, O, P, Q, R, S, T], b)
8080
8181
82-func ad (ae,af) = makeString(["%d%d", toString(ae), toString(af)], b)
82+func U (q,V,W,X,Y,Z,aa,ab,ac,ad) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", q, V, W, X, Y, toString(Z), toString(aa), toString(ab), toString(ac), toString(ad)], b)
8383
8484
85-func ag (ah,ai) = {
86- let aj = valueOrElse(getInteger(this, s(ah)), 0)
87- let ak = valueOrElse(getInteger(this, n()), 0)
88- let al = if ((aj == 0))
85+func ae (af,ag) = makeString(["%d%d", toString(af), toString(ag)], b)
86+
87+
88+func ah (ai,aj) = {
89+ let ak = valueOrElse(getInteger(this, t(ai)), 0)
90+ let al = valueOrElse(getInteger(this, o()), 0)
91+ let am = if ((ak == 0))
8992 then {
90- let am = (ak + ai)
91- $Tuple3(am, [IntegerEntry(n(), am), IntegerEntry(s(ah), am), StringEntry(q(am), ah)], true)
93+ let an = (al + aj)
94+ $Tuple3(an, [IntegerEntry(o(), an), IntegerEntry(t(ai), an), StringEntry(r(an), ai)], true)
9295 }
93- else $Tuple3(aj, nil, false)
94- al
96+ else $Tuple3(ak, nil, false)
97+ am
9598 }
9699
97100
98-@Callable(an)
99-func constructor (ao,ap,O,P,Q,R,aq) = if ((an.caller != this))
101+func ao (ap) = {
102+ let aq = getString(this, k())
103+ if (isDefined(aq))
104+ then ((value(aq) + b) + ap)
105+ else ap
106+ }
107+
108+
109+@Callable(ar)
110+func constructor (as,at,P,Q,R,S,au,av) = if ((ar.caller != this))
100111 then throw("permissions denied")
101- else [StringEntry(j(), L(ao, ap, O, P, Q, R)), IntegerEntry(l(), aq)]
112+ else [StringEntry(j(), M(as, at, P, Q, R, S, au)), IntegerEntry(m(), av)]
102113
103114
104115
105-@Callable(an)
106-func activateNewPool (p,V,W,ar,as,at,ac) = if ((an.caller != this))
116+@Callable(ar)
117+func activateNewPool (q,X,Y,aw,ax,ay) = if ((ar.caller != this))
107118 then throw("permissions denied")
108- else if (isDefined(getString(C(p))))
109- then throw((("Pool address " + p) + " already registered."))
119+ else if (isDefined(getString(D(q))))
120+ then throw((("Pool address " + q) + " already registered."))
110121 else {
111- let au = ag(V, 1)
112- let av = au._1
113- let aw = ag(W, if (au._3)
122+ let az = ah(X, 1)
123+ let aA = az._1
124+ let aB = ah(Y, if (az._3)
114125 then 2
115126 else 1)
116- let ax = aw._1
117- let ay = valueOrErrorMessage(scriptHash(addressFromStringValue(p)), ("No script has been found on pool account " + p))
118- let az = getBinaryValue(k())
119- let aA = getString(this, u(toString(av), toString(ax)))
120- if (isDefined(aA))
121- then throw((((("Pool " + V) + "/") + W) + " has already been activated."))
127+ let aC = aB._1
128+ let aD = valueOrErrorMessage(scriptHash(addressFromStringValue(q)), ("No script has been found on pool account " + q))
129+ let aE = getBinaryValue(l())
130+ let aF = getString(this, v(toString(aA), toString(aC)))
131+ if (isDefined(aF))
132+ then throw((((("Pool " + X) + "/") + Y) + " has already been activated."))
122133 else {
123- let aB = value(getString(this, u(toString(av), toString(ax))))
124- let aC = if ((V == "WAVES"))
134+ let aG = value(getString(this, v(toString(aA), toString(aC))))
135+ let aH = if ((X == "WAVES"))
125136 then a
126- else pow(10, 0, value(assetInfo(fromBase58String(V))).decimals, 0, 0, DOWN)
127- let aD = if ((W == "WAVES"))
137+ else pow(10, 0, value(assetInfo(fromBase58String(X))).decimals, 0, 0, DOWN)
138+ let aI = if ((Y == "WAVES"))
128139 then a
129- else pow(10, 0, value(assetInfo(fromBase58String(W))).decimals, 0, 0, DOWN)
130- let aE = Issue(ar, as, 1, 8, true)
131- let U = calculateAssetId(aE)
132- let aF = toBase58String(U)
133- let aG = invoke(addressFromStringValue(p), "activate", [V, W], nil)
134- if ((aG == aG))
135- then if ((aG != "success"))
140+ else pow(10, 0, value(assetInfo(fromBase58String(Y))).decimals, 0, 0, DOWN)
141+ let aJ = Issue(aw, ax, 1, 8, true)
142+ let W = calculateAssetId(aJ)
143+ let aK = toBase58String(W)
144+ let aL = invoke(addressFromStringValue(q), "activate", [X, Y], nil)
145+ if ((aL == aL))
146+ then if ((aL != "success"))
136147 then throw("Pool initialisation error happened.")
137- else $Tuple2(((au._2 ++ aw._2) ++ [aE, Burn(U, 1), StringEntry(u(toString(av), toString(ax)), S(p, toString(c), aF, V, W, aC, aD, av, ax, a, ac)), StringEntry(x(aF), ad(av, ax)), StringEntry(z(toString(av), toString(ax)), ("%s__" + aF)), StringEntry(C(p), ad(av, ax)), StringEntry(E(av, ax), p), StringEntry(G(aF), p), StringEntry(F(p), aF), IntegerEntry(o(p), at)]), "success")
148+ else $Tuple2(((az._2 ++ aB._2) ++ [aJ, Burn(W, 1), StringEntry(v(toString(aA), toString(aC)), U(q, toString(c), aK, X, Y, aH, aI, aA, aC, a)), StringEntry(y(aK), ae(aA, aC)), StringEntry(A(toString(aA), toString(aC)), ("%s__" + aK)), StringEntry(D(q), ae(aA, aC)), StringEntry(F(aA, aC), q), StringEntry(H(aK), q), StringEntry(G(q), aK), IntegerEntry(p(q), ay), StringEntry(k(), ao(aK))]), "success")
138149 else throw("Strict value is not equal to itself.")
139150 }
140151 }
141152
142153
143154
144-@Callable(an)
145-func managePool (aH,aI) = if ((an.caller != this))
155+@Callable(ar)
156+func managePool (aM,aN) = if ((ar.caller != this))
146157 then throw("permissions denied")
147158 else nil
148159
149160
150161
151-@Callable(an)
152-func emit (aJ) = {
153- let aK = an.caller
154- let aL = an.originCaller
155- let aM = valueOrErrorMessage(getString(F(toString(aK))), "Invalid LP address called me.")
156- let aN = fromBase58String(aM)
157- $Tuple2([Reissue(aN, aJ, true), ScriptTransfer(an.caller, aJ, aN)], "success")
162+@Callable(ar)
163+func emit (aO) = {
164+ let aP = ar.caller
165+ let aQ = ar.originCaller
166+ let aR = valueOrErrorMessage(getString(G(toString(aP))), "Invalid LP address called me.")
167+ let aS = fromBase58String(aR)
168+ if ((aO > 0))
169+ then $Tuple2([Reissue(aS, aO, true), ScriptTransfer(ar.caller, aO, aS)], "success")
170+ else nil
158171 }
159172
160173
161174
162-@Callable(an)
163-func burn (aO) = {
164- let aK = an.caller
165- let aL = an.originCaller
166- let aP = value(an.payments[0])
167- let aQ = value(aP.amount)
168- let aR = toBase58String(value(aP.assetId))
169- let aS = valueOrErrorMessage(getString(F(toString(aK))), "Invalid LP address called me.")
170- if ((aR != aS))
175+@Callable(ar)
176+func burn (aT) = {
177+ let aP = ar.caller
178+ let aQ = ar.originCaller
179+ let aU = value(ar.payments[0])
180+ let aV = value(aU.amount)
181+ let aW = toBase58String(value(aU.assetId))
182+ let aX = valueOrErrorMessage(getString(G(toString(aP))), "Invalid LP address called me.")
183+ if ((aW != aX))
171184 then throw("Invalid asset passed.")
172- else if ((aO != aQ))
185+ else if ((aT != aV))
173186 then throw("Invalid amount passed.")
174187 else {
175- let aN = fromBase58String(aS)
176- $Tuple2([Burn(aN, aO)], "success")
188+ let aS = fromBase58String(aX)
189+ $Tuple2([Burn(aS, aT)], "success")
177190 }
178191 }
179192
180193
181-@Verifier(aT)
182-func aU () = sigVerify(aT.bodyBytes, aT.proofs[0], aT.senderPublicKey)
194+@Verifier(aY)
195+func aZ () = sigVerify(aY.bodyBytes, aY.proofs[0], aY.senderPublicKey)
183196

github/deemru/w8io/026f985 
86.04 ms