tx · HwBs9yALVMQT4VXSnbVJaJiWQcDZaY985W3bRpEnf7VJ

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.02400000 Waves

2023.03.24 14:03 [2504002] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "HwBs9yALVMQT4VXSnbVJaJiWQcDZaY985W3bRpEnf7VJ", "fee": 2400000, "feeAssetId": null, "timestamp": 1679655782658, "version": 2, "chainId": 84, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "4YjeyEz6AHxgJx8edeYw4WwF6yWVwcnZktet6XSocJCKibY4uxu15PTWz8hoZbDbf4F7vVg1xjfuAuDNAQEYU4Jv" ], "script": "base64:BgLhKAgCEgASBAoCCAgSAwoBCBIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIECgIIGBIDCgEIEgASAwoBGBIKCggICAgICAEICBIECgIIARIDCgEBEgMKAQESBAoCCAESBgoECAgICBIECgIICBIECgIICBIECgIICBIDCgEIEgMKAQgSAwoBCBIDCgEIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgQKAggIEgMKAQgSAwoBCCIGU0NBTEU4IgVNVUxUOCIHU0NBTEUxOCIGTVVMVDE4Ig5QT09MV0VJR0hUTVVMVCIOR1dYdmlydHVhbFBPT0wiDGxhYmVsUG9vbHNMcCINZGVmYXVsdFNwcmVhZCILd2F2ZXNTdHJpbmciEWRlY2ltYWxzTXVsdFByaWNlIgNTRVAiBUVNUFRZIgpQb29sQWN0aXZlIg9Qb29sUHV0RGlzYWJsZWQiE1Bvb2xNYXRjaGVyRGlzYWJsZWQiDFBvb2xTaHV0ZG93biISaWR4SW50ZXJuYWxBc3NldElkIg9pZHhSZXN1dEFjdGlvbnMiIGlkeElmQXNzZXRJZENhbGN1bGF0aW9uUGVyZm9ybWVkIg5pZHhQb29sQWRkcmVzcyINaWR4UG9vbFN0YXR1cyIQaWR4UG9vbExQQXNzZXRJZCINaWR4QW10QXNzZXRJZCIPaWR4UHJpY2VBc3NldElkIg5pZHhBbXRBc3NldERjbSIQaWR4UHJpY2VBc3NldERjbSIOaWR4SUFtdEFzc2V0SWQiEGlkeElQcmljZUFzc2V0SWQiDWlkeExQQXNzZXREY20iC2lkeFBvb2xUeXBlIhNwb29sTGFiZWxXeEVtaXNzaW9uIg92YWxpZFBvb2xMYWJlbHMiFmtleUFsbG93ZWRMcFNjcmlwdEhhc2giHGtleUFsbG93ZWRMcFN0YWJsZVNjcmlwdEhhc2giIWtleUFsbG93ZWRMcFN0YWJsZUFkZG9uU2NyaXB0SGFzaCIMc3dhcENvbnRyYWN0IhBrZXlGYWN0b3J5Q29uZmlnIg9rZXlMcFRva2Vuc0xpc3QiEWtleVBvb2xTY3JpcHRIYXNoIg1rZXlNYXRjaGVyUHViIhhrZXlMZWdhY3lGYWN0b3J5Q29udHJhY3QiDmtleUxlZ2FjeVBvb2xzIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIPa2V5QWRtaW5QdWJLZXlzIhZrZXlBc3NldHNTdG9yZUNvbnRyYWN0IhlrZXlWb3RpbmdFbWlzc2lvbkNvbnRyYWN0Ig5rZXlQcmljZUFzc2V0cyIQa2V5UHJpY2VEZWNpbWFscyITa2V5QWxsUG9vbHNTaHV0ZG93biIWa2V5TmV4dEludGVybmFsQXNzZXRJZCIPa2V5UG9vbFRvV2VpZ2h0Igtwb29sQWRkcmVzcyIWa2V5UG9vbFRvV2VpZ2h0SGlzdG9yeSIDbnVtIh9rZXlNYXBwaW5nc0ludGVybmFsMmJhc2VBc3NldElkIhFpbnRlcm5hbEJhc2VBc3NldCIfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZCIMYmFzZUFzc2V0U3RyIg1rZXlQb29sQ29uZmlnIhNhbW91bnRBc3NldEludGVybmFsIhJwcmljZUFzc2V0SW50ZXJuYWwiIWtleVBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIOYXNzZXRzSW50ZXJuYWwiCyR0MDM3MjYzNzg4IiVrZXlBbGxQb29sc09uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIh1rZXlNYXBwaW5nTHBBc3NldFRvUG9vbEFzc2V0cyIKbHBBc3NldFN0ciIda2V5TWFwcGluZ1Bvb2xBc3NldHNUb0xwYXNzZXQiGGludGVybmFsQW1vdW50QXNzZXRJZFN0ciIXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIiDWtleVBvb2xTcHJlYWQiKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzIhNwb29sQ29udHJhY3RBZGRyZXNzIilrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcyIfa2V5TWFwcGluZ1Bvb2xDb250cmFjdFRvTFBBc3NldCIqa2V5TWFwcGluZ1Bvb2xMUEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIg1rZXlXeEVtaXNzaW9uIg1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiCGtleUluRmVlIg9rZXlJbkZlZURlZmF1bHQiCWtleU91dEZlZSIQa2V5T3V0RmVlRGVmYXVsdCIWa2V5U2tpcE9yZGVyVmFsaWRhdGlvbiIRa2V5Q2hhbmdlQW1wRGVsYXkiEWtleUNoYW5nZUFtcERlbHRhIhJrZXlDaGFuZ2VBbXBUYXJnZXQiD2dldFN0cmluZ09yRmFpbCIDa2V5IhBnZXRCb29sZWFuT3JGYWlsIgxnZXRJbnRPckZhaWwiDHBhcnNlQXNzZXRJZCIFaW5wdXQiGElkeEZhY3RvcnlDZmdTdGFraW5nRGFwcCIZSWR4RmFjdG9yeUNmZ0Jvb3N0aW5nRGFwcCIUSWR4RmFjdG9yeUNmZ0lkb0RhcHAiFUlkeEZhY3RvcnlDZmdUZWFtRGFwcCIZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcCIVSWR4RmFjdG9yeUNmZ1Jlc3REYXBwIhlJZHhGYWN0b3J5Q2ZnU2xpcHBhZ2VEYXBwIhRJZHhGYWN0b3J5Q2ZnRGFvRGFwcCIaSWR4RmFjdG9yeUNmZ01hcmtldGluZ0RhcHAiGklkeEZhY3RvcnlDZmdHd3hSZXdhcmREYXBwIhZJZHhGYWN0b3J5Q2ZnQmlyZHNEYXBwIhhnZXRCb29zdGluZ0FkZHJlc3NPckZhaWwiCmZhY3RvcnlDZmciGGdldEVtaXNzaW9uQWRkcmVzc09yRmFpbCIXZ2V0U3Rha2luZ0FkZHJlc3NPckZhaWwiGWdldEd3eFJld2FyZEFkZHJlc3NPckZhaWwiDmdldFByaWNlQXNzZXRzIgckbWF0Y2gwIgFzIhZtYW5hZ2VyUHVibGljS2V5T3JVbml0Ih1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdCIVcGVybWlzc2lvbkRlbmllZEVycm9yIgl0ZXN0RXJyb3IiCG11c3RUaGlzIgFpIgttdXN0TWFuYWdlciICcGsiEGRhdGFGYWN0b3J5Q2ZnVjMiDnN0YWtpbmdBZGRyZXNzIg9ib29zdGluZ0FkZHJlc3MiC2lkb0NvbnRyYWN0Igx0ZWFtQ29udHJhY3QiEGVtaXNzaW9uQ29udHJhY3QiDHJlc3RDb250cmFjdCIQc2xpcHBhZ2VDb250cmFjdCILZGFvQ29udHJhY3QiEW1hcmtldGluZ0NvbnRyYWN0IhJnd3hSZXdhcmRzQ29udHJhY3QiDWJpcmRzQ29udHJhY3QiDmRhdGFGYWN0b3J5Q2ZnIgtkYXRhUG9vbENmZyIKcG9vbFN0YXR1cyIJbHBBc3NldElkIg5hbW91bnRBc3NldFN0ciINcHJpY2VBc3NldFN0ciITYW1vdW50QXNzZXREZWNpbWFscyIScHJpY2VBc3NldERlY2ltYWxzIhVhbW91bnRBc3NldEludGVybmFsSWQiFHByaWNlQXNzZXRJbnRlcm5hbElkIg9scEFzc2V0RGVjaW1hbHMiCHBvb2xUeXBlIhVkYXRhTWFwcGluZ1Bvb2xBc3NldHMiFmludGVybmFsQW1vdW50QXNzZXRTdHIiFWludGVybmFsUHJpY2VBc3NldFN0ciINZ2V0UG9vbENvbmZpZyIKcG9vbEFzc2V0cyIaZ2V0SW50ZXJuYWxBc3NldElkT3JDcmVhdGUiCmFzc2V0SWRTdHIiC2luY3JlbWVudG9yIg9pbnRlcm5hbEFzc2V0SWQiGGN1cnJlbnRJbmRleE9mSW50ZXJuYWxJZCIGcmVzdWx0IhJuZXdJbnRlcm5hbEFzc2V0SWQiCW11c3RBZG1pbiIIYWRtaW5QS3MiCWlzTWFuYWdlciIWaW50T3JEZWZhdWx0T3JGYWxsYmFjayIKa2V5RGVmYXVsdCINdmFsdWVGYWxsYmFjayIScG9vbEV4aXN0c0ludGVybmFsIgRhbUFzIgRwckFzIgNjZmciCmNmZ1JldmVyc2UiBmV4aXN0cyIGYXNzZXQxIgZhc3NldDIiCWFzc2V0TnVtMSIJYXNzZXROdW0yIgJlZSIDcmVzIgJscCIPc3Rha2luZ0NvbnRyYWN0IhBib29zdGluZ0NvbnRyYWN0IhBzbHBpcGFnZUNvbnRyYWN0Ig1wcmljZURlY2ltYWxzIgtjaGVja0NhbGxlciIQbWF0aGNoZXJQdWI1OFN0ciIKbWF0aGNlclB1YiIVbGVnYWN5RmFjdG9yeUNvbnRyYWN0IgtsZWdhY3lQb29scyITYXNzZXRzU3RvcmVDb250cmFjdCIWdm90aW5nRW1pc3Npb25Db250cmFjdCILcHJpY2VBc3NldHMiBWNoZWtzIhdwZW5kaW5nTWFuYWdlclB1YmxpY0tleSIVY2hlY2tNYW5hZ2VyUHVibGljS2V5IgJwbSIFaGFzUE0iB2NoZWNrUE0iDGFkbWluUHViS2V5cyILbHBBc3NldE5hbWUiDGxwQXNzZXREZXNjciIKcG9vbFdlaWdodCIEbG9nbyIXaW50ZXJuYWxBbW91bnRBc3NldERhdGEiFWludGVybmFsQW1vdW50QXNzZXRJZCIWaW50ZXJuYWxQcmljZUFzc2V0RGF0YSIUaW50ZXJuYWxQcmljZUFzc2V0SWQiFXBvb2xBY2NvdW50U2NyaXB0SGFzaCIcZXRoYWxvblBvb2xBY2NvdW50U2NyaXB0SGFzaCIKcG9vbEV4aXN0cyIPcG9vbENvbmZpZ1ZhbHVlIhRhbW91bnRBc3NldHNEZWNpbWFscyITcHJpY2VBc3NldHNEZWNpbWFscyISbHBBc3NldElzc3VlQWN0aW9uIgxscEFzc2V0SWRTdHIiGHBvb2xBY3RpdmF0ZUludm9rZVJlc3VsdCIYY3JlYXRlT3JVcGRhdGVMcEFzc2V0SW52IhJhZGRQb29sc0xwTGFiZWxJbnYiCnNldExvZ29JbnYiEGFkZEFzc2V0c0xpbmtJbnYiG2luY3JlYXNlQXNzZXRQb29sc051bWJlckludiIJbmV3U3RhdHVzIgpwb29sQ29uZmlnIgpscEFzc2V0RGNtIgxhbW91bnRUb0VtaXQiBmNhbGxlciIMb3JpZ2luQ2FsbGVyIhBscEFzc2V0UmVxdWVzdGVkIgdscEFzc2V0IgxhbW91bnRUb0J1cm4iB3BheW1lbnQiDXBheW1lbnRBbW91bnQiD2luQW1vdW50QXNzZXRJZCIabHBBc3NldFJlcXVlc3RlZEZvckJ1cm5pbmciBXNoYXJlIg1wb29sV2VpZ2h0S2V5Igxnd3hXZWlnaHRLZXkiCWd3eFdlaWdodCINcG9vbFdlaWdodE5ldyIRb25Nb2RpZnlXZWlnaHRJbnYiFWd3eFZpcnR1YWxQb29sQWN0aW9ucyIUcG9vbFdlaWdodEhpc3RvcnlLZXkiF3Bvb2xXZWlnaHRIaXN0b3J5T3JVbml0Ihhwb29sV2VpZ2h0SGlzdG9yeUFjdGlvbnMiDmJ0Y1Bvb2xBZGRyZXNzIg5ldGhQb29sQWRkcmVzcyIRZXRoQnRjUG9vbEFkZHJlc3MiE3VzZGNVc2R0UG9vbEFkZHJlc3MiD2V0aEJ0Y1dlaWdodE5ldyIRdXNkY1VzZHRXZWlnaHROZXciD3dlaWdodERlY3JlbWVudCILc3Rha2luZ0RhcHAiDWd3eFJld2FyZERhcHAiDGJ0Y1dlaWdodEtFWSIMZXRoV2VpZ2h0S0VZIg9ldGhCdGNXZWlnaHRLRVkiEXVzZGNVc2R0V2VpZ2h0S0VZIglidGNXZWlnaHQiCWV0aFdlaWdodCIMYnRjV2VpZ2h0TmV3IgxldGhXZWlnaHROZXciD2J0Y0xwQXNzZXRJZFN0ciIPZXRoTHBBc3NldElkU3RyIhJldGhCdGNMcEFzc2V0SWRTdHIiFHVzZGNVc2R0THBBc3NldElkU3RyIhFvbk1vZGlmeVdlaWdodEJ0YyIRb25Nb2RpZnlXZWlnaHRFdGgiFG9uTW9kaWZ5V2VpZ2h0RXRoQnRjIhZvbk1vZGlmeVdlaWdodFVzZGNVc2R0IgloYXZlTGFiZWwiAWIiB2Fzc2V0SWQiFGNoZWNrUHJpY2VBc3NldHNTaXplIgJjYiIDYWNjIgpwcmljZUFzc2V0IgFyIgdhY3Rpb25zIgIkbCICJHMiBSRhY2MwIgUkZjBfMSICJGEiAiRpIgUkZjBfMiIecG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIiJhbGxQb29sc09uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIgNmZWUiEGFtb3VudEFzc2V0SWRTdHIiD3ByaWNlQXNzZXRJZFN0ciIbYW1vdW50QXNzZXRJbnRlcm5hbElkT3B0aW9uIhpwcmljZUFzc2V0SW50ZXJuYWxJZE9wdGlvbiIZcG9vbENvbnRyYWN0QWRkcmVzc09wdGlvbiIPbHBBc3NldElkT3B0aW9uIghwb29sSW5mbyIFZGVsYXkiBWRlbHRhIgZ0YXJnZXQiAnR4IgZ2ZXJpZnkiD3RhcmdldFB1YmxpY0tleW0AAWEACAABYgCAwtcvAAFjABIAAWQJALYCAQCAgJC7utat8A0AAWUFAWIAAWYCDkdXWHZpcnR1YWxQT09MAAFnAghQT09MU19MUAABaACAiXoAAWkCBVdBVkVTAAFqCQBoAgkAaAIAZADoBwDoBwABawICX18AAWwCAAABbQABAAFuAAIAAW8AAwABcAAEAAFxAAEAAXIAAgABcwADAAF0AAEAAXUAAgABdgADAAF3AAQAAXgABQABeQAGAAF6AAcAAUEACAABQgAJAAFDAAoAAUQACwABRQILV1hfRU1JU1NJT04AAUYJAMwIAgUBRQUDbmlsAQFHAAIXJXNfX2FsbG93ZWRMcFNjcmlwdEhhc2gBAUgAAh0lc19fYWxsb3dlZExwU3RhYmxlU2NyaXB0SGFzaAEBSQACIiVzX19hbGxvd2VkTHBTdGFibGVBZGRvblNjcmlwdEhhc2gBAUoAAhAlc19fc3dhcENvbnRyYWN0AQFLAAIRJXNfX2ZhY3RvcnlDb25maWcBAUwAAhAlc19fbHBUb2tlbnNMaXN0AQFNAAIWJXMlc19fcG9vbF9fc2NyaXB0SGFzaAEBTgACGCVzJXNfX21hdGNoZXJfX3B1YmxpY0tleQEBTwACGSVzX19sZWdhY3lGYWN0b3J5Q29udHJhY3QBAVAAAg8lc19fbGVnYWN5UG9vbHMBAVEAAhQlc19fbWFuYWdlclB1YmxpY0tleQEBUgACGyVzX19wZW5kaW5nTWFuYWdlclB1YmxpY0tleQEBUwACECVzX19hZG1pblB1YktleXMBAVQAAhclc19fYXNzZXRzU3RvcmVDb250cmFjdAEBVQACGiVzX192b3RpbmdFbWlzc2lvbkNvbnRyYWN0AQFWAAkAuQkCCQDMCAICAiVzCQDMCAICC3ByaWNlQXNzZXRzBQNuaWwFAWsBAVcAAhElc19fcHJpY2VEZWNpbWFscwEBWAACDCVzX19zaHV0ZG93bgEBWQACFyVzX19uZXh0SW50ZXJuYWxBc3NldElkAQFaAQJhYQkArAICAhIlcyVzX19wb29sV2VpZ2h0X18FAmFhAQJhYgICYWECYWMJAKwCAgkArAICCQCsAgICEiVzJXNfX3Bvb2xXZWlnaHRfXwUCYWECAl9fCQCkAwEFAmFjAQJhZAECYWUJAKwCAgIoJXMlcyVkX19tYXBwaW5nc19faW50ZXJuYWwyYmFzZUFzc2V0SWRfXwkApAMBBQJhZQECYWYBAmFnCQCsAgICKCVzJXMlc19fbWFwcGluZ3NfX2Jhc2VBc3NldDJpbnRlcm5hbElkX18FAmFnAQJhaAICYWkCYWoJAKwCAgkArAICCQCsAgIJAKwCAgIIJWQlZCVzX18FAmFpAgJfXwUCYWoCCF9fY29uZmlnAQJhawECYWwEAmFtBQJhbAQCYWkIBQJhbQJfMQQCYWoIBQJhbQJfMgkAuQkCCQDMCAICBiVkJWQlcwkAzAgCCQCkAwEFAmFpCQDMCAIJAKQDAQUCYWoJAMwIAgIab25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQFA25pbAUBawECYW4ACQC5CQIJAMwIAgICJXMJAMwIAgIab25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQFA25pbAUBawECYW8BAmFwCQCsAgIJAKwCAgIIJXMlcyVzX18FAmFwAhhfX21hcHBpbmdzX19scEFzc2V0MlBvb2wBAmFxAgJhcgJhcwkArAICCQCsAgIJAKwCAgkArAICAgolZCVkJXMlc19fBQJhcgICX18FAmFzAh5fX21hcHBpbmdzX19Qb29sQXNzZXRzMkxwQXNzZXQBAmF0AQJhYQkArAICAg4lcyVzX19zcHJlYWRfXwUCYWEBAmF1AQJhdgkArAICCQCsAgICCCVzJXMlc19fBQJhdgIjX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MlBvb2xBc3NldHMBAmF3AgJhcgJhcwkArAICCQCsAgIJAKwCAgkArAICAgolZCVkJXMlc19fCQCkAwEFAmFyAgJfXwkApAMBBQJhcwIjX19tYXBwaW5nc19fcG9vbEFzc2V0czJQb29sQ29udHJhY3QBAmF4AQJhdgkArAICCQCsAgICCCVzJXMlc19fBQJhdgIgX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MkxwQXNzZXQBAmF5AQJhcAkArAICCQCsAgICCCVzJXMlc19fBQJhcAIgX19tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QBAmF6AgJhQQJhQgkArAICCQCsAgIJAKwCAgIUJXMlcyVzX193eEVtaXNzaW9uX18FAmFBAgJfXwUCYUIBAmFDAQJhYQkArAICAg0lcyVzX19pbkZlZV9fBQJhYQECYUQAAhAlc19faW5GZWVEZWZhdWx0AQJhRQECYWEJAKwCAgIOJXMlc19fb3V0RmVlX18FAmFhAQJhRgACESVzX19vdXRGZWVEZWZhdWx0AQJhRwECYWEJAKwCAgIbJXMlc19fc2tpcE9yZGVyVmFsaWRhdGlvbl9fBQJhYQECYUgBAmFhCQCsAgICFiVzJXNfX2NoYW5nZUFtcERlbGF5X18FAmFhAQJhSQECYWEJAKwCAgIWJXMlc19fY2hhbmdlQW1wRGVsdGFfXwUCYWEBAmFKAQJhYQkArAICAhclcyVzX19jaGFuZ2VBbXBUYXJnZXRfXwUCYWEBAmFLAQJhTAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMFAmFMCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYUwBAmFNAQJhTAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCbCAIFBHRoaXMFAmFMCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYUwBAmFOAQJhTAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFBHRoaXMFAmFMCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYUwBAmFPAQJhUAMJAAACBQJhUAUBaQUEdW5pdAkA2QQBBQJhUAACYVEAAQACYVIAAgACYVMAAwACYVQABAACYVUABQACYVYABgACYVcABwACYVgACAACYVkACQACYVoACgACYmEACwECYmIBAmJjCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJjBQJhUgECYmQBAmJjCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJjBQJhVQECYmUBAmJjCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJjBQJhUQECYmYBAmJjCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJjBQJhWgECYmcABAJiaAkAoggBCQEBVgADCQABAgUCYmgCBlN0cmluZwQCYmkFAmJoAwkAAAIJALECAQUCYmkAAAUDbmlsCQC1CQIFAmJpBQFrBQNuaWwBAmJqAAQCYmgJAKIIAQkBAVEAAwkAAQIFAmJoAgZTdHJpbmcEAmJpBQJiaAkA2QQBBQJiaQMJAAECBQJiaAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJiawAEAmJoCQCiCAEJAQFSAAMJAAECBQJiaAIGU3RyaW5nBAJiaQUCYmgJANkEAQUCYmkDCQABAgUCYmgCBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgACYmwJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAACYm0JAAIBAg9UZXN0IGVycm9yIGhlcmUBAmJuAQJibwMJAAACCAUCYm8GY2FsbGVyBQR0aGlzBgUCYmwBAmJwAQJibwQCYmgJAQJiagADCQABAgUCYmgCCkJ5dGVWZWN0b3IEAmJxBQJiaAMJAAACCAUCYm8PY2FsbGVyUHVibGljS2V5BQJicQYFAmJsAwkAAQIFAmJoAgRVbml0CQECYm4BBQJibwkAAgECC01hdGNoIGVycm9yAQJicgsCYnMCYnQCYnUCYnYCYncCYngCYnkCYnoCYkECYkICYkMJALkJAgkAzAgCAhYlcyVzJXMlcyVzJXMlcyVzJXMlcyVzCQDMCAIFAmJzCQDMCAIFAmJ0CQDMCAIFAmJ1CQDMCAIFAmJ2CQDMCAIFAmJ3CQDMCAIFAmJ4CQDMCAIFAmJ5CQDMCAIFAmJ6CQDMCAIFAmJBCQDMCAIFAmJCCQDMCAIFAmJDBQNuaWwFAWsBAmJEBwJicwJidAJidQJidgJidwJieAJieQkAuQkCCQDMCAICDCVzJXMlcyVzJXMlcwkAzAgCBQJicwkAzAgCBQJidAkAzAgCBQJidQkAzAgCBQJidgkAzAgCBQJidwkAzAgCBQJieAkAzAgCBQJieQUDbmlsBQFrAQJiRQsCYWECYkYCYkcCYkgCYkkCYkoCYksCYkwCYk0CYk4CYk8JALkJAgkAzAgCAhYlcyVkJXMlcyVzJWQlZCVkJWQlZCVzCQDMCAIFAmFhCQDMCAIFAmJGCQDMCAIFAmJHCQDMCAIFAmJICQDMCAIFAmJJCQDMCAIJAKQDAQUCYkoJAMwIAgkApAMBBQJiSwkAzAgCCQCkAwEFAmJMCQDMCAIJAKQDAQUCYk0JAMwIAgkApAMBBQJiTgkAzAgCBQJiTwUDbmlsBQFrAQJiUAICYlECYlIJALkJAgkAzAgCAgQlZCVkCQDMCAIJAKQDAQUCYlEJAMwIAgkApAMBBQJiUgUDbmlsBQFrAQJiUwECYWEEAmJUCQC1CQIJAQJhSwEJAQJhdQEFAmFhBQFrBAJhaQkAkQMCBQJiVAABBAJhagkAkQMCBQJiVAACCQC1CQIJAQJhSwEJAQJhaAIFAmFpBQJhagUBawECYlUCAmJWAmJXBAJiWAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYWYBBQJiVgAABAJiWQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBWQAAAAQCYloDCQAAAgUCYlgAAAQCY2EJAGQCBQJiWQUCYlcJAJUKAwUCY2EJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFZAAUCY2EJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhZgEFAmJWBQJjYQkAzAgCCQELU3RyaW5nRW50cnkCCQECYWQBBQJjYQUCYlYFA25pbAYJAJUKAwUCYlgFA25pbAcFAmJaAQJjYgECYm8EAmNjCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAKIIAQkBAVMABQFsBQFrAwkBD2NvbnRhaW5zRWxlbWVudAIFAmNjCQDYBAEIBQJibw9jYWxsZXJQdWJsaWNLZXkGBAJjZAkBAmJwAQUCYm8DCQAAAgUCY2QFAmNkBgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECY2UDAmFMAmNmAmNnCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmFMCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmNmBQJjZwECY2gCAmFBAmFCBAJhaQkAnwgBCQECYWYBBQJhQQQCYWoJAJ8IAQkBAmFmAQUCYUIDAwkAAAIFAmFpBQR1bml0BgkAAAIFAmFqBQR1bml0BwQCY2kJAKQDAQkBBXZhbHVlAQUCYWkEAmNqCQCkAwEJAQV2YWx1ZQEFAmFqBAJjawkAoggBCQECYWgCBQJjaQUCY2oEAmNsCQCiCAEJAQJhaAIFAmNqBQJjaQQCY20DCQECIT0CBQJjawUEdW5pdAYJAQIhPQIFAmNsBQR1bml0BQJjbSACYm8BF2dldFN3YXBDb250cmFjdFJFQURPTkxZAAkAlAoCBQNuaWwJAQJhSwEJAQFKAAJibwEgZ2V0THBBc3NldEZyb21Qb29sQXNzZXRzUkVBRE9OTFkCAmNuAmNvAwMJAAACBQJjbgIsOExRVzhmN1A1ZDVQWk03R3RaRUJnYXFSUEdTelMzRGZQdWlYclVSSjRBSlMJAAACBQJjbwIFV0FWRVMHCQCUCgIFA25pbAUEdW5pdAQCY3AJAQV2YWx1ZQEJAJoIAgUEdGhpcwkBAmFmAQUCY24EAmNxCQEFdmFsdWUBCQCaCAIFBHRoaXMJAQJhZgEFAmNvBAJjcgkAnQgCBQR0aGlzCQECYXECCQCkAwEFAmNwCQCkAwEFAmNxBAJjcwMJAAACBQJjcgUEdW5pdAUEdW5pdAkAsAICCQEFdmFsdWUBBQJjcgAECQCUCgIFA25pbAUCY3MCYm8BIWdldFBvb2xBZGRyZXNzRnJvbUxwQXNzZXRSRUFET05MWQECY3QJAJQKAgUDbmlsCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQJheQEFAmN0AgACYm8BC2NvbnN0cnVjdG9yCAJjdQJjdgJidQJidgJidwJieAJjdwJjeAQCY3kJAQJicAEFAmJvAwkAAAIFAmN5BQJjeQkAzAgCCQELU3RyaW5nRW50cnkCCQEBSwAJAQJiRAcFAmN1BQJjdgUCYnUFAmJ2BQJidwUCYngFAmN3CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBVwAFAmN4BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYm8BDWNvbnN0cnVjdG9yVjIBAmN6BAJjeQkBAmJwAQUCYm8DCQAAAgUCY3kFAmN5BAJjQQkApwgBCQDZBAEFAmN6AwkAAAIFAmNBBQJjQQkAzAgCCQELU3RyaW5nRW50cnkCCQEBTgAFAmN6BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYm8BDWNvbnN0cnVjdG9yVjMEAmJ6AmJBAmJCAmJDBAJjeQkBAmJwAQUCYm8DCQAAAgUCY3kFAmN5BAJiYwkAtQkCCQECYUsBCQEBSwAFAWsJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUsACQECYnILCQCRAwIFAmJjAAEJAJEDAgUCYmMAAgkAkQMCBQJiYwADCQCRAwIFAmJjAAQJAJEDAgUCYmMABQkAkQMCBQJiYwAGCQCRAwIFAmJjAAcFAmJ6BQJiQQUCYkIFAmJDBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYm8BDWNvbnN0cnVjdG9yVjQCAmNCAmNDBAJjeQkBAmJwAQUCYm8DCQAAAgUCY3kFAmN5CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFPAAUCY0IJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVAACQC5CQIFAmNDBQFrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYm8BDWNvbnN0cnVjdG9yVjUBAmNEBAJjeQkBAmJwAQUCYm8DCQAAAgUCY3kFAmN5CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFUAAUCY0QFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJibwENY29uc3RydWN0b3JWNgICY0UCY0YEAmNHCQDMCAIJAQJicAEFAmJvCQDMCAIDCQECIT0CCQCmCAEFAmNFBQR1bml0BgIoaW52YWxpZCB2b3RpbmcgZW1pc3Npb24gY29udHJhY3QgYWRkcmVzcwUDbmlsAwkAAAIFAmNHBQJjRwkAzAgCCQELU3RyaW5nRW50cnkCCQEBVQAFAmNFCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFWAAkAuQkCBQJjRgUBawUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJvAQpzZXRNYW5hZ2VyAQJjSAQCY3kJAQJicAEFAmJvAwkAAAIFAmN5BQJjeQQCY0kJANkEAQUCY0gDCQAAAgUCY0kFAmNJCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFSAAUCY0gFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJibwEOY29uZmlybU1hbmFnZXIABAJjSgkBAmJrAAQCY0sDCQEJaXNEZWZpbmVkAQUCY0oGCQACAQISTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmNLBQJjSwQCY0wDCQAAAggFAmJvD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCY0oGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmNMBQJjTAkAzAgCCQELU3RyaW5nRW50cnkCCQEBUQAJANgEAQkBBXZhbHVlAQUCY0oJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAVIABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYm8BCXNldEFkbWlucwECY00EAmN5CQECYnABBQJibwMJAAACBQJjeQUCY3kJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVMACQC5CQIFAmNNBQFrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYm8BD2FjdGl2YXRlTmV3UG9vbAgCYWECYkgCYkkCY04CY08CY1ACYk8CY1EEAmN5CQECY2IBBQJibwMJAAACBQJjeQUCY3kDCQEJaXNEZWZpbmVkAQkAoggBCQECYXUBBQJhYQkAAgEJAKwCAgkArAICAg1Qb29sIGFkZHJlc3MgBQJhYQIUIGFscmVhZHkgcmVnaXN0ZXJlZC4EAmNSCQECYlUCBQJiSAABBAJjUwgFAmNSAl8xBAJjVAkBAmJVAgUCYkkDCAUCY1ICXzMAAgABBAJjVQgFAmNUAl8xBAJjVgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDxBwEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmFhCQCsAgICKU5vIHNjcmlwdCBoYXMgYmVlbiBmb3VuZCBvbiBwb29sIGFjY291bnQgBQJhYQQCY1cJARFAZXh0ck5hdGl2ZSgxMDU3KQEJAQFNAAQCY1gJAQJjaAIFAmJIBQJiSQMFAmNYCQACAQkArAICCQCsAgIJAKwCAgkArAICAgVQb29sIAUCYkgCAS8FAmJJAhwgaGFzIGFscmVhZHkgYmVlbiBhY3RpdmF0ZWQuBAJjWQkBBXZhbHVlAQkAnQgCBQR0aGlzCQECYWgCCQCkAwEFAmNTCQCkAwEFAmNVBAJjWgMJAAACBQJiSAIFV0FWRVMFAWoJAGwGAAoAAAgJAQV2YWx1ZQEJAOwHAQkA2QQBBQJiSAhkZWNpbWFscwAAAAAFBERPV04EAmRhAwkAAAIFAmJJAgVXQVZFUwUBagkAbAYACgAACAkBBXZhbHVlAQkA7AcBCQDZBAEFAmJJCGRlY2ltYWxzAAAAAAUERE9XTgQCZGIJAMIIBQUCY04FAmNPAAEACAYEAmJHCQC4CAEFAmRiBAJkYwkA2AQBBQJiRwQCZGQJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYWECCGFjdGl2YXRlCQDMCAIFAmJICQDMCAIFAmJJBQNuaWwFA25pbAMJAAACBQJkZAUCZGQDCQECIT0CBQJkZAIHc3VjY2VzcwkAAgECI1Bvb2wgaW5pdGlhbGlzYXRpb24gZXJyb3IgaGFwcGVuZWQuBAJjRAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAmFLAQkBAVQABAJkZQkA/AcEBQJjRAIOY3JlYXRlT3JVcGRhdGUJAMwIAgUCZGMJAMwIAgUCY04JAMwIAgcFA25pbAUDbmlsAwkAAAIFAmRlBQJkZQQCZGYJAPwHBAUCY0QCCGFkZExhYmVsCQDMCAIFAmRjCQDMCAIFAWcFA25pbAUDbmlsAwkAAAIFAmRmBQJkZgQCZGcJAPwHBAUCY0QCB3NldExvZ28JAMwIAgUCZGMJAMwIAgUCY1EFA25pbAUDbmlsAwkAAAIFAmRnBQJkZwQCZGgJAPwHBAUCY0QCDWFkZEFzc2V0c0xpbmsJAMwIAgUCYkgJAMwIAgUCYkkJAMwIAgUCZGMFA25pbAUDbmlsAwkAAAIFAmRoBQJkaAQCZGkJAPwHBAUCY0QCGGluY3JlYXNlQXNzZXRQb29sc051bWJlcgkAzAgCBQJiSAUDbmlsBQNuaWwDCQAAAgUCZGkFAmRpCQCUCgIJAM4IAgkAzggCCAUCY1ICXzIIBQJjVAJfMgkAzAgCBQJkYgkAzAgCCQEEQnVybgIFAmJHAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFoAgkApAMBBQJjUwkApAMBBQJjVQkBAmJFCwUCYWEJAKQDAQUBbQUCZGMFAmJIBQJiSQUCY1oFAmRhBQJjUwUCY1UFAWoFAmJPCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhbwEFAmRjCQECYlACBQJjUwUCY1UJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFxAgkApAMBBQJjUwkApAMBBQJjVQkArAICAgQlc19fBQJkYwkAzAgCCQELU3RyaW5nRW50cnkCCQECYXUBBQJhYQkBAmJQAgUCY1MFAmNVCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdwIFAmNTBQJjVQUCYWEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF5AQUCZGMFAmFhCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJheAEFAmFhBQJkYwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVoBBQJhYQUCY1AJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhdAEFAmFhBQFoBQNuaWwFAmRjCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJvAQptYW5hZ2VQb29sAgJhYQJkagQCY3kJAQJicAEFAmJvAwkAAAIFAmN5BQJjeQQCZGsJAQJiUwEFAmFhBAJiRgkAkQMCBQJkawUBdQQCZGMJAJEDAgUCZGsFAXYEAmJICQCRAwIFAmRrBQF3BAJiSQkAkQMCBQJkawUBeAQCY1oJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkawUBeQQCZGEJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkawUBegQCY1MJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkawUBQQQCY1UJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkawUBQgQCZGwJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkawUBQwQCYk8JAJEDAgUCZGsFAUQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFoAgkApAMBBQJjUwkApAMBBQJjVQkBAmJFCwUCYWEJAKQDAQUCZGoFAmRjBQJiSAUCYkkFAmNaBQJkYQUCY1MFAmNVBQJkbAUCYk8FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJibwEEZW1pdAECZG0EAmRuCAUCYm8GY2FsbGVyBAJkbwgFAmJvDG9yaWdpbkNhbGxlcgQCZHAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQECYXgBCQClCAEFAmRuAh1JbnZhbGlkIExQIGFkZHJlc3MgY2FsbGVkIG1lLgQCZHEJANkEAQUCZHAEAmNDCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAKIIAQkBAVAABQFsBQFrBAJjQgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJAQFPAAIoTGVnYWN5IGZhY3RvcnkgY29udHJhY3QgZG9lcyBub3QgZXhpc3RzLgMJAGcCAAAFAmRtBQNuaWwDCQEPY29udGFpbnNFbGVtZW50AgUCY0MJAKUIAQUCZG4JAJQKAgUDbmlsBQJjQgkAlAoCCQDMCAIJAQdSZWlzc3VlAwUCZHEFAmRtBgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUCYm8GY2FsbGVyBQJkbQUCZHEFA25pbAIHc3VjY2VzcwJibwEEYnVybgECZHIEAmRuCAUCYm8GY2FsbGVyBAJkbwgFAmJvDG9yaWdpbkNhbGxlcgQCZHMJAQV2YWx1ZQEJAJEDAggFAmJvCHBheW1lbnRzAAAEAmR0CQEFdmFsdWUBCAUCZHMGYW1vdW50BAJkdQkA2AQBCQEFdmFsdWUBCAUCZHMHYXNzZXRJZAQCZHYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQECYXgBCQClCAEFAmRuAh1JbnZhbGlkIExQIGFkZHJlc3MgY2FsbGVkIG1lLgMJAQIhPQIFAmR1BQJkdgkAAgECFUludmFsaWQgYXNzZXQgcGFzc2VkLgMJAQIhPQIFAmRyBQJkdAkAAgECFkludmFsaWQgYW1vdW50IHBhc3NlZC4EAmRxCQDZBAEFAmR2CQCUCgIJAMwIAgkBBEJ1cm4CBQJkcQUCZHIFA25pbAIHc3VjY2VzcwJibwEMbW9kaWZ5V2VpZ2h0AgJiRwJkdwQCY3kDCQAAAgkA2AQBCAgFAmJvBmNhbGxlcgVieXRlcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEBVQACAAYJAQJicAEFAmJvAwkAAAIFAmN5BQJjeQQCYXYJAQJhSwEJAQJheQEFAmJHBAJkeAkBAVoBBQJhdgQCZHkJAQFaAQUBZgQCZHoJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUCZHkAAAQCY1AJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUCZHgAAAQCZEEFAmR3BAJiYwkAtQkCCQECYUsBCQEBSwAFAWsEAmN1CQECYmUBBQJiYwQCZEIJAPwHBAUCY3UCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmJHCQDMCAIFAmF2BQNuaWwFA25pbAMJAAACBQJkQgUCZEIEAmRDAwkAAAIFAmR6AAAFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZHkAAAUDbmlsBAJkRAkBAmFiAgUCYXYAAAQCZEUJAJ8IAQUCZEQEAmRGAwkAAAIFAmRFBQR1bml0BQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQUCZEQFA25pbAkAzggCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIFAmR4BQJkQQUDbmlsBQJkQwUCZEYJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYm8BDW1vZGlmeVdlaWdodHMEAmRHAmRIAmRJAmRKBAJjeQkBAmJwAQUCYm8DCQAAAgUCY3kFAmN5BAJkSwkAaQIJAGgCAAUFAWUAZAQCZEwJAGkCCQBoAgAFBQFlAGQEAmRNCQBpAgkAaAIABQUBZQBkBAJiYwkAtQkCCQECYUsBCQEBSwAFAWsEAmROCQECYmUBBQJiYwQCZE8JAQJiZgEFAmJjBAJkUAkBAVoBBQJkRwQCZFEJAQFaAQUCZEgEAmRSCQEBWgEFAmRJBAJkUwkBAVoBBQJkSgQCZFQJAQJhTgEFAmRQBAJkVQkBAmFOAQUCZFEEAmRWCQBlAgUCZFQFAmRNBAJkVwkAZQIFAmRVBQJkTQMJAGcCAAAFAmRWCQACAQkArAICAhZpbnZhbGlkIGJ0Y1dlaWdodE5ldzogCQCkAwEFAmRWAwkAZwIAAAUCZFcJAAIBCQCsAgICFmludmFsaWQgZXRoV2VpZ2h0TmV3OiAJAKQDAQUCZFcEAmRYCQECYUsBCQECYXgBBQJkRwQCZFkJAQJhSwEJAQJheAEFAmRIBAJkWgkBAmFLAQkBAmF4AQUCZEkEAmVhCQECYUsBCQECYXgBBQJkSgQCZWIJAPwHBAUCZE4CDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmRYCQDMCAIFAmRHBQNuaWwFA25pbAMJAAACBQJlYgUCZWIEAmVjCQD8BwQFAmROAg5vbk1vZGlmeVdlaWdodAkAzAgCBQJkWQkAzAgCBQJkSAUDbmlsBQNuaWwDCQAAAgUCZWMFAmVjBAJlZAkA/AcEBQJkTgIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZFoJAMwIAgUCZEkFA25pbAUDbmlsAwkAAAIFAmVkBQJlZAQCZWUJAPwHBAUCZE4CDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmVhCQDMCAIFAmRKBQNuaWwFA25pbAMJAAACBQJlZQUCZWUJAMwIAgkBDEludGVnZXJFbnRyeQIFAmRQBQJkVgkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZFEFAmRXCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJkUgUCZEsJAMwIAgkBDEludGVnZXJFbnRyeQIFAmRTBQJkTAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFiAgUCZEcAAAUCZFQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhYgIFAmRIAAAFAmRVCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWICBQJkSQAABQJkSwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFiAgUCZEoAAAUCZEwFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJibwEYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsAgJhQQJhQgQCZWYEAmJoCQCgCAEJAQJhegIFAmFBBQJhQgMJAAECBQJiaAIHQm9vbGVhbgQCZWcFAmJoBQJlZwcJAJQKAgUDbmlsBQJlZgJibwEWc2V0V3hFbWlzc2lvblBvb2xMYWJlbAICYUECYUIEAmN5CQECY2IBBQJibwMJAAACBQJjeQUCY3kJAJQKAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBAmF6AgUCYUEFAmFCBgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJvARlkZWxldGVXeEVtaXNzaW9uUG9vbExhYmVsAgJhQQJhQgQCY3kDCQECYm4BBQJibwYJAQJjYgEFAmJvAwkAAAIFAmN5BQJjeQkAlAoCCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhegIFAmFBBQJhQgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJvARJvblZlcmlmaWNhdGlvbkxvc3MBAmVoBAJjeQMJAAACCQDYBAEICAUCYm8GY2FsbGVyBWJ5dGVzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQFUAAIABgkBAmJwAQUCYm8DCQAAAgUCY3kFAmN5BAJjRgkBAmJnAAQCZWkDCQBmAgkAkAMBBQJjRgAABgkAAgECFGludmFsaWQgcHJpY2UgYXNzZXRzAwkAAAIFAmVpBQJlaQoBAmVqAgJlawJlbAQCZW0JAPwHBAUEdGhpcwIZZGVsZXRlV3hFbWlzc2lvblBvb2xMYWJlbAkAzAgCBQJlaAkAzAgCBQJlbAUDbmlsBQNuaWwDCQAAAgUCZW0FAmVtBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAJlbgoAAmVvBQJjRgoAAmVwCQCQAwEFAmVvCgACZXEFBHVuaXQKAQJlcgICZXMCZXQDCQBnAgUCZXQFAmVwBQJlcwkBAmVqAgUCZXMJAJEDAgUCZW8FAmV0CgECZXUCAmVzAmV0AwkAZwIFAmV0BQJlcAUCZXMJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAyCQECZXUCCQECZXICCQECZXICBQJlcQAAAAEAAgMJAAACBQJlbgUCZW4JAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJvAShpc1Bvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZFJFQURPTkxZAQJhYQQCZGsJAQJiUwEFAmFhBAJhbAkAlAoCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZGsFAUEJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkawUBQgQCZXYJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBAmFrAQUCYWwHBAJldwkBC3ZhbHVlT3JFbHNlAgkAoAgBCQECYW4ABwkAlAoCBQNuaWwDBQJldwYFAmV2AmJvARBnZXRJbkZlZVJFQURPTkxZAQJhYQQCZXgJAQJjZQMJAQJhQwEFAmFhCQECYUQAAAAJAJQKAgUDbmlsBQJleAJibwERZ2V0T3V0RmVlUkVBRE9OTFkBAmFhBAJleAkBAmNlAwkBAmFFAQUCYWEJAQJhRgAJAGsDAAoFAWIAkE4JAJQKAgUDbmlsBQJleAJibwEQcG9vbEluZm9SRUFET05MWQICZXkCZXoEAmVBCQCaCAIFBHRoaXMJAQJhZgEFAmV5BAJlQgkAmggCBQR0aGlzCQECYWYBBQJlegQCZUMJAJ0IAgUEdGhpcwkBAmF3AgkBBXZhbHVlAQUCZUEJAQV2YWx1ZQEFAmVCBAJlRAkAnQgCBQR0aGlzCQECYXgBCQEFdmFsdWUBBQJlQwQCY1gDAwkBCWlzRGVmaW5lZAEFAmVBCQEJaXNEZWZpbmVkAQUCZUIHCQEJaXNEZWZpbmVkAQUCZUMHBAJlRQMFAmNYCQCUCgIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEFAmVDCQECYU8BCQEFdmFsdWUBBQJlRAUEdW5pdAkAlAoCBQNuaWwFAmVFAmJvARVnZXRQb29sU3RhdHVzUkVBRE9OTFkBAmFhBAJiVAkAtQkCCQECYUsBCQECYXUBBQJhYQUBawQCYWkJAJEDAgUCYlQAAQQCYWoJAJEDAgUCYlQAAgQCY2sJALUJAgkBAmFLAQkBAmFoAgUCYWkFAmFqBQFrCQCUCgIFA25pbAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmNrBQF1AmJvARVnZXRQb29sQ29uZmlnUkVBRE9OTFkBAmFhBAJiVAkAtQkCCQECYUsBCQECYXUBBQJhYQUBawQCYWkJAJEDAgUCYlQAAQQCYWoJAJEDAgUCYlQAAgQCY2sJALUJAgkBAmFLAQkBAmFoAgUCYWkFAmFqBQFrCQCUCgIFA25pbAUCY2sCYm8BGGdldFBvb2xDb25maWdCeUxwQXNzZXRJZAECZGMEAmJUCQC1CQIJAQJhSwEJAQJhbwEFAmRjBQFrBAJhaQkAkQMCBQJiVAABBAJhagkAkQMCBQJiVAACBAJjawkAtQkCCQECYUsBCQECYWgCBQJhaQUCYWoFAWsJAJQKAgUDbmlsBQJjawJibwEScG9vbEV4aXN0c1JFQURPTkxZAgJhQQJhQgkAlAoCBQNuaWwJAQJjaAIFAmFBBQJhQgJibwEbc2tpcE9yZGVyVmFsaWRhdGlvblJFQURPTkxZAQJhYQkAlAoCBQNuaWwJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBAmFHAQUCYWEHAmJvARpnZXRDaGFuZ2VBbXBDb25maWdSRUFET05MWQECYWEEAmVGCQERQGV4dHJOYXRpdmUoMTA1NSkBCQECYUgBBQJhYQQCZUcJARFAZXh0ck5hdGl2ZSgxMDU1KQEJAQJhSQEFAmFhBAJlSAkBEUBleHRyTmF0aXZlKDEwNTUpAQkBAmFKAQUCYWEJAJQKAgUDbmlsCQDMCAIFAmVGCQDMCAIFAmVHCQDMCAIFAmVIBQNuaWwBAmVJAQJlSgAEAmVLBAJiaAkBAmJqAAMJAAECBQJiaAIKQnl0ZVZlY3RvcgQCYnEFAmJoBQJicQMJAAECBQJiaAIEVW5pdAgFAmVJD3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yCQD0AwMIBQJlSQlib2R5Qnl0ZXMJAJEDAggFAmVJBnByb29mcwAABQJlSzKKrNc=", "height": 2504002, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 99DJKgZSW8NFqjThjfpC4xfKCmum2cDhWWVR9YJrmeq1 Next: 2Er3JgTxsN367CociqcWduXrA1JvxFo8ibGoA6cFLhqb Diff:
OldNewDifferences
184184 func aF () = "%s__outFeeDefault"
185185
186186
187-func aG (aH) = valueOrErrorMessage(getString(this, aH), ("No data for this.key=" + aH))
187+func aG (aa) = ("%s%s__skipOrderValidation__" + aa)
188188
189189
190-func aI (aH) = valueOrErrorMessage(getBoolean(this, aH), ("No data for this.key=" + aH))
190+func aH (aa) = ("%s%s__changeAmpDelay__" + aa)
191191
192192
193-func aJ (aH) = valueOrErrorMessage(getInteger(this, aH), ("No data for this.key=" + aH))
193+func aI (aa) = ("%s%s__changeAmpDelta__" + aa)
194194
195195
196-func aK (aL) = if ((aL == i))
197- then unit
198- else fromBase58String(aL)
196+func aJ (aa) = ("%s%s__changeAmpTarget__" + aa)
199197
200198
201-let aM = 1
202-
203-let aN = 2
204-
205-let aO = 3
206-
207-let aP = 4
208-
209-let aQ = 5
210-
211-let aR = 6
212-
213-let aS = 7
214-
215-let aT = 8
216-
217-let aU = 9
218-
219-let aV = 10
220-
221-let aW = 11
222-
223-func aX (aY) = addressFromStringValue(aY[aN])
199+func aK (aL) = valueOrErrorMessage(getString(this, aL), ("No data for this.key=" + aL))
224200
225201
226-func aZ (aY) = addressFromStringValue(aY[aQ])
202+func aM (aL) = valueOrErrorMessage(getBoolean(this, aL), ("No data for this.key=" + aL))
227203
228204
229-func ba (aY) = addressFromStringValue(aY[aM])
205+func aN (aL) = valueOrErrorMessage(getInteger(this, aL), ("No data for this.key=" + aL))
230206
231207
232-func bb (aY) = addressFromStringValue(aY[aV])
208+func aO (aP) = if ((aP == i))
209+ then unit
210+ else fromBase58String(aP)
233211
234212
235-func bc () = {
236- let bd = getString(V())
237- if ($isInstanceOf(bd, "String"))
213+let aQ = 1
214+
215+let aR = 2
216+
217+let aS = 3
218+
219+let aT = 4
220+
221+let aU = 5
222+
223+let aV = 6
224+
225+let aW = 7
226+
227+let aX = 8
228+
229+let aY = 9
230+
231+let aZ = 10
232+
233+let ba = 11
234+
235+func bb (bc) = addressFromStringValue(bc[aR])
236+
237+
238+func bd (bc) = addressFromStringValue(bc[aU])
239+
240+
241+func be (bc) = addressFromStringValue(bc[aQ])
242+
243+
244+func bf (bc) = addressFromStringValue(bc[aZ])
245+
246+
247+func bg () = {
248+ let bh = getString(V())
249+ if ($isInstanceOf(bh, "String"))
238250 then {
239- let be = bd
240- if ((size(be) == 0))
251+ let bi = bh
252+ if ((size(bi) == 0))
241253 then nil
242- else split(be, k)
254+ else split(bi, k)
243255 }
244256 else nil
245257 }
246258
247259
248-func bf () = {
249- let bd = getString(Q())
250- if ($isInstanceOf(bd, "String"))
260+func bj () = {
261+ let bh = getString(Q())
262+ if ($isInstanceOf(bh, "String"))
251263 then {
252- let be = bd
253- fromBase58String(be)
264+ let bi = bh
265+ fromBase58String(bi)
254266 }
255- else if ($isInstanceOf(bd, "Unit"))
267+ else if ($isInstanceOf(bh, "Unit"))
256268 then unit
257269 else throw("Match error")
258270 }
259271
260272
261-func bg () = {
262- let bd = getString(R())
263- if ($isInstanceOf(bd, "String"))
273+func bk () = {
274+ let bh = getString(R())
275+ if ($isInstanceOf(bh, "String"))
264276 then {
265- let be = bd
266- fromBase58String(be)
277+ let bi = bh
278+ fromBase58String(bi)
267279 }
268- else if ($isInstanceOf(bd, "Unit"))
280+ else if ($isInstanceOf(bh, "Unit"))
269281 then unit
270282 else throw("Match error")
271283 }
272284
273285
274-let bh = throw("Permission denied")
286+let bl = throw("Permission denied")
275287
276-let bi = throw("Test error here")
288+let bm = throw("Test error here")
277289
278-func bj (bk) = if ((bk.caller == this))
290+func bn (bo) = if ((bo.caller == this))
279291 then true
280- else bh
292+ else bl
281293
282294
283-func bl (bk) = {
284- let bd = bf()
285- if ($isInstanceOf(bd, "ByteVector"))
295+func bp (bo) = {
296+ let bh = bj()
297+ if ($isInstanceOf(bh, "ByteVector"))
286298 then {
287- let bm = bd
288- if ((bk.callerPublicKey == bm))
299+ let bq = bh
300+ if ((bo.callerPublicKey == bq))
289301 then true
290- else bh
302+ else bl
291303 }
292- else if ($isInstanceOf(bd, "Unit"))
293- then bj(bk)
304+ else if ($isInstanceOf(bh, "Unit"))
305+ then bn(bo)
294306 else throw("Match error")
295307 }
296308
297309
298-func bn (bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by], k)
310+func br (bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bs, bt, bu, bv, bw, bx, by, bz, bA, bB, bC], k)
299311
300312
301-func bz (bo,bp,bq,br,bs,bt,bu) = makeString(["%s%s%s%s%s%s", bo, bp, bq, br, bs, bt, bu], k)
313+func bD (bs,bt,bu,bv,bw,bx,by) = makeString(["%s%s%s%s%s%s", bs, bt, bu, bv, bw, bx, by], k)
302314
303315
304-func bA (aa,bB,bC,bD,bE,bF,bG,bH,bI,bJ,bK) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", aa, bB, bC, bD, bE, toString(bF), toString(bG), toString(bH), toString(bI), toString(bJ), bK], k)
316+func bE (aa,bF,bG,bH,bI,bJ,bK,bL,bM,bN,bO) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", aa, bF, bG, bH, bI, toString(bJ), toString(bK), toString(bL), toString(bM), toString(bN), bO], k)
305317
306318
307-func bL (bM,bN) = makeString(["%d%d", toString(bM), toString(bN)], k)
319+func bP (bQ,bR) = makeString(["%d%d", toString(bQ), toString(bR)], k)
308320
309321
310-func bO (aa) = {
311- let bP = split(aG(au(aa)), k)
312- let ai = bP[1]
313- let aj = bP[2]
314- split(aG(ah(ai, aj)), k)
322+func bS (aa) = {
323+ let bT = split(aK(au(aa)), k)
324+ let ai = bT[1]
325+ let aj = bT[2]
326+ split(aK(ah(ai, aj)), k)
315327 }
316328
317329
318-func bQ (bR,bS) = {
319- let bT = valueOrElse(getInteger(this, af(bR)), 0)
320- let bU = valueOrElse(getInteger(this, Y()), 0)
321- let bV = if ((bT == 0))
330+func bU (bV,bW) = {
331+ let bX = valueOrElse(getInteger(this, af(bV)), 0)
332+ let bY = valueOrElse(getInteger(this, Y()), 0)
333+ let bZ = if ((bX == 0))
322334 then {
323- let bW = (bU + bS)
324- $Tuple3(bW, [IntegerEntry(Y(), bW), IntegerEntry(af(bR), bW), StringEntry(ad(bW), bR)], true)
335+ let ca = (bY + bW)
336+ $Tuple3(ca, [IntegerEntry(Y(), ca), IntegerEntry(af(bV), ca), StringEntry(ad(ca), bV)], true)
325337 }
326- else $Tuple3(bT, nil, false)
327- bV
338+ else $Tuple3(bX, nil, false)
339+ bZ
328340 }
329341
330342
331-func bX (bk) = {
332- let bY = split(valueOrElse(getString(S()), l), k)
333- if (containsElement(bY, toBase58String(bk.callerPublicKey)))
343+func cb (bo) = {
344+ let cc = split(valueOrElse(getString(S()), l), k)
345+ if (containsElement(cc, toBase58String(bo.callerPublicKey)))
334346 then true
335347 else {
336- let bZ = bl(bk)
337- if ((bZ == bZ))
348+ let cd = bp(bo)
349+ if ((cd == cd))
338350 then true
339351 else throw("Strict value is not equal to itself.")
340352 }
341353 }
342354
343355
344-func ca (aH,cb,cc) = valueOrElse(getInteger(this, aH), valueOrElse(getInteger(this, cb), cc))
356+func ce (aL,cf,cg) = valueOrElse(getInteger(this, aL), valueOrElse(getInteger(this, cf), cg))
345357
346358
347-func cd (aA,aB) = {
359+func ch (aA,aB) = {
348360 let ai = getInteger(af(aA))
349361 let aj = getInteger(af(aB))
350362 if (if ((ai == unit))
352364 else (aj == unit))
353365 then false
354366 else {
355- let ce = toString(value(ai))
356- let cf = toString(value(aj))
357- let cg = getString(ah(ce, cf))
358- let ch = getString(ah(cf, ce))
359- let ci = if ((cg != unit))
367+ let ci = toString(value(ai))
368+ let cj = toString(value(aj))
369+ let ck = getString(ah(ci, cj))
370+ let cl = getString(ah(cj, ci))
371+ let cm = if ((ck != unit))
360372 then true
361- else (ch != unit)
362- ci
373+ else (cl != unit)
374+ cm
363375 }
364376 }
365377
366378
367-@Callable(bk)
368-func getSwapContractREADONLY () = $Tuple2(nil, aG(J()))
379+@Callable(bo)
380+func getSwapContractREADONLY () = $Tuple2(nil, aK(J()))
369381
370382
371383
372-@Callable(bk)
373-func getLpAssetFromPoolAssetsREADONLY (cj,ck) = if (if ((cj == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
374- then (ck == "WAVES")
384+@Callable(bo)
385+func getLpAssetFromPoolAssetsREADONLY (cn,co) = if (if ((cn == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
386+ then (co == "WAVES")
375387 else false)
376388 then $Tuple2(nil, unit)
377389 else {
378- let cl = value(getInteger(this, af(cj)))
379- let cm = value(getInteger(this, af(ck)))
380- let cn = getString(this, aq(toString(cl), toString(cm)))
381- let co = if ((cn == unit))
390+ let cp = value(getInteger(this, af(cn)))
391+ let cq = value(getInteger(this, af(co)))
392+ let cr = getString(this, aq(toString(cp), toString(cq)))
393+ let cs = if ((cr == unit))
382394 then unit
383- else drop(value(cn), 4)
384- $Tuple2(nil, co)
395+ else drop(value(cr), 4)
396+ $Tuple2(nil, cs)
385397 }
386398
387399
388400
389-@Callable(bk)
390-func getPoolAddressFromLpAssetREADONLY (cp) = $Tuple2(nil, valueOrElse(getString(this, ay(cp)), ""))
401+@Callable(bo)
402+func getPoolAddressFromLpAssetREADONLY (ct) = $Tuple2(nil, valueOrElse(getString(this, ay(ct)), ""))
391403
392404
393405
394-@Callable(bk)
395-func constructor (cq,cr,bq,br,bs,bt,cs,ct) = {
396- let cu = bl(bk)
397- if ((cu == cu))
398- then [StringEntry(K(), bz(cq, cr, bq, br, bs, bt, cs)), IntegerEntry(W(), ct)]
406+@Callable(bo)
407+func constructor (cu,cv,bu,bv,bw,bx,cw,cx) = {
408+ let cy = bp(bo)
409+ if ((cy == cy))
410+ then [StringEntry(K(), bD(cu, cv, bu, bv, bw, bx, cw)), IntegerEntry(W(), cx)]
399411 else throw("Strict value is not equal to itself.")
400412 }
401413
402414
403415
404-@Callable(bk)
405-func constructorV2 (cv) = {
406- let cu = bl(bk)
407- if ((cu == cu))
416+@Callable(bo)
417+func constructorV2 (cz) = {
418+ let cy = bp(bo)
419+ if ((cy == cy))
408420 then {
409- let cw = addressFromPublicKey(fromBase58String(cv))
410- if ((cw == cw))
411- then [StringEntry(N(), cv)]
421+ let cA = addressFromPublicKey(fromBase58String(cz))
422+ if ((cA == cA))
423+ then [StringEntry(N(), cz)]
412424 else throw("Strict value is not equal to itself.")
413425 }
414426 else throw("Strict value is not equal to itself.")
416428
417429
418430
419-@Callable(bk)
420-func constructorV3 (bv,bw,bx,by) = {
421- let cu = bl(bk)
422- if ((cu == cu))
431+@Callable(bo)
432+func constructorV3 (bz,bA,bB,bC) = {
433+ let cy = bp(bo)
434+ if ((cy == cy))
423435 then {
424- let aY = split(aG(K()), k)
425-[StringEntry(K(), bn(aY[1], aY[2], aY[3], aY[4], aY[5], aY[6], aY[7], bv, bw, bx, by))]
436+ let bc = split(aK(K()), k)
437+[StringEntry(K(), br(bc[1], bc[2], bc[3], bc[4], bc[5], bc[6], bc[7], bz, bA, bB, bC))]
426438 }
427439 else throw("Strict value is not equal to itself.")
428440 }
429441
430442
431443
432-@Callable(bk)
433-func constructorV4 (cx,cy) = {
434- let cu = bl(bk)
435- if ((cu == cu))
436- then [StringEntry(O(), cx), StringEntry(P(), makeString(cy, k))]
444+@Callable(bo)
445+func constructorV4 (cB,cC) = {
446+ let cy = bp(bo)
447+ if ((cy == cy))
448+ then [StringEntry(O(), cB), StringEntry(P(), makeString(cC, k))]
437449 else throw("Strict value is not equal to itself.")
438450 }
439451
440452
441453
442-@Callable(bk)
443-func constructorV5 (cz) = {
444- let cu = bl(bk)
445- if ((cu == cu))
446- then [StringEntry(T(), cz)]
454+@Callable(bo)
455+func constructorV5 (cD) = {
456+ let cy = bp(bo)
457+ if ((cy == cy))
458+ then [StringEntry(T(), cD)]
447459 else throw("Strict value is not equal to itself.")
448460 }
449461
450462
451463
452-@Callable(bk)
453-func constructorV6 (cA,cB) = {
454- let cC = [bl(bk), if ((addressFromString(cA) != unit))
464+@Callable(bo)
465+func constructorV6 (cE,cF) = {
466+ let cG = [bp(bo), if ((addressFromString(cE) != unit))
455467 then true
456468 else "invalid voting emission contract address"]
457- if ((cC == cC))
458- then [StringEntry(U(), cA), StringEntry(V(), makeString(cB, k))]
469+ if ((cG == cG))
470+ then [StringEntry(U(), cE), StringEntry(V(), makeString(cF, k))]
459471 else throw("Strict value is not equal to itself.")
460472 }
461473
462474
463475
464-@Callable(bk)
465-func setManager (cD) = {
466- let cu = bl(bk)
467- if ((cu == cu))
476+@Callable(bo)
477+func setManager (cH) = {
478+ let cy = bp(bo)
479+ if ((cy == cy))
468480 then {
469- let cE = fromBase58String(cD)
470- if ((cE == cE))
471- then [StringEntry(R(), cD)]
481+ let cI = fromBase58String(cH)
482+ if ((cI == cI))
483+ then [StringEntry(R(), cH)]
472484 else throw("Strict value is not equal to itself.")
473485 }
474486 else throw("Strict value is not equal to itself.")
476488
477489
478490
479-@Callable(bk)
491+@Callable(bo)
480492 func confirmManager () = {
481- let cF = bg()
482- let cG = if (isDefined(cF))
493+ let cJ = bk()
494+ let cK = if (isDefined(cJ))
483495 then true
484496 else throw("No pending manager")
485- if ((cG == cG))
497+ if ((cK == cK))
486498 then {
487- let cH = if ((bk.callerPublicKey == value(cF)))
499+ let cL = if ((bo.callerPublicKey == value(cJ)))
488500 then true
489501 else throw("You are not pending manager")
490- if ((cH == cH))
491- then [StringEntry(Q(), toBase58String(value(cF))), DeleteEntry(R())]
502+ if ((cL == cL))
503+ then [StringEntry(Q(), toBase58String(value(cJ))), DeleteEntry(R())]
492504 else throw("Strict value is not equal to itself.")
493505 }
494506 else throw("Strict value is not equal to itself.")
496508
497509
498510
499-@Callable(bk)
500-func setAdmins (cI) = {
501- let cu = bl(bk)
502- if ((cu == cu))
503- then [StringEntry(S(), makeString(cI, k))]
511+@Callable(bo)
512+func setAdmins (cM) = {
513+ let cy = bp(bo)
514+ if ((cy == cy))
515+ then [StringEntry(S(), makeString(cM, k))]
504516 else throw("Strict value is not equal to itself.")
505517 }
506518
507519
508520
509-@Callable(bk)
510-func activateNewPool (aa,bD,bE,cJ,cK,cL,bK,cM) = {
511- let cu = bX(bk)
512- if ((cu == cu))
521+@Callable(bo)
522+func activateNewPool (aa,bH,bI,cN,cO,cP,bO,cQ) = {
523+ let cy = cb(bo)
524+ if ((cy == cy))
513525 then if (isDefined(getString(au(aa))))
514526 then throw((("Pool address " + aa) + " already registered."))
515527 else {
516- let cN = bQ(bD, 1)
517- let cO = cN._1
518- let cP = bQ(bE, if (cN._3)
528+ let cR = bU(bH, 1)
529+ let cS = cR._1
530+ let cT = bU(bI, if (cR._3)
519531 then 2
520532 else 1)
521- let cQ = cP._1
522- let cR = valueOrErrorMessage(scriptHash(addressFromStringValue(aa)), ("No script has been found on pool account " + aa))
523- let cS = getBinaryValue(M())
524- let cT = cd(bD, bE)
525- if (cT)
526- then throw((((("Pool " + bD) + "/") + bE) + " has already been activated."))
533+ let cU = cT._1
534+ let cV = valueOrErrorMessage(scriptHash(addressFromStringValue(aa)), ("No script has been found on pool account " + aa))
535+ let cW = getBinaryValue(M())
536+ let cX = ch(bH, bI)
537+ if (cX)
538+ then throw((((("Pool " + bH) + "/") + bI) + " has already been activated."))
527539 else {
528- let cU = value(getString(this, ah(toString(cO), toString(cQ))))
529- let cV = if ((bD == "WAVES"))
540+ let cY = value(getString(this, ah(toString(cS), toString(cU))))
541+ let cZ = if ((bH == "WAVES"))
530542 then j
531- else pow(10, 0, value(assetInfo(fromBase58String(bD))).decimals, 0, 0, DOWN)
532- let cW = if ((bE == "WAVES"))
543+ else pow(10, 0, value(assetInfo(fromBase58String(bH))).decimals, 0, 0, DOWN)
544+ let da = if ((bI == "WAVES"))
533545 then j
534- else pow(10, 0, value(assetInfo(fromBase58String(bE))).decimals, 0, 0, DOWN)
535- let cX = Issue(cJ, cK, 1, 8, true)
536- let bC = calculateAssetId(cX)
537- let cY = toBase58String(bC)
538- let cZ = invoke(addressFromStringValue(aa), "activate", [bD, bE], nil)
539- if ((cZ == cZ))
540- then if ((cZ != "success"))
546+ else pow(10, 0, value(assetInfo(fromBase58String(bI))).decimals, 0, 0, DOWN)
547+ let db = Issue(cN, cO, 1, 8, true)
548+ let bG = calculateAssetId(db)
549+ let dc = toBase58String(bG)
550+ let dd = invoke(addressFromStringValue(aa), "activate", [bH, bI], nil)
551+ if ((dd == dd))
552+ then if ((dd != "success"))
541553 then throw("Pool initialisation error happened.")
542554 else {
543- let cz = addressFromStringValue(aG(T()))
544- let da = invoke(cz, "createOrUpdate", [cY, cJ, false], nil)
545- if ((da == da))
555+ let cD = addressFromStringValue(aK(T()))
556+ let de = invoke(cD, "createOrUpdate", [dc, cN, false], nil)
557+ if ((de == de))
546558 then {
547- let db = invoke(cz, "addLabel", [cY, g], nil)
548- if ((db == db))
559+ let df = invoke(cD, "addLabel", [dc, g], nil)
560+ if ((df == df))
549561 then {
550- let dc = invoke(cz, "setLogo", [cY, cM], nil)
551- if ((dc == dc))
562+ let dg = invoke(cD, "setLogo", [dc, cQ], nil)
563+ if ((dg == dg))
552564 then {
553- let dd = invoke(cz, "addAssetsLink", [bD, bE, cY], nil)
554- if ((dd == dd))
565+ let dh = invoke(cD, "addAssetsLink", [bH, bI, dc], nil)
566+ if ((dh == dh))
555567 then {
556- let de = invoke(cz, "increaseAssetPoolsNumber", [bD], nil)
557- if ((de == de))
558- then $Tuple2(((cN._2 ++ cP._2) ++ [cX, Burn(bC, 1), StringEntry(ah(toString(cO), toString(cQ)), bA(aa, toString(m), cY, bD, bE, cV, cW, cO, cQ, j, bK)), StringEntry(ao(cY), bL(cO, cQ)), StringEntry(aq(toString(cO), toString(cQ)), ("%s__" + cY)), StringEntry(au(aa), bL(cO, cQ)), StringEntry(aw(cO, cQ), aa), StringEntry(ay(cY), aa), StringEntry(ax(aa), cY), IntegerEntry(Z(aa), cL), IntegerEntry(at(aa), h)]), cY)
568+ let di = invoke(cD, "increaseAssetPoolsNumber", [bH], nil)
569+ if ((di == di))
570+ then $Tuple2(((cR._2 ++ cT._2) ++ [db, Burn(bG, 1), StringEntry(ah(toString(cS), toString(cU)), bE(aa, toString(m), dc, bH, bI, cZ, da, cS, cU, j, bO)), StringEntry(ao(dc), bP(cS, cU)), StringEntry(aq(toString(cS), toString(cU)), ("%s__" + dc)), StringEntry(au(aa), bP(cS, cU)), StringEntry(aw(cS, cU), aa), StringEntry(ay(dc), aa), StringEntry(ax(aa), dc), IntegerEntry(Z(aa), cP), IntegerEntry(at(aa), h)]), dc)
559571 else throw("Strict value is not equal to itself.")
560572 }
561573 else throw("Strict value is not equal to itself.")
574586
575587
576588
577-@Callable(bk)
578-func managePool (aa,df) = {
579- let cu = bl(bk)
580- if ((cu == cu))
589+@Callable(bo)
590+func managePool (aa,dj) = {
591+ let cy = bp(bo)
592+ if ((cy == cy))
581593 then {
582- let dg = bO(aa)
583- let bB = dg[u]
584- let cY = dg[v]
585- let bD = dg[w]
586- let bE = dg[x]
587- let cV = parseIntValue(dg[y])
588- let cW = parseIntValue(dg[z])
589- let cO = parseIntValue(dg[A])
590- let cQ = parseIntValue(dg[B])
591- let dh = parseIntValue(dg[C])
592- let bK = dg[D]
593-[StringEntry(ah(toString(cO), toString(cQ)), bA(aa, toString(df), cY, bD, bE, cV, cW, cO, cQ, dh, bK))]
594+ let dk = bS(aa)
595+ let bF = dk[u]
596+ let dc = dk[v]
597+ let bH = dk[w]
598+ let bI = dk[x]
599+ let cZ = parseIntValue(dk[y])
600+ let da = parseIntValue(dk[z])
601+ let cS = parseIntValue(dk[A])
602+ let cU = parseIntValue(dk[B])
603+ let dl = parseIntValue(dk[C])
604+ let bO = dk[D]
605+[StringEntry(ah(toString(cS), toString(cU)), bE(aa, toString(dj), dc, bH, bI, cZ, da, cS, cU, dl, bO))]
594606 }
595607 else throw("Strict value is not equal to itself.")
596608 }
597609
598610
599611
600-@Callable(bk)
601-func emit (di) = {
602- let dj = bk.caller
603- let dk = bk.originCaller
604- let dl = valueOrErrorMessage(getString(ax(toString(dj))), "Invalid LP address called me.")
605- let dm = fromBase58String(dl)
606- let cy = split(valueOrElse(getString(P()), l), k)
607- let cx = addressFromStringValue(valueOrErrorMessage(getString(O()), "Legacy factory contract does not exists."))
608- if ((0 >= di))
612+@Callable(bo)
613+func emit (dm) = {
614+ let dn = bo.caller
615+ let do = bo.originCaller
616+ let dp = valueOrErrorMessage(getString(ax(toString(dn))), "Invalid LP address called me.")
617+ let dq = fromBase58String(dp)
618+ let cC = split(valueOrElse(getString(P()), l), k)
619+ let cB = addressFromStringValue(valueOrErrorMessage(getString(O()), "Legacy factory contract does not exists."))
620+ if ((0 >= dm))
609621 then nil
610- else if (containsElement(cy, toString(dj)))
611- then $Tuple2(nil, cx)
612- else $Tuple2([Reissue(dm, di, true), ScriptTransfer(bk.caller, di, dm)], "success")
622+ else if (containsElement(cC, toString(dn)))
623+ then $Tuple2(nil, cB)
624+ else $Tuple2([Reissue(dq, dm, true), ScriptTransfer(bo.caller, dm, dq)], "success")
613625 }
614626
615627
616628
617-@Callable(bk)
618-func burn (dn) = {
619- let dj = bk.caller
620- let dk = bk.originCaller
621- let do = value(bk.payments[0])
622- let dp = value(do.amount)
623- let dq = toBase58String(value(do.assetId))
624- let dr = valueOrErrorMessage(getString(ax(toString(dj))), "Invalid LP address called me.")
625- if ((dq != dr))
629+@Callable(bo)
630+func burn (dr) = {
631+ let dn = bo.caller
632+ let do = bo.originCaller
633+ let ds = value(bo.payments[0])
634+ let dt = value(ds.amount)
635+ let du = toBase58String(value(ds.assetId))
636+ let dv = valueOrErrorMessage(getString(ax(toString(dn))), "Invalid LP address called me.")
637+ if ((du != dv))
626638 then throw("Invalid asset passed.")
627- else if ((dn != dp))
639+ else if ((dr != dt))
628640 then throw("Invalid amount passed.")
629641 else {
630- let dm = fromBase58String(dr)
631- $Tuple2([Burn(dm, dn)], "success")
642+ let dq = fromBase58String(dv)
643+ $Tuple2([Burn(dq, dr)], "success")
632644 }
633645 }
634646
635647
636648
637-@Callable(bk)
638-func modifyWeight (bC,ds) = {
639- let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, U()), "")))
649+@Callable(bo)
650+func modifyWeight (bG,dw) = {
651+ let cy = if ((toBase58String(bo.caller.bytes) == valueOrElse(getString(this, U()), "")))
640652 then true
641- else bl(bk)
642- if ((cu == cu))
653+ else bp(bo)
654+ if ((cy == cy))
643655 then {
644- let av = aG(ay(bC))
645- let dt = Z(av)
646- let du = Z(f)
647- let dv = valueOrElse(getInteger(du), 0)
648- let cL = valueOrElse(getInteger(dt), 0)
649- let dw = ds
650- let aY = split(aG(K()), k)
651- let cq = ba(aY)
652- let dx = invoke(cq, "onModifyWeight", [bC, av], nil)
653- if ((dx == dx))
656+ let av = aK(ay(bG))
657+ let dx = Z(av)
658+ let dy = Z(f)
659+ let dz = valueOrElse(getInteger(dy), 0)
660+ let cP = valueOrElse(getInteger(dx), 0)
661+ let dA = dw
662+ let bc = split(aK(K()), k)
663+ let cu = be(bc)
664+ let dB = invoke(cu, "onModifyWeight", [bG, av], nil)
665+ if ((dB == dB))
654666 then {
655- let dy = if ((dv == 0))
667+ let dC = if ((dz == 0))
656668 then nil
657- else [IntegerEntry(du, 0)]
658- let dz = ab(av, 0)
659- let dA = getInteger(dz)
660- let dB = if ((dA == unit))
669+ else [IntegerEntry(dy, 0)]
670+ let dD = ab(av, 0)
671+ let dE = getInteger(dD)
672+ let dF = if ((dE == unit))
661673 then nil
662- else [DeleteEntry(dz)]
663- (([IntegerEntry(dt, dw)] ++ dy) ++ dB)
674+ else [DeleteEntry(dD)]
675+ (([IntegerEntry(dx, dA)] ++ dC) ++ dF)
664676 }
665677 else throw("Strict value is not equal to itself.")
666678 }
669681
670682
671683
672-@Callable(bk)
673-func modifyWeights (dC,dD,dE,dF) = {
674- let cu = bl(bk)
675- if ((cu == cu))
684+@Callable(bo)
685+func modifyWeights (dG,dH,dI,dJ) = {
686+ let cy = bp(bo)
687+ if ((cy == cy))
676688 then {
677- let dG = ((5 * e) / 100)
678- let dH = ((5 * e) / 100)
679- let dI = ((5 * e) / 100)
680- let aY = split(aG(K()), k)
681- let dJ = ba(aY)
682- let dK = bb(aY)
683- let dL = Z(dC)
684- let dM = Z(dD)
685- let dN = Z(dE)
686- let dO = Z(dF)
687- let dP = aJ(dL)
688- let dQ = aJ(dM)
689- let dR = (dP - dI)
690- let dS = (dQ - dI)
691- if ((0 >= dR))
692- then throw(("invalid btcWeightNew: " + toString(dR)))
693- else if ((0 >= dS))
694- then throw(("invalid ethWeightNew: " + toString(dS)))
689+ let dK = ((5 * e) / 100)
690+ let dL = ((5 * e) / 100)
691+ let dM = ((5 * e) / 100)
692+ let bc = split(aK(K()), k)
693+ let dN = be(bc)
694+ let dO = bf(bc)
695+ let dP = Z(dG)
696+ let dQ = Z(dH)
697+ let dR = Z(dI)
698+ let dS = Z(dJ)
699+ let dT = aN(dP)
700+ let dU = aN(dQ)
701+ let dV = (dT - dM)
702+ let dW = (dU - dM)
703+ if ((0 >= dV))
704+ then throw(("invalid btcWeightNew: " + toString(dV)))
705+ else if ((0 >= dW))
706+ then throw(("invalid ethWeightNew: " + toString(dW)))
695707 else {
696- let dT = aG(ax(dC))
697- let dU = aG(ax(dD))
698- let dV = aG(ax(dE))
699- let dW = aG(ax(dF))
700- let dX = invoke(dJ, "onModifyWeight", [dT, dC], nil)
701- if ((dX == dX))
708+ let dX = aK(ax(dG))
709+ let dY = aK(ax(dH))
710+ let dZ = aK(ax(dI))
711+ let ea = aK(ax(dJ))
712+ let eb = invoke(dN, "onModifyWeight", [dX, dG], nil)
713+ if ((eb == eb))
702714 then {
703- let dY = invoke(dJ, "onModifyWeight", [dU, dD], nil)
704- if ((dY == dY))
715+ let ec = invoke(dN, "onModifyWeight", [dY, dH], nil)
716+ if ((ec == ec))
705717 then {
706- let dZ = invoke(dJ, "onModifyWeight", [dV, dE], nil)
707- if ((dZ == dZ))
718+ let ed = invoke(dN, "onModifyWeight", [dZ, dI], nil)
719+ if ((ed == ed))
708720 then {
709- let ea = invoke(dJ, "onModifyWeight", [dW, dF], nil)
710- if ((ea == ea))
711- then [IntegerEntry(dL, dR), IntegerEntry(dM, dS), IntegerEntry(dN, dG), IntegerEntry(dO, dH), IntegerEntry(ab(dC, 0), dP), IntegerEntry(ab(dD, 0), dQ), IntegerEntry(ab(dE, 0), dG), IntegerEntry(ab(dF, 0), dH)]
721+ let ee = invoke(dN, "onModifyWeight", [ea, dJ], nil)
722+ if ((ee == ee))
723+ then [IntegerEntry(dP, dV), IntegerEntry(dQ, dW), IntegerEntry(dR, dK), IntegerEntry(dS, dL), IntegerEntry(ab(dG, 0), dT), IntegerEntry(ab(dH, 0), dU), IntegerEntry(ab(dI, 0), dK), IntegerEntry(ab(dJ, 0), dL)]
712724 else throw("Strict value is not equal to itself.")
713725 }
714726 else throw("Strict value is not equal to itself.")
723735
724736
725737
726-@Callable(bk)
738+@Callable(bo)
727739 func checkWxEmissionPoolLabel (aA,aB) = {
728- let eb = {
729- let bd = getBoolean(az(aA, aB))
730- if ($isInstanceOf(bd, "Boolean"))
740+ let ef = {
741+ let bh = getBoolean(az(aA, aB))
742+ if ($isInstanceOf(bh, "Boolean"))
731743 then {
732- let ec = bd
733- ec
744+ let eg = bh
745+ eg
734746 }
735747 else false
736748 }
737- $Tuple2(nil, eb)
749+ $Tuple2(nil, ef)
738750 }
739751
740752
741753
742-@Callable(bk)
754+@Callable(bo)
743755 func setWxEmissionPoolLabel (aA,aB) = {
744- let cu = bX(bk)
745- if ((cu == cu))
756+ let cy = cb(bo)
757+ if ((cy == cy))
746758 then $Tuple2([BooleanEntry(az(aA, aB), true)], unit)
747759 else throw("Strict value is not equal to itself.")
748760 }
749761
750762
751763
752-@Callable(bk)
764+@Callable(bo)
753765 func deleteWxEmissionPoolLabel (aA,aB) = {
754- let cu = if (bj(bk))
766+ let cy = if (bn(bo))
755767 then true
756- else bX(bk)
757- if ((cu == cu))
768+ else cb(bo)
769+ if ((cy == cy))
758770 then $Tuple2([DeleteEntry(az(aA, aB))], unit)
759771 else throw("Strict value is not equal to itself.")
760772 }
761773
762774
763775
764-@Callable(bk)
765-func onVerificationLoss (ed) = {
766- let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, T()), "")))
776+@Callable(bo)
777+func onVerificationLoss (eh) = {
778+ let cy = if ((toBase58String(bo.caller.bytes) == valueOrElse(getString(this, T()), "")))
767779 then true
768- else bl(bk)
769- if ((cu == cu))
780+ else bp(bo)
781+ if ((cy == cy))
770782 then {
771- let cB = bc()
772- let ee = if ((size(cB) > 0))
783+ let cF = bg()
784+ let ei = if ((size(cF) > 0))
773785 then true
774786 else throw("invalid price assets")
775- if ((ee == ee))
787+ if ((ei == ei))
776788 then {
777- func ef (eg,eh) = {
778- let ei = invoke(this, "deleteWxEmissionPoolLabel", [ed, eh], nil)
779- if ((ei == ei))
789+ func ej (ek,el) = {
790+ let em = invoke(this, "deleteWxEmissionPoolLabel", [eh, el], nil)
791+ if ((em == em))
780792 then unit
781793 else throw("Strict value is not equal to itself.")
782794 }
783795
784- let ej = {
785- let ek = cB
786- let el = size(ek)
787- let em = unit
788- func en (eo,ep) = if ((ep >= el))
789- then eo
790- else ef(eo, ek[ep])
796+ let en = {
797+ let eo = cF
798+ let ep = size(eo)
799+ let eq = unit
800+ func er (es,et) = if ((et >= ep))
801+ then es
802+ else ej(es, eo[et])
791803
792- func eq (eo,ep) = if ((ep >= el))
793- then eo
804+ func eu (es,et) = if ((et >= ep))
805+ then es
794806 else throw("List size exceeds 2")
795807
796- eq(en(en(em, 0), 1), 2)
808+ eu(er(er(eq, 0), 1), 2)
797809 }
798- if ((ej == ej))
810+ if ((en == en))
799811 then $Tuple2(nil, unit)
800812 else throw("Strict value is not equal to itself.")
801813 }
806818
807819
808820
809-@Callable(bk)
821+@Callable(bo)
810822 func isPoolOneTokenOperationsDisabledREADONLY (aa) = {
811- let dg = bO(aa)
812- let al = $Tuple2(parseIntValue(dg[A]), parseIntValue(dg[B]))
813- let er = valueOrElse(getBoolean(ak(al)), false)
814- let es = valueOrElse(getBoolean(an()), false)
815- $Tuple2(nil, if (es)
823+ let dk = bS(aa)
824+ let al = $Tuple2(parseIntValue(dk[A]), parseIntValue(dk[B]))
825+ let ev = valueOrElse(getBoolean(ak(al)), false)
826+ let ew = valueOrElse(getBoolean(an()), false)
827+ $Tuple2(nil, if (ew)
816828 then true
817- else er)
829+ else ev)
818830 }
819831
820832
821833
822-@Callable(bk)
834+@Callable(bo)
823835 func getInFeeREADONLY (aa) = {
824- let et = ca(aC(aa), aD(), 0)
825- $Tuple2(nil, et)
836+ let ex = ce(aC(aa), aD(), 0)
837+ $Tuple2(nil, ex)
826838 }
827839
828840
829841
830-@Callable(bk)
842+@Callable(bo)
831843 func getOutFeeREADONLY (aa) = {
832- let et = ca(aE(aa), aF(), fraction(10, b, 10000))
833- $Tuple2(nil, et)
844+ let ex = ce(aE(aa), aF(), fraction(10, b, 10000))
845+ $Tuple2(nil, ex)
834846 }
835847
836848
837849
838-@Callable(bk)
839-func poolInfoREADONLY (eu,ev) = {
840- let ew = getInteger(this, af(eu))
841- let ex = getInteger(this, af(ev))
842- let ey = getString(this, aw(value(ew), value(ex)))
843- let ez = getString(this, ax(value(ey)))
844- let cT = if (if (isDefined(ew))
845- then isDefined(ex)
850+@Callable(bo)
851+func poolInfoREADONLY (ey,ez) = {
852+ let eA = getInteger(this, af(ey))
853+ let eB = getInteger(this, af(ez))
854+ let eC = getString(this, aw(value(eA), value(eB)))
855+ let eD = getString(this, ax(value(eC)))
856+ let cX = if (if (isDefined(eA))
857+ then isDefined(eB)
846858 else false)
847- then isDefined(ey)
859+ then isDefined(eC)
848860 else false
849- let eA = if (cT)
850- then $Tuple2(addressFromStringValue(value(ey)), aK(value(ez)))
861+ let eE = if (cX)
862+ then $Tuple2(addressFromStringValue(value(eC)), aO(value(eD)))
851863 else unit
852- $Tuple2(nil, eA)
864+ $Tuple2(nil, eE)
853865 }
854866
855867
856868
857-@Callable(bk)
869+@Callable(bo)
858870 func getPoolStatusREADONLY (aa) = {
859- let bP = split(aG(au(aa)), k)
860- let ai = bP[1]
861- let aj = bP[2]
862- let cg = split(aG(ah(ai, aj)), k)
863- $Tuple2(nil, parseIntValue(cg[u]))
871+ let bT = split(aK(au(aa)), k)
872+ let ai = bT[1]
873+ let aj = bT[2]
874+ let ck = split(aK(ah(ai, aj)), k)
875+ $Tuple2(nil, parseIntValue(ck[u]))
864876 }
865877
866878
867879
868-@Callable(bk)
880+@Callable(bo)
869881 func getPoolConfigREADONLY (aa) = {
870- let bP = split(aG(au(aa)), k)
871- let ai = bP[1]
872- let aj = bP[2]
873- let cg = split(aG(ah(ai, aj)), k)
874- $Tuple2(nil, cg)
882+ let bT = split(aK(au(aa)), k)
883+ let ai = bT[1]
884+ let aj = bT[2]
885+ let ck = split(aK(ah(ai, aj)), k)
886+ $Tuple2(nil, ck)
875887 }
876888
877889
878890
879-@Callable(bk)
880-func getPoolConfigByLpAssetIdREADONLY (cY) = {
881- let bP = split(aG(ao(cY)), k)
882- let ai = bP[1]
883- let aj = bP[2]
884- let cg = split(aG(ah(ai, aj)), k)
885- $Tuple2(nil, cg)
891+@Callable(bo)
892+func getPoolConfigByLpAssetId (dc) = {
893+ let bT = split(aK(ao(dc)), k)
894+ let ai = bT[1]
895+ let aj = bT[2]
896+ let ck = split(aK(ah(ai, aj)), k)
897+ $Tuple2(nil, ck)
886898 }
887899
888900
889901
890-@Callable(bk)
891-func poolExistsREADONLY (aA,aB) = $Tuple2(nil, cd(aA, aB))
902+@Callable(bo)
903+func poolExistsREADONLY (aA,aB) = $Tuple2(nil, ch(aA, aB))
892904
893905
894-@Verifier(eB)
895-func eC () = {
896- let eD = {
897- let bd = bf()
898- if ($isInstanceOf(bd, "ByteVector"))
906+
907+@Callable(bo)
908+func skipOrderValidationREADONLY (aa) = $Tuple2(nil, valueOrElse(getBoolean(aG(aa)), false))
909+
910+
911+
912+@Callable(bo)
913+func getChangeAmpConfigREADONLY (aa) = {
914+ let eF = getIntegerValue(aH(aa))
915+ let eG = getIntegerValue(aI(aa))
916+ let eH = getIntegerValue(aJ(aa))
917+ $Tuple2(nil, [eF, eG, eH])
918+ }
919+
920+
921+@Verifier(eI)
922+func eJ () = {
923+ let eK = {
924+ let bh = bj()
925+ if ($isInstanceOf(bh, "ByteVector"))
899926 then {
900- let bm = bd
901- bm
927+ let bq = bh
928+ bq
902929 }
903- else if ($isInstanceOf(bd, "Unit"))
904- then eB.senderPublicKey
930+ else if ($isInstanceOf(bh, "Unit"))
931+ then eI.senderPublicKey
905932 else throw("Match error")
906933 }
907- sigVerify(eB.bodyBytes, eB.proofs[0], eD)
934+ sigVerify(eI.bodyBytes, eI.proofs[0], eK)
908935 }
909936
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 = 18
99
1010 let d = toBigInt(1000000000000000000)
1111
1212 let e = b
1313
1414 let f = "GWXvirtualPOOL"
1515
1616 let g = "POOLS_LP"
1717
1818 let h = 2000000
1919
2020 let i = "WAVES"
2121
2222 let j = ((100 * 1000) * 1000)
2323
2424 let k = "__"
2525
2626 let l = ""
2727
2828 let m = 1
2929
3030 let n = 2
3131
3232 let o = 3
3333
3434 let p = 4
3535
3636 let q = 1
3737
3838 let r = 2
3939
4040 let s = 3
4141
4242 let t = 1
4343
4444 let u = 2
4545
4646 let v = 3
4747
4848 let w = 4
4949
5050 let x = 5
5151
5252 let y = 6
5353
5454 let z = 7
5555
5656 let A = 8
5757
5858 let B = 9
5959
6060 let C = 10
6161
6262 let D = 11
6363
6464 let E = "WX_EMISSION"
6565
6666 let F = [E]
6767
6868 func G () = "%s__allowedLpScriptHash"
6969
7070
7171 func H () = "%s__allowedLpStableScriptHash"
7272
7373
7474 func I () = "%s__allowedLpStableAddonScriptHash"
7575
7676
7777 func J () = "%s__swapContract"
7878
7979
8080 func K () = "%s__factoryConfig"
8181
8282
8383 func L () = "%s__lpTokensList"
8484
8585
8686 func M () = "%s%s__pool__scriptHash"
8787
8888
8989 func N () = "%s%s__matcher__publicKey"
9090
9191
9292 func O () = "%s__legacyFactoryContract"
9393
9494
9595 func P () = "%s__legacyPools"
9696
9797
9898 func Q () = "%s__managerPublicKey"
9999
100100
101101 func R () = "%s__pendingManagerPublicKey"
102102
103103
104104 func S () = "%s__adminPubKeys"
105105
106106
107107 func T () = "%s__assetsStoreContract"
108108
109109
110110 func U () = "%s__votingEmissionContract"
111111
112112
113113 func V () = makeString(["%s", "priceAssets"], k)
114114
115115
116116 func W () = "%s__priceDecimals"
117117
118118
119119 func X () = "%s__shutdown"
120120
121121
122122 func Y () = "%s__nextInternalAssetId"
123123
124124
125125 func Z (aa) = ("%s%s__poolWeight__" + aa)
126126
127127
128128 func ab (aa,ac) = ((("%s%s__poolWeight__" + aa) + "__") + toString(ac))
129129
130130
131131 func ad (ae) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ae))
132132
133133
134134 func af (ag) = ("%s%s%s__mappings__baseAsset2internalId__" + ag)
135135
136136
137137 func ah (ai,aj) = (((("%d%d%s__" + ai) + "__") + aj) + "__config")
138138
139139
140140 func ak (al) = {
141141 let am = al
142142 let ai = am._1
143143 let aj = am._2
144144 makeString(["%d%d%s", toString(ai), toString(aj), "oneTokenOperationsDisabled"], k)
145145 }
146146
147147
148148 func an () = makeString(["%s", "oneTokenOperationsDisabled"], k)
149149
150150
151151 func ao (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2Pool")
152152
153153
154154 func aq (ar,as) = (((("%d%d%s%s__" + ar) + "__") + as) + "__mappings__PoolAssets2LpAsset")
155155
156156
157157 func at (aa) = ("%s%s__spread__" + aa)
158158
159159
160160 func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2PoolAssets")
161161
162162
163163 func aw (ar,as) = (((("%d%d%s%s__" + toString(ar)) + "__") + toString(as)) + "__mappings__poolAssets2PoolContract")
164164
165165
166166 func ax (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
167167
168168
169169 func ay (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2PoolContract")
170170
171171
172172 func az (aA,aB) = ((("%s%s%s__wxEmission__" + aA) + "__") + aB)
173173
174174
175175 func aC (aa) = ("%s%s__inFee__" + aa)
176176
177177
178178 func aD () = "%s__inFeeDefault"
179179
180180
181181 func aE (aa) = ("%s%s__outFee__" + aa)
182182
183183
184184 func aF () = "%s__outFeeDefault"
185185
186186
187-func aG (aH) = valueOrErrorMessage(getString(this, aH), ("No data for this.key=" + aH))
187+func aG (aa) = ("%s%s__skipOrderValidation__" + aa)
188188
189189
190-func aI (aH) = valueOrErrorMessage(getBoolean(this, aH), ("No data for this.key=" + aH))
190+func aH (aa) = ("%s%s__changeAmpDelay__" + aa)
191191
192192
193-func aJ (aH) = valueOrErrorMessage(getInteger(this, aH), ("No data for this.key=" + aH))
193+func aI (aa) = ("%s%s__changeAmpDelta__" + aa)
194194
195195
196-func aK (aL) = if ((aL == i))
197- then unit
198- else fromBase58String(aL)
196+func aJ (aa) = ("%s%s__changeAmpTarget__" + aa)
199197
200198
201-let aM = 1
202-
203-let aN = 2
204-
205-let aO = 3
206-
207-let aP = 4
208-
209-let aQ = 5
210-
211-let aR = 6
212-
213-let aS = 7
214-
215-let aT = 8
216-
217-let aU = 9
218-
219-let aV = 10
220-
221-let aW = 11
222-
223-func aX (aY) = addressFromStringValue(aY[aN])
199+func aK (aL) = valueOrErrorMessage(getString(this, aL), ("No data for this.key=" + aL))
224200
225201
226-func aZ (aY) = addressFromStringValue(aY[aQ])
202+func aM (aL) = valueOrErrorMessage(getBoolean(this, aL), ("No data for this.key=" + aL))
227203
228204
229-func ba (aY) = addressFromStringValue(aY[aM])
205+func aN (aL) = valueOrErrorMessage(getInteger(this, aL), ("No data for this.key=" + aL))
230206
231207
232-func bb (aY) = addressFromStringValue(aY[aV])
208+func aO (aP) = if ((aP == i))
209+ then unit
210+ else fromBase58String(aP)
233211
234212
235-func bc () = {
236- let bd = getString(V())
237- if ($isInstanceOf(bd, "String"))
213+let aQ = 1
214+
215+let aR = 2
216+
217+let aS = 3
218+
219+let aT = 4
220+
221+let aU = 5
222+
223+let aV = 6
224+
225+let aW = 7
226+
227+let aX = 8
228+
229+let aY = 9
230+
231+let aZ = 10
232+
233+let ba = 11
234+
235+func bb (bc) = addressFromStringValue(bc[aR])
236+
237+
238+func bd (bc) = addressFromStringValue(bc[aU])
239+
240+
241+func be (bc) = addressFromStringValue(bc[aQ])
242+
243+
244+func bf (bc) = addressFromStringValue(bc[aZ])
245+
246+
247+func bg () = {
248+ let bh = getString(V())
249+ if ($isInstanceOf(bh, "String"))
238250 then {
239- let be = bd
240- if ((size(be) == 0))
251+ let bi = bh
252+ if ((size(bi) == 0))
241253 then nil
242- else split(be, k)
254+ else split(bi, k)
243255 }
244256 else nil
245257 }
246258
247259
248-func bf () = {
249- let bd = getString(Q())
250- if ($isInstanceOf(bd, "String"))
260+func bj () = {
261+ let bh = getString(Q())
262+ if ($isInstanceOf(bh, "String"))
251263 then {
252- let be = bd
253- fromBase58String(be)
264+ let bi = bh
265+ fromBase58String(bi)
254266 }
255- else if ($isInstanceOf(bd, "Unit"))
267+ else if ($isInstanceOf(bh, "Unit"))
256268 then unit
257269 else throw("Match error")
258270 }
259271
260272
261-func bg () = {
262- let bd = getString(R())
263- if ($isInstanceOf(bd, "String"))
273+func bk () = {
274+ let bh = getString(R())
275+ if ($isInstanceOf(bh, "String"))
264276 then {
265- let be = bd
266- fromBase58String(be)
277+ let bi = bh
278+ fromBase58String(bi)
267279 }
268- else if ($isInstanceOf(bd, "Unit"))
280+ else if ($isInstanceOf(bh, "Unit"))
269281 then unit
270282 else throw("Match error")
271283 }
272284
273285
274-let bh = throw("Permission denied")
286+let bl = throw("Permission denied")
275287
276-let bi = throw("Test error here")
288+let bm = throw("Test error here")
277289
278-func bj (bk) = if ((bk.caller == this))
290+func bn (bo) = if ((bo.caller == this))
279291 then true
280- else bh
292+ else bl
281293
282294
283-func bl (bk) = {
284- let bd = bf()
285- if ($isInstanceOf(bd, "ByteVector"))
295+func bp (bo) = {
296+ let bh = bj()
297+ if ($isInstanceOf(bh, "ByteVector"))
286298 then {
287- let bm = bd
288- if ((bk.callerPublicKey == bm))
299+ let bq = bh
300+ if ((bo.callerPublicKey == bq))
289301 then true
290- else bh
302+ else bl
291303 }
292- else if ($isInstanceOf(bd, "Unit"))
293- then bj(bk)
304+ else if ($isInstanceOf(bh, "Unit"))
305+ then bn(bo)
294306 else throw("Match error")
295307 }
296308
297309
298-func bn (bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by], k)
310+func br (bs,bt,bu,bv,bw,bx,by,bz,bA,bB,bC) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bs, bt, bu, bv, bw, bx, by, bz, bA, bB, bC], k)
299311
300312
301-func bz (bo,bp,bq,br,bs,bt,bu) = makeString(["%s%s%s%s%s%s", bo, bp, bq, br, bs, bt, bu], k)
313+func bD (bs,bt,bu,bv,bw,bx,by) = makeString(["%s%s%s%s%s%s", bs, bt, bu, bv, bw, bx, by], k)
302314
303315
304-func bA (aa,bB,bC,bD,bE,bF,bG,bH,bI,bJ,bK) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", aa, bB, bC, bD, bE, toString(bF), toString(bG), toString(bH), toString(bI), toString(bJ), bK], k)
316+func bE (aa,bF,bG,bH,bI,bJ,bK,bL,bM,bN,bO) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", aa, bF, bG, bH, bI, toString(bJ), toString(bK), toString(bL), toString(bM), toString(bN), bO], k)
305317
306318
307-func bL (bM,bN) = makeString(["%d%d", toString(bM), toString(bN)], k)
319+func bP (bQ,bR) = makeString(["%d%d", toString(bQ), toString(bR)], k)
308320
309321
310-func bO (aa) = {
311- let bP = split(aG(au(aa)), k)
312- let ai = bP[1]
313- let aj = bP[2]
314- split(aG(ah(ai, aj)), k)
322+func bS (aa) = {
323+ let bT = split(aK(au(aa)), k)
324+ let ai = bT[1]
325+ let aj = bT[2]
326+ split(aK(ah(ai, aj)), k)
315327 }
316328
317329
318-func bQ (bR,bS) = {
319- let bT = valueOrElse(getInteger(this, af(bR)), 0)
320- let bU = valueOrElse(getInteger(this, Y()), 0)
321- let bV = if ((bT == 0))
330+func bU (bV,bW) = {
331+ let bX = valueOrElse(getInteger(this, af(bV)), 0)
332+ let bY = valueOrElse(getInteger(this, Y()), 0)
333+ let bZ = if ((bX == 0))
322334 then {
323- let bW = (bU + bS)
324- $Tuple3(bW, [IntegerEntry(Y(), bW), IntegerEntry(af(bR), bW), StringEntry(ad(bW), bR)], true)
335+ let ca = (bY + bW)
336+ $Tuple3(ca, [IntegerEntry(Y(), ca), IntegerEntry(af(bV), ca), StringEntry(ad(ca), bV)], true)
325337 }
326- else $Tuple3(bT, nil, false)
327- bV
338+ else $Tuple3(bX, nil, false)
339+ bZ
328340 }
329341
330342
331-func bX (bk) = {
332- let bY = split(valueOrElse(getString(S()), l), k)
333- if (containsElement(bY, toBase58String(bk.callerPublicKey)))
343+func cb (bo) = {
344+ let cc = split(valueOrElse(getString(S()), l), k)
345+ if (containsElement(cc, toBase58String(bo.callerPublicKey)))
334346 then true
335347 else {
336- let bZ = bl(bk)
337- if ((bZ == bZ))
348+ let cd = bp(bo)
349+ if ((cd == cd))
338350 then true
339351 else throw("Strict value is not equal to itself.")
340352 }
341353 }
342354
343355
344-func ca (aH,cb,cc) = valueOrElse(getInteger(this, aH), valueOrElse(getInteger(this, cb), cc))
356+func ce (aL,cf,cg) = valueOrElse(getInteger(this, aL), valueOrElse(getInteger(this, cf), cg))
345357
346358
347-func cd (aA,aB) = {
359+func ch (aA,aB) = {
348360 let ai = getInteger(af(aA))
349361 let aj = getInteger(af(aB))
350362 if (if ((ai == unit))
351363 then true
352364 else (aj == unit))
353365 then false
354366 else {
355- let ce = toString(value(ai))
356- let cf = toString(value(aj))
357- let cg = getString(ah(ce, cf))
358- let ch = getString(ah(cf, ce))
359- let ci = if ((cg != unit))
367+ let ci = toString(value(ai))
368+ let cj = toString(value(aj))
369+ let ck = getString(ah(ci, cj))
370+ let cl = getString(ah(cj, ci))
371+ let cm = if ((ck != unit))
360372 then true
361- else (ch != unit)
362- ci
373+ else (cl != unit)
374+ cm
363375 }
364376 }
365377
366378
367-@Callable(bk)
368-func getSwapContractREADONLY () = $Tuple2(nil, aG(J()))
379+@Callable(bo)
380+func getSwapContractREADONLY () = $Tuple2(nil, aK(J()))
369381
370382
371383
372-@Callable(bk)
373-func getLpAssetFromPoolAssetsREADONLY (cj,ck) = if (if ((cj == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
374- then (ck == "WAVES")
384+@Callable(bo)
385+func getLpAssetFromPoolAssetsREADONLY (cn,co) = if (if ((cn == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
386+ then (co == "WAVES")
375387 else false)
376388 then $Tuple2(nil, unit)
377389 else {
378- let cl = value(getInteger(this, af(cj)))
379- let cm = value(getInteger(this, af(ck)))
380- let cn = getString(this, aq(toString(cl), toString(cm)))
381- let co = if ((cn == unit))
390+ let cp = value(getInteger(this, af(cn)))
391+ let cq = value(getInteger(this, af(co)))
392+ let cr = getString(this, aq(toString(cp), toString(cq)))
393+ let cs = if ((cr == unit))
382394 then unit
383- else drop(value(cn), 4)
384- $Tuple2(nil, co)
395+ else drop(value(cr), 4)
396+ $Tuple2(nil, cs)
385397 }
386398
387399
388400
389-@Callable(bk)
390-func getPoolAddressFromLpAssetREADONLY (cp) = $Tuple2(nil, valueOrElse(getString(this, ay(cp)), ""))
401+@Callable(bo)
402+func getPoolAddressFromLpAssetREADONLY (ct) = $Tuple2(nil, valueOrElse(getString(this, ay(ct)), ""))
391403
392404
393405
394-@Callable(bk)
395-func constructor (cq,cr,bq,br,bs,bt,cs,ct) = {
396- let cu = bl(bk)
397- if ((cu == cu))
398- then [StringEntry(K(), bz(cq, cr, bq, br, bs, bt, cs)), IntegerEntry(W(), ct)]
406+@Callable(bo)
407+func constructor (cu,cv,bu,bv,bw,bx,cw,cx) = {
408+ let cy = bp(bo)
409+ if ((cy == cy))
410+ then [StringEntry(K(), bD(cu, cv, bu, bv, bw, bx, cw)), IntegerEntry(W(), cx)]
399411 else throw("Strict value is not equal to itself.")
400412 }
401413
402414
403415
404-@Callable(bk)
405-func constructorV2 (cv) = {
406- let cu = bl(bk)
407- if ((cu == cu))
416+@Callable(bo)
417+func constructorV2 (cz) = {
418+ let cy = bp(bo)
419+ if ((cy == cy))
408420 then {
409- let cw = addressFromPublicKey(fromBase58String(cv))
410- if ((cw == cw))
411- then [StringEntry(N(), cv)]
421+ let cA = addressFromPublicKey(fromBase58String(cz))
422+ if ((cA == cA))
423+ then [StringEntry(N(), cz)]
412424 else throw("Strict value is not equal to itself.")
413425 }
414426 else throw("Strict value is not equal to itself.")
415427 }
416428
417429
418430
419-@Callable(bk)
420-func constructorV3 (bv,bw,bx,by) = {
421- let cu = bl(bk)
422- if ((cu == cu))
431+@Callable(bo)
432+func constructorV3 (bz,bA,bB,bC) = {
433+ let cy = bp(bo)
434+ if ((cy == cy))
423435 then {
424- let aY = split(aG(K()), k)
425-[StringEntry(K(), bn(aY[1], aY[2], aY[3], aY[4], aY[5], aY[6], aY[7], bv, bw, bx, by))]
436+ let bc = split(aK(K()), k)
437+[StringEntry(K(), br(bc[1], bc[2], bc[3], bc[4], bc[5], bc[6], bc[7], bz, bA, bB, bC))]
426438 }
427439 else throw("Strict value is not equal to itself.")
428440 }
429441
430442
431443
432-@Callable(bk)
433-func constructorV4 (cx,cy) = {
434- let cu = bl(bk)
435- if ((cu == cu))
436- then [StringEntry(O(), cx), StringEntry(P(), makeString(cy, k))]
444+@Callable(bo)
445+func constructorV4 (cB,cC) = {
446+ let cy = bp(bo)
447+ if ((cy == cy))
448+ then [StringEntry(O(), cB), StringEntry(P(), makeString(cC, k))]
437449 else throw("Strict value is not equal to itself.")
438450 }
439451
440452
441453
442-@Callable(bk)
443-func constructorV5 (cz) = {
444- let cu = bl(bk)
445- if ((cu == cu))
446- then [StringEntry(T(), cz)]
454+@Callable(bo)
455+func constructorV5 (cD) = {
456+ let cy = bp(bo)
457+ if ((cy == cy))
458+ then [StringEntry(T(), cD)]
447459 else throw("Strict value is not equal to itself.")
448460 }
449461
450462
451463
452-@Callable(bk)
453-func constructorV6 (cA,cB) = {
454- let cC = [bl(bk), if ((addressFromString(cA) != unit))
464+@Callable(bo)
465+func constructorV6 (cE,cF) = {
466+ let cG = [bp(bo), if ((addressFromString(cE) != unit))
455467 then true
456468 else "invalid voting emission contract address"]
457- if ((cC == cC))
458- then [StringEntry(U(), cA), StringEntry(V(), makeString(cB, k))]
469+ if ((cG == cG))
470+ then [StringEntry(U(), cE), StringEntry(V(), makeString(cF, k))]
459471 else throw("Strict value is not equal to itself.")
460472 }
461473
462474
463475
464-@Callable(bk)
465-func setManager (cD) = {
466- let cu = bl(bk)
467- if ((cu == cu))
476+@Callable(bo)
477+func setManager (cH) = {
478+ let cy = bp(bo)
479+ if ((cy == cy))
468480 then {
469- let cE = fromBase58String(cD)
470- if ((cE == cE))
471- then [StringEntry(R(), cD)]
481+ let cI = fromBase58String(cH)
482+ if ((cI == cI))
483+ then [StringEntry(R(), cH)]
472484 else throw("Strict value is not equal to itself.")
473485 }
474486 else throw("Strict value is not equal to itself.")
475487 }
476488
477489
478490
479-@Callable(bk)
491+@Callable(bo)
480492 func confirmManager () = {
481- let cF = bg()
482- let cG = if (isDefined(cF))
493+ let cJ = bk()
494+ let cK = if (isDefined(cJ))
483495 then true
484496 else throw("No pending manager")
485- if ((cG == cG))
497+ if ((cK == cK))
486498 then {
487- let cH = if ((bk.callerPublicKey == value(cF)))
499+ let cL = if ((bo.callerPublicKey == value(cJ)))
488500 then true
489501 else throw("You are not pending manager")
490- if ((cH == cH))
491- then [StringEntry(Q(), toBase58String(value(cF))), DeleteEntry(R())]
502+ if ((cL == cL))
503+ then [StringEntry(Q(), toBase58String(value(cJ))), DeleteEntry(R())]
492504 else throw("Strict value is not equal to itself.")
493505 }
494506 else throw("Strict value is not equal to itself.")
495507 }
496508
497509
498510
499-@Callable(bk)
500-func setAdmins (cI) = {
501- let cu = bl(bk)
502- if ((cu == cu))
503- then [StringEntry(S(), makeString(cI, k))]
511+@Callable(bo)
512+func setAdmins (cM) = {
513+ let cy = bp(bo)
514+ if ((cy == cy))
515+ then [StringEntry(S(), makeString(cM, k))]
504516 else throw("Strict value is not equal to itself.")
505517 }
506518
507519
508520
509-@Callable(bk)
510-func activateNewPool (aa,bD,bE,cJ,cK,cL,bK,cM) = {
511- let cu = bX(bk)
512- if ((cu == cu))
521+@Callable(bo)
522+func activateNewPool (aa,bH,bI,cN,cO,cP,bO,cQ) = {
523+ let cy = cb(bo)
524+ if ((cy == cy))
513525 then if (isDefined(getString(au(aa))))
514526 then throw((("Pool address " + aa) + " already registered."))
515527 else {
516- let cN = bQ(bD, 1)
517- let cO = cN._1
518- let cP = bQ(bE, if (cN._3)
528+ let cR = bU(bH, 1)
529+ let cS = cR._1
530+ let cT = bU(bI, if (cR._3)
519531 then 2
520532 else 1)
521- let cQ = cP._1
522- let cR = valueOrErrorMessage(scriptHash(addressFromStringValue(aa)), ("No script has been found on pool account " + aa))
523- let cS = getBinaryValue(M())
524- let cT = cd(bD, bE)
525- if (cT)
526- then throw((((("Pool " + bD) + "/") + bE) + " has already been activated."))
533+ let cU = cT._1
534+ let cV = valueOrErrorMessage(scriptHash(addressFromStringValue(aa)), ("No script has been found on pool account " + aa))
535+ let cW = getBinaryValue(M())
536+ let cX = ch(bH, bI)
537+ if (cX)
538+ then throw((((("Pool " + bH) + "/") + bI) + " has already been activated."))
527539 else {
528- let cU = value(getString(this, ah(toString(cO), toString(cQ))))
529- let cV = if ((bD == "WAVES"))
540+ let cY = value(getString(this, ah(toString(cS), toString(cU))))
541+ let cZ = if ((bH == "WAVES"))
530542 then j
531- else pow(10, 0, value(assetInfo(fromBase58String(bD))).decimals, 0, 0, DOWN)
532- let cW = if ((bE == "WAVES"))
543+ else pow(10, 0, value(assetInfo(fromBase58String(bH))).decimals, 0, 0, DOWN)
544+ let da = if ((bI == "WAVES"))
533545 then j
534- else pow(10, 0, value(assetInfo(fromBase58String(bE))).decimals, 0, 0, DOWN)
535- let cX = Issue(cJ, cK, 1, 8, true)
536- let bC = calculateAssetId(cX)
537- let cY = toBase58String(bC)
538- let cZ = invoke(addressFromStringValue(aa), "activate", [bD, bE], nil)
539- if ((cZ == cZ))
540- then if ((cZ != "success"))
546+ else pow(10, 0, value(assetInfo(fromBase58String(bI))).decimals, 0, 0, DOWN)
547+ let db = Issue(cN, cO, 1, 8, true)
548+ let bG = calculateAssetId(db)
549+ let dc = toBase58String(bG)
550+ let dd = invoke(addressFromStringValue(aa), "activate", [bH, bI], nil)
551+ if ((dd == dd))
552+ then if ((dd != "success"))
541553 then throw("Pool initialisation error happened.")
542554 else {
543- let cz = addressFromStringValue(aG(T()))
544- let da = invoke(cz, "createOrUpdate", [cY, cJ, false], nil)
545- if ((da == da))
555+ let cD = addressFromStringValue(aK(T()))
556+ let de = invoke(cD, "createOrUpdate", [dc, cN, false], nil)
557+ if ((de == de))
546558 then {
547- let db = invoke(cz, "addLabel", [cY, g], nil)
548- if ((db == db))
559+ let df = invoke(cD, "addLabel", [dc, g], nil)
560+ if ((df == df))
549561 then {
550- let dc = invoke(cz, "setLogo", [cY, cM], nil)
551- if ((dc == dc))
562+ let dg = invoke(cD, "setLogo", [dc, cQ], nil)
563+ if ((dg == dg))
552564 then {
553- let dd = invoke(cz, "addAssetsLink", [bD, bE, cY], nil)
554- if ((dd == dd))
565+ let dh = invoke(cD, "addAssetsLink", [bH, bI, dc], nil)
566+ if ((dh == dh))
555567 then {
556- let de = invoke(cz, "increaseAssetPoolsNumber", [bD], nil)
557- if ((de == de))
558- then $Tuple2(((cN._2 ++ cP._2) ++ [cX, Burn(bC, 1), StringEntry(ah(toString(cO), toString(cQ)), bA(aa, toString(m), cY, bD, bE, cV, cW, cO, cQ, j, bK)), StringEntry(ao(cY), bL(cO, cQ)), StringEntry(aq(toString(cO), toString(cQ)), ("%s__" + cY)), StringEntry(au(aa), bL(cO, cQ)), StringEntry(aw(cO, cQ), aa), StringEntry(ay(cY), aa), StringEntry(ax(aa), cY), IntegerEntry(Z(aa), cL), IntegerEntry(at(aa), h)]), cY)
568+ let di = invoke(cD, "increaseAssetPoolsNumber", [bH], nil)
569+ if ((di == di))
570+ then $Tuple2(((cR._2 ++ cT._2) ++ [db, Burn(bG, 1), StringEntry(ah(toString(cS), toString(cU)), bE(aa, toString(m), dc, bH, bI, cZ, da, cS, cU, j, bO)), StringEntry(ao(dc), bP(cS, cU)), StringEntry(aq(toString(cS), toString(cU)), ("%s__" + dc)), StringEntry(au(aa), bP(cS, cU)), StringEntry(aw(cS, cU), aa), StringEntry(ay(dc), aa), StringEntry(ax(aa), dc), IntegerEntry(Z(aa), cP), IntegerEntry(at(aa), h)]), dc)
559571 else throw("Strict value is not equal to itself.")
560572 }
561573 else throw("Strict value is not equal to itself.")
562574 }
563575 else throw("Strict value is not equal to itself.")
564576 }
565577 else throw("Strict value is not equal to itself.")
566578 }
567579 else throw("Strict value is not equal to itself.")
568580 }
569581 else throw("Strict value is not equal to itself.")
570582 }
571583 }
572584 else throw("Strict value is not equal to itself.")
573585 }
574586
575587
576588
577-@Callable(bk)
578-func managePool (aa,df) = {
579- let cu = bl(bk)
580- if ((cu == cu))
589+@Callable(bo)
590+func managePool (aa,dj) = {
591+ let cy = bp(bo)
592+ if ((cy == cy))
581593 then {
582- let dg = bO(aa)
583- let bB = dg[u]
584- let cY = dg[v]
585- let bD = dg[w]
586- let bE = dg[x]
587- let cV = parseIntValue(dg[y])
588- let cW = parseIntValue(dg[z])
589- let cO = parseIntValue(dg[A])
590- let cQ = parseIntValue(dg[B])
591- let dh = parseIntValue(dg[C])
592- let bK = dg[D]
593-[StringEntry(ah(toString(cO), toString(cQ)), bA(aa, toString(df), cY, bD, bE, cV, cW, cO, cQ, dh, bK))]
594+ let dk = bS(aa)
595+ let bF = dk[u]
596+ let dc = dk[v]
597+ let bH = dk[w]
598+ let bI = dk[x]
599+ let cZ = parseIntValue(dk[y])
600+ let da = parseIntValue(dk[z])
601+ let cS = parseIntValue(dk[A])
602+ let cU = parseIntValue(dk[B])
603+ let dl = parseIntValue(dk[C])
604+ let bO = dk[D]
605+[StringEntry(ah(toString(cS), toString(cU)), bE(aa, toString(dj), dc, bH, bI, cZ, da, cS, cU, dl, bO))]
594606 }
595607 else throw("Strict value is not equal to itself.")
596608 }
597609
598610
599611
600-@Callable(bk)
601-func emit (di) = {
602- let dj = bk.caller
603- let dk = bk.originCaller
604- let dl = valueOrErrorMessage(getString(ax(toString(dj))), "Invalid LP address called me.")
605- let dm = fromBase58String(dl)
606- let cy = split(valueOrElse(getString(P()), l), k)
607- let cx = addressFromStringValue(valueOrErrorMessage(getString(O()), "Legacy factory contract does not exists."))
608- if ((0 >= di))
612+@Callable(bo)
613+func emit (dm) = {
614+ let dn = bo.caller
615+ let do = bo.originCaller
616+ let dp = valueOrErrorMessage(getString(ax(toString(dn))), "Invalid LP address called me.")
617+ let dq = fromBase58String(dp)
618+ let cC = split(valueOrElse(getString(P()), l), k)
619+ let cB = addressFromStringValue(valueOrErrorMessage(getString(O()), "Legacy factory contract does not exists."))
620+ if ((0 >= dm))
609621 then nil
610- else if (containsElement(cy, toString(dj)))
611- then $Tuple2(nil, cx)
612- else $Tuple2([Reissue(dm, di, true), ScriptTransfer(bk.caller, di, dm)], "success")
622+ else if (containsElement(cC, toString(dn)))
623+ then $Tuple2(nil, cB)
624+ else $Tuple2([Reissue(dq, dm, true), ScriptTransfer(bo.caller, dm, dq)], "success")
613625 }
614626
615627
616628
617-@Callable(bk)
618-func burn (dn) = {
619- let dj = bk.caller
620- let dk = bk.originCaller
621- let do = value(bk.payments[0])
622- let dp = value(do.amount)
623- let dq = toBase58String(value(do.assetId))
624- let dr = valueOrErrorMessage(getString(ax(toString(dj))), "Invalid LP address called me.")
625- if ((dq != dr))
629+@Callable(bo)
630+func burn (dr) = {
631+ let dn = bo.caller
632+ let do = bo.originCaller
633+ let ds = value(bo.payments[0])
634+ let dt = value(ds.amount)
635+ let du = toBase58String(value(ds.assetId))
636+ let dv = valueOrErrorMessage(getString(ax(toString(dn))), "Invalid LP address called me.")
637+ if ((du != dv))
626638 then throw("Invalid asset passed.")
627- else if ((dn != dp))
639+ else if ((dr != dt))
628640 then throw("Invalid amount passed.")
629641 else {
630- let dm = fromBase58String(dr)
631- $Tuple2([Burn(dm, dn)], "success")
642+ let dq = fromBase58String(dv)
643+ $Tuple2([Burn(dq, dr)], "success")
632644 }
633645 }
634646
635647
636648
637-@Callable(bk)
638-func modifyWeight (bC,ds) = {
639- let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, U()), "")))
649+@Callable(bo)
650+func modifyWeight (bG,dw) = {
651+ let cy = if ((toBase58String(bo.caller.bytes) == valueOrElse(getString(this, U()), "")))
640652 then true
641- else bl(bk)
642- if ((cu == cu))
653+ else bp(bo)
654+ if ((cy == cy))
643655 then {
644- let av = aG(ay(bC))
645- let dt = Z(av)
646- let du = Z(f)
647- let dv = valueOrElse(getInteger(du), 0)
648- let cL = valueOrElse(getInteger(dt), 0)
649- let dw = ds
650- let aY = split(aG(K()), k)
651- let cq = ba(aY)
652- let dx = invoke(cq, "onModifyWeight", [bC, av], nil)
653- if ((dx == dx))
656+ let av = aK(ay(bG))
657+ let dx = Z(av)
658+ let dy = Z(f)
659+ let dz = valueOrElse(getInteger(dy), 0)
660+ let cP = valueOrElse(getInteger(dx), 0)
661+ let dA = dw
662+ let bc = split(aK(K()), k)
663+ let cu = be(bc)
664+ let dB = invoke(cu, "onModifyWeight", [bG, av], nil)
665+ if ((dB == dB))
654666 then {
655- let dy = if ((dv == 0))
667+ let dC = if ((dz == 0))
656668 then nil
657- else [IntegerEntry(du, 0)]
658- let dz = ab(av, 0)
659- let dA = getInteger(dz)
660- let dB = if ((dA == unit))
669+ else [IntegerEntry(dy, 0)]
670+ let dD = ab(av, 0)
671+ let dE = getInteger(dD)
672+ let dF = if ((dE == unit))
661673 then nil
662- else [DeleteEntry(dz)]
663- (([IntegerEntry(dt, dw)] ++ dy) ++ dB)
674+ else [DeleteEntry(dD)]
675+ (([IntegerEntry(dx, dA)] ++ dC) ++ dF)
664676 }
665677 else throw("Strict value is not equal to itself.")
666678 }
667679 else throw("Strict value is not equal to itself.")
668680 }
669681
670682
671683
672-@Callable(bk)
673-func modifyWeights (dC,dD,dE,dF) = {
674- let cu = bl(bk)
675- if ((cu == cu))
684+@Callable(bo)
685+func modifyWeights (dG,dH,dI,dJ) = {
686+ let cy = bp(bo)
687+ if ((cy == cy))
676688 then {
677- let dG = ((5 * e) / 100)
678- let dH = ((5 * e) / 100)
679- let dI = ((5 * e) / 100)
680- let aY = split(aG(K()), k)
681- let dJ = ba(aY)
682- let dK = bb(aY)
683- let dL = Z(dC)
684- let dM = Z(dD)
685- let dN = Z(dE)
686- let dO = Z(dF)
687- let dP = aJ(dL)
688- let dQ = aJ(dM)
689- let dR = (dP - dI)
690- let dS = (dQ - dI)
691- if ((0 >= dR))
692- then throw(("invalid btcWeightNew: " + toString(dR)))
693- else if ((0 >= dS))
694- then throw(("invalid ethWeightNew: " + toString(dS)))
689+ let dK = ((5 * e) / 100)
690+ let dL = ((5 * e) / 100)
691+ let dM = ((5 * e) / 100)
692+ let bc = split(aK(K()), k)
693+ let dN = be(bc)
694+ let dO = bf(bc)
695+ let dP = Z(dG)
696+ let dQ = Z(dH)
697+ let dR = Z(dI)
698+ let dS = Z(dJ)
699+ let dT = aN(dP)
700+ let dU = aN(dQ)
701+ let dV = (dT - dM)
702+ let dW = (dU - dM)
703+ if ((0 >= dV))
704+ then throw(("invalid btcWeightNew: " + toString(dV)))
705+ else if ((0 >= dW))
706+ then throw(("invalid ethWeightNew: " + toString(dW)))
695707 else {
696- let dT = aG(ax(dC))
697- let dU = aG(ax(dD))
698- let dV = aG(ax(dE))
699- let dW = aG(ax(dF))
700- let dX = invoke(dJ, "onModifyWeight", [dT, dC], nil)
701- if ((dX == dX))
708+ let dX = aK(ax(dG))
709+ let dY = aK(ax(dH))
710+ let dZ = aK(ax(dI))
711+ let ea = aK(ax(dJ))
712+ let eb = invoke(dN, "onModifyWeight", [dX, dG], nil)
713+ if ((eb == eb))
702714 then {
703- let dY = invoke(dJ, "onModifyWeight", [dU, dD], nil)
704- if ((dY == dY))
715+ let ec = invoke(dN, "onModifyWeight", [dY, dH], nil)
716+ if ((ec == ec))
705717 then {
706- let dZ = invoke(dJ, "onModifyWeight", [dV, dE], nil)
707- if ((dZ == dZ))
718+ let ed = invoke(dN, "onModifyWeight", [dZ, dI], nil)
719+ if ((ed == ed))
708720 then {
709- let ea = invoke(dJ, "onModifyWeight", [dW, dF], nil)
710- if ((ea == ea))
711- then [IntegerEntry(dL, dR), IntegerEntry(dM, dS), IntegerEntry(dN, dG), IntegerEntry(dO, dH), IntegerEntry(ab(dC, 0), dP), IntegerEntry(ab(dD, 0), dQ), IntegerEntry(ab(dE, 0), dG), IntegerEntry(ab(dF, 0), dH)]
721+ let ee = invoke(dN, "onModifyWeight", [ea, dJ], nil)
722+ if ((ee == ee))
723+ then [IntegerEntry(dP, dV), IntegerEntry(dQ, dW), IntegerEntry(dR, dK), IntegerEntry(dS, dL), IntegerEntry(ab(dG, 0), dT), IntegerEntry(ab(dH, 0), dU), IntegerEntry(ab(dI, 0), dK), IntegerEntry(ab(dJ, 0), dL)]
712724 else throw("Strict value is not equal to itself.")
713725 }
714726 else throw("Strict value is not equal to itself.")
715727 }
716728 else throw("Strict value is not equal to itself.")
717729 }
718730 else throw("Strict value is not equal to itself.")
719731 }
720732 }
721733 else throw("Strict value is not equal to itself.")
722734 }
723735
724736
725737
726-@Callable(bk)
738+@Callable(bo)
727739 func checkWxEmissionPoolLabel (aA,aB) = {
728- let eb = {
729- let bd = getBoolean(az(aA, aB))
730- if ($isInstanceOf(bd, "Boolean"))
740+ let ef = {
741+ let bh = getBoolean(az(aA, aB))
742+ if ($isInstanceOf(bh, "Boolean"))
731743 then {
732- let ec = bd
733- ec
744+ let eg = bh
745+ eg
734746 }
735747 else false
736748 }
737- $Tuple2(nil, eb)
749+ $Tuple2(nil, ef)
738750 }
739751
740752
741753
742-@Callable(bk)
754+@Callable(bo)
743755 func setWxEmissionPoolLabel (aA,aB) = {
744- let cu = bX(bk)
745- if ((cu == cu))
756+ let cy = cb(bo)
757+ if ((cy == cy))
746758 then $Tuple2([BooleanEntry(az(aA, aB), true)], unit)
747759 else throw("Strict value is not equal to itself.")
748760 }
749761
750762
751763
752-@Callable(bk)
764+@Callable(bo)
753765 func deleteWxEmissionPoolLabel (aA,aB) = {
754- let cu = if (bj(bk))
766+ let cy = if (bn(bo))
755767 then true
756- else bX(bk)
757- if ((cu == cu))
768+ else cb(bo)
769+ if ((cy == cy))
758770 then $Tuple2([DeleteEntry(az(aA, aB))], unit)
759771 else throw("Strict value is not equal to itself.")
760772 }
761773
762774
763775
764-@Callable(bk)
765-func onVerificationLoss (ed) = {
766- let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, T()), "")))
776+@Callable(bo)
777+func onVerificationLoss (eh) = {
778+ let cy = if ((toBase58String(bo.caller.bytes) == valueOrElse(getString(this, T()), "")))
767779 then true
768- else bl(bk)
769- if ((cu == cu))
780+ else bp(bo)
781+ if ((cy == cy))
770782 then {
771- let cB = bc()
772- let ee = if ((size(cB) > 0))
783+ let cF = bg()
784+ let ei = if ((size(cF) > 0))
773785 then true
774786 else throw("invalid price assets")
775- if ((ee == ee))
787+ if ((ei == ei))
776788 then {
777- func ef (eg,eh) = {
778- let ei = invoke(this, "deleteWxEmissionPoolLabel", [ed, eh], nil)
779- if ((ei == ei))
789+ func ej (ek,el) = {
790+ let em = invoke(this, "deleteWxEmissionPoolLabel", [eh, el], nil)
791+ if ((em == em))
780792 then unit
781793 else throw("Strict value is not equal to itself.")
782794 }
783795
784- let ej = {
785- let ek = cB
786- let el = size(ek)
787- let em = unit
788- func en (eo,ep) = if ((ep >= el))
789- then eo
790- else ef(eo, ek[ep])
796+ let en = {
797+ let eo = cF
798+ let ep = size(eo)
799+ let eq = unit
800+ func er (es,et) = if ((et >= ep))
801+ then es
802+ else ej(es, eo[et])
791803
792- func eq (eo,ep) = if ((ep >= el))
793- then eo
804+ func eu (es,et) = if ((et >= ep))
805+ then es
794806 else throw("List size exceeds 2")
795807
796- eq(en(en(em, 0), 1), 2)
808+ eu(er(er(eq, 0), 1), 2)
797809 }
798- if ((ej == ej))
810+ if ((en == en))
799811 then $Tuple2(nil, unit)
800812 else throw("Strict value is not equal to itself.")
801813 }
802814 else throw("Strict value is not equal to itself.")
803815 }
804816 else throw("Strict value is not equal to itself.")
805817 }
806818
807819
808820
809-@Callable(bk)
821+@Callable(bo)
810822 func isPoolOneTokenOperationsDisabledREADONLY (aa) = {
811- let dg = bO(aa)
812- let al = $Tuple2(parseIntValue(dg[A]), parseIntValue(dg[B]))
813- let er = valueOrElse(getBoolean(ak(al)), false)
814- let es = valueOrElse(getBoolean(an()), false)
815- $Tuple2(nil, if (es)
823+ let dk = bS(aa)
824+ let al = $Tuple2(parseIntValue(dk[A]), parseIntValue(dk[B]))
825+ let ev = valueOrElse(getBoolean(ak(al)), false)
826+ let ew = valueOrElse(getBoolean(an()), false)
827+ $Tuple2(nil, if (ew)
816828 then true
817- else er)
829+ else ev)
818830 }
819831
820832
821833
822-@Callable(bk)
834+@Callable(bo)
823835 func getInFeeREADONLY (aa) = {
824- let et = ca(aC(aa), aD(), 0)
825- $Tuple2(nil, et)
836+ let ex = ce(aC(aa), aD(), 0)
837+ $Tuple2(nil, ex)
826838 }
827839
828840
829841
830-@Callable(bk)
842+@Callable(bo)
831843 func getOutFeeREADONLY (aa) = {
832- let et = ca(aE(aa), aF(), fraction(10, b, 10000))
833- $Tuple2(nil, et)
844+ let ex = ce(aE(aa), aF(), fraction(10, b, 10000))
845+ $Tuple2(nil, ex)
834846 }
835847
836848
837849
838-@Callable(bk)
839-func poolInfoREADONLY (eu,ev) = {
840- let ew = getInteger(this, af(eu))
841- let ex = getInteger(this, af(ev))
842- let ey = getString(this, aw(value(ew), value(ex)))
843- let ez = getString(this, ax(value(ey)))
844- let cT = if (if (isDefined(ew))
845- then isDefined(ex)
850+@Callable(bo)
851+func poolInfoREADONLY (ey,ez) = {
852+ let eA = getInteger(this, af(ey))
853+ let eB = getInteger(this, af(ez))
854+ let eC = getString(this, aw(value(eA), value(eB)))
855+ let eD = getString(this, ax(value(eC)))
856+ let cX = if (if (isDefined(eA))
857+ then isDefined(eB)
846858 else false)
847- then isDefined(ey)
859+ then isDefined(eC)
848860 else false
849- let eA = if (cT)
850- then $Tuple2(addressFromStringValue(value(ey)), aK(value(ez)))
861+ let eE = if (cX)
862+ then $Tuple2(addressFromStringValue(value(eC)), aO(value(eD)))
851863 else unit
852- $Tuple2(nil, eA)
864+ $Tuple2(nil, eE)
853865 }
854866
855867
856868
857-@Callable(bk)
869+@Callable(bo)
858870 func getPoolStatusREADONLY (aa) = {
859- let bP = split(aG(au(aa)), k)
860- let ai = bP[1]
861- let aj = bP[2]
862- let cg = split(aG(ah(ai, aj)), k)
863- $Tuple2(nil, parseIntValue(cg[u]))
871+ let bT = split(aK(au(aa)), k)
872+ let ai = bT[1]
873+ let aj = bT[2]
874+ let ck = split(aK(ah(ai, aj)), k)
875+ $Tuple2(nil, parseIntValue(ck[u]))
864876 }
865877
866878
867879
868-@Callable(bk)
880+@Callable(bo)
869881 func getPoolConfigREADONLY (aa) = {
870- let bP = split(aG(au(aa)), k)
871- let ai = bP[1]
872- let aj = bP[2]
873- let cg = split(aG(ah(ai, aj)), k)
874- $Tuple2(nil, cg)
882+ let bT = split(aK(au(aa)), k)
883+ let ai = bT[1]
884+ let aj = bT[2]
885+ let ck = split(aK(ah(ai, aj)), k)
886+ $Tuple2(nil, ck)
875887 }
876888
877889
878890
879-@Callable(bk)
880-func getPoolConfigByLpAssetIdREADONLY (cY) = {
881- let bP = split(aG(ao(cY)), k)
882- let ai = bP[1]
883- let aj = bP[2]
884- let cg = split(aG(ah(ai, aj)), k)
885- $Tuple2(nil, cg)
891+@Callable(bo)
892+func getPoolConfigByLpAssetId (dc) = {
893+ let bT = split(aK(ao(dc)), k)
894+ let ai = bT[1]
895+ let aj = bT[2]
896+ let ck = split(aK(ah(ai, aj)), k)
897+ $Tuple2(nil, ck)
886898 }
887899
888900
889901
890-@Callable(bk)
891-func poolExistsREADONLY (aA,aB) = $Tuple2(nil, cd(aA, aB))
902+@Callable(bo)
903+func poolExistsREADONLY (aA,aB) = $Tuple2(nil, ch(aA, aB))
892904
893905
894-@Verifier(eB)
895-func eC () = {
896- let eD = {
897- let bd = bf()
898- if ($isInstanceOf(bd, "ByteVector"))
906+
907+@Callable(bo)
908+func skipOrderValidationREADONLY (aa) = $Tuple2(nil, valueOrElse(getBoolean(aG(aa)), false))
909+
910+
911+
912+@Callable(bo)
913+func getChangeAmpConfigREADONLY (aa) = {
914+ let eF = getIntegerValue(aH(aa))
915+ let eG = getIntegerValue(aI(aa))
916+ let eH = getIntegerValue(aJ(aa))
917+ $Tuple2(nil, [eF, eG, eH])
918+ }
919+
920+
921+@Verifier(eI)
922+func eJ () = {
923+ let eK = {
924+ let bh = bj()
925+ if ($isInstanceOf(bh, "ByteVector"))
899926 then {
900- let bm = bd
901- bm
927+ let bq = bh
928+ bq
902929 }
903- else if ($isInstanceOf(bd, "Unit"))
904- then eB.senderPublicKey
930+ else if ($isInstanceOf(bh, "Unit"))
931+ then eI.senderPublicKey
905932 else throw("Match error")
906933 }
907- sigVerify(eB.bodyBytes, eB.proofs[0], eD)
934+ sigVerify(eI.bodyBytes, eI.proofs[0], eK)
908935 }
909936

github/deemru/w8io/873ac7e 
340.31 ms