tx · Fbu3LcjNjY2fKFv6zNepNRNCHRHQn2td49g6E64eyy3i

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.02800000 Waves

2023.06.21 11:09 [2632150] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "Fbu3LcjNjY2fKFv6zNepNRNCHRHQn2td49g6E64eyy3i", "fee": 2800000, "feeAssetId": null, "timestamp": 1687335023806, "version": 2, "chainId": 84, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "3GyTd91wQevtst2pDx964iwAYkn2fDE4WAgRv1AK5zzo5nXsQ2519gJjBSTrBEcth4nGiouWQndtgHwz9eKvVy9c" ], "script": "base64:BgKnLQgCEgASBAoCCAgSBAoCCAgSAwoBCBIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIECgIIGBIDCgEYEgoKCAgICAgIAQgIEgQKAggBEgMKAQESAwoBARIECgIIARIGCgQICAgIEgQKAggIEgQKAggIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgMKAQgSBAoCCAgSAwoBCBIDCgEIEgMKAQgSBAoCCAgSAwoBCBIDCgEIEgMKAQgSAwoBCCIGU0NBTEU4IgVNVUxUOCIGTVVMVDEyIgdTQ0FMRTE4IgZNVUxUMTgiDlBPT0xXRUlHSFRNVUxUIg5HV1h2aXJ0dWFsUE9PTCIMbGFiZWxQb29sc0xwIg1kZWZhdWx0U3ByZWFkIgt3YXZlc1N0cmluZyIQY29udHJhY3RGaWxlbmFtZSIRZGVjaW1hbHNNdWx0UHJpY2UiA1NFUCIFRU1QVFkiClBvb2xBY3RpdmUiD1Bvb2xQdXREaXNhYmxlZCITUG9vbE1hdGNoZXJEaXNhYmxlZCIMUG9vbFNodXRkb3duIhJpZHhJbnRlcm5hbEFzc2V0SWQiD2lkeFJlc3V0QWN0aW9ucyIgaWR4SWZBc3NldElkQ2FsY3VsYXRpb25QZXJmb3JtZWQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSILaWR4UG9vbFR5cGUiE3Bvb2xMYWJlbFd4RW1pc3Npb24iD3ZhbGlkUG9vbExhYmVscyIHd3JhcEVyciIDbXNnIgh0aHJvd0VyciIWa2V5QWxsb3dlZExwU2NyaXB0SGFzaCIca2V5QWxsb3dlZExwU3RhYmxlU2NyaXB0SGFzaCIMc3dhcENvbnRyYWN0IhBrZXlGYWN0b3J5Q29uZmlnIg9rZXlMcFRva2Vuc0xpc3QiEWtleVBvb2xTY3JpcHRIYXNoIg1rZXlNYXRjaGVyUHViIhhrZXlMZWdhY3lGYWN0b3J5Q29udHJhY3QiDmtleUxlZ2FjeVBvb2xzIhNrZXlNYW5hZ2VyUHVibGljS2V5IhZrZXlNYW5hZ2VyVmF1bHRBZGRyZXNzIg9rZXlBZG1pblB1YktleXMiFmtleUFzc2V0c1N0b3JlQ29udHJhY3QiGWtleVZvdGluZ0VtaXNzaW9uQ29udHJhY3QiFGtleVVzZXJQb29sc0NvbnRyYWN0Ig5rZXlQcmljZUFzc2V0cyIQa2V5UHJpY2VEZWNpbWFscyITa2V5QWxsUG9vbHNTaHV0ZG93biIWa2V5TmV4dEludGVybmFsQXNzZXRJZCIPa2V5UG9vbFRvV2VpZ2h0Igtwb29sQWRkcmVzcyIWa2V5UG9vbFRvV2VpZ2h0SGlzdG9yeSIDbnVtIh9rZXlNYXBwaW5nc0ludGVybmFsMmJhc2VBc3NldElkIhFpbnRlcm5hbEJhc2VBc3NldCIfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZCIMYmFzZUFzc2V0U3RyIg1rZXlQb29sQ29uZmlnIhNhbW91bnRBc3NldEludGVybmFsIhJwcmljZUFzc2V0SW50ZXJuYWwiIWtleVBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIOYXNzZXRzSW50ZXJuYWwiCyR0MDM4NzgzOTQwIiVrZXlBbGxQb29sc09uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIh1rZXlNYXBwaW5nTHBBc3NldFRvUG9vbEFzc2V0cyIKbHBBc3NldFN0ciIda2V5TWFwcGluZ1Bvb2xBc3NldHNUb0xwYXNzZXQiGGludGVybmFsQW1vdW50QXNzZXRJZFN0ciIXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIiDWtleVBvb2xTcHJlYWQiKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzIhNwb29sQ29udHJhY3RBZGRyZXNzIilrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcyIfa2V5TWFwcGluZ1Bvb2xDb250cmFjdFRvTFBBc3NldCIqa2V5TWFwcGluZ1Bvb2xMUEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIg1rZXlXeEVtaXNzaW9uIg1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiCGtleUluRmVlIg9rZXlJbkZlZURlZmF1bHQiCWtleU91dEZlZSIQa2V5T3V0RmVlRGVmYXVsdCIWa2V5U2tpcE9yZGVyVmFsaWRhdGlvbiIRa2V5Q2hhbmdlQW1wRGVsYXkiEWtleUNoYW5nZUFtcERlbHRhIhJrZXlDaGFuZ2VBbXBUYXJnZXQiFWtleVNXYXZlc1Byb3h5QWRkcmVzcyIQa2V5U1dhdmVzQXNzZXRJZCIXa2V5U3Rha2luZ1Byb2ZpdEFkZHJlc3MiDmtleUxlYXNlZFJhdGlvIgdhc3NldElkIhVrZXlMZWFzZWRSYXRpb0RlZmF1bHQiF2tleUxlYXNlZFJhdGlvVG9sZXJhbmNlIg1rZXlNaW5CYWxhbmNlIhRrZXlNaW5CYWxhbmNlRGVmYXVsdCIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiEGdldEJvb2xlYW5PckZhaWwiDGdldEludE9yRmFpbCIMcGFyc2VBc3NldElkIgVpbnB1dCIcZ2V0TWFuYWdlclZhdWx0QWRkcmVzc09yVGhpcyIHJG1hdGNoMCIBcyIYSWR4RmFjdG9yeUNmZ1N0YWtpbmdEYXBwIhlJZHhGYWN0b3J5Q2ZnQm9vc3RpbmdEYXBwIhRJZHhGYWN0b3J5Q2ZnSWRvRGFwcCIVSWR4RmFjdG9yeUNmZ1RlYW1EYXBwIhlJZHhGYWN0b3J5Q2ZnRW1pc3Npb25EYXBwIhVJZHhGYWN0b3J5Q2ZnUmVzdERhcHAiGUlkeEZhY3RvcnlDZmdTbGlwcGFnZURhcHAiFElkeEZhY3RvcnlDZmdEYW9EYXBwIhpJZHhGYWN0b3J5Q2ZnTWFya2V0aW5nRGFwcCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiFklkeEZhY3RvcnlDZmdCaXJkc0RhcHAiGGdldEJvb3N0aW5nQWRkcmVzc09yRmFpbCIKZmFjdG9yeUNmZyIYZ2V0RW1pc3Npb25BZGRyZXNzT3JGYWlsIhdnZXRTdGFraW5nQWRkcmVzc09yRmFpbCIZZ2V0R3d4UmV3YXJkQWRkcmVzc09yRmFpbCIOZ2V0UHJpY2VBc3NldHMiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiE21hbmFnZXJWYXVsdEFkZHJlc3MiFXBlcm1pc3Npb25EZW5pZWRFcnJvciIJdGVzdEVycm9yIghtdXN0VGhpcyIBaSILbXVzdE1hbmFnZXIiAnBrIhBkYXRhRmFjdG9yeUNmZ1YzIg5zdGFraW5nQWRkcmVzcyIPYm9vc3RpbmdBZGRyZXNzIgtpZG9Db250cmFjdCIMdGVhbUNvbnRyYWN0IhBlbWlzc2lvbkNvbnRyYWN0IgxyZXN0Q29udHJhY3QiEHNsaXBwYWdlQ29udHJhY3QiC2Rhb0NvbnRyYWN0IhFtYXJrZXRpbmdDb250cmFjdCISZ3d4UmV3YXJkc0NvbnRyYWN0Ig1iaXJkc0NvbnRyYWN0Ig5kYXRhRmFjdG9yeUNmZyILZGF0YVBvb2xDZmciCnBvb2xTdGF0dXMiCWxwQXNzZXRJZCIOYW1vdW50QXNzZXRTdHIiDXByaWNlQXNzZXRTdHIiE2Ftb3VudEFzc2V0RGVjaW1hbHMiEnByaWNlQXNzZXREZWNpbWFscyIVYW1vdW50QXNzZXRJbnRlcm5hbElkIhRwcmljZUFzc2V0SW50ZXJuYWxJZCIPbHBBc3NldERlY2ltYWxzIghwb29sVHlwZSIVZGF0YU1hcHBpbmdQb29sQXNzZXRzIhZpbnRlcm5hbEFtb3VudEFzc2V0U3RyIhVpbnRlcm5hbFByaWNlQXNzZXRTdHIiDWdldFBvb2xDb25maWciCnBvb2xBc3NldHMiGmdldEludGVybmFsQXNzZXRJZE9yQ3JlYXRlIgphc3NldElkU3RyIgtpbmNyZW1lbnRvciIPaW50ZXJuYWxBc3NldElkIhhjdXJyZW50SW5kZXhPZkludGVybmFsSWQiBnJlc3VsdCISbmV3SW50ZXJuYWxBc3NldElkIgltdXN0QWRtaW4iCGFkbWluUEtzIglpc01hbmFnZXIiFmludE9yRGVmYXVsdE9yRmFsbGJhY2siCmtleURlZmF1bHQiDXZhbHVlRmFsbGJhY2siEnBvb2xFeGlzdHNJbnRlcm5hbCIEYW1BcyIEcHJBcyIDY2ZnIgpjZmdSZXZlcnNlIgZleGlzdHMiHGdldEFzc2V0c0RhdGFGcm9tUG9vbEFkZHJlc3MiDmdldFBvb2xDcmVhdG9yIg0kdDAxNTE2NjE1MzAzIhF1c2VyUG9vbHNDb250cmFjdCILcG9vbENyZWF0b3IiEWdldEFkZHJlc3NCYWxhbmNlIg1hZGRyZXNzU3RyaW5nIg1hc3NldElkU3RyaW5nIgdhZGRyZXNzIgtpc1Bvb2xFbXB0eSINJHQwMTU4NzgxNjAxNSINJHQwMTYzMzAxNjYzNCIBciIHJG1hdGNoMSICcmQiCmlzTGVhc2FibGUiC2xlYXNlZFJhdGlvIgptaW5CYWxhbmNlIgFiIgJiZCINJHQwMTY5MDAxNzEyNCIMcHJveHlBZGRyZXNzIgxwcm94eUFzc2V0SWQiDHByb3h5UmF0ZU11bCIUc3Rha2luZ1Byb2ZpdEFkZHJlc3MiBmFzc2V0MSIGYXNzZXQyIglhc3NldE51bTEiCWFzc2V0TnVtMiICZWUiA3JlcyICbHAiD3N0YWtpbmdDb250cmFjdCIQYm9vc3RpbmdDb250cmFjdCIQc2xwaXBhZ2VDb250cmFjdCINcHJpY2VEZWNpbWFscyILY2hlY2tDYWxsZXIiEG1hdGhjaGVyUHViNThTdHIiCm1hdGhjZXJQdWIiFWxlZ2FjeUZhY3RvcnlDb250cmFjdCILbGVnYWN5UG9vbHMiE2Fzc2V0c1N0b3JlQ29udHJhY3QiFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QiC3ByaWNlQXNzZXRzIgVjaGVrcyIMYWRtaW5QdWJLZXlzIgtscEFzc2V0TmFtZSIMbHBBc3NldERlc2NyIgpwb29sV2VpZ2h0IgRsb2dvIhdpbnRlcm5hbEFtb3VudEFzc2V0RGF0YSIVaW50ZXJuYWxBbW91bnRBc3NldElkIhZpbnRlcm5hbFByaWNlQXNzZXREYXRhIhRpbnRlcm5hbFByaWNlQXNzZXRJZCIVcG9vbEFjY291bnRTY3JpcHRIYXNoIhxldGhhbG9uUG9vbEFjY291bnRTY3JpcHRIYXNoIgpwb29sRXhpc3RzIg9wb29sQ29uZmlnVmFsdWUiFGFtb3VudEFzc2V0c0RlY2ltYWxzIhNwcmljZUFzc2V0c0RlY2ltYWxzIhJscEFzc2V0SXNzdWVBY3Rpb24iDGxwQXNzZXRJZFN0ciIYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0IhhjcmVhdGVPclVwZGF0ZUxwQXNzZXRJbnYiEmFkZFBvb2xzTHBMYWJlbEludiIKc2V0TG9nb0ludiIQYWRkQXNzZXRzTGlua0ludiIbaW5jcmVhc2VBc3NldFBvb2xzTnVtYmVySW52IgluZXdTdGF0dXMiCnBvb2xDb25maWciCmxwQXNzZXREY20iDGFtb3VudFRvRW1pdCIGY2FsbGVyIgxvcmlnaW5DYWxsZXIiEGxwQXNzZXRSZXF1ZXN0ZWQiB2xwQXNzZXQiDGFtb3VudFRvQnVybiIHcGF5bWVudCINcGF5bWVudEFtb3VudCIPaW5BbW91bnRBc3NldElkIhpscEFzc2V0UmVxdWVzdGVkRm9yQnVybmluZyIFc2hhcmUiDXBvb2xXZWlnaHRLZXkiDGd3eFdlaWdodEtleSIJZ3d4V2VpZ2h0Ig1wb29sV2VpZ2h0TmV3IhFvbk1vZGlmeVdlaWdodEludiIVZ3d4VmlydHVhbFBvb2xBY3Rpb25zIhRwb29sV2VpZ2h0SGlzdG9yeUtleSIXcG9vbFdlaWdodEhpc3RvcnlPclVuaXQiGHBvb2xXZWlnaHRIaXN0b3J5QWN0aW9ucyIOYnRjUG9vbEFkZHJlc3MiDmV0aFBvb2xBZGRyZXNzIhFldGhCdGNQb29sQWRkcmVzcyITdXNkY1VzZHRQb29sQWRkcmVzcyIPZXRoQnRjV2VpZ2h0TmV3IhF1c2RjVXNkdFdlaWdodE5ldyIPd2VpZ2h0RGVjcmVtZW50IgtzdGFraW5nRGFwcCINZ3d4UmV3YXJkRGFwcCIMYnRjV2VpZ2h0S0VZIgxldGhXZWlnaHRLRVkiD2V0aEJ0Y1dlaWdodEtFWSIRdXNkY1VzZHRXZWlnaHRLRVkiCWJ0Y1dlaWdodCIJZXRoV2VpZ2h0IgxidGNXZWlnaHROZXciDGV0aFdlaWdodE5ldyIPYnRjTHBBc3NldElkU3RyIg9ldGhMcEFzc2V0SWRTdHIiEmV0aEJ0Y0xwQXNzZXRJZFN0ciIUdXNkY1VzZHRMcEFzc2V0SWRTdHIiEW9uTW9kaWZ5V2VpZ2h0QnRjIhFvbk1vZGlmeVdlaWdodEV0aCIUb25Nb2RpZnlXZWlnaHRFdGhCdGMiFm9uTW9kaWZ5V2VpZ2h0VXNkY1VzZHQiCWhhdmVMYWJlbCIUY2hlY2tQcmljZUFzc2V0c1NpemUiAmNiIgNhY2MiCnByaWNlQXNzZXQiB2FjdGlvbnMiAiRsIgIkcyIFJGFjYzAiBSRmMF8xIgIkYSICJGkiBSRmMF8yIh5wb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiImFsbFBvb2xzT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiA2ZlZSIQYW1vdW50QXNzZXRJZFN0ciIPcHJpY2VBc3NldElkU3RyIhthbW91bnRBc3NldEludGVybmFsSWRPcHRpb24iGnByaWNlQXNzZXRJbnRlcm5hbElkT3B0aW9uIhlwb29sQ29udHJhY3RBZGRyZXNzT3B0aW9uIg9scEFzc2V0SWRPcHRpb24iCHBvb2xJbmZvIgVkZWxheSIFZGVsdGEiBnRhcmdldCIGd2VpZ2h0IgtjaGVja1dlaWdodCINJHQwMzg5NDUzOTA4MiIPdXNlclBvb2xzSW52b2tlIhR2b3RpbmdFbWlzc2lvbkludm9rZSIRYXNzZXRzU3RvcmVJbnZva2UiAnR4IgZ2ZXJpZnkiD3RhcmdldFB1YmxpY0tleX0AAWEACAABYgCAwtcvAAFjAICglKWNHQABZAASAAFlCQC2AgEAgICQu7rWrfANAAFmBQFiAAFnAg5HV1h2aXJ0dWFsUE9PTAABaAIIUE9PTFNfTFAAAWkAgIl6AAFqAgVXQVZFUwABawIPZmFjdG9yeV92Mi5yaWRlAAFsCQBoAgkAaAIAZADoBwDoBwABbQICX18AAW4CAAABbwABAAFwAAIAAXEAAwABcgAEAAFzAAEAAXQAAgABdQADAAF2AAEAAXcAAgABeAADAAF5AAQAAXoABQABQQAGAAFCAAcAAUMACAABRAAJAAFFAAoAAUYACwABRwILV1hfRU1JU1NJT04AAUgJAMwIAgUBRwUDbmlsAQFJAQFKCQC5CQIJAMwIAgUBawkAzAgCAgI6IAkAzAgCBQFKBQNuaWwCAAEBSwEBSgkAAgEJAQFJAQUBSgEBTAACFyVzX19hbGxvd2VkTHBTY3JpcHRIYXNoAQFNAAIdJXNfX2FsbG93ZWRMcFN0YWJsZVNjcmlwdEhhc2gBAU4AAhAlc19fc3dhcENvbnRyYWN0AQFPAAIRJXNfX2ZhY3RvcnlDb25maWcBAVAAAhAlc19fbHBUb2tlbnNMaXN0AQFRAAIWJXMlc19fcG9vbF9fc2NyaXB0SGFzaAEBUgACGCVzJXNfX21hdGNoZXJfX3B1YmxpY0tleQEBUwACGSVzX19sZWdhY3lGYWN0b3J5Q29udHJhY3QBAVQAAg8lc19fbGVnYWN5UG9vbHMBAVUAAhQlc19fbWFuYWdlclB1YmxpY0tleQEBVgACFyVzX19tYW5hZ2VyVmF1bHRBZGRyZXNzAQFXAAIQJXNfX2FkbWluUHViS2V5cwEBWAACFyVzX19hc3NldHNTdG9yZUNvbnRyYWN0AQFZAAIaJXNfX3ZvdGluZ0VtaXNzaW9uQ29udHJhY3QBAVoAAhUlc19fdXNlclBvb2xzQ29udHJhY3QBAmFhAAkAuQkCCQDMCAICAiVzCQDMCAICC3ByaWNlQXNzZXRzBQNuaWwFAW0BAmFiAAIRJXNfX3ByaWNlRGVjaW1hbHMBAmFjAAIMJXNfX3NodXRkb3duAQJhZAACFyVzX19uZXh0SW50ZXJuYWxBc3NldElkAQJhZQECYWYJAKwCAgISJXMlc19fcG9vbFdlaWdodF9fBQJhZgECYWcCAmFmAmFoCQCsAgIJAKwCAgkArAICAhIlcyVzX19wb29sV2VpZ2h0X18FAmFmAgJfXwkApAMBBQJhaAECYWkBAmFqCQCsAgICKCVzJXMlZF9fbWFwcGluZ3NfX2ludGVybmFsMmJhc2VBc3NldElkX18JAKQDAQUCYWoBAmFrAQJhbAkArAICAiglcyVzJXNfX21hcHBpbmdzX19iYXNlQXNzZXQyaW50ZXJuYWxJZF9fBQJhbAECYW0CAmFuAmFvCQCsAgIJAKwCAgkArAICCQCsAgICCCVkJWQlc19fBQJhbgICX18FAmFvAghfX2NvbmZpZwECYXABAmFxBAJhcgUCYXEEAmFuCAUCYXICXzEEAmFvCAUCYXICXzIJALkJAgkAzAgCAgYlZCVkJXMJAMwIAgkApAMBBQJhbgkAzAgCCQCkAwEFAmFvCQDMCAICGm9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkBQNuaWwFAW0BAmFzAAkAuQkCCQDMCAICAiVzCQDMCAICGm9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkBQNuaWwFAW0BAmF0AQJhdQkArAICCQCsAgICCCVzJXMlc19fBQJhdQIYX19tYXBwaW5nc19fbHBBc3NldDJQb29sAQJhdgICYXcCYXgJAKwCAgkArAICCQCsAgIJAKwCAgIKJWQlZCVzJXNfXwUCYXcCAl9fBQJheAIeX19tYXBwaW5nc19fUG9vbEFzc2V0czJMcEFzc2V0AQJheQECYWYJAKwCAgIOJXMlc19fc3ByZWFkX18FAmFmAQJhegECYUEJAKwCAgkArAICAgglcyVzJXNfXwUCYUECI19fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJQb29sQXNzZXRzAQJhQgICYXcCYXgJAKwCAgkArAICCQCsAgIJAKwCAgIKJWQlZCVzJXNfXwkApAMBBQJhdwICX18JAKQDAQUCYXgCI19fbWFwcGluZ3NfX3Bvb2xBc3NldHMyUG9vbENvbnRyYWN0AQJhQwECYUEJAKwCAgkArAICAgglcyVzJXNfXwUCYUECIF9fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJMcEFzc2V0AQJhRAECYXUJAKwCAgkArAICAgglcyVzJXNfXwUCYXUCIF9fbWFwcGluZ3NfX2xwQXNzZXQyUG9vbENvbnRyYWN0AQJhRQICYUYCYUcJAKwCAgkArAICCQCsAgICFCVzJXMlc19fd3hFbWlzc2lvbl9fBQJhRgICX18FAmFHAQJhSAECYWYJAKwCAgINJXMlc19faW5GZWVfXwUCYWYBAmFJAAIQJXNfX2luRmVlRGVmYXVsdAECYUoBAmFmCQCsAgICDiVzJXNfX291dEZlZV9fBQJhZgECYUsAAhElc19fb3V0RmVlRGVmYXVsdAECYUwBAmFmCQCsAgICGyVzJXNfX3NraXBPcmRlclZhbGlkYXRpb25fXwUCYWYBAmFNAQJhZgkArAICAhYlcyVzX19jaGFuZ2VBbXBEZWxheV9fBQJhZgECYU4BAmFmCQCsAgICFiVzJXNfX2NoYW5nZUFtcERlbHRhX18FAmFmAQJhTwECYWYJAKwCAgIXJXMlc19fY2hhbmdlQW1wVGFyZ2V0X18FAmFmAQJhUAACFiVzX19zV2F2ZXNQcm94eUFkZHJlc3MBAmFRAAIRJXNfX3NXYXZlc0Fzc2V0SWQBAmFSAAIYJXNfX3N0YWtpbmdQcm9maXRBZGRyZXNzAQJhUwICYWYCYVQJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgILbGVhc2VkUmF0aW8JAMwIAgUCYWYJAMwIAgUCYVQFA25pbAUBbQECYVUBAmFUCQC5CQIJAMwIAgIEJXMlcwkAzAgCAhJsZWFzZWRSYXRpb0RlZmF1bHQJAMwIAgUCYVQFA25pbAUBbQECYVYCAmFmAmFUCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICFGxlYXNlZFJhdGlvVG9sZXJhbmNlCQDMCAIFAmFmCQDMCAIFAmFUBQNuaWwFAW0BAmFXAgJhZgJhVAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgptaW5CYWxhbmNlCQDMCAIFAmFmCQDMCAIFAmFUBQNuaWwFAW0BAmFYAQJhVAkAuQkCCQDMCAICBCVzJXMJAMwIAgIRbWluQmFsYW5jZURlZmF1bHQJAMwIAgUCYVQFA25pbAUBbQECYVkBAmFaCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwUCYVoJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJhWgECYmEBAmFaCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJsIAgUEdGhpcwUCYVoJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJhWgECYmIBAmFaCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUEdGhpcwUCYVoJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJhWgECYmMBAmJkAwkAAAIFAmJkBQFqBQR1bml0CQDZBAEFAmJkAQJiZQAEAmJmCQCiCAEJAQFWAAMJAAECBQJiZgIGU3RyaW5nBAJiZwUCYmYJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmJnBQR0aGlzAAJiaAABAAJiaQACAAJiagADAAJiawAEAAJibAAFAAJibQAGAAJibgAHAAJibwAIAAJicAAJAAJicQAKAAJicgALAQJicwECYnQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYnQFAmJpAQJidQECYnQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYnQFAmJsAQJidgECYnQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYnQFAmJoAQJidwECYnQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYnQFAmJxAQJieAAEAmJmCQCiCAEJAQJhYQADCQABAgUCYmYCBlN0cmluZwQCYmcFAmJmAwkAAAIJALECAQUCYmcAAAUDbmlsCQC1CQIFAmJnBQFtBQNuaWwBAmJ5AAQCYnoJAQJiZQAEAmJmCQCdCAIFAmJ6CQEBVQADCQABAgUCYmYCBlN0cmluZwQCYmcFAmJmCQDZBAEFAmJnAwkAAQIFAmJmAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAAmJBCQEBSwECEVBlcm1pc3Npb24gZGVuaWVkAAJiQgkBAUsBAg9UZXN0IGVycm9yIGhlcmUBAmJDAQJiRAMJAAACCAUCYkQGY2FsbGVyBQR0aGlzBgUCYkEBAmJFAQJiRAQCYmYJAQJieQADCQABAgUCYmYCCkJ5dGVWZWN0b3IEAmJGBQJiZgMJAAACCAUCYkQPY2FsbGVyUHVibGljS2V5BQJiRgYFAmJBAwkAAQIFAmJmAgRVbml0CQECYkMBBQJiRAkAAgECC01hdGNoIGVycm9yAQJiRwsCYkgCYkkCYkoCYksCYkwCYk0CYk4CYk8CYlACYlECYlIJALkJAgkAzAgCAhYlcyVzJXMlcyVzJXMlcyVzJXMlcyVzCQDMCAIFAmJICQDMCAIFAmJJCQDMCAIFAmJKCQDMCAIFAmJLCQDMCAIFAmJMCQDMCAIFAmJNCQDMCAIFAmJOCQDMCAIFAmJPCQDMCAIFAmJQCQDMCAIFAmJRCQDMCAIFAmJSBQNuaWwFAW0BAmJTBwJiSAJiSQJiSgJiSwJiTAJiTQJiTgkAuQkCCQDMCAICDCVzJXMlcyVzJXMlcwkAzAgCBQJiSAkAzAgCBQJiSQkAzAgCBQJiSgkAzAgCBQJiSwkAzAgCBQJiTAkAzAgCBQJiTQkAzAgCBQJiTgUDbmlsBQFtAQJiVAsCYWYCYlUCYlYCYlcCYlgCYlkCYloCY2ECY2ICY2MCY2QJALkJAgkAzAgCAhYlcyVkJXMlcyVzJWQlZCVkJWQlZCVzCQDMCAIFAmFmCQDMCAIFAmJVCQDMCAIFAmJWCQDMCAIFAmJXCQDMCAIFAmJYCQDMCAIJAKQDAQUCYlkJAMwIAgkApAMBBQJiWgkAzAgCCQCkAwEFAmNhCQDMCAIJAKQDAQUCY2IJAMwIAgkApAMBBQJjYwkAzAgCBQJjZAUDbmlsBQFtAQJjZQICY2YCY2cJALkJAgkAzAgCAgQlZCVkCQDMCAIJAKQDAQUCY2YJAMwIAgkApAMBBQJjZwUDbmlsBQFtAQJjaAECYWYEAmNpCQC1CQIJAQJhWQEJAQJhegEFAmFmBQFtBAJhbgkAkQMCBQJjaQABBAJhbwkAkQMCBQJjaQACCQC1CQIJAQJhWQEJAQJhbQIFAmFuBQJhbwUBbQECY2oCAmNrAmNsBAJjbQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYWsBBQJjawAABAJjbgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYWQAAAAEAmNvAwkAAAIFAmNtAAAEAmNwCQBkAgUCY24FAmNsCQCVCgMFAmNwCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWQABQJjcAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFrAQUCY2sFAmNwCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhaQEFAmNwBQJjawUDbmlsBgkAlQoDBQJjbQUDbmlsBwUCY28BAmNxAQJiRAQCY3IJALUJAgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEBVwAFAW4FAW0DCQEPY29udGFpbnNFbGVtZW50AgUCY3IJANgEAQgFAmJED2NhbGxlclB1YmxpY0tleQYEAmNzCQECYkUBBQJiRAMJAAACBQJjcwUCY3MGCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJjdAMCYVoCY3UCY3YJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCYVoJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCY3UFAmN2AQJjdwICYUYCYUcEAmFuCQCfCAEJAQJhawEFAmFGBAJhbwkAnwgBCQECYWsBBQJhRwMDCQAAAgUCYW4FBHVuaXQGCQAAAgUCYW8FBHVuaXQHBAJjeAkApAMBCQEFdmFsdWUBBQJhbgQCY3kJAKQDAQkBBXZhbHVlAQUCYW8EAmN6CQCiCAEJAQJhbQIFAmN4BQJjeQQCY0EJAKIIAQkBAmFtAgUCY3kFAmN4BAJjQgMJAQIhPQIFAmN6BQR1bml0BgkBAiE9AgUCY0EFBHVuaXQFAmNCAQJjQwECYUEEAmNpBAJiZgkAoggBCQECYXoBBQJhQQMJAAECBQJiZgIGU3RyaW5nBAJiZwUCYmYJALUJAgUCYmcFAW0JAQFLAQkAuQkCCQDMCAIFAmFBCQDMCAICEXBvb2wgaXMgbm90IGZvdW5kBQNuaWwCASAEAmFuCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCY2kAAQQCYW8JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJjaQACBAJhRgkBEUBleHRyTmF0aXZlKDEwNTgpAQkBAmFpAQUCYW4EAmFHCQERQGV4dHJOYXRpdmUoMTA1OCkBCQECYWkBBQJhbwQCYlYJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAQJhQwEFAmFBCQCXCgUFAmFGBQJhRwUCYlYFAmFuBQJhbwECY0QBAmFBBAJjRQkBAmNDAQUCYUEEAmFGCAUCY0UCXzEEAmFHCAUCY0UCXzIEAmJWCAUCY0UCXzMEAmFuCAUCY0UCXzQEAmFvCAUCY0UCXzUEAmNGCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEBWgAEAmNHCQD8BwQFAmNGAhZnZXRQb29sQ3JlYXRvclJFQURPTkxZCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFA25pbAUCY0cBAmNIAgJjSQJjSgQCY0sJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmNJAwkAAAIFAmNKAgVXQVZFUwgJAO8HAQUCY0sHcmVndWxhcgQCYVQJANkEAQUCY0oJAPAHAgUCY0sFAmFUAQJjTAECYUEEAmNNCQECY0MBBQJhQQQCYUYIBQJjTQJfMQQCYUcIBQJjTQJfMgQCYlYIBQJjTQJfMwQCYW4IBQJjTQJfNAQCYW8IBQJjTQJfNQMJAAACCQECY0gCBQJhQQUCYUYAAAkAAAIJAQJjSAIFAmFBBQJhRwAAByECYkQBF2dldFN3YXBDb250cmFjdFJFQURPTkxZAAkAlAoCBQNuaWwJAQJhWQEJAQFOAAJiRAEaZ2V0UG9vbExlYXNlQ29uZmlnUkVBRE9OTFkCAmFmAmFUBAJjTgQCYmYJAJoIAgUEdGhpcwkBAmFTAgUCYWYFAmFUAwkAAQIFAmJmAgNJbnQEAmNPBQJiZgkAlAoCBgkAlwMBCQDMCAIAZAkAzAgCCQCWAwEJAMwIAgAACQDMCAIFAmNPBQNuaWwFA25pbAQCY1AJAJoIAgUEdGhpcwkBAmFVAQUCYVQDCQABAgUCY1ACA0ludAQCY1EFAmNQCQCUCgIGCQCXAwEJAMwIAgBkCQDMCAIJAJYDAQkAzAgCAAAJAMwIAgUCY1EFA25pbAUDbmlsCQCUCgIHAAAEAmNSCAUCY04CXzEEAmNTCAUCY04CXzIEAmNUBAJiZgkAmggCBQR0aGlzCQECYVcCBQJhZgUCYVQDCQABAgUCYmYCA0ludAQCY1UFAmJmCQCWAwEJAMwIAgAACQDMCAIFAmNVBQNuaWwEAmNQCQCaCAIFBHRoaXMJAQJhWAEFAmFUAwkAAQIFAmNQAgNJbnQEAmNWBQJjUAkAlgMBCQDMCAIAAAkAzAgCBQJjVgUDbmlsAAAEAmNXAwkAAAIFAmFUAgVXQVZFUwkAlQoDCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQJhUAACAAkAnQgCBQR0aGlzCQELdmFsdWVPckVsc2UCCQECYVEAAgAFAWMJAJUKAwIAAgAAAAQCY1gIBQJjVwJfMQQCY1kIBQJjVwJfMgQCY1oIBQJjVwJfMwQCZGEJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAmFSAAIACQCUCgIFA25pbAkAmQoHBQJjUgUCY1MFAmNUBQJjWAUCY1kFAmNaBQJkYQJiRAEgZ2V0THBBc3NldEZyb21Qb29sQXNzZXRzUkVBRE9OTFkCAmRiAmRjAwMJAAACBQJkYgIsOExRVzhmN1A1ZDVQWk03R3RaRUJnYXFSUEdTelMzRGZQdWlYclVSSjRBSlMJAAACBQJkYwIFV0FWRVMHCQCUCgIFA25pbAUEdW5pdAQCZGQJAQV2YWx1ZQEJAJoIAgUEdGhpcwkBAmFrAQUCZGIEAmRlCQEFdmFsdWUBCQCaCAIFBHRoaXMJAQJhawEFAmRjBAJkZgkAnQgCBQR0aGlzCQECYXYCCQCkAwEFAmRkCQCkAwEFAmRlBAJkZwMJAAACBQJkZgUEdW5pdAUEdW5pdAkAsAICCQEFdmFsdWUBBQJkZgAECQCUCgIFA25pbAUCZGcCYkQBIWdldFBvb2xBZGRyZXNzRnJvbUxwQXNzZXRSRUFET05MWQECZGgJAJQKAgUDbmlsCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQJhRAEFAmRoAgACYkQBC2NvbnN0cnVjdG9yCAJkaQJkagJiSgJiSwJiTAJiTQJkawJkbAQCZG0JAQJiRQEFAmJEAwkAAAIFAmRtBQJkbQkAzAgCCQELU3RyaW5nRW50cnkCCQEBTwAJAQJiUwcFAmRpBQJkagUCYkoFAmJLBQJiTAUCYk0FAmRrCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWIABQJkbAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJEAQ1jb25zdHJ1Y3RvclYyAQJkbgQCZG0JAQJiRQEFAmJEAwkAAAIFAmRtBQJkbQQCZG8JAKcIAQkA2QQBBQJkbgMJAAACBQJkbwUCZG8JAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVIABQJkbgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJEAQ1jb25zdHJ1Y3RvclYzBAJiTwJiUAJiUQJiUgQCZG0JAQJiRQEFAmJEAwkAAAIFAmRtBQJkbQQCYnQJALUJAgkBAmFZAQkBAU8ABQFtCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFPAAkBAmJHCwkAkQMCBQJidAABCQCRAwIFAmJ0AAIJAJEDAgUCYnQAAwkAkQMCBQJidAAECQCRAwIFAmJ0AAUJAJEDAgUCYnQABgkAkQMCBQJidAAHBQJiTwUCYlAFAmJRBQJiUgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJEAQ1jb25zdHJ1Y3RvclY0AgJkcAJkcQQCZG0JAQJiRQEFAmJEAwkAAAIFAmRtBQJkbQkAzAgCCQELU3RyaW5nRW50cnkCCQEBUwAFAmRwCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFUAAkAuQkCBQJkcQUBbQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJEAQ1jb25zdHJ1Y3RvclY1AQJkcgQCZG0JAQJiRQEFAmJEAwkAAAIFAmRtBQJkbQkAzAgCCQELU3RyaW5nRW50cnkCCQEBWAAFAmRyBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkQBDWNvbnN0cnVjdG9yVjYCAmRzAmR0BAJkdQkAzAgCCQECYkUBBQJiRAkAzAgCAwkBAiE9AgkApggBBQJkcwUEdW5pdAYCKGludmFsaWQgdm90aW5nIGVtaXNzaW9uIGNvbnRyYWN0IGFkZHJlc3MFA25pbAMJAAACBQJkdQUCZHUJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVkABQJkcwkAzAgCCQELU3RyaW5nRW50cnkCCQECYWEACQC5CQIFAmR0BQFtBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkQBCXNldEFkbWlucwECZHYEAmRtCQECYkUBBQJiRAMJAAACBQJkbQUCZG0JAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVcACQC5CQIFAmR2BQFtBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkQBD2FjdGl2YXRlTmV3UG9vbAgCYWYCYlcCYlgCZHcCZHgCZHkCY2QCZHoEAmRtCQECY3EBBQJiRAMJAAACBQJkbQUCZG0DCQEJaXNEZWZpbmVkAQkAoggBCQECYXoBBQJhZgkBAUsBCQCsAgIJAKwCAgINUG9vbCBhZGRyZXNzIAUCYWYCFCBhbHJlYWR5IHJlZ2lzdGVyZWQuBAJkQQkBAmNqAgUCYlcAAQQCZEIIBQJkQQJfMQQCZEMJAQJjagIFAmJYAwgFAmRBAl8zAAIAAQQCZEQIBQJkQwJfMQQCZEUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA8QcBCQERQGV4dHJOYXRpdmUoMTA2MikBBQJhZgkArAICAilObyBzY3JpcHQgaGFzIGJlZW4gZm91bmQgb24gcG9vbCBhY2NvdW50IAUCYWYEAmRGCQERQGV4dHJOYXRpdmUoMTA1NykBCQEBUQAEAmRHCQECY3cCBQJiVwUCYlgDBQJkRwkBAUsBCQCsAgIJAKwCAgkArAICCQCsAgICBVBvb2wgBQJiVwIBLwUCYlgCHCBoYXMgYWxyZWFkeSBiZWVuIGFjdGl2YXRlZC4EAmRICQEFdmFsdWUBCQCdCAIFBHRoaXMJAQJhbQIJAKQDAQUCZEIJAKQDAQUCZEQEAmRJAwkAAAIFAmJXAgVXQVZFUwUBbAkAbAYACgAACAkBBXZhbHVlAQkA7AcBCQDZBAEFAmJXCGRlY2ltYWxzAAAAAAUERE9XTgQCZEoDCQAAAgUCYlgCBVdBVkVTBQFsCQBsBgAKAAAICQEFdmFsdWUBCQDsBwEJANkEAQUCYlgIZGVjaW1hbHMAAAAABQRET1dOBAJkSwkAwggFBQJkdwUCZHgAAQAIBgQCYlYJALgIAQUCZEsEAmRMCQDYBAEFAmJWBAJkTQkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQJhZgIIYWN0aXZhdGUJAMwIAgUCYlcJAMwIAgUCYlgFA25pbAUDbmlsAwkAAAIFAmRNBQJkTQMJAQIhPQIFAmRNAgdzdWNjZXNzCQEBSwECI1Bvb2wgaW5pdGlhbGlzYXRpb24gZXJyb3IgaGFwcGVuZWQuBAJkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAmFZAQkBAVgABAJkTgkA/AcEBQJkcgIOY3JlYXRlT3JVcGRhdGUJAMwIAgUCZEwJAMwIAgUCZHcJAMwIAgcFA25pbAUDbmlsAwkAAAIFAmROBQJkTgQCZE8JAPwHBAUCZHICCGFkZExhYmVsCQDMCAIFAmRMCQDMCAIFAWgFA25pbAUDbmlsAwkAAAIFAmRPBQJkTwQCZFAJAPwHBAUCZHICB3NldExvZ28JAMwIAgUCZEwJAMwIAgUCZHoFA25pbAUDbmlsAwkAAAIFAmRQBQJkUAQCZFEJAPwHBAUCZHICDWFkZEFzc2V0c0xpbmsJAMwIAgUCYlcJAMwIAgUCYlgJAMwIAgUCZEwFA25pbAUDbmlsAwkAAAIFAmRRBQJkUQQCZFIJAPwHBAUCZHICGGluY3JlYXNlQXNzZXRQb29sc051bWJlcgkAzAgCBQJiVwUDbmlsBQNuaWwDCQAAAgUCZFIFAmRSCQCUCgIJAM4IAgkAzggCCAUCZEECXzIIBQJkQwJfMgkAzAgCBQJkSwkAzAgCCQEEQnVybgIFAmJWAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFtAgkApAMBBQJkQgkApAMBBQJkRAkBAmJUCwUCYWYJAKQDAQUBbwUCZEwFAmJXBQJiWAUCZEkFAmRKBQJkQgUCZEQFAWwFAmNkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdAEFAmRMCQECY2UCBQJkQgUCZEQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF2AgkApAMBBQJkQgkApAMBBQJkRAkArAICAgQlc19fBQJkTAkAzAgCCQELU3RyaW5nRW50cnkCCQECYXoBBQJhZgkBAmNlAgUCZEIFAmRECQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhQgIFAmRCBQJkRAUCYWYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFEAQUCZEwFAmFmCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhQwEFAmFmBQJkTAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFlAQUCYWYFAmR5CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYXkBBQJhZgUBaQUDbmlsBQJkTAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiRAEKbWFuYWdlUG9vbAICYWYCZFMEAmRtCQECYkUBBQJiRAMJAAACBQJkbQUCZG0EAmRUCQECY2gBBQJhZgQCYlUJAJEDAgUCZFQFAXcEAmRMCQCRAwIFAmRUBQF4BAJiVwkAkQMCBQJkVAUBeQQCYlgJAJEDAgUCZFQFAXoEAmRJCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFQFAUEEAmRKCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFQFAUIEAmRCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFQFAUMEAmRECQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFQFAUQEAmRVCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFQFAUUEAmNkCQCRAwIFAmRUBQFGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhbQIJAKQDAQUCZEIJAKQDAQUCZEQJAQJiVAsFAmFmCQCkAwEFAmRTBQJkTAUCYlcFAmJYBQJkSQUCZEoFAmRCBQJkRAUCZFUFAmNkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkQBBGVtaXQBAmRWBAJkVwgFAmJEBmNhbGxlcgQCZFgIBQJiRAxvcmlnaW5DYWxsZXIEAmRZCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAmFDAQkApQgBBQJkVwIdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4EAmRaCQDZBAEFAmRZBAJkcQkAtQkCCQELdmFsdWVPckVsc2UCCQCiCAEJAQFUAAUBbgUBbQQCZHAJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQEBUwACKExlZ2FjeSBmYWN0b3J5IGNvbnRyYWN0IGRvZXMgbm90IGV4aXN0cy4DCQBnAgAABQJkVgUDbmlsAwkBD2NvbnRhaW5zRWxlbWVudAIFAmRxCQClCAEFAmRXCQCUCgIFA25pbAUCZHAJAJQKAgkAzAgCCQEHUmVpc3N1ZQMFAmRaBQJkVgYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAmJEBmNhbGxlcgUCZFYFAmRaBQNuaWwCB3N1Y2Nlc3MCYkQBBGJ1cm4BAmVhBAJkVwgFAmJEBmNhbGxlcgQCZFgIBQJiRAxvcmlnaW5DYWxsZXIEAmViCQEFdmFsdWUBCQCRAwIIBQJiRAhwYXltZW50cwAABAJlYwkBBXZhbHVlAQgFAmViBmFtb3VudAQCZWQJANgEAQkBBXZhbHVlAQgFAmViB2Fzc2V0SWQEAmVlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAmFDAQkApQgBBQJkVwIdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4DCQECIT0CBQJlZAUCZWUJAQFLAQIVSW52YWxpZCBhc3NldCBwYXNzZWQuAwkBAiE9AgUCZWEFAmVjCQEBSwECFkludmFsaWQgYW1vdW50IHBhc3NlZC4EAmRaCQDZBAEFAmVlCQCUCgIJAMwIAgkBBEJ1cm4CBQJkWgUCZWEFA25pbAIHc3VjY2VzcwJiRAEMbW9kaWZ5V2VpZ2h0AgJiVgJlZgQCZG0DCQAAAgkA2AQBCAgFAmJEBmNhbGxlcgVieXRlcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEBWQACAAYJAQJiRQEFAmJEAwkAAAIFAmRtBQJkbQQCYUEJAQJhWQEJAQJhRAEFAmJWBAJlZwkBAmFlAQUCYUEEAmVoCQECYWUBBQFnBAJlaQkBC3ZhbHVlT3JFbHNlAgkAnwgBBQJlaAAABAJkeQkBC3ZhbHVlT3JFbHNlAgkAnwgBBQJlZwAABAJlagUCZWYEAmJ0CQC1CQIJAQJhWQEJAQFPAAUBbQQCZGkJAQJidgEFAmJ0BAJlawkA/AcEBQJkaQIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCYlYJAMwIAgUCYUEFA25pbAUDbmlsAwkAAAIFAmVrBQJlawQCZWwDCQAAAgUCZWkAAAUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJlaAAABQNuaWwEAmVtCQECYWcCBQJhQQAABAJlbgkAnwgBBQJlbQQCZW8DCQAAAgUCZW4FBHVuaXQFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQJlbQUDbmlsCQDOCAIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZWcFAmVqBQNuaWwFAmVsBQJlbwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiRAENbW9kaWZ5V2VpZ2h0cwQCZXACZXECZXICZXMEAmRtCQECYkUBBQJiRAMJAAACBQJkbQUCZG0EAmV0CQBpAgkAaAIABQUBZgBkBAJldQkAaQIJAGgCAAUFAWYAZAQCZXYJAGkCCQBoAgAFBQFmAGQEAmJ0CQC1CQIJAQJhWQEJAQFPAAUBbQQCZXcJAQJidgEFAmJ0BAJleAkBAmJ3AQUCYnQEAmV5CQECYWUBBQJlcAQCZXoJAQJhZQEFAmVxBAJlQQkBAmFlAQUCZXIEAmVCCQECYWUBBQJlcwQCZUMJAQJiYgEFAmV5BAJlRAkBAmJiAQUCZXoEAmVFCQBlAgUCZUMFAmV2BAJlRgkAZQIFAmVEBQJldgMJAGcCAAAFAmVFCQEBSwEJAKwCAgIWaW52YWxpZCBidGNXZWlnaHROZXc6IAkApAMBBQJlRQMJAGcCAAAFAmVGCQEBSwEJAKwCAgIWaW52YWxpZCBldGhXZWlnaHROZXc6IAkApAMBBQJlRgQCZUcJAQJhWQEJAQJhQwEFAmVwBAJlSAkBAmFZAQkBAmFDAQUCZXEEAmVJCQECYVkBCQECYUMBBQJlcgQCZUoJAQJhWQEJAQJhQwEFAmVzBAJlSwkA/AcEBQJldwIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZUcJAMwIAgUCZXAFA25pbAUDbmlsAwkAAAIFAmVLBQJlSwQCZUwJAPwHBAUCZXcCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmVICQDMCAIFAmVxBQNuaWwFA25pbAMJAAACBQJlTAUCZUwEAmVNCQD8BwQFAmV3Ag5vbk1vZGlmeVdlaWdodAkAzAgCBQJlSQkAzAgCBQJlcgUDbmlsBQNuaWwDCQAAAgUCZU0FAmVNBAJlTgkA/AcEBQJldwIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZUoJAMwIAgUCZXMFA25pbAUDbmlsAwkAAAIFAmVOBQJlTgkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZXkFAmVFCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJlegUCZUYJAMwIAgkBDEludGVnZXJFbnRyeQIFAmVBBQJldAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZUIFAmV1CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWcCBQJlcAAABQJlQwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFnAgUCZXEAAAUCZUQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhZwIFAmVyAAAFAmV0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWcCBQJlcwAABQJldQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJEARhjaGVja1d4RW1pc3Npb25Qb29sTGFiZWwCAmFGAmFHBAJlTwQCYmYJAKAIAQkBAmFFAgUCYUYFAmFHAwkAAQIFAmJmAgdCb29sZWFuBAJjVQUCYmYFAmNVBwkAlAoCBQNuaWwFAmVPAmJEARZzZXRXeEVtaXNzaW9uUG9vbExhYmVsAgJhRgJhRwQCZG0JAQJjcQEFAmJEAwkAAAIFAmRtBQJkbQkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCCQECYUUCBQJhRgUCYUcGBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkQBGWRlbGV0ZVd4RW1pc3Npb25Qb29sTGFiZWwCAmFGAmFHBAJkbQMJAAACCAUCYkQGY2FsbGVyBQR0aGlzBgkBAmNxAQUCYkQDCQAAAgUCZG0FAmRtCQCUCgIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFFAgUCYUYFAmFHBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkQBEm9uVmVyaWZpY2F0aW9uTG9zcwECYVQEAmRtAwkAAAIJANgEAQgIBQJiRAZjYWxsZXIFYnl0ZXMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAVgAAgAGCQECYkUBBQJiRAMJAAACBQJkbQUCZG0EAmR0CQECYngABAJlUAMJAGYCCQCQAwEFAmR0AAAGCQEBSwECFGludmFsaWQgcHJpY2UgYXNzZXRzAwkAAAIFAmVQBQJlUAoBAmVRAgJlUgJlUwQCY08JAPwHBAUEdGhpcwIZZGVsZXRlV3hFbWlzc2lvblBvb2xMYWJlbAkAzAgCBQJhVAkAzAgCBQJlUwUDbmlsBQNuaWwDCQAAAgUCY08FAmNPBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAJlVAoAAmVVBQJkdAoAAmVWCQCQAwEFAmVVCgACZVcFBHVuaXQKAQJlWAICZVkCZVoDCQBnAgUCZVoFAmVWBQJlWQkBAmVRAgUCZVkJAJEDAgUCZVUFAmVaCgECZmECAmVZAmVaAwkAZwIFAmVaBQJlVgUCZVkJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMQkBAmZhAgkBAmVYAgkBAmVYAgkBAmVYAgkBAmVYAgkBAmVYAgkBAmVYAgkBAmVYAgkBAmVYAgkBAmVYAgkBAmVYAgkBAmVYAgUCZVcAAAABAAIAAwAEAAUABgAHAAgACQAKAAsDCQAAAgUCZVQFAmVUCQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiRAEoaXNQb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWRSRUFET05MWQECYWYEAmRUCQECY2gBBQJhZgQCYXEJAJQKAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRUBQFDCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZFQFAUQEAmZiCQELdmFsdWVPckVsc2UCCQCgCAEJAQJhcAEFAmFxBwQCZmMJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBAmFzAAcJAJQKAgUDbmlsAwUCZmMGBQJmYgJiRAEQZ2V0SW5GZWVSRUFET05MWQECYWYEAmZkCQECY3QDCQECYUgBBQJhZgkBAmFJAAAACQCUCgIFA25pbAUCZmQCYkQBEWdldE91dEZlZVJFQURPTkxZAQJhZgQCZmQJAQJjdAMJAQJhSgEFAmFmCQECYUsACQBrAwAKBQFiAJBOCQCUCgIFA25pbAUCZmQCYkQBEHBvb2xJbmZvUkVBRE9OTFkCAmZlAmZmBAJmZwkAmggCBQR0aGlzCQECYWsBBQJmZQQCZmgJAJoIAgUEdGhpcwkBAmFrAQUCZmYEAmZpCQCdCAIFBHRoaXMJAQJhQgIJAQV2YWx1ZQEFAmZnCQEFdmFsdWUBBQJmaAQCZmoJAJ0IAgUEdGhpcwkBAmFDAQkBBXZhbHVlAQUCZmkEAmRHAwMJAQlpc0RlZmluZWQBBQJmZwkBCWlzRGVmaW5lZAEFAmZoBwkBCWlzRGVmaW5lZAEFAmZpBwQCZmsDBQJkRwkAlAoCCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBBQJmaQkBAmJjAQkBBXZhbHVlAQUCZmoFBHVuaXQJAJQKAgUDbmlsBQJmawJiRAEVZ2V0UG9vbFN0YXR1c1JFQURPTkxZAQJhZgQCY2kJALUJAgkBAmFZAQkBAmF6AQUCYWYFAW0EAmFuCQCRAwIFAmNpAAEEAmFvCQCRAwIFAmNpAAIEAmN6CQC1CQIJAQJhWQEJAQJhbQIFAmFuBQJhbwUBbQkAlAoCBQNuaWwJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJjegUBdwJiRAEVZ2V0UG9vbENvbmZpZ1JFQURPTkxZAQJhZgQCY2kJALUJAgkBAmFZAQkBAmF6AQUCYWYFAW0EAmFuCQCRAwIFAmNpAAEEAmFvCQCRAwIFAmNpAAIEAmN6CQC1CQIJAQJhWQEJAQJhbQIFAmFuBQJhbwUBbQkAlAoCBQNuaWwFAmN6AmJEASBnZXRQb29sQ29uZmlnQnlMcEFzc2V0SWRSRUFET05MWQECZEwEAmNpCQC1CQIJAQJhWQEJAQJhdAEFAmRMBQFtBAJhbgkAkQMCBQJjaQABBAJhbwkAkQMCBQJjaQACBAJjegkAtQkCCQECYVkBCQECYW0CBQJhbgUCYW8FAW0JAJQKAgUDbmlsBQJjegJiRAEScG9vbEV4aXN0c1JFQURPTkxZAgJhRgJhRwkAlAoCBQNuaWwJAQJjdwIFAmFGBQJhRwJiRAEbc2tpcE9yZGVyVmFsaWRhdGlvblJFQURPTkxZAQJhZgkAlAoCBQNuaWwJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBAmFMAQUCYWYHAmJEARpnZXRDaGFuZ2VBbXBDb25maWdSRUFET05MWQECYWYEAmZsCQERQGV4dHJOYXRpdmUoMTA1NSkBCQECYU0BBQJhZgQCZm0JARFAZXh0ck5hdGl2ZSgxMDU1KQEJAQJhTgEFAmFmBAJmbgkBEUBleHRyTmF0aXZlKDEwNTUpAQkBAmFPAQUCYWYJAJQKAgUDbmlsCQDMCAIFAmZsCQDMCAIFAmZtCQDMCAIFAmZuBQNuaWwCYkQBFWdldFBvb2xXZWlnaHRSRUFET05MWQECYlYEAmFmCQECYVkBCQECYUQBBQJiVgQCZm8JAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAmFlAQUCYWYAAAkAlAoCBQNuaWwFAmZvAmJEAQpkZWxldGVQb29sAQJhQQQCZG0DCQAAAgkApQgBCAUCYkQGY2FsbGVyCQECY0QBBQJhQQMJAQJjTAEFAmFBBgkBAUsBAhFQb29sIGlzIG5vdCBlbXB0eQkBAmJFAQUCYkQDCQAAAgUCZG0FAmRtBAJmcAMJAAACCQELdmFsdWVPckVsc2UCCQCfCAEJAQJhZQEFAmFBAAAAAAYJAQFLAQIXUG9vbCB3ZWlnaHQgaXMgbm90IFplcm8DCQAAAgUCZnAFAmZwBAJmcQkBAmNDAQUCYUEEAmFGCAUCZnECXzEEAmFHCAUCZnECXzIEAmJWCAUCZnECXzMEAmFuCAUCZnECXzQEAmFvCAUCZnECXzUEAmNGCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEBWgAEAmZyCQD8BwQFAmNGAgpkZWxldGVQb29sCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFA25pbAMJAAACBQJmcgUCZnIEAmRzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEBWQAEAmZzCQD8BwQFAmRzAgpkZWxldGVQb29sCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFA25pbAMJAAACBQJmcwUCZnMEAmRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEBWAAEAmZ0CQD8BwQFAmRyAgpkZWxldGVQb29sCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFA25pbAMJAAACBQJmdAUCZnQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFDAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF6AQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF2AgkApAMBBQJhbgkApAMBBQJhbwkAzAgCCQELRGVsZXRlRW50cnkBCQECYUICBQJhbgUCYW8JAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFtAgkApAMBBQJhbgkApAMBBQJhbwkAzAgCCQELRGVsZXRlRW50cnkBCQECYXQBBQJiVgkAzAgCCQELRGVsZXRlRW50cnkBCQECYUQBBQJiVgkAzAgCCQELRGVsZXRlRW50cnkBCQECYUUCBQJhRgUCYUcJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFlAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF5AQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFIAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFKAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFMAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFNAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFOAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFPAQUCYUEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECZnUBAmZ2AAQCZncEAmJmCQECYnkAAwkAAQIFAmJmAgpCeXRlVmVjdG9yBAJiRgUCYmYFAmJGAwkAAQIFAmJmAgRVbml0CAUCZnUPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmZ1CWJvZHlCeXRlcwkAkQMCCAUCZnUGcHJvb2ZzAAAFAmZ3ZLDdDA==", "height": 2632150, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: mXumWeCWX3rChbHAArh4uUUWhWWoM78zxw4KZ3tTExA Next: GF22pAHoqkVWwjBzh7znDA6broC8QfRbGVMEWfefydp6 Diff:
OldNewDifferences
2121
2222 let j = "WAVES"
2323
24-let k = ((100 * 1000) * 1000)
24+let k = "factory_v2.ride"
2525
26-let l = "__"
26+let l = ((100 * 1000) * 1000)
2727
28-let m = ""
28+let m = "__"
2929
30-let n = 1
30+let n = ""
3131
32-let o = 2
32+let o = 1
3333
34-let p = 3
34+let p = 2
3535
36-let q = 4
36+let q = 3
3737
38-let r = 1
38+let r = 4
3939
40-let s = 2
40+let s = 1
4141
42-let t = 3
42+let t = 2
4343
44-let u = 1
44+let u = 3
4545
46-let v = 2
46+let v = 1
4747
48-let w = 3
48+let w = 2
4949
50-let x = 4
50+let x = 3
5151
52-let y = 5
52+let y = 4
5353
54-let z = 6
54+let z = 5
5555
56-let A = 7
56+let A = 6
5757
58-let B = 8
58+let B = 7
5959
60-let C = 9
60+let C = 8
6161
62-let D = 10
62+let D = 9
6363
64-let E = 11
64+let E = 10
6565
66-let F = "WX_EMISSION"
66+let F = 11
6767
68-let G = [F]
68+let G = "WX_EMISSION"
6969
70-func H () = "%s__allowedLpScriptHash"
70+let H = [G]
71+
72+func I (J) = makeString([k, ": ", J], "")
7173
7274
73-func I () = "%s__allowedLpStableScriptHash"
75+func K (J) = throw(I(J))
7476
7577
76-func J () = "%s__swapContract"
78+func L () = "%s__allowedLpScriptHash"
7779
7880
79-func K () = "%s__factoryConfig"
81+func M () = "%s__allowedLpStableScriptHash"
8082
8183
82-func L () = "%s__lpTokensList"
84+func N () = "%s__swapContract"
8385
8486
85-func M () = "%s%s__pool__scriptHash"
87+func O () = "%s__factoryConfig"
8688
8789
88-func N () = "%s%s__matcher__publicKey"
90+func P () = "%s__lpTokensList"
8991
9092
91-func O () = "%s__legacyFactoryContract"
93+func Q () = "%s%s__pool__scriptHash"
9294
9395
94-func P () = "%s__legacyPools"
96+func R () = "%s%s__matcher__publicKey"
9597
9698
97-func Q () = "%s__managerPublicKey"
99+func S () = "%s__legacyFactoryContract"
98100
99101
100-func R () = "%s__managerVaultAddress"
102+func T () = "%s__legacyPools"
101103
102104
103-func S () = "%s__adminPubKeys"
105+func U () = "%s__managerPublicKey"
104106
105107
106-func T () = "%s__assetsStoreContract"
108+func V () = "%s__managerVaultAddress"
107109
108110
109-func U () = "%s__votingEmissionContract"
111+func W () = "%s__adminPubKeys"
110112
111113
112-func V () = makeString(["%s", "priceAssets"], l)
114+func X () = "%s__assetsStoreContract"
113115
114116
115-func W () = "%s__priceDecimals"
117+func Y () = "%s__votingEmissionContract"
116118
117119
118-func X () = "%s__shutdown"
120+func Z () = "%s__userPoolsContract"
119121
120122
121-func Y () = "%s__nextInternalAssetId"
123+func aa () = makeString(["%s", "priceAssets"], m)
122124
123125
124-func Z (aa) = ("%s%s__poolWeight__" + aa)
126+func ab () = "%s__priceDecimals"
125127
126128
127-func ab (aa,ac) = ((("%s%s__poolWeight__" + aa) + "__") + toString(ac))
129+func ac () = "%s__shutdown"
128130
129131
130-func ad (ae) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ae))
132+func ad () = "%s__nextInternalAssetId"
131133
132134
133-func af (ag) = ("%s%s%s__mappings__baseAsset2internalId__" + ag)
135+func ae (af) = ("%s%s__poolWeight__" + af)
134136
135137
136-func ah (ai,aj) = (((("%d%d%s__" + ai) + "__") + aj) + "__config")
138+func ag (af,ah) = ((("%s%s__poolWeight__" + af) + "__") + toString(ah))
137139
138140
139-func ak (al) = {
140- let am = al
141- let ai = am._1
142- let aj = am._2
143- makeString(["%d%d%s", toString(ai), toString(aj), "oneTokenOperationsDisabled"], l)
141+func ai (aj) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(aj))
142+
143+
144+func ak (al) = ("%s%s%s__mappings__baseAsset2internalId__" + al)
145+
146+
147+func am (an,ao) = (((("%d%d%s__" + an) + "__") + ao) + "__config")
148+
149+
150+func ap (aq) = {
151+ let ar = aq
152+ let an = ar._1
153+ let ao = ar._2
154+ makeString(["%d%d%s", toString(an), toString(ao), "oneTokenOperationsDisabled"], m)
144155 }
145156
146157
147-func an () = makeString(["%s", "oneTokenOperationsDisabled"], l)
158+func as () = makeString(["%s", "oneTokenOperationsDisabled"], m)
148159
149160
150-func ao (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2Pool")
161+func at (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2Pool")
151162
152163
153-func aq (ar,as) = (((("%d%d%s%s__" + ar) + "__") + as) + "__mappings__PoolAssets2LpAsset")
164+func av (aw,ax) = (((("%d%d%s%s__" + aw) + "__") + ax) + "__mappings__PoolAssets2LpAsset")
154165
155166
156-func at (aa) = ("%s%s__spread__" + aa)
167+func ay (af) = ("%s%s__spread__" + af)
157168
158169
159-func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2PoolAssets")
170+func az (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2PoolAssets")
160171
161172
162-func aw (ar,as) = (((("%d%d%s%s__" + toString(ar)) + "__") + toString(as)) + "__mappings__poolAssets2PoolContract")
173+func aB (aw,ax) = (((("%d%d%s%s__" + toString(aw)) + "__") + toString(ax)) + "__mappings__poolAssets2PoolContract")
163174
164175
165-func ax (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
176+func aC (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2LpAsset")
166177
167178
168-func ay (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2PoolContract")
179+func aD (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2PoolContract")
169180
170181
171-func az (aA,aB) = ((("%s%s%s__wxEmission__" + aA) + "__") + aB)
182+func aE (aF,aG) = ((("%s%s%s__wxEmission__" + aF) + "__") + aG)
172183
173184
174-func aC (aa) = ("%s%s__inFee__" + aa)
185+func aH (af) = ("%s%s__inFee__" + af)
175186
176187
177-func aD () = "%s__inFeeDefault"
188+func aI () = "%s__inFeeDefault"
178189
179190
180-func aE (aa) = ("%s%s__outFee__" + aa)
191+func aJ (af) = ("%s%s__outFee__" + af)
181192
182193
183-func aF () = "%s__outFeeDefault"
194+func aK () = "%s__outFeeDefault"
184195
185196
186-func aG (aa) = ("%s%s__skipOrderValidation__" + aa)
197+func aL (af) = ("%s%s__skipOrderValidation__" + af)
187198
188199
189-func aH (aa) = ("%s%s__changeAmpDelay__" + aa)
200+func aM (af) = ("%s%s__changeAmpDelay__" + af)
190201
191202
192-func aI (aa) = ("%s%s__changeAmpDelta__" + aa)
203+func aN (af) = ("%s%s__changeAmpDelta__" + af)
193204
194205
195-func aJ (aa) = ("%s%s__changeAmpTarget__" + aa)
206+func aO (af) = ("%s%s__changeAmpTarget__" + af)
196207
197208
198-func aK () = "%s__sWavesProxyAddress"
209+func aP () = "%s__sWavesProxyAddress"
199210
200211
201-func aL () = "%s__sWavesAssetId"
212+func aQ () = "%s__sWavesAssetId"
202213
203214
204-func aM () = "%s__stakingProfitAddress"
215+func aR () = "%s__stakingProfitAddress"
205216
206217
207-func aN (aa,aO) = makeString(["%s%s%s", "leasedRatio", aa, aO], l)
218+func aS (af,aT) = makeString(["%s%s%s", "leasedRatio", af, aT], m)
208219
209220
210-func aP (aO) = makeString(["%s%s", "leasedRatioDefault", aO], l)
221+func aU (aT) = makeString(["%s%s", "leasedRatioDefault", aT], m)
211222
212223
213-func aQ (aa,aO) = makeString(["%s%s%s", "leasedRatioTolerance", aa, aO], l)
224+func aV (af,aT) = makeString(["%s%s%s", "leasedRatioTolerance", af, aT], m)
214225
215226
216-func aR (aa,aO) = makeString(["%s%s%s", "minBalance", aa, aO], l)
227+func aW (af,aT) = makeString(["%s%s%s", "minBalance", af, aT], m)
217228
218229
219-func aS (aO) = makeString(["%s%s", "minBalanceDefault", aO], l)
230+func aX (aT) = makeString(["%s%s", "minBalanceDefault", aT], m)
220231
221232
222-func aT (aU) = valueOrErrorMessage(getString(this, aU), ("No data for this.key=" + aU))
233+func aY (aZ) = valueOrErrorMessage(getString(this, aZ), ("No data for this.key=" + aZ))
223234
224235
225-func aV (aU) = valueOrErrorMessage(getBoolean(this, aU), ("No data for this.key=" + aU))
236+func ba (aZ) = valueOrErrorMessage(getBoolean(this, aZ), ("No data for this.key=" + aZ))
226237
227238
228-func aW (aU) = valueOrErrorMessage(getInteger(this, aU), ("No data for this.key=" + aU))
239+func bb (aZ) = valueOrErrorMessage(getInteger(this, aZ), ("No data for this.key=" + aZ))
229240
230241
231-func aX (aY) = if ((aY == j))
242+func bc (bd) = if ((bd == j))
232243 then unit
233- else fromBase58String(aY)
244+ else fromBase58String(bd)
234245
235246
236-func aZ () = {
237- let ba = getString(R())
238- if ($isInstanceOf(ba, "String"))
247+func be () = {
248+ let bf = getString(V())
249+ if ($isInstanceOf(bf, "String"))
239250 then {
240- let bb = ba
241- addressFromStringValue(bb)
251+ let bg = bf
252+ addressFromStringValue(bg)
242253 }
243254 else this
244255 }
245256
246257
247-let bc = 1
258+let bh = 1
248259
249-let bd = 2
260+let bi = 2
250261
251-let be = 3
262+let bj = 3
252263
253-let bf = 4
264+let bk = 4
254265
255-let bg = 5
266+let bl = 5
256267
257-let bh = 6
268+let bm = 6
258269
259-let bi = 7
270+let bn = 7
260271
261-let bj = 8
272+let bo = 8
262273
263-let bk = 9
274+let bp = 9
264275
265-let bl = 10
276+let bq = 10
266277
267-let bm = 11
278+let br = 11
268279
269-func bn (bo) = addressFromStringValue(bo[bd])
280+func bs (bt) = addressFromStringValue(bt[bi])
270281
271282
272-func bp (bo) = addressFromStringValue(bo[bg])
283+func bu (bt) = addressFromStringValue(bt[bl])
273284
274285
275-func bq (bo) = addressFromStringValue(bo[bc])
286+func bv (bt) = addressFromStringValue(bt[bh])
276287
277288
278-func br (bo) = addressFromStringValue(bo[bl])
289+func bw (bt) = addressFromStringValue(bt[bq])
279290
280291
281-func bs () = {
282- let ba = getString(V())
283- if ($isInstanceOf(ba, "String"))
292+func bx () = {
293+ let bf = getString(aa())
294+ if ($isInstanceOf(bf, "String"))
284295 then {
285- let bb = ba
286- if ((size(bb) == 0))
296+ let bg = bf
297+ if ((size(bg) == 0))
287298 then nil
288- else split(bb, l)
299+ else split(bg, m)
289300 }
290301 else nil
291302 }
292303
293304
294-func bt () = {
295- let bu = aZ()
296- let ba = getString(bu, Q())
297- if ($isInstanceOf(ba, "String"))
305+func by () = {
306+ let bz = be()
307+ let bf = getString(bz, U())
308+ if ($isInstanceOf(bf, "String"))
298309 then {
299- let bb = ba
300- fromBase58String(bb)
310+ let bg = bf
311+ fromBase58String(bg)
301312 }
302- else if ($isInstanceOf(ba, "Unit"))
313+ else if ($isInstanceOf(bf, "Unit"))
303314 then unit
304315 else throw("Match error")
305316 }
306317
307318
308-let bv = throw("Permission denied")
319+let bA = K("Permission denied")
309320
310-let bw = throw("Test error here")
321+let bB = K("Test error here")
311322
312-func bx (by) = if ((by.caller == this))
323+func bC (bD) = if ((bD.caller == this))
313324 then true
314- else bv
325+ else bA
315326
316327
317-func bz (by) = {
318- let ba = bt()
319- if ($isInstanceOf(ba, "ByteVector"))
328+func bE (bD) = {
329+ let bf = by()
330+ if ($isInstanceOf(bf, "ByteVector"))
320331 then {
321- let bA = ba
322- if ((by.callerPublicKey == bA))
332+ let bF = bf
333+ if ((bD.callerPublicKey == bF))
323334 then true
324- else bv
335+ else bA
325336 }
326- else if ($isInstanceOf(ba, "Unit"))
327- then bx(by)
337+ else if ($isInstanceOf(bf, "Unit"))
338+ then bC(bD)
328339 else throw("Match error")
329340 }
330341
331342
332-func bB (bC,bD,bE,bF,bG,bH,bI,bJ,bK,bL,bM) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bC, bD, bE, bF, bG, bH, bI, bJ, bK, bL, bM], l)
343+func bG (bH,bI,bJ,bK,bL,bM,bN,bO,bP,bQ,bR) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bH, bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR], m)
333344
334345
335-func bN (bC,bD,bE,bF,bG,bH,bI) = makeString(["%s%s%s%s%s%s", bC, bD, bE, bF, bG, bH, bI], l)
346+func bS (bH,bI,bJ,bK,bL,bM,bN) = makeString(["%s%s%s%s%s%s", bH, bI, bJ, bK, bL, bM, bN], m)
336347
337348
338-func bO (aa,bP,bQ,bR,bS,bT,bU,bV,bW,bX,bY) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", aa, bP, bQ, bR, bS, toString(bT), toString(bU), toString(bV), toString(bW), toString(bX), bY], l)
349+func bT (af,bU,bV,bW,bX,bY,bZ,ca,cb,cc,cd) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bU, bV, bW, bX, toString(bY), toString(bZ), toString(ca), toString(cb), toString(cc), cd], m)
339350
340351
341-func bZ (ca,cb) = makeString(["%d%d", toString(ca), toString(cb)], l)
352+func ce (cf,cg) = makeString(["%d%d", toString(cf), toString(cg)], m)
342353
343354
344-func cc (aa) = {
345- let cd = split(aT(au(aa)), l)
346- let ai = cd[1]
347- let aj = cd[2]
348- split(aT(ah(ai, aj)), l)
355+func ch (af) = {
356+ let ci = split(aY(az(af)), m)
357+ let an = ci[1]
358+ let ao = ci[2]
359+ split(aY(am(an, ao)), m)
349360 }
350361
351362
352-func ce (cf,cg) = {
353- let ch = valueOrElse(getInteger(this, af(cf)), 0)
354- let ci = valueOrElse(getInteger(this, Y()), 0)
355- let cj = if ((ch == 0))
363+func cj (ck,cl) = {
364+ let cm = valueOrElse(getInteger(this, ak(ck)), 0)
365+ let cn = valueOrElse(getInteger(this, ad()), 0)
366+ let co = if ((cm == 0))
356367 then {
357- let ck = (ci + cg)
358- $Tuple3(ck, [IntegerEntry(Y(), ck), IntegerEntry(af(cf), ck), StringEntry(ad(ck), cf)], true)
368+ let cp = (cn + cl)
369+ $Tuple3(cp, [IntegerEntry(ad(), cp), IntegerEntry(ak(ck), cp), StringEntry(ai(cp), ck)], true)
359370 }
360- else $Tuple3(ch, nil, false)
361- cj
371+ else $Tuple3(cm, nil, false)
372+ co
362373 }
363374
364375
365-func cl (by) = {
366- let cm = split(valueOrElse(getString(S()), m), l)
367- if (containsElement(cm, toBase58String(by.callerPublicKey)))
376+func cq (bD) = {
377+ let cr = split(valueOrElse(getString(W()), n), m)
378+ if (containsElement(cr, toBase58String(bD.callerPublicKey)))
368379 then true
369380 else {
370- let cn = bz(by)
371- if ((cn == cn))
381+ let cs = bE(bD)
382+ if ((cs == cs))
372383 then true
373384 else throw("Strict value is not equal to itself.")
374385 }
375386 }
376387
377388
378-func co (aU,cp,cq) = valueOrElse(getInteger(this, aU), valueOrElse(getInteger(this, cp), cq))
389+func ct (aZ,cu,cv) = valueOrElse(getInteger(this, aZ), valueOrElse(getInteger(this, cu), cv))
379390
380391
381-func cr (aA,aB) = {
382- let ai = getInteger(af(aA))
383- let aj = getInteger(af(aB))
384- if (if ((ai == unit))
392+func cw (aF,aG) = {
393+ let an = getInteger(ak(aF))
394+ let ao = getInteger(ak(aG))
395+ if (if ((an == unit))
385396 then true
386- else (aj == unit))
397+ else (ao == unit))
387398 then false
388399 else {
389- let cs = toString(value(ai))
390- let ct = toString(value(aj))
391- let cu = getString(ah(cs, ct))
392- let cv = getString(ah(ct, cs))
393- let cw = if ((cu != unit))
400+ let cx = toString(value(an))
401+ let cy = toString(value(ao))
402+ let cz = getString(am(cx, cy))
403+ let cA = getString(am(cy, cx))
404+ let cB = if ((cz != unit))
394405 then true
395- else (cv != unit)
396- cw
406+ else (cA != unit)
407+ cB
397408 }
398409 }
399410
400411
401-@Callable(by)
402-func getSwapContractREADONLY () = $Tuple2(nil, aT(J()))
412+func cC (aA) = {
413+ let ci = {
414+ let bf = getString(az(aA))
415+ if ($isInstanceOf(bf, "String"))
416+ then {
417+ let bg = bf
418+ split(bg, m)
419+ }
420+ else K(makeString([aA, "pool is not found"], " "))
421+ }
422+ let an = parseIntValue(ci[1])
423+ let ao = parseIntValue(ci[2])
424+ let aF = getStringValue(ai(an))
425+ let aG = getStringValue(ai(ao))
426+ let bV = getStringValue(aC(aA))
427+ $Tuple5(aF, aG, bV, an, ao)
428+ }
429+
430+
431+func cD (aA) = {
432+ let cE = cC(aA)
433+ let aF = cE._1
434+ let aG = cE._2
435+ let bV = cE._3
436+ let an = cE._4
437+ let ao = cE._5
438+ let cF = addressFromStringValue(getStringValue(Z()))
439+ let cG = invoke(cF, "getPoolCreatorREADONLY", [aF, aG], nil)
440+ cG
441+ }
442+
443+
444+func cH (cI,cJ) = {
445+ let cK = addressFromStringValue(cI)
446+ if ((cJ == "WAVES"))
447+ then wavesBalance(cK).regular
448+ else {
449+ let aT = fromBase58String(cJ)
450+ assetBalance(cK, aT)
451+ }
452+ }
453+
454+
455+func cL (aA) = {
456+ let cM = cC(aA)
457+ let aF = cM._1
458+ let aG = cM._2
459+ let bV = cM._3
460+ let an = cM._4
461+ let ao = cM._5
462+ if ((cH(aA, aF) == 0))
463+ then (cH(aA, aG) == 0)
464+ else false
465+ }
466+
467+
468+@Callable(bD)
469+func getSwapContractREADONLY () = $Tuple2(nil, aY(N()))
403470
404471
405472
406-@Callable(by)
407-func getPoolLeaseConfigREADONLY (aa,aO) = {
408- let cx = {
409- let ba = getInteger(this, aN(aa, aO))
410- if ($isInstanceOf(ba, "Int"))
473+@Callable(bD)
474+func getPoolLeaseConfigREADONLY (af,aT) = {
475+ let cN = {
476+ let bf = getInteger(this, aS(af, aT))
477+ if ($isInstanceOf(bf, "Int"))
411478 then {
412- let cy = ba
413- $Tuple2(true, min([100, max([0, cy])]))
479+ let cO = bf
480+ $Tuple2(true, min([100, max([0, cO])]))
414481 }
415482 else {
416- let cz = getInteger(this, aP(aO))
417- if ($isInstanceOf(cz, "Int"))
483+ let cP = getInteger(this, aU(aT))
484+ if ($isInstanceOf(cP, "Int"))
418485 then {
419- let cA = cz
420- $Tuple2(true, min([100, max([0, cA])]))
486+ let cQ = cP
487+ $Tuple2(true, min([100, max([0, cQ])]))
421488 }
422489 else $Tuple2(false, 0)
423490 }
424491 }
425- let cB = cx._1
426- let cC = cx._2
427- let cD = {
428- let ba = getInteger(this, aR(aa, aO))
429- if ($isInstanceOf(ba, "Int"))
492+ let cR = cN._1
493+ let cS = cN._2
494+ let cT = {
495+ let bf = getInteger(this, aW(af, aT))
496+ if ($isInstanceOf(bf, "Int"))
430497 then {
431- let cE = ba
432- max([0, cE])
498+ let cU = bf
499+ max([0, cU])
433500 }
434501 else {
435- let cz = getInteger(this, aS(aO))
436- if ($isInstanceOf(cz, "Int"))
502+ let cP = getInteger(this, aX(aT))
503+ if ($isInstanceOf(cP, "Int"))
437504 then {
438- let cF = cz
439- max([0, cF])
505+ let cV = cP
506+ max([0, cV])
440507 }
441508 else 0
442509 }
443510 }
444- let cG = if ((aO == "WAVES"))
445- then $Tuple3(valueOrElse(getString(this, aK()), ""), getString(this, valueOrElse(aL(), "")), c)
511+ let cW = if ((aT == "WAVES"))
512+ then $Tuple3(valueOrElse(getString(this, aP()), ""), getString(this, valueOrElse(aQ(), "")), c)
446513 else $Tuple3("", "", 0)
447- let cH = cG._1
448- let cI = cG._2
449- let cJ = cG._3
450- let cK = valueOrElse(getString(this, aM()), "")
451- $Tuple2(nil, $Tuple7(cB, cC, cD, cH, cI, cJ, cK))
514+ let cX = cW._1
515+ let cY = cW._2
516+ let cZ = cW._3
517+ let da = valueOrElse(getString(this, aR()), "")
518+ $Tuple2(nil, $Tuple7(cR, cS, cT, cX, cY, cZ, da))
452519 }
453520
454521
455522
456-@Callable(by)
457-func getLpAssetFromPoolAssetsREADONLY (cL,cM) = if (if ((cL == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
458- then (cM == "WAVES")
523+@Callable(bD)
524+func getLpAssetFromPoolAssetsREADONLY (db,dc) = if (if ((db == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
525+ then (dc == "WAVES")
459526 else false)
460527 then $Tuple2(nil, unit)
461528 else {
462- let cN = value(getInteger(this, af(cL)))
463- let cO = value(getInteger(this, af(cM)))
464- let cP = getString(this, aq(toString(cN), toString(cO)))
465- let cQ = if ((cP == unit))
529+ let dd = value(getInteger(this, ak(db)))
530+ let de = value(getInteger(this, ak(dc)))
531+ let df = getString(this, av(toString(dd), toString(de)))
532+ let dg = if ((df == unit))
466533 then unit
467- else drop(value(cP), 4)
468- $Tuple2(nil, cQ)
534+ else drop(value(df), 4)
535+ $Tuple2(nil, dg)
469536 }
470537
471538
472539
473-@Callable(by)
474-func getPoolAddressFromLpAssetREADONLY (cR) = $Tuple2(nil, valueOrElse(getString(this, ay(cR)), ""))
540+@Callable(bD)
541+func getPoolAddressFromLpAssetREADONLY (dh) = $Tuple2(nil, valueOrElse(getString(this, aD(dh)), ""))
475542
476543
477544
478-@Callable(by)
479-func constructor (cS,cT,bE,bF,bG,bH,cU,cV) = {
480- let cW = bz(by)
481- if ((cW == cW))
482- then [StringEntry(K(), bN(cS, cT, bE, bF, bG, bH, cU)), IntegerEntry(W(), cV)]
545+@Callable(bD)
546+func constructor (di,dj,bJ,bK,bL,bM,dk,dl) = {
547+ let dm = bE(bD)
548+ if ((dm == dm))
549+ then [StringEntry(O(), bS(di, dj, bJ, bK, bL, bM, dk)), IntegerEntry(ab(), dl)]
483550 else throw("Strict value is not equal to itself.")
484551 }
485552
486553
487554
488-@Callable(by)
489-func constructorV2 (cX) = {
490- let cW = bz(by)
491- if ((cW == cW))
555+@Callable(bD)
556+func constructorV2 (dn) = {
557+ let dm = bE(bD)
558+ if ((dm == dm))
492559 then {
493- let cY = addressFromPublicKey(fromBase58String(cX))
494- if ((cY == cY))
495- then [StringEntry(N(), cX)]
560+ let do = addressFromPublicKey(fromBase58String(dn))
561+ if ((do == do))
562+ then [StringEntry(R(), dn)]
496563 else throw("Strict value is not equal to itself.")
497564 }
498565 else throw("Strict value is not equal to itself.")
500567
501568
502569
503-@Callable(by)
504-func constructorV3 (bJ,bK,bL,bM) = {
505- let cW = bz(by)
506- if ((cW == cW))
570+@Callable(bD)
571+func constructorV3 (bO,bP,bQ,bR) = {
572+ let dm = bE(bD)
573+ if ((dm == dm))
507574 then {
508- let bo = split(aT(K()), l)
509-[StringEntry(K(), bB(bo[1], bo[2], bo[3], bo[4], bo[5], bo[6], bo[7], bJ, bK, bL, bM))]
575+ let bt = split(aY(O()), m)
576+[StringEntry(O(), bG(bt[1], bt[2], bt[3], bt[4], bt[5], bt[6], bt[7], bO, bP, bQ, bR))]
510577 }
511578 else throw("Strict value is not equal to itself.")
512579 }
513580
514581
515582
516-@Callable(by)
517-func constructorV4 (cZ,da) = {
518- let cW = bz(by)
519- if ((cW == cW))
520- then [StringEntry(O(), cZ), StringEntry(P(), makeString(da, l))]
583+@Callable(bD)
584+func constructorV4 (dp,dq) = {
585+ let dm = bE(bD)
586+ if ((dm == dm))
587+ then [StringEntry(S(), dp), StringEntry(T(), makeString(dq, m))]
521588 else throw("Strict value is not equal to itself.")
522589 }
523590
524591
525592
526-@Callable(by)
527-func constructorV5 (db) = {
528- let cW = bz(by)
529- if ((cW == cW))
530- then [StringEntry(T(), db)]
593+@Callable(bD)
594+func constructorV5 (dr) = {
595+ let dm = bE(bD)
596+ if ((dm == dm))
597+ then [StringEntry(X(), dr)]
531598 else throw("Strict value is not equal to itself.")
532599 }
533600
534601
535602
536-@Callable(by)
537-func constructorV6 (dc,dd) = {
538- let de = [bz(by), if ((addressFromString(dc) != unit))
603+@Callable(bD)
604+func constructorV6 (ds,dt) = {
605+ let du = [bE(bD), if ((addressFromString(ds) != unit))
539606 then true
540607 else "invalid voting emission contract address"]
541- if ((de == de))
542- then [StringEntry(U(), dc), StringEntry(V(), makeString(dd, l))]
608+ if ((du == du))
609+ then [StringEntry(Y(), ds), StringEntry(aa(), makeString(dt, m))]
543610 else throw("Strict value is not equal to itself.")
544611 }
545612
546613
547614
548-@Callable(by)
549-func setAdmins (df) = {
550- let cW = bz(by)
551- if ((cW == cW))
552- then [StringEntry(S(), makeString(df, l))]
615+@Callable(bD)
616+func setAdmins (dv) = {
617+ let dm = bE(bD)
618+ if ((dm == dm))
619+ then [StringEntry(W(), makeString(dv, m))]
553620 else throw("Strict value is not equal to itself.")
554621 }
555622
556623
557624
558-@Callable(by)
559-func activateNewPool (aa,bR,bS,dg,dh,di,bY,dj) = {
560- let cW = cl(by)
561- if ((cW == cW))
562- then if (isDefined(getString(au(aa))))
563- then throw((("Pool address " + aa) + " already registered."))
625+@Callable(bD)
626+func activateNewPool (af,bW,bX,dw,dx,dy,cd,dz) = {
627+ let dm = cq(bD)
628+ if ((dm == dm))
629+ then if (isDefined(getString(az(af))))
630+ then K((("Pool address " + af) + " already registered."))
564631 else {
565- let dk = ce(bR, 1)
566- let dl = dk._1
567- let dm = ce(bS, if (dk._3)
632+ let dA = cj(bW, 1)
633+ let dB = dA._1
634+ let dC = cj(bX, if (dA._3)
568635 then 2
569636 else 1)
570- let dn = dm._1
571- let do = valueOrErrorMessage(scriptHash(addressFromStringValue(aa)), ("No script has been found on pool account " + aa))
572- let dp = getBinaryValue(M())
573- let dq = cr(bR, bS)
574- if (dq)
575- then throw((((("Pool " + bR) + "/") + bS) + " has already been activated."))
637+ let dD = dC._1
638+ let dE = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
639+ let dF = getBinaryValue(Q())
640+ let dG = cw(bW, bX)
641+ if (dG)
642+ then K((((("Pool " + bW) + "/") + bX) + " has already been activated."))
576643 else {
577- let dr = value(getString(this, ah(toString(dl), toString(dn))))
578- let ds = if ((bR == "WAVES"))
579- then k
580- else pow(10, 0, value(assetInfo(fromBase58String(bR))).decimals, 0, 0, DOWN)
581- let dt = if ((bS == "WAVES"))
582- then k
583- else pow(10, 0, value(assetInfo(fromBase58String(bS))).decimals, 0, 0, DOWN)
584- let du = Issue(dg, dh, 1, 8, true)
585- let bQ = calculateAssetId(du)
586- let dv = toBase58String(bQ)
587- let dw = invoke(addressFromStringValue(aa), "activate", [bR, bS], nil)
588- if ((dw == dw))
589- then if ((dw != "success"))
590- then throw("Pool initialisation error happened.")
644+ let dH = value(getString(this, am(toString(dB), toString(dD))))
645+ let dI = if ((bW == "WAVES"))
646+ then l
647+ else pow(10, 0, value(assetInfo(fromBase58String(bW))).decimals, 0, 0, DOWN)
648+ let dJ = if ((bX == "WAVES"))
649+ then l
650+ else pow(10, 0, value(assetInfo(fromBase58String(bX))).decimals, 0, 0, DOWN)
651+ let dK = Issue(dw, dx, 1, 8, true)
652+ let bV = calculateAssetId(dK)
653+ let dL = toBase58String(bV)
654+ let dM = invoke(addressFromStringValue(af), "activate", [bW, bX], nil)
655+ if ((dM == dM))
656+ then if ((dM != "success"))
657+ then K("Pool initialisation error happened.")
591658 else {
592- let db = addressFromStringValue(aT(T()))
593- let dx = invoke(db, "createOrUpdate", [dv, dg, false], nil)
594- if ((dx == dx))
659+ let dr = addressFromStringValue(aY(X()))
660+ let dN = invoke(dr, "createOrUpdate", [dL, dw, false], nil)
661+ if ((dN == dN))
595662 then {
596- let dy = invoke(db, "addLabel", [dv, h], nil)
597- if ((dy == dy))
663+ let dO = invoke(dr, "addLabel", [dL, h], nil)
664+ if ((dO == dO))
598665 then {
599- let dz = invoke(db, "setLogo", [dv, dj], nil)
600- if ((dz == dz))
666+ let dP = invoke(dr, "setLogo", [dL, dz], nil)
667+ if ((dP == dP))
601668 then {
602- let dA = invoke(db, "addAssetsLink", [bR, bS, dv], nil)
603- if ((dA == dA))
669+ let dQ = invoke(dr, "addAssetsLink", [bW, bX, dL], nil)
670+ if ((dQ == dQ))
604671 then {
605- let dB = invoke(db, "increaseAssetPoolsNumber", [bR], nil)
606- if ((dB == dB))
607- then $Tuple2(((dk._2 ++ dm._2) ++ [du, Burn(bQ, 1), StringEntry(ah(toString(dl), toString(dn)), bO(aa, toString(n), dv, bR, bS, ds, dt, dl, dn, k, bY)), StringEntry(ao(dv), bZ(dl, dn)), StringEntry(aq(toString(dl), toString(dn)), ("%s__" + dv)), StringEntry(au(aa), bZ(dl, dn)), StringEntry(aw(dl, dn), aa), StringEntry(ay(dv), aa), StringEntry(ax(aa), dv), IntegerEntry(Z(aa), di), IntegerEntry(at(aa), i)]), dv)
672+ let dR = invoke(dr, "increaseAssetPoolsNumber", [bW], nil)
673+ if ((dR == dR))
674+ then $Tuple2(((dA._2 ++ dC._2) ++ [dK, Burn(bV, 1), StringEntry(am(toString(dB), toString(dD)), bT(af, toString(o), dL, bW, bX, dI, dJ, dB, dD, l, cd)), StringEntry(at(dL), ce(dB, dD)), StringEntry(av(toString(dB), toString(dD)), ("%s__" + dL)), StringEntry(az(af), ce(dB, dD)), StringEntry(aB(dB, dD), af), StringEntry(aD(dL), af), StringEntry(aC(af), dL), IntegerEntry(ae(af), dy), IntegerEntry(ay(af), i)]), dL)
608675 else throw("Strict value is not equal to itself.")
609676 }
610677 else throw("Strict value is not equal to itself.")
623690
624691
625692
626-@Callable(by)
627-func managePool (aa,dC) = {
628- let cW = bz(by)
629- if ((cW == cW))
693+@Callable(bD)
694+func managePool (af,dS) = {
695+ let dm = bE(bD)
696+ if ((dm == dm))
630697 then {
631- let dD = cc(aa)
632- let bP = dD[v]
633- let dv = dD[w]
634- let bR = dD[x]
635- let bS = dD[y]
636- let ds = parseIntValue(dD[z])
637- let dt = parseIntValue(dD[A])
638- let dl = parseIntValue(dD[B])
639- let dn = parseIntValue(dD[C])
640- let dE = parseIntValue(dD[D])
641- let bY = dD[E]
642-[StringEntry(ah(toString(dl), toString(dn)), bO(aa, toString(dC), dv, bR, bS, ds, dt, dl, dn, dE, bY))]
698+ let dT = ch(af)
699+ let bU = dT[w]
700+ let dL = dT[x]
701+ let bW = dT[y]
702+ let bX = dT[z]
703+ let dI = parseIntValue(dT[A])
704+ let dJ = parseIntValue(dT[B])
705+ let dB = parseIntValue(dT[C])
706+ let dD = parseIntValue(dT[D])
707+ let dU = parseIntValue(dT[E])
708+ let cd = dT[F]
709+[StringEntry(am(toString(dB), toString(dD)), bT(af, toString(dS), dL, bW, bX, dI, dJ, dB, dD, dU, cd))]
643710 }
644711 else throw("Strict value is not equal to itself.")
645712 }
646713
647714
648715
649-@Callable(by)
650-func emit (dF) = {
651- let dG = by.caller
652- let dH = by.originCaller
653- let dI = valueOrErrorMessage(getString(ax(toString(dG))), "Invalid LP address called me.")
654- let dJ = fromBase58String(dI)
655- let da = split(valueOrElse(getString(P()), m), l)
656- let cZ = addressFromStringValue(valueOrErrorMessage(getString(O()), "Legacy factory contract does not exists."))
657- if ((0 >= dF))
716+@Callable(bD)
717+func emit (dV) = {
718+ let dW = bD.caller
719+ let dX = bD.originCaller
720+ let dY = valueOrErrorMessage(getString(aC(toString(dW))), "Invalid LP address called me.")
721+ let dZ = fromBase58String(dY)
722+ let dq = split(valueOrElse(getString(T()), n), m)
723+ let dp = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
724+ if ((0 >= dV))
658725 then nil
659- else if (containsElement(da, toString(dG)))
660- then $Tuple2(nil, cZ)
661- else $Tuple2([Reissue(dJ, dF, true), ScriptTransfer(by.caller, dF, dJ)], "success")
726+ else if (containsElement(dq, toString(dW)))
727+ then $Tuple2(nil, dp)
728+ else $Tuple2([Reissue(dZ, dV, true), ScriptTransfer(bD.caller, dV, dZ)], "success")
662729 }
663730
664731
665732
666-@Callable(by)
667-func burn (dK) = {
668- let dG = by.caller
669- let dH = by.originCaller
670- let dL = value(by.payments[0])
671- let dM = value(dL.amount)
672- let dN = toBase58String(value(dL.assetId))
673- let dO = valueOrErrorMessage(getString(ax(toString(dG))), "Invalid LP address called me.")
674- if ((dN != dO))
675- then throw("Invalid asset passed.")
676- else if ((dK != dM))
677- then throw("Invalid amount passed.")
733+@Callable(bD)
734+func burn (ea) = {
735+ let dW = bD.caller
736+ let dX = bD.originCaller
737+ let eb = value(bD.payments[0])
738+ let ec = value(eb.amount)
739+ let ed = toBase58String(value(eb.assetId))
740+ let ee = valueOrErrorMessage(getString(aC(toString(dW))), "Invalid LP address called me.")
741+ if ((ed != ee))
742+ then K("Invalid asset passed.")
743+ else if ((ea != ec))
744+ then K("Invalid amount passed.")
678745 else {
679- let dJ = fromBase58String(dO)
680- $Tuple2([Burn(dJ, dK)], "success")
746+ let dZ = fromBase58String(ee)
747+ $Tuple2([Burn(dZ, ea)], "success")
681748 }
682749 }
683750
684751
685752
686-@Callable(by)
687-func modifyWeight (bQ,dP) = {
688- let cW = if ((toBase58String(by.caller.bytes) == valueOrElse(getString(this, U()), "")))
753+@Callable(bD)
754+func modifyWeight (bV,ef) = {
755+ let dm = if ((toBase58String(bD.caller.bytes) == valueOrElse(getString(this, Y()), "")))
689756 then true
690- else bz(by)
691- if ((cW == cW))
757+ else bE(bD)
758+ if ((dm == dm))
692759 then {
693- let av = aT(ay(bQ))
694- let dQ = Z(av)
695- let dR = Z(g)
696- let dS = valueOrElse(getInteger(dR), 0)
697- let di = valueOrElse(getInteger(dQ), 0)
698- let dT = dP
699- let bo = split(aT(K()), l)
700- let cS = bq(bo)
701- let dU = invoke(cS, "onModifyWeight", [bQ, av], nil)
702- if ((dU == dU))
760+ let aA = aY(aD(bV))
761+ let eg = ae(aA)
762+ let eh = ae(g)
763+ let ei = valueOrElse(getInteger(eh), 0)
764+ let dy = valueOrElse(getInteger(eg), 0)
765+ let ej = ef
766+ let bt = split(aY(O()), m)
767+ let di = bv(bt)
768+ let ek = invoke(di, "onModifyWeight", [bV, aA], nil)
769+ if ((ek == ek))
703770 then {
704- let dV = if ((dS == 0))
771+ let el = if ((ei == 0))
705772 then nil
706- else [IntegerEntry(dR, 0)]
707- let dW = ab(av, 0)
708- let dX = getInteger(dW)
709- let dY = if ((dX == unit))
773+ else [IntegerEntry(eh, 0)]
774+ let em = ag(aA, 0)
775+ let en = getInteger(em)
776+ let eo = if ((en == unit))
710777 then nil
711- else [DeleteEntry(dW)]
712- (([IntegerEntry(dQ, dT)] ++ dV) ++ dY)
778+ else [DeleteEntry(em)]
779+ (([IntegerEntry(eg, ej)] ++ el) ++ eo)
713780 }
714781 else throw("Strict value is not equal to itself.")
715782 }
718785
719786
720787
721-@Callable(by)
722-func modifyWeights (dZ,ea,eb,ec) = {
723- let cW = bz(by)
724- if ((cW == cW))
788+@Callable(bD)
789+func modifyWeights (ep,eq,er,es) = {
790+ let dm = bE(bD)
791+ if ((dm == dm))
725792 then {
726- let ed = ((5 * f) / 100)
727- let ee = ((5 * f) / 100)
728- let ef = ((5 * f) / 100)
729- let bo = split(aT(K()), l)
730- let eg = bq(bo)
731- let eh = br(bo)
732- let ei = Z(dZ)
733- let ej = Z(ea)
734- let ek = Z(eb)
735- let el = Z(ec)
736- let em = aW(ei)
737- let en = aW(ej)
738- let eo = (em - ef)
739- let ep = (en - ef)
740- if ((0 >= eo))
741- then throw(("invalid btcWeightNew: " + toString(eo)))
742- else if ((0 >= ep))
743- then throw(("invalid ethWeightNew: " + toString(ep)))
793+ let et = ((5 * f) / 100)
794+ let eu = ((5 * f) / 100)
795+ let ev = ((5 * f) / 100)
796+ let bt = split(aY(O()), m)
797+ let ew = bv(bt)
798+ let ex = bw(bt)
799+ let ey = ae(ep)
800+ let ez = ae(eq)
801+ let eA = ae(er)
802+ let eB = ae(es)
803+ let eC = bb(ey)
804+ let eD = bb(ez)
805+ let eE = (eC - ev)
806+ let eF = (eD - ev)
807+ if ((0 >= eE))
808+ then K(("invalid btcWeightNew: " + toString(eE)))
809+ else if ((0 >= eF))
810+ then K(("invalid ethWeightNew: " + toString(eF)))
744811 else {
745- let eq = aT(ax(dZ))
746- let er = aT(ax(ea))
747- let es = aT(ax(eb))
748- let et = aT(ax(ec))
749- let eu = invoke(eg, "onModifyWeight", [eq, dZ], nil)
750- if ((eu == eu))
812+ let eG = aY(aC(ep))
813+ let eH = aY(aC(eq))
814+ let eI = aY(aC(er))
815+ let eJ = aY(aC(es))
816+ let eK = invoke(ew, "onModifyWeight", [eG, ep], nil)
817+ if ((eK == eK))
751818 then {
752- let ev = invoke(eg, "onModifyWeight", [er, ea], nil)
753- if ((ev == ev))
819+ let eL = invoke(ew, "onModifyWeight", [eH, eq], nil)
820+ if ((eL == eL))
754821 then {
755- let ew = invoke(eg, "onModifyWeight", [es, eb], nil)
756- if ((ew == ew))
822+ let eM = invoke(ew, "onModifyWeight", [eI, er], nil)
823+ if ((eM == eM))
757824 then {
758- let ex = invoke(eg, "onModifyWeight", [et, ec], nil)
759- if ((ex == ex))
760- then [IntegerEntry(ei, eo), IntegerEntry(ej, ep), IntegerEntry(ek, ed), IntegerEntry(el, ee), IntegerEntry(ab(dZ, 0), em), IntegerEntry(ab(ea, 0), en), IntegerEntry(ab(eb, 0), ed), IntegerEntry(ab(ec, 0), ee)]
825+ let eN = invoke(ew, "onModifyWeight", [eJ, es], nil)
826+ if ((eN == eN))
827+ then [IntegerEntry(ey, eE), IntegerEntry(ez, eF), IntegerEntry(eA, et), IntegerEntry(eB, eu), IntegerEntry(ag(ep, 0), eC), IntegerEntry(ag(eq, 0), eD), IntegerEntry(ag(er, 0), et), IntegerEntry(ag(es, 0), eu)]
761828 else throw("Strict value is not equal to itself.")
762829 }
763830 else throw("Strict value is not equal to itself.")
772839
773840
774841
775-@Callable(by)
776-func checkWxEmissionPoolLabel (aA,aB) = {
777- let ey = {
778- let ba = getBoolean(az(aA, aB))
779- if ($isInstanceOf(ba, "Boolean"))
842+@Callable(bD)
843+func checkWxEmissionPoolLabel (aF,aG) = {
844+ let eO = {
845+ let bf = getBoolean(aE(aF, aG))
846+ if ($isInstanceOf(bf, "Boolean"))
780847 then {
781- let cE = ba
782- cE
848+ let cU = bf
849+ cU
783850 }
784851 else false
785852 }
786- $Tuple2(nil, ey)
853+ $Tuple2(nil, eO)
787854 }
788855
789856
790857
791-@Callable(by)
792-func setWxEmissionPoolLabel (aA,aB) = {
793- let cW = cl(by)
794- if ((cW == cW))
795- then $Tuple2([BooleanEntry(az(aA, aB), true)], unit)
858+@Callable(bD)
859+func setWxEmissionPoolLabel (aF,aG) = {
860+ let dm = cq(bD)
861+ if ((dm == dm))
862+ then $Tuple2([BooleanEntry(aE(aF, aG), true)], unit)
796863 else throw("Strict value is not equal to itself.")
797864 }
798865
799866
800867
801-@Callable(by)
802-func deleteWxEmissionPoolLabel (aA,aB) = {
803- let cW = if ((by.caller == this))
868+@Callable(bD)
869+func deleteWxEmissionPoolLabel (aF,aG) = {
870+ let dm = if ((bD.caller == this))
804871 then true
805- else cl(by)
806- if ((cW == cW))
807- then $Tuple2([DeleteEntry(az(aA, aB))], unit)
872+ else cq(bD)
873+ if ((dm == dm))
874+ then $Tuple2([DeleteEntry(aE(aF, aG))], unit)
808875 else throw("Strict value is not equal to itself.")
809876 }
810877
811878
812879
813-@Callable(by)
814-func onVerificationLoss (aO) = {
815- let cW = if ((toBase58String(by.caller.bytes) == valueOrElse(getString(this, T()), "")))
880+@Callable(bD)
881+func onVerificationLoss (aT) = {
882+ let dm = if ((toBase58String(bD.caller.bytes) == valueOrElse(getString(this, X()), "")))
816883 then true
817- else bz(by)
818- if ((cW == cW))
884+ else bE(bD)
885+ if ((dm == dm))
819886 then {
820- let dd = bs()
821- let ez = if ((size(dd) > 0))
887+ let dt = bx()
888+ let eP = if ((size(dt) > 0))
822889 then true
823- else throw("invalid price assets")
824- if ((ez == ez))
890+ else K("invalid price assets")
891+ if ((eP == eP))
825892 then {
826- func eA (eB,eC) = {
827- let cy = invoke(this, "deleteWxEmissionPoolLabel", [aO, eC], nil)
828- if ((cy == cy))
893+ func eQ (eR,eS) = {
894+ let cO = invoke(this, "deleteWxEmissionPoolLabel", [aT, eS], nil)
895+ if ((cO == cO))
829896 then unit
830897 else throw("Strict value is not equal to itself.")
831898 }
832899
833- let eD = {
834- let eE = dd
835- let eF = size(eE)
836- let eG = unit
837- func eH (eI,eJ) = if ((eJ >= eF))
838- then eI
839- else eA(eI, eE[eJ])
900+ let eT = {
901+ let eU = dt
902+ let eV = size(eU)
903+ let eW = unit
904+ func eX (eY,eZ) = if ((eZ >= eV))
905+ then eY
906+ else eQ(eY, eU[eZ])
840907
841- func eK (eI,eJ) = if ((eJ >= eF))
842- then eI
908+ func fa (eY,eZ) = if ((eZ >= eV))
909+ then eY
843910 else throw("List size exceeds 11")
844911
845- eK(eH(eH(eH(eH(eH(eH(eH(eH(eH(eH(eH(eG, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11)
912+ fa(eX(eX(eX(eX(eX(eX(eX(eX(eX(eX(eX(eW, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11)
846913 }
847- if ((eD == eD))
914+ if ((eT == eT))
848915 then $Tuple2(nil, unit)
849916 else throw("Strict value is not equal to itself.")
850917 }
855922
856923
857924
858-@Callable(by)
859-func isPoolOneTokenOperationsDisabledREADONLY (aa) = {
860- let dD = cc(aa)
861- let al = $Tuple2(parseIntValue(dD[B]), parseIntValue(dD[C]))
862- let eL = valueOrElse(getBoolean(ak(al)), false)
863- let eM = valueOrElse(getBoolean(an()), false)
864- $Tuple2(nil, if (eM)
925+@Callable(bD)
926+func isPoolOneTokenOperationsDisabledREADONLY (af) = {
927+ let dT = ch(af)
928+ let aq = $Tuple2(parseIntValue(dT[C]), parseIntValue(dT[D]))
929+ let fb = valueOrElse(getBoolean(ap(aq)), false)
930+ let fc = valueOrElse(getBoolean(as()), false)
931+ $Tuple2(nil, if (fc)
865932 then true
866- else eL)
933+ else fb)
867934 }
868935
869936
870937
871-@Callable(by)
872-func getInFeeREADONLY (aa) = {
873- let eN = co(aC(aa), aD(), 0)
874- $Tuple2(nil, eN)
938+@Callable(bD)
939+func getInFeeREADONLY (af) = {
940+ let fd = ct(aH(af), aI(), 0)
941+ $Tuple2(nil, fd)
875942 }
876943
877944
878945
879-@Callable(by)
880-func getOutFeeREADONLY (aa) = {
881- let eN = co(aE(aa), aF(), fraction(10, b, 10000))
882- $Tuple2(nil, eN)
946+@Callable(bD)
947+func getOutFeeREADONLY (af) = {
948+ let fd = ct(aJ(af), aK(), fraction(10, b, 10000))
949+ $Tuple2(nil, fd)
883950 }
884951
885952
886953
887-@Callable(by)
888-func poolInfoREADONLY (eO,eP) = {
889- let eQ = getInteger(this, af(eO))
890- let eR = getInteger(this, af(eP))
891- let eS = getString(this, aw(value(eQ), value(eR)))
892- let eT = getString(this, ax(value(eS)))
893- let dq = if (if (isDefined(eQ))
894- then isDefined(eR)
954+@Callable(bD)
955+func poolInfoREADONLY (fe,ff) = {
956+ let fg = getInteger(this, ak(fe))
957+ let fh = getInteger(this, ak(ff))
958+ let fi = getString(this, aB(value(fg), value(fh)))
959+ let fj = getString(this, aC(value(fi)))
960+ let dG = if (if (isDefined(fg))
961+ then isDefined(fh)
895962 else false)
896- then isDefined(eS)
963+ then isDefined(fi)
897964 else false
898- let eU = if (dq)
899- then $Tuple2(addressFromStringValue(value(eS)), aX(value(eT)))
965+ let fk = if (dG)
966+ then $Tuple2(addressFromStringValue(value(fi)), bc(value(fj)))
900967 else unit
901- $Tuple2(nil, eU)
968+ $Tuple2(nil, fk)
902969 }
903970
904971
905972
906-@Callable(by)
907-func getPoolStatusREADONLY (aa) = {
908- let cd = split(aT(au(aa)), l)
909- let ai = cd[1]
910- let aj = cd[2]
911- let cu = split(aT(ah(ai, aj)), l)
912- $Tuple2(nil, parseIntValue(cu[v]))
973+@Callable(bD)
974+func getPoolStatusREADONLY (af) = {
975+ let ci = split(aY(az(af)), m)
976+ let an = ci[1]
977+ let ao = ci[2]
978+ let cz = split(aY(am(an, ao)), m)
979+ $Tuple2(nil, parseIntValue(cz[w]))
913980 }
914981
915982
916983
917-@Callable(by)
918-func getPoolConfigREADONLY (aa) = {
919- let cd = split(aT(au(aa)), l)
920- let ai = cd[1]
921- let aj = cd[2]
922- let cu = split(aT(ah(ai, aj)), l)
923- $Tuple2(nil, cu)
984+@Callable(bD)
985+func getPoolConfigREADONLY (af) = {
986+ let ci = split(aY(az(af)), m)
987+ let an = ci[1]
988+ let ao = ci[2]
989+ let cz = split(aY(am(an, ao)), m)
990+ $Tuple2(nil, cz)
924991 }
925992
926993
927994
928-@Callable(by)
929-func getPoolConfigByLpAssetIdREADONLY (dv) = {
930- let cd = split(aT(ao(dv)), l)
931- let ai = cd[1]
932- let aj = cd[2]
933- let cu = split(aT(ah(ai, aj)), l)
934- $Tuple2(nil, cu)
995+@Callable(bD)
996+func getPoolConfigByLpAssetIdREADONLY (dL) = {
997+ let ci = split(aY(at(dL)), m)
998+ let an = ci[1]
999+ let ao = ci[2]
1000+ let cz = split(aY(am(an, ao)), m)
1001+ $Tuple2(nil, cz)
9351002 }
9361003
9371004
9381005
939-@Callable(by)
940-func poolExistsREADONLY (aA,aB) = $Tuple2(nil, cr(aA, aB))
1006+@Callable(bD)
1007+func poolExistsREADONLY (aF,aG) = $Tuple2(nil, cw(aF, aG))
9411008
9421009
9431010
944-@Callable(by)
945-func skipOrderValidationREADONLY (aa) = $Tuple2(nil, valueOrElse(getBoolean(aG(aa)), false))
1011+@Callable(bD)
1012+func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aL(af)), false))
9461013
9471014
9481015
949-@Callable(by)
950-func getChangeAmpConfigREADONLY (aa) = {
951- let eV = getIntegerValue(aH(aa))
952- let eW = getIntegerValue(aI(aa))
953- let eX = getIntegerValue(aJ(aa))
954- $Tuple2(nil, [eV, eW, eX])
1016+@Callable(bD)
1017+func getChangeAmpConfigREADONLY (af) = {
1018+ let fl = getIntegerValue(aM(af))
1019+ let fm = getIntegerValue(aN(af))
1020+ let fn = getIntegerValue(aO(af))
1021+ $Tuple2(nil, [fl, fm, fn])
9551022 }
9561023
9571024
9581025
959-@Callable(by)
960-func getPoolWeightREADONLY (bQ) = {
961- let aa = aT(ay(bQ))
962- let eY = valueOrElse(getInteger(Z(aa)), 0)
963- $Tuple2(nil, eY)
1026+@Callable(bD)
1027+func getPoolWeightREADONLY (bV) = {
1028+ let af = aY(aD(bV))
1029+ let fo = valueOrElse(getInteger(ae(af)), 0)
1030+ $Tuple2(nil, fo)
9641031 }
9651032
9661033
967-@Verifier(eZ)
968-func fa () = {
969- let fb = {
970- let ba = bt()
971- if ($isInstanceOf(ba, "ByteVector"))
1034+
1035+@Callable(bD)
1036+func deletePool (aA) = {
1037+ let dm = if ((toString(bD.caller) == cD(aA)))
1038+ then if (cL(aA))
1039+ then true
1040+ else K("Pool is not empty")
1041+ else bE(bD)
1042+ if ((dm == dm))
1043+ then {
1044+ let fp = if ((valueOrElse(getInteger(ae(aA)), 0) == 0))
1045+ then true
1046+ else K("Pool weight is not Zero")
1047+ if ((fp == fp))
1048+ then {
1049+ let fq = cC(aA)
1050+ let aF = fq._1
1051+ let aG = fq._2
1052+ let bV = fq._3
1053+ let an = fq._4
1054+ let ao = fq._5
1055+ let cF = addressFromStringValue(getStringValue(Z()))
1056+ let fr = invoke(cF, "deletePool", [aF, aG], nil)
1057+ if ((fr == fr))
1058+ then {
1059+ let ds = addressFromStringValue(getStringValue(Y()))
1060+ let fs = invoke(ds, "deletePool", [aF, aG], nil)
1061+ if ((fs == fs))
1062+ then {
1063+ let dr = addressFromStringValue(getStringValue(X()))
1064+ let ft = invoke(dr, "deletePool", [aF, aG], nil)
1065+ if ((ft == ft))
1066+ then [DeleteEntry(aC(aA)), DeleteEntry(az(aA)), DeleteEntry(av(toString(an), toString(ao))), DeleteEntry(aB(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(at(bV)), DeleteEntry(aD(bV)), DeleteEntry(aE(aF, aG)), DeleteEntry(ae(aA)), DeleteEntry(ay(aA)), DeleteEntry(aH(aA)), DeleteEntry(aJ(aA)), DeleteEntry(aL(aA)), DeleteEntry(aM(aA)), DeleteEntry(aN(aA)), DeleteEntry(aO(aA))]
1067+ else throw("Strict value is not equal to itself.")
1068+ }
1069+ else throw("Strict value is not equal to itself.")
1070+ }
1071+ else throw("Strict value is not equal to itself.")
1072+ }
1073+ else throw("Strict value is not equal to itself.")
1074+ }
1075+ else throw("Strict value is not equal to itself.")
1076+ }
1077+
1078+
1079+@Verifier(fu)
1080+func fv () = {
1081+ let fw = {
1082+ let bf = by()
1083+ if ($isInstanceOf(bf, "ByteVector"))
9721084 then {
973- let bA = ba
974- bA
1085+ let bF = bf
1086+ bF
9751087 }
976- else if ($isInstanceOf(ba, "Unit"))
977- then eZ.senderPublicKey
1088+ else if ($isInstanceOf(bf, "Unit"))
1089+ then fu.senderPublicKey
9781090 else throw("Match error")
9791091 }
980- sigVerify(eZ.bodyBytes, eZ.proofs[0], fb)
1092+ sigVerify(fu.bodyBytes, fu.proofs[0], fw)
9811093 }
9821094
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 1000000000000
99
1010 let d = 18
1111
1212 let e = toBigInt(1000000000000000000)
1313
1414 let f = b
1515
1616 let g = "GWXvirtualPOOL"
1717
1818 let h = "POOLS_LP"
1919
2020 let i = 2000000
2121
2222 let j = "WAVES"
2323
24-let k = ((100 * 1000) * 1000)
24+let k = "factory_v2.ride"
2525
26-let l = "__"
26+let l = ((100 * 1000) * 1000)
2727
28-let m = ""
28+let m = "__"
2929
30-let n = 1
30+let n = ""
3131
32-let o = 2
32+let o = 1
3333
34-let p = 3
34+let p = 2
3535
36-let q = 4
36+let q = 3
3737
38-let r = 1
38+let r = 4
3939
40-let s = 2
40+let s = 1
4141
42-let t = 3
42+let t = 2
4343
44-let u = 1
44+let u = 3
4545
46-let v = 2
46+let v = 1
4747
48-let w = 3
48+let w = 2
4949
50-let x = 4
50+let x = 3
5151
52-let y = 5
52+let y = 4
5353
54-let z = 6
54+let z = 5
5555
56-let A = 7
56+let A = 6
5757
58-let B = 8
58+let B = 7
5959
60-let C = 9
60+let C = 8
6161
62-let D = 10
62+let D = 9
6363
64-let E = 11
64+let E = 10
6565
66-let F = "WX_EMISSION"
66+let F = 11
6767
68-let G = [F]
68+let G = "WX_EMISSION"
6969
70-func H () = "%s__allowedLpScriptHash"
70+let H = [G]
71+
72+func I (J) = makeString([k, ": ", J], "")
7173
7274
73-func I () = "%s__allowedLpStableScriptHash"
75+func K (J) = throw(I(J))
7476
7577
76-func J () = "%s__swapContract"
78+func L () = "%s__allowedLpScriptHash"
7779
7880
79-func K () = "%s__factoryConfig"
81+func M () = "%s__allowedLpStableScriptHash"
8082
8183
82-func L () = "%s__lpTokensList"
84+func N () = "%s__swapContract"
8385
8486
85-func M () = "%s%s__pool__scriptHash"
87+func O () = "%s__factoryConfig"
8688
8789
88-func N () = "%s%s__matcher__publicKey"
90+func P () = "%s__lpTokensList"
8991
9092
91-func O () = "%s__legacyFactoryContract"
93+func Q () = "%s%s__pool__scriptHash"
9294
9395
94-func P () = "%s__legacyPools"
96+func R () = "%s%s__matcher__publicKey"
9597
9698
97-func Q () = "%s__managerPublicKey"
99+func S () = "%s__legacyFactoryContract"
98100
99101
100-func R () = "%s__managerVaultAddress"
102+func T () = "%s__legacyPools"
101103
102104
103-func S () = "%s__adminPubKeys"
105+func U () = "%s__managerPublicKey"
104106
105107
106-func T () = "%s__assetsStoreContract"
108+func V () = "%s__managerVaultAddress"
107109
108110
109-func U () = "%s__votingEmissionContract"
111+func W () = "%s__adminPubKeys"
110112
111113
112-func V () = makeString(["%s", "priceAssets"], l)
114+func X () = "%s__assetsStoreContract"
113115
114116
115-func W () = "%s__priceDecimals"
117+func Y () = "%s__votingEmissionContract"
116118
117119
118-func X () = "%s__shutdown"
120+func Z () = "%s__userPoolsContract"
119121
120122
121-func Y () = "%s__nextInternalAssetId"
123+func aa () = makeString(["%s", "priceAssets"], m)
122124
123125
124-func Z (aa) = ("%s%s__poolWeight__" + aa)
126+func ab () = "%s__priceDecimals"
125127
126128
127-func ab (aa,ac) = ((("%s%s__poolWeight__" + aa) + "__") + toString(ac))
129+func ac () = "%s__shutdown"
128130
129131
130-func ad (ae) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ae))
132+func ad () = "%s__nextInternalAssetId"
131133
132134
133-func af (ag) = ("%s%s%s__mappings__baseAsset2internalId__" + ag)
135+func ae (af) = ("%s%s__poolWeight__" + af)
134136
135137
136-func ah (ai,aj) = (((("%d%d%s__" + ai) + "__") + aj) + "__config")
138+func ag (af,ah) = ((("%s%s__poolWeight__" + af) + "__") + toString(ah))
137139
138140
139-func ak (al) = {
140- let am = al
141- let ai = am._1
142- let aj = am._2
143- makeString(["%d%d%s", toString(ai), toString(aj), "oneTokenOperationsDisabled"], l)
141+func ai (aj) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(aj))
142+
143+
144+func ak (al) = ("%s%s%s__mappings__baseAsset2internalId__" + al)
145+
146+
147+func am (an,ao) = (((("%d%d%s__" + an) + "__") + ao) + "__config")
148+
149+
150+func ap (aq) = {
151+ let ar = aq
152+ let an = ar._1
153+ let ao = ar._2
154+ makeString(["%d%d%s", toString(an), toString(ao), "oneTokenOperationsDisabled"], m)
144155 }
145156
146157
147-func an () = makeString(["%s", "oneTokenOperationsDisabled"], l)
158+func as () = makeString(["%s", "oneTokenOperationsDisabled"], m)
148159
149160
150-func ao (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2Pool")
161+func at (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2Pool")
151162
152163
153-func aq (ar,as) = (((("%d%d%s%s__" + ar) + "__") + as) + "__mappings__PoolAssets2LpAsset")
164+func av (aw,ax) = (((("%d%d%s%s__" + aw) + "__") + ax) + "__mappings__PoolAssets2LpAsset")
154165
155166
156-func at (aa) = ("%s%s__spread__" + aa)
167+func ay (af) = ("%s%s__spread__" + af)
157168
158169
159-func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2PoolAssets")
170+func az (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2PoolAssets")
160171
161172
162-func aw (ar,as) = (((("%d%d%s%s__" + toString(ar)) + "__") + toString(as)) + "__mappings__poolAssets2PoolContract")
173+func aB (aw,ax) = (((("%d%d%s%s__" + toString(aw)) + "__") + toString(ax)) + "__mappings__poolAssets2PoolContract")
163174
164175
165-func ax (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
176+func aC (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2LpAsset")
166177
167178
168-func ay (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2PoolContract")
179+func aD (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2PoolContract")
169180
170181
171-func az (aA,aB) = ((("%s%s%s__wxEmission__" + aA) + "__") + aB)
182+func aE (aF,aG) = ((("%s%s%s__wxEmission__" + aF) + "__") + aG)
172183
173184
174-func aC (aa) = ("%s%s__inFee__" + aa)
185+func aH (af) = ("%s%s__inFee__" + af)
175186
176187
177-func aD () = "%s__inFeeDefault"
188+func aI () = "%s__inFeeDefault"
178189
179190
180-func aE (aa) = ("%s%s__outFee__" + aa)
191+func aJ (af) = ("%s%s__outFee__" + af)
181192
182193
183-func aF () = "%s__outFeeDefault"
194+func aK () = "%s__outFeeDefault"
184195
185196
186-func aG (aa) = ("%s%s__skipOrderValidation__" + aa)
197+func aL (af) = ("%s%s__skipOrderValidation__" + af)
187198
188199
189-func aH (aa) = ("%s%s__changeAmpDelay__" + aa)
200+func aM (af) = ("%s%s__changeAmpDelay__" + af)
190201
191202
192-func aI (aa) = ("%s%s__changeAmpDelta__" + aa)
203+func aN (af) = ("%s%s__changeAmpDelta__" + af)
193204
194205
195-func aJ (aa) = ("%s%s__changeAmpTarget__" + aa)
206+func aO (af) = ("%s%s__changeAmpTarget__" + af)
196207
197208
198-func aK () = "%s__sWavesProxyAddress"
209+func aP () = "%s__sWavesProxyAddress"
199210
200211
201-func aL () = "%s__sWavesAssetId"
212+func aQ () = "%s__sWavesAssetId"
202213
203214
204-func aM () = "%s__stakingProfitAddress"
215+func aR () = "%s__stakingProfitAddress"
205216
206217
207-func aN (aa,aO) = makeString(["%s%s%s", "leasedRatio", aa, aO], l)
218+func aS (af,aT) = makeString(["%s%s%s", "leasedRatio", af, aT], m)
208219
209220
210-func aP (aO) = makeString(["%s%s", "leasedRatioDefault", aO], l)
221+func aU (aT) = makeString(["%s%s", "leasedRatioDefault", aT], m)
211222
212223
213-func aQ (aa,aO) = makeString(["%s%s%s", "leasedRatioTolerance", aa, aO], l)
224+func aV (af,aT) = makeString(["%s%s%s", "leasedRatioTolerance", af, aT], m)
214225
215226
216-func aR (aa,aO) = makeString(["%s%s%s", "minBalance", aa, aO], l)
227+func aW (af,aT) = makeString(["%s%s%s", "minBalance", af, aT], m)
217228
218229
219-func aS (aO) = makeString(["%s%s", "minBalanceDefault", aO], l)
230+func aX (aT) = makeString(["%s%s", "minBalanceDefault", aT], m)
220231
221232
222-func aT (aU) = valueOrErrorMessage(getString(this, aU), ("No data for this.key=" + aU))
233+func aY (aZ) = valueOrErrorMessage(getString(this, aZ), ("No data for this.key=" + aZ))
223234
224235
225-func aV (aU) = valueOrErrorMessage(getBoolean(this, aU), ("No data for this.key=" + aU))
236+func ba (aZ) = valueOrErrorMessage(getBoolean(this, aZ), ("No data for this.key=" + aZ))
226237
227238
228-func aW (aU) = valueOrErrorMessage(getInteger(this, aU), ("No data for this.key=" + aU))
239+func bb (aZ) = valueOrErrorMessage(getInteger(this, aZ), ("No data for this.key=" + aZ))
229240
230241
231-func aX (aY) = if ((aY == j))
242+func bc (bd) = if ((bd == j))
232243 then unit
233- else fromBase58String(aY)
244+ else fromBase58String(bd)
234245
235246
236-func aZ () = {
237- let ba = getString(R())
238- if ($isInstanceOf(ba, "String"))
247+func be () = {
248+ let bf = getString(V())
249+ if ($isInstanceOf(bf, "String"))
239250 then {
240- let bb = ba
241- addressFromStringValue(bb)
251+ let bg = bf
252+ addressFromStringValue(bg)
242253 }
243254 else this
244255 }
245256
246257
247-let bc = 1
258+let bh = 1
248259
249-let bd = 2
260+let bi = 2
250261
251-let be = 3
262+let bj = 3
252263
253-let bf = 4
264+let bk = 4
254265
255-let bg = 5
266+let bl = 5
256267
257-let bh = 6
268+let bm = 6
258269
259-let bi = 7
270+let bn = 7
260271
261-let bj = 8
272+let bo = 8
262273
263-let bk = 9
274+let bp = 9
264275
265-let bl = 10
276+let bq = 10
266277
267-let bm = 11
278+let br = 11
268279
269-func bn (bo) = addressFromStringValue(bo[bd])
280+func bs (bt) = addressFromStringValue(bt[bi])
270281
271282
272-func bp (bo) = addressFromStringValue(bo[bg])
283+func bu (bt) = addressFromStringValue(bt[bl])
273284
274285
275-func bq (bo) = addressFromStringValue(bo[bc])
286+func bv (bt) = addressFromStringValue(bt[bh])
276287
277288
278-func br (bo) = addressFromStringValue(bo[bl])
289+func bw (bt) = addressFromStringValue(bt[bq])
279290
280291
281-func bs () = {
282- let ba = getString(V())
283- if ($isInstanceOf(ba, "String"))
292+func bx () = {
293+ let bf = getString(aa())
294+ if ($isInstanceOf(bf, "String"))
284295 then {
285- let bb = ba
286- if ((size(bb) == 0))
296+ let bg = bf
297+ if ((size(bg) == 0))
287298 then nil
288- else split(bb, l)
299+ else split(bg, m)
289300 }
290301 else nil
291302 }
292303
293304
294-func bt () = {
295- let bu = aZ()
296- let ba = getString(bu, Q())
297- if ($isInstanceOf(ba, "String"))
305+func by () = {
306+ let bz = be()
307+ let bf = getString(bz, U())
308+ if ($isInstanceOf(bf, "String"))
298309 then {
299- let bb = ba
300- fromBase58String(bb)
310+ let bg = bf
311+ fromBase58String(bg)
301312 }
302- else if ($isInstanceOf(ba, "Unit"))
313+ else if ($isInstanceOf(bf, "Unit"))
303314 then unit
304315 else throw("Match error")
305316 }
306317
307318
308-let bv = throw("Permission denied")
319+let bA = K("Permission denied")
309320
310-let bw = throw("Test error here")
321+let bB = K("Test error here")
311322
312-func bx (by) = if ((by.caller == this))
323+func bC (bD) = if ((bD.caller == this))
313324 then true
314- else bv
325+ else bA
315326
316327
317-func bz (by) = {
318- let ba = bt()
319- if ($isInstanceOf(ba, "ByteVector"))
328+func bE (bD) = {
329+ let bf = by()
330+ if ($isInstanceOf(bf, "ByteVector"))
320331 then {
321- let bA = ba
322- if ((by.callerPublicKey == bA))
332+ let bF = bf
333+ if ((bD.callerPublicKey == bF))
323334 then true
324- else bv
335+ else bA
325336 }
326- else if ($isInstanceOf(ba, "Unit"))
327- then bx(by)
337+ else if ($isInstanceOf(bf, "Unit"))
338+ then bC(bD)
328339 else throw("Match error")
329340 }
330341
331342
332-func bB (bC,bD,bE,bF,bG,bH,bI,bJ,bK,bL,bM) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bC, bD, bE, bF, bG, bH, bI, bJ, bK, bL, bM], l)
343+func bG (bH,bI,bJ,bK,bL,bM,bN,bO,bP,bQ,bR) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bH, bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR], m)
333344
334345
335-func bN (bC,bD,bE,bF,bG,bH,bI) = makeString(["%s%s%s%s%s%s", bC, bD, bE, bF, bG, bH, bI], l)
346+func bS (bH,bI,bJ,bK,bL,bM,bN) = makeString(["%s%s%s%s%s%s", bH, bI, bJ, bK, bL, bM, bN], m)
336347
337348
338-func bO (aa,bP,bQ,bR,bS,bT,bU,bV,bW,bX,bY) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", aa, bP, bQ, bR, bS, toString(bT), toString(bU), toString(bV), toString(bW), toString(bX), bY], l)
349+func bT (af,bU,bV,bW,bX,bY,bZ,ca,cb,cc,cd) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bU, bV, bW, bX, toString(bY), toString(bZ), toString(ca), toString(cb), toString(cc), cd], m)
339350
340351
341-func bZ (ca,cb) = makeString(["%d%d", toString(ca), toString(cb)], l)
352+func ce (cf,cg) = makeString(["%d%d", toString(cf), toString(cg)], m)
342353
343354
344-func cc (aa) = {
345- let cd = split(aT(au(aa)), l)
346- let ai = cd[1]
347- let aj = cd[2]
348- split(aT(ah(ai, aj)), l)
355+func ch (af) = {
356+ let ci = split(aY(az(af)), m)
357+ let an = ci[1]
358+ let ao = ci[2]
359+ split(aY(am(an, ao)), m)
349360 }
350361
351362
352-func ce (cf,cg) = {
353- let ch = valueOrElse(getInteger(this, af(cf)), 0)
354- let ci = valueOrElse(getInteger(this, Y()), 0)
355- let cj = if ((ch == 0))
363+func cj (ck,cl) = {
364+ let cm = valueOrElse(getInteger(this, ak(ck)), 0)
365+ let cn = valueOrElse(getInteger(this, ad()), 0)
366+ let co = if ((cm == 0))
356367 then {
357- let ck = (ci + cg)
358- $Tuple3(ck, [IntegerEntry(Y(), ck), IntegerEntry(af(cf), ck), StringEntry(ad(ck), cf)], true)
368+ let cp = (cn + cl)
369+ $Tuple3(cp, [IntegerEntry(ad(), cp), IntegerEntry(ak(ck), cp), StringEntry(ai(cp), ck)], true)
359370 }
360- else $Tuple3(ch, nil, false)
361- cj
371+ else $Tuple3(cm, nil, false)
372+ co
362373 }
363374
364375
365-func cl (by) = {
366- let cm = split(valueOrElse(getString(S()), m), l)
367- if (containsElement(cm, toBase58String(by.callerPublicKey)))
376+func cq (bD) = {
377+ let cr = split(valueOrElse(getString(W()), n), m)
378+ if (containsElement(cr, toBase58String(bD.callerPublicKey)))
368379 then true
369380 else {
370- let cn = bz(by)
371- if ((cn == cn))
381+ let cs = bE(bD)
382+ if ((cs == cs))
372383 then true
373384 else throw("Strict value is not equal to itself.")
374385 }
375386 }
376387
377388
378-func co (aU,cp,cq) = valueOrElse(getInteger(this, aU), valueOrElse(getInteger(this, cp), cq))
389+func ct (aZ,cu,cv) = valueOrElse(getInteger(this, aZ), valueOrElse(getInteger(this, cu), cv))
379390
380391
381-func cr (aA,aB) = {
382- let ai = getInteger(af(aA))
383- let aj = getInteger(af(aB))
384- if (if ((ai == unit))
392+func cw (aF,aG) = {
393+ let an = getInteger(ak(aF))
394+ let ao = getInteger(ak(aG))
395+ if (if ((an == unit))
385396 then true
386- else (aj == unit))
397+ else (ao == unit))
387398 then false
388399 else {
389- let cs = toString(value(ai))
390- let ct = toString(value(aj))
391- let cu = getString(ah(cs, ct))
392- let cv = getString(ah(ct, cs))
393- let cw = if ((cu != unit))
400+ let cx = toString(value(an))
401+ let cy = toString(value(ao))
402+ let cz = getString(am(cx, cy))
403+ let cA = getString(am(cy, cx))
404+ let cB = if ((cz != unit))
394405 then true
395- else (cv != unit)
396- cw
406+ else (cA != unit)
407+ cB
397408 }
398409 }
399410
400411
401-@Callable(by)
402-func getSwapContractREADONLY () = $Tuple2(nil, aT(J()))
412+func cC (aA) = {
413+ let ci = {
414+ let bf = getString(az(aA))
415+ if ($isInstanceOf(bf, "String"))
416+ then {
417+ let bg = bf
418+ split(bg, m)
419+ }
420+ else K(makeString([aA, "pool is not found"], " "))
421+ }
422+ let an = parseIntValue(ci[1])
423+ let ao = parseIntValue(ci[2])
424+ let aF = getStringValue(ai(an))
425+ let aG = getStringValue(ai(ao))
426+ let bV = getStringValue(aC(aA))
427+ $Tuple5(aF, aG, bV, an, ao)
428+ }
429+
430+
431+func cD (aA) = {
432+ let cE = cC(aA)
433+ let aF = cE._1
434+ let aG = cE._2
435+ let bV = cE._3
436+ let an = cE._4
437+ let ao = cE._5
438+ let cF = addressFromStringValue(getStringValue(Z()))
439+ let cG = invoke(cF, "getPoolCreatorREADONLY", [aF, aG], nil)
440+ cG
441+ }
442+
443+
444+func cH (cI,cJ) = {
445+ let cK = addressFromStringValue(cI)
446+ if ((cJ == "WAVES"))
447+ then wavesBalance(cK).regular
448+ else {
449+ let aT = fromBase58String(cJ)
450+ assetBalance(cK, aT)
451+ }
452+ }
453+
454+
455+func cL (aA) = {
456+ let cM = cC(aA)
457+ let aF = cM._1
458+ let aG = cM._2
459+ let bV = cM._3
460+ let an = cM._4
461+ let ao = cM._5
462+ if ((cH(aA, aF) == 0))
463+ then (cH(aA, aG) == 0)
464+ else false
465+ }
466+
467+
468+@Callable(bD)
469+func getSwapContractREADONLY () = $Tuple2(nil, aY(N()))
403470
404471
405472
406-@Callable(by)
407-func getPoolLeaseConfigREADONLY (aa,aO) = {
408- let cx = {
409- let ba = getInteger(this, aN(aa, aO))
410- if ($isInstanceOf(ba, "Int"))
473+@Callable(bD)
474+func getPoolLeaseConfigREADONLY (af,aT) = {
475+ let cN = {
476+ let bf = getInteger(this, aS(af, aT))
477+ if ($isInstanceOf(bf, "Int"))
411478 then {
412- let cy = ba
413- $Tuple2(true, min([100, max([0, cy])]))
479+ let cO = bf
480+ $Tuple2(true, min([100, max([0, cO])]))
414481 }
415482 else {
416- let cz = getInteger(this, aP(aO))
417- if ($isInstanceOf(cz, "Int"))
483+ let cP = getInteger(this, aU(aT))
484+ if ($isInstanceOf(cP, "Int"))
418485 then {
419- let cA = cz
420- $Tuple2(true, min([100, max([0, cA])]))
486+ let cQ = cP
487+ $Tuple2(true, min([100, max([0, cQ])]))
421488 }
422489 else $Tuple2(false, 0)
423490 }
424491 }
425- let cB = cx._1
426- let cC = cx._2
427- let cD = {
428- let ba = getInteger(this, aR(aa, aO))
429- if ($isInstanceOf(ba, "Int"))
492+ let cR = cN._1
493+ let cS = cN._2
494+ let cT = {
495+ let bf = getInteger(this, aW(af, aT))
496+ if ($isInstanceOf(bf, "Int"))
430497 then {
431- let cE = ba
432- max([0, cE])
498+ let cU = bf
499+ max([0, cU])
433500 }
434501 else {
435- let cz = getInteger(this, aS(aO))
436- if ($isInstanceOf(cz, "Int"))
502+ let cP = getInteger(this, aX(aT))
503+ if ($isInstanceOf(cP, "Int"))
437504 then {
438- let cF = cz
439- max([0, cF])
505+ let cV = cP
506+ max([0, cV])
440507 }
441508 else 0
442509 }
443510 }
444- let cG = if ((aO == "WAVES"))
445- then $Tuple3(valueOrElse(getString(this, aK()), ""), getString(this, valueOrElse(aL(), "")), c)
511+ let cW = if ((aT == "WAVES"))
512+ then $Tuple3(valueOrElse(getString(this, aP()), ""), getString(this, valueOrElse(aQ(), "")), c)
446513 else $Tuple3("", "", 0)
447- let cH = cG._1
448- let cI = cG._2
449- let cJ = cG._3
450- let cK = valueOrElse(getString(this, aM()), "")
451- $Tuple2(nil, $Tuple7(cB, cC, cD, cH, cI, cJ, cK))
514+ let cX = cW._1
515+ let cY = cW._2
516+ let cZ = cW._3
517+ let da = valueOrElse(getString(this, aR()), "")
518+ $Tuple2(nil, $Tuple7(cR, cS, cT, cX, cY, cZ, da))
452519 }
453520
454521
455522
456-@Callable(by)
457-func getLpAssetFromPoolAssetsREADONLY (cL,cM) = if (if ((cL == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
458- then (cM == "WAVES")
523+@Callable(bD)
524+func getLpAssetFromPoolAssetsREADONLY (db,dc) = if (if ((db == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
525+ then (dc == "WAVES")
459526 else false)
460527 then $Tuple2(nil, unit)
461528 else {
462- let cN = value(getInteger(this, af(cL)))
463- let cO = value(getInteger(this, af(cM)))
464- let cP = getString(this, aq(toString(cN), toString(cO)))
465- let cQ = if ((cP == unit))
529+ let dd = value(getInteger(this, ak(db)))
530+ let de = value(getInteger(this, ak(dc)))
531+ let df = getString(this, av(toString(dd), toString(de)))
532+ let dg = if ((df == unit))
466533 then unit
467- else drop(value(cP), 4)
468- $Tuple2(nil, cQ)
534+ else drop(value(df), 4)
535+ $Tuple2(nil, dg)
469536 }
470537
471538
472539
473-@Callable(by)
474-func getPoolAddressFromLpAssetREADONLY (cR) = $Tuple2(nil, valueOrElse(getString(this, ay(cR)), ""))
540+@Callable(bD)
541+func getPoolAddressFromLpAssetREADONLY (dh) = $Tuple2(nil, valueOrElse(getString(this, aD(dh)), ""))
475542
476543
477544
478-@Callable(by)
479-func constructor (cS,cT,bE,bF,bG,bH,cU,cV) = {
480- let cW = bz(by)
481- if ((cW == cW))
482- then [StringEntry(K(), bN(cS, cT, bE, bF, bG, bH, cU)), IntegerEntry(W(), cV)]
545+@Callable(bD)
546+func constructor (di,dj,bJ,bK,bL,bM,dk,dl) = {
547+ let dm = bE(bD)
548+ if ((dm == dm))
549+ then [StringEntry(O(), bS(di, dj, bJ, bK, bL, bM, dk)), IntegerEntry(ab(), dl)]
483550 else throw("Strict value is not equal to itself.")
484551 }
485552
486553
487554
488-@Callable(by)
489-func constructorV2 (cX) = {
490- let cW = bz(by)
491- if ((cW == cW))
555+@Callable(bD)
556+func constructorV2 (dn) = {
557+ let dm = bE(bD)
558+ if ((dm == dm))
492559 then {
493- let cY = addressFromPublicKey(fromBase58String(cX))
494- if ((cY == cY))
495- then [StringEntry(N(), cX)]
560+ let do = addressFromPublicKey(fromBase58String(dn))
561+ if ((do == do))
562+ then [StringEntry(R(), dn)]
496563 else throw("Strict value is not equal to itself.")
497564 }
498565 else throw("Strict value is not equal to itself.")
499566 }
500567
501568
502569
503-@Callable(by)
504-func constructorV3 (bJ,bK,bL,bM) = {
505- let cW = bz(by)
506- if ((cW == cW))
570+@Callable(bD)
571+func constructorV3 (bO,bP,bQ,bR) = {
572+ let dm = bE(bD)
573+ if ((dm == dm))
507574 then {
508- let bo = split(aT(K()), l)
509-[StringEntry(K(), bB(bo[1], bo[2], bo[3], bo[4], bo[5], bo[6], bo[7], bJ, bK, bL, bM))]
575+ let bt = split(aY(O()), m)
576+[StringEntry(O(), bG(bt[1], bt[2], bt[3], bt[4], bt[5], bt[6], bt[7], bO, bP, bQ, bR))]
510577 }
511578 else throw("Strict value is not equal to itself.")
512579 }
513580
514581
515582
516-@Callable(by)
517-func constructorV4 (cZ,da) = {
518- let cW = bz(by)
519- if ((cW == cW))
520- then [StringEntry(O(), cZ), StringEntry(P(), makeString(da, l))]
583+@Callable(bD)
584+func constructorV4 (dp,dq) = {
585+ let dm = bE(bD)
586+ if ((dm == dm))
587+ then [StringEntry(S(), dp), StringEntry(T(), makeString(dq, m))]
521588 else throw("Strict value is not equal to itself.")
522589 }
523590
524591
525592
526-@Callable(by)
527-func constructorV5 (db) = {
528- let cW = bz(by)
529- if ((cW == cW))
530- then [StringEntry(T(), db)]
593+@Callable(bD)
594+func constructorV5 (dr) = {
595+ let dm = bE(bD)
596+ if ((dm == dm))
597+ then [StringEntry(X(), dr)]
531598 else throw("Strict value is not equal to itself.")
532599 }
533600
534601
535602
536-@Callable(by)
537-func constructorV6 (dc,dd) = {
538- let de = [bz(by), if ((addressFromString(dc) != unit))
603+@Callable(bD)
604+func constructorV6 (ds,dt) = {
605+ let du = [bE(bD), if ((addressFromString(ds) != unit))
539606 then true
540607 else "invalid voting emission contract address"]
541- if ((de == de))
542- then [StringEntry(U(), dc), StringEntry(V(), makeString(dd, l))]
608+ if ((du == du))
609+ then [StringEntry(Y(), ds), StringEntry(aa(), makeString(dt, m))]
543610 else throw("Strict value is not equal to itself.")
544611 }
545612
546613
547614
548-@Callable(by)
549-func setAdmins (df) = {
550- let cW = bz(by)
551- if ((cW == cW))
552- then [StringEntry(S(), makeString(df, l))]
615+@Callable(bD)
616+func setAdmins (dv) = {
617+ let dm = bE(bD)
618+ if ((dm == dm))
619+ then [StringEntry(W(), makeString(dv, m))]
553620 else throw("Strict value is not equal to itself.")
554621 }
555622
556623
557624
558-@Callable(by)
559-func activateNewPool (aa,bR,bS,dg,dh,di,bY,dj) = {
560- let cW = cl(by)
561- if ((cW == cW))
562- then if (isDefined(getString(au(aa))))
563- then throw((("Pool address " + aa) + " already registered."))
625+@Callable(bD)
626+func activateNewPool (af,bW,bX,dw,dx,dy,cd,dz) = {
627+ let dm = cq(bD)
628+ if ((dm == dm))
629+ then if (isDefined(getString(az(af))))
630+ then K((("Pool address " + af) + " already registered."))
564631 else {
565- let dk = ce(bR, 1)
566- let dl = dk._1
567- let dm = ce(bS, if (dk._3)
632+ let dA = cj(bW, 1)
633+ let dB = dA._1
634+ let dC = cj(bX, if (dA._3)
568635 then 2
569636 else 1)
570- let dn = dm._1
571- let do = valueOrErrorMessage(scriptHash(addressFromStringValue(aa)), ("No script has been found on pool account " + aa))
572- let dp = getBinaryValue(M())
573- let dq = cr(bR, bS)
574- if (dq)
575- then throw((((("Pool " + bR) + "/") + bS) + " has already been activated."))
637+ let dD = dC._1
638+ let dE = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
639+ let dF = getBinaryValue(Q())
640+ let dG = cw(bW, bX)
641+ if (dG)
642+ then K((((("Pool " + bW) + "/") + bX) + " has already been activated."))
576643 else {
577- let dr = value(getString(this, ah(toString(dl), toString(dn))))
578- let ds = if ((bR == "WAVES"))
579- then k
580- else pow(10, 0, value(assetInfo(fromBase58String(bR))).decimals, 0, 0, DOWN)
581- let dt = if ((bS == "WAVES"))
582- then k
583- else pow(10, 0, value(assetInfo(fromBase58String(bS))).decimals, 0, 0, DOWN)
584- let du = Issue(dg, dh, 1, 8, true)
585- let bQ = calculateAssetId(du)
586- let dv = toBase58String(bQ)
587- let dw = invoke(addressFromStringValue(aa), "activate", [bR, bS], nil)
588- if ((dw == dw))
589- then if ((dw != "success"))
590- then throw("Pool initialisation error happened.")
644+ let dH = value(getString(this, am(toString(dB), toString(dD))))
645+ let dI = if ((bW == "WAVES"))
646+ then l
647+ else pow(10, 0, value(assetInfo(fromBase58String(bW))).decimals, 0, 0, DOWN)
648+ let dJ = if ((bX == "WAVES"))
649+ then l
650+ else pow(10, 0, value(assetInfo(fromBase58String(bX))).decimals, 0, 0, DOWN)
651+ let dK = Issue(dw, dx, 1, 8, true)
652+ let bV = calculateAssetId(dK)
653+ let dL = toBase58String(bV)
654+ let dM = invoke(addressFromStringValue(af), "activate", [bW, bX], nil)
655+ if ((dM == dM))
656+ then if ((dM != "success"))
657+ then K("Pool initialisation error happened.")
591658 else {
592- let db = addressFromStringValue(aT(T()))
593- let dx = invoke(db, "createOrUpdate", [dv, dg, false], nil)
594- if ((dx == dx))
659+ let dr = addressFromStringValue(aY(X()))
660+ let dN = invoke(dr, "createOrUpdate", [dL, dw, false], nil)
661+ if ((dN == dN))
595662 then {
596- let dy = invoke(db, "addLabel", [dv, h], nil)
597- if ((dy == dy))
663+ let dO = invoke(dr, "addLabel", [dL, h], nil)
664+ if ((dO == dO))
598665 then {
599- let dz = invoke(db, "setLogo", [dv, dj], nil)
600- if ((dz == dz))
666+ let dP = invoke(dr, "setLogo", [dL, dz], nil)
667+ if ((dP == dP))
601668 then {
602- let dA = invoke(db, "addAssetsLink", [bR, bS, dv], nil)
603- if ((dA == dA))
669+ let dQ = invoke(dr, "addAssetsLink", [bW, bX, dL], nil)
670+ if ((dQ == dQ))
604671 then {
605- let dB = invoke(db, "increaseAssetPoolsNumber", [bR], nil)
606- if ((dB == dB))
607- then $Tuple2(((dk._2 ++ dm._2) ++ [du, Burn(bQ, 1), StringEntry(ah(toString(dl), toString(dn)), bO(aa, toString(n), dv, bR, bS, ds, dt, dl, dn, k, bY)), StringEntry(ao(dv), bZ(dl, dn)), StringEntry(aq(toString(dl), toString(dn)), ("%s__" + dv)), StringEntry(au(aa), bZ(dl, dn)), StringEntry(aw(dl, dn), aa), StringEntry(ay(dv), aa), StringEntry(ax(aa), dv), IntegerEntry(Z(aa), di), IntegerEntry(at(aa), i)]), dv)
672+ let dR = invoke(dr, "increaseAssetPoolsNumber", [bW], nil)
673+ if ((dR == dR))
674+ then $Tuple2(((dA._2 ++ dC._2) ++ [dK, Burn(bV, 1), StringEntry(am(toString(dB), toString(dD)), bT(af, toString(o), dL, bW, bX, dI, dJ, dB, dD, l, cd)), StringEntry(at(dL), ce(dB, dD)), StringEntry(av(toString(dB), toString(dD)), ("%s__" + dL)), StringEntry(az(af), ce(dB, dD)), StringEntry(aB(dB, dD), af), StringEntry(aD(dL), af), StringEntry(aC(af), dL), IntegerEntry(ae(af), dy), IntegerEntry(ay(af), i)]), dL)
608675 else throw("Strict value is not equal to itself.")
609676 }
610677 else throw("Strict value is not equal to itself.")
611678 }
612679 else throw("Strict value is not equal to itself.")
613680 }
614681 else throw("Strict value is not equal to itself.")
615682 }
616683 else throw("Strict value is not equal to itself.")
617684 }
618685 else throw("Strict value is not equal to itself.")
619686 }
620687 }
621688 else throw("Strict value is not equal to itself.")
622689 }
623690
624691
625692
626-@Callable(by)
627-func managePool (aa,dC) = {
628- let cW = bz(by)
629- if ((cW == cW))
693+@Callable(bD)
694+func managePool (af,dS) = {
695+ let dm = bE(bD)
696+ if ((dm == dm))
630697 then {
631- let dD = cc(aa)
632- let bP = dD[v]
633- let dv = dD[w]
634- let bR = dD[x]
635- let bS = dD[y]
636- let ds = parseIntValue(dD[z])
637- let dt = parseIntValue(dD[A])
638- let dl = parseIntValue(dD[B])
639- let dn = parseIntValue(dD[C])
640- let dE = parseIntValue(dD[D])
641- let bY = dD[E]
642-[StringEntry(ah(toString(dl), toString(dn)), bO(aa, toString(dC), dv, bR, bS, ds, dt, dl, dn, dE, bY))]
698+ let dT = ch(af)
699+ let bU = dT[w]
700+ let dL = dT[x]
701+ let bW = dT[y]
702+ let bX = dT[z]
703+ let dI = parseIntValue(dT[A])
704+ let dJ = parseIntValue(dT[B])
705+ let dB = parseIntValue(dT[C])
706+ let dD = parseIntValue(dT[D])
707+ let dU = parseIntValue(dT[E])
708+ let cd = dT[F]
709+[StringEntry(am(toString(dB), toString(dD)), bT(af, toString(dS), dL, bW, bX, dI, dJ, dB, dD, dU, cd))]
643710 }
644711 else throw("Strict value is not equal to itself.")
645712 }
646713
647714
648715
649-@Callable(by)
650-func emit (dF) = {
651- let dG = by.caller
652- let dH = by.originCaller
653- let dI = valueOrErrorMessage(getString(ax(toString(dG))), "Invalid LP address called me.")
654- let dJ = fromBase58String(dI)
655- let da = split(valueOrElse(getString(P()), m), l)
656- let cZ = addressFromStringValue(valueOrErrorMessage(getString(O()), "Legacy factory contract does not exists."))
657- if ((0 >= dF))
716+@Callable(bD)
717+func emit (dV) = {
718+ let dW = bD.caller
719+ let dX = bD.originCaller
720+ let dY = valueOrErrorMessage(getString(aC(toString(dW))), "Invalid LP address called me.")
721+ let dZ = fromBase58String(dY)
722+ let dq = split(valueOrElse(getString(T()), n), m)
723+ let dp = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
724+ if ((0 >= dV))
658725 then nil
659- else if (containsElement(da, toString(dG)))
660- then $Tuple2(nil, cZ)
661- else $Tuple2([Reissue(dJ, dF, true), ScriptTransfer(by.caller, dF, dJ)], "success")
726+ else if (containsElement(dq, toString(dW)))
727+ then $Tuple2(nil, dp)
728+ else $Tuple2([Reissue(dZ, dV, true), ScriptTransfer(bD.caller, dV, dZ)], "success")
662729 }
663730
664731
665732
666-@Callable(by)
667-func burn (dK) = {
668- let dG = by.caller
669- let dH = by.originCaller
670- let dL = value(by.payments[0])
671- let dM = value(dL.amount)
672- let dN = toBase58String(value(dL.assetId))
673- let dO = valueOrErrorMessage(getString(ax(toString(dG))), "Invalid LP address called me.")
674- if ((dN != dO))
675- then throw("Invalid asset passed.")
676- else if ((dK != dM))
677- then throw("Invalid amount passed.")
733+@Callable(bD)
734+func burn (ea) = {
735+ let dW = bD.caller
736+ let dX = bD.originCaller
737+ let eb = value(bD.payments[0])
738+ let ec = value(eb.amount)
739+ let ed = toBase58String(value(eb.assetId))
740+ let ee = valueOrErrorMessage(getString(aC(toString(dW))), "Invalid LP address called me.")
741+ if ((ed != ee))
742+ then K("Invalid asset passed.")
743+ else if ((ea != ec))
744+ then K("Invalid amount passed.")
678745 else {
679- let dJ = fromBase58String(dO)
680- $Tuple2([Burn(dJ, dK)], "success")
746+ let dZ = fromBase58String(ee)
747+ $Tuple2([Burn(dZ, ea)], "success")
681748 }
682749 }
683750
684751
685752
686-@Callable(by)
687-func modifyWeight (bQ,dP) = {
688- let cW = if ((toBase58String(by.caller.bytes) == valueOrElse(getString(this, U()), "")))
753+@Callable(bD)
754+func modifyWeight (bV,ef) = {
755+ let dm = if ((toBase58String(bD.caller.bytes) == valueOrElse(getString(this, Y()), "")))
689756 then true
690- else bz(by)
691- if ((cW == cW))
757+ else bE(bD)
758+ if ((dm == dm))
692759 then {
693- let av = aT(ay(bQ))
694- let dQ = Z(av)
695- let dR = Z(g)
696- let dS = valueOrElse(getInteger(dR), 0)
697- let di = valueOrElse(getInteger(dQ), 0)
698- let dT = dP
699- let bo = split(aT(K()), l)
700- let cS = bq(bo)
701- let dU = invoke(cS, "onModifyWeight", [bQ, av], nil)
702- if ((dU == dU))
760+ let aA = aY(aD(bV))
761+ let eg = ae(aA)
762+ let eh = ae(g)
763+ let ei = valueOrElse(getInteger(eh), 0)
764+ let dy = valueOrElse(getInteger(eg), 0)
765+ let ej = ef
766+ let bt = split(aY(O()), m)
767+ let di = bv(bt)
768+ let ek = invoke(di, "onModifyWeight", [bV, aA], nil)
769+ if ((ek == ek))
703770 then {
704- let dV = if ((dS == 0))
771+ let el = if ((ei == 0))
705772 then nil
706- else [IntegerEntry(dR, 0)]
707- let dW = ab(av, 0)
708- let dX = getInteger(dW)
709- let dY = if ((dX == unit))
773+ else [IntegerEntry(eh, 0)]
774+ let em = ag(aA, 0)
775+ let en = getInteger(em)
776+ let eo = if ((en == unit))
710777 then nil
711- else [DeleteEntry(dW)]
712- (([IntegerEntry(dQ, dT)] ++ dV) ++ dY)
778+ else [DeleteEntry(em)]
779+ (([IntegerEntry(eg, ej)] ++ el) ++ eo)
713780 }
714781 else throw("Strict value is not equal to itself.")
715782 }
716783 else throw("Strict value is not equal to itself.")
717784 }
718785
719786
720787
721-@Callable(by)
722-func modifyWeights (dZ,ea,eb,ec) = {
723- let cW = bz(by)
724- if ((cW == cW))
788+@Callable(bD)
789+func modifyWeights (ep,eq,er,es) = {
790+ let dm = bE(bD)
791+ if ((dm == dm))
725792 then {
726- let ed = ((5 * f) / 100)
727- let ee = ((5 * f) / 100)
728- let ef = ((5 * f) / 100)
729- let bo = split(aT(K()), l)
730- let eg = bq(bo)
731- let eh = br(bo)
732- let ei = Z(dZ)
733- let ej = Z(ea)
734- let ek = Z(eb)
735- let el = Z(ec)
736- let em = aW(ei)
737- let en = aW(ej)
738- let eo = (em - ef)
739- let ep = (en - ef)
740- if ((0 >= eo))
741- then throw(("invalid btcWeightNew: " + toString(eo)))
742- else if ((0 >= ep))
743- then throw(("invalid ethWeightNew: " + toString(ep)))
793+ let et = ((5 * f) / 100)
794+ let eu = ((5 * f) / 100)
795+ let ev = ((5 * f) / 100)
796+ let bt = split(aY(O()), m)
797+ let ew = bv(bt)
798+ let ex = bw(bt)
799+ let ey = ae(ep)
800+ let ez = ae(eq)
801+ let eA = ae(er)
802+ let eB = ae(es)
803+ let eC = bb(ey)
804+ let eD = bb(ez)
805+ let eE = (eC - ev)
806+ let eF = (eD - ev)
807+ if ((0 >= eE))
808+ then K(("invalid btcWeightNew: " + toString(eE)))
809+ else if ((0 >= eF))
810+ then K(("invalid ethWeightNew: " + toString(eF)))
744811 else {
745- let eq = aT(ax(dZ))
746- let er = aT(ax(ea))
747- let es = aT(ax(eb))
748- let et = aT(ax(ec))
749- let eu = invoke(eg, "onModifyWeight", [eq, dZ], nil)
750- if ((eu == eu))
812+ let eG = aY(aC(ep))
813+ let eH = aY(aC(eq))
814+ let eI = aY(aC(er))
815+ let eJ = aY(aC(es))
816+ let eK = invoke(ew, "onModifyWeight", [eG, ep], nil)
817+ if ((eK == eK))
751818 then {
752- let ev = invoke(eg, "onModifyWeight", [er, ea], nil)
753- if ((ev == ev))
819+ let eL = invoke(ew, "onModifyWeight", [eH, eq], nil)
820+ if ((eL == eL))
754821 then {
755- let ew = invoke(eg, "onModifyWeight", [es, eb], nil)
756- if ((ew == ew))
822+ let eM = invoke(ew, "onModifyWeight", [eI, er], nil)
823+ if ((eM == eM))
757824 then {
758- let ex = invoke(eg, "onModifyWeight", [et, ec], nil)
759- if ((ex == ex))
760- then [IntegerEntry(ei, eo), IntegerEntry(ej, ep), IntegerEntry(ek, ed), IntegerEntry(el, ee), IntegerEntry(ab(dZ, 0), em), IntegerEntry(ab(ea, 0), en), IntegerEntry(ab(eb, 0), ed), IntegerEntry(ab(ec, 0), ee)]
825+ let eN = invoke(ew, "onModifyWeight", [eJ, es], nil)
826+ if ((eN == eN))
827+ then [IntegerEntry(ey, eE), IntegerEntry(ez, eF), IntegerEntry(eA, et), IntegerEntry(eB, eu), IntegerEntry(ag(ep, 0), eC), IntegerEntry(ag(eq, 0), eD), IntegerEntry(ag(er, 0), et), IntegerEntry(ag(es, 0), eu)]
761828 else throw("Strict value is not equal to itself.")
762829 }
763830 else throw("Strict value is not equal to itself.")
764831 }
765832 else throw("Strict value is not equal to itself.")
766833 }
767834 else throw("Strict value is not equal to itself.")
768835 }
769836 }
770837 else throw("Strict value is not equal to itself.")
771838 }
772839
773840
774841
775-@Callable(by)
776-func checkWxEmissionPoolLabel (aA,aB) = {
777- let ey = {
778- let ba = getBoolean(az(aA, aB))
779- if ($isInstanceOf(ba, "Boolean"))
842+@Callable(bD)
843+func checkWxEmissionPoolLabel (aF,aG) = {
844+ let eO = {
845+ let bf = getBoolean(aE(aF, aG))
846+ if ($isInstanceOf(bf, "Boolean"))
780847 then {
781- let cE = ba
782- cE
848+ let cU = bf
849+ cU
783850 }
784851 else false
785852 }
786- $Tuple2(nil, ey)
853+ $Tuple2(nil, eO)
787854 }
788855
789856
790857
791-@Callable(by)
792-func setWxEmissionPoolLabel (aA,aB) = {
793- let cW = cl(by)
794- if ((cW == cW))
795- then $Tuple2([BooleanEntry(az(aA, aB), true)], unit)
858+@Callable(bD)
859+func setWxEmissionPoolLabel (aF,aG) = {
860+ let dm = cq(bD)
861+ if ((dm == dm))
862+ then $Tuple2([BooleanEntry(aE(aF, aG), true)], unit)
796863 else throw("Strict value is not equal to itself.")
797864 }
798865
799866
800867
801-@Callable(by)
802-func deleteWxEmissionPoolLabel (aA,aB) = {
803- let cW = if ((by.caller == this))
868+@Callable(bD)
869+func deleteWxEmissionPoolLabel (aF,aG) = {
870+ let dm = if ((bD.caller == this))
804871 then true
805- else cl(by)
806- if ((cW == cW))
807- then $Tuple2([DeleteEntry(az(aA, aB))], unit)
872+ else cq(bD)
873+ if ((dm == dm))
874+ then $Tuple2([DeleteEntry(aE(aF, aG))], unit)
808875 else throw("Strict value is not equal to itself.")
809876 }
810877
811878
812879
813-@Callable(by)
814-func onVerificationLoss (aO) = {
815- let cW = if ((toBase58String(by.caller.bytes) == valueOrElse(getString(this, T()), "")))
880+@Callable(bD)
881+func onVerificationLoss (aT) = {
882+ let dm = if ((toBase58String(bD.caller.bytes) == valueOrElse(getString(this, X()), "")))
816883 then true
817- else bz(by)
818- if ((cW == cW))
884+ else bE(bD)
885+ if ((dm == dm))
819886 then {
820- let dd = bs()
821- let ez = if ((size(dd) > 0))
887+ let dt = bx()
888+ let eP = if ((size(dt) > 0))
822889 then true
823- else throw("invalid price assets")
824- if ((ez == ez))
890+ else K("invalid price assets")
891+ if ((eP == eP))
825892 then {
826- func eA (eB,eC) = {
827- let cy = invoke(this, "deleteWxEmissionPoolLabel", [aO, eC], nil)
828- if ((cy == cy))
893+ func eQ (eR,eS) = {
894+ let cO = invoke(this, "deleteWxEmissionPoolLabel", [aT, eS], nil)
895+ if ((cO == cO))
829896 then unit
830897 else throw("Strict value is not equal to itself.")
831898 }
832899
833- let eD = {
834- let eE = dd
835- let eF = size(eE)
836- let eG = unit
837- func eH (eI,eJ) = if ((eJ >= eF))
838- then eI
839- else eA(eI, eE[eJ])
900+ let eT = {
901+ let eU = dt
902+ let eV = size(eU)
903+ let eW = unit
904+ func eX (eY,eZ) = if ((eZ >= eV))
905+ then eY
906+ else eQ(eY, eU[eZ])
840907
841- func eK (eI,eJ) = if ((eJ >= eF))
842- then eI
908+ func fa (eY,eZ) = if ((eZ >= eV))
909+ then eY
843910 else throw("List size exceeds 11")
844911
845- eK(eH(eH(eH(eH(eH(eH(eH(eH(eH(eH(eH(eG, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11)
912+ fa(eX(eX(eX(eX(eX(eX(eX(eX(eX(eX(eX(eW, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11)
846913 }
847- if ((eD == eD))
914+ if ((eT == eT))
848915 then $Tuple2(nil, unit)
849916 else throw("Strict value is not equal to itself.")
850917 }
851918 else throw("Strict value is not equal to itself.")
852919 }
853920 else throw("Strict value is not equal to itself.")
854921 }
855922
856923
857924
858-@Callable(by)
859-func isPoolOneTokenOperationsDisabledREADONLY (aa) = {
860- let dD = cc(aa)
861- let al = $Tuple2(parseIntValue(dD[B]), parseIntValue(dD[C]))
862- let eL = valueOrElse(getBoolean(ak(al)), false)
863- let eM = valueOrElse(getBoolean(an()), false)
864- $Tuple2(nil, if (eM)
925+@Callable(bD)
926+func isPoolOneTokenOperationsDisabledREADONLY (af) = {
927+ let dT = ch(af)
928+ let aq = $Tuple2(parseIntValue(dT[C]), parseIntValue(dT[D]))
929+ let fb = valueOrElse(getBoolean(ap(aq)), false)
930+ let fc = valueOrElse(getBoolean(as()), false)
931+ $Tuple2(nil, if (fc)
865932 then true
866- else eL)
933+ else fb)
867934 }
868935
869936
870937
871-@Callable(by)
872-func getInFeeREADONLY (aa) = {
873- let eN = co(aC(aa), aD(), 0)
874- $Tuple2(nil, eN)
938+@Callable(bD)
939+func getInFeeREADONLY (af) = {
940+ let fd = ct(aH(af), aI(), 0)
941+ $Tuple2(nil, fd)
875942 }
876943
877944
878945
879-@Callable(by)
880-func getOutFeeREADONLY (aa) = {
881- let eN = co(aE(aa), aF(), fraction(10, b, 10000))
882- $Tuple2(nil, eN)
946+@Callable(bD)
947+func getOutFeeREADONLY (af) = {
948+ let fd = ct(aJ(af), aK(), fraction(10, b, 10000))
949+ $Tuple2(nil, fd)
883950 }
884951
885952
886953
887-@Callable(by)
888-func poolInfoREADONLY (eO,eP) = {
889- let eQ = getInteger(this, af(eO))
890- let eR = getInteger(this, af(eP))
891- let eS = getString(this, aw(value(eQ), value(eR)))
892- let eT = getString(this, ax(value(eS)))
893- let dq = if (if (isDefined(eQ))
894- then isDefined(eR)
954+@Callable(bD)
955+func poolInfoREADONLY (fe,ff) = {
956+ let fg = getInteger(this, ak(fe))
957+ let fh = getInteger(this, ak(ff))
958+ let fi = getString(this, aB(value(fg), value(fh)))
959+ let fj = getString(this, aC(value(fi)))
960+ let dG = if (if (isDefined(fg))
961+ then isDefined(fh)
895962 else false)
896- then isDefined(eS)
963+ then isDefined(fi)
897964 else false
898- let eU = if (dq)
899- then $Tuple2(addressFromStringValue(value(eS)), aX(value(eT)))
965+ let fk = if (dG)
966+ then $Tuple2(addressFromStringValue(value(fi)), bc(value(fj)))
900967 else unit
901- $Tuple2(nil, eU)
968+ $Tuple2(nil, fk)
902969 }
903970
904971
905972
906-@Callable(by)
907-func getPoolStatusREADONLY (aa) = {
908- let cd = split(aT(au(aa)), l)
909- let ai = cd[1]
910- let aj = cd[2]
911- let cu = split(aT(ah(ai, aj)), l)
912- $Tuple2(nil, parseIntValue(cu[v]))
973+@Callable(bD)
974+func getPoolStatusREADONLY (af) = {
975+ let ci = split(aY(az(af)), m)
976+ let an = ci[1]
977+ let ao = ci[2]
978+ let cz = split(aY(am(an, ao)), m)
979+ $Tuple2(nil, parseIntValue(cz[w]))
913980 }
914981
915982
916983
917-@Callable(by)
918-func getPoolConfigREADONLY (aa) = {
919- let cd = split(aT(au(aa)), l)
920- let ai = cd[1]
921- let aj = cd[2]
922- let cu = split(aT(ah(ai, aj)), l)
923- $Tuple2(nil, cu)
984+@Callable(bD)
985+func getPoolConfigREADONLY (af) = {
986+ let ci = split(aY(az(af)), m)
987+ let an = ci[1]
988+ let ao = ci[2]
989+ let cz = split(aY(am(an, ao)), m)
990+ $Tuple2(nil, cz)
924991 }
925992
926993
927994
928-@Callable(by)
929-func getPoolConfigByLpAssetIdREADONLY (dv) = {
930- let cd = split(aT(ao(dv)), l)
931- let ai = cd[1]
932- let aj = cd[2]
933- let cu = split(aT(ah(ai, aj)), l)
934- $Tuple2(nil, cu)
995+@Callable(bD)
996+func getPoolConfigByLpAssetIdREADONLY (dL) = {
997+ let ci = split(aY(at(dL)), m)
998+ let an = ci[1]
999+ let ao = ci[2]
1000+ let cz = split(aY(am(an, ao)), m)
1001+ $Tuple2(nil, cz)
9351002 }
9361003
9371004
9381005
939-@Callable(by)
940-func poolExistsREADONLY (aA,aB) = $Tuple2(nil, cr(aA, aB))
1006+@Callable(bD)
1007+func poolExistsREADONLY (aF,aG) = $Tuple2(nil, cw(aF, aG))
9411008
9421009
9431010
944-@Callable(by)
945-func skipOrderValidationREADONLY (aa) = $Tuple2(nil, valueOrElse(getBoolean(aG(aa)), false))
1011+@Callable(bD)
1012+func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aL(af)), false))
9461013
9471014
9481015
949-@Callable(by)
950-func getChangeAmpConfigREADONLY (aa) = {
951- let eV = getIntegerValue(aH(aa))
952- let eW = getIntegerValue(aI(aa))
953- let eX = getIntegerValue(aJ(aa))
954- $Tuple2(nil, [eV, eW, eX])
1016+@Callable(bD)
1017+func getChangeAmpConfigREADONLY (af) = {
1018+ let fl = getIntegerValue(aM(af))
1019+ let fm = getIntegerValue(aN(af))
1020+ let fn = getIntegerValue(aO(af))
1021+ $Tuple2(nil, [fl, fm, fn])
9551022 }
9561023
9571024
9581025
959-@Callable(by)
960-func getPoolWeightREADONLY (bQ) = {
961- let aa = aT(ay(bQ))
962- let eY = valueOrElse(getInteger(Z(aa)), 0)
963- $Tuple2(nil, eY)
1026+@Callable(bD)
1027+func getPoolWeightREADONLY (bV) = {
1028+ let af = aY(aD(bV))
1029+ let fo = valueOrElse(getInteger(ae(af)), 0)
1030+ $Tuple2(nil, fo)
9641031 }
9651032
9661033
967-@Verifier(eZ)
968-func fa () = {
969- let fb = {
970- let ba = bt()
971- if ($isInstanceOf(ba, "ByteVector"))
1034+
1035+@Callable(bD)
1036+func deletePool (aA) = {
1037+ let dm = if ((toString(bD.caller) == cD(aA)))
1038+ then if (cL(aA))
1039+ then true
1040+ else K("Pool is not empty")
1041+ else bE(bD)
1042+ if ((dm == dm))
1043+ then {
1044+ let fp = if ((valueOrElse(getInteger(ae(aA)), 0) == 0))
1045+ then true
1046+ else K("Pool weight is not Zero")
1047+ if ((fp == fp))
1048+ then {
1049+ let fq = cC(aA)
1050+ let aF = fq._1
1051+ let aG = fq._2
1052+ let bV = fq._3
1053+ let an = fq._4
1054+ let ao = fq._5
1055+ let cF = addressFromStringValue(getStringValue(Z()))
1056+ let fr = invoke(cF, "deletePool", [aF, aG], nil)
1057+ if ((fr == fr))
1058+ then {
1059+ let ds = addressFromStringValue(getStringValue(Y()))
1060+ let fs = invoke(ds, "deletePool", [aF, aG], nil)
1061+ if ((fs == fs))
1062+ then {
1063+ let dr = addressFromStringValue(getStringValue(X()))
1064+ let ft = invoke(dr, "deletePool", [aF, aG], nil)
1065+ if ((ft == ft))
1066+ then [DeleteEntry(aC(aA)), DeleteEntry(az(aA)), DeleteEntry(av(toString(an), toString(ao))), DeleteEntry(aB(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(at(bV)), DeleteEntry(aD(bV)), DeleteEntry(aE(aF, aG)), DeleteEntry(ae(aA)), DeleteEntry(ay(aA)), DeleteEntry(aH(aA)), DeleteEntry(aJ(aA)), DeleteEntry(aL(aA)), DeleteEntry(aM(aA)), DeleteEntry(aN(aA)), DeleteEntry(aO(aA))]
1067+ else throw("Strict value is not equal to itself.")
1068+ }
1069+ else throw("Strict value is not equal to itself.")
1070+ }
1071+ else throw("Strict value is not equal to itself.")
1072+ }
1073+ else throw("Strict value is not equal to itself.")
1074+ }
1075+ else throw("Strict value is not equal to itself.")
1076+ }
1077+
1078+
1079+@Verifier(fu)
1080+func fv () = {
1081+ let fw = {
1082+ let bf = by()
1083+ if ($isInstanceOf(bf, "ByteVector"))
9721084 then {
973- let bA = ba
974- bA
1085+ let bF = bf
1086+ bF
9751087 }
976- else if ($isInstanceOf(ba, "Unit"))
977- then eZ.senderPublicKey
1088+ else if ($isInstanceOf(bf, "Unit"))
1089+ then fu.senderPublicKey
9781090 else throw("Match error")
9791091 }
980- sigVerify(eZ.bodyBytes, eZ.proofs[0], fb)
1092+ sigVerify(fu.bodyBytes, fu.proofs[0], fw)
9811093 }
9821094

github/deemru/w8io/873ac7e 
400.21 ms