tx · 3i9ZTQ6pvbZsJDxZxhjcj1gQX7wrYfW2KvMgMxAsqXAq

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.01400000 Waves

2022.04.15 12:32 [2009491] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "3i9ZTQ6pvbZsJDxZxhjcj1gQX7wrYfW2KvMgMxAsqXAq", "fee": 1400000, "feeAssetId": null, "timestamp": 1650015173660, "version": 1, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "EZWPQAa6kcKpjxcNY1fRaTc51NBRUWbyHvzvY3Ko3WaqPxq7pXEdBpaQgj4sHBtbfozeBto5wAaAh7YDqUS7YZK" ], "script": "base64:AAIFAAAAAAAAAEsIAhIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIAEgkKBwgICAgIAQgSBAoCCAESAwoBARIDCgEBEgYKBAgICAgAAABNAAAAAAZTQ0FMRTgAAAAAAAAAAAgAAAAABU1VTFQ4AAAAAAAF9eEAAAAAAAdTQ0FMRTE4AAAAAAAAAAASAAAAAAZNVUxUMTgJAAE2AAAAAQAN4Lazp2QAAAAAAAAOUE9PTFdFSUdIVE1VTFQFAAAABU1VTFQ4AAAAAA5HV1h2aXJ0dWFsUE9PTAIAAAAOR1dYdmlydHVhbFBPT0wAAAAAEWRlY2ltYWxzTXVsdFByaWNlCQAAaAAAAAIJAABoAAAAAgAAAAAAAAAAZAAAAAAAAAAD6AAAAAAAAAAD6AAAAAADU0VQAgAAAAJfXwAAAAAFRU1QVFkCAAAAAAAAAAAKUG9vbEFjdGl2ZQAAAAAAAAAAAQAAAAAPUG9vbFB1dERpc2FibGVkAAAAAAAAAAACAAAAABNQb29sTWF0Y2hlckRpc2FibGVkAAAAAAAAAAADAAAAAAxQb29sU2h1dGRvd24AAAAAAAAAAAQAAAAAEmlkeEludGVybmFsQXNzZXRJZAAAAAAAAAAAAQAAAAAPaWR4UmVzdXRBY3Rpb25zAAAAAAAAAAACAAAAACBpZHhJZkFzc2V0SWRDYWxjdWxhdGlvblBlcmZvcm1lZAAAAAAAAAAAAwAAAAAOaWR4UG9vbEFkZHJlc3MAAAAAAAAAAAEAAAAADWlkeFBvb2xTdGF0dXMAAAAAAAAAAAIAAAAAEGlkeFBvb2xMUEFzc2V0SWQAAAAAAAAAAAMAAAAADWlkeEFtdEFzc2V0SWQAAAAAAAAAAAQAAAAAD2lkeFByaWNlQXNzZXRJZAAAAAAAAAAABQAAAAAOaWR4QW10QXNzZXREY20AAAAAAAAAAAYAAAAAEGlkeFByaWNlQXNzZXREY20AAAAAAAAAAAcAAAAADmlkeElBbXRBc3NldElkAAAAAAAAAAAIAAAAABBpZHhJUHJpY2VBc3NldElkAAAAAAAAAAAJAAAAAA1pZHhMUEFzc2V0RGNtAAAAAAAAAAAKAAAAAAtpZHhQb29sVHlwZQAAAAAAAAAACwEAAAAQa2V5RmFjdG9yeUNvbmZpZwAAAAACAAAAESVzX19mYWN0b3J5Q29uZmlnAQAAAA9rZXlMcFRva2Vuc0xpc3QAAAAAAgAAABAlc19fbHBUb2tlbnNMaXN0AQAAABFrZXlQb29sU2NyaXB0SGFzaAAAAAACAAAAFiVzJXNfX3Bvb2xfX3NjcmlwdEhhc2gBAAAADWtleU1hdGNoZXJQdWIAAAAAAgAAABglcyVzX19tYXRjaGVyX19wdWJsaWNLZXkBAAAAGGtleUxlZ2FjeUZhY3RvcnlDb250cmFjdAAAAAACAAAAGSVzX19sZWdhY3lGYWN0b3J5Q29udHJhY3QBAAAADmtleUxlZ2FjeVBvb2xzAAAAAAIAAAAPJXNfX2xlZ2FjeVBvb2xzAQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAIAAAAUJXNfX21hbmFnZXJQdWJsaWNLZXkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAIAAAAbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AQAAABBrZXlQcmljZURlY2ltYWxzAAAAAAIAAAARJXNfX3ByaWNlRGVjaW1hbHMBAAAAE2tleUFsbFBvb2xzU2h1dGRvd24AAAAAAgAAAAwlc19fc2h1dGRvd24BAAAAFmtleU5leHRJbnRlcm5hbEFzc2V0SWQAAAAAAgAAABclc19fbmV4dEludGVybmFsQXNzZXRJZAEAAAAPa2V5UG9vbFRvV2VpZ2h0AAAAAQAAAAtwb29sQWRkcmVzcwkAASwAAAACAgAAABIlcyVzX19wb29sV2VpZ2h0X18FAAAAC3Bvb2xBZGRyZXNzAQAAABZrZXlQb29sVG9XZWlnaHRIaXN0b3J5AAAAAgAAAAtwb29sQWRkcmVzcwAAAANudW0JAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAEiVzJXNfX3Bvb2xXZWlnaHRfXwUAAAALcG9vbEFkZHJlc3MCAAAAAl9fCQABpAAAAAEFAAAAA251bQEAAAAfa2V5TWFwcGluZ3NJbnRlcm5hbDJiYXNlQXNzZXRJZAAAAAEAAAARaW50ZXJuYWxCYXNlQXNzZXQJAAEsAAAAAgIAAAAoJXMlcyVkX19tYXBwaW5nc19faW50ZXJuYWwyYmFzZUFzc2V0SWRfXwkAAaQAAAABBQAAABFpbnRlcm5hbEJhc2VBc3NldAEAAAAfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZAAAAAEAAAAMYmFzZUFzc2V0U3RyCQABLAAAAAICAAAAKCVzJXMlc19fbWFwcGluZ3NfX2Jhc2VBc3NldDJpbnRlcm5hbElkX18FAAAADGJhc2VBc3NldFN0cgEAAAANa2V5UG9vbENvbmZpZwAAAAIAAAATYW1vdW50QXNzZXRJbnRlcm5hbAAAABJwcmljZUFzc2V0SW50ZXJuYWwJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIJWQlZCVzX18FAAAAE2Ftb3VudEFzc2V0SW50ZXJuYWwCAAAAAl9fBQAAABJwcmljZUFzc2V0SW50ZXJuYWwCAAAACF9fY29uZmlnAQAAAB1rZXlNYXBwaW5nTHBBc3NldFRvUG9vbEFzc2V0cwAAAAEAAAAKbHBBc3NldFN0cgkAASwAAAACCQABLAAAAAICAAAACCVzJXMlc19fBQAAAApscEFzc2V0U3RyAgAAABhfX21hcHBpbmdzX19scEFzc2V0MlBvb2wBAAAAHWtleU1hcHBpbmdQb29sQXNzZXRzVG9McGFzc2V0AAAAAgAAABhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHIAAAAXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAKJWQlZCVzJXNfXwUAAAAYaW50ZXJuYWxBbW91bnRBc3NldElkU3RyAgAAAAJfXwUAAAAXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHICAAAAHl9fbWFwcGluZ3NfX1Bvb2xBc3NldHMyTHBBc3NldAEAAAApa2V5TWFwcGluZ1Bvb2xDb250cmFjdEFkZHJlc3NUb1Bvb2xBc3NldHMAAAABAAAAE3Bvb2xDb250cmFjdEFkZHJlc3MJAAEsAAAAAgkAASwAAAACAgAAAAglcyVzJXNfXwUAAAATcG9vbENvbnRyYWN0QWRkcmVzcwIAAAAjX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MlBvb2xBc3NldHMBAAAAKWtleU1hcHBpbmdQb29sQXNzZXRzVG9Qb29sQ29udHJhY3RBZGRyZXNzAAAAAgAAABhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHIAAAAXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAKJWQlZCVzJXNfXwkAAaQAAAABBQAAABhpbnRlcm5hbEFtb3VudEFzc2V0SWRTdHICAAAAAl9fCQABpAAAAAEFAAAAF2ludGVybmFsUHJpY2VBc3NldElkU3RyAgAAACNfX21hcHBpbmdzX19wb29sQXNzZXRzMlBvb2xDb250cmFjdAEAAAAea2V5TWFwcGluZ1Bvb2xDb250cmFjVG9MUEFzc2V0AAAAAQAAABNwb29sQ29udHJhY3RBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAAIJXMlcyVzX18FAAAAE3Bvb2xDb250cmFjdEFkZHJlc3MCAAAAIF9fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJMcEFzc2V0AQAAACprZXlNYXBwaW5nUG9vbExQQXNzZXRUb1Bvb2xDb250cmFjdEFkZHJlc3MAAAABAAAACmxwQXNzZXRTdHIJAAEsAAAAAgkAASwAAAACAgAAAAglcyVzJXNfXwUAAAAKbHBBc3NldFN0cgIAAAAgX19tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAICAAAAFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUAAAADa2V5AQAAABBnZXRCb29sZWFuT3JGYWlsAAAAAQAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAANrZXkJAAEsAAAAAgIAAAAVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQAAAANrZXkBAAAADGdldEludE9yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAICAAAAFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUAAAADa2V5AAAAABhJZHhGYWN0b3J5Q2ZnU3Rha2luZ0RhcHAAAAAAAAAAAAEAAAAAGUlkeEZhY3RvcnlDZmdCb29zdGluZ0RhcHAAAAAAAAAAAAIAAAAAFElkeEZhY3RvcnlDZmdJZG9EYXBwAAAAAAAAAAADAAAAABVJZHhGYWN0b3J5Q2ZnVGVhbURhcHAAAAAAAAAAAAQAAAAAGUlkeEZhY3RvcnlDZmdFbWlzc2lvbkRhcHAAAAAAAAAAAAUAAAAAFUlkeEZhY3RvcnlDZmdSZXN0RGFwcAAAAAAAAAAABgAAAAAZSWR4RmFjdG9yeUNmZ1NsaXBwYWdlRGFwcAAAAAAAAAAABwAAAAAUSWR4RmFjdG9yeUNmZ0Rhb0RhcHAAAAAAAAAAAAgAAAAAGklkeEZhY3RvcnlDZmdNYXJrZXRpbmdEYXBwAAAAAAAAAAAJAAAAABpJZHhGYWN0b3J5Q2ZnR3d4UmV3YXJkRGFwcAAAAAAAAAAACgAAAAAWSWR4RmFjdG9yeUNmZ0JpcmRzRGFwcAAAAAAAAAAACwEAAAAYZ2V0Qm9vc3RpbmdBZGRyZXNzT3JGYWlsAAAAAQAAAApmYWN0b3J5Q2ZnCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQABkQAAAAIFAAAACmZhY3RvcnlDZmcFAAAAGUlkeEZhY3RvcnlDZmdCb29zdGluZ0RhcHABAAAAGGdldEVtaXNzaW9uQWRkcmVzc09yRmFpbAAAAAEAAAAKZmFjdG9yeUNmZwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAApmYWN0b3J5Q2ZnBQAAABlJZHhGYWN0b3J5Q2ZnRW1pc3Npb25EYXBwAQAAABdnZXRTdGFraW5nQWRkcmVzc09yRmFpbAAAAAEAAAAKZmFjdG9yeUNmZwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAApmYWN0b3J5Q2ZnBQAAABhJZHhGYWN0b3J5Q2ZnU3Rha2luZ0RhcHABAAAAGWdldEd3eFJld2FyZEFkZHJlc3NPckZhaWwAAAABAAAACmZhY3RvcnlDZmcJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAAGRAAAAAgUAAAAKZmFjdG9yeUNmZwUAAAAaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHABAAAAFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAABAAAAAckbWF0Y2gwCQAEIgAAAAEJAQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwCQACWQAAAAEFAAAAAXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQFAAAABHVuaXQJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IBAAAAHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAQAAAAHJG1hdGNoMAkABCIAAAABCQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXMFAAAAByRtYXRjaDAJAAJZAAAAAQUAAAABcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAUAAAAEdW5pdAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgEAAAALbXVzdE1hbmFnZXIAAAABAAAAAWkEAAAAAnBkCQAAAgAAAAECAAAAEVBlcm1pc3Npb24gZGVuaWVkBAAAAAckbWF0Y2gwCQEAAAAWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAnBrBQAAAAckbWF0Y2gwAwkAAAAAAAACCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkFAAAAAnBrBgUAAAACcGQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwYFAAAAAnBkCQAAAgAAAAECAAAAC01hdGNoIGVycm9yAQAAABBkYXRhRmFjdG9yeUNmZ1YzAAAACwAAAA5zdGFraW5nQWRkcmVzcwAAAA9ib29zdGluZ0FkZHJlc3MAAAALaWRvQ29udHJhY3QAAAAMdGVhbUNvbnRyYWN0AAAAEGVtaXNzaW9uQ29udHJhY3QAAAAMcmVzdENvbnRyYWN0AAAAEHNsaXBwYWdlQ29udHJhY3QAAAALZGFvQ29udHJhY3QAAAARbWFya2V0aW5nQ29udHJhY3QAAAASZ3d4UmV3YXJkc0NvbnRyYWN0AAAADWJpcmRzQ29udHJhY3QJAAS5AAAAAgkABEwAAAACAgAAABYlcyVzJXMlcyVzJXMlcyVzJXMlcyVzCQAETAAAAAIFAAAADnN0YWtpbmdBZGRyZXNzCQAETAAAAAIFAAAAD2Jvb3N0aW5nQWRkcmVzcwkABEwAAAACBQAAAAtpZG9Db250cmFjdAkABEwAAAACBQAAAAx0ZWFtQ29udHJhY3QJAARMAAAAAgUAAAAQZW1pc3Npb25Db250cmFjdAkABEwAAAACBQAAAAxyZXN0Q29udHJhY3QJAARMAAAAAgUAAAAQc2xpcHBhZ2VDb250cmFjdAkABEwAAAACBQAAAAtkYW9Db250cmFjdAkABEwAAAACBQAAABFtYXJrZXRpbmdDb250cmFjdAkABEwAAAACBQAAABJnd3hSZXdhcmRzQ29udHJhY3QJAARMAAAAAgUAAAANYmlyZHNDb250cmFjdAUAAAADbmlsBQAAAANTRVABAAAADmRhdGFGYWN0b3J5Q2ZnAAAABwAAAA5zdGFraW5nQWRkcmVzcwAAAA9ib29zdGluZ0FkZHJlc3MAAAALaWRvQ29udHJhY3QAAAAMdGVhbUNvbnRyYWN0AAAAEGVtaXNzaW9uQ29udHJhY3QAAAAMcmVzdENvbnRyYWN0AAAAEHNsaXBwYWdlQ29udHJhY3QJAAS5AAAAAgkABEwAAAACAgAAAAwlcyVzJXMlcyVzJXMJAARMAAAAAgUAAAAOc3Rha2luZ0FkZHJlc3MJAARMAAAAAgUAAAAPYm9vc3RpbmdBZGRyZXNzCQAETAAAAAIFAAAAC2lkb0NvbnRyYWN0CQAETAAAAAIFAAAADHRlYW1Db250cmFjdAkABEwAAAACBQAAABBlbWlzc2lvbkNvbnRyYWN0CQAETAAAAAIFAAAADHJlc3RDb250cmFjdAkABEwAAAACBQAAABBzbGlwcGFnZUNvbnRyYWN0BQAAAANuaWwFAAAAA1NFUAEAAAALZGF0YVBvb2xDZmcAAAALAAAAC3Bvb2xBZGRyZXNzAAAACnBvb2xTdGF0dXMAAAAJbHBBc3NldElkAAAADmFtb3VudEFzc2V0U3RyAAAADXByaWNlQXNzZXRTdHIAAAATYW1vdW50QXNzZXREZWNpbWFscwAAABJwcmljZUFzc2V0RGVjaW1hbHMAAAAVYW1vdW50QXNzZXRJbnRlcm5hbElkAAAAFHByaWNlQXNzZXRJbnRlcm5hbElkAAAAD2xwQXNzZXREZWNpbWFscwAAAAhwb29sVHlwZQkABLkAAAACCQAETAAAAAICAAAAFiVzJWQlcyVzJXMlZCVkJWQlZCVkJXMJAARMAAAAAgUAAAALcG9vbEFkZHJlc3MJAARMAAAAAgUAAAAKcG9vbFN0YXR1cwkABEwAAAACBQAAAAlscEFzc2V0SWQJAARMAAAAAgUAAAAOYW1vdW50QXNzZXRTdHIJAARMAAAAAgUAAAANcHJpY2VBc3NldFN0cgkABEwAAAACCQABpAAAAAEFAAAAE2Ftb3VudEFzc2V0RGVjaW1hbHMJAARMAAAAAgkAAaQAAAABBQAAABJwcmljZUFzc2V0RGVjaW1hbHMJAARMAAAAAgkAAaQAAAABBQAAABVhbW91bnRBc3NldEludGVybmFsSWQJAARMAAAAAgkAAaQAAAABBQAAABRwcmljZUFzc2V0SW50ZXJuYWxJZAkABEwAAAACCQABpAAAAAEFAAAAD2xwQXNzZXREZWNpbWFscwkABEwAAAACBQAAAAhwb29sVHlwZQUAAAADbmlsBQAAAANTRVABAAAAFWRhdGFNYXBwaW5nUG9vbEFzc2V0cwAAAAIAAAAWaW50ZXJuYWxBbW91bnRBc3NldFN0cgAAABVpbnRlcm5hbFByaWNlQXNzZXRTdHIJAAS5AAAAAgkABEwAAAACAgAAAAQlZCVkCQAETAAAAAIJAAGkAAAAAQUAAAAWaW50ZXJuYWxBbW91bnRBc3NldFN0cgkABEwAAAACCQABpAAAAAEFAAAAFWludGVybmFsUHJpY2VBc3NldFN0cgUAAAADbmlsBQAAAANTRVABAAAADWdldFBvb2xDb25maWcAAAABAAAAC3Bvb2xBZGRyZXNzBAAAAApwb29sQXNzZXRzCQAEtQAAAAIJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABCQEAAAApa2V5TWFwcGluZ1Bvb2xDb250cmFjdEFkZHJlc3NUb1Bvb2xBc3NldHMAAAABBQAAAAtwb29sQWRkcmVzcwUAAAADU0VQBAAAABNhbW91bnRBc3NldEludGVybmFsCQABkQAAAAIFAAAACnBvb2xBc3NldHMAAAAAAAAAAAEEAAAAEnByaWNlQXNzZXRJbnRlcm5hbAkAAZEAAAACBQAAAApwb29sQXNzZXRzAAAAAAAAAAACCQAEtQAAAAIJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABCQEAAAANa2V5UG9vbENvbmZpZwAAAAIFAAAAE2Ftb3VudEFzc2V0SW50ZXJuYWwFAAAAEnByaWNlQXNzZXRJbnRlcm5hbAUAAAADU0VQAQAAABpnZXRJbnRlcm5hbEFzc2V0SWRPckNyZWF0ZQAAAAIAAAAKYXNzZXRJZFN0cgAAAAtpbmNyZW1lbnRvcgQAAAAPaW50ZXJuYWxBc3NldElkCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAAB9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkAAAAAQUAAAAKYXNzZXRJZFN0cgAAAAAAAAAAAAQAAAAYY3VycmVudEluZGV4T2ZJbnRlcm5hbElkCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAABZrZXlOZXh0SW50ZXJuYWxBc3NldElkAAAAAAAAAAAAAAAAAAQAAAAGcmVzdWx0AwkAAAAAAAACBQAAAA9pbnRlcm5hbEFzc2V0SWQAAAAAAAAAAAAEAAAAEm5ld0ludGVybmFsQXNzZXRJZAkAAGQAAAACBQAAABhjdXJyZW50SW5kZXhPZkludGVybmFsSWQFAAAAC2luY3JlbWVudG9yCQAFFQAAAAMFAAAAEm5ld0ludGVybmFsQXNzZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFmtleU5leHRJbnRlcm5hbEFzc2V0SWQAAAAABQAAABJuZXdJbnRlcm5hbEFzc2V0SWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAB9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkAAAAAQUAAAAKYXNzZXRJZFN0cgUAAAASbmV3SW50ZXJuYWxBc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAB9rZXlNYXBwaW5nc0ludGVybmFsMmJhc2VBc3NldElkAAAAAQUAAAASbmV3SW50ZXJuYWxBc3NldElkBQAAAAphc3NldElkU3RyBQAAAANuaWwGCQAFFQAAAAMFAAAAD2ludGVybmFsQXNzZXRJZAUAAAADbmlsBwUAAAAGcmVzdWx0AQAAABdjcmVhdGVMcFRva2Vuc0xpc3RFbnRyeQAAAAEAAAAKbmV3THBUb2tlbgQAAAAIbHBUb2tlbnMJAAQdAAAAAgUAAAAEdGhpcwkBAAAAD2tleUxwVG9rZW5zTGlzdAAAAAADCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAIbHBUb2tlbnMJAAEsAAAAAgkAASwAAAACCQEAAAAFdmFsdWUAAAABBQAAAAhscFRva2VucwUAAAADU0VQBQAAAApuZXdMcFRva2VuBQAAAApuZXdMcFRva2VuAAAACwAAAAFpAQAAAAtjb25zdHJ1Y3RvcgAAAAgAAAAPc3Rha2luZ0NvbnRyYWN0AAAAEGJvb3N0aW5nQ29udHJhY3QAAAALaWRvQ29udHJhY3QAAAAMdGVhbUNvbnRyYWN0AAAAEGVtaXNzaW9uQ29udHJhY3QAAAAMcmVzdENvbnRyYWN0AAAAEHNscGlwYWdlQ29udHJhY3QAAAANcHJpY2VEZWNpbWFscwQAAAALY2hlY2tDYWxsZXIJAQAAAAttdXN0TWFuYWdlcgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQa2V5RmFjdG9yeUNvbmZpZwAAAAAJAQAAAA5kYXRhRmFjdG9yeUNmZwAAAAcFAAAAD3N0YWtpbmdDb250cmFjdAUAAAAQYm9vc3RpbmdDb250cmFjdAUAAAALaWRvQ29udHJhY3QFAAAADHRlYW1Db250cmFjdAUAAAAQZW1pc3Npb25Db250cmFjdAUAAAAMcmVzdENvbnRyYWN0BQAAABBzbHBpcGFnZUNvbnRyYWN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAQa2V5UHJpY2VEZWNpbWFscwAAAAAFAAAADXByaWNlRGVjaW1hbHMFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAANY29uc3RydWN0b3JWMgAAAAEAAAAQbWF0aGNoZXJQdWI1OFN0cgQAAAALY2hlY2tDYWxsZXIJAQAAAAttdXN0TWFuYWdlcgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgQAAAAKbWF0aGNlclB1YgkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQkAAlkAAAABBQAAABBtYXRoY2hlclB1YjU4U3RyAwkAAAAAAAACBQAAAAptYXRoY2VyUHViBQAAAAptYXRoY2VyUHViCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1rZXlNYXRjaGVyUHViAAAAAAUAAAAQbWF0aGNoZXJQdWI1OFN0cgUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAANY29uc3RydWN0b3JWMwAAAAQAAAALZGFvQ29udHJhY3QAAAARbWFya2V0aW5nQ29udHJhY3QAAAASZ3d4UmV3YXJkc0NvbnRyYWN0AAAADWJpcmRzQ29udHJhY3QEAAAAC2NoZWNrQ2FsbGVyCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIEAAAACmZhY3RvcnlDZmcJAAS1AAAAAgkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEJAQAAABBrZXlGYWN0b3J5Q29uZmlnAAAAAAUAAAADU0VQCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABBrZXlGYWN0b3J5Q29uZmlnAAAAAAkBAAAAEGRhdGFGYWN0b3J5Q2ZnVjMAAAALCQABkQAAAAIFAAAACmZhY3RvcnlDZmcAAAAAAAAAAAEJAAGRAAAAAgUAAAAKZmFjdG9yeUNmZwAAAAAAAAAAAgkAAZEAAAACBQAAAApmYWN0b3J5Q2ZnAAAAAAAAAAADCQABkQAAAAIFAAAACmZhY3RvcnlDZmcAAAAAAAAAAAQJAAGRAAAAAgUAAAAKZmFjdG9yeUNmZwAAAAAAAAAABQkAAZEAAAACBQAAAApmYWN0b3J5Q2ZnAAAAAAAAAAAGCQABkQAAAAIFAAAACmZhY3RvcnlDZmcAAAAAAAAAAAcFAAAAC2Rhb0NvbnRyYWN0BQAAABFtYXJrZXRpbmdDb250cmFjdAUAAAASZ3d4UmV3YXJkc0NvbnRyYWN0BQAAAA1iaXJkc0NvbnRyYWN0BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADWNvbnN0cnVjdG9yVjQAAAACAAAAFWxlZ2FjeUZhY3RvcnlDb250cmFjdAAAAAtsZWdhY3lQb29scwQAAAALY2hlY2tDYWxsZXIJAQAAAAttdXN0TWFuYWdlcgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAYa2V5TGVnYWN5RmFjdG9yeUNvbnRyYWN0AAAAAAUAAAAVbGVnYWN5RmFjdG9yeUNvbnRyYWN0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA5rZXlMZWdhY3lQb29scwAAAAAJAAS5AAAAAgUAAAALbGVnYWN5UG9vbHMFAAAAA1NFUAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAApzZXRNYW5hZ2VyAAAAAQAAABdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQQAAAALY2hlY2tDYWxsZXIJAQAAAAttdXN0TWFuYWdlcgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgQAAAAVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQACWQAAAAEFAAAAF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AwkAAAAAAAACBQAAABVjaGVja01hbmFnZXJQdWJsaWNLZXkFAAAAFWNoZWNrTWFuYWdlclB1YmxpY0tleQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAABQAAABdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAOY29uZmlybU1hbmFnZXIAAAAABAAAAAJwbQkBAAAAHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAQAAAAFaGFzUE0DCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAACcG0GCQAAAgAAAAECAAAAEk5vIHBlbmRpbmcgbWFuYWdlcgMJAAAAAAAAAgUAAAAFaGFzUE0FAAAABWhhc1BNBAAAAAdjaGVja1BNAwkAAAAAAAACCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAQAAAAV2YWx1ZQAAAAEFAAAAAnBtBgkAAAIAAAABAgAAABtZb3UgYXJlIG5vdCBwZW5kaW5nIG1hbmFnZXIDCQAAAAAAAAIFAAAAB2NoZWNrUE0FAAAAB2NoZWNrUE0JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAE2tleU1hbmFnZXJQdWJsaWNLZXkAAAAACQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAAAnBtCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAAAAAFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAD2FjdGl2YXRlTmV3UG9vbAAAAAcAAAALcG9vbEFkZHJlc3MAAAAOYW1vdW50QXNzZXRTdHIAAAANcHJpY2VBc3NldFN0cgAAAAtscEFzc2V0TmFtZQAAAAxscEFzc2V0RGVzY3IAAAAKcG9vbFdlaWdodAAAAAhwb29sVHlwZQQAAAALY2hlY2tDYWxsZXIJAQAAAAttdXN0TWFuYWdlcgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgMJAQAAAAlpc0RlZmluZWQAAAABCQAEIgAAAAEJAQAAAClrZXlNYXBwaW5nUG9vbENvbnRyYWN0QWRkcmVzc1RvUG9vbEFzc2V0cwAAAAEFAAAAC3Bvb2xBZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAA1Qb29sIGFkZHJlc3MgBQAAAAtwb29sQWRkcmVzcwIAAAAUIGFscmVhZHkgcmVnaXN0ZXJlZC4EAAAAF2ludGVybmFsQW1vdW50QXNzZXREYXRhCQEAAAAaZ2V0SW50ZXJuYWxBc3NldElkT3JDcmVhdGUAAAACBQAAAA5hbW91bnRBc3NldFN0cgAAAAAAAAAAAQQAAAAVaW50ZXJuYWxBbW91bnRBc3NldElkCAUAAAAXaW50ZXJuYWxBbW91bnRBc3NldERhdGEAAAACXzEEAAAAFmludGVybmFsUHJpY2VBc3NldERhdGEJAQAAABpnZXRJbnRlcm5hbEFzc2V0SWRPckNyZWF0ZQAAAAIFAAAADXByaWNlQXNzZXRTdHIDCAUAAAAXaW50ZXJuYWxBbW91bnRBc3NldERhdGEAAAACXzMAAAAAAAAAAAIAAAAAAAAAAAEEAAAAFGludGVybmFsUHJpY2VBc3NldElkCAUAAAAWaW50ZXJuYWxQcmljZUFzc2V0RGF0YQAAAAJfMQQAAAAVcG9vbEFjY291bnRTY3JpcHRIYXNoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAPxAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAALcG9vbEFkZHJlc3MJAAEsAAAAAgIAAAApTm8gc2NyaXB0IGhhcyBiZWVuIGZvdW5kIG9uIHBvb2wgYWNjb3VudCAFAAAAC3Bvb2xBZGRyZXNzBAAAABxldGhhbG9uUG9vbEFjY291bnRTY3JpcHRIYXNoCQEAAAARQGV4dHJOYXRpdmUoMTA1NykAAAABCQEAAAARa2V5UG9vbFNjcmlwdEhhc2gAAAAABAAAAApwb29sQ29uZmlnCQAEHQAAAAIFAAAABHRoaXMJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQJAAGkAAAAAQUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAKcG9vbENvbmZpZwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABVBvb2wgBQAAAA5hbW91bnRBc3NldFN0cgIAAAABLwUAAAANcHJpY2VBc3NldFN0cgIAAAAcIGhhcyBhbHJlYWR5IGJlZW4gYWN0aXZhdGVkLgQAAAAPcG9vbENvbmZpZ1ZhbHVlCQEAAAAFdmFsdWUAAAABCQAEHQAAAAIFAAAABHRoaXMJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQJAAGkAAAAAQUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQEAAAAFGFtb3VudEFzc2V0c0RlY2ltYWxzAwkAAAAAAAACBQAAAA5hbW91bnRBc3NldFN0cgIAAAAFV0FWRVMFAAAAEWRlY2ltYWxzTXVsdFByaWNlCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEJAAJZAAAAAQUAAAAOYW1vdW50QXNzZXRTdHIAAAAIZGVjaW1hbHMAAAAAAAAAAAAAAAAAAAAAAAAFAAAABERPV04EAAAAE3ByaWNlQXNzZXRzRGVjaW1hbHMDCQAAAAAAAAIFAAAADXByaWNlQXNzZXRTdHICAAAABVdBVkVTBQAAABFkZWNpbWFsc011bHRQcmljZQkAAGwAAAAGAAAAAAAAAAAKAAAAAAAAAAAACAkBAAAABXZhbHVlAAAAAQkAA+wAAAABCQACWQAAAAEFAAAADXByaWNlQXNzZXRTdHIAAAAIZGVjaW1hbHMAAAAAAAAAAAAAAAAAAAAAAAAFAAAABERPV04EAAAAEmxwQXNzZXRJc3N1ZUFjdGlvbgkABEIAAAAFBQAAAAtscEFzc2V0TmFtZQUAAAAMbHBBc3NldERlc2NyAAAAAAAAAAABAAAAAAAAAAAIBgQAAAAJbHBBc3NldElkCQAEOAAAAAEFAAAAEmxwQXNzZXRJc3N1ZUFjdGlvbgQAAAAMbHBBc3NldElkU3RyCQACWAAAAAEFAAAACWxwQXNzZXRJZAQAAAAYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0CQAD/AAAAAQJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAC3Bvb2xBZGRyZXNzAgAAAAhhY3RpdmF0ZQkABEwAAAACBQAAAA5hbW91bnRBc3NldFN0cgkABEwAAAACBQAAAA1wcmljZUFzc2V0U3RyBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0BQAAABhwb29sQWN0aXZhdGVJbnZva2VSZXN1bHQDCQEAAAACIT0AAAACBQAAABhwb29sQWN0aXZhdGVJbnZva2VSZXN1bHQCAAAAB3N1Y2Nlc3MJAAACAAAAAQIAAAAjUG9vbCBpbml0aWFsaXNhdGlvbiBlcnJvciBoYXBwZW5lZC4JAAUUAAAAAgkABE4AAAACCQAETgAAAAIIBQAAABdpbnRlcm5hbEFtb3VudEFzc2V0RGF0YQAAAAJfMggFAAAAFmludGVybmFsUHJpY2VBc3NldERhdGEAAAACXzIJAARMAAAAAgUAAAASbHBBc3NldElzc3VlQWN0aW9uCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAAJbHBBc3NldElkAAAAAAAAAAABCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQJAAGkAAAAAQUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQJAQAAAAtkYXRhUG9vbENmZwAAAAsFAAAAC3Bvb2xBZGRyZXNzCQABpAAAAAEFAAAAClBvb2xBY3RpdmUFAAAADGxwQXNzZXRJZFN0cgUAAAAOYW1vdW50QXNzZXRTdHIFAAAADXByaWNlQXNzZXRTdHIFAAAAFGFtb3VudEFzc2V0c0RlY2ltYWxzBQAAABNwcmljZUFzc2V0c0RlY2ltYWxzBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQFAAAAFGludGVybmFsUHJpY2VBc3NldElkBQAAABFkZWNpbWFsc011bHRQcmljZQUAAAAIcG9vbFR5cGUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAHWtleU1hcHBpbmdMcEFzc2V0VG9Qb29sQXNzZXRzAAAAAQUAAAAMbHBBc3NldElkU3RyCQEAAAAVZGF0YU1hcHBpbmdQb29sQXNzZXRzAAAAAgUAAAAVaW50ZXJuYWxBbW91bnRBc3NldElkBQAAABRpbnRlcm5hbFByaWNlQXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAda2V5TWFwcGluZ1Bvb2xBc3NldHNUb0xwYXNzZXQAAAACCQABpAAAAAEFAAAAFWludGVybmFsQW1vdW50QXNzZXRJZAkAAaQAAAABBQAAABRpbnRlcm5hbFByaWNlQXNzZXRJZAkAASwAAAACAgAAAAQlc19fBQAAAAxscEFzc2V0SWRTdHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzAAAAAQUAAAALcG9vbEFkZHJlc3MJAQAAABVkYXRhTWFwcGluZ1Bvb2xBc3NldHMAAAACBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQFAAAAFGludGVybmFsUHJpY2VBc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAClrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcwAAAAIFAAAAFWludGVybmFsQW1vdW50QXNzZXRJZAUAAAAUaW50ZXJuYWxQcmljZUFzc2V0SWQFAAAAC3Bvb2xBZGRyZXNzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAACprZXlNYXBwaW5nUG9vbExQQXNzZXRUb1Bvb2xDb250cmFjdEFkZHJlc3MAAAABBQAAAAxscEFzc2V0SWRTdHIFAAAAC3Bvb2xBZGRyZXNzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAB5rZXlNYXBwaW5nUG9vbENvbnRyYWNUb0xQQXNzZXQAAAABBQAAAAtwb29sQWRkcmVzcwUAAAAMbHBBc3NldElkU3RyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPa2V5UG9vbFRvV2VpZ2h0AAAAAQUAAAALcG9vbEFkZHJlc3MFAAAACnBvb2xXZWlnaHQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2tleUxwVG9rZW5zTGlzdAAAAAAJAQAAABdjcmVhdGVMcFRva2Vuc0xpc3RFbnRyeQAAAAEFAAAADGxwQXNzZXRJZFN0cgUAAAADbmlsAgAAAAdzdWNjZXNzCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAKbWFuYWdlUG9vbAAAAAIAAAALcG9vbEFkZHJlc3MAAAAJbmV3U3RhdHVzBAAAAAtjaGVja0NhbGxlcgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyBAAAAApwb29sQ29uZmlnCQEAAAANZ2V0UG9vbENvbmZpZwAAAAEFAAAAC3Bvb2xBZGRyZXNzBAAAAApwb29sU3RhdHVzCQABkQAAAAIFAAAACnBvb2xDb25maWcFAAAADWlkeFBvb2xTdGF0dXMEAAAADGxwQXNzZXRJZFN0cgkAAZEAAAACBQAAAApwb29sQ29uZmlnBQAAABBpZHhQb29sTFBBc3NldElkBAAAAA5hbW91bnRBc3NldFN0cgkAAZEAAAACBQAAAApwb29sQ29uZmlnBQAAAA1pZHhBbXRBc3NldElkBAAAAA1wcmljZUFzc2V0U3RyCQABkQAAAAIFAAAACnBvb2xDb25maWcFAAAAD2lkeFByaWNlQXNzZXRJZAQAAAAUYW1vdW50QXNzZXRzRGVjaW1hbHMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAApwb29sQ29uZmlnBQAAAA5pZHhBbXRBc3NldERjbQQAAAATcHJpY2VBc3NldHNEZWNpbWFscwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACnBvb2xDb25maWcFAAAAEGlkeFByaWNlQXNzZXREY20EAAAAFWludGVybmFsQW1vdW50QXNzZXRJZAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACnBvb2xDb25maWcFAAAADmlkeElBbXRBc3NldElkBAAAABRpbnRlcm5hbFByaWNlQXNzZXRJZAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACnBvb2xDb25maWcFAAAAEGlkeElQcmljZUFzc2V0SWQEAAAACmxwQXNzZXREY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAApwb29sQ29uZmlnBQAAAA1pZHhMUEFzc2V0RGNtBAAAAAhwb29sVHlwZQkAAZEAAAACBQAAAApwb29sQ29uZmlnBQAAAAtpZHhQb29sVHlwZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAANa2V5UG9vbENvbmZpZwAAAAIJAAGkAAAAAQUAAAAVaW50ZXJuYWxBbW91bnRBc3NldElkCQABpAAAAAEFAAAAFGludGVybmFsUHJpY2VBc3NldElkCQEAAAALZGF0YVBvb2xDZmcAAAALBQAAAAtwb29sQWRkcmVzcwkAAaQAAAABBQAAAAluZXdTdGF0dXMFAAAADGxwQXNzZXRJZFN0cgUAAAAOYW1vdW50QXNzZXRTdHIFAAAADXByaWNlQXNzZXRTdHIFAAAAFGFtb3VudEFzc2V0c0RlY2ltYWxzBQAAABNwcmljZUFzc2V0c0RlY2ltYWxzBQAAABVpbnRlcm5hbEFtb3VudEFzc2V0SWQFAAAAFGludGVybmFsUHJpY2VBc3NldElkBQAAAApscEFzc2V0RGNtBQAAAAhwb29sVHlwZQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAARlbWl0AAAAAQAAAAxhbW91bnRUb0VtaXQEAAAABmNhbGxlcggFAAAAAWkAAAAGY2FsbGVyBAAAAAxvcmlnaW5DYWxsZXIIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgQAAAAQbHBBc3NldFJlcXVlc3RlZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEIgAAAAEJAQAAAB5rZXlNYXBwaW5nUG9vbENvbnRyYWNUb0xQQXNzZXQAAAABCQAEJQAAAAEFAAAABmNhbGxlcgIAAAAdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4EAAAAB2xwQXNzZXQJAAJZAAAAAQUAAAAQbHBBc3NldFJlcXVlc3RlZAQAAAALbGVnYWN5UG9vbHMJAAS1AAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABCIAAAABCQEAAAAOa2V5TGVnYWN5UG9vbHMAAAAABQAAAAVFTVBUWQUAAAADU0VQBAAAABVsZWdhY3lGYWN0b3J5Q29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCIAAAABCQEAAAAYa2V5TGVnYWN5RmFjdG9yeUNvbnRyYWN0AAAAAAIAAAAoTGVnYWN5IGZhY3RvcnkgY29udHJhY3QgZG9lcyBub3QgZXhpc3RzLgMJAABnAAAAAgAAAAAAAAAAAAUAAAAMYW1vdW50VG9FbWl0BQAAAANuaWwDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAALbGVnYWN5UG9vbHMJAAQlAAAAAQUAAAAGY2FsbGVyCQAFFAAAAAIFAAAAA25pbAUAAAAVbGVnYWN5RmFjdG9yeUNvbnRyYWN0CQAFFAAAAAIJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAAdscEFzc2V0BQAAAAxhbW91bnRUb0VtaXQGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAMYW1vdW50VG9FbWl0BQAAAAdscEFzc2V0BQAAAANuaWwCAAAAB3N1Y2Nlc3MAAAABaQEAAAAEYnVybgAAAAEAAAAMYW1vdW50VG9CdXJuBAAAAAZjYWxsZXIIBQAAAAFpAAAABmNhbGxlcgQAAAAMb3JpZ2luQ2FsbGVyCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIEAAAAB3BheW1lbnQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAADXBheW1lbnRBbW91bnQJAQAAAAV2YWx1ZQAAAAEIBQAAAAdwYXltZW50AAAABmFtb3VudAQAAAAPaW5BbW91bnRBc3NldElkCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQEAAAAGmxwQXNzZXRSZXF1ZXN0ZWRGb3JCdXJuaW5nCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQiAAAAAQkBAAAAHmtleU1hcHBpbmdQb29sQ29udHJhY1RvTFBBc3NldAAAAAEJAAQlAAAAAQUAAAAGY2FsbGVyAgAAAB1JbnZhbGlkIExQIGFkZHJlc3MgY2FsbGVkIG1lLgMJAQAAAAIhPQAAAAIFAAAAD2luQW1vdW50QXNzZXRJZAUAAAAabHBBc3NldFJlcXVlc3RlZEZvckJ1cm5pbmcJAAACAAAAAQIAAAAVSW52YWxpZCBhc3NldCBwYXNzZWQuAwkBAAAAAiE9AAAAAgUAAAAMYW1vdW50VG9CdXJuBQAAAA1wYXltZW50QW1vdW50CQAAAgAAAAECAAAAFkludmFsaWQgYW1vdW50IHBhc3NlZC4EAAAAB2xwQXNzZXQJAAJZAAAAAQUAAAAabHBBc3NldFJlcXVlc3RlZEZvckJ1cm5pbmcJAAUUAAAAAgkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAAB2xwQXNzZXQFAAAADGFtb3VudFRvQnVybgUAAAADbmlsAgAAAAdzdWNjZXNzAAAAAWkBAAAADW1vZGlmeVdlaWdodHMAAAAEAAAADmJ0Y1Bvb2xBZGRyZXNzAAAADmV0aFBvb2xBZGRyZXNzAAAAEWV0aEJ0Y1Bvb2xBZGRyZXNzAAAAE3VzZGNVc2R0UG9vbEFkZHJlc3MEAAAAC2NoZWNrQ2FsbGVyCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIEAAAAD2V0aEJ0Y1dlaWdodE5ldwkAAGkAAAACCQAAaAAAAAIAAAAAAAAAAAUFAAAADlBPT0xXRUlHSFRNVUxUAAAAAAAAAABkBAAAABF1c2RjVXNkdFdlaWdodE5ldwkAAGkAAAACCQAAaAAAAAIAAAAAAAAAAAUFAAAADlBPT0xXRUlHSFRNVUxUAAAAAAAAAABkBAAAAA93ZWlnaHREZWNyZW1lbnQJAABpAAAAAgkAAGgAAAACAAAAAAAAAAAFBQAAAA5QT09MV0VJR0hUTVVMVAAAAAAAAAAAZAQAAAAKZmFjdG9yeUNmZwkABLUAAAACCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQkBAAAAEGtleUZhY3RvcnlDb25maWcAAAAABQAAAANTRVAEAAAAC3N0YWtpbmdEYXBwCQEAAAAXZ2V0U3Rha2luZ0FkZHJlc3NPckZhaWwAAAABBQAAAApmYWN0b3J5Q2ZnBAAAAA1nd3hSZXdhcmREYXBwCQEAAAAZZ2V0R3d4UmV3YXJkQWRkcmVzc09yRmFpbAAAAAEFAAAACmZhY3RvcnlDZmcEAAAADGJ0Y1dlaWdodEtFWQkBAAAAD2tleVBvb2xUb1dlaWdodAAAAAEFAAAADmJ0Y1Bvb2xBZGRyZXNzBAAAAAxldGhXZWlnaHRLRVkJAQAAAA9rZXlQb29sVG9XZWlnaHQAAAABBQAAAA5ldGhQb29sQWRkcmVzcwQAAAAPZXRoQnRjV2VpZ2h0S0VZCQEAAAAPa2V5UG9vbFRvV2VpZ2h0AAAAAQUAAAARZXRoQnRjUG9vbEFkZHJlc3MEAAAAEXVzZGNVc2R0V2VpZ2h0S0VZCQEAAAAPa2V5UG9vbFRvV2VpZ2h0AAAAAQUAAAATdXNkY1VzZHRQb29sQWRkcmVzcwQAAAAJYnRjV2VpZ2h0CQEAAAAMZ2V0SW50T3JGYWlsAAAAAQUAAAAMYnRjV2VpZ2h0S0VZBAAAAAlldGhXZWlnaHQJAQAAAAxnZXRJbnRPckZhaWwAAAABBQAAAAxldGhXZWlnaHRLRVkEAAAADGJ0Y1dlaWdodE5ldwkAAGUAAAACBQAAAAlidGNXZWlnaHQFAAAAD3dlaWdodERlY3JlbWVudAQAAAAMZXRoV2VpZ2h0TmV3CQAAZQAAAAIFAAAACWV0aFdlaWdodAUAAAAPd2VpZ2h0RGVjcmVtZW50AwkAAGcAAAACAAAAAAAAAAAABQAAAAxidGNXZWlnaHROZXcJAAACAAAAAQkAASwAAAACAgAAABZpbnZhbGlkIGJ0Y1dlaWdodE5ldzogCQABpAAAAAEFAAAADGJ0Y1dlaWdodE5ldwMJAABnAAAAAgAAAAAAAAAAAAUAAAAMZXRoV2VpZ2h0TmV3CQAAAgAAAAEJAAEsAAAAAgIAAAAWaW52YWxpZCBldGhXZWlnaHROZXc6IAkAAaQAAAABBQAAAAxldGhXZWlnaHROZXcEAAAAD2J0Y0xwQXNzZXRJZFN0cgkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEJAQAAAB5rZXlNYXBwaW5nUG9vbENvbnRyYWNUb0xQQXNzZXQAAAABBQAAAA5idGNQb29sQWRkcmVzcwQAAAAPZXRoTHBBc3NldElkU3RyCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQkBAAAAHmtleU1hcHBpbmdQb29sQ29udHJhY1RvTFBBc3NldAAAAAEFAAAADmV0aFBvb2xBZGRyZXNzBAAAABJldGhCdGNMcEFzc2V0SWRTdHIJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABCQEAAAAea2V5TWFwcGluZ1Bvb2xDb250cmFjVG9MUEFzc2V0AAAAAQUAAAARZXRoQnRjUG9vbEFkZHJlc3MEAAAAFHVzZGNVc2R0THBBc3NldElkU3RyCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQkBAAAAHmtleU1hcHBpbmdQb29sQ29udHJhY1RvTFBBc3NldAAAAAEFAAAAE3VzZGNVc2R0UG9vbEFkZHJlc3MEAAAAEW9uTW9kaWZ5V2VpZ2h0QnRjCQAD/AAAAAQFAAAAC3N0YWtpbmdEYXBwAgAAAA5vbk1vZGlmeVdlaWdodAkABEwAAAACBQAAAA9idGNMcEFzc2V0SWRTdHIJAARMAAAAAgUAAAAOYnRjUG9vbEFkZHJlc3MFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAABFvbk1vZGlmeVdlaWdodEJ0YwUAAAARb25Nb2RpZnlXZWlnaHRCdGMEAAAAEW9uTW9kaWZ5V2VpZ2h0RXRoCQAD/AAAAAQFAAAAC3N0YWtpbmdEYXBwAgAAAA5vbk1vZGlmeVdlaWdodAkABEwAAAACBQAAAA9ldGhMcEFzc2V0SWRTdHIJAARMAAAAAgUAAAAOZXRoUG9vbEFkZHJlc3MFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAABFvbk1vZGlmeVdlaWdodEV0aAUAAAARb25Nb2RpZnlXZWlnaHRFdGgEAAAAFG9uTW9kaWZ5V2VpZ2h0RXRoQnRjCQAD/AAAAAQFAAAAC3N0YWtpbmdEYXBwAgAAAA5vbk1vZGlmeVdlaWdodAkABEwAAAACBQAAABJldGhCdGNMcEFzc2V0SWRTdHIJAARMAAAAAgUAAAARZXRoQnRjUG9vbEFkZHJlc3MFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAABRvbk1vZGlmeVdlaWdodEV0aEJ0YwUAAAAUb25Nb2RpZnlXZWlnaHRFdGhCdGMEAAAAFm9uTW9kaWZ5V2VpZ2h0VXNkY1VzZHQJAAP8AAAABAUAAAALc3Rha2luZ0RhcHACAAAADm9uTW9kaWZ5V2VpZ2h0CQAETAAAAAIFAAAAFHVzZGNVc2R0THBBc3NldElkU3RyCQAETAAAAAIFAAAAE3VzZGNVc2R0UG9vbEFkZHJlc3MFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAABZvbk1vZGlmeVdlaWdodFVzZGNVc2R0BQAAABZvbk1vZGlmeVdlaWdodFVzZGNVc2R0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAxidGNXZWlnaHRLRVkFAAAADGJ0Y1dlaWdodE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAMZXRoV2VpZ2h0S0VZBQAAAAxldGhXZWlnaHROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2V0aEJ0Y1dlaWdodEtFWQUAAAAPZXRoQnRjV2VpZ2h0TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABF1c2RjVXNkdFdlaWdodEtFWQUAAAARdXNkY1VzZHRXZWlnaHROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABZrZXlQb29sVG9XZWlnaHRIaXN0b3J5AAAAAgUAAAAOYnRjUG9vbEFkZHJlc3MAAAAAAAAAAAAFAAAACWJ0Y1dlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFmtleVBvb2xUb1dlaWdodEhpc3RvcnkAAAACBQAAAA5ldGhQb29sQWRkcmVzcwAAAAAAAAAAAAUAAAAJZXRoV2VpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAWa2V5UG9vbFRvV2VpZ2h0SGlzdG9yeQAAAAIFAAAAEWV0aEJ0Y1Bvb2xBZGRyZXNzAAAAAAAAAAAABQAAAA9ldGhCdGNXZWlnaHROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABZrZXlQb29sVG9XZWlnaHRIaXN0b3J5AAAAAgUAAAATdXNkY1VzZHRQb29sQWRkcmVzcwAAAAAAAAAAAAUAAAARdXNkY1VzZHRXZWlnaHROZXcFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAPdGFyZ2V0UHVibGljS2V5BAAAAAckbWF0Y2gwCQEAAAAWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAnBrBQAAAAckbWF0Y2gwBQAAAAJwawMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAD3RhcmdldFB1YmxpY0tlefRwFQc=", "chainId": 84, "height": 2009491, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BsnEuXkxQoZRRmJ1akxP5c3M81rPatzbB78FzzvKBqqJ Next: CN4sDsfc51TABLKSWNPuWtCrFD6MfxDpeEqAWC7npzjC Diff:
OldNewDifferences
7979 func I () = "%s__pendingManagerPublicKey"
8080
8181
82-func J () = "%s__adminPubKeys"
82+func J () = "%s__priceDecimals"
8383
8484
85-func K () = "%s__assetsStoreContract"
85+func K () = "%s__shutdown"
8686
8787
88-func L () = "%s__priceDecimals"
88+func L () = "%s__nextInternalAssetId"
8989
9090
91-func M () = "%s__shutdown"
91+func M (N) = ("%s%s__poolWeight__" + N)
9292
9393
94-func N () = "%s__nextInternalAssetId"
94+func O (N,P) = ((("%s%s__poolWeight__" + N) + "__") + toString(P))
9595
9696
97-func O (P) = ("%s%s__poolWeight__" + P)
97+func Q (R) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(R))
9898
9999
100-func Q (P,R) = ((("%s%s__poolWeight__" + P) + "__") + toString(R))
100+func S (T) = ("%s%s%s__mappings__baseAsset2internalId__" + T)
101101
102102
103-func S (T) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(T))
103+func U (V,W) = (((("%d%d%s__" + V) + "__") + W) + "__config")
104104
105105
106-func U (V) = ("%s%s%s__mappings__baseAsset2internalId__" + V)
106+func X (Y) = (("%s%s%s__" + Y) + "__mappings__lpAsset2Pool")
107107
108108
109-func W (X,Y) = (((("%d%d%s__" + X) + "__") + Y) + "__config")
109+func Z (aa,ab) = (((("%d%d%s%s__" + aa) + "__") + ab) + "__mappings__PoolAssets2LpAsset")
110110
111111
112-func Z (aa) = (("%s%s%s__" + aa) + "__mappings__lpAsset2Pool")
112+func ac (ad) = (("%s%s%s__" + ad) + "__mappings__poolContract2PoolAssets")
113113
114114
115-func ab (ac,ad) = (((("%d%d%s%s__" + ac) + "__") + ad) + "__mappings__PoolAssets2LpAsset")
115+func ae (aa,ab) = (((("%d%d%s%s__" + toString(aa)) + "__") + toString(ab)) + "__mappings__poolAssets2PoolContract")
116116
117117
118-func ae (af) = (("%s%s%s__" + af) + "__mappings__poolContract2PoolAssets")
118+func af (ad) = (("%s%s%s__" + ad) + "__mappings__poolContract2LpAsset")
119119
120120
121-func ag (ac,ad) = (((("%d%d%s%s__" + toString(ac)) + "__") + toString(ad)) + "__mappings__poolAssets2PoolContract")
121+func ag (Y) = (("%s%s%s__" + Y) + "__mappings__lpAsset2PoolContract")
122122
123123
124-func ah (af) = (("%s%s%s__" + af) + "__mappings__poolContract2LpAsset")
124+func ah (ai) = valueOrErrorMessage(getString(this, ai), ("No data for this.key=" + ai))
125125
126126
127-func ai (aa) = (("%s%s%s__" + aa) + "__mappings__lpAsset2PoolContract")
127+func aj (ai) = valueOrErrorMessage(getBoolean(this, ai), ("No data for this.key=" + ai))
128128
129129
130-func aj (ak) = valueOrErrorMessage(getString(this, ak), ("No data for this.key=" + ak))
130+func ak (ai) = valueOrErrorMessage(getInteger(this, ai), ("No data for this.key=" + ai))
131131
132132
133-func al (ak) = valueOrErrorMessage(getBoolean(this, ak), ("No data for this.key=" + ak))
133+let al = 1
134+
135+let am = 2
136+
137+let an = 3
138+
139+let ao = 4
140+
141+let ap = 5
142+
143+let aq = 6
144+
145+let ar = 7
146+
147+let as = 8
148+
149+let at = 9
150+
151+let au = 10
152+
153+let av = 11
154+
155+func aw (ax) = addressFromStringValue(ax[am])
134156
135157
136-func am (ak) = valueOrErrorMessage(getInteger(this, ak), ("No data for this.key=" + ak))
158+func ay (ax) = addressFromStringValue(ax[ap])
137159
138160
139-let an = 1
140-
141-let ao = 2
142-
143-let ap = 3
144-
145-let aq = 4
146-
147-let ar = 5
148-
149-let as = 6
150-
151-let at = 7
152-
153-let au = 8
154-
155-let av = 9
156-
157-let aw = 10
158-
159-let ax = 11
160-
161-func ay (az) = addressFromStringValue(az[ao])
161+func az (ax) = addressFromStringValue(ax[al])
162162
163163
164-func aA (az) = addressFromStringValue(az[ar])
164+func aA (ax) = addressFromStringValue(ax[au])
165165
166166
167-func aB (az) = addressFromStringValue(az[an])
168-
169-
170-func aC (az) = addressFromStringValue(az[aw])
171-
172-
173-func aD () = {
174- let aE = getString(H())
175- if ($isInstanceOf(aE, "String"))
167+func aB () = {
168+ let aC = getString(H())
169+ if ($isInstanceOf(aC, "String"))
176170 then {
177- let aF = aE
178- fromBase58String(aF)
171+ let aD = aC
172+ fromBase58String(aD)
179173 }
180- else if ($isInstanceOf(aE, "Unit"))
174+ else if ($isInstanceOf(aC, "Unit"))
181175 then unit
182176 else throw("Match error")
183177 }
184178
185179
186-func aG () = {
187- let aE = getString(I())
188- if ($isInstanceOf(aE, "String"))
180+func aE () = {
181+ let aC = getString(I())
182+ if ($isInstanceOf(aC, "String"))
189183 then {
190- let aF = aE
191- fromBase58String(aF)
184+ let aD = aC
185+ fromBase58String(aD)
192186 }
193- else if ($isInstanceOf(aE, "Unit"))
187+ else if ($isInstanceOf(aC, "Unit"))
194188 then unit
195189 else throw("Match error")
196190 }
197191
198192
199-func aH (aI) = {
200- let aJ = throw("Permission denied")
201- let aE = aD()
202- if ($isInstanceOf(aE, "ByteVector"))
193+func aF (aG) = {
194+ let aH = throw("Permission denied")
195+ let aC = aB()
196+ if ($isInstanceOf(aC, "ByteVector"))
203197 then {
204- let aK = aE
205- if ((aI.callerPublicKey == aK))
198+ let aI = aC
199+ if ((aG.callerPublicKey == aI))
206200 then true
207- else aJ
201+ else aH
208202 }
209- else if ($isInstanceOf(aE, "Unit"))
210- then if ((aI.caller == this))
203+ else if ($isInstanceOf(aC, "Unit"))
204+ then if ((aG.caller == this))
211205 then true
212- else aJ
206+ else aH
213207 else throw("Match error")
214208 }
215209
216210
217-func aL (aM,aN,aO,aP,aQ,aR,aS,aT,aU,aV,aW) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", aM, aN, aO, aP, aQ, aR, aS, aT, aU, aV, aW], h)
211+func aJ (aK,aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", aK, aL, aM, aN, aO, aP, aQ, aR, aS, aT, aU], h)
218212
219213
220-func aX (aM,aN,aO,aP,aQ,aR,aS) = makeString(["%s%s%s%s%s%s", aM, aN, aO, aP, aQ, aR, aS], h)
214+func aV (aK,aL,aM,aN,aO,aP,aQ) = makeString(["%s%s%s%s%s%s", aK, aL, aM, aN, aO, aP, aQ], h)
221215
222216
223-func aY (P,aZ,ba,bb,bc,bd,be,bf,bg,bh,bi) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", P, aZ, ba, bb, bc, toString(bd), toString(be), toString(bf), toString(bg), toString(bh), bi], h)
217+func aW (N,aX,aY,aZ,ba,bb,bc,bd,be,bf,bg) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", N, aX, aY, aZ, ba, toString(bb), toString(bc), toString(bd), toString(be), toString(bf), bg], h)
224218
225219
226-func bj (bk,bl) = makeString(["%d%d", toString(bk), toString(bl)], h)
220+func bh (bi,bj) = makeString(["%d%d", toString(bi), toString(bj)], h)
227221
228222
229-func bm (P) = {
230- let bn = split(aj(ae(P)), h)
231- let X = bn[1]
232- let Y = bn[2]
233- split(aj(W(X, Y)), h)
223+func bk (N) = {
224+ let bl = split(ah(ac(N)), h)
225+ let V = bl[1]
226+ let W = bl[2]
227+ split(ah(U(V, W)), h)
234228 }
235229
236230
237-func bo (bp,bq) = {
238- let br = valueOrElse(getInteger(this, U(bp)), 0)
239- let bs = valueOrElse(getInteger(this, N()), 0)
240- let bt = if ((br == 0))
231+func bm (bn,bo) = {
232+ let bp = valueOrElse(getInteger(this, S(bn)), 0)
233+ let bq = valueOrElse(getInteger(this, L()), 0)
234+ let br = if ((bp == 0))
241235 then {
242- let bu = (bs + bq)
243- $Tuple3(bu, [IntegerEntry(N(), bu), IntegerEntry(U(bp), bu), StringEntry(S(bu), bp)], true)
236+ let bs = (bq + bo)
237+ $Tuple3(bs, [IntegerEntry(L(), bs), IntegerEntry(S(bn), bs), StringEntry(Q(bs), bn)], true)
244238 }
245- else $Tuple3(br, nil, false)
246- bt
239+ else $Tuple3(bp, nil, false)
240+ br
247241 }
248242
249243
250-func bv (bw) = {
251- let bx = getString(this, C())
252- if (isDefined(bx))
253- then ((value(bx) + h) + bw)
254- else bw
244+func bt (bu) = {
245+ let bv = getString(this, C())
246+ if (isDefined(bv))
247+ then ((value(bv) + h) + bu)
248+ else bu
255249 }
256250
257251
258-func by (aI) = {
259- let bz = split(valueOrElse(getString(J()), i), h)
260- if (containsElement(bz, toBase58String(aI.callerPublicKey)))
261- then true
262- else {
263- let bA = aH(aI)
264- if ((bA == bA))
265- then true
266- else throw("Strict value is not equal to itself.")
267- }
268- }
269-
270-
271-@Callable(aI)
272-func constructor (bB,bC,aO,aP,aQ,aR,bD,bE) = {
273- let bF = aH(aI)
274- if ((bF == bF))
275- then [StringEntry(B(), aX(bB, bC, aO, aP, aQ, aR, bD)), IntegerEntry(L(), bE)]
252+@Callable(aG)
253+func constructor (bw,bx,aM,aN,aO,aP,by,bz) = {
254+ let bA = aF(aG)
255+ if ((bA == bA))
256+ then [StringEntry(B(), aV(bw, bx, aM, aN, aO, aP, by)), IntegerEntry(J(), bz)]
276257 else throw("Strict value is not equal to itself.")
277258 }
278259
279260
280261
281-@Callable(aI)
282-func constructorV2 (bG) = {
283- let bF = aH(aI)
284- if ((bF == bF))
262+@Callable(aG)
263+func constructorV2 (bB) = {
264+ let bA = aF(aG)
265+ if ((bA == bA))
285266 then {
286- let bH = addressFromPublicKey(fromBase58String(bG))
287- if ((bH == bH))
288- then [StringEntry(E(), bG)]
267+ let bC = addressFromPublicKey(fromBase58String(bB))
268+ if ((bC == bC))
269+ then [StringEntry(E(), bB)]
289270 else throw("Strict value is not equal to itself.")
290271 }
291272 else throw("Strict value is not equal to itself.")
293274
294275
295276
296-@Callable(aI)
297-func constructorV3 (aT,aU,aV,aW) = {
298- let bF = aH(aI)
299- if ((bF == bF))
277+@Callable(aG)
278+func constructorV3 (aR,aS,aT,aU) = {
279+ let bA = aF(aG)
280+ if ((bA == bA))
300281 then {
301- let az = split(aj(B()), h)
302-[StringEntry(B(), aL(az[1], az[2], az[3], az[4], az[5], az[6], az[7], aT, aU, aV, aW))]
282+ let ax = split(ah(B()), h)
283+[StringEntry(B(), aJ(ax[1], ax[2], ax[3], ax[4], ax[5], ax[6], ax[7], aR, aS, aT, aU))]
303284 }
304285 else throw("Strict value is not equal to itself.")
305286 }
306287
307288
308289
309-@Callable(aI)
310-func constructorV4 (bI,bJ) = {
311- let bF = aH(aI)
312- if ((bF == bF))
313- then [StringEntry(F(), bI), StringEntry(G(), makeString(bJ, h))]
290+@Callable(aG)
291+func constructorV4 (bD,bE) = {
292+ let bA = aF(aG)
293+ if ((bA == bA))
294+ then [StringEntry(F(), bD), StringEntry(G(), makeString(bE, h))]
314295 else throw("Strict value is not equal to itself.")
315296 }
316297
317298
318299
319-@Callable(aI)
320-func constructorV5 (bK) = {
321- let bF = aH(aI)
322- if ((bF == bF))
323- then [StringEntry(K(), bK)]
324- else throw("Strict value is not equal to itself.")
325- }
326-
327-
328-
329-@Callable(aI)
330-func setManager (bL) = {
331- let bF = aH(aI)
332- if ((bF == bF))
300+@Callable(aG)
301+func setManager (bF) = {
302+ let bA = aF(aG)
303+ if ((bA == bA))
333304 then {
334- let bM = fromBase58String(bL)
335- if ((bM == bM))
336- then [StringEntry(I(), bL)]
305+ let bG = fromBase58String(bF)
306+ if ((bG == bG))
307+ then [StringEntry(I(), bF)]
337308 else throw("Strict value is not equal to itself.")
338309 }
339310 else throw("Strict value is not equal to itself.")
341312
342313
343314
344-@Callable(aI)
315+@Callable(aG)
345316 func confirmManager () = {
346- let bN = aG()
347- let bO = if (isDefined(bN))
317+ let bH = aE()
318+ let bI = if (isDefined(bH))
348319 then true
349320 else throw("No pending manager")
350- if ((bO == bO))
321+ if ((bI == bI))
351322 then {
352- let bP = if ((aI.callerPublicKey == value(bN)))
323+ let bJ = if ((aG.callerPublicKey == value(bH)))
353324 then true
354325 else throw("You are not pending manager")
355- if ((bP == bP))
356- then [StringEntry(H(), toBase58String(value(bN))), DeleteEntry(I())]
326+ if ((bJ == bJ))
327+ then [StringEntry(H(), toBase58String(value(bH))), DeleteEntry(I())]
357328 else throw("Strict value is not equal to itself.")
358329 }
359330 else throw("Strict value is not equal to itself.")
361332
362333
363334
364-@Callable(aI)
365-func setAdmins (bQ) = {
366- let bF = aH(aI)
367- if ((bF == bF))
368- then [StringEntry(J(), makeString(bQ, h))]
369- else throw("Strict value is not equal to itself.")
370- }
371-
372-
373-
374-@Callable(aI)
375-func activateNewPool (P,bb,bc,bR,bS,bT,bi) = {
376- let bF = by(aI)
377- if ((bF == bF))
378- then if (isDefined(getString(ae(P))))
379- then throw((("Pool address " + P) + " already registered."))
335+@Callable(aG)
336+func activateNewPool (N,aZ,ba,bK,bL,bM,bg) = {
337+ let bA = aF(aG)
338+ if ((bA == bA))
339+ then if (isDefined(getString(ac(N))))
340+ then throw((("Pool address " + N) + " already registered."))
380341 else {
381- let bU = bo(bb, 1)
382- let bV = bU._1
383- let bW = bo(bc, if (bU._3)
342+ let bN = bm(aZ, 1)
343+ let bO = bN._1
344+ let bP = bm(ba, if (bN._3)
384345 then 2
385346 else 1)
386- let bX = bW._1
387- let bY = valueOrErrorMessage(scriptHash(addressFromStringValue(P)), ("No script has been found on pool account " + P))
388- let bZ = getBinaryValue(D())
389- let ca = getString(this, W(toString(bV), toString(bX)))
390- if (isDefined(ca))
391- then throw((((("Pool " + bb) + "/") + bc) + " has already been activated."))
347+ let bQ = bP._1
348+ let bR = valueOrErrorMessage(scriptHash(addressFromStringValue(N)), ("No script has been found on pool account " + N))
349+ let bS = getBinaryValue(D())
350+ let bT = getString(this, U(toString(bO), toString(bQ)))
351+ if (isDefined(bT))
352+ then throw((((("Pool " + aZ) + "/") + ba) + " has already been activated."))
392353 else {
393- let cb = value(getString(this, W(toString(bV), toString(bX))))
394- let cc = if ((bb == "WAVES"))
354+ let bU = value(getString(this, U(toString(bO), toString(bQ))))
355+ let bV = if ((aZ == "WAVES"))
395356 then g
396- else pow(10, 0, value(assetInfo(fromBase58String(bb))).decimals, 0, 0, DOWN)
397- let cd = if ((bc == "WAVES"))
357+ else pow(10, 0, value(assetInfo(fromBase58String(aZ))).decimals, 0, 0, DOWN)
358+ let bW = if ((ba == "WAVES"))
398359 then g
399- else pow(10, 0, value(assetInfo(fromBase58String(bc))).decimals, 0, 0, DOWN)
400- let ce = Issue(bR, bS, 1, 8, true)
401- let ba = calculateAssetId(ce)
402- let cf = toBase58String(ba)
403- let cg = invoke(addressFromStringValue(P), "activate", [bb, bc], nil)
404- if ((cg == cg))
405- then if ((cg != "success"))
360+ else pow(10, 0, value(assetInfo(fromBase58String(ba))).decimals, 0, 0, DOWN)
361+ let bX = Issue(bK, bL, 1, 8, true)
362+ let aY = calculateAssetId(bX)
363+ let bY = toBase58String(aY)
364+ let bZ = invoke(addressFromStringValue(N), "activate", [aZ, ba], nil)
365+ if ((bZ == bZ))
366+ then if ((bZ != "success"))
406367 then throw("Pool initialisation error happened.")
407- else {
408- let bK = addressFromStringValue(aj(K()))
409- let ch = invoke(bK, "addAssetsLink", [bb, bc, cf], nil)
410- if ((ch == ch))
411- then {
412- let ci = invoke(bK, "increaseAssetPoolsNumber", [bb], nil)
413- if ((ci == ci))
414- then $Tuple2(((bU._2 ++ bW._2) ++ [ce, Burn(ba, 1), StringEntry(W(toString(bV), toString(bX)), aY(P, toString(j), cf, bb, bc, cc, cd, bV, bX, g, bi)), StringEntry(Z(cf), bj(bV, bX)), StringEntry(ab(toString(bV), toString(bX)), ("%s__" + cf)), StringEntry(ae(P), bj(bV, bX)), StringEntry(ag(bV, bX), P), StringEntry(ai(cf), P), StringEntry(ah(P), cf), IntegerEntry(O(P), bT), StringEntry(C(), bv(cf))]), cf)
415- else throw("Strict value is not equal to itself.")
416- }
417- else throw("Strict value is not equal to itself.")
418- }
368+ else $Tuple2(((bN._2 ++ bP._2) ++ [bX, Burn(aY, 1), StringEntry(U(toString(bO), toString(bQ)), aW(N, toString(j), bY, aZ, ba, bV, bW, bO, bQ, g, bg)), StringEntry(X(bY), bh(bO, bQ)), StringEntry(Z(toString(bO), toString(bQ)), ("%s__" + bY)), StringEntry(ac(N), bh(bO, bQ)), StringEntry(ae(bO, bQ), N), StringEntry(ag(bY), N), StringEntry(af(N), bY), IntegerEntry(M(N), bM), StringEntry(C(), bt(bY))]), "success")
419369 else throw("Strict value is not equal to itself.")
420370 }
421371 }
424374
425375
426376
427-@Callable(aI)
428-func managePool (P,cj) = {
429- let bF = aH(aI)
430- if ((bF == bF))
377+@Callable(aG)
378+func managePool (N,ca) = {
379+ let bA = aF(aG)
380+ if ((bA == bA))
431381 then {
432- let ca = bm(P)
433- let aZ = ca[r]
434- let cf = ca[s]
435- let bb = ca[t]
436- let bc = ca[u]
437- let cc = parseIntValue(ca[v])
438- let cd = parseIntValue(ca[w])
439- let bV = parseIntValue(ca[x])
440- let bX = parseIntValue(ca[y])
441- let ck = parseIntValue(ca[z])
442- let bi = ca[A]
443-[StringEntry(W(toString(bV), toString(bX)), aY(P, toString(cj), cf, bb, bc, cc, cd, bV, bX, ck, bi))]
382+ let bT = bk(N)
383+ let aX = bT[r]
384+ let bY = bT[s]
385+ let aZ = bT[t]
386+ let ba = bT[u]
387+ let bV = parseIntValue(bT[v])
388+ let bW = parseIntValue(bT[w])
389+ let bO = parseIntValue(bT[x])
390+ let bQ = parseIntValue(bT[y])
391+ let cb = parseIntValue(bT[z])
392+ let bg = bT[A]
393+[StringEntry(U(toString(bO), toString(bQ)), aW(N, toString(ca), bY, aZ, ba, bV, bW, bO, bQ, cb, bg))]
444394 }
445395 else throw("Strict value is not equal to itself.")
446396 }
447397
448398
449399
450-@Callable(aI)
451-func emit (cl) = {
452- let cm = aI.caller
453- let cn = aI.originCaller
454- let co = valueOrErrorMessage(getString(ah(toString(cm))), "Invalid LP address called me.")
455- let cp = fromBase58String(co)
456- let bJ = split(valueOrElse(getString(G()), i), h)
457- let bI = addressFromStringValue(valueOrErrorMessage(getString(F()), "Legacy factory contract does not exists."))
458- if ((0 >= cl))
400+@Callable(aG)
401+func emit (cc) = {
402+ let cd = aG.caller
403+ let ce = aG.originCaller
404+ let cf = valueOrErrorMessage(getString(af(toString(cd))), "Invalid LP address called me.")
405+ let cg = fromBase58String(cf)
406+ let bE = split(valueOrElse(getString(G()), i), h)
407+ let bD = addressFromStringValue(valueOrErrorMessage(getString(F()), "Legacy factory contract does not exists."))
408+ if ((0 >= cc))
459409 then nil
460- else if (containsElement(bJ, toString(cm)))
461- then $Tuple2(nil, bI)
462- else $Tuple2([Reissue(cp, cl, true), ScriptTransfer(aI.caller, cl, cp)], "success")
410+ else if (containsElement(bE, toString(cd)))
411+ then $Tuple2(nil, bD)
412+ else $Tuple2([Reissue(cg, cc, true), ScriptTransfer(aG.caller, cc, cg)], "success")
463413 }
464414
465415
466416
467-@Callable(aI)
468-func burn (cq) = {
469- let cm = aI.caller
470- let cn = aI.originCaller
471- let cr = value(aI.payments[0])
472- let cs = value(cr.amount)
473- let ct = toBase58String(value(cr.assetId))
474- let cu = valueOrErrorMessage(getString(ah(toString(cm))), "Invalid LP address called me.")
475- if ((ct != cu))
417+@Callable(aG)
418+func burn (ch) = {
419+ let cd = aG.caller
420+ let ce = aG.originCaller
421+ let ci = value(aG.payments[0])
422+ let cj = value(ci.amount)
423+ let ck = toBase58String(value(ci.assetId))
424+ let cl = valueOrErrorMessage(getString(af(toString(cd))), "Invalid LP address called me.")
425+ if ((ck != cl))
476426 then throw("Invalid asset passed.")
477- else if ((cq != cs))
427+ else if ((ch != cj))
478428 then throw("Invalid amount passed.")
479429 else {
480- let cp = fromBase58String(cu)
481- $Tuple2([Burn(cp, cq)], "success")
430+ let cg = fromBase58String(cl)
431+ $Tuple2([Burn(cg, ch)], "success")
482432 }
483433 }
484434
485435
486436
487-@Callable(aI)
488-func modifyWeights (cv,cw,cx,cy) = {
489- let bF = aH(aI)
490- if ((bF == bF))
437+@Callable(aG)
438+func modifyWeights (cm,cn,co,cp) = {
439+ let bA = aF(aG)
440+ if ((bA == bA))
491441 then {
492- let cz = ((5 * e) / 100)
493- let cA = ((5 * e) / 100)
494- let cB = ((5 * e) / 100)
495- let az = split(aj(B()), h)
496- let cC = aB(az)
497- let cD = aC(az)
498- let cE = O(cv)
499- let cF = O(cw)
500- let cG = O(cx)
501- let cH = O(cy)
502- let cI = am(cE)
503- let cJ = am(cF)
504- let cK = (cI - cB)
505- let cL = (cJ - cB)
506- if ((0 >= cK))
507- then throw(("invalid btcWeightNew: " + toString(cK)))
508- else if ((0 >= cL))
509- then throw(("invalid ethWeightNew: " + toString(cL)))
442+ let cq = ((5 * e) / 100)
443+ let cr = ((5 * e) / 100)
444+ let cs = ((5 * e) / 100)
445+ let ax = split(ah(B()), h)
446+ let ct = az(ax)
447+ let cu = aA(ax)
448+ let cv = M(cm)
449+ let cw = M(cn)
450+ let cx = M(co)
451+ let cy = M(cp)
452+ let cz = ak(cv)
453+ let cA = ak(cw)
454+ let cB = (cz - cs)
455+ let cC = (cA - cs)
456+ if ((0 >= cB))
457+ then throw(("invalid btcWeightNew: " + toString(cB)))
458+ else if ((0 >= cC))
459+ then throw(("invalid ethWeightNew: " + toString(cC)))
510460 else {
511- let cM = aj(ah(cv))
512- let cN = aj(ah(cw))
513- let cO = aj(ah(cx))
514- let cP = aj(ah(cy))
515- let cQ = invoke(cC, "onModifyWeight", [cM, cv], nil)
516- if ((cQ == cQ))
461+ let cD = ah(af(cm))
462+ let cE = ah(af(cn))
463+ let cF = ah(af(co))
464+ let cG = ah(af(cp))
465+ let cH = invoke(ct, "onModifyWeight", [cD, cm], nil)
466+ if ((cH == cH))
517467 then {
518- let cR = invoke(cC, "onModifyWeight", [cN, cw], nil)
519- if ((cR == cR))
468+ let cI = invoke(ct, "onModifyWeight", [cE, cn], nil)
469+ if ((cI == cI))
520470 then {
521- let cS = invoke(cC, "onModifyWeight", [cO, cx], nil)
522- if ((cS == cS))
471+ let cJ = invoke(ct, "onModifyWeight", [cF, co], nil)
472+ if ((cJ == cJ))
523473 then {
524- let cT = invoke(cC, "onModifyWeight", [cP, cy], nil)
525- if ((cT == cT))
526- then [IntegerEntry(cE, cK), IntegerEntry(cF, cL), IntegerEntry(cG, cz), IntegerEntry(cH, cA), IntegerEntry(Q(cv, 0), cI), IntegerEntry(Q(cw, 0), cJ), IntegerEntry(Q(cx, 0), cz), IntegerEntry(Q(cy, 0), cA)]
474+ let cK = invoke(ct, "onModifyWeight", [cG, cp], nil)
475+ if ((cK == cK))
476+ then [IntegerEntry(cv, cB), IntegerEntry(cw, cC), IntegerEntry(cx, cq), IntegerEntry(cy, cr), IntegerEntry(O(cm, 0), cz), IntegerEntry(O(cn, 0), cA), IntegerEntry(O(co, 0), cq), IntegerEntry(O(cp, 0), cr)]
527477 else throw("Strict value is not equal to itself.")
528478 }
529479 else throw("Strict value is not equal to itself.")
537487 }
538488
539489
540-@Verifier(cU)
541-func cV () = {
542- let cW = {
543- let aE = aD()
544- if ($isInstanceOf(aE, "ByteVector"))
490+@Verifier(cL)
491+func cM () = {
492+ let cN = {
493+ let aC = aB()
494+ if ($isInstanceOf(aC, "ByteVector"))
545495 then {
546- let aK = aE
547- aK
496+ let aI = aC
497+ aI
548498 }
549- else if ($isInstanceOf(aE, "Unit"))
550- then cU.senderPublicKey
499+ else if ($isInstanceOf(aC, "Unit"))
500+ then cL.senderPublicKey
551501 else throw("Match error")
552502 }
553- sigVerify(cU.bodyBytes, cU.proofs[0], cW)
503+ sigVerify(cL.bodyBytes, cL.proofs[0], cN)
554504 }
555505
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 18
99
1010 let d = toBigInt(1000000000000000000)
1111
1212 let e = b
1313
1414 let f = "GWXvirtualPOOL"
1515
1616 let g = ((100 * 1000) * 1000)
1717
1818 let h = "__"
1919
2020 let i = ""
2121
2222 let j = 1
2323
2424 let k = 2
2525
2626 let l = 3
2727
2828 let m = 4
2929
3030 let n = 1
3131
3232 let o = 2
3333
3434 let p = 3
3535
3636 let q = 1
3737
3838 let r = 2
3939
4040 let s = 3
4141
4242 let t = 4
4343
4444 let u = 5
4545
4646 let v = 6
4747
4848 let w = 7
4949
5050 let x = 8
5151
5252 let y = 9
5353
5454 let z = 10
5555
5656 let A = 11
5757
5858 func B () = "%s__factoryConfig"
5959
6060
6161 func C () = "%s__lpTokensList"
6262
6363
6464 func D () = "%s%s__pool__scriptHash"
6565
6666
6767 func E () = "%s%s__matcher__publicKey"
6868
6969
7070 func F () = "%s__legacyFactoryContract"
7171
7272
7373 func G () = "%s__legacyPools"
7474
7575
7676 func H () = "%s__managerPublicKey"
7777
7878
7979 func I () = "%s__pendingManagerPublicKey"
8080
8181
82-func J () = "%s__adminPubKeys"
82+func J () = "%s__priceDecimals"
8383
8484
85-func K () = "%s__assetsStoreContract"
85+func K () = "%s__shutdown"
8686
8787
88-func L () = "%s__priceDecimals"
88+func L () = "%s__nextInternalAssetId"
8989
9090
91-func M () = "%s__shutdown"
91+func M (N) = ("%s%s__poolWeight__" + N)
9292
9393
94-func N () = "%s__nextInternalAssetId"
94+func O (N,P) = ((("%s%s__poolWeight__" + N) + "__") + toString(P))
9595
9696
97-func O (P) = ("%s%s__poolWeight__" + P)
97+func Q (R) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(R))
9898
9999
100-func Q (P,R) = ((("%s%s__poolWeight__" + P) + "__") + toString(R))
100+func S (T) = ("%s%s%s__mappings__baseAsset2internalId__" + T)
101101
102102
103-func S (T) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(T))
103+func U (V,W) = (((("%d%d%s__" + V) + "__") + W) + "__config")
104104
105105
106-func U (V) = ("%s%s%s__mappings__baseAsset2internalId__" + V)
106+func X (Y) = (("%s%s%s__" + Y) + "__mappings__lpAsset2Pool")
107107
108108
109-func W (X,Y) = (((("%d%d%s__" + X) + "__") + Y) + "__config")
109+func Z (aa,ab) = (((("%d%d%s%s__" + aa) + "__") + ab) + "__mappings__PoolAssets2LpAsset")
110110
111111
112-func Z (aa) = (("%s%s%s__" + aa) + "__mappings__lpAsset2Pool")
112+func ac (ad) = (("%s%s%s__" + ad) + "__mappings__poolContract2PoolAssets")
113113
114114
115-func ab (ac,ad) = (((("%d%d%s%s__" + ac) + "__") + ad) + "__mappings__PoolAssets2LpAsset")
115+func ae (aa,ab) = (((("%d%d%s%s__" + toString(aa)) + "__") + toString(ab)) + "__mappings__poolAssets2PoolContract")
116116
117117
118-func ae (af) = (("%s%s%s__" + af) + "__mappings__poolContract2PoolAssets")
118+func af (ad) = (("%s%s%s__" + ad) + "__mappings__poolContract2LpAsset")
119119
120120
121-func ag (ac,ad) = (((("%d%d%s%s__" + toString(ac)) + "__") + toString(ad)) + "__mappings__poolAssets2PoolContract")
121+func ag (Y) = (("%s%s%s__" + Y) + "__mappings__lpAsset2PoolContract")
122122
123123
124-func ah (af) = (("%s%s%s__" + af) + "__mappings__poolContract2LpAsset")
124+func ah (ai) = valueOrErrorMessage(getString(this, ai), ("No data for this.key=" + ai))
125125
126126
127-func ai (aa) = (("%s%s%s__" + aa) + "__mappings__lpAsset2PoolContract")
127+func aj (ai) = valueOrErrorMessage(getBoolean(this, ai), ("No data for this.key=" + ai))
128128
129129
130-func aj (ak) = valueOrErrorMessage(getString(this, ak), ("No data for this.key=" + ak))
130+func ak (ai) = valueOrErrorMessage(getInteger(this, ai), ("No data for this.key=" + ai))
131131
132132
133-func al (ak) = valueOrErrorMessage(getBoolean(this, ak), ("No data for this.key=" + ak))
133+let al = 1
134+
135+let am = 2
136+
137+let an = 3
138+
139+let ao = 4
140+
141+let ap = 5
142+
143+let aq = 6
144+
145+let ar = 7
146+
147+let as = 8
148+
149+let at = 9
150+
151+let au = 10
152+
153+let av = 11
154+
155+func aw (ax) = addressFromStringValue(ax[am])
134156
135157
136-func am (ak) = valueOrErrorMessage(getInteger(this, ak), ("No data for this.key=" + ak))
158+func ay (ax) = addressFromStringValue(ax[ap])
137159
138160
139-let an = 1
140-
141-let ao = 2
142-
143-let ap = 3
144-
145-let aq = 4
146-
147-let ar = 5
148-
149-let as = 6
150-
151-let at = 7
152-
153-let au = 8
154-
155-let av = 9
156-
157-let aw = 10
158-
159-let ax = 11
160-
161-func ay (az) = addressFromStringValue(az[ao])
161+func az (ax) = addressFromStringValue(ax[al])
162162
163163
164-func aA (az) = addressFromStringValue(az[ar])
164+func aA (ax) = addressFromStringValue(ax[au])
165165
166166
167-func aB (az) = addressFromStringValue(az[an])
168-
169-
170-func aC (az) = addressFromStringValue(az[aw])
171-
172-
173-func aD () = {
174- let aE = getString(H())
175- if ($isInstanceOf(aE, "String"))
167+func aB () = {
168+ let aC = getString(H())
169+ if ($isInstanceOf(aC, "String"))
176170 then {
177- let aF = aE
178- fromBase58String(aF)
171+ let aD = aC
172+ fromBase58String(aD)
179173 }
180- else if ($isInstanceOf(aE, "Unit"))
174+ else if ($isInstanceOf(aC, "Unit"))
181175 then unit
182176 else throw("Match error")
183177 }
184178
185179
186-func aG () = {
187- let aE = getString(I())
188- if ($isInstanceOf(aE, "String"))
180+func aE () = {
181+ let aC = getString(I())
182+ if ($isInstanceOf(aC, "String"))
189183 then {
190- let aF = aE
191- fromBase58String(aF)
184+ let aD = aC
185+ fromBase58String(aD)
192186 }
193- else if ($isInstanceOf(aE, "Unit"))
187+ else if ($isInstanceOf(aC, "Unit"))
194188 then unit
195189 else throw("Match error")
196190 }
197191
198192
199-func aH (aI) = {
200- let aJ = throw("Permission denied")
201- let aE = aD()
202- if ($isInstanceOf(aE, "ByteVector"))
193+func aF (aG) = {
194+ let aH = throw("Permission denied")
195+ let aC = aB()
196+ if ($isInstanceOf(aC, "ByteVector"))
203197 then {
204- let aK = aE
205- if ((aI.callerPublicKey == aK))
198+ let aI = aC
199+ if ((aG.callerPublicKey == aI))
206200 then true
207- else aJ
201+ else aH
208202 }
209- else if ($isInstanceOf(aE, "Unit"))
210- then if ((aI.caller == this))
203+ else if ($isInstanceOf(aC, "Unit"))
204+ then if ((aG.caller == this))
211205 then true
212- else aJ
206+ else aH
213207 else throw("Match error")
214208 }
215209
216210
217-func aL (aM,aN,aO,aP,aQ,aR,aS,aT,aU,aV,aW) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", aM, aN, aO, aP, aQ, aR, aS, aT, aU, aV, aW], h)
211+func aJ (aK,aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", aK, aL, aM, aN, aO, aP, aQ, aR, aS, aT, aU], h)
218212
219213
220-func aX (aM,aN,aO,aP,aQ,aR,aS) = makeString(["%s%s%s%s%s%s", aM, aN, aO, aP, aQ, aR, aS], h)
214+func aV (aK,aL,aM,aN,aO,aP,aQ) = makeString(["%s%s%s%s%s%s", aK, aL, aM, aN, aO, aP, aQ], h)
221215
222216
223-func aY (P,aZ,ba,bb,bc,bd,be,bf,bg,bh,bi) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", P, aZ, ba, bb, bc, toString(bd), toString(be), toString(bf), toString(bg), toString(bh), bi], h)
217+func aW (N,aX,aY,aZ,ba,bb,bc,bd,be,bf,bg) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", N, aX, aY, aZ, ba, toString(bb), toString(bc), toString(bd), toString(be), toString(bf), bg], h)
224218
225219
226-func bj (bk,bl) = makeString(["%d%d", toString(bk), toString(bl)], h)
220+func bh (bi,bj) = makeString(["%d%d", toString(bi), toString(bj)], h)
227221
228222
229-func bm (P) = {
230- let bn = split(aj(ae(P)), h)
231- let X = bn[1]
232- let Y = bn[2]
233- split(aj(W(X, Y)), h)
223+func bk (N) = {
224+ let bl = split(ah(ac(N)), h)
225+ let V = bl[1]
226+ let W = bl[2]
227+ split(ah(U(V, W)), h)
234228 }
235229
236230
237-func bo (bp,bq) = {
238- let br = valueOrElse(getInteger(this, U(bp)), 0)
239- let bs = valueOrElse(getInteger(this, N()), 0)
240- let bt = if ((br == 0))
231+func bm (bn,bo) = {
232+ let bp = valueOrElse(getInteger(this, S(bn)), 0)
233+ let bq = valueOrElse(getInteger(this, L()), 0)
234+ let br = if ((bp == 0))
241235 then {
242- let bu = (bs + bq)
243- $Tuple3(bu, [IntegerEntry(N(), bu), IntegerEntry(U(bp), bu), StringEntry(S(bu), bp)], true)
236+ let bs = (bq + bo)
237+ $Tuple3(bs, [IntegerEntry(L(), bs), IntegerEntry(S(bn), bs), StringEntry(Q(bs), bn)], true)
244238 }
245- else $Tuple3(br, nil, false)
246- bt
239+ else $Tuple3(bp, nil, false)
240+ br
247241 }
248242
249243
250-func bv (bw) = {
251- let bx = getString(this, C())
252- if (isDefined(bx))
253- then ((value(bx) + h) + bw)
254- else bw
244+func bt (bu) = {
245+ let bv = getString(this, C())
246+ if (isDefined(bv))
247+ then ((value(bv) + h) + bu)
248+ else bu
255249 }
256250
257251
258-func by (aI) = {
259- let bz = split(valueOrElse(getString(J()), i), h)
260- if (containsElement(bz, toBase58String(aI.callerPublicKey)))
261- then true
262- else {
263- let bA = aH(aI)
264- if ((bA == bA))
265- then true
266- else throw("Strict value is not equal to itself.")
267- }
268- }
269-
270-
271-@Callable(aI)
272-func constructor (bB,bC,aO,aP,aQ,aR,bD,bE) = {
273- let bF = aH(aI)
274- if ((bF == bF))
275- then [StringEntry(B(), aX(bB, bC, aO, aP, aQ, aR, bD)), IntegerEntry(L(), bE)]
252+@Callable(aG)
253+func constructor (bw,bx,aM,aN,aO,aP,by,bz) = {
254+ let bA = aF(aG)
255+ if ((bA == bA))
256+ then [StringEntry(B(), aV(bw, bx, aM, aN, aO, aP, by)), IntegerEntry(J(), bz)]
276257 else throw("Strict value is not equal to itself.")
277258 }
278259
279260
280261
281-@Callable(aI)
282-func constructorV2 (bG) = {
283- let bF = aH(aI)
284- if ((bF == bF))
262+@Callable(aG)
263+func constructorV2 (bB) = {
264+ let bA = aF(aG)
265+ if ((bA == bA))
285266 then {
286- let bH = addressFromPublicKey(fromBase58String(bG))
287- if ((bH == bH))
288- then [StringEntry(E(), bG)]
267+ let bC = addressFromPublicKey(fromBase58String(bB))
268+ if ((bC == bC))
269+ then [StringEntry(E(), bB)]
289270 else throw("Strict value is not equal to itself.")
290271 }
291272 else throw("Strict value is not equal to itself.")
292273 }
293274
294275
295276
296-@Callable(aI)
297-func constructorV3 (aT,aU,aV,aW) = {
298- let bF = aH(aI)
299- if ((bF == bF))
277+@Callable(aG)
278+func constructorV3 (aR,aS,aT,aU) = {
279+ let bA = aF(aG)
280+ if ((bA == bA))
300281 then {
301- let az = split(aj(B()), h)
302-[StringEntry(B(), aL(az[1], az[2], az[3], az[4], az[5], az[6], az[7], aT, aU, aV, aW))]
282+ let ax = split(ah(B()), h)
283+[StringEntry(B(), aJ(ax[1], ax[2], ax[3], ax[4], ax[5], ax[6], ax[7], aR, aS, aT, aU))]
303284 }
304285 else throw("Strict value is not equal to itself.")
305286 }
306287
307288
308289
309-@Callable(aI)
310-func constructorV4 (bI,bJ) = {
311- let bF = aH(aI)
312- if ((bF == bF))
313- then [StringEntry(F(), bI), StringEntry(G(), makeString(bJ, h))]
290+@Callable(aG)
291+func constructorV4 (bD,bE) = {
292+ let bA = aF(aG)
293+ if ((bA == bA))
294+ then [StringEntry(F(), bD), StringEntry(G(), makeString(bE, h))]
314295 else throw("Strict value is not equal to itself.")
315296 }
316297
317298
318299
319-@Callable(aI)
320-func constructorV5 (bK) = {
321- let bF = aH(aI)
322- if ((bF == bF))
323- then [StringEntry(K(), bK)]
324- else throw("Strict value is not equal to itself.")
325- }
326-
327-
328-
329-@Callable(aI)
330-func setManager (bL) = {
331- let bF = aH(aI)
332- if ((bF == bF))
300+@Callable(aG)
301+func setManager (bF) = {
302+ let bA = aF(aG)
303+ if ((bA == bA))
333304 then {
334- let bM = fromBase58String(bL)
335- if ((bM == bM))
336- then [StringEntry(I(), bL)]
305+ let bG = fromBase58String(bF)
306+ if ((bG == bG))
307+ then [StringEntry(I(), bF)]
337308 else throw("Strict value is not equal to itself.")
338309 }
339310 else throw("Strict value is not equal to itself.")
340311 }
341312
342313
343314
344-@Callable(aI)
315+@Callable(aG)
345316 func confirmManager () = {
346- let bN = aG()
347- let bO = if (isDefined(bN))
317+ let bH = aE()
318+ let bI = if (isDefined(bH))
348319 then true
349320 else throw("No pending manager")
350- if ((bO == bO))
321+ if ((bI == bI))
351322 then {
352- let bP = if ((aI.callerPublicKey == value(bN)))
323+ let bJ = if ((aG.callerPublicKey == value(bH)))
353324 then true
354325 else throw("You are not pending manager")
355- if ((bP == bP))
356- then [StringEntry(H(), toBase58String(value(bN))), DeleteEntry(I())]
326+ if ((bJ == bJ))
327+ then [StringEntry(H(), toBase58String(value(bH))), DeleteEntry(I())]
357328 else throw("Strict value is not equal to itself.")
358329 }
359330 else throw("Strict value is not equal to itself.")
360331 }
361332
362333
363334
364-@Callable(aI)
365-func setAdmins (bQ) = {
366- let bF = aH(aI)
367- if ((bF == bF))
368- then [StringEntry(J(), makeString(bQ, h))]
369- else throw("Strict value is not equal to itself.")
370- }
371-
372-
373-
374-@Callable(aI)
375-func activateNewPool (P,bb,bc,bR,bS,bT,bi) = {
376- let bF = by(aI)
377- if ((bF == bF))
378- then if (isDefined(getString(ae(P))))
379- then throw((("Pool address " + P) + " already registered."))
335+@Callable(aG)
336+func activateNewPool (N,aZ,ba,bK,bL,bM,bg) = {
337+ let bA = aF(aG)
338+ if ((bA == bA))
339+ then if (isDefined(getString(ac(N))))
340+ then throw((("Pool address " + N) + " already registered."))
380341 else {
381- let bU = bo(bb, 1)
382- let bV = bU._1
383- let bW = bo(bc, if (bU._3)
342+ let bN = bm(aZ, 1)
343+ let bO = bN._1
344+ let bP = bm(ba, if (bN._3)
384345 then 2
385346 else 1)
386- let bX = bW._1
387- let bY = valueOrErrorMessage(scriptHash(addressFromStringValue(P)), ("No script has been found on pool account " + P))
388- let bZ = getBinaryValue(D())
389- let ca = getString(this, W(toString(bV), toString(bX)))
390- if (isDefined(ca))
391- then throw((((("Pool " + bb) + "/") + bc) + " has already been activated."))
347+ let bQ = bP._1
348+ let bR = valueOrErrorMessage(scriptHash(addressFromStringValue(N)), ("No script has been found on pool account " + N))
349+ let bS = getBinaryValue(D())
350+ let bT = getString(this, U(toString(bO), toString(bQ)))
351+ if (isDefined(bT))
352+ then throw((((("Pool " + aZ) + "/") + ba) + " has already been activated."))
392353 else {
393- let cb = value(getString(this, W(toString(bV), toString(bX))))
394- let cc = if ((bb == "WAVES"))
354+ let bU = value(getString(this, U(toString(bO), toString(bQ))))
355+ let bV = if ((aZ == "WAVES"))
395356 then g
396- else pow(10, 0, value(assetInfo(fromBase58String(bb))).decimals, 0, 0, DOWN)
397- let cd = if ((bc == "WAVES"))
357+ else pow(10, 0, value(assetInfo(fromBase58String(aZ))).decimals, 0, 0, DOWN)
358+ let bW = if ((ba == "WAVES"))
398359 then g
399- else pow(10, 0, value(assetInfo(fromBase58String(bc))).decimals, 0, 0, DOWN)
400- let ce = Issue(bR, bS, 1, 8, true)
401- let ba = calculateAssetId(ce)
402- let cf = toBase58String(ba)
403- let cg = invoke(addressFromStringValue(P), "activate", [bb, bc], nil)
404- if ((cg == cg))
405- then if ((cg != "success"))
360+ else pow(10, 0, value(assetInfo(fromBase58String(ba))).decimals, 0, 0, DOWN)
361+ let bX = Issue(bK, bL, 1, 8, true)
362+ let aY = calculateAssetId(bX)
363+ let bY = toBase58String(aY)
364+ let bZ = invoke(addressFromStringValue(N), "activate", [aZ, ba], nil)
365+ if ((bZ == bZ))
366+ then if ((bZ != "success"))
406367 then throw("Pool initialisation error happened.")
407- else {
408- let bK = addressFromStringValue(aj(K()))
409- let ch = invoke(bK, "addAssetsLink", [bb, bc, cf], nil)
410- if ((ch == ch))
411- then {
412- let ci = invoke(bK, "increaseAssetPoolsNumber", [bb], nil)
413- if ((ci == ci))
414- then $Tuple2(((bU._2 ++ bW._2) ++ [ce, Burn(ba, 1), StringEntry(W(toString(bV), toString(bX)), aY(P, toString(j), cf, bb, bc, cc, cd, bV, bX, g, bi)), StringEntry(Z(cf), bj(bV, bX)), StringEntry(ab(toString(bV), toString(bX)), ("%s__" + cf)), StringEntry(ae(P), bj(bV, bX)), StringEntry(ag(bV, bX), P), StringEntry(ai(cf), P), StringEntry(ah(P), cf), IntegerEntry(O(P), bT), StringEntry(C(), bv(cf))]), cf)
415- else throw("Strict value is not equal to itself.")
416- }
417- else throw("Strict value is not equal to itself.")
418- }
368+ else $Tuple2(((bN._2 ++ bP._2) ++ [bX, Burn(aY, 1), StringEntry(U(toString(bO), toString(bQ)), aW(N, toString(j), bY, aZ, ba, bV, bW, bO, bQ, g, bg)), StringEntry(X(bY), bh(bO, bQ)), StringEntry(Z(toString(bO), toString(bQ)), ("%s__" + bY)), StringEntry(ac(N), bh(bO, bQ)), StringEntry(ae(bO, bQ), N), StringEntry(ag(bY), N), StringEntry(af(N), bY), IntegerEntry(M(N), bM), StringEntry(C(), bt(bY))]), "success")
419369 else throw("Strict value is not equal to itself.")
420370 }
421371 }
422372 else throw("Strict value is not equal to itself.")
423373 }
424374
425375
426376
427-@Callable(aI)
428-func managePool (P,cj) = {
429- let bF = aH(aI)
430- if ((bF == bF))
377+@Callable(aG)
378+func managePool (N,ca) = {
379+ let bA = aF(aG)
380+ if ((bA == bA))
431381 then {
432- let ca = bm(P)
433- let aZ = ca[r]
434- let cf = ca[s]
435- let bb = ca[t]
436- let bc = ca[u]
437- let cc = parseIntValue(ca[v])
438- let cd = parseIntValue(ca[w])
439- let bV = parseIntValue(ca[x])
440- let bX = parseIntValue(ca[y])
441- let ck = parseIntValue(ca[z])
442- let bi = ca[A]
443-[StringEntry(W(toString(bV), toString(bX)), aY(P, toString(cj), cf, bb, bc, cc, cd, bV, bX, ck, bi))]
382+ let bT = bk(N)
383+ let aX = bT[r]
384+ let bY = bT[s]
385+ let aZ = bT[t]
386+ let ba = bT[u]
387+ let bV = parseIntValue(bT[v])
388+ let bW = parseIntValue(bT[w])
389+ let bO = parseIntValue(bT[x])
390+ let bQ = parseIntValue(bT[y])
391+ let cb = parseIntValue(bT[z])
392+ let bg = bT[A]
393+[StringEntry(U(toString(bO), toString(bQ)), aW(N, toString(ca), bY, aZ, ba, bV, bW, bO, bQ, cb, bg))]
444394 }
445395 else throw("Strict value is not equal to itself.")
446396 }
447397
448398
449399
450-@Callable(aI)
451-func emit (cl) = {
452- let cm = aI.caller
453- let cn = aI.originCaller
454- let co = valueOrErrorMessage(getString(ah(toString(cm))), "Invalid LP address called me.")
455- let cp = fromBase58String(co)
456- let bJ = split(valueOrElse(getString(G()), i), h)
457- let bI = addressFromStringValue(valueOrErrorMessage(getString(F()), "Legacy factory contract does not exists."))
458- if ((0 >= cl))
400+@Callable(aG)
401+func emit (cc) = {
402+ let cd = aG.caller
403+ let ce = aG.originCaller
404+ let cf = valueOrErrorMessage(getString(af(toString(cd))), "Invalid LP address called me.")
405+ let cg = fromBase58String(cf)
406+ let bE = split(valueOrElse(getString(G()), i), h)
407+ let bD = addressFromStringValue(valueOrErrorMessage(getString(F()), "Legacy factory contract does not exists."))
408+ if ((0 >= cc))
459409 then nil
460- else if (containsElement(bJ, toString(cm)))
461- then $Tuple2(nil, bI)
462- else $Tuple2([Reissue(cp, cl, true), ScriptTransfer(aI.caller, cl, cp)], "success")
410+ else if (containsElement(bE, toString(cd)))
411+ then $Tuple2(nil, bD)
412+ else $Tuple2([Reissue(cg, cc, true), ScriptTransfer(aG.caller, cc, cg)], "success")
463413 }
464414
465415
466416
467-@Callable(aI)
468-func burn (cq) = {
469- let cm = aI.caller
470- let cn = aI.originCaller
471- let cr = value(aI.payments[0])
472- let cs = value(cr.amount)
473- let ct = toBase58String(value(cr.assetId))
474- let cu = valueOrErrorMessage(getString(ah(toString(cm))), "Invalid LP address called me.")
475- if ((ct != cu))
417+@Callable(aG)
418+func burn (ch) = {
419+ let cd = aG.caller
420+ let ce = aG.originCaller
421+ let ci = value(aG.payments[0])
422+ let cj = value(ci.amount)
423+ let ck = toBase58String(value(ci.assetId))
424+ let cl = valueOrErrorMessage(getString(af(toString(cd))), "Invalid LP address called me.")
425+ if ((ck != cl))
476426 then throw("Invalid asset passed.")
477- else if ((cq != cs))
427+ else if ((ch != cj))
478428 then throw("Invalid amount passed.")
479429 else {
480- let cp = fromBase58String(cu)
481- $Tuple2([Burn(cp, cq)], "success")
430+ let cg = fromBase58String(cl)
431+ $Tuple2([Burn(cg, ch)], "success")
482432 }
483433 }
484434
485435
486436
487-@Callable(aI)
488-func modifyWeights (cv,cw,cx,cy) = {
489- let bF = aH(aI)
490- if ((bF == bF))
437+@Callable(aG)
438+func modifyWeights (cm,cn,co,cp) = {
439+ let bA = aF(aG)
440+ if ((bA == bA))
491441 then {
492- let cz = ((5 * e) / 100)
493- let cA = ((5 * e) / 100)
494- let cB = ((5 * e) / 100)
495- let az = split(aj(B()), h)
496- let cC = aB(az)
497- let cD = aC(az)
498- let cE = O(cv)
499- let cF = O(cw)
500- let cG = O(cx)
501- let cH = O(cy)
502- let cI = am(cE)
503- let cJ = am(cF)
504- let cK = (cI - cB)
505- let cL = (cJ - cB)
506- if ((0 >= cK))
507- then throw(("invalid btcWeightNew: " + toString(cK)))
508- else if ((0 >= cL))
509- then throw(("invalid ethWeightNew: " + toString(cL)))
442+ let cq = ((5 * e) / 100)
443+ let cr = ((5 * e) / 100)
444+ let cs = ((5 * e) / 100)
445+ let ax = split(ah(B()), h)
446+ let ct = az(ax)
447+ let cu = aA(ax)
448+ let cv = M(cm)
449+ let cw = M(cn)
450+ let cx = M(co)
451+ let cy = M(cp)
452+ let cz = ak(cv)
453+ let cA = ak(cw)
454+ let cB = (cz - cs)
455+ let cC = (cA - cs)
456+ if ((0 >= cB))
457+ then throw(("invalid btcWeightNew: " + toString(cB)))
458+ else if ((0 >= cC))
459+ then throw(("invalid ethWeightNew: " + toString(cC)))
510460 else {
511- let cM = aj(ah(cv))
512- let cN = aj(ah(cw))
513- let cO = aj(ah(cx))
514- let cP = aj(ah(cy))
515- let cQ = invoke(cC, "onModifyWeight", [cM, cv], nil)
516- if ((cQ == cQ))
461+ let cD = ah(af(cm))
462+ let cE = ah(af(cn))
463+ let cF = ah(af(co))
464+ let cG = ah(af(cp))
465+ let cH = invoke(ct, "onModifyWeight", [cD, cm], nil)
466+ if ((cH == cH))
517467 then {
518- let cR = invoke(cC, "onModifyWeight", [cN, cw], nil)
519- if ((cR == cR))
468+ let cI = invoke(ct, "onModifyWeight", [cE, cn], nil)
469+ if ((cI == cI))
520470 then {
521- let cS = invoke(cC, "onModifyWeight", [cO, cx], nil)
522- if ((cS == cS))
471+ let cJ = invoke(ct, "onModifyWeight", [cF, co], nil)
472+ if ((cJ == cJ))
523473 then {
524- let cT = invoke(cC, "onModifyWeight", [cP, cy], nil)
525- if ((cT == cT))
526- then [IntegerEntry(cE, cK), IntegerEntry(cF, cL), IntegerEntry(cG, cz), IntegerEntry(cH, cA), IntegerEntry(Q(cv, 0), cI), IntegerEntry(Q(cw, 0), cJ), IntegerEntry(Q(cx, 0), cz), IntegerEntry(Q(cy, 0), cA)]
474+ let cK = invoke(ct, "onModifyWeight", [cG, cp], nil)
475+ if ((cK == cK))
476+ then [IntegerEntry(cv, cB), IntegerEntry(cw, cC), IntegerEntry(cx, cq), IntegerEntry(cy, cr), IntegerEntry(O(cm, 0), cz), IntegerEntry(O(cn, 0), cA), IntegerEntry(O(co, 0), cq), IntegerEntry(O(cp, 0), cr)]
527477 else throw("Strict value is not equal to itself.")
528478 }
529479 else throw("Strict value is not equal to itself.")
530480 }
531481 else throw("Strict value is not equal to itself.")
532482 }
533483 else throw("Strict value is not equal to itself.")
534484 }
535485 }
536486 else throw("Strict value is not equal to itself.")
537487 }
538488
539489
540-@Verifier(cU)
541-func cV () = {
542- let cW = {
543- let aE = aD()
544- if ($isInstanceOf(aE, "ByteVector"))
490+@Verifier(cL)
491+func cM () = {
492+ let cN = {
493+ let aC = aB()
494+ if ($isInstanceOf(aC, "ByteVector"))
545495 then {
546- let aK = aE
547- aK
496+ let aI = aC
497+ aI
548498 }
549- else if ($isInstanceOf(aE, "Unit"))
550- then cU.senderPublicKey
499+ else if ($isInstanceOf(aC, "Unit"))
500+ then cL.senderPublicKey
551501 else throw("Match error")
552502 }
553- sigVerify(cU.bodyBytes, cU.proofs[0], cW)
503+ sigVerify(cL.bodyBytes, cL.proofs[0], cN)
554504 }
555505

github/deemru/w8io/169f3d6 
188.51 ms