tx · CBsJMtfca1ASq6C6nftddgzYuZ24BxZbrT6o3Z7jUqpH

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.02600000 Waves

2023.07.27 12:32 [2684077] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "CBsJMtfca1ASq6C6nftddgzYuZ24BxZbrT6o3Z7jUqpH", "fee": 2600000, "feeAssetId": null, "timestamp": 1690450362465, "version": 2, "chainId": 84, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "2gbqPsGJqY9GwaTCtDUf66mbwd7UNtEH18tkhHb5TWAnzz8Y3VvpFtibgLTLMBN4GxXyWjtyzUppJArZ9TDYQbCx" ], "script": "base64:BgKiKwgCEgASBAoCCAgSBAoCCAgSAwoBCBIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIECgIIGBIDCgEYEgoKCAgICAgIAQgIEgQKAggBEgMKAQESAwoBARIECgIIARIGCgQICAgIEgQKAggIEgQKAggIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIECgIICBIDCgEIEgMKAQgSAwoBCBIECgIICBIDCgEIEgMKAQgSAwoBCCIGU0NBTEU4IgVNVUxUOCIGTVVMVDEyIgdTQ0FMRTE4IgZNVUxUMTgiDlBPT0xXRUlHSFRNVUxUIg5HV1h2aXJ0dWFsUE9PTCIMbGFiZWxQb29sc0xwIg1kZWZhdWx0U3ByZWFkIgt3YXZlc1N0cmluZyIRZGVjaW1hbHNNdWx0UHJpY2UiA1NFUCIFRU1QVFkiClBvb2xBY3RpdmUiD1Bvb2xQdXREaXNhYmxlZCITUG9vbE1hdGNoZXJEaXNhYmxlZCIMUG9vbFNodXRkb3duIhJpZHhJbnRlcm5hbEFzc2V0SWQiD2lkeFJlc3V0QWN0aW9ucyIgaWR4SWZBc3NldElkQ2FsY3VsYXRpb25QZXJmb3JtZWQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSILaWR4UG9vbFR5cGUiE3Bvb2xMYWJlbFd4RW1pc3Npb24iD3ZhbGlkUG9vbExhYmVscyIWa2V5QWxsb3dlZExwU2NyaXB0SGFzaCIca2V5QWxsb3dlZExwU3RhYmxlU2NyaXB0SGFzaCIMc3dhcENvbnRyYWN0IhBrZXlGYWN0b3J5Q29uZmlnIg9rZXlMcFRva2Vuc0xpc3QiEWtleVBvb2xTY3JpcHRIYXNoIg1rZXlNYXRjaGVyUHViIhhrZXlMZWdhY3lGYWN0b3J5Q29udHJhY3QiDmtleUxlZ2FjeVBvb2xzIhNrZXlNYW5hZ2VyUHVibGljS2V5IhZrZXlNYW5hZ2VyVmF1bHRBZGRyZXNzIg9rZXlBZG1pblB1YktleXMiFmtleUFzc2V0c1N0b3JlQ29udHJhY3QiGWtleVZvdGluZ0VtaXNzaW9uQ29udHJhY3QiDmtleVByaWNlQXNzZXRzIhBrZXlQcmljZURlY2ltYWxzIhNrZXlBbGxQb29sc1NodXRkb3duIhZrZXlOZXh0SW50ZXJuYWxBc3NldElkIg9rZXlQb29sVG9XZWlnaHQiC3Bvb2xBZGRyZXNzIhZrZXlQb29sVG9XZWlnaHRIaXN0b3J5IgNudW0iH2tleU1hcHBpbmdzSW50ZXJuYWwyYmFzZUFzc2V0SWQiEWludGVybmFsQmFzZUFzc2V0Ih9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkIgxiYXNlQXNzZXRTdHIiDWtleVBvb2xDb25maWciE2Ftb3VudEFzc2V0SW50ZXJuYWwiEnByaWNlQXNzZXRJbnRlcm5hbCIha2V5UG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIg5hc3NldHNJbnRlcm5hbCILJHQwMzY1ODM3MjAiJWtleUFsbFBvb2xzT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiHWtleU1hcHBpbmdMcEFzc2V0VG9Qb29sQXNzZXRzIgpscEFzc2V0U3RyIh1rZXlNYXBwaW5nUG9vbEFzc2V0c1RvTHBhc3NldCIYaW50ZXJuYWxBbW91bnRBc3NldElkU3RyIhdpbnRlcm5hbFByaWNlQXNzZXRJZFN0ciINa2V5UG9vbFNwcmVhZCIpa2V5TWFwcGluZ1Bvb2xDb250cmFjdEFkZHJlc3NUb1Bvb2xBc3NldHMiE3Bvb2xDb250cmFjdEFkZHJlc3MiKWtleU1hcHBpbmdQb29sQXNzZXRzVG9Qb29sQ29udHJhY3RBZGRyZXNzIh9rZXlNYXBwaW5nUG9vbENvbnRyYWN0VG9MUEFzc2V0IiprZXlNYXBwaW5nUG9vbExQQXNzZXRUb1Bvb2xDb250cmFjdEFkZHJlc3MiDWtleVd4RW1pc3Npb24iDWFtb3VudEFzc2V0SWQiDHByaWNlQXNzZXRJZCIIa2V5SW5GZWUiD2tleUluRmVlRGVmYXVsdCIKa2V5U3dhcEZlZSIJa2V5T3V0RmVlIhBrZXlPdXRGZWVEZWZhdWx0IhZrZXlTa2lwT3JkZXJWYWxpZGF0aW9uIhFrZXlDaGFuZ2VBbXBEZWxheSIRa2V5Q2hhbmdlQW1wRGVsdGEiEmtleUNoYW5nZUFtcFRhcmdldCIVa2V5U1dhdmVzUHJveHlBZGRyZXNzIhBrZXlTV2F2ZXNBc3NldElkIhdrZXlTdGFraW5nUHJvZml0QWRkcmVzcyIOa2V5TGVhc2VkUmF0aW8iB2Fzc2V0SWQiFWtleUxlYXNlZFJhdGlvRGVmYXVsdCIXa2V5TGVhc2VkUmF0aW9Ub2xlcmFuY2UiDWtleU1pbkJhbGFuY2UiFGtleU1pbkJhbGFuY2VEZWZhdWx0Ig9nZXRTdHJpbmdPckZhaWwiA2tleSIQZ2V0Qm9vbGVhbk9yRmFpbCIMZ2V0SW50T3JGYWlsIgxwYXJzZUFzc2V0SWQiBWlucHV0IhxnZXRNYW5hZ2VyVmF1bHRBZGRyZXNzT3JUaGlzIgckbWF0Y2gwIgFzIhhJZHhGYWN0b3J5Q2ZnU3Rha2luZ0RhcHAiGUlkeEZhY3RvcnlDZmdCb29zdGluZ0RhcHAiFElkeEZhY3RvcnlDZmdJZG9EYXBwIhVJZHhGYWN0b3J5Q2ZnVGVhbURhcHAiGUlkeEZhY3RvcnlDZmdFbWlzc2lvbkRhcHAiFUlkeEZhY3RvcnlDZmdSZXN0RGFwcCIZSWR4RmFjdG9yeUNmZ1NsaXBwYWdlRGFwcCIUSWR4RmFjdG9yeUNmZ0Rhb0RhcHAiGklkeEZhY3RvcnlDZmdNYXJrZXRpbmdEYXBwIhpJZHhGYWN0b3J5Q2ZnR3d4UmV3YXJkRGFwcCIWSWR4RmFjdG9yeUNmZ0JpcmRzRGFwcCIYZ2V0Qm9vc3RpbmdBZGRyZXNzT3JGYWlsIgpmYWN0b3J5Q2ZnIhhnZXRFbWlzc2lvbkFkZHJlc3NPckZhaWwiF2dldFN0YWtpbmdBZGRyZXNzT3JGYWlsIhlnZXRHd3hSZXdhcmRBZGRyZXNzT3JGYWlsIg5nZXRQcmljZUFzc2V0cyIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCITbWFuYWdlclZhdWx0QWRkcmVzcyIVcGVybWlzc2lvbkRlbmllZEVycm9yIgl0ZXN0RXJyb3IiCG11c3RUaGlzIgFpIgttdXN0TWFuYWdlciICcGsiEGRhdGFGYWN0b3J5Q2ZnVjMiDnN0YWtpbmdBZGRyZXNzIg9ib29zdGluZ0FkZHJlc3MiC2lkb0NvbnRyYWN0Igx0ZWFtQ29udHJhY3QiEGVtaXNzaW9uQ29udHJhY3QiDHJlc3RDb250cmFjdCIQc2xpcHBhZ2VDb250cmFjdCILZGFvQ29udHJhY3QiEW1hcmtldGluZ0NvbnRyYWN0IhJnd3hSZXdhcmRzQ29udHJhY3QiDWJpcmRzQ29udHJhY3QiDmRhdGFGYWN0b3J5Q2ZnIgtkYXRhUG9vbENmZyIKcG9vbFN0YXR1cyIJbHBBc3NldElkIg5hbW91bnRBc3NldFN0ciINcHJpY2VBc3NldFN0ciITYW1vdW50QXNzZXREZWNpbWFscyIScHJpY2VBc3NldERlY2ltYWxzIhVhbW91bnRBc3NldEludGVybmFsSWQiFHByaWNlQXNzZXRJbnRlcm5hbElkIg9scEFzc2V0RGVjaW1hbHMiCHBvb2xUeXBlIhVkYXRhTWFwcGluZ1Bvb2xBc3NldHMiFmludGVybmFsQW1vdW50QXNzZXRTdHIiFWludGVybmFsUHJpY2VBc3NldFN0ciINZ2V0UG9vbENvbmZpZyIKcG9vbEFzc2V0cyIaZ2V0SW50ZXJuYWxBc3NldElkT3JDcmVhdGUiCmFzc2V0SWRTdHIiC2luY3JlbWVudG9yIg9pbnRlcm5hbEFzc2V0SWQiGGN1cnJlbnRJbmRleE9mSW50ZXJuYWxJZCIGcmVzdWx0IhJuZXdJbnRlcm5hbEFzc2V0SWQiCW11c3RBZG1pbiIIYWRtaW5QS3MiCWlzTWFuYWdlciIWaW50T3JEZWZhdWx0T3JGYWxsYmFjayIKa2V5RGVmYXVsdCINdmFsdWVGYWxsYmFjayIScG9vbEV4aXN0c0ludGVybmFsIgRhbUFzIgRwckFzIgNjZmciCmNmZ1JldmVyc2UiBmV4aXN0cyINJHQwMTQ0MDcxNDcxMSIBciIHJG1hdGNoMSICcmQiCmlzTGVhc2FibGUiC2xlYXNlZFJhdGlvIgptaW5CYWxhbmNlIgFiIgJiZCINJHQwMTQ5NzcxNTIwMSIMcHJveHlBZGRyZXNzIgxwcm94eUFzc2V0SWQiDHByb3h5UmF0ZU11bCIUc3Rha2luZ1Byb2ZpdEFkZHJlc3MiBmFzc2V0MSIGYXNzZXQyIglhc3NldE51bTEiCWFzc2V0TnVtMiICZWUiA3JlcyICbHAiD3N0YWtpbmdDb250cmFjdCIQYm9vc3RpbmdDb250cmFjdCIQc2xwaXBhZ2VDb250cmFjdCINcHJpY2VEZWNpbWFscyILY2hlY2tDYWxsZXIiEG1hdGhjaGVyUHViNThTdHIiCm1hdGhjZXJQdWIiFWxlZ2FjeUZhY3RvcnlDb250cmFjdCILbGVnYWN5UG9vbHMiE2Fzc2V0c1N0b3JlQ29udHJhY3QiFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QiC3ByaWNlQXNzZXRzIgVjaGVrcyIMYWRtaW5QdWJLZXlzIgtscEFzc2V0TmFtZSIMbHBBc3NldERlc2NyIgpwb29sV2VpZ2h0IgRsb2dvIhdpbnRlcm5hbEFtb3VudEFzc2V0RGF0YSIVaW50ZXJuYWxBbW91bnRBc3NldElkIhZpbnRlcm5hbFByaWNlQXNzZXREYXRhIhRpbnRlcm5hbFByaWNlQXNzZXRJZCIVcG9vbEFjY291bnRTY3JpcHRIYXNoIhxldGhhbG9uUG9vbEFjY291bnRTY3JpcHRIYXNoIgpwb29sRXhpc3RzIg9wb29sQ29uZmlnVmFsdWUiFGFtb3VudEFzc2V0c0RlY2ltYWxzIhNwcmljZUFzc2V0c0RlY2ltYWxzIhJscEFzc2V0SXNzdWVBY3Rpb24iDGxwQXNzZXRJZFN0ciIYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0IhhjcmVhdGVPclVwZGF0ZUxwQXNzZXRJbnYiEmFkZFBvb2xzTHBMYWJlbEludiIKc2V0TG9nb0ludiIQYWRkQXNzZXRzTGlua0ludiIbaW5jcmVhc2VBc3NldFBvb2xzTnVtYmVySW52IgluZXdTdGF0dXMiCnBvb2xDb25maWciCmxwQXNzZXREY20iDGFtb3VudFRvRW1pdCIGY2FsbGVyIgxvcmlnaW5DYWxsZXIiEGxwQXNzZXRSZXF1ZXN0ZWQiB2xwQXNzZXQiDGFtb3VudFRvQnVybiIHcGF5bWVudCINcGF5bWVudEFtb3VudCIPaW5BbW91bnRBc3NldElkIhpscEFzc2V0UmVxdWVzdGVkRm9yQnVybmluZyIFc2hhcmUiDXBvb2xXZWlnaHRLZXkiDGd3eFdlaWdodEtleSIJZ3d4V2VpZ2h0Ig1wb29sV2VpZ2h0TmV3IhFvbk1vZGlmeVdlaWdodEludiIVZ3d4VmlydHVhbFBvb2xBY3Rpb25zIhRwb29sV2VpZ2h0SGlzdG9yeUtleSIXcG9vbFdlaWdodEhpc3RvcnlPclVuaXQiGHBvb2xXZWlnaHRIaXN0b3J5QWN0aW9ucyIOYnRjUG9vbEFkZHJlc3MiDmV0aFBvb2xBZGRyZXNzIhFldGhCdGNQb29sQWRkcmVzcyITdXNkY1VzZHRQb29sQWRkcmVzcyIPZXRoQnRjV2VpZ2h0TmV3IhF1c2RjVXNkdFdlaWdodE5ldyIPd2VpZ2h0RGVjcmVtZW50IgtzdGFraW5nRGFwcCINZ3d4UmV3YXJkRGFwcCIMYnRjV2VpZ2h0S0VZIgxldGhXZWlnaHRLRVkiD2V0aEJ0Y1dlaWdodEtFWSIRdXNkY1VzZHRXZWlnaHRLRVkiCWJ0Y1dlaWdodCIJZXRoV2VpZ2h0IgxidGNXZWlnaHROZXciDGV0aFdlaWdodE5ldyIPYnRjTHBBc3NldElkU3RyIg9ldGhMcEFzc2V0SWRTdHIiEmV0aEJ0Y0xwQXNzZXRJZFN0ciIUdXNkY1VzZHRMcEFzc2V0SWRTdHIiEW9uTW9kaWZ5V2VpZ2h0QnRjIhFvbk1vZGlmeVdlaWdodEV0aCIUb25Nb2RpZnlXZWlnaHRFdGhCdGMiFm9uTW9kaWZ5V2VpZ2h0VXNkY1VzZHQiCWhhdmVMYWJlbCIUY2hlY2tQcmljZUFzc2V0c1NpemUiAmNiIgNhY2MiCnByaWNlQXNzZXQiB2FjdGlvbnMiAiRsIgIkcyIFJGFjYzAiBSRmMF8xIgIkYSICJGkiBSRmMF8yIh5wb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiImFsbFBvb2xzT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiA2ZlZSIOcG9vbEFkZHJlc3NTdHIiCWZlZU9wdGlvbiIFcGFydHMiB3Bvb2xGZWUiC3Byb3RvY29sRmVlIhBhbW91bnRBc3NldElkU3RyIg9wcmljZUFzc2V0SWRTdHIiG2Ftb3VudEFzc2V0SW50ZXJuYWxJZE9wdGlvbiIacHJpY2VBc3NldEludGVybmFsSWRPcHRpb24iGXBvb2xDb250cmFjdEFkZHJlc3NPcHRpb24iD2xwQXNzZXRJZE9wdGlvbiIIcG9vbEluZm8iBWRlbGF5IgVkZWx0YSIGdGFyZ2V0IgZ3ZWlnaHQiAnR4IgZ2ZXJpZnkiD3RhcmdldFB1YmxpY0tleXYAAWEACAABYgCAwtcvAAFjAICglKWNHQABZAASAAFlCQC2AgEAgICQu7rWrfANAAFmBQFiAAFnAg5HV1h2aXJ0dWFsUE9PTAABaAIIUE9PTFNfTFAAAWkAgIl6AAFqAgVXQVZFUwABawkAaAIJAGgCAGQA6AcA6AcAAWwCAl9fAAFtAgAAAW4AAQABbwACAAFwAAMAAXEABAABcgABAAFzAAIAAXQAAwABdQABAAF2AAIAAXcAAwABeAAEAAF5AAUAAXoABgABQQAHAAFCAAgAAUMACQABRAAKAAFFAAsAAUYCC1dYX0VNSVNTSU9OAAFHCQDMCAIFAUYFA25pbAEBSAACFyVzX19hbGxvd2VkTHBTY3JpcHRIYXNoAQFJAAIdJXNfX2FsbG93ZWRMcFN0YWJsZVNjcmlwdEhhc2gBAUoAAhAlc19fc3dhcENvbnRyYWN0AQFLAAIRJXNfX2ZhY3RvcnlDb25maWcBAUwAAhAlc19fbHBUb2tlbnNMaXN0AQFNAAIWJXMlc19fcG9vbF9fc2NyaXB0SGFzaAEBTgACGCVzJXNfX21hdGNoZXJfX3B1YmxpY0tleQEBTwACGSVzX19sZWdhY3lGYWN0b3J5Q29udHJhY3QBAVAAAg8lc19fbGVnYWN5UG9vbHMBAVEAAhQlc19fbWFuYWdlclB1YmxpY0tleQEBUgACFyVzX19tYW5hZ2VyVmF1bHRBZGRyZXNzAQFTAAIQJXNfX2FkbWluUHViS2V5cwEBVAACFyVzX19hc3NldHNTdG9yZUNvbnRyYWN0AQFVAAIaJXNfX3ZvdGluZ0VtaXNzaW9uQ29udHJhY3QBAVYACQC5CQIJAMwIAgICJXMJAMwIAgILcHJpY2VBc3NldHMFA25pbAUBbAEBVwACESVzX19wcmljZURlY2ltYWxzAQFYAAIMJXNfX3NodXRkb3duAQFZAAIXJXNfX25leHRJbnRlcm5hbEFzc2V0SWQBAVoBAmFhCQCsAgICEiVzJXNfX3Bvb2xXZWlnaHRfXwUCYWEBAmFiAgJhYQJhYwkArAICCQCsAgIJAKwCAgISJXMlc19fcG9vbFdlaWdodF9fBQJhYQICX18JAKQDAQUCYWMBAmFkAQJhZQkArAICAiglcyVzJWRfX21hcHBpbmdzX19pbnRlcm5hbDJiYXNlQXNzZXRJZF9fCQCkAwEFAmFlAQJhZgECYWcJAKwCAgIoJXMlcyVzX19tYXBwaW5nc19fYmFzZUFzc2V0MmludGVybmFsSWRfXwUCYWcBAmFoAgJhaQJhagkArAICCQCsAgIJAKwCAgkArAICAgglZCVkJXNfXwUCYWkCAl9fBQJhagIIX19jb25maWcBAmFrAQJhbAQCYW0FAmFsBAJhaQgFAmFtAl8xBAJhaggFAmFtAl8yCQC5CQIJAMwIAgIGJWQlZCVzCQDMCAIJAKQDAQUCYWkJAMwIAgkApAMBBQJhagkAzAgCAhpvbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAUDbmlsBQFsAQJhbgAJALkJAgkAzAgCAgIlcwkAzAgCAhpvbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAUDbmlsBQFsAQJhbwECYXAJAKwCAgkArAICAgglcyVzJXNfXwUCYXACGF9fbWFwcGluZ3NfX2xwQXNzZXQyUG9vbAECYXECAmFyAmFzCQCsAgIJAKwCAgkArAICCQCsAgICCiVkJWQlcyVzX18FAmFyAgJfXwUCYXMCHl9fbWFwcGluZ3NfX1Bvb2xBc3NldHMyTHBBc3NldAECYXQBAmFhCQCsAgICDiVzJXNfX3NwcmVhZF9fBQJhYQECYXUBAmF2CQCsAgIJAKwCAgIIJXMlcyVzX18FAmF2AiNfX21hcHBpbmdzX19wb29sQ29udHJhY3QyUG9vbEFzc2V0cwECYXcCAmFyAmFzCQCsAgIJAKwCAgkArAICCQCsAgICCiVkJWQlcyVzX18JAKQDAQUCYXICAl9fCQCkAwEFAmFzAiNfX21hcHBpbmdzX19wb29sQXNzZXRzMlBvb2xDb250cmFjdAECYXgBAmF2CQCsAgIJAKwCAgIIJXMlcyVzX18FAmF2AiBfX21hcHBpbmdzX19wb29sQ29udHJhY3QyTHBBc3NldAECYXkBAmFwCQCsAgIJAKwCAgIIJXMlcyVzX18FAmFwAiBfX21hcHBpbmdzX19scEFzc2V0MlBvb2xDb250cmFjdAECYXoCAmFBAmFCCQCsAgIJAKwCAgkArAICAhQlcyVzJXNfX3d4RW1pc3Npb25fXwUCYUECAl9fBQJhQgECYUMBAmFhCQCsAgICDSVzJXNfX2luRmVlX18FAmFhAQJhRAACECVzX19pbkZlZURlZmF1bHQBAmFFAQJhYQkArAICAg8lcyVzX19zd2FwRmVlX18FAmFhAQJhRgECYWEJAKwCAgIOJXMlc19fb3V0RmVlX18FAmFhAQJhRwACESVzX19vdXRGZWVEZWZhdWx0AQJhSAECYWEJAKwCAgIbJXMlc19fc2tpcE9yZGVyVmFsaWRhdGlvbl9fBQJhYQECYUkBAmFhCQCsAgICFiVzJXNfX2NoYW5nZUFtcERlbGF5X18FAmFhAQJhSgECYWEJAKwCAgIWJXMlc19fY2hhbmdlQW1wRGVsdGFfXwUCYWEBAmFLAQJhYQkArAICAhclcyVzX19jaGFuZ2VBbXBUYXJnZXRfXwUCYWEBAmFMAAIWJXNfX3NXYXZlc1Byb3h5QWRkcmVzcwECYU0AAhElc19fc1dhdmVzQXNzZXRJZAECYU4AAhglc19fc3Rha2luZ1Byb2ZpdEFkZHJlc3MBAmFPAgJhYQJhUAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgtsZWFzZWRSYXRpbwkAzAgCBQJhYQkAzAgCBQJhUAUDbmlsBQFsAQJhUQECYVAJALkJAgkAzAgCAgQlcyVzCQDMCAICEmxlYXNlZFJhdGlvRGVmYXVsdAkAzAgCBQJhUAUDbmlsBQFsAQJhUgICYWECYVAJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIUbGVhc2VkUmF0aW9Ub2xlcmFuY2UJAMwIAgUCYWEJAMwIAgUCYVAFA25pbAUBbAECYVMCAmFhAmFQCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICCm1pbkJhbGFuY2UJAMwIAgUCYWEJAMwIAgUCYVAFA25pbAUBbAECYVQBAmFQCQC5CQIJAMwIAgIEJXMlcwkAzAgCAhFtaW5CYWxhbmNlRGVmYXVsdAkAzAgCBQJhUAUDbmlsBQFsAQJhVQECYVYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQR0aGlzBQJhVgkArAICAhVObyBkYXRhIGZvciB0aGlzLmtleT0FAmFWAQJhVwECYVYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmwgCBQR0aGlzBQJhVgkArAICAhVObyBkYXRhIGZvciB0aGlzLmtleT0FAmFWAQJhWAECYVYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQR0aGlzBQJhVgkArAICAhVObyBkYXRhIGZvciB0aGlzLmtleT0FAmFWAQJhWQECYVoDCQAAAgUCYVoFAWoFBHVuaXQJANkEAQUCYVoBAmJhAAQCYmIJAKIIAQkBAVIAAwkAAQIFAmJiAgZTdHJpbmcEAmJjBQJiYgkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYmMFBHRoaXMAAmJkAAEAAmJlAAIAAmJmAAMAAmJnAAQAAmJoAAUAAmJpAAYAAmJqAAcAAmJrAAgAAmJsAAkAAmJtAAoAAmJuAAsBAmJvAQJicAkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJicAUCYmUBAmJxAQJicAkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJicAUCYmgBAmJyAQJicAkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJicAUCYmQBAmJzAQJicAkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJicAUCYm0BAmJ0AAQCYmIJAKIIAQkBAVYAAwkAAQIFAmJiAgZTdHJpbmcEAmJjBQJiYgMJAAACCQCxAgEFAmJjAAAFA25pbAkAvAkCBQJiYwUBbAUDbmlsAQJidQAEAmJ2CQECYmEABAJiYgkAnQgCBQJidgkBAVEAAwkAAQIFAmJiAgZTdHJpbmcEAmJjBQJiYgkA2QQBBQJiYwMJAAECBQJiYgIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAAJidwkAAgECEVBlcm1pc3Npb24gZGVuaWVkAAJieAkAAgECD1Rlc3QgZXJyb3IgaGVyZQECYnkBAmJ6AwkAAAIIBQJiegZjYWxsZXIFBHRoaXMGBQJidwECYkEBAmJ6BAJiYgkBAmJ1AAMJAAECBQJiYgIKQnl0ZVZlY3RvcgQCYkIFAmJiAwkAAAIIBQJieg9jYWxsZXJQdWJsaWNLZXkFAmJCBgUCYncDCQABAgUCYmICBFVuaXQJAQJieQEFAmJ6CQACAQILTWF0Y2ggZXJyb3IBAmJDCwJiRAJiRQJiRgJiRwJiSAJiSQJiSgJiSwJiTAJiTQJiTgkAuQkCCQDMCAICFiVzJXMlcyVzJXMlcyVzJXMlcyVzJXMJAMwIAgUCYkQJAMwIAgUCYkUJAMwIAgUCYkYJAMwIAgUCYkcJAMwIAgUCYkgJAMwIAgUCYkkJAMwIAgUCYkoJAMwIAgUCYksJAMwIAgUCYkwJAMwIAgUCYk0JAMwIAgUCYk4FA25pbAUBbAECYk8HAmJEAmJFAmJGAmJHAmJIAmJJAmJKCQC5CQIJAMwIAgIMJXMlcyVzJXMlcyVzCQDMCAIFAmJECQDMCAIFAmJFCQDMCAIFAmJGCQDMCAIFAmJHCQDMCAIFAmJICQDMCAIFAmJJCQDMCAIFAmJKBQNuaWwFAWwBAmJQCwJhYQJiUQJiUgJiUwJiVAJiVQJiVgJiVwJiWAJiWQJiWgkAuQkCCQDMCAICFiVzJWQlcyVzJXMlZCVkJWQlZCVkJXMJAMwIAgUCYWEJAMwIAgUCYlEJAMwIAgUCYlIJAMwIAgUCYlMJAMwIAgUCYlQJAMwIAgkApAMBBQJiVQkAzAgCCQCkAwEFAmJWCQDMCAIJAKQDAQUCYlcJAMwIAgkApAMBBQJiWAkAzAgCCQCkAwEFAmJZCQDMCAIFAmJaBQNuaWwFAWwBAmNhAgJjYgJjYwkAuQkCCQDMCAICBCVkJWQJAMwIAgkApAMBBQJjYgkAzAgCCQCkAwEFAmNjBQNuaWwFAWwBAmNkAQJhYQQCY2UJALUJAgkBAmFVAQkBAmF1AQUCYWEFAWwEAmFpCQCRAwIFAmNlAAEEAmFqCQCRAwIFAmNlAAIJALUJAgkBAmFVAQkBAmFoAgUCYWkFAmFqBQFsAQJjZgICY2cCY2gEAmNpCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQJhZgEFAmNnAAAEAmNqCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFZAAAABAJjawMJAAACBQJjaQAABAJjbAkAZAIFAmNqBQJjaAkAlQoDBQJjbAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVkABQJjbAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFmAQUCY2cFAmNsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhZAEFAmNsBQJjZwUDbmlsBgkAlQoDBQJjaQUDbmlsBwUCY2sBAmNtAQJiegQCY24JALUJAgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEBUwAFAW0FAWwDCQEPY29udGFpbnNFbGVtZW50AgUCY24JANgEAQgFAmJ6D2NhbGxlclB1YmxpY0tleQYEAmNvCQECYkEBBQJiegMJAAACBQJjbwUCY28GCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJjcAMCYVYCY3ECY3IJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCYVYJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCY3EFAmNyAQJjcwICYUECYUIEAmFpCQCfCAEJAQJhZgEFAmFBBAJhagkAnwgBCQECYWYBBQJhQgMDCQAAAgUCYWkFBHVuaXQGCQAAAgUCYWoFBHVuaXQHBAJjdAkApAMBCQEFdmFsdWUBBQJhaQQCY3UJAKQDAQkBBXZhbHVlAQUCYWoEAmN2CQCiCAEJAQJhaAIFAmN0BQJjdQQCY3cJAKIIAQkBAmFoAgUCY3UFAmN0BAJjeAMJAQIhPQIFAmN2BQR1bml0BgkBAiE9AgUCY3cFBHVuaXQFAmN4IQJiegEXZ2V0U3dhcENvbnRyYWN0UkVBRE9OTFkACQCUCgIFA25pbAkBAmFVAQkBAUoAAmJ6ARpnZXRQb29sTGVhc2VDb25maWdSRUFET05MWQICYWECYVAEAmN5BAJiYgkAmggCBQR0aGlzCQECYU8CBQJhYQUCYVADCQABAgUCYmICA0ludAQCY3oFAmJiCQCUCgIGCQCXAwEJAMwIAgBkCQDMCAIJAJYDAQkAzAgCAAAJAMwIAgUCY3oFA25pbAUDbmlsBAJjQQkAmggCBQR0aGlzCQECYVEBBQJhUAMJAAECBQJjQQIDSW50BAJjQgUCY0EJAJQKAgYJAJcDAQkAzAgCAGQJAMwIAgkAlgMBCQDMCAIAAAkAzAgCBQJjQgUDbmlsBQNuaWwJAJQKAgcAAAQCY0MIBQJjeQJfMQQCY0QIBQJjeQJfMgQCY0UEAmJiCQCaCAIFBHRoaXMJAQJhUwIFAmFhBQJhUAMJAAECBQJiYgIDSW50BAJjRgUCYmIJAJYDAQkAzAgCAAAJAMwIAgUCY0YFA25pbAQCY0EJAJoIAgUEdGhpcwkBAmFUAQUCYVADCQABAgUCY0ECA0ludAQCY0cFAmNBCQCWAwEJAMwIAgAACQDMCAIFAmNHBQNuaWwAAAQCY0gDCQAAAgUCYVACBVdBVkVTCQCVCgMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAmFMAAIACQCdCAIFBHRoaXMJAQt2YWx1ZU9yRWxzZQIJAQJhTQACAAUBYwkAlQoDAgACAAAABAJjSQgFAmNIAl8xBAJjSggFAmNIAl8yBAJjSwgFAmNIAl8zBAJjTAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQECYU4AAgAJAJQKAgUDbmlsCQCZCgcFAmNDBQJjRAUCY0UFAmNJBQJjSgUCY0sFAmNMAmJ6ASBnZXRMcEFzc2V0RnJvbVBvb2xBc3NldHNSRUFET05MWQICY00CY04DAwkAAAIFAmNNAiw4TFFXOGY3UDVkNVBaTTdHdFpFQmdhcVJQR1N6UzNEZlB1aVhyVVJKNEFKUwkAAAIFAmNOAgVXQVZFUwcJAJQKAgUDbmlsBQR1bml0BAJjTwkBBXZhbHVlAQkAmggCBQR0aGlzCQECYWYBBQJjTQQCY1AJAQV2YWx1ZQEJAJoIAgUEdGhpcwkBAmFmAQUCY04EAmNRCQCdCAIFBHRoaXMJAQJhcQIJAKQDAQUCY08JAKQDAQUCY1AEAmNSAwkAAAIFAmNRBQR1bml0BQR1bml0CQCwAgIJAQV2YWx1ZQEFAmNRAAQJAJQKAgUDbmlsBQJjUgJiegEhZ2V0UG9vbEFkZHJlc3NGcm9tTHBBc3NldFJFQURPTkxZAQJjUwkAlAoCBQNuaWwJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAmF5AQUCY1MCAAJiegELY29uc3RydWN0b3IIAmNUAmNVAmJGAmJHAmJIAmJJAmNWAmNXBAJjWAkBAmJBAQUCYnoDCQAAAgUCY1gFAmNYCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFLAAkBAmJPBwUCY1QFAmNVBQJiRgUCYkcFAmJIBQJiSQUCY1YJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFXAAUCY1cFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiegENY29uc3RydWN0b3JWMgECY1kEAmNYCQECYkEBBQJiegMJAAACBQJjWAUCY1gEAmNaCQCnCAEJANkEAQUCY1kDCQAAAgUCY1oFAmNaCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFOAAUCY1kFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiegENY29uc3RydWN0b3JWMwQCYksCYkwCYk0CYk4EAmNYCQECYkEBBQJiegMJAAACBQJjWAUCY1gEAmJwCQC1CQIJAQJhVQEJAQFLAAUBbAkAzAgCCQELU3RyaW5nRW50cnkCCQEBSwAJAQJiQwsJAJEDAgUCYnAAAQkAkQMCBQJicAACCQCRAwIFAmJwAAMJAJEDAgUCYnAABAkAkQMCBQJicAAFCQCRAwIFAmJwAAYJAJEDAgUCYnAABwUCYksFAmJMBQJiTQUCYk4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiegENY29uc3RydWN0b3JWNAICZGECZGIEAmNYCQECYkEBBQJiegMJAAACBQJjWAUCY1gJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAU8ABQJkYQkAzAgCCQELU3RyaW5nRW50cnkCCQEBUAAJALkJAgUCZGIFAWwFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiegENY29uc3RydWN0b3JWNQECZGMEAmNYCQECYkEBBQJiegMJAAACBQJjWAUCY1gJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVQABQJkYwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJ6AQ1jb25zdHJ1Y3RvclY2AgJkZAJkZQQCZGYJAMwIAgkBAmJBAQUCYnoJAMwIAgMJAQIhPQIJAKYIAQUCZGQFBHVuaXQGAihpbnZhbGlkIHZvdGluZyBlbWlzc2lvbiBjb250cmFjdCBhZGRyZXNzBQNuaWwDCQAAAgUCZGYFAmRmCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFVAAUCZGQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVYACQC5CQIFAmRlBQFsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnoBCXNldEFkbWlucwECZGcEAmNYCQECYkEBBQJiegMJAAACBQJjWAUCY1gJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVMACQC5CQIFAmRnBQFsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnoBD2FjdGl2YXRlTmV3UG9vbAgCYWECYlMCYlQCZGgCZGkCZGoCYloCZGsEAmNYCQECY20BBQJiegMJAAACBQJjWAUCY1gDCQEJaXNEZWZpbmVkAQkAoggBCQECYXUBBQJhYQkAAgEJAKwCAgkArAICAg1Qb29sIGFkZHJlc3MgBQJhYQIUIGFscmVhZHkgcmVnaXN0ZXJlZC4EAmRsCQECY2YCBQJiUwABBAJkbQgFAmRsAl8xBAJkbgkBAmNmAgUCYlQDCAUCZGwCXzMAAgABBAJkbwgFAmRuAl8xBAJkcAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDxBwEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmFhCQCsAgICKU5vIHNjcmlwdCBoYXMgYmVlbiBmb3VuZCBvbiBwb29sIGFjY291bnQgBQJhYQQCZHEJARFAZXh0ck5hdGl2ZSgxMDU3KQEJAQFNAAQCZHIJAQJjcwIFAmJTBQJiVAMFAmRyCQACAQkArAICCQCsAgIJAKwCAgkArAICAgVQb29sIAUCYlMCAS8FAmJUAhwgaGFzIGFscmVhZHkgYmVlbiBhY3RpdmF0ZWQuBAJkcwkBBXZhbHVlAQkAnQgCBQR0aGlzCQECYWgCCQCkAwEFAmRtCQCkAwEFAmRvBAJkdAMJAAACBQJiUwIFV0FWRVMFAWsJAGwGAAoAAAgJAQV2YWx1ZQEJAOwHAQkA2QQBBQJiUwhkZWNpbWFscwAAAAAFBERPV04EAmR1AwkAAAIFAmJUAgVXQVZFUwUBawkAbAYACgAACAkBBXZhbHVlAQkA7AcBCQDZBAEFAmJUCGRlY2ltYWxzAAAAAAUERE9XTgQCZHYJAMIIBQUCZGgFAmRpAAEACAYEAmJSCQC4CAEFAmR2BAJkdwkA2AQBBQJiUgQCZHgJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYWECCGFjdGl2YXRlCQDMCAIFAmJTCQDMCAIFAmJUBQNuaWwFA25pbAMJAAACBQJkeAUCZHgDCQECIT0CBQJkeAIHc3VjY2VzcwkAAgECI1Bvb2wgaW5pdGlhbGlzYXRpb24gZXJyb3IgaGFwcGVuZWQuBAJkYwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAmFVAQkBAVQABAJkeQkA/AcEBQJkYwIOY3JlYXRlT3JVcGRhdGUJAMwIAgUCZHcJAMwIAgUCZGgJAMwIAgcFA25pbAUDbmlsAwkAAAIFAmR5BQJkeQQCZHoJAPwHBAUCZGMCCGFkZExhYmVsCQDMCAIFAmR3CQDMCAIFAWgFA25pbAUDbmlsAwkAAAIFAmR6BQJkegQCZEEJAPwHBAUCZGMCB3NldExvZ28JAMwIAgUCZHcJAMwIAgUCZGsFA25pbAUDbmlsAwkAAAIFAmRBBQJkQQQCZEIJAPwHBAUCZGMCDWFkZEFzc2V0c0xpbmsJAMwIAgUCYlMJAMwIAgUCYlQJAMwIAgUCZHcFA25pbAUDbmlsAwkAAAIFAmRCBQJkQgQCZEMJAPwHBAUCZGMCGGluY3JlYXNlQXNzZXRQb29sc051bWJlcgkAzAgCBQJiUwUDbmlsBQNuaWwDCQAAAgUCZEMFAmRDCQCUCgIJAM4IAgkAzggCCAUCZGwCXzIIBQJkbgJfMgkAzAgCBQJkdgkAzAgCCQEEQnVybgIFAmJSAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFoAgkApAMBBQJkbQkApAMBBQJkbwkBAmJQCwUCYWEJAKQDAQUBbgUCZHcFAmJTBQJiVAUCZHQFAmR1BQJkbQUCZG8FAWsFAmJaCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhbwEFAmR3CQECY2ECBQJkbQUCZG8JAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFxAgkApAMBBQJkbQkApAMBBQJkbwkArAICAgQlc19fBQJkdwkAzAgCCQELU3RyaW5nRW50cnkCCQECYXUBBQJhYQkBAmNhAgUCZG0FAmRvCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdwIFAmRtBQJkbwUCYWEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF5AQUCZHcFAmFhCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJheAEFAmFhBQJkdwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVoBBQJhYQUCZGoJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhdAEFAmFhBQFpBQNuaWwFAmR3CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJ6AQptYW5hZ2VQb29sAgJhYQJkRAQCY1gJAQJiQQEFAmJ6AwkAAAIFAmNYBQJjWAQCZEUJAQJjZAEFAmFhBAJiUQkAkQMCBQJkRQUBdgQCZHcJAJEDAgUCZEUFAXcEAmJTCQCRAwIFAmRFBQF4BAJiVAkAkQMCBQJkRQUBeQQCZHQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkRQUBegQCZHUJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkRQUBQQQCZG0JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkRQUBQgQCZG8JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkRQUBQwQCZEYJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkRQUBRAQCYloJAJEDAgUCZEUFAUUJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFoAgkApAMBBQJkbQkApAMBBQJkbwkBAmJQCwUCYWEJAKQDAQUCZEQFAmR3BQJiUwUCYlQFAmR0BQJkdQUCZG0FAmRvBQJkRgUCYloFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiegEEZW1pdAECZEcEAmRICAUCYnoGY2FsbGVyBAJkSQgFAmJ6DG9yaWdpbkNhbGxlcgQCZEoJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQECYXgBCQClCAEFAmRIAh1JbnZhbGlkIExQIGFkZHJlc3MgY2FsbGVkIG1lLgQCZEsJANkEAQUCZEoEAmRiCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAKIIAQkBAVAABQFtBQFsBAJkYQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJAQFPAAIoTGVnYWN5IGZhY3RvcnkgY29udHJhY3QgZG9lcyBub3QgZXhpc3RzLgMJAGcCAAAFAmRHBQNuaWwDCQEPY29udGFpbnNFbGVtZW50AgUCZGIJAKUIAQUCZEgJAJQKAgUDbmlsBQJkYQkAlAoCCQDMCAIJAQdSZWlzc3VlAwUCZEsFAmRHBgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUCYnoGY2FsbGVyBQJkRwUCZEsFA25pbAIHc3VjY2VzcwJiegEEYnVybgECZEwEAmRICAUCYnoGY2FsbGVyBAJkSQgFAmJ6DG9yaWdpbkNhbGxlcgQCZE0JAQV2YWx1ZQEJAJEDAggFAmJ6CHBheW1lbnRzAAAEAmROCQEFdmFsdWUBCAUCZE0GYW1vdW50BAJkTwkA2AQBCQEFdmFsdWUBCAUCZE0HYXNzZXRJZAQCZFAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQECYXgBCQClCAEFAmRIAh1JbnZhbGlkIExQIGFkZHJlc3MgY2FsbGVkIG1lLgMJAQIhPQIFAmRPBQJkUAkAAgECFUludmFsaWQgYXNzZXQgcGFzc2VkLgMJAQIhPQIFAmRMBQJkTgkAAgECFkludmFsaWQgYW1vdW50IHBhc3NlZC4EAmRLCQDZBAEFAmRQCQCUCgIJAMwIAgkBBEJ1cm4CBQJkSwUCZEwFA25pbAIHc3VjY2VzcwJiegEMbW9kaWZ5V2VpZ2h0AgJiUgJkUQQCY1gDCQAAAgkA2AQBCAgFAmJ6BmNhbGxlcgVieXRlcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEBVQACAAYJAQJiQQEFAmJ6AwkAAAIFAmNYBQJjWAQCYXYJAQJhVQEJAQJheQEFAmJSBAJkUgkBAVoBBQJhdgQCZFMJAQFaAQUBZwQCZFQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUCZFMAAAQCZGoJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUCZFIAAAQCZFUFAmRRBAJicAkAtQkCCQECYVUBCQEBSwAFAWwEAmNUCQECYnIBBQJicAQCZFYJAPwHBAUCY1QCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmJSCQDMCAIFAmF2BQNuaWwFA25pbAMJAAACBQJkVgUCZFYEAmRXAwkAAAIFAmRUAAAFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZFMAAAUDbmlsBAJkWAkBAmFiAgUCYXYAAAQCZFkJAJ8IAQUCZFgEAmRaAwkAAAIFAmRZBQR1bml0BQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQUCZFgFA25pbAkAzggCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIFAmRSBQJkVQUDbmlsBQJkVwUCZFoJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnoBDW1vZGlmeVdlaWdodHMEAmVhAmViAmVjAmVkBAJjWAkBAmJBAQUCYnoDCQAAAgUCY1gFAmNYBAJlZQkAaQIJAGgCAAUFAWYAZAQCZWYJAGkCCQBoAgAFBQFmAGQEAmVnCQBpAgkAaAIABQUBZgBkBAJicAkAtQkCCQECYVUBCQEBSwAFAWwEAmVoCQECYnIBBQJicAQCZWkJAQJicwEFAmJwBAJlagkBAVoBBQJlYQQCZWsJAQFaAQUCZWIEAmVsCQEBWgEFAmVjBAJlbQkBAVoBBQJlZAQCZW4JAQJhWAEFAmVqBAJlbwkBAmFYAQUCZWsEAmVwCQBlAgUCZW4FAmVnBAJlcQkAZQIFAmVvBQJlZwMJAGcCAAAFAmVwCQACAQkArAICAhZpbnZhbGlkIGJ0Y1dlaWdodE5ldzogCQCkAwEFAmVwAwkAZwIAAAUCZXEJAAIBCQCsAgICFmludmFsaWQgZXRoV2VpZ2h0TmV3OiAJAKQDAQUCZXEEAmVyCQECYVUBCQECYXgBBQJlYQQCZXMJAQJhVQEJAQJheAEFAmViBAJldAkBAmFVAQkBAmF4AQUCZWMEAmV1CQECYVUBCQECYXgBBQJlZAQCZXYJAPwHBAUCZWgCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmVyCQDMCAIFAmVhBQNuaWwFA25pbAMJAAACBQJldgUCZXYEAmV3CQD8BwQFAmVoAg5vbk1vZGlmeVdlaWdodAkAzAgCBQJlcwkAzAgCBQJlYgUDbmlsBQNuaWwDCQAAAgUCZXcFAmV3BAJleAkA/AcEBQJlaAIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZXQJAMwIAgUCZWMFA25pbAUDbmlsAwkAAAIFAmV4BQJleAQCZXkJAPwHBAUCZWgCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmV1CQDMCAIFAmVkBQNuaWwFA25pbAMJAAACBQJleQUCZXkJAMwIAgkBDEludGVnZXJFbnRyeQIFAmVqBQJlcAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZWsFAmVxCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJlbAUCZWUJAMwIAgkBDEludGVnZXJFbnRyeQIFAmVtBQJlZgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFiAgUCZWEAAAUCZW4JAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhYgIFAmViAAAFAmVvCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWICBQJlYwAABQJlZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFiAgUCZWQAAAUCZWYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiegEYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsAgJhQQJhQgQCZXoEAmJiCQCgCAEJAQJhegIFAmFBBQJhQgMJAAECBQJiYgIHQm9vbGVhbgQCY0YFAmJiBQJjRgcJAJQKAgUDbmlsBQJlegJiegEWc2V0V3hFbWlzc2lvblBvb2xMYWJlbAICYUECYUIEAmNYCQECY20BBQJiegMJAAACBQJjWAUCY1gJAJQKAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBAmF6AgUCYUEFAmFCBgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJ6ARlkZWxldGVXeEVtaXNzaW9uUG9vbExhYmVsAgJhQQJhQgQCY1gDCQAAAggFAmJ6BmNhbGxlcgUEdGhpcwYJAQJjbQEFAmJ6AwkAAAIFAmNYBQJjWAkAlAoCCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhegIFAmFBBQJhQgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJ6ARJvblZlcmlmaWNhdGlvbkxvc3MBAmFQBAJjWAMJAAACCQDYBAEICAUCYnoGY2FsbGVyBWJ5dGVzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQFUAAIABgkBAmJBAQUCYnoDCQAAAgUCY1gFAmNYBAJkZQkBAmJ0AAQCZUEDCQBmAgkAkAMBBQJkZQAABgkAAgECFGludmFsaWQgcHJpY2UgYXNzZXRzAwkAAAIFAmVBBQJlQQoBAmVCAgJlQwJlRAQCY3oJAPwHBAUEdGhpcwIZZGVsZXRlV3hFbWlzc2lvblBvb2xMYWJlbAkAzAgCBQJhUAkAzAgCBQJlRAUDbmlsBQNuaWwDCQAAAgUCY3oFAmN6BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAJlRQoAAmVGBQJkZQoAAmVHCQCQAwEFAmVGCgACZUgFBHVuaXQKAQJlSQICZUoCZUsDCQBnAgUCZUsFAmVHBQJlSgkBAmVCAgUCZUoJAJEDAgUCZUYFAmVLCgECZUwCAmVKAmVLAwkAZwIFAmVLBQJlRwUCZUoJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMwkBAmVMAgkBAmVJAgkBAmVJAgkBAmVJAgkBAmVJAgkBAmVJAgkBAmVJAgkBAmVJAgkBAmVJAgkBAmVJAgkBAmVJAgkBAmVJAgkBAmVJAgkBAmVJAgUCZUgAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAwkAAAIFAmVFBQJlRQkAlAoCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnoBKGlzUG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkUkVBRE9OTFkBAmFhBAJkRQkBAmNkAQUCYWEEAmFsCQCUCgIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkRQUBQgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRFBQFDBAJlTQkBC3ZhbHVlT3JFbHNlAgkAoAgBCQECYWsBBQJhbAcEAmVOCQELdmFsdWVPckVsc2UCCQCgCAEJAQJhbgAHCQCUCgIFA25pbAMFAmVOBgUCZU0CYnoBEGdldEluRmVlUkVBRE9OTFkBAmFhBAJlTwkBAmNwAwkBAmFDAQUCYWEJAQJhRAAAAAkAlAoCBQNuaWwFAmVPAmJ6ARFnZXRPdXRGZWVSRUFET05MWQECYWEEAmVPCQECY3ADCQECYUYBBQJhYQkBAmFHAAkAawMACgUBYgCQTgkAlAoCBQNuaWwFAmVPAmJ6ARJnZXRTd2FwRmVlUkVBRE9OTFkBAmVQBAJlUQQCYmIJAJ0IAgUEdGhpcwkBAmFFAQUCZVADCQABAgUCYmICBlN0cmluZwQCYmMFAmJiBAJlUgkAtQkCBQJiYwUBbAQCZVMJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJlUgABBAJlVAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmVSAAIJAJQKAgUCZVMFAmVUAwkAAQIFAmJiAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IJAJQKAgUDbmlsBQJlUQJiegEQcG9vbEluZm9SRUFET05MWQICZVUCZVYEAmVXCQCaCAIFBHRoaXMJAQJhZgEFAmVVBAJlWAkAmggCBQR0aGlzCQECYWYBBQJlVgQCZVkJAJ0IAgUEdGhpcwkBAmF3AgkBBXZhbHVlAQUCZVcJAQV2YWx1ZQEFAmVYBAJlWgkAnQgCBQR0aGlzCQECYXgBCQEFdmFsdWUBBQJlWQQCZHIDAwkBCWlzRGVmaW5lZAEFAmVXCQEJaXNEZWZpbmVkAQUCZVgHCQEJaXNEZWZpbmVkAQUCZVkHBAJmYQMFAmRyCQCUCgIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEFAmVZCQECYVkBCQEFdmFsdWUBBQJlWgUEdW5pdAkAlAoCBQNuaWwFAmZhAmJ6ARVnZXRQb29sU3RhdHVzUkVBRE9OTFkBAmFhBAJjZQkAtQkCCQECYVUBCQECYXUBBQJhYQUBbAQCYWkJAJEDAgUCY2UAAQQCYWoJAJEDAgUCY2UAAgQCY3YJALUJAgkBAmFVAQkBAmFoAgUCYWkFAmFqBQFsCQCUCgIFA25pbAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmN2BQF2AmJ6ARVnZXRQb29sQ29uZmlnUkVBRE9OTFkBAmFhBAJjZQkAtQkCCQECYVUBCQECYXUBBQJhYQUBbAQCYWkJAJEDAgUCY2UAAQQCYWoJAJEDAgUCY2UAAgQCY3YJALUJAgkBAmFVAQkBAmFoAgUCYWkFAmFqBQFsCQCUCgIFA25pbAUCY3YCYnoBIGdldFBvb2xDb25maWdCeUxwQXNzZXRJZFJFQURPTkxZAQJkdwQCY2UJALUJAgkBAmFVAQkBAmFvAQUCZHcFAWwEAmFpCQCRAwIFAmNlAAEEAmFqCQCRAwIFAmNlAAIEAmN2CQC1CQIJAQJhVQEJAQJhaAIFAmFpBQJhagUBbAkAlAoCBQNuaWwFAmN2AmJ6ARJwb29sRXhpc3RzUkVBRE9OTFkCAmFBAmFCCQCUCgIFA25pbAkBAmNzAgUCYUEFAmFCAmJ6ARtza2lwT3JkZXJWYWxpZGF0aW9uUkVBRE9OTFkBAmFhCQCUCgIFA25pbAkBC3ZhbHVlT3JFbHNlAgkAoAgBCQECYUgBBQJhYQcCYnoBGmdldENoYW5nZUFtcENvbmZpZ1JFQURPTkxZAQJhYQQCZmIJARFAZXh0ck5hdGl2ZSgxMDU1KQEJAQJhSQEFAmFhBAJmYwkBEUBleHRyTmF0aXZlKDEwNTUpAQkBAmFKAQUCYWEEAmZkCQERQGV4dHJOYXRpdmUoMTA1NSkBCQECYUsBBQJhYQkAlAoCBQNuaWwJAMwIAgUCZmIJAMwIAgUCZmMJAMwIAgUCZmQFA25pbAJiegEVZ2V0UG9vbFdlaWdodFJFQURPTkxZAQJiUgQCYWEJAQJhVQEJAQJheQEFAmJSBAJmZQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEBWgEFAmFhAAAJAJQKAgUDbmlsBQJmZQECZmYBAmZnAAQCZmgEAmJiCQECYnUAAwkAAQIFAmJiAgpCeXRlVmVjdG9yBAJiQgUCYmIFAmJCAwkAAQIFAmJiAgRVbml0CAUCZmYPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmZmCWJvZHlCeXRlcwkAkQMCCAUCZmYGcHJvb2ZzAAAFAmZoDoVkTQ==", "height": 2684077, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Fw6T22x2kMq44ar2UAF6WnJTV2zdZJp61J3dAScAidbG Next: 5t4tRB83cdfbUHn6pyHJJYCdmjTAZMaGxGXjxNYaGvWM Diff:
OldNewDifferences
2121
2222 let j = "WAVES"
2323
24-let k = "factory_v2.ride"
24+let k = ((100 * 1000) * 1000)
2525
26-let l = ((100 * 1000) * 1000)
26+let l = "__"
2727
28-let m = "__"
28+let m = ""
2929
30-let n = ""
30+let n = 1
3131
32-let o = 1
32+let o = 2
3333
34-let p = 2
34+let p = 3
3535
36-let q = 3
36+let q = 4
3737
38-let r = 4
38+let r = 1
3939
40-let s = 1
40+let s = 2
4141
42-let t = 2
42+let t = 3
4343
44-let u = 3
44+let u = 1
4545
46-let v = 1
46+let v = 2
4747
48-let w = 2
48+let w = 3
4949
50-let x = 3
50+let x = 4
5151
52-let y = 4
52+let y = 5
5353
54-let z = 5
54+let z = 6
5555
56-let A = 6
56+let A = 7
5757
58-let B = 7
58+let B = 8
5959
60-let C = 8
60+let C = 9
6161
62-let D = 9
62+let D = 10
6363
64-let E = 10
64+let E = 11
6565
66-let F = 11
66+let F = "WX_EMISSION"
6767
68-let G = "WX_EMISSION"
68+let G = [F]
6969
70-let H = [G]
71-
72-func I (J) = makeString([k, ": ", J], "")
70+func H () = "%s__allowedLpScriptHash"
7371
7472
75-func K (J) = throw(I(J))
73+func I () = "%s__allowedLpStableScriptHash"
7674
7775
78-func L () = "%s__allowedLpScriptHash"
76+func J () = "%s__swapContract"
7977
8078
81-func M () = "%s__allowedLpStableScriptHash"
79+func K () = "%s__factoryConfig"
8280
8381
84-func N () = "%s__swapContract"
82+func L () = "%s__lpTokensList"
8583
8684
87-func O () = "%s__factoryConfig"
85+func M () = "%s%s__pool__scriptHash"
8886
8987
90-func P () = "%s__lpTokensList"
88+func N () = "%s%s__matcher__publicKey"
9189
9290
93-func Q () = "%s%s__pool__scriptHash"
91+func O () = "%s__legacyFactoryContract"
9492
9593
96-func R () = "%s%s__matcher__publicKey"
94+func P () = "%s__legacyPools"
9795
9896
99-func S () = "%s__legacyFactoryContract"
97+func Q () = "%s__managerPublicKey"
10098
10199
102-func T () = "%s__legacyPools"
100+func R () = "%s__managerVaultAddress"
103101
104102
105-func U () = "%s__managerPublicKey"
103+func S () = "%s__adminPubKeys"
106104
107105
108-func V () = "%s__managerVaultAddress"
106+func T () = "%s__assetsStoreContract"
109107
110108
111-func W () = "%s__adminPubKeys"
109+func U () = "%s__votingEmissionContract"
112110
113111
114-func X () = "%s__assetsStoreContract"
112+func V () = makeString(["%s", "priceAssets"], l)
115113
116114
117-func Y () = "%s__votingEmissionContract"
115+func W () = "%s__priceDecimals"
118116
119117
120-func Z () = "%s__userPoolsContract"
118+func X () = "%s__shutdown"
121119
122120
123-func aa () = makeString(["%s", "priceAssets"], m)
121+func Y () = "%s__nextInternalAssetId"
124122
125123
126-func ab () = "%s__priceDecimals"
124+func Z (aa) = ("%s%s__poolWeight__" + aa)
127125
128126
129-func ac () = "%s__shutdown"
127+func ab (aa,ac) = ((("%s%s__poolWeight__" + aa) + "__") + toString(ac))
130128
131129
132-func ad () = "%s__nextInternalAssetId"
130+func ad (ae) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ae))
133131
134132
135-func ae (af) = ("%s%s__poolWeight__" + af)
133+func af (ag) = ("%s%s%s__mappings__baseAsset2internalId__" + ag)
136134
137135
138-func ag (af,ah) = ((("%s%s__poolWeight__" + af) + "__") + toString(ah))
136+func ah (ai,aj) = (((("%d%d%s__" + ai) + "__") + aj) + "__config")
139137
140138
141-func ai (aj) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(aj))
142-
143-
144-func ak (al) = ("%s%s%s__mappings__baseAsset2internalId__" + al)
145-
146-
147-func am (an,ao) = (((("%d%d%s__" + an) + "__") + ao) + "__config")
148-
149-
150-func ap (aq) = {
151- let ar = aq
152- let an = ar._1
153- let ao = ar._2
154- makeString(["%d%d%s", toString(an), toString(ao), "oneTokenOperationsDisabled"], m)
139+func ak (al) = {
140+ let am = al
141+ let ai = am._1
142+ let aj = am._2
143+ makeString(["%d%d%s", toString(ai), toString(aj), "oneTokenOperationsDisabled"], l)
155144 }
156145
157146
158-func as () = makeString(["%s", "oneTokenOperationsDisabled"], m)
147+func an () = makeString(["%s", "oneTokenOperationsDisabled"], l)
159148
160149
161-func at (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2Pool")
150+func ao (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2Pool")
162151
163152
164-func av (aw,ax) = (((("%d%d%s%s__" + aw) + "__") + ax) + "__mappings__PoolAssets2LpAsset")
153+func aq (ar,as) = (((("%d%d%s%s__" + ar) + "__") + as) + "__mappings__PoolAssets2LpAsset")
165154
166155
167-func ay (af) = ("%s%s__spread__" + af)
156+func at (aa) = ("%s%s__spread__" + aa)
168157
169158
170-func az (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2PoolAssets")
159+func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2PoolAssets")
171160
172161
173-func aB (aw,ax) = (((("%d%d%s%s__" + toString(aw)) + "__") + toString(ax)) + "__mappings__poolAssets2PoolContract")
162+func aw (ar,as) = (((("%d%d%s%s__" + toString(ar)) + "__") + toString(as)) + "__mappings__poolAssets2PoolContract")
174163
175164
176-func aC (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2LpAsset")
165+func ax (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
177166
178167
179-func aD (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2PoolContract")
168+func ay (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2PoolContract")
180169
181170
182-func aE (aF,aG) = ((("%s%s%s__wxEmission__" + aF) + "__") + aG)
171+func az (aA,aB) = ((("%s%s%s__wxEmission__" + aA) + "__") + aB)
183172
184173
185-func aH (af) = ("%s%s__inFee__" + af)
174+func aC (aa) = ("%s%s__inFee__" + aa)
186175
187176
188-func aI () = "%s__inFeeDefault"
177+func aD () = "%s__inFeeDefault"
189178
190179
191-func aJ (af) = ("%s%s__swapFee__" + af)
180+func aE (aa) = ("%s%s__swapFee__" + aa)
192181
193182
194-func aK (af) = ("%s%s__outFee__" + af)
183+func aF (aa) = ("%s%s__outFee__" + aa)
195184
196185
197-func aL () = "%s__outFeeDefault"
186+func aG () = "%s__outFeeDefault"
198187
199188
200-func aM (af) = ("%s%s__skipOrderValidation__" + af)
189+func aH (aa) = ("%s%s__skipOrderValidation__" + aa)
201190
202191
203-func aN (af) = ("%s%s__changeAmpDelay__" + af)
192+func aI (aa) = ("%s%s__changeAmpDelay__" + aa)
204193
205194
206-func aO (af) = ("%s%s__changeAmpDelta__" + af)
195+func aJ (aa) = ("%s%s__changeAmpDelta__" + aa)
207196
208197
209-func aP (af) = ("%s%s__changeAmpTarget__" + af)
198+func aK (aa) = ("%s%s__changeAmpTarget__" + aa)
210199
211200
212-func aQ () = "%s__sWavesProxyAddress"
201+func aL () = "%s__sWavesProxyAddress"
213202
214203
215-func aR () = "%s__sWavesAssetId"
204+func aM () = "%s__sWavesAssetId"
216205
217206
218-func aS () = "%s__stakingProfitAddress"
207+func aN () = "%s__stakingProfitAddress"
219208
220209
221-func aT (af,aU) = makeString(["%s%s%s", "leasedRatio", af, aU], m)
210+func aO (aa,aP) = makeString(["%s%s%s", "leasedRatio", aa, aP], l)
222211
223212
224-func aV (aU) = makeString(["%s%s", "leasedRatioDefault", aU], m)
213+func aQ (aP) = makeString(["%s%s", "leasedRatioDefault", aP], l)
225214
226215
227-func aW (af,aU) = makeString(["%s%s%s", "leasedRatioTolerance", af, aU], m)
216+func aR (aa,aP) = makeString(["%s%s%s", "leasedRatioTolerance", aa, aP], l)
228217
229218
230-func aX (af,aU) = makeString(["%s%s%s", "minBalance", af, aU], m)
219+func aS (aa,aP) = makeString(["%s%s%s", "minBalance", aa, aP], l)
231220
232221
233-func aY (aU) = makeString(["%s%s", "minBalanceDefault", aU], m)
222+func aT (aP) = makeString(["%s%s", "minBalanceDefault", aP], l)
234223
235224
236-func aZ (ba) = valueOrErrorMessage(getString(this, ba), ("No data for this.key=" + ba))
225+func aU (aV) = valueOrErrorMessage(getString(this, aV), ("No data for this.key=" + aV))
237226
238227
239-func bb (ba) = valueOrErrorMessage(getBoolean(this, ba), ("No data for this.key=" + ba))
228+func aW (aV) = valueOrErrorMessage(getBoolean(this, aV), ("No data for this.key=" + aV))
240229
241230
242-func bc (ba) = valueOrErrorMessage(getInteger(this, ba), ("No data for this.key=" + ba))
231+func aX (aV) = valueOrErrorMessage(getInteger(this, aV), ("No data for this.key=" + aV))
243232
244233
245-func bd (be) = if ((be == j))
234+func aY (aZ) = if ((aZ == j))
246235 then unit
247- else fromBase58String(be)
236+ else fromBase58String(aZ)
248237
249238
250-func bf () = {
251- let bg = getString(V())
252- if ($isInstanceOf(bg, "String"))
239+func ba () = {
240+ let bb = getString(R())
241+ if ($isInstanceOf(bb, "String"))
253242 then {
254- let bh = bg
255- addressFromStringValue(bh)
243+ let bc = bb
244+ addressFromStringValue(bc)
256245 }
257246 else this
258247 }
259248
260249
261-let bi = 1
250+let bd = 1
262251
263-let bj = 2
252+let be = 2
264253
265-let bk = 3
254+let bf = 3
266255
267-let bl = 4
256+let bg = 4
268257
269-let bm = 5
258+let bh = 5
270259
271-let bn = 6
260+let bi = 6
272261
273-let bo = 7
262+let bj = 7
274263
275-let bp = 8
264+let bk = 8
276265
277-let bq = 9
266+let bl = 9
278267
279-let br = 10
268+let bm = 10
280269
281-let bs = 11
270+let bn = 11
282271
283-func bt (bu) = addressFromStringValue(bu[bj])
272+func bo (bp) = addressFromStringValue(bp[be])
284273
285274
286-func bv (bu) = addressFromStringValue(bu[bm])
275+func bq (bp) = addressFromStringValue(bp[bh])
287276
288277
289-func bw (bu) = addressFromStringValue(bu[bi])
278+func br (bp) = addressFromStringValue(bp[bd])
290279
291280
292-func bx (bu) = addressFromStringValue(bu[br])
281+func bs (bp) = addressFromStringValue(bp[bm])
293282
294283
295-func by () = {
296- let bg = getString(aa())
297- if ($isInstanceOf(bg, "String"))
284+func bt () = {
285+ let bb = getString(V())
286+ if ($isInstanceOf(bb, "String"))
298287 then {
299- let bh = bg
300- if ((size(bh) == 0))
288+ let bc = bb
289+ if ((size(bc) == 0))
301290 then nil
302- else split_4C(bh, m)
291+ else split_4C(bc, l)
303292 }
304293 else nil
305294 }
306295
307296
308-func bz () = {
309- let bA = bf()
310- let bg = getString(bA, U())
311- if ($isInstanceOf(bg, "String"))
297+func bu () = {
298+ let bv = ba()
299+ let bb = getString(bv, Q())
300+ if ($isInstanceOf(bb, "String"))
312301 then {
313- let bh = bg
314- fromBase58String(bh)
302+ let bc = bb
303+ fromBase58String(bc)
315304 }
316- else if ($isInstanceOf(bg, "Unit"))
305+ else if ($isInstanceOf(bb, "Unit"))
317306 then unit
318307 else throw("Match error")
319308 }
320309
321310
322-let bB = K("Permission denied")
311+let bw = throw("Permission denied")
323312
324-let bC = K("Test error here")
313+let bx = throw("Test error here")
325314
326-func bD (bE) = if ((bE.caller == this))
315+func by (bz) = if ((bz.caller == this))
327316 then true
328- else bB
317+ else bw
329318
330319
331-func bF (bE) = {
332- let bg = bz()
333- if ($isInstanceOf(bg, "ByteVector"))
320+func bA (bz) = {
321+ let bb = bu()
322+ if ($isInstanceOf(bb, "ByteVector"))
334323 then {
335- let bG = bg
336- if ((bE.callerPublicKey == bG))
324+ let bB = bb
325+ if ((bz.callerPublicKey == bB))
337326 then true
338- else bB
327+ else bw
339328 }
340- else if ($isInstanceOf(bg, "Unit"))
341- then bD(bE)
329+ else if ($isInstanceOf(bb, "Unit"))
330+ then by(bz)
342331 else throw("Match error")
343332 }
344333
345334
346-func bH (bI,bJ,bK,bL,bM,bN,bO,bP,bQ,bR,bS) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR, bS], m)
335+func bC (bD,bE,bF,bG,bH,bI,bJ,bK,bL,bM,bN) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bD, bE, bF, bG, bH, bI, bJ, bK, bL, bM, bN], l)
347336
348337
349-func bT (bI,bJ,bK,bL,bM,bN,bO) = makeString(["%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO], m)
338+func bO (bD,bE,bF,bG,bH,bI,bJ) = makeString(["%s%s%s%s%s%s", bD, bE, bF, bG, bH, bI, bJ], l)
350339
351340
352-func bU (af,bV,bW,bX,bY,bZ,ca,cb,cc,cd,ce) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bV, bW, bX, bY, toString(bZ), toString(ca), toString(cb), toString(cc), toString(cd), ce], m)
341+func bP (aa,bQ,bR,bS,bT,bU,bV,bW,bX,bY,bZ) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", aa, bQ, bR, bS, bT, toString(bU), toString(bV), toString(bW), toString(bX), toString(bY), bZ], l)
353342
354343
355-func cf (cg,ch) = makeString(["%d%d", toString(cg), toString(ch)], m)
344+func ca (cb,cc) = makeString(["%d%d", toString(cb), toString(cc)], l)
356345
357346
358-func ci (af) = {
359- let cj = split(aZ(az(af)), m)
360- let an = cj[1]
361- let ao = cj[2]
362- split(aZ(am(an, ao)), m)
347+func cd (aa) = {
348+ let ce = split(aU(au(aa)), l)
349+ let ai = ce[1]
350+ let aj = ce[2]
351+ split(aU(ah(ai, aj)), l)
363352 }
364353
365354
366-func ck (cl,cm) = {
367- let cn = valueOrElse(getInteger(this, ak(cl)), 0)
368- let co = valueOrElse(getInteger(this, ad()), 0)
369- let cp = if ((cn == 0))
355+func cf (cg,ch) = {
356+ let ci = valueOrElse(getInteger(this, af(cg)), 0)
357+ let cj = valueOrElse(getInteger(this, Y()), 0)
358+ let ck = if ((ci == 0))
370359 then {
371- let cq = (co + cm)
372- $Tuple3(cq, [IntegerEntry(ad(), cq), IntegerEntry(ak(cl), cq), StringEntry(ai(cq), cl)], true)
360+ let cl = (cj + ch)
361+ $Tuple3(cl, [IntegerEntry(Y(), cl), IntegerEntry(af(cg), cl), StringEntry(ad(cl), cg)], true)
373362 }
374- else $Tuple3(cn, nil, false)
375- cp
363+ else $Tuple3(ci, nil, false)
364+ ck
376365 }
377366
378367
379-func cr (bE) = {
380- let cs = split(valueOrElse(getString(W()), n), m)
381- if (containsElement(cs, toBase58String(bE.callerPublicKey)))
368+func cm (bz) = {
369+ let cn = split(valueOrElse(getString(S()), m), l)
370+ if (containsElement(cn, toBase58String(bz.callerPublicKey)))
382371 then true
383372 else {
384- let ct = bF(bE)
385- if ((ct == ct))
373+ let co = bA(bz)
374+ if ((co == co))
386375 then true
387376 else throw("Strict value is not equal to itself.")
388377 }
389378 }
390379
391380
392-func cu (ba,cv,cw) = valueOrElse(getInteger(this, ba), valueOrElse(getInteger(this, cv), cw))
381+func cp (aV,cq,cr) = valueOrElse(getInteger(this, aV), valueOrElse(getInteger(this, cq), cr))
393382
394383
395-func cx (aF,aG) = {
396- let an = getInteger(ak(aF))
397- let ao = getInteger(ak(aG))
398- if (if ((an == unit))
384+func cs (aA,aB) = {
385+ let ai = getInteger(af(aA))
386+ let aj = getInteger(af(aB))
387+ if (if ((ai == unit))
399388 then true
400- else (ao == unit))
389+ else (aj == unit))
401390 then false
402391 else {
403- let cy = toString(value(an))
404- let cz = toString(value(ao))
405- let cA = getString(am(cy, cz))
406- let cB = getString(am(cz, cy))
407- let cC = if ((cA != unit))
392+ let ct = toString(value(ai))
393+ let cu = toString(value(aj))
394+ let cv = getString(ah(ct, cu))
395+ let cw = getString(ah(cu, ct))
396+ let cx = if ((cv != unit))
408397 then true
409- else (cB != unit)
410- cC
398+ else (cw != unit)
399+ cx
411400 }
412401 }
413402
414403
415-func cD (aA) = {
416- let cj = {
417- let bg = getString(az(aA))
418- if ($isInstanceOf(bg, "String"))
419- then {
420- let bh = bg
421- split(bh, m)
422- }
423- else K(makeString([aA, "pool is not found"], " "))
424- }
425- let an = parseIntValue(cj[1])
426- let ao = parseIntValue(cj[2])
427- let aF = getStringValue(ai(an))
428- let aG = getStringValue(ai(ao))
429- let bW = getStringValue(aC(aA))
430- $Tuple5(aF, aG, bW, an, ao)
431- }
432-
433-
434-func cE (aA) = {
435- let cF = cD(aA)
436- let aF = cF._1
437- let aG = cF._2
438- let bW = cF._3
439- let an = cF._4
440- let ao = cF._5
441- let cG = addressFromStringValue(getStringValue(Z()))
442- let cH = invoke(cG, "getPoolCreatorREADONLY", [aF, aG], nil)
443- cH
444- }
445-
446-
447-func cI (cJ,cK) = {
448- let cL = addressFromStringValue(cJ)
449- if ((cK == "WAVES"))
450- then wavesBalance(cL).regular
451- else {
452- let aU = fromBase58String(cK)
453- assetBalance(cL, aU)
454- }
455- }
456-
457-
458-func cM (aA) = {
459- let cN = cD(aA)
460- let aF = cN._1
461- let aG = cN._2
462- let bW = cN._3
463- let an = cN._4
464- let ao = cN._5
465- if ((cI(aA, aF) == 0))
466- then (cI(aA, aG) == 0)
467- else false
468- }
469-
470-
471-@Callable(bE)
472-func getSwapContractREADONLY () = $Tuple2(nil, aZ(N()))
404+@Callable(bz)
405+func getSwapContractREADONLY () = $Tuple2(nil, aU(J()))
473406
474407
475408
476-@Callable(bE)
477-func getPoolLeaseConfigREADONLY (af,aU) = {
478- let cO = {
479- let bg = getInteger(this, aT(af, aU))
480- if ($isInstanceOf(bg, "Int"))
409+@Callable(bz)
410+func getPoolLeaseConfigREADONLY (aa,aP) = {
411+ let cy = {
412+ let bb = getInteger(this, aO(aa, aP))
413+ if ($isInstanceOf(bb, "Int"))
481414 then {
482- let cP = bg
483- $Tuple2(true, min([100, max([0, cP])]))
415+ let cz = bb
416+ $Tuple2(true, min([100, max([0, cz])]))
484417 }
485418 else {
486- let cQ = getInteger(this, aV(aU))
487- if ($isInstanceOf(cQ, "Int"))
419+ let cA = getInteger(this, aQ(aP))
420+ if ($isInstanceOf(cA, "Int"))
488421 then {
489- let cR = cQ
490- $Tuple2(true, min([100, max([0, cR])]))
422+ let cB = cA
423+ $Tuple2(true, min([100, max([0, cB])]))
491424 }
492425 else $Tuple2(false, 0)
493426 }
494427 }
495- let cS = cO._1
496- let cT = cO._2
497- let cU = {
498- let bg = getInteger(this, aX(af, aU))
499- if ($isInstanceOf(bg, "Int"))
428+ let cC = cy._1
429+ let cD = cy._2
430+ let cE = {
431+ let bb = getInteger(this, aS(aa, aP))
432+ if ($isInstanceOf(bb, "Int"))
500433 then {
501- let cV = bg
502- max([0, cV])
434+ let cF = bb
435+ max([0, cF])
503436 }
504437 else {
505- let cQ = getInteger(this, aY(aU))
506- if ($isInstanceOf(cQ, "Int"))
438+ let cA = getInteger(this, aT(aP))
439+ if ($isInstanceOf(cA, "Int"))
507440 then {
508- let cW = cQ
509- max([0, cW])
441+ let cG = cA
442+ max([0, cG])
510443 }
511444 else 0
512445 }
513446 }
514- let cX = if ((aU == "WAVES"))
515- then $Tuple3(valueOrElse(getString(this, aQ()), ""), getString(this, valueOrElse(aR(), "")), c)
447+ let cH = if ((aP == "WAVES"))
448+ then $Tuple3(valueOrElse(getString(this, aL()), ""), getString(this, valueOrElse(aM(), "")), c)
516449 else $Tuple3("", "", 0)
517- let cY = cX._1
518- let cZ = cX._2
519- let da = cX._3
520- let db = valueOrElse(getString(this, aS()), "")
521- $Tuple2(nil, $Tuple7(cS, cT, cU, cY, cZ, da, db))
450+ let cI = cH._1
451+ let cJ = cH._2
452+ let cK = cH._3
453+ let cL = valueOrElse(getString(this, aN()), "")
454+ $Tuple2(nil, $Tuple7(cC, cD, cE, cI, cJ, cK, cL))
522455 }
523456
524457
525458
526-@Callable(bE)
527-func getLpAssetFromPoolAssetsREADONLY (dc,dd) = if (if ((dc == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
528- then (dd == "WAVES")
459+@Callable(bz)
460+func getLpAssetFromPoolAssetsREADONLY (cM,cN) = if (if ((cM == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
461+ then (cN == "WAVES")
529462 else false)
530463 then $Tuple2(nil, unit)
531464 else {
532- let de = value(getInteger(this, ak(dc)))
533- let df = value(getInteger(this, ak(dd)))
534- let dg = getString(this, av(toString(de), toString(df)))
535- let dh = if ((dg == unit))
465+ let cO = value(getInteger(this, af(cM)))
466+ let cP = value(getInteger(this, af(cN)))
467+ let cQ = getString(this, aq(toString(cO), toString(cP)))
468+ let cR = if ((cQ == unit))
536469 then unit
537- else drop(value(dg), 4)
538- $Tuple2(nil, dh)
470+ else drop(value(cQ), 4)
471+ $Tuple2(nil, cR)
539472 }
540473
541474
542475
543-@Callable(bE)
544-func getPoolAddressFromLpAssetREADONLY (di) = $Tuple2(nil, valueOrElse(getString(this, aD(di)), ""))
476+@Callable(bz)
477+func getPoolAddressFromLpAssetREADONLY (cS) = $Tuple2(nil, valueOrElse(getString(this, ay(cS)), ""))
545478
546479
547480
548-@Callable(bE)
549-func constructor (dj,dk,bK,bL,bM,bN,dl,dm) = {
550- let dn = bF(bE)
551- if ((dn == dn))
552- then [StringEntry(O(), bT(dj, dk, bK, bL, bM, bN, dl)), IntegerEntry(ab(), dm)]
481+@Callable(bz)
482+func constructor (cT,cU,bF,bG,bH,bI,cV,cW) = {
483+ let cX = bA(bz)
484+ if ((cX == cX))
485+ then [StringEntry(K(), bO(cT, cU, bF, bG, bH, bI, cV)), IntegerEntry(W(), cW)]
553486 else throw("Strict value is not equal to itself.")
554487 }
555488
556489
557490
558-@Callable(bE)
559-func constructorV2 (do) = {
560- let dn = bF(bE)
561- if ((dn == dn))
491+@Callable(bz)
492+func constructorV2 (cY) = {
493+ let cX = bA(bz)
494+ if ((cX == cX))
562495 then {
563- let dp = addressFromPublicKey(fromBase58String(do))
564- if ((dp == dp))
565- then [StringEntry(R(), do)]
496+ let cZ = addressFromPublicKey(fromBase58String(cY))
497+ if ((cZ == cZ))
498+ then [StringEntry(N(), cY)]
566499 else throw("Strict value is not equal to itself.")
567500 }
568501 else throw("Strict value is not equal to itself.")
570503
571504
572505
573-@Callable(bE)
574-func constructorV3 (bP,bQ,bR,bS) = {
575- let dn = bF(bE)
576- if ((dn == dn))
506+@Callable(bz)
507+func constructorV3 (bK,bL,bM,bN) = {
508+ let cX = bA(bz)
509+ if ((cX == cX))
577510 then {
578- let bu = split(aZ(O()), m)
579-[StringEntry(O(), bH(bu[1], bu[2], bu[3], bu[4], bu[5], bu[6], bu[7], bP, bQ, bR, bS))]
511+ let bp = split(aU(K()), l)
512+[StringEntry(K(), bC(bp[1], bp[2], bp[3], bp[4], bp[5], bp[6], bp[7], bK, bL, bM, bN))]
580513 }
581514 else throw("Strict value is not equal to itself.")
582515 }
583516
584517
585518
586-@Callable(bE)
587-func constructorV4 (dq,dr) = {
588- let dn = bF(bE)
589- if ((dn == dn))
590- then [StringEntry(S(), dq), StringEntry(T(), makeString(dr, m))]
519+@Callable(bz)
520+func constructorV4 (da,db) = {
521+ let cX = bA(bz)
522+ if ((cX == cX))
523+ then [StringEntry(O(), da), StringEntry(P(), makeString(db, l))]
591524 else throw("Strict value is not equal to itself.")
592525 }
593526
594527
595528
596-@Callable(bE)
597-func constructorV5 (ds) = {
598- let dn = bF(bE)
599- if ((dn == dn))
600- then [StringEntry(X(), ds)]
529+@Callable(bz)
530+func constructorV5 (dc) = {
531+ let cX = bA(bz)
532+ if ((cX == cX))
533+ then [StringEntry(T(), dc)]
601534 else throw("Strict value is not equal to itself.")
602535 }
603536
604537
605538
606-@Callable(bE)
607-func constructorV6 (dt,du) = {
608- let dv = [bF(bE), if ((addressFromString(dt) != unit))
539+@Callable(bz)
540+func constructorV6 (dd,de) = {
541+ let df = [bA(bz), if ((addressFromString(dd) != unit))
609542 then true
610543 else "invalid voting emission contract address"]
611- if ((dv == dv))
612- then [StringEntry(Y(), dt), StringEntry(aa(), makeString(du, m))]
544+ if ((df == df))
545+ then [StringEntry(U(), dd), StringEntry(V(), makeString(de, l))]
613546 else throw("Strict value is not equal to itself.")
614547 }
615548
616549
617550
618-@Callable(bE)
619-func setAdmins (dw) = {
620- let dn = bF(bE)
621- if ((dn == dn))
622- then [StringEntry(W(), makeString(dw, m))]
551+@Callable(bz)
552+func setAdmins (dg) = {
553+ let cX = bA(bz)
554+ if ((cX == cX))
555+ then [StringEntry(S(), makeString(dg, l))]
623556 else throw("Strict value is not equal to itself.")
624557 }
625558
626559
627560
628-@Callable(bE)
629-func activateNewPool (af,bX,bY,dx,dy,dz,ce,dA) = {
630- let dn = cr(bE)
631- if ((dn == dn))
632- then if (isDefined(getString(az(af))))
633- then K((("Pool address " + af) + " already registered."))
561+@Callable(bz)
562+func activateNewPool (aa,bS,bT,dh,di,dj,bZ,dk) = {
563+ let cX = cm(bz)
564+ if ((cX == cX))
565+ then if (isDefined(getString(au(aa))))
566+ then throw((("Pool address " + aa) + " already registered."))
634567 else {
635- let dB = ck(bX, 1)
636- let dC = dB._1
637- let dD = ck(bY, if (dB._3)
568+ let dl = cf(bS, 1)
569+ let dm = dl._1
570+ let dn = cf(bT, if (dl._3)
638571 then 2
639572 else 1)
640- let dE = dD._1
641- let dF = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
642- let dG = getBinaryValue(Q())
643- let dH = cx(bX, bY)
644- if (dH)
645- then K((((("Pool " + bX) + "/") + bY) + " has already been activated."))
573+ let do = dn._1
574+ let dp = valueOrErrorMessage(scriptHash(addressFromStringValue(aa)), ("No script has been found on pool account " + aa))
575+ let dq = getBinaryValue(M())
576+ let dr = cs(bS, bT)
577+ if (dr)
578+ then throw((((("Pool " + bS) + "/") + bT) + " has already been activated."))
646579 else {
647- let dI = value(getString(this, am(toString(dC), toString(dE))))
648- let dJ = if ((bX == "WAVES"))
649- then l
650- else pow(10, 0, value(assetInfo(fromBase58String(bX))).decimals, 0, 0, DOWN)
651- let dK = if ((bY == "WAVES"))
652- then l
653- else pow(10, 0, value(assetInfo(fromBase58String(bY))).decimals, 0, 0, DOWN)
654- let dL = Issue(dx, dy, 1, 8, true)
655- let bW = calculateAssetId(dL)
656- let dM = toBase58String(bW)
657- let dN = invoke(addressFromStringValue(af), "activate", [bX, bY], nil)
658- if ((dN == dN))
659- then if ((dN != "success"))
660- then K("Pool initialisation error happened.")
580+ let ds = value(getString(this, ah(toString(dm), toString(do))))
581+ let dt = if ((bS == "WAVES"))
582+ then k
583+ else pow(10, 0, value(assetInfo(fromBase58String(bS))).decimals, 0, 0, DOWN)
584+ let du = if ((bT == "WAVES"))
585+ then k
586+ else pow(10, 0, value(assetInfo(fromBase58String(bT))).decimals, 0, 0, DOWN)
587+ let dv = Issue(dh, di, 1, 8, true)
588+ let bR = calculateAssetId(dv)
589+ let dw = toBase58String(bR)
590+ let dx = invoke(addressFromStringValue(aa), "activate", [bS, bT], nil)
591+ if ((dx == dx))
592+ then if ((dx != "success"))
593+ then throw("Pool initialisation error happened.")
661594 else {
662- let ds = addressFromStringValue(aZ(X()))
663- let dO = invoke(ds, "createOrUpdate", [dM, dx, false], nil)
664- if ((dO == dO))
595+ let dc = addressFromStringValue(aU(T()))
596+ let dy = invoke(dc, "createOrUpdate", [dw, dh, false], nil)
597+ if ((dy == dy))
665598 then {
666- let dP = invoke(ds, "addLabel", [dM, h], nil)
667- if ((dP == dP))
599+ let dz = invoke(dc, "addLabel", [dw, h], nil)
600+ if ((dz == dz))
668601 then {
669- let dQ = invoke(ds, "setLogo", [dM, dA], nil)
670- if ((dQ == dQ))
602+ let dA = invoke(dc, "setLogo", [dw, dk], nil)
603+ if ((dA == dA))
671604 then {
672- let dR = invoke(ds, "addAssetsLink", [bX, bY, dM], nil)
673- if ((dR == dR))
605+ let dB = invoke(dc, "addAssetsLink", [bS, bT, dw], nil)
606+ if ((dB == dB))
674607 then {
675- let dS = invoke(ds, "increaseAssetPoolsNumber", [bX], nil)
676- if ((dS == dS))
677- then $Tuple2(((dB._2 ++ dD._2) ++ [dL, Burn(bW, 1), StringEntry(am(toString(dC), toString(dE)), bU(af, toString(o), dM, bX, bY, dJ, dK, dC, dE, l, ce)), StringEntry(at(dM), cf(dC, dE)), StringEntry(av(toString(dC), toString(dE)), ("%s__" + dM)), StringEntry(az(af), cf(dC, dE)), StringEntry(aB(dC, dE), af), StringEntry(aD(dM), af), StringEntry(aC(af), dM), IntegerEntry(ae(af), dz), IntegerEntry(ay(af), i)]), dM)
608+ let dC = invoke(dc, "increaseAssetPoolsNumber", [bS], nil)
609+ if ((dC == dC))
610+ then $Tuple2(((dl._2 ++ dn._2) ++ [dv, Burn(bR, 1), StringEntry(ah(toString(dm), toString(do)), bP(aa, toString(n), dw, bS, bT, dt, du, dm, do, k, bZ)), StringEntry(ao(dw), ca(dm, do)), StringEntry(aq(toString(dm), toString(do)), ("%s__" + dw)), StringEntry(au(aa), ca(dm, do)), StringEntry(aw(dm, do), aa), StringEntry(ay(dw), aa), StringEntry(ax(aa), dw), IntegerEntry(Z(aa), dj), IntegerEntry(at(aa), i)]), dw)
678611 else throw("Strict value is not equal to itself.")
679612 }
680613 else throw("Strict value is not equal to itself.")
693626
694627
695628
696-@Callable(bE)
697-func managePool (af,dT) = {
698- let dn = bF(bE)
699- if ((dn == dn))
629+@Callable(bz)
630+func managePool (aa,dD) = {
631+ let cX = bA(bz)
632+ if ((cX == cX))
700633 then {
701- let dU = ci(af)
702- let bV = dU[w]
703- let dM = dU[x]
704- let bX = dU[y]
705- let bY = dU[z]
706- let dJ = parseIntValue(dU[A])
707- let dK = parseIntValue(dU[B])
708- let dC = parseIntValue(dU[C])
709- let dE = parseIntValue(dU[D])
710- let dV = parseIntValue(dU[E])
711- let ce = dU[F]
712-[StringEntry(am(toString(dC), toString(dE)), bU(af, toString(dT), dM, bX, bY, dJ, dK, dC, dE, dV, ce))]
634+ let dE = cd(aa)
635+ let bQ = dE[v]
636+ let dw = dE[w]
637+ let bS = dE[x]
638+ let bT = dE[y]
639+ let dt = parseIntValue(dE[z])
640+ let du = parseIntValue(dE[A])
641+ let dm = parseIntValue(dE[B])
642+ let do = parseIntValue(dE[C])
643+ let dF = parseIntValue(dE[D])
644+ let bZ = dE[E]
645+[StringEntry(ah(toString(dm), toString(do)), bP(aa, toString(dD), dw, bS, bT, dt, du, dm, do, dF, bZ))]
713646 }
714647 else throw("Strict value is not equal to itself.")
715648 }
716649
717650
718651
719-@Callable(bE)
720-func emit (dW) = {
721- let dX = bE.caller
722- let dY = bE.originCaller
723- let dZ = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
724- let ea = fromBase58String(dZ)
725- let dr = split(valueOrElse(getString(T()), n), m)
726- let dq = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
727- if ((0 >= dW))
652+@Callable(bz)
653+func emit (dG) = {
654+ let dH = bz.caller
655+ let dI = bz.originCaller
656+ let dJ = valueOrErrorMessage(getString(ax(toString(dH))), "Invalid LP address called me.")
657+ let dK = fromBase58String(dJ)
658+ let db = split(valueOrElse(getString(P()), m), l)
659+ let da = addressFromStringValue(valueOrErrorMessage(getString(O()), "Legacy factory contract does not exists."))
660+ if ((0 >= dG))
728661 then nil
729- else if (containsElement(dr, toString(dX)))
730- then $Tuple2(nil, dq)
731- else $Tuple2([Reissue(ea, dW, true), ScriptTransfer(bE.caller, dW, ea)], "success")
662+ else if (containsElement(db, toString(dH)))
663+ then $Tuple2(nil, da)
664+ else $Tuple2([Reissue(dK, dG, true), ScriptTransfer(bz.caller, dG, dK)], "success")
732665 }
733666
734667
735668
736-@Callable(bE)
737-func burn (eb) = {
738- let dX = bE.caller
739- let dY = bE.originCaller
740- let ec = value(bE.payments[0])
741- let ed = value(ec.amount)
742- let ee = toBase58String(value(ec.assetId))
743- let ef = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
744- if ((ee != ef))
745- then K("Invalid asset passed.")
746- else if ((eb != ed))
747- then K("Invalid amount passed.")
669+@Callable(bz)
670+func burn (dL) = {
671+ let dH = bz.caller
672+ let dI = bz.originCaller
673+ let dM = value(bz.payments[0])
674+ let dN = value(dM.amount)
675+ let dO = toBase58String(value(dM.assetId))
676+ let dP = valueOrErrorMessage(getString(ax(toString(dH))), "Invalid LP address called me.")
677+ if ((dO != dP))
678+ then throw("Invalid asset passed.")
679+ else if ((dL != dN))
680+ then throw("Invalid amount passed.")
748681 else {
749- let ea = fromBase58String(ef)
750- $Tuple2([Burn(ea, eb)], "success")
682+ let dK = fromBase58String(dP)
683+ $Tuple2([Burn(dK, dL)], "success")
751684 }
752685 }
753686
754687
755688
756-@Callable(bE)
757-func modifyWeight (bW,eg) = {
758- let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, Y()), "")))
689+@Callable(bz)
690+func modifyWeight (bR,dQ) = {
691+ let cX = if ((toBase58String(bz.caller.bytes) == valueOrElse(getString(this, U()), "")))
759692 then true
760- else bF(bE)
761- if ((dn == dn))
693+ else bA(bz)
694+ if ((cX == cX))
762695 then {
763- let aA = aZ(aD(bW))
764- let eh = ae(aA)
765- let ei = ae(g)
766- let ej = valueOrElse(getInteger(ei), 0)
767- let dz = valueOrElse(getInteger(eh), 0)
768- let ek = eg
769- let bu = split(aZ(O()), m)
770- let dj = bw(bu)
771- let el = invoke(dj, "onModifyWeight", [bW, aA], nil)
772- if ((el == el))
696+ let av = aU(ay(bR))
697+ let dR = Z(av)
698+ let dS = Z(g)
699+ let dT = valueOrElse(getInteger(dS), 0)
700+ let dj = valueOrElse(getInteger(dR), 0)
701+ let dU = dQ
702+ let bp = split(aU(K()), l)
703+ let cT = br(bp)
704+ let dV = invoke(cT, "onModifyWeight", [bR, av], nil)
705+ if ((dV == dV))
773706 then {
774- let em = if ((ej == 0))
707+ let dW = if ((dT == 0))
775708 then nil
776- else [IntegerEntry(ei, 0)]
777- let en = ag(aA, 0)
778- let eo = getInteger(en)
779- let ep = if ((eo == unit))
709+ else [IntegerEntry(dS, 0)]
710+ let dX = ab(av, 0)
711+ let dY = getInteger(dX)
712+ let dZ = if ((dY == unit))
780713 then nil
781- else [DeleteEntry(en)]
782- (([IntegerEntry(eh, ek)] ++ em) ++ ep)
714+ else [DeleteEntry(dX)]
715+ (([IntegerEntry(dR, dU)] ++ dW) ++ dZ)
783716 }
784717 else throw("Strict value is not equal to itself.")
785718 }
788721
789722
790723
791-@Callable(bE)
792-func modifyWeights (eq,er,es,et) = {
793- let dn = bF(bE)
794- if ((dn == dn))
724+@Callable(bz)
725+func modifyWeights (ea,eb,ec,ed) = {
726+ let cX = bA(bz)
727+ if ((cX == cX))
795728 then {
796- let eu = ((5 * f) / 100)
797- let ev = ((5 * f) / 100)
798- let ew = ((5 * f) / 100)
799- let bu = split(aZ(O()), m)
800- let ex = bw(bu)
801- let ey = bx(bu)
802- let ez = ae(eq)
803- let eA = ae(er)
804- let eB = ae(es)
805- let eC = ae(et)
806- let eD = bc(ez)
807- let eE = bc(eA)
808- let eF = (eD - ew)
809- let eG = (eE - ew)
810- if ((0 >= eF))
811- then K(("invalid btcWeightNew: " + toString(eF)))
812- else if ((0 >= eG))
813- then K(("invalid ethWeightNew: " + toString(eG)))
729+ let ee = ((5 * f) / 100)
730+ let ef = ((5 * f) / 100)
731+ let eg = ((5 * f) / 100)
732+ let bp = split(aU(K()), l)
733+ let eh = br(bp)
734+ let ei = bs(bp)
735+ let ej = Z(ea)
736+ let ek = Z(eb)
737+ let el = Z(ec)
738+ let em = Z(ed)
739+ let en = aX(ej)
740+ let eo = aX(ek)
741+ let ep = (en - eg)
742+ let eq = (eo - eg)
743+ if ((0 >= ep))
744+ then throw(("invalid btcWeightNew: " + toString(ep)))
745+ else if ((0 >= eq))
746+ then throw(("invalid ethWeightNew: " + toString(eq)))
814747 else {
815- let eH = aZ(aC(eq))
816- let eI = aZ(aC(er))
817- let eJ = aZ(aC(es))
818- let eK = aZ(aC(et))
819- let eL = invoke(ex, "onModifyWeight", [eH, eq], nil)
820- if ((eL == eL))
748+ let er = aU(ax(ea))
749+ let es = aU(ax(eb))
750+ let et = aU(ax(ec))
751+ let eu = aU(ax(ed))
752+ let ev = invoke(eh, "onModifyWeight", [er, ea], nil)
753+ if ((ev == ev))
821754 then {
822- let eM = invoke(ex, "onModifyWeight", [eI, er], nil)
823- if ((eM == eM))
755+ let ew = invoke(eh, "onModifyWeight", [es, eb], nil)
756+ if ((ew == ew))
824757 then {
825- let eN = invoke(ex, "onModifyWeight", [eJ, es], nil)
826- if ((eN == eN))
758+ let ex = invoke(eh, "onModifyWeight", [et, ec], nil)
759+ if ((ex == ex))
827760 then {
828- let eO = invoke(ex, "onModifyWeight", [eK, et], nil)
829- if ((eO == eO))
830- then [IntegerEntry(ez, eF), IntegerEntry(eA, eG), IntegerEntry(eB, eu), IntegerEntry(eC, ev), IntegerEntry(ag(eq, 0), eD), IntegerEntry(ag(er, 0), eE), IntegerEntry(ag(es, 0), eu), IntegerEntry(ag(et, 0), ev)]
761+ let ey = invoke(eh, "onModifyWeight", [eu, ed], nil)
762+ if ((ey == ey))
763+ then [IntegerEntry(ej, ep), IntegerEntry(ek, eq), IntegerEntry(el, ee), IntegerEntry(em, ef), IntegerEntry(ab(ea, 0), en), IntegerEntry(ab(eb, 0), eo), IntegerEntry(ab(ec, 0), ee), IntegerEntry(ab(ed, 0), ef)]
831764 else throw("Strict value is not equal to itself.")
832765 }
833766 else throw("Strict value is not equal to itself.")
842775
843776
844777
845-@Callable(bE)
846-func checkWxEmissionPoolLabel (aF,aG) = {
847- let eP = {
848- let bg = getBoolean(aE(aF, aG))
849- if ($isInstanceOf(bg, "Boolean"))
778+@Callable(bz)
779+func checkWxEmissionPoolLabel (aA,aB) = {
780+ let ez = {
781+ let bb = getBoolean(az(aA, aB))
782+ if ($isInstanceOf(bb, "Boolean"))
850783 then {
851- let cV = bg
852- cV
784+ let cF = bb
785+ cF
853786 }
854787 else false
855788 }
856- $Tuple2(nil, eP)
789+ $Tuple2(nil, ez)
857790 }
858791
859792
860793
861-@Callable(bE)
862-func setWxEmissionPoolLabel (aF,aG) = {
863- let dn = cr(bE)
864- if ((dn == dn))
865- then $Tuple2([BooleanEntry(aE(aF, aG), true)], unit)
794+@Callable(bz)
795+func setWxEmissionPoolLabel (aA,aB) = {
796+ let cX = cm(bz)
797+ if ((cX == cX))
798+ then $Tuple2([BooleanEntry(az(aA, aB), true)], unit)
866799 else throw("Strict value is not equal to itself.")
867800 }
868801
869802
870803
871-@Callable(bE)
872-func deleteWxEmissionPoolLabel (aF,aG) = {
873- let dn = if ((bE.caller == this))
804+@Callable(bz)
805+func deleteWxEmissionPoolLabel (aA,aB) = {
806+ let cX = if ((bz.caller == this))
874807 then true
875- else cr(bE)
876- if ((dn == dn))
877- then $Tuple2([DeleteEntry(aE(aF, aG))], unit)
808+ else cm(bz)
809+ if ((cX == cX))
810+ then $Tuple2([DeleteEntry(az(aA, aB))], unit)
878811 else throw("Strict value is not equal to itself.")
879812 }
880813
881814
882815
883-@Callable(bE)
884-func onVerificationLoss (aU) = {
885- let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, X()), "")))
816+@Callable(bz)
817+func onVerificationLoss (aP) = {
818+ let cX = if ((toBase58String(bz.caller.bytes) == valueOrElse(getString(this, T()), "")))
886819 then true
887- else bF(bE)
888- if ((dn == dn))
820+ else bA(bz)
821+ if ((cX == cX))
889822 then {
890- let du = by()
891- let eQ = if ((size(du) > 0))
823+ let de = bt()
824+ let eA = if ((size(de) > 0))
892825 then true
893- else K("invalid price assets")
894- if ((eQ == eQ))
826+ else throw("invalid price assets")
827+ if ((eA == eA))
895828 then {
896- func eR (eS,eT) = {
897- let cP = invoke(this, "deleteWxEmissionPoolLabel", [aU, eT], nil)
898- if ((cP == cP))
829+ func eB (eC,eD) = {
830+ let cz = invoke(this, "deleteWxEmissionPoolLabel", [aP, eD], nil)
831+ if ((cz == cz))
899832 then unit
900833 else throw("Strict value is not equal to itself.")
901834 }
902835
903- let eU = {
904- let eV = du
905- let eW = size(eV)
906- let eX = unit
907- func eY (eZ,fa) = if ((fa >= eW))
908- then eZ
909- else eR(eZ, eV[fa])
836+ let eE = {
837+ let eF = de
838+ let eG = size(eF)
839+ let eH = unit
840+ func eI (eJ,eK) = if ((eK >= eG))
841+ then eJ
842+ else eB(eJ, eF[eK])
910843
911- func fb (eZ,fa) = if ((fa >= eW))
912- then eZ
844+ func eL (eJ,eK) = if ((eK >= eG))
845+ then eJ
913846 else throw("List size exceeds 13")
914847
915- fb(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eX, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
848+ eL(eI(eI(eI(eI(eI(eI(eI(eI(eI(eI(eI(eI(eI(eH, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
916849 }
917- if ((eU == eU))
850+ if ((eE == eE))
918851 then $Tuple2(nil, unit)
919852 else throw("Strict value is not equal to itself.")
920853 }
925858
926859
927860
928-@Callable(bE)
929-func isPoolOneTokenOperationsDisabledREADONLY (af) = {
930- let dU = ci(af)
931- let aq = $Tuple2(parseIntValue(dU[C]), parseIntValue(dU[D]))
932- let fc = valueOrElse(getBoolean(ap(aq)), false)
933- let fd = valueOrElse(getBoolean(as()), false)
934- $Tuple2(nil, if (fd)
861+@Callable(bz)
862+func isPoolOneTokenOperationsDisabledREADONLY (aa) = {
863+ let dE = cd(aa)
864+ let al = $Tuple2(parseIntValue(dE[B]), parseIntValue(dE[C]))
865+ let eM = valueOrElse(getBoolean(ak(al)), false)
866+ let eN = valueOrElse(getBoolean(an()), false)
867+ $Tuple2(nil, if (eN)
935868 then true
936- else fc)
869+ else eM)
937870 }
938871
939872
940873
941-@Callable(bE)
942-func getInFeeREADONLY (af) = {
943- let fe = cu(aH(af), aI(), 0)
874+@Callable(bz)
875+func getInFeeREADONLY (aa) = {
876+ let eO = cp(aC(aa), aD(), 0)
877+ $Tuple2(nil, eO)
878+ }
879+
880+
881+
882+@Callable(bz)
883+func getOutFeeREADONLY (aa) = {
884+ let eO = cp(aF(aa), aG(), fraction(10, b, 10000))
885+ $Tuple2(nil, eO)
886+ }
887+
888+
889+
890+@Callable(bz)
891+func getSwapFeeREADONLY (eP) = {
892+ let eQ = {
893+ let bb = getString(this, aE(eP))
894+ if ($isInstanceOf(bb, "String"))
895+ then {
896+ let bc = bb
897+ let eR = split(bc, l)
898+ let eS = parseIntValue(eR[1])
899+ let eT = parseIntValue(eR[2])
900+ $Tuple2(eS, eT)
901+ }
902+ else if ($isInstanceOf(bb, "Unit"))
903+ then unit
904+ else throw("Match error")
905+ }
906+ $Tuple2(nil, eQ)
907+ }
908+
909+
910+
911+@Callable(bz)
912+func poolInfoREADONLY (eU,eV) = {
913+ let eW = getInteger(this, af(eU))
914+ let eX = getInteger(this, af(eV))
915+ let eY = getString(this, aw(value(eW), value(eX)))
916+ let eZ = getString(this, ax(value(eY)))
917+ let dr = if (if (isDefined(eW))
918+ then isDefined(eX)
919+ else false)
920+ then isDefined(eY)
921+ else false
922+ let fa = if (dr)
923+ then $Tuple2(addressFromStringValue(value(eY)), aY(value(eZ)))
924+ else unit
925+ $Tuple2(nil, fa)
926+ }
927+
928+
929+
930+@Callable(bz)
931+func getPoolStatusREADONLY (aa) = {
932+ let ce = split(aU(au(aa)), l)
933+ let ai = ce[1]
934+ let aj = ce[2]
935+ let cv = split(aU(ah(ai, aj)), l)
936+ $Tuple2(nil, parseIntValue(cv[v]))
937+ }
938+
939+
940+
941+@Callable(bz)
942+func getPoolConfigREADONLY (aa) = {
943+ let ce = split(aU(au(aa)), l)
944+ let ai = ce[1]
945+ let aj = ce[2]
946+ let cv = split(aU(ah(ai, aj)), l)
947+ $Tuple2(nil, cv)
948+ }
949+
950+
951+
952+@Callable(bz)
953+func getPoolConfigByLpAssetIdREADONLY (dw) = {
954+ let ce = split(aU(ao(dw)), l)
955+ let ai = ce[1]
956+ let aj = ce[2]
957+ let cv = split(aU(ah(ai, aj)), l)
958+ $Tuple2(nil, cv)
959+ }
960+
961+
962+
963+@Callable(bz)
964+func poolExistsREADONLY (aA,aB) = $Tuple2(nil, cs(aA, aB))
965+
966+
967+
968+@Callable(bz)
969+func skipOrderValidationREADONLY (aa) = $Tuple2(nil, valueOrElse(getBoolean(aH(aa)), false))
970+
971+
972+
973+@Callable(bz)
974+func getChangeAmpConfigREADONLY (aa) = {
975+ let fb = getIntegerValue(aI(aa))
976+ let fc = getIntegerValue(aJ(aa))
977+ let fd = getIntegerValue(aK(aa))
978+ $Tuple2(nil, [fb, fc, fd])
979+ }
980+
981+
982+
983+@Callable(bz)
984+func getPoolWeightREADONLY (bR) = {
985+ let aa = aU(ay(bR))
986+ let fe = valueOrElse(getInteger(Z(aa)), 0)
944987 $Tuple2(nil, fe)
945988 }
946989
947990
948-
949-@Callable(bE)
950-func getOutFeeREADONLY (af) = {
951- let fe = cu(aK(af), aL(), fraction(10, b, 10000))
952- $Tuple2(nil, fe)
953- }
954-
955-
956-
957-@Callable(bE)
958-func getSwapFeeREADONLY (ff) = {
959- let fg = {
960- let bg = getString(this, aJ(ff))
961- if ($isInstanceOf(bg, "String"))
991+@Verifier(ff)
992+func fg () = {
993+ let fh = {
994+ let bb = bu()
995+ if ($isInstanceOf(bb, "ByteVector"))
962996 then {
963- let bh = bg
964- let fh = split(bh, m)
965- let fi = parseIntValue(fh[1])
966- let fj = parseIntValue(fh[2])
967- $Tuple2(fi, fj)
997+ let bB = bb
998+ bB
968999 }
969- else if ($isInstanceOf(bg, "Unit"))
970- then unit
1000+ else if ($isInstanceOf(bb, "Unit"))
1001+ then ff.senderPublicKey
9711002 else throw("Match error")
9721003 }
973- $Tuple2(nil, fg)
974- }
975-
976-
977-
978-@Callable(bE)
979-func poolInfoREADONLY (fk,fl) = {
980- let fm = getInteger(this, ak(fk))
981- let fn = getInteger(this, ak(fl))
982- let fo = getString(this, aB(value(fm), value(fn)))
983- let fp = getString(this, aC(value(fo)))
984- let dH = if (if (isDefined(fm))
985- then isDefined(fn)
986- else false)
987- then isDefined(fo)
988- else false
989- let fq = if (dH)
990- then $Tuple2(addressFromStringValue(value(fo)), bd(value(fp)))
991- else unit
992- $Tuple2(nil, fq)
993- }
994-
995-
996-
997-@Callable(bE)
998-func getPoolStatusREADONLY (af) = {
999- let cj = split(aZ(az(af)), m)
1000- let an = cj[1]
1001- let ao = cj[2]
1002- let cA = split(aZ(am(an, ao)), m)
1003- $Tuple2(nil, parseIntValue(cA[w]))
1004- }
1005-
1006-
1007-
1008-@Callable(bE)
1009-func getPoolConfigREADONLY (af) = {
1010- let cj = split(aZ(az(af)), m)
1011- let an = cj[1]
1012- let ao = cj[2]
1013- let cA = split(aZ(am(an, ao)), m)
1014- $Tuple2(nil, cA)
1015- }
1016-
1017-
1018-
1019-@Callable(bE)
1020-func getPoolConfigByLpAssetIdREADONLY (dM) = {
1021- let cj = split(aZ(at(dM)), m)
1022- let an = cj[1]
1023- let ao = cj[2]
1024- let cA = split(aZ(am(an, ao)), m)
1025- $Tuple2(nil, cA)
1026- }
1027-
1028-
1029-
1030-@Callable(bE)
1031-func poolExistsREADONLY (aF,aG) = $Tuple2(nil, cx(aF, aG))
1032-
1033-
1034-
1035-@Callable(bE)
1036-func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aM(af)), false))
1037-
1038-
1039-
1040-@Callable(bE)
1041-func getChangeAmpConfigREADONLY (af) = {
1042- let fr = getIntegerValue(aN(af))
1043- let fs = getIntegerValue(aO(af))
1044- let ft = getIntegerValue(aP(af))
1045- $Tuple2(nil, [fr, fs, ft])
1046- }
1047-
1048-
1049-
1050-@Callable(bE)
1051-func getPoolWeightREADONLY (bW) = {
1052- let af = aZ(aD(bW))
1053- let fu = valueOrElse(getInteger(ae(af)), 0)
1054- $Tuple2(nil, fu)
1055- }
1056-
1057-
1058-
1059-@Callable(bE)
1060-func deletePool (aA) = {
1061- let dU = ci(aA)
1062- let dn = if ((toString(bE.caller) == cE(aA)))
1063- then if (cM(aA))
1064- then true
1065- else K("Pool is not empty")
1066- else bF(bE)
1067- if ((dn == dn))
1068- then {
1069- let fv = if ((valueOrElse(getInteger(ae(aA)), 0) == 0))
1070- then true
1071- else K("Pool weight is not Zero")
1072- if ((fv == fv))
1073- then {
1074- let fw = if ((dU[w] == toString(r)))
1075- then true
1076- else K("Pool must be SHUTDOWN (4)")
1077- if ((fw == fw))
1078- then {
1079- let fx = cD(aA)
1080- let aF = fx._1
1081- let aG = fx._2
1082- let bW = fx._3
1083- let an = fx._4
1084- let ao = fx._5
1085- let cG = addressFromStringValue(getStringValue(Z()))
1086- let fy = invoke(cG, "deletePool", [aF, aG], nil)
1087- if ((fy == fy))
1088- then {
1089- let dt = addressFromStringValue(getStringValue(Y()))
1090- let fz = invoke(dt, "deletePool", [aF, aG], nil)
1091- if ((fz == fz))
1092- then {
1093- let ds = addressFromStringValue(getStringValue(X()))
1094- let fA = invoke(ds, "deletePool", [aF, aG], nil)
1095- if ((fA == fA))
1096- then [DeleteEntry(aC(aA)), DeleteEntry(az(aA)), DeleteEntry(av(toString(an), toString(ao))), DeleteEntry(aB(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(at(bW)), DeleteEntry(aD(bW)), DeleteEntry(aE(aF, aG)), DeleteEntry(ae(aA)), DeleteEntry(ay(aA)), DeleteEntry(aH(aA)), DeleteEntry(aK(aA)), DeleteEntry(aM(aA)), DeleteEntry(aN(aA)), DeleteEntry(aO(aA)), DeleteEntry(aP(aA))]
1097- else throw("Strict value is not equal to itself.")
1098- }
1099- else throw("Strict value is not equal to itself.")
1100- }
1101- else throw("Strict value is not equal to itself.")
1102- }
1103- else throw("Strict value is not equal to itself.")
1104- }
1105- else throw("Strict value is not equal to itself.")
1106- }
1107- else throw("Strict value is not equal to itself.")
1108- }
1109-
1110-
1111-@Verifier(fB)
1112-func fC () = {
1113- let fD = {
1114- let bg = bz()
1115- if ($isInstanceOf(bg, "ByteVector"))
1116- then {
1117- let bG = bg
1118- bG
1119- }
1120- else if ($isInstanceOf(bg, "Unit"))
1121- then fB.senderPublicKey
1122- else throw("Match error")
1123- }
1124- sigVerify(fB.bodyBytes, fB.proofs[0], fD)
1004+ sigVerify(ff.bodyBytes, ff.proofs[0], fh)
11251005 }
11261006
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 1000000000000
99
1010 let d = 18
1111
1212 let e = toBigInt(1000000000000000000)
1313
1414 let f = b
1515
1616 let g = "GWXvirtualPOOL"
1717
1818 let h = "POOLS_LP"
1919
2020 let i = 2000000
2121
2222 let j = "WAVES"
2323
24-let k = "factory_v2.ride"
24+let k = ((100 * 1000) * 1000)
2525
26-let l = ((100 * 1000) * 1000)
26+let l = "__"
2727
28-let m = "__"
28+let m = ""
2929
30-let n = ""
30+let n = 1
3131
32-let o = 1
32+let o = 2
3333
34-let p = 2
34+let p = 3
3535
36-let q = 3
36+let q = 4
3737
38-let r = 4
38+let r = 1
3939
40-let s = 1
40+let s = 2
4141
42-let t = 2
42+let t = 3
4343
44-let u = 3
44+let u = 1
4545
46-let v = 1
46+let v = 2
4747
48-let w = 2
48+let w = 3
4949
50-let x = 3
50+let x = 4
5151
52-let y = 4
52+let y = 5
5353
54-let z = 5
54+let z = 6
5555
56-let A = 6
56+let A = 7
5757
58-let B = 7
58+let B = 8
5959
60-let C = 8
60+let C = 9
6161
62-let D = 9
62+let D = 10
6363
64-let E = 10
64+let E = 11
6565
66-let F = 11
66+let F = "WX_EMISSION"
6767
68-let G = "WX_EMISSION"
68+let G = [F]
6969
70-let H = [G]
71-
72-func I (J) = makeString([k, ": ", J], "")
70+func H () = "%s__allowedLpScriptHash"
7371
7472
75-func K (J) = throw(I(J))
73+func I () = "%s__allowedLpStableScriptHash"
7674
7775
78-func L () = "%s__allowedLpScriptHash"
76+func J () = "%s__swapContract"
7977
8078
81-func M () = "%s__allowedLpStableScriptHash"
79+func K () = "%s__factoryConfig"
8280
8381
84-func N () = "%s__swapContract"
82+func L () = "%s__lpTokensList"
8583
8684
87-func O () = "%s__factoryConfig"
85+func M () = "%s%s__pool__scriptHash"
8886
8987
90-func P () = "%s__lpTokensList"
88+func N () = "%s%s__matcher__publicKey"
9189
9290
93-func Q () = "%s%s__pool__scriptHash"
91+func O () = "%s__legacyFactoryContract"
9492
9593
96-func R () = "%s%s__matcher__publicKey"
94+func P () = "%s__legacyPools"
9795
9896
99-func S () = "%s__legacyFactoryContract"
97+func Q () = "%s__managerPublicKey"
10098
10199
102-func T () = "%s__legacyPools"
100+func R () = "%s__managerVaultAddress"
103101
104102
105-func U () = "%s__managerPublicKey"
103+func S () = "%s__adminPubKeys"
106104
107105
108-func V () = "%s__managerVaultAddress"
106+func T () = "%s__assetsStoreContract"
109107
110108
111-func W () = "%s__adminPubKeys"
109+func U () = "%s__votingEmissionContract"
112110
113111
114-func X () = "%s__assetsStoreContract"
112+func V () = makeString(["%s", "priceAssets"], l)
115113
116114
117-func Y () = "%s__votingEmissionContract"
115+func W () = "%s__priceDecimals"
118116
119117
120-func Z () = "%s__userPoolsContract"
118+func X () = "%s__shutdown"
121119
122120
123-func aa () = makeString(["%s", "priceAssets"], m)
121+func Y () = "%s__nextInternalAssetId"
124122
125123
126-func ab () = "%s__priceDecimals"
124+func Z (aa) = ("%s%s__poolWeight__" + aa)
127125
128126
129-func ac () = "%s__shutdown"
127+func ab (aa,ac) = ((("%s%s__poolWeight__" + aa) + "__") + toString(ac))
130128
131129
132-func ad () = "%s__nextInternalAssetId"
130+func ad (ae) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ae))
133131
134132
135-func ae (af) = ("%s%s__poolWeight__" + af)
133+func af (ag) = ("%s%s%s__mappings__baseAsset2internalId__" + ag)
136134
137135
138-func ag (af,ah) = ((("%s%s__poolWeight__" + af) + "__") + toString(ah))
136+func ah (ai,aj) = (((("%d%d%s__" + ai) + "__") + aj) + "__config")
139137
140138
141-func ai (aj) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(aj))
142-
143-
144-func ak (al) = ("%s%s%s__mappings__baseAsset2internalId__" + al)
145-
146-
147-func am (an,ao) = (((("%d%d%s__" + an) + "__") + ao) + "__config")
148-
149-
150-func ap (aq) = {
151- let ar = aq
152- let an = ar._1
153- let ao = ar._2
154- makeString(["%d%d%s", toString(an), toString(ao), "oneTokenOperationsDisabled"], m)
139+func ak (al) = {
140+ let am = al
141+ let ai = am._1
142+ let aj = am._2
143+ makeString(["%d%d%s", toString(ai), toString(aj), "oneTokenOperationsDisabled"], l)
155144 }
156145
157146
158-func as () = makeString(["%s", "oneTokenOperationsDisabled"], m)
147+func an () = makeString(["%s", "oneTokenOperationsDisabled"], l)
159148
160149
161-func at (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2Pool")
150+func ao (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2Pool")
162151
163152
164-func av (aw,ax) = (((("%d%d%s%s__" + aw) + "__") + ax) + "__mappings__PoolAssets2LpAsset")
153+func aq (ar,as) = (((("%d%d%s%s__" + ar) + "__") + as) + "__mappings__PoolAssets2LpAsset")
165154
166155
167-func ay (af) = ("%s%s__spread__" + af)
156+func at (aa) = ("%s%s__spread__" + aa)
168157
169158
170-func az (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2PoolAssets")
159+func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2PoolAssets")
171160
172161
173-func aB (aw,ax) = (((("%d%d%s%s__" + toString(aw)) + "__") + toString(ax)) + "__mappings__poolAssets2PoolContract")
162+func aw (ar,as) = (((("%d%d%s%s__" + toString(ar)) + "__") + toString(as)) + "__mappings__poolAssets2PoolContract")
174163
175164
176-func aC (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2LpAsset")
165+func ax (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
177166
178167
179-func aD (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2PoolContract")
168+func ay (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2PoolContract")
180169
181170
182-func aE (aF,aG) = ((("%s%s%s__wxEmission__" + aF) + "__") + aG)
171+func az (aA,aB) = ((("%s%s%s__wxEmission__" + aA) + "__") + aB)
183172
184173
185-func aH (af) = ("%s%s__inFee__" + af)
174+func aC (aa) = ("%s%s__inFee__" + aa)
186175
187176
188-func aI () = "%s__inFeeDefault"
177+func aD () = "%s__inFeeDefault"
189178
190179
191-func aJ (af) = ("%s%s__swapFee__" + af)
180+func aE (aa) = ("%s%s__swapFee__" + aa)
192181
193182
194-func aK (af) = ("%s%s__outFee__" + af)
183+func aF (aa) = ("%s%s__outFee__" + aa)
195184
196185
197-func aL () = "%s__outFeeDefault"
186+func aG () = "%s__outFeeDefault"
198187
199188
200-func aM (af) = ("%s%s__skipOrderValidation__" + af)
189+func aH (aa) = ("%s%s__skipOrderValidation__" + aa)
201190
202191
203-func aN (af) = ("%s%s__changeAmpDelay__" + af)
192+func aI (aa) = ("%s%s__changeAmpDelay__" + aa)
204193
205194
206-func aO (af) = ("%s%s__changeAmpDelta__" + af)
195+func aJ (aa) = ("%s%s__changeAmpDelta__" + aa)
207196
208197
209-func aP (af) = ("%s%s__changeAmpTarget__" + af)
198+func aK (aa) = ("%s%s__changeAmpTarget__" + aa)
210199
211200
212-func aQ () = "%s__sWavesProxyAddress"
201+func aL () = "%s__sWavesProxyAddress"
213202
214203
215-func aR () = "%s__sWavesAssetId"
204+func aM () = "%s__sWavesAssetId"
216205
217206
218-func aS () = "%s__stakingProfitAddress"
207+func aN () = "%s__stakingProfitAddress"
219208
220209
221-func aT (af,aU) = makeString(["%s%s%s", "leasedRatio", af, aU], m)
210+func aO (aa,aP) = makeString(["%s%s%s", "leasedRatio", aa, aP], l)
222211
223212
224-func aV (aU) = makeString(["%s%s", "leasedRatioDefault", aU], m)
213+func aQ (aP) = makeString(["%s%s", "leasedRatioDefault", aP], l)
225214
226215
227-func aW (af,aU) = makeString(["%s%s%s", "leasedRatioTolerance", af, aU], m)
216+func aR (aa,aP) = makeString(["%s%s%s", "leasedRatioTolerance", aa, aP], l)
228217
229218
230-func aX (af,aU) = makeString(["%s%s%s", "minBalance", af, aU], m)
219+func aS (aa,aP) = makeString(["%s%s%s", "minBalance", aa, aP], l)
231220
232221
233-func aY (aU) = makeString(["%s%s", "minBalanceDefault", aU], m)
222+func aT (aP) = makeString(["%s%s", "minBalanceDefault", aP], l)
234223
235224
236-func aZ (ba) = valueOrErrorMessage(getString(this, ba), ("No data for this.key=" + ba))
225+func aU (aV) = valueOrErrorMessage(getString(this, aV), ("No data for this.key=" + aV))
237226
238227
239-func bb (ba) = valueOrErrorMessage(getBoolean(this, ba), ("No data for this.key=" + ba))
228+func aW (aV) = valueOrErrorMessage(getBoolean(this, aV), ("No data for this.key=" + aV))
240229
241230
242-func bc (ba) = valueOrErrorMessage(getInteger(this, ba), ("No data for this.key=" + ba))
231+func aX (aV) = valueOrErrorMessage(getInteger(this, aV), ("No data for this.key=" + aV))
243232
244233
245-func bd (be) = if ((be == j))
234+func aY (aZ) = if ((aZ == j))
246235 then unit
247- else fromBase58String(be)
236+ else fromBase58String(aZ)
248237
249238
250-func bf () = {
251- let bg = getString(V())
252- if ($isInstanceOf(bg, "String"))
239+func ba () = {
240+ let bb = getString(R())
241+ if ($isInstanceOf(bb, "String"))
253242 then {
254- let bh = bg
255- addressFromStringValue(bh)
243+ let bc = bb
244+ addressFromStringValue(bc)
256245 }
257246 else this
258247 }
259248
260249
261-let bi = 1
250+let bd = 1
262251
263-let bj = 2
252+let be = 2
264253
265-let bk = 3
254+let bf = 3
266255
267-let bl = 4
256+let bg = 4
268257
269-let bm = 5
258+let bh = 5
270259
271-let bn = 6
260+let bi = 6
272261
273-let bo = 7
262+let bj = 7
274263
275-let bp = 8
264+let bk = 8
276265
277-let bq = 9
266+let bl = 9
278267
279-let br = 10
268+let bm = 10
280269
281-let bs = 11
270+let bn = 11
282271
283-func bt (bu) = addressFromStringValue(bu[bj])
272+func bo (bp) = addressFromStringValue(bp[be])
284273
285274
286-func bv (bu) = addressFromStringValue(bu[bm])
275+func bq (bp) = addressFromStringValue(bp[bh])
287276
288277
289-func bw (bu) = addressFromStringValue(bu[bi])
278+func br (bp) = addressFromStringValue(bp[bd])
290279
291280
292-func bx (bu) = addressFromStringValue(bu[br])
281+func bs (bp) = addressFromStringValue(bp[bm])
293282
294283
295-func by () = {
296- let bg = getString(aa())
297- if ($isInstanceOf(bg, "String"))
284+func bt () = {
285+ let bb = getString(V())
286+ if ($isInstanceOf(bb, "String"))
298287 then {
299- let bh = bg
300- if ((size(bh) == 0))
288+ let bc = bb
289+ if ((size(bc) == 0))
301290 then nil
302- else split_4C(bh, m)
291+ else split_4C(bc, l)
303292 }
304293 else nil
305294 }
306295
307296
308-func bz () = {
309- let bA = bf()
310- let bg = getString(bA, U())
311- if ($isInstanceOf(bg, "String"))
297+func bu () = {
298+ let bv = ba()
299+ let bb = getString(bv, Q())
300+ if ($isInstanceOf(bb, "String"))
312301 then {
313- let bh = bg
314- fromBase58String(bh)
302+ let bc = bb
303+ fromBase58String(bc)
315304 }
316- else if ($isInstanceOf(bg, "Unit"))
305+ else if ($isInstanceOf(bb, "Unit"))
317306 then unit
318307 else throw("Match error")
319308 }
320309
321310
322-let bB = K("Permission denied")
311+let bw = throw("Permission denied")
323312
324-let bC = K("Test error here")
313+let bx = throw("Test error here")
325314
326-func bD (bE) = if ((bE.caller == this))
315+func by (bz) = if ((bz.caller == this))
327316 then true
328- else bB
317+ else bw
329318
330319
331-func bF (bE) = {
332- let bg = bz()
333- if ($isInstanceOf(bg, "ByteVector"))
320+func bA (bz) = {
321+ let bb = bu()
322+ if ($isInstanceOf(bb, "ByteVector"))
334323 then {
335- let bG = bg
336- if ((bE.callerPublicKey == bG))
324+ let bB = bb
325+ if ((bz.callerPublicKey == bB))
337326 then true
338- else bB
327+ else bw
339328 }
340- else if ($isInstanceOf(bg, "Unit"))
341- then bD(bE)
329+ else if ($isInstanceOf(bb, "Unit"))
330+ then by(bz)
342331 else throw("Match error")
343332 }
344333
345334
346-func bH (bI,bJ,bK,bL,bM,bN,bO,bP,bQ,bR,bS) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR, bS], m)
335+func bC (bD,bE,bF,bG,bH,bI,bJ,bK,bL,bM,bN) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bD, bE, bF, bG, bH, bI, bJ, bK, bL, bM, bN], l)
347336
348337
349-func bT (bI,bJ,bK,bL,bM,bN,bO) = makeString(["%s%s%s%s%s%s", bI, bJ, bK, bL, bM, bN, bO], m)
338+func bO (bD,bE,bF,bG,bH,bI,bJ) = makeString(["%s%s%s%s%s%s", bD, bE, bF, bG, bH, bI, bJ], l)
350339
351340
352-func bU (af,bV,bW,bX,bY,bZ,ca,cb,cc,cd,ce) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bV, bW, bX, bY, toString(bZ), toString(ca), toString(cb), toString(cc), toString(cd), ce], m)
341+func bP (aa,bQ,bR,bS,bT,bU,bV,bW,bX,bY,bZ) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", aa, bQ, bR, bS, bT, toString(bU), toString(bV), toString(bW), toString(bX), toString(bY), bZ], l)
353342
354343
355-func cf (cg,ch) = makeString(["%d%d", toString(cg), toString(ch)], m)
344+func ca (cb,cc) = makeString(["%d%d", toString(cb), toString(cc)], l)
356345
357346
358-func ci (af) = {
359- let cj = split(aZ(az(af)), m)
360- let an = cj[1]
361- let ao = cj[2]
362- split(aZ(am(an, ao)), m)
347+func cd (aa) = {
348+ let ce = split(aU(au(aa)), l)
349+ let ai = ce[1]
350+ let aj = ce[2]
351+ split(aU(ah(ai, aj)), l)
363352 }
364353
365354
366-func ck (cl,cm) = {
367- let cn = valueOrElse(getInteger(this, ak(cl)), 0)
368- let co = valueOrElse(getInteger(this, ad()), 0)
369- let cp = if ((cn == 0))
355+func cf (cg,ch) = {
356+ let ci = valueOrElse(getInteger(this, af(cg)), 0)
357+ let cj = valueOrElse(getInteger(this, Y()), 0)
358+ let ck = if ((ci == 0))
370359 then {
371- let cq = (co + cm)
372- $Tuple3(cq, [IntegerEntry(ad(), cq), IntegerEntry(ak(cl), cq), StringEntry(ai(cq), cl)], true)
360+ let cl = (cj + ch)
361+ $Tuple3(cl, [IntegerEntry(Y(), cl), IntegerEntry(af(cg), cl), StringEntry(ad(cl), cg)], true)
373362 }
374- else $Tuple3(cn, nil, false)
375- cp
363+ else $Tuple3(ci, nil, false)
364+ ck
376365 }
377366
378367
379-func cr (bE) = {
380- let cs = split(valueOrElse(getString(W()), n), m)
381- if (containsElement(cs, toBase58String(bE.callerPublicKey)))
368+func cm (bz) = {
369+ let cn = split(valueOrElse(getString(S()), m), l)
370+ if (containsElement(cn, toBase58String(bz.callerPublicKey)))
382371 then true
383372 else {
384- let ct = bF(bE)
385- if ((ct == ct))
373+ let co = bA(bz)
374+ if ((co == co))
386375 then true
387376 else throw("Strict value is not equal to itself.")
388377 }
389378 }
390379
391380
392-func cu (ba,cv,cw) = valueOrElse(getInteger(this, ba), valueOrElse(getInteger(this, cv), cw))
381+func cp (aV,cq,cr) = valueOrElse(getInteger(this, aV), valueOrElse(getInteger(this, cq), cr))
393382
394383
395-func cx (aF,aG) = {
396- let an = getInteger(ak(aF))
397- let ao = getInteger(ak(aG))
398- if (if ((an == unit))
384+func cs (aA,aB) = {
385+ let ai = getInteger(af(aA))
386+ let aj = getInteger(af(aB))
387+ if (if ((ai == unit))
399388 then true
400- else (ao == unit))
389+ else (aj == unit))
401390 then false
402391 else {
403- let cy = toString(value(an))
404- let cz = toString(value(ao))
405- let cA = getString(am(cy, cz))
406- let cB = getString(am(cz, cy))
407- let cC = if ((cA != unit))
392+ let ct = toString(value(ai))
393+ let cu = toString(value(aj))
394+ let cv = getString(ah(ct, cu))
395+ let cw = getString(ah(cu, ct))
396+ let cx = if ((cv != unit))
408397 then true
409- else (cB != unit)
410- cC
398+ else (cw != unit)
399+ cx
411400 }
412401 }
413402
414403
415-func cD (aA) = {
416- let cj = {
417- let bg = getString(az(aA))
418- if ($isInstanceOf(bg, "String"))
419- then {
420- let bh = bg
421- split(bh, m)
422- }
423- else K(makeString([aA, "pool is not found"], " "))
424- }
425- let an = parseIntValue(cj[1])
426- let ao = parseIntValue(cj[2])
427- let aF = getStringValue(ai(an))
428- let aG = getStringValue(ai(ao))
429- let bW = getStringValue(aC(aA))
430- $Tuple5(aF, aG, bW, an, ao)
431- }
432-
433-
434-func cE (aA) = {
435- let cF = cD(aA)
436- let aF = cF._1
437- let aG = cF._2
438- let bW = cF._3
439- let an = cF._4
440- let ao = cF._5
441- let cG = addressFromStringValue(getStringValue(Z()))
442- let cH = invoke(cG, "getPoolCreatorREADONLY", [aF, aG], nil)
443- cH
444- }
445-
446-
447-func cI (cJ,cK) = {
448- let cL = addressFromStringValue(cJ)
449- if ((cK == "WAVES"))
450- then wavesBalance(cL).regular
451- else {
452- let aU = fromBase58String(cK)
453- assetBalance(cL, aU)
454- }
455- }
456-
457-
458-func cM (aA) = {
459- let cN = cD(aA)
460- let aF = cN._1
461- let aG = cN._2
462- let bW = cN._3
463- let an = cN._4
464- let ao = cN._5
465- if ((cI(aA, aF) == 0))
466- then (cI(aA, aG) == 0)
467- else false
468- }
469-
470-
471-@Callable(bE)
472-func getSwapContractREADONLY () = $Tuple2(nil, aZ(N()))
404+@Callable(bz)
405+func getSwapContractREADONLY () = $Tuple2(nil, aU(J()))
473406
474407
475408
476-@Callable(bE)
477-func getPoolLeaseConfigREADONLY (af,aU) = {
478- let cO = {
479- let bg = getInteger(this, aT(af, aU))
480- if ($isInstanceOf(bg, "Int"))
409+@Callable(bz)
410+func getPoolLeaseConfigREADONLY (aa,aP) = {
411+ let cy = {
412+ let bb = getInteger(this, aO(aa, aP))
413+ if ($isInstanceOf(bb, "Int"))
481414 then {
482- let cP = bg
483- $Tuple2(true, min([100, max([0, cP])]))
415+ let cz = bb
416+ $Tuple2(true, min([100, max([0, cz])]))
484417 }
485418 else {
486- let cQ = getInteger(this, aV(aU))
487- if ($isInstanceOf(cQ, "Int"))
419+ let cA = getInteger(this, aQ(aP))
420+ if ($isInstanceOf(cA, "Int"))
488421 then {
489- let cR = cQ
490- $Tuple2(true, min([100, max([0, cR])]))
422+ let cB = cA
423+ $Tuple2(true, min([100, max([0, cB])]))
491424 }
492425 else $Tuple2(false, 0)
493426 }
494427 }
495- let cS = cO._1
496- let cT = cO._2
497- let cU = {
498- let bg = getInteger(this, aX(af, aU))
499- if ($isInstanceOf(bg, "Int"))
428+ let cC = cy._1
429+ let cD = cy._2
430+ let cE = {
431+ let bb = getInteger(this, aS(aa, aP))
432+ if ($isInstanceOf(bb, "Int"))
500433 then {
501- let cV = bg
502- max([0, cV])
434+ let cF = bb
435+ max([0, cF])
503436 }
504437 else {
505- let cQ = getInteger(this, aY(aU))
506- if ($isInstanceOf(cQ, "Int"))
438+ let cA = getInteger(this, aT(aP))
439+ if ($isInstanceOf(cA, "Int"))
507440 then {
508- let cW = cQ
509- max([0, cW])
441+ let cG = cA
442+ max([0, cG])
510443 }
511444 else 0
512445 }
513446 }
514- let cX = if ((aU == "WAVES"))
515- then $Tuple3(valueOrElse(getString(this, aQ()), ""), getString(this, valueOrElse(aR(), "")), c)
447+ let cH = if ((aP == "WAVES"))
448+ then $Tuple3(valueOrElse(getString(this, aL()), ""), getString(this, valueOrElse(aM(), "")), c)
516449 else $Tuple3("", "", 0)
517- let cY = cX._1
518- let cZ = cX._2
519- let da = cX._3
520- let db = valueOrElse(getString(this, aS()), "")
521- $Tuple2(nil, $Tuple7(cS, cT, cU, cY, cZ, da, db))
450+ let cI = cH._1
451+ let cJ = cH._2
452+ let cK = cH._3
453+ let cL = valueOrElse(getString(this, aN()), "")
454+ $Tuple2(nil, $Tuple7(cC, cD, cE, cI, cJ, cK, cL))
522455 }
523456
524457
525458
526-@Callable(bE)
527-func getLpAssetFromPoolAssetsREADONLY (dc,dd) = if (if ((dc == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
528- then (dd == "WAVES")
459+@Callable(bz)
460+func getLpAssetFromPoolAssetsREADONLY (cM,cN) = if (if ((cM == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
461+ then (cN == "WAVES")
529462 else false)
530463 then $Tuple2(nil, unit)
531464 else {
532- let de = value(getInteger(this, ak(dc)))
533- let df = value(getInteger(this, ak(dd)))
534- let dg = getString(this, av(toString(de), toString(df)))
535- let dh = if ((dg == unit))
465+ let cO = value(getInteger(this, af(cM)))
466+ let cP = value(getInteger(this, af(cN)))
467+ let cQ = getString(this, aq(toString(cO), toString(cP)))
468+ let cR = if ((cQ == unit))
536469 then unit
537- else drop(value(dg), 4)
538- $Tuple2(nil, dh)
470+ else drop(value(cQ), 4)
471+ $Tuple2(nil, cR)
539472 }
540473
541474
542475
543-@Callable(bE)
544-func getPoolAddressFromLpAssetREADONLY (di) = $Tuple2(nil, valueOrElse(getString(this, aD(di)), ""))
476+@Callable(bz)
477+func getPoolAddressFromLpAssetREADONLY (cS) = $Tuple2(nil, valueOrElse(getString(this, ay(cS)), ""))
545478
546479
547480
548-@Callable(bE)
549-func constructor (dj,dk,bK,bL,bM,bN,dl,dm) = {
550- let dn = bF(bE)
551- if ((dn == dn))
552- then [StringEntry(O(), bT(dj, dk, bK, bL, bM, bN, dl)), IntegerEntry(ab(), dm)]
481+@Callable(bz)
482+func constructor (cT,cU,bF,bG,bH,bI,cV,cW) = {
483+ let cX = bA(bz)
484+ if ((cX == cX))
485+ then [StringEntry(K(), bO(cT, cU, bF, bG, bH, bI, cV)), IntegerEntry(W(), cW)]
553486 else throw("Strict value is not equal to itself.")
554487 }
555488
556489
557490
558-@Callable(bE)
559-func constructorV2 (do) = {
560- let dn = bF(bE)
561- if ((dn == dn))
491+@Callable(bz)
492+func constructorV2 (cY) = {
493+ let cX = bA(bz)
494+ if ((cX == cX))
562495 then {
563- let dp = addressFromPublicKey(fromBase58String(do))
564- if ((dp == dp))
565- then [StringEntry(R(), do)]
496+ let cZ = addressFromPublicKey(fromBase58String(cY))
497+ if ((cZ == cZ))
498+ then [StringEntry(N(), cY)]
566499 else throw("Strict value is not equal to itself.")
567500 }
568501 else throw("Strict value is not equal to itself.")
569502 }
570503
571504
572505
573-@Callable(bE)
574-func constructorV3 (bP,bQ,bR,bS) = {
575- let dn = bF(bE)
576- if ((dn == dn))
506+@Callable(bz)
507+func constructorV3 (bK,bL,bM,bN) = {
508+ let cX = bA(bz)
509+ if ((cX == cX))
577510 then {
578- let bu = split(aZ(O()), m)
579-[StringEntry(O(), bH(bu[1], bu[2], bu[3], bu[4], bu[5], bu[6], bu[7], bP, bQ, bR, bS))]
511+ let bp = split(aU(K()), l)
512+[StringEntry(K(), bC(bp[1], bp[2], bp[3], bp[4], bp[5], bp[6], bp[7], bK, bL, bM, bN))]
580513 }
581514 else throw("Strict value is not equal to itself.")
582515 }
583516
584517
585518
586-@Callable(bE)
587-func constructorV4 (dq,dr) = {
588- let dn = bF(bE)
589- if ((dn == dn))
590- then [StringEntry(S(), dq), StringEntry(T(), makeString(dr, m))]
519+@Callable(bz)
520+func constructorV4 (da,db) = {
521+ let cX = bA(bz)
522+ if ((cX == cX))
523+ then [StringEntry(O(), da), StringEntry(P(), makeString(db, l))]
591524 else throw("Strict value is not equal to itself.")
592525 }
593526
594527
595528
596-@Callable(bE)
597-func constructorV5 (ds) = {
598- let dn = bF(bE)
599- if ((dn == dn))
600- then [StringEntry(X(), ds)]
529+@Callable(bz)
530+func constructorV5 (dc) = {
531+ let cX = bA(bz)
532+ if ((cX == cX))
533+ then [StringEntry(T(), dc)]
601534 else throw("Strict value is not equal to itself.")
602535 }
603536
604537
605538
606-@Callable(bE)
607-func constructorV6 (dt,du) = {
608- let dv = [bF(bE), if ((addressFromString(dt) != unit))
539+@Callable(bz)
540+func constructorV6 (dd,de) = {
541+ let df = [bA(bz), if ((addressFromString(dd) != unit))
609542 then true
610543 else "invalid voting emission contract address"]
611- if ((dv == dv))
612- then [StringEntry(Y(), dt), StringEntry(aa(), makeString(du, m))]
544+ if ((df == df))
545+ then [StringEntry(U(), dd), StringEntry(V(), makeString(de, l))]
613546 else throw("Strict value is not equal to itself.")
614547 }
615548
616549
617550
618-@Callable(bE)
619-func setAdmins (dw) = {
620- let dn = bF(bE)
621- if ((dn == dn))
622- then [StringEntry(W(), makeString(dw, m))]
551+@Callable(bz)
552+func setAdmins (dg) = {
553+ let cX = bA(bz)
554+ if ((cX == cX))
555+ then [StringEntry(S(), makeString(dg, l))]
623556 else throw("Strict value is not equal to itself.")
624557 }
625558
626559
627560
628-@Callable(bE)
629-func activateNewPool (af,bX,bY,dx,dy,dz,ce,dA) = {
630- let dn = cr(bE)
631- if ((dn == dn))
632- then if (isDefined(getString(az(af))))
633- then K((("Pool address " + af) + " already registered."))
561+@Callable(bz)
562+func activateNewPool (aa,bS,bT,dh,di,dj,bZ,dk) = {
563+ let cX = cm(bz)
564+ if ((cX == cX))
565+ then if (isDefined(getString(au(aa))))
566+ then throw((("Pool address " + aa) + " already registered."))
634567 else {
635- let dB = ck(bX, 1)
636- let dC = dB._1
637- let dD = ck(bY, if (dB._3)
568+ let dl = cf(bS, 1)
569+ let dm = dl._1
570+ let dn = cf(bT, if (dl._3)
638571 then 2
639572 else 1)
640- let dE = dD._1
641- let dF = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
642- let dG = getBinaryValue(Q())
643- let dH = cx(bX, bY)
644- if (dH)
645- then K((((("Pool " + bX) + "/") + bY) + " has already been activated."))
573+ let do = dn._1
574+ let dp = valueOrErrorMessage(scriptHash(addressFromStringValue(aa)), ("No script has been found on pool account " + aa))
575+ let dq = getBinaryValue(M())
576+ let dr = cs(bS, bT)
577+ if (dr)
578+ then throw((((("Pool " + bS) + "/") + bT) + " has already been activated."))
646579 else {
647- let dI = value(getString(this, am(toString(dC), toString(dE))))
648- let dJ = if ((bX == "WAVES"))
649- then l
650- else pow(10, 0, value(assetInfo(fromBase58String(bX))).decimals, 0, 0, DOWN)
651- let dK = if ((bY == "WAVES"))
652- then l
653- else pow(10, 0, value(assetInfo(fromBase58String(bY))).decimals, 0, 0, DOWN)
654- let dL = Issue(dx, dy, 1, 8, true)
655- let bW = calculateAssetId(dL)
656- let dM = toBase58String(bW)
657- let dN = invoke(addressFromStringValue(af), "activate", [bX, bY], nil)
658- if ((dN == dN))
659- then if ((dN != "success"))
660- then K("Pool initialisation error happened.")
580+ let ds = value(getString(this, ah(toString(dm), toString(do))))
581+ let dt = if ((bS == "WAVES"))
582+ then k
583+ else pow(10, 0, value(assetInfo(fromBase58String(bS))).decimals, 0, 0, DOWN)
584+ let du = if ((bT == "WAVES"))
585+ then k
586+ else pow(10, 0, value(assetInfo(fromBase58String(bT))).decimals, 0, 0, DOWN)
587+ let dv = Issue(dh, di, 1, 8, true)
588+ let bR = calculateAssetId(dv)
589+ let dw = toBase58String(bR)
590+ let dx = invoke(addressFromStringValue(aa), "activate", [bS, bT], nil)
591+ if ((dx == dx))
592+ then if ((dx != "success"))
593+ then throw("Pool initialisation error happened.")
661594 else {
662- let ds = addressFromStringValue(aZ(X()))
663- let dO = invoke(ds, "createOrUpdate", [dM, dx, false], nil)
664- if ((dO == dO))
595+ let dc = addressFromStringValue(aU(T()))
596+ let dy = invoke(dc, "createOrUpdate", [dw, dh, false], nil)
597+ if ((dy == dy))
665598 then {
666- let dP = invoke(ds, "addLabel", [dM, h], nil)
667- if ((dP == dP))
599+ let dz = invoke(dc, "addLabel", [dw, h], nil)
600+ if ((dz == dz))
668601 then {
669- let dQ = invoke(ds, "setLogo", [dM, dA], nil)
670- if ((dQ == dQ))
602+ let dA = invoke(dc, "setLogo", [dw, dk], nil)
603+ if ((dA == dA))
671604 then {
672- let dR = invoke(ds, "addAssetsLink", [bX, bY, dM], nil)
673- if ((dR == dR))
605+ let dB = invoke(dc, "addAssetsLink", [bS, bT, dw], nil)
606+ if ((dB == dB))
674607 then {
675- let dS = invoke(ds, "increaseAssetPoolsNumber", [bX], nil)
676- if ((dS == dS))
677- then $Tuple2(((dB._2 ++ dD._2) ++ [dL, Burn(bW, 1), StringEntry(am(toString(dC), toString(dE)), bU(af, toString(o), dM, bX, bY, dJ, dK, dC, dE, l, ce)), StringEntry(at(dM), cf(dC, dE)), StringEntry(av(toString(dC), toString(dE)), ("%s__" + dM)), StringEntry(az(af), cf(dC, dE)), StringEntry(aB(dC, dE), af), StringEntry(aD(dM), af), StringEntry(aC(af), dM), IntegerEntry(ae(af), dz), IntegerEntry(ay(af), i)]), dM)
608+ let dC = invoke(dc, "increaseAssetPoolsNumber", [bS], nil)
609+ if ((dC == dC))
610+ then $Tuple2(((dl._2 ++ dn._2) ++ [dv, Burn(bR, 1), StringEntry(ah(toString(dm), toString(do)), bP(aa, toString(n), dw, bS, bT, dt, du, dm, do, k, bZ)), StringEntry(ao(dw), ca(dm, do)), StringEntry(aq(toString(dm), toString(do)), ("%s__" + dw)), StringEntry(au(aa), ca(dm, do)), StringEntry(aw(dm, do), aa), StringEntry(ay(dw), aa), StringEntry(ax(aa), dw), IntegerEntry(Z(aa), dj), IntegerEntry(at(aa), i)]), dw)
678611 else throw("Strict value is not equal to itself.")
679612 }
680613 else throw("Strict value is not equal to itself.")
681614 }
682615 else throw("Strict value is not equal to itself.")
683616 }
684617 else throw("Strict value is not equal to itself.")
685618 }
686619 else throw("Strict value is not equal to itself.")
687620 }
688621 else throw("Strict value is not equal to itself.")
689622 }
690623 }
691624 else throw("Strict value is not equal to itself.")
692625 }
693626
694627
695628
696-@Callable(bE)
697-func managePool (af,dT) = {
698- let dn = bF(bE)
699- if ((dn == dn))
629+@Callable(bz)
630+func managePool (aa,dD) = {
631+ let cX = bA(bz)
632+ if ((cX == cX))
700633 then {
701- let dU = ci(af)
702- let bV = dU[w]
703- let dM = dU[x]
704- let bX = dU[y]
705- let bY = dU[z]
706- let dJ = parseIntValue(dU[A])
707- let dK = parseIntValue(dU[B])
708- let dC = parseIntValue(dU[C])
709- let dE = parseIntValue(dU[D])
710- let dV = parseIntValue(dU[E])
711- let ce = dU[F]
712-[StringEntry(am(toString(dC), toString(dE)), bU(af, toString(dT), dM, bX, bY, dJ, dK, dC, dE, dV, ce))]
634+ let dE = cd(aa)
635+ let bQ = dE[v]
636+ let dw = dE[w]
637+ let bS = dE[x]
638+ let bT = dE[y]
639+ let dt = parseIntValue(dE[z])
640+ let du = parseIntValue(dE[A])
641+ let dm = parseIntValue(dE[B])
642+ let do = parseIntValue(dE[C])
643+ let dF = parseIntValue(dE[D])
644+ let bZ = dE[E]
645+[StringEntry(ah(toString(dm), toString(do)), bP(aa, toString(dD), dw, bS, bT, dt, du, dm, do, dF, bZ))]
713646 }
714647 else throw("Strict value is not equal to itself.")
715648 }
716649
717650
718651
719-@Callable(bE)
720-func emit (dW) = {
721- let dX = bE.caller
722- let dY = bE.originCaller
723- let dZ = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
724- let ea = fromBase58String(dZ)
725- let dr = split(valueOrElse(getString(T()), n), m)
726- let dq = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
727- if ((0 >= dW))
652+@Callable(bz)
653+func emit (dG) = {
654+ let dH = bz.caller
655+ let dI = bz.originCaller
656+ let dJ = valueOrErrorMessage(getString(ax(toString(dH))), "Invalid LP address called me.")
657+ let dK = fromBase58String(dJ)
658+ let db = split(valueOrElse(getString(P()), m), l)
659+ let da = addressFromStringValue(valueOrErrorMessage(getString(O()), "Legacy factory contract does not exists."))
660+ if ((0 >= dG))
728661 then nil
729- else if (containsElement(dr, toString(dX)))
730- then $Tuple2(nil, dq)
731- else $Tuple2([Reissue(ea, dW, true), ScriptTransfer(bE.caller, dW, ea)], "success")
662+ else if (containsElement(db, toString(dH)))
663+ then $Tuple2(nil, da)
664+ else $Tuple2([Reissue(dK, dG, true), ScriptTransfer(bz.caller, dG, dK)], "success")
732665 }
733666
734667
735668
736-@Callable(bE)
737-func burn (eb) = {
738- let dX = bE.caller
739- let dY = bE.originCaller
740- let ec = value(bE.payments[0])
741- let ed = value(ec.amount)
742- let ee = toBase58String(value(ec.assetId))
743- let ef = valueOrErrorMessage(getString(aC(toString(dX))), "Invalid LP address called me.")
744- if ((ee != ef))
745- then K("Invalid asset passed.")
746- else if ((eb != ed))
747- then K("Invalid amount passed.")
669+@Callable(bz)
670+func burn (dL) = {
671+ let dH = bz.caller
672+ let dI = bz.originCaller
673+ let dM = value(bz.payments[0])
674+ let dN = value(dM.amount)
675+ let dO = toBase58String(value(dM.assetId))
676+ let dP = valueOrErrorMessage(getString(ax(toString(dH))), "Invalid LP address called me.")
677+ if ((dO != dP))
678+ then throw("Invalid asset passed.")
679+ else if ((dL != dN))
680+ then throw("Invalid amount passed.")
748681 else {
749- let ea = fromBase58String(ef)
750- $Tuple2([Burn(ea, eb)], "success")
682+ let dK = fromBase58String(dP)
683+ $Tuple2([Burn(dK, dL)], "success")
751684 }
752685 }
753686
754687
755688
756-@Callable(bE)
757-func modifyWeight (bW,eg) = {
758- let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, Y()), "")))
689+@Callable(bz)
690+func modifyWeight (bR,dQ) = {
691+ let cX = if ((toBase58String(bz.caller.bytes) == valueOrElse(getString(this, U()), "")))
759692 then true
760- else bF(bE)
761- if ((dn == dn))
693+ else bA(bz)
694+ if ((cX == cX))
762695 then {
763- let aA = aZ(aD(bW))
764- let eh = ae(aA)
765- let ei = ae(g)
766- let ej = valueOrElse(getInteger(ei), 0)
767- let dz = valueOrElse(getInteger(eh), 0)
768- let ek = eg
769- let bu = split(aZ(O()), m)
770- let dj = bw(bu)
771- let el = invoke(dj, "onModifyWeight", [bW, aA], nil)
772- if ((el == el))
696+ let av = aU(ay(bR))
697+ let dR = Z(av)
698+ let dS = Z(g)
699+ let dT = valueOrElse(getInteger(dS), 0)
700+ let dj = valueOrElse(getInteger(dR), 0)
701+ let dU = dQ
702+ let bp = split(aU(K()), l)
703+ let cT = br(bp)
704+ let dV = invoke(cT, "onModifyWeight", [bR, av], nil)
705+ if ((dV == dV))
773706 then {
774- let em = if ((ej == 0))
707+ let dW = if ((dT == 0))
775708 then nil
776- else [IntegerEntry(ei, 0)]
777- let en = ag(aA, 0)
778- let eo = getInteger(en)
779- let ep = if ((eo == unit))
709+ else [IntegerEntry(dS, 0)]
710+ let dX = ab(av, 0)
711+ let dY = getInteger(dX)
712+ let dZ = if ((dY == unit))
780713 then nil
781- else [DeleteEntry(en)]
782- (([IntegerEntry(eh, ek)] ++ em) ++ ep)
714+ else [DeleteEntry(dX)]
715+ (([IntegerEntry(dR, dU)] ++ dW) ++ dZ)
783716 }
784717 else throw("Strict value is not equal to itself.")
785718 }
786719 else throw("Strict value is not equal to itself.")
787720 }
788721
789722
790723
791-@Callable(bE)
792-func modifyWeights (eq,er,es,et) = {
793- let dn = bF(bE)
794- if ((dn == dn))
724+@Callable(bz)
725+func modifyWeights (ea,eb,ec,ed) = {
726+ let cX = bA(bz)
727+ if ((cX == cX))
795728 then {
796- let eu = ((5 * f) / 100)
797- let ev = ((5 * f) / 100)
798- let ew = ((5 * f) / 100)
799- let bu = split(aZ(O()), m)
800- let ex = bw(bu)
801- let ey = bx(bu)
802- let ez = ae(eq)
803- let eA = ae(er)
804- let eB = ae(es)
805- let eC = ae(et)
806- let eD = bc(ez)
807- let eE = bc(eA)
808- let eF = (eD - ew)
809- let eG = (eE - ew)
810- if ((0 >= eF))
811- then K(("invalid btcWeightNew: " + toString(eF)))
812- else if ((0 >= eG))
813- then K(("invalid ethWeightNew: " + toString(eG)))
729+ let ee = ((5 * f) / 100)
730+ let ef = ((5 * f) / 100)
731+ let eg = ((5 * f) / 100)
732+ let bp = split(aU(K()), l)
733+ let eh = br(bp)
734+ let ei = bs(bp)
735+ let ej = Z(ea)
736+ let ek = Z(eb)
737+ let el = Z(ec)
738+ let em = Z(ed)
739+ let en = aX(ej)
740+ let eo = aX(ek)
741+ let ep = (en - eg)
742+ let eq = (eo - eg)
743+ if ((0 >= ep))
744+ then throw(("invalid btcWeightNew: " + toString(ep)))
745+ else if ((0 >= eq))
746+ then throw(("invalid ethWeightNew: " + toString(eq)))
814747 else {
815- let eH = aZ(aC(eq))
816- let eI = aZ(aC(er))
817- let eJ = aZ(aC(es))
818- let eK = aZ(aC(et))
819- let eL = invoke(ex, "onModifyWeight", [eH, eq], nil)
820- if ((eL == eL))
748+ let er = aU(ax(ea))
749+ let es = aU(ax(eb))
750+ let et = aU(ax(ec))
751+ let eu = aU(ax(ed))
752+ let ev = invoke(eh, "onModifyWeight", [er, ea], nil)
753+ if ((ev == ev))
821754 then {
822- let eM = invoke(ex, "onModifyWeight", [eI, er], nil)
823- if ((eM == eM))
755+ let ew = invoke(eh, "onModifyWeight", [es, eb], nil)
756+ if ((ew == ew))
824757 then {
825- let eN = invoke(ex, "onModifyWeight", [eJ, es], nil)
826- if ((eN == eN))
758+ let ex = invoke(eh, "onModifyWeight", [et, ec], nil)
759+ if ((ex == ex))
827760 then {
828- let eO = invoke(ex, "onModifyWeight", [eK, et], nil)
829- if ((eO == eO))
830- then [IntegerEntry(ez, eF), IntegerEntry(eA, eG), IntegerEntry(eB, eu), IntegerEntry(eC, ev), IntegerEntry(ag(eq, 0), eD), IntegerEntry(ag(er, 0), eE), IntegerEntry(ag(es, 0), eu), IntegerEntry(ag(et, 0), ev)]
761+ let ey = invoke(eh, "onModifyWeight", [eu, ed], nil)
762+ if ((ey == ey))
763+ then [IntegerEntry(ej, ep), IntegerEntry(ek, eq), IntegerEntry(el, ee), IntegerEntry(em, ef), IntegerEntry(ab(ea, 0), en), IntegerEntry(ab(eb, 0), eo), IntegerEntry(ab(ec, 0), ee), IntegerEntry(ab(ed, 0), ef)]
831764 else throw("Strict value is not equal to itself.")
832765 }
833766 else throw("Strict value is not equal to itself.")
834767 }
835768 else throw("Strict value is not equal to itself.")
836769 }
837770 else throw("Strict value is not equal to itself.")
838771 }
839772 }
840773 else throw("Strict value is not equal to itself.")
841774 }
842775
843776
844777
845-@Callable(bE)
846-func checkWxEmissionPoolLabel (aF,aG) = {
847- let eP = {
848- let bg = getBoolean(aE(aF, aG))
849- if ($isInstanceOf(bg, "Boolean"))
778+@Callable(bz)
779+func checkWxEmissionPoolLabel (aA,aB) = {
780+ let ez = {
781+ let bb = getBoolean(az(aA, aB))
782+ if ($isInstanceOf(bb, "Boolean"))
850783 then {
851- let cV = bg
852- cV
784+ let cF = bb
785+ cF
853786 }
854787 else false
855788 }
856- $Tuple2(nil, eP)
789+ $Tuple2(nil, ez)
857790 }
858791
859792
860793
861-@Callable(bE)
862-func setWxEmissionPoolLabel (aF,aG) = {
863- let dn = cr(bE)
864- if ((dn == dn))
865- then $Tuple2([BooleanEntry(aE(aF, aG), true)], unit)
794+@Callable(bz)
795+func setWxEmissionPoolLabel (aA,aB) = {
796+ let cX = cm(bz)
797+ if ((cX == cX))
798+ then $Tuple2([BooleanEntry(az(aA, aB), true)], unit)
866799 else throw("Strict value is not equal to itself.")
867800 }
868801
869802
870803
871-@Callable(bE)
872-func deleteWxEmissionPoolLabel (aF,aG) = {
873- let dn = if ((bE.caller == this))
804+@Callable(bz)
805+func deleteWxEmissionPoolLabel (aA,aB) = {
806+ let cX = if ((bz.caller == this))
874807 then true
875- else cr(bE)
876- if ((dn == dn))
877- then $Tuple2([DeleteEntry(aE(aF, aG))], unit)
808+ else cm(bz)
809+ if ((cX == cX))
810+ then $Tuple2([DeleteEntry(az(aA, aB))], unit)
878811 else throw("Strict value is not equal to itself.")
879812 }
880813
881814
882815
883-@Callable(bE)
884-func onVerificationLoss (aU) = {
885- let dn = if ((toBase58String(bE.caller.bytes) == valueOrElse(getString(this, X()), "")))
816+@Callable(bz)
817+func onVerificationLoss (aP) = {
818+ let cX = if ((toBase58String(bz.caller.bytes) == valueOrElse(getString(this, T()), "")))
886819 then true
887- else bF(bE)
888- if ((dn == dn))
820+ else bA(bz)
821+ if ((cX == cX))
889822 then {
890- let du = by()
891- let eQ = if ((size(du) > 0))
823+ let de = bt()
824+ let eA = if ((size(de) > 0))
892825 then true
893- else K("invalid price assets")
894- if ((eQ == eQ))
826+ else throw("invalid price assets")
827+ if ((eA == eA))
895828 then {
896- func eR (eS,eT) = {
897- let cP = invoke(this, "deleteWxEmissionPoolLabel", [aU, eT], nil)
898- if ((cP == cP))
829+ func eB (eC,eD) = {
830+ let cz = invoke(this, "deleteWxEmissionPoolLabel", [aP, eD], nil)
831+ if ((cz == cz))
899832 then unit
900833 else throw("Strict value is not equal to itself.")
901834 }
902835
903- let eU = {
904- let eV = du
905- let eW = size(eV)
906- let eX = unit
907- func eY (eZ,fa) = if ((fa >= eW))
908- then eZ
909- else eR(eZ, eV[fa])
836+ let eE = {
837+ let eF = de
838+ let eG = size(eF)
839+ let eH = unit
840+ func eI (eJ,eK) = if ((eK >= eG))
841+ then eJ
842+ else eB(eJ, eF[eK])
910843
911- func fb (eZ,fa) = if ((fa >= eW))
912- then eZ
844+ func eL (eJ,eK) = if ((eK >= eG))
845+ then eJ
913846 else throw("List size exceeds 13")
914847
915- fb(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eY(eX, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
848+ eL(eI(eI(eI(eI(eI(eI(eI(eI(eI(eI(eI(eI(eI(eH, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13)
916849 }
917- if ((eU == eU))
850+ if ((eE == eE))
918851 then $Tuple2(nil, unit)
919852 else throw("Strict value is not equal to itself.")
920853 }
921854 else throw("Strict value is not equal to itself.")
922855 }
923856 else throw("Strict value is not equal to itself.")
924857 }
925858
926859
927860
928-@Callable(bE)
929-func isPoolOneTokenOperationsDisabledREADONLY (af) = {
930- let dU = ci(af)
931- let aq = $Tuple2(parseIntValue(dU[C]), parseIntValue(dU[D]))
932- let fc = valueOrElse(getBoolean(ap(aq)), false)
933- let fd = valueOrElse(getBoolean(as()), false)
934- $Tuple2(nil, if (fd)
861+@Callable(bz)
862+func isPoolOneTokenOperationsDisabledREADONLY (aa) = {
863+ let dE = cd(aa)
864+ let al = $Tuple2(parseIntValue(dE[B]), parseIntValue(dE[C]))
865+ let eM = valueOrElse(getBoolean(ak(al)), false)
866+ let eN = valueOrElse(getBoolean(an()), false)
867+ $Tuple2(nil, if (eN)
935868 then true
936- else fc)
869+ else eM)
937870 }
938871
939872
940873
941-@Callable(bE)
942-func getInFeeREADONLY (af) = {
943- let fe = cu(aH(af), aI(), 0)
874+@Callable(bz)
875+func getInFeeREADONLY (aa) = {
876+ let eO = cp(aC(aa), aD(), 0)
877+ $Tuple2(nil, eO)
878+ }
879+
880+
881+
882+@Callable(bz)
883+func getOutFeeREADONLY (aa) = {
884+ let eO = cp(aF(aa), aG(), fraction(10, b, 10000))
885+ $Tuple2(nil, eO)
886+ }
887+
888+
889+
890+@Callable(bz)
891+func getSwapFeeREADONLY (eP) = {
892+ let eQ = {
893+ let bb = getString(this, aE(eP))
894+ if ($isInstanceOf(bb, "String"))
895+ then {
896+ let bc = bb
897+ let eR = split(bc, l)
898+ let eS = parseIntValue(eR[1])
899+ let eT = parseIntValue(eR[2])
900+ $Tuple2(eS, eT)
901+ }
902+ else if ($isInstanceOf(bb, "Unit"))
903+ then unit
904+ else throw("Match error")
905+ }
906+ $Tuple2(nil, eQ)
907+ }
908+
909+
910+
911+@Callable(bz)
912+func poolInfoREADONLY (eU,eV) = {
913+ let eW = getInteger(this, af(eU))
914+ let eX = getInteger(this, af(eV))
915+ let eY = getString(this, aw(value(eW), value(eX)))
916+ let eZ = getString(this, ax(value(eY)))
917+ let dr = if (if (isDefined(eW))
918+ then isDefined(eX)
919+ else false)
920+ then isDefined(eY)
921+ else false
922+ let fa = if (dr)
923+ then $Tuple2(addressFromStringValue(value(eY)), aY(value(eZ)))
924+ else unit
925+ $Tuple2(nil, fa)
926+ }
927+
928+
929+
930+@Callable(bz)
931+func getPoolStatusREADONLY (aa) = {
932+ let ce = split(aU(au(aa)), l)
933+ let ai = ce[1]
934+ let aj = ce[2]
935+ let cv = split(aU(ah(ai, aj)), l)
936+ $Tuple2(nil, parseIntValue(cv[v]))
937+ }
938+
939+
940+
941+@Callable(bz)
942+func getPoolConfigREADONLY (aa) = {
943+ let ce = split(aU(au(aa)), l)
944+ let ai = ce[1]
945+ let aj = ce[2]
946+ let cv = split(aU(ah(ai, aj)), l)
947+ $Tuple2(nil, cv)
948+ }
949+
950+
951+
952+@Callable(bz)
953+func getPoolConfigByLpAssetIdREADONLY (dw) = {
954+ let ce = split(aU(ao(dw)), l)
955+ let ai = ce[1]
956+ let aj = ce[2]
957+ let cv = split(aU(ah(ai, aj)), l)
958+ $Tuple2(nil, cv)
959+ }
960+
961+
962+
963+@Callable(bz)
964+func poolExistsREADONLY (aA,aB) = $Tuple2(nil, cs(aA, aB))
965+
966+
967+
968+@Callable(bz)
969+func skipOrderValidationREADONLY (aa) = $Tuple2(nil, valueOrElse(getBoolean(aH(aa)), false))
970+
971+
972+
973+@Callable(bz)
974+func getChangeAmpConfigREADONLY (aa) = {
975+ let fb = getIntegerValue(aI(aa))
976+ let fc = getIntegerValue(aJ(aa))
977+ let fd = getIntegerValue(aK(aa))
978+ $Tuple2(nil, [fb, fc, fd])
979+ }
980+
981+
982+
983+@Callable(bz)
984+func getPoolWeightREADONLY (bR) = {
985+ let aa = aU(ay(bR))
986+ let fe = valueOrElse(getInteger(Z(aa)), 0)
944987 $Tuple2(nil, fe)
945988 }
946989
947990
948-
949-@Callable(bE)
950-func getOutFeeREADONLY (af) = {
951- let fe = cu(aK(af), aL(), fraction(10, b, 10000))
952- $Tuple2(nil, fe)
953- }
954-
955-
956-
957-@Callable(bE)
958-func getSwapFeeREADONLY (ff) = {
959- let fg = {
960- let bg = getString(this, aJ(ff))
961- if ($isInstanceOf(bg, "String"))
991+@Verifier(ff)
992+func fg () = {
993+ let fh = {
994+ let bb = bu()
995+ if ($isInstanceOf(bb, "ByteVector"))
962996 then {
963- let bh = bg
964- let fh = split(bh, m)
965- let fi = parseIntValue(fh[1])
966- let fj = parseIntValue(fh[2])
967- $Tuple2(fi, fj)
997+ let bB = bb
998+ bB
968999 }
969- else if ($isInstanceOf(bg, "Unit"))
970- then unit
1000+ else if ($isInstanceOf(bb, "Unit"))
1001+ then ff.senderPublicKey
9711002 else throw("Match error")
9721003 }
973- $Tuple2(nil, fg)
974- }
975-
976-
977-
978-@Callable(bE)
979-func poolInfoREADONLY (fk,fl) = {
980- let fm = getInteger(this, ak(fk))
981- let fn = getInteger(this, ak(fl))
982- let fo = getString(this, aB(value(fm), value(fn)))
983- let fp = getString(this, aC(value(fo)))
984- let dH = if (if (isDefined(fm))
985- then isDefined(fn)
986- else false)
987- then isDefined(fo)
988- else false
989- let fq = if (dH)
990- then $Tuple2(addressFromStringValue(value(fo)), bd(value(fp)))
991- else unit
992- $Tuple2(nil, fq)
993- }
994-
995-
996-
997-@Callable(bE)
998-func getPoolStatusREADONLY (af) = {
999- let cj = split(aZ(az(af)), m)
1000- let an = cj[1]
1001- let ao = cj[2]
1002- let cA = split(aZ(am(an, ao)), m)
1003- $Tuple2(nil, parseIntValue(cA[w]))
1004- }
1005-
1006-
1007-
1008-@Callable(bE)
1009-func getPoolConfigREADONLY (af) = {
1010- let cj = split(aZ(az(af)), m)
1011- let an = cj[1]
1012- let ao = cj[2]
1013- let cA = split(aZ(am(an, ao)), m)
1014- $Tuple2(nil, cA)
1015- }
1016-
1017-
1018-
1019-@Callable(bE)
1020-func getPoolConfigByLpAssetIdREADONLY (dM) = {
1021- let cj = split(aZ(at(dM)), m)
1022- let an = cj[1]
1023- let ao = cj[2]
1024- let cA = split(aZ(am(an, ao)), m)
1025- $Tuple2(nil, cA)
1026- }
1027-
1028-
1029-
1030-@Callable(bE)
1031-func poolExistsREADONLY (aF,aG) = $Tuple2(nil, cx(aF, aG))
1032-
1033-
1034-
1035-@Callable(bE)
1036-func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aM(af)), false))
1037-
1038-
1039-
1040-@Callable(bE)
1041-func getChangeAmpConfigREADONLY (af) = {
1042- let fr = getIntegerValue(aN(af))
1043- let fs = getIntegerValue(aO(af))
1044- let ft = getIntegerValue(aP(af))
1045- $Tuple2(nil, [fr, fs, ft])
1046- }
1047-
1048-
1049-
1050-@Callable(bE)
1051-func getPoolWeightREADONLY (bW) = {
1052- let af = aZ(aD(bW))
1053- let fu = valueOrElse(getInteger(ae(af)), 0)
1054- $Tuple2(nil, fu)
1055- }
1056-
1057-
1058-
1059-@Callable(bE)
1060-func deletePool (aA) = {
1061- let dU = ci(aA)
1062- let dn = if ((toString(bE.caller) == cE(aA)))
1063- then if (cM(aA))
1064- then true
1065- else K("Pool is not empty")
1066- else bF(bE)
1067- if ((dn == dn))
1068- then {
1069- let fv = if ((valueOrElse(getInteger(ae(aA)), 0) == 0))
1070- then true
1071- else K("Pool weight is not Zero")
1072- if ((fv == fv))
1073- then {
1074- let fw = if ((dU[w] == toString(r)))
1075- then true
1076- else K("Pool must be SHUTDOWN (4)")
1077- if ((fw == fw))
1078- then {
1079- let fx = cD(aA)
1080- let aF = fx._1
1081- let aG = fx._2
1082- let bW = fx._3
1083- let an = fx._4
1084- let ao = fx._5
1085- let cG = addressFromStringValue(getStringValue(Z()))
1086- let fy = invoke(cG, "deletePool", [aF, aG], nil)
1087- if ((fy == fy))
1088- then {
1089- let dt = addressFromStringValue(getStringValue(Y()))
1090- let fz = invoke(dt, "deletePool", [aF, aG], nil)
1091- if ((fz == fz))
1092- then {
1093- let ds = addressFromStringValue(getStringValue(X()))
1094- let fA = invoke(ds, "deletePool", [aF, aG], nil)
1095- if ((fA == fA))
1096- then [DeleteEntry(aC(aA)), DeleteEntry(az(aA)), DeleteEntry(av(toString(an), toString(ao))), DeleteEntry(aB(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(at(bW)), DeleteEntry(aD(bW)), DeleteEntry(aE(aF, aG)), DeleteEntry(ae(aA)), DeleteEntry(ay(aA)), DeleteEntry(aH(aA)), DeleteEntry(aK(aA)), DeleteEntry(aM(aA)), DeleteEntry(aN(aA)), DeleteEntry(aO(aA)), DeleteEntry(aP(aA))]
1097- else throw("Strict value is not equal to itself.")
1098- }
1099- else throw("Strict value is not equal to itself.")
1100- }
1101- else throw("Strict value is not equal to itself.")
1102- }
1103- else throw("Strict value is not equal to itself.")
1104- }
1105- else throw("Strict value is not equal to itself.")
1106- }
1107- else throw("Strict value is not equal to itself.")
1108- }
1109-
1110-
1111-@Verifier(fB)
1112-func fC () = {
1113- let fD = {
1114- let bg = bz()
1115- if ($isInstanceOf(bg, "ByteVector"))
1116- then {
1117- let bG = bg
1118- bG
1119- }
1120- else if ($isInstanceOf(bg, "Unit"))
1121- then fB.senderPublicKey
1122- else throw("Match error")
1123- }
1124- sigVerify(fB.bodyBytes, fB.proofs[0], fD)
1004+ sigVerify(ff.bodyBytes, ff.proofs[0], fh)
11251005 }
11261006

github/deemru/w8io/169f3d6 
388.68 ms