tx · 7szi2dBe73huhhDiHeJtx8rnY5cCLgxAiJvRAYneQ3uE

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.02300000 Waves

2023.03.06 11:03 [2477963] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "7szi2dBe73huhhDiHeJtx8rnY5cCLgxAiJvRAYneQ3uE", "fee": 2300000, "feeAssetId": null, "timestamp": 1678089821646, "version": 2, "chainId": 84, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "4wLCvcS8hH6WfXJkftqpptUrQEvydaFajXoohNAgAj6kc9F7PWPUWDkdY8eFTySSeTmhNGNzJm3MSQDfzryEqWuR" ], "script": "base64:BgKwJggCEgASBAoCCAgSAwoBCBIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIECgIIGBIDCgEIEgASAwoBGBIKCggICAgICAEICBIECgIIARIDCgEBEgMKAQESBAoCCAESBgoECAgICBIECgIICBIECgIICBIECgIICBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIECgIICCIGU0NBTEU4IgVNVUxUOCIHU0NBTEUxOCIGTVVMVDE4Ig5QT09MV0VJR0hUTVVMVCIOR1dYdmlydHVhbFBPT0wiDGxhYmVsUG9vbHNMcCINZGVmYXVsdFNwcmVhZCIRZGVjaW1hbHNNdWx0UHJpY2UiA1NFUCIFRU1QVFkiClBvb2xBY3RpdmUiD1Bvb2xQdXREaXNhYmxlZCITUG9vbE1hdGNoZXJEaXNhYmxlZCIMUG9vbFNodXRkb3duIhJpZHhJbnRlcm5hbEFzc2V0SWQiD2lkeFJlc3V0QWN0aW9ucyIgaWR4SWZBc3NldElkQ2FsY3VsYXRpb25QZXJmb3JtZWQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSILaWR4UG9vbFR5cGUiE3Bvb2xMYWJlbFd4RW1pc3Npb24iD3ZhbGlkUG9vbExhYmVscyIWa2V5QWxsb3dlZExwU2NyaXB0SGFzaCIca2V5QWxsb3dlZExwU3RhYmxlU2NyaXB0SGFzaCIha2V5QWxsb3dlZExwU3RhYmxlQWRkb25TY3JpcHRIYXNoIgxzd2FwQ29udHJhY3QiEGtleUZhY3RvcnlDb25maWciD2tleUxwVG9rZW5zTGlzdCIRa2V5UG9vbFNjcmlwdEhhc2giDWtleU1hdGNoZXJQdWIiGGtleUxlZ2FjeUZhY3RvcnlDb250cmFjdCIOa2V5TGVnYWN5UG9vbHMiE2tleU1hbmFnZXJQdWJsaWNLZXkiGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5Ig9rZXlBZG1pblB1YktleXMiFmtleUFzc2V0c1N0b3JlQ29udHJhY3QiGWtleVZvdGluZ0VtaXNzaW9uQ29udHJhY3QiDmtleVByaWNlQXNzZXRzIhBrZXlQcmljZURlY2ltYWxzIhNrZXlBbGxQb29sc1NodXRkb3duIhZrZXlOZXh0SW50ZXJuYWxBc3NldElkIg9rZXlQb29sVG9XZWlnaHQiC3Bvb2xBZGRyZXNzIhZrZXlQb29sVG9XZWlnaHRIaXN0b3J5IgNudW0iH2tleU1hcHBpbmdzSW50ZXJuYWwyYmFzZUFzc2V0SWQiEWludGVybmFsQmFzZUFzc2V0Ih9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkIgxiYXNlQXNzZXRTdHIiDWtleVBvb2xDb25maWciE2Ftb3VudEFzc2V0SW50ZXJuYWwiEnByaWNlQXNzZXRJbnRlcm5hbCIha2V5UG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIg5hc3NldHNJbnRlcm5hbCILJHQwMzcwMDM3NjIiJWtleUFsbFBvb2xzT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiHWtleU1hcHBpbmdMcEFzc2V0VG9Qb29sQXNzZXRzIgpscEFzc2V0U3RyIh1rZXlNYXBwaW5nUG9vbEFzc2V0c1RvTHBhc3NldCIYaW50ZXJuYWxBbW91bnRBc3NldElkU3RyIhdpbnRlcm5hbFByaWNlQXNzZXRJZFN0ciINa2V5UG9vbFNwcmVhZCIpa2V5TWFwcGluZ1Bvb2xDb250cmFjdEFkZHJlc3NUb1Bvb2xBc3NldHMiE3Bvb2xDb250cmFjdEFkZHJlc3MiKWtleU1hcHBpbmdQb29sQXNzZXRzVG9Qb29sQ29udHJhY3RBZGRyZXNzIh9rZXlNYXBwaW5nUG9vbENvbnRyYWN0VG9MUEFzc2V0IiprZXlNYXBwaW5nUG9vbExQQXNzZXRUb1Bvb2xDb250cmFjdEFkZHJlc3MiDWtleVd4RW1pc3Npb24iDWFtb3VudEFzc2V0SWQiDHByaWNlQXNzZXRJZCIIa2V5SW5GZWUiD2tleUluRmVlRGVmYXVsdCIJa2V5T3V0RmVlIhBrZXlPdXRGZWVEZWZhdWx0Ig9nZXRTdHJpbmdPckZhaWwiA2tleSIQZ2V0Qm9vbGVhbk9yRmFpbCIMZ2V0SW50T3JGYWlsIhhJZHhGYWN0b3J5Q2ZnU3Rha2luZ0RhcHAiGUlkeEZhY3RvcnlDZmdCb29zdGluZ0RhcHAiFElkeEZhY3RvcnlDZmdJZG9EYXBwIhVJZHhGYWN0b3J5Q2ZnVGVhbURhcHAiGUlkeEZhY3RvcnlDZmdFbWlzc2lvbkRhcHAiFUlkeEZhY3RvcnlDZmdSZXN0RGFwcCIZSWR4RmFjdG9yeUNmZ1NsaXBwYWdlRGFwcCIUSWR4RmFjdG9yeUNmZ0Rhb0RhcHAiGklkeEZhY3RvcnlDZmdNYXJrZXRpbmdEYXBwIhpJZHhGYWN0b3J5Q2ZnR3d4UmV3YXJkRGFwcCIWSWR4RmFjdG9yeUNmZ0JpcmRzRGFwcCIYZ2V0Qm9vc3RpbmdBZGRyZXNzT3JGYWlsIgpmYWN0b3J5Q2ZnIhhnZXRFbWlzc2lvbkFkZHJlc3NPckZhaWwiF2dldFN0YWtpbmdBZGRyZXNzT3JGYWlsIhlnZXRHd3hSZXdhcmRBZGRyZXNzT3JGYWlsIg5nZXRQcmljZUFzc2V0cyIHJG1hdGNoMCIBcyIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCIdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQiFXBlcm1pc3Npb25EZW5pZWRFcnJvciIJdGVzdEVycm9yIghtdXN0VGhpcyIBaSILbXVzdE1hbmFnZXIiAnBrIhBkYXRhRmFjdG9yeUNmZ1YzIg5zdGFraW5nQWRkcmVzcyIPYm9vc3RpbmdBZGRyZXNzIgtpZG9Db250cmFjdCIMdGVhbUNvbnRyYWN0IhBlbWlzc2lvbkNvbnRyYWN0IgxyZXN0Q29udHJhY3QiEHNsaXBwYWdlQ29udHJhY3QiC2Rhb0NvbnRyYWN0IhFtYXJrZXRpbmdDb250cmFjdCISZ3d4UmV3YXJkc0NvbnRyYWN0Ig1iaXJkc0NvbnRyYWN0Ig5kYXRhRmFjdG9yeUNmZyILZGF0YVBvb2xDZmciCnBvb2xTdGF0dXMiCWxwQXNzZXRJZCIOYW1vdW50QXNzZXRTdHIiDXByaWNlQXNzZXRTdHIiE2Ftb3VudEFzc2V0RGVjaW1hbHMiEnByaWNlQXNzZXREZWNpbWFscyIVYW1vdW50QXNzZXRJbnRlcm5hbElkIhRwcmljZUFzc2V0SW50ZXJuYWxJZCIPbHBBc3NldERlY2ltYWxzIghwb29sVHlwZSIVZGF0YU1hcHBpbmdQb29sQXNzZXRzIhZpbnRlcm5hbEFtb3VudEFzc2V0U3RyIhVpbnRlcm5hbFByaWNlQXNzZXRTdHIiDWdldFBvb2xDb25maWciCnBvb2xBc3NldHMiGmdldEludGVybmFsQXNzZXRJZE9yQ3JlYXRlIgphc3NldElkU3RyIgtpbmNyZW1lbnRvciIPaW50ZXJuYWxBc3NldElkIhhjdXJyZW50SW5kZXhPZkludGVybmFsSWQiBnJlc3VsdCISbmV3SW50ZXJuYWxBc3NldElkIgltdXN0QWRtaW4iCGFkbWluUEtzIglpc01hbmFnZXIiFmludE9yRGVmYXVsdE9yRmFsbGJhY2siCmtleURlZmF1bHQiDXZhbHVlRmFsbGJhY2siEnBvb2xFeGlzdHNJbnRlcm5hbCIEYW1BcyIEcHJBcyIDY2ZnIgpjZmdSZXZlcnNlIgZleGlzdHMiBmFzc2V0MSIGYXNzZXQyIglhc3NldE51bTEiCWFzc2V0TnVtMiICZWUiA3JlcyICbHAiD3N0YWtpbmdDb250cmFjdCIQYm9vc3RpbmdDb250cmFjdCIQc2xwaXBhZ2VDb250cmFjdCINcHJpY2VEZWNpbWFscyILY2hlY2tDYWxsZXIiEG1hdGhjaGVyUHViNThTdHIiCm1hdGhjZXJQdWIiFWxlZ2FjeUZhY3RvcnlDb250cmFjdCILbGVnYWN5UG9vbHMiE2Fzc2V0c1N0b3JlQ29udHJhY3QiFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QiC3ByaWNlQXNzZXRzIgVjaGVrcyIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgxhZG1pblB1YktleXMiC2xwQXNzZXROYW1lIgxscEFzc2V0RGVzY3IiCnBvb2xXZWlnaHQiBGxvZ28iF2ludGVybmFsQW1vdW50QXNzZXREYXRhIhVpbnRlcm5hbEFtb3VudEFzc2V0SWQiFmludGVybmFsUHJpY2VBc3NldERhdGEiFGludGVybmFsUHJpY2VBc3NldElkIhVwb29sQWNjb3VudFNjcmlwdEhhc2giHGV0aGFsb25Qb29sQWNjb3VudFNjcmlwdEhhc2giCnBvb2xFeGlzdHMiD3Bvb2xDb25maWdWYWx1ZSIUYW1vdW50QXNzZXRzRGVjaW1hbHMiE3ByaWNlQXNzZXRzRGVjaW1hbHMiEmxwQXNzZXRJc3N1ZUFjdGlvbiIMbHBBc3NldElkU3RyIhhwb29sQWN0aXZhdGVJbnZva2VSZXN1bHQiGGNyZWF0ZU9yVXBkYXRlTHBBc3NldEludiISYWRkUG9vbHNMcExhYmVsSW52IgpzZXRMb2dvSW52IhBhZGRBc3NldHNMaW5rSW52IhtpbmNyZWFzZUFzc2V0UG9vbHNOdW1iZXJJbnYiCW5ld1N0YXR1cyIKcG9vbENvbmZpZyIKbHBBc3NldERjbSIMYW1vdW50VG9FbWl0IgZjYWxsZXIiDG9yaWdpbkNhbGxlciIQbHBBc3NldFJlcXVlc3RlZCIHbHBBc3NldCIMYW1vdW50VG9CdXJuIgdwYXltZW50Ig1wYXltZW50QW1vdW50Ig9pbkFtb3VudEFzc2V0SWQiGmxwQXNzZXRSZXF1ZXN0ZWRGb3JCdXJuaW5nIgVzaGFyZSINcG9vbFdlaWdodEtleSIMZ3d4V2VpZ2h0S2V5Iglnd3hXZWlnaHQiDXBvb2xXZWlnaHROZXciEW9uTW9kaWZ5V2VpZ2h0SW52IhVnd3hWaXJ0dWFsUG9vbEFjdGlvbnMiFHBvb2xXZWlnaHRIaXN0b3J5S2V5Ihdwb29sV2VpZ2h0SGlzdG9yeU9yVW5pdCIYcG9vbFdlaWdodEhpc3RvcnlBY3Rpb25zIg5idGNQb29sQWRkcmVzcyIOZXRoUG9vbEFkZHJlc3MiEWV0aEJ0Y1Bvb2xBZGRyZXNzIhN1c2RjVXNkdFBvb2xBZGRyZXNzIg9ldGhCdGNXZWlnaHROZXciEXVzZGNVc2R0V2VpZ2h0TmV3Ig93ZWlnaHREZWNyZW1lbnQiC3N0YWtpbmdEYXBwIg1nd3hSZXdhcmREYXBwIgxidGNXZWlnaHRLRVkiDGV0aFdlaWdodEtFWSIPZXRoQnRjV2VpZ2h0S0VZIhF1c2RjVXNkdFdlaWdodEtFWSIJYnRjV2VpZ2h0IglldGhXZWlnaHQiDGJ0Y1dlaWdodE5ldyIMZXRoV2VpZ2h0TmV3Ig9idGNMcEFzc2V0SWRTdHIiD2V0aExwQXNzZXRJZFN0ciISZXRoQnRjTHBBc3NldElkU3RyIhR1c2RjVXNkdExwQXNzZXRJZFN0ciIRb25Nb2RpZnlXZWlnaHRCdGMiEW9uTW9kaWZ5V2VpZ2h0RXRoIhRvbk1vZGlmeVdlaWdodEV0aEJ0YyIWb25Nb2RpZnlXZWlnaHRVc2RjVXNkdCIJaGF2ZUxhYmVsIgFiIgdhc3NldElkIhRjaGVja1ByaWNlQXNzZXRzU2l6ZSICY2IiA2FjYyIKcHJpY2VBc3NldCIBciIHYWN0aW9ucyICJGwiAiRzIgUkYWNjMCIFJGYwXzEiAiRhIgIkaSIFJGYwXzIiHnBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIiYWxsUG9vbHNPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIDZmVlIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXlnAAFhAAgAAWIAgMLXLwABYwASAAFkCQC2AgEAgICQu7rWrfANAAFlBQFiAAFmAg5HV1h2aXJ0dWFsUE9PTAABZwIIUE9PTFNfTFAAAWgAgIl6AAFpCQBoAgkAaAIAZADoBwDoBwABagICX18AAWsCAAABbAABAAFtAAIAAW4AAwABbwAEAAFwAAEAAXEAAgABcgADAAFzAAEAAXQAAgABdQADAAF2AAQAAXcABQABeAAGAAF5AAcAAXoACAABQQAJAAFCAAoAAUMACwABRAILV1hfRU1JU1NJT04AAUUJAMwIAgUBRAUDbmlsAQFGAAIXJXNfX2FsbG93ZWRMcFNjcmlwdEhhc2gBAUcAAh0lc19fYWxsb3dlZExwU3RhYmxlU2NyaXB0SGFzaAEBSAACIiVzX19hbGxvd2VkTHBTdGFibGVBZGRvblNjcmlwdEhhc2gBAUkAAhAlc19fc3dhcENvbnRyYWN0AQFKAAIRJXNfX2ZhY3RvcnlDb25maWcBAUsAAhAlc19fbHBUb2tlbnNMaXN0AQFMAAIWJXMlc19fcG9vbF9fc2NyaXB0SGFzaAEBTQACGCVzJXNfX21hdGNoZXJfX3B1YmxpY0tleQEBTgACGSVzX19sZWdhY3lGYWN0b3J5Q29udHJhY3QBAU8AAg8lc19fbGVnYWN5UG9vbHMBAVAAAhQlc19fbWFuYWdlclB1YmxpY0tleQEBUQACGyVzX19wZW5kaW5nTWFuYWdlclB1YmxpY0tleQEBUgACECVzX19hZG1pblB1YktleXMBAVMAAhclc19fYXNzZXRzU3RvcmVDb250cmFjdAEBVAACGiVzX192b3RpbmdFbWlzc2lvbkNvbnRyYWN0AQFVAAkAuQkCCQDMCAICAiVzCQDMCAICC3ByaWNlQXNzZXRzBQNuaWwFAWoBAVYAAhElc19fcHJpY2VEZWNpbWFscwEBVwACDCVzX19zaHV0ZG93bgEBWAACFyVzX19uZXh0SW50ZXJuYWxBc3NldElkAQFZAQFaCQCsAgICEiVzJXNfX3Bvb2xXZWlnaHRfXwUBWgECYWECAVoCYWIJAKwCAgkArAICCQCsAgICEiVzJXNfX3Bvb2xXZWlnaHRfXwUBWgICX18JAKQDAQUCYWIBAmFjAQJhZAkArAICAiglcyVzJWRfX21hcHBpbmdzX19pbnRlcm5hbDJiYXNlQXNzZXRJZF9fCQCkAwEFAmFkAQJhZQECYWYJAKwCAgIoJXMlcyVzX19tYXBwaW5nc19fYmFzZUFzc2V0MmludGVybmFsSWRfXwUCYWYBAmFnAgJhaAJhaQkArAICCQCsAgIJAKwCAgkArAICAgglZCVkJXNfXwUCYWgCAl9fBQJhaQIIX19jb25maWcBAmFqAQJhawQCYWwFAmFrBAJhaAgFAmFsAl8xBAJhaQgFAmFsAl8yCQC5CQIJAMwIAgIGJWQlZCVzCQDMCAIJAKQDAQUCYWgJAMwIAgkApAMBBQJhaQkAzAgCAhpvbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAUDbmlsBQFqAQJhbQAJALkJAgkAzAgCAgIlcwkAzAgCAhpvbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAUDbmlsBQFqAQJhbgECYW8JAKwCAgkArAICAgglcyVzJXNfXwUCYW8CGF9fbWFwcGluZ3NfX2xwQXNzZXQyUG9vbAECYXACAmFxAmFyCQCsAgIJAKwCAgkArAICCQCsAgICCiVkJWQlcyVzX18FAmFxAgJfXwUCYXICHl9fbWFwcGluZ3NfX1Bvb2xBc3NldHMyTHBBc3NldAECYXMBAVoJAKwCAgIOJXMlc19fc3ByZWFkX18FAVoBAmF0AQJhdQkArAICCQCsAgICCCVzJXMlc19fBQJhdQIjX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MlBvb2xBc3NldHMBAmF2AgJhcQJhcgkArAICCQCsAgIJAKwCAgkArAICAgolZCVkJXMlc19fCQCkAwEFAmFxAgJfXwkApAMBBQJhcgIjX19tYXBwaW5nc19fcG9vbEFzc2V0czJQb29sQ29udHJhY3QBAmF3AQJhdQkArAICCQCsAgICCCVzJXMlc19fBQJhdQIgX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MkxwQXNzZXQBAmF4AQJhbwkArAICCQCsAgICCCVzJXMlc19fBQJhbwIgX19tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QBAmF5AgJhegJhQQkArAICCQCsAgIJAKwCAgIUJXMlcyVzX193eEVtaXNzaW9uX18FAmF6AgJfXwUCYUEBAmFCAQFaCQCsAgICDSVzJXNfX2luRmVlX18FAVoBAmFDAAIQJXNfX2luRmVlRGVmYXVsdAECYUQBAVoJAKwCAgIOJXMlc19fb3V0RmVlX18FAVoBAmFFAAIRJXNfX291dEZlZURlZmF1bHQBAmFGAQJhRwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMFAmFHCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYUcBAmFIAQJhRwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCbCAIFBHRoaXMFAmFHCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYUcBAmFJAQJhRwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFBHRoaXMFAmFHCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYUcAAmFKAAEAAmFLAAIAAmFMAAMAAmFNAAQAAmFOAAUAAmFPAAYAAmFQAAcAAmFRAAgAAmFSAAkAAmFTAAoAAmFUAAsBAmFVAQJhVgkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJhVgUCYUsBAmFXAQJhVgkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJhVgUCYU4BAmFYAQJhVgkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJhVgUCYUoBAmFZAQJhVgkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJhVgUCYVMBAmFaAAQCYmEJAKIIAQkBAVUAAwkAAQIFAmJhAgZTdHJpbmcEAmJiBQJiYQMJAAACCQCxAgEFAmJiAAAFA25pbAkAtQkCBQJiYgUBagUDbmlsAQJiYwAEAmJhCQCiCAEJAQFQAAMJAAECBQJiYQIGU3RyaW5nBAJiYgUCYmEJANkEAQUCYmIDCQABAgUCYmECBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgECYmQABAJiYQkAoggBCQEBUQADCQABAgUCYmECBlN0cmluZwQCYmIFAmJhCQDZBAEFAmJiAwkAAQIFAmJhAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAAmJlCQACAQIRUGVybWlzc2lvbiBkZW5pZWQAAmJmCQACAQIPVGVzdCBlcnJvciBoZXJlAQJiZwECYmgDCQAAAggFAmJoBmNhbGxlcgUEdGhpcwYFAmJlAQJiaQECYmgEAmJhCQECYmMAAwkAAQIFAmJhAgpCeXRlVmVjdG9yBAJiagUCYmEDCQAAAggFAmJoD2NhbGxlclB1YmxpY0tleQUCYmoGBQJiZQMJAAECBQJiYQIEVW5pdAkBAmJnAQUCYmgJAAIBAgtNYXRjaCBlcnJvcgECYmsLAmJsAmJtAmJuAmJvAmJwAmJxAmJyAmJzAmJ0AmJ1AmJ2CQC5CQIJAMwIAgIWJXMlcyVzJXMlcyVzJXMlcyVzJXMlcwkAzAgCBQJibAkAzAgCBQJibQkAzAgCBQJibgkAzAgCBQJibwkAzAgCBQJicAkAzAgCBQJicQkAzAgCBQJicgkAzAgCBQJicwkAzAgCBQJidAkAzAgCBQJidQkAzAgCBQJidgUDbmlsBQFqAQJidwcCYmwCYm0CYm4CYm8CYnACYnECYnIJALkJAgkAzAgCAgwlcyVzJXMlcyVzJXMJAMwIAgUCYmwJAMwIAgUCYm0JAMwIAgUCYm4JAMwIAgUCYm8JAMwIAgUCYnAJAMwIAgUCYnEJAMwIAgUCYnIFA25pbAUBagECYngLAVoCYnkCYnoCYkECYkICYkMCYkQCYkUCYkYCYkcCYkgJALkJAgkAzAgCAhYlcyVkJXMlcyVzJWQlZCVkJWQlZCVzCQDMCAIFAVoJAMwIAgUCYnkJAMwIAgUCYnoJAMwIAgUCYkEJAMwIAgUCYkIJAMwIAgkApAMBBQJiQwkAzAgCCQCkAwEFAmJECQDMCAIJAKQDAQUCYkUJAMwIAgkApAMBBQJiRgkAzAgCCQCkAwEFAmJHCQDMCAIFAmJIBQNuaWwFAWoBAmJJAgJiSgJiSwkAuQkCCQDMCAICBCVkJWQJAMwIAgkApAMBBQJiSgkAzAgCCQCkAwEFAmJLBQNuaWwFAWoBAmJMAQFaBAJiTQkAtQkCCQECYUYBCQECYXQBBQFaBQFqBAJhaAkAkQMCBQJiTQABBAJhaQkAkQMCBQJiTQACCQC1CQIJAQJhRgEJAQJhZwIFAmFoBQJhaQUBagECYk4CAmJPAmJQBAJiUQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYWUBBQJiTwAABAJiUgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEBWAAAAAQCYlMDCQAAAgUCYlEAAAQCYlQJAGQCBQJiUgUCYlAJAJUKAwUCYlQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFYAAUCYlQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhZQEFAmJPBQJiVAkAzAgCCQELU3RyaW5nRW50cnkCCQECYWMBBQJiVAUCYk8FA25pbAYJAJUKAwUCYlEFA25pbAcFAmJTAQJiVQECYmgEAmJWCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAKIIAQkBAVIABQFrBQFqAwkBD2NvbnRhaW5zRWxlbWVudAIFAmJWCQDYBAEIBQJiaA9jYWxsZXJQdWJsaWNLZXkGBAJiVwkBAmJpAQUCYmgDCQAAAgUCYlcFAmJXBgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECYlgDAmFHAmJZAmJaCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmFHCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmJZBQJiWgECY2ECAmF6AmFBBAJhaAkAnwgBCQECYWUBBQJhegQCYWkJAJ8IAQkBAmFlAQUCYUEDAwkAAAIFAmFoBQR1bml0BgkAAAIFAmFpBQR1bml0BwQCY2IJAKQDAQkBBXZhbHVlAQUCYWgEAmNjCQCkAwEJAQV2YWx1ZQEFAmFpBAJjZAkAoggBCQECYWcCBQJjYgUCY2MEAmNlCQCiCAEJAQJhZwIFAmNjBQJjYgQCY2YDCQECIT0CBQJjZAUEdW5pdAYJAQIhPQIFAmNlBQR1bml0BQJjZhwCYmgBF2dldFN3YXBDb250cmFjdFJFQURPTkxZAAkAlAoCBQNuaWwJAQJhRgEJAQFJAAJiaAEgZ2V0THBBc3NldEZyb21Qb29sQXNzZXRzUkVBRE9OTFkCAmNnAmNoAwMJAAACBQJjZwIsOExRVzhmN1A1ZDVQWk03R3RaRUJnYXFSUEdTelMzRGZQdWlYclVSSjRBSlMJAAACBQJjaAIFV0FWRVMHCQCUCgIFA25pbAUEdW5pdAQCY2kJAQV2YWx1ZQEJAJoIAgUEdGhpcwkBAmFlAQUCY2cEAmNqCQEFdmFsdWUBCQCaCAIFBHRoaXMJAQJhZQEFAmNoBAJjawkAnQgCBQR0aGlzCQECYXACCQCkAwEFAmNpCQCkAwEFAmNqBAJjbAMJAAACBQJjawUEdW5pdAUEdW5pdAkAsAICCQEFdmFsdWUBBQJjawAECQCUCgIFA25pbAUCY2wCYmgBIWdldFBvb2xBZGRyZXNzRnJvbUxwQXNzZXRSRUFET05MWQECY20JAJQKAgUDbmlsCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQJheAEFAmNtAgACYmgBC2NvbnN0cnVjdG9yCAJjbgJjbwJibgJibwJicAJicQJjcAJjcQQCY3IJAQJiaQEFAmJoAwkAAAIFAmNyBQJjcgkAzAgCCQELU3RyaW5nRW50cnkCCQEBSgAJAQJidwcFAmNuBQJjbwUCYm4FAmJvBQJicAUCYnEFAmNwCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBVgAFAmNxBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmgBDWNvbnN0cnVjdG9yVjIBAmNzBAJjcgkBAmJpAQUCYmgDCQAAAgUCY3IFAmNyBAJjdAkApwgBCQDZBAEFAmNzAwkAAAIFAmN0BQJjdAkAzAgCCQELU3RyaW5nRW50cnkCCQEBTQAFAmNzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmgBDWNvbnN0cnVjdG9yVjMEAmJzAmJ0AmJ1AmJ2BAJjcgkBAmJpAQUCYmgDCQAAAgUCY3IFAmNyBAJhVgkAtQkCCQECYUYBCQEBSgAFAWoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUoACQECYmsLCQCRAwIFAmFWAAEJAJEDAgUCYVYAAgkAkQMCBQJhVgADCQCRAwIFAmFWAAQJAJEDAgUCYVYABQkAkQMCBQJhVgAGCQCRAwIFAmFWAAcFAmJzBQJidAUCYnUFAmJ2BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmgBDWNvbnN0cnVjdG9yVjQCAmN1AmN2BAJjcgkBAmJpAQUCYmgDCQAAAgUCY3IFAmNyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFOAAUCY3UJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAU8ACQC5CQIFAmN2BQFqBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmgBDWNvbnN0cnVjdG9yVjUBAmN3BAJjcgkBAmJpAQUCYmgDCQAAAgUCY3IFAmNyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFTAAUCY3cFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiaAENY29uc3RydWN0b3JWNgICY3gCY3kEAmN6CQDMCAIJAQJiaQEFAmJoCQDMCAIDCQECIT0CCQCmCAEFAmN4BQR1bml0BgIoaW52YWxpZCB2b3RpbmcgZW1pc3Npb24gY29udHJhY3QgYWRkcmVzcwUDbmlsAwkAAAIFAmN6BQJjegkAzAgCCQELU3RyaW5nRW50cnkCCQEBVAAFAmN4CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFVAAkAuQkCBQJjeQUBagUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJoAQpzZXRNYW5hZ2VyAQJjQQQCY3IJAQJiaQEFAmJoAwkAAAIFAmNyBQJjcgQCY0IJANkEAQUCY0EDCQAAAgUCY0IFAmNCCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFRAAUCY0EFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiaAEOY29uZmlybU1hbmFnZXIABAJjQwkBAmJkAAQCY0QDCQEJaXNEZWZpbmVkAQUCY0MGCQACAQISTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmNEBQJjRAQCY0UDCQAAAggFAmJoD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCY0MGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmNFBQJjRQkAzAgCCQELU3RyaW5nRW50cnkCCQEBUAAJANgEAQkBBXZhbHVlAQUCY0MJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAVEABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmgBCXNldEFkbWlucwECY0YEAmNyCQECYmkBBQJiaAMJAAACBQJjcgUCY3IJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVIACQC5CQIFAmNGBQFqBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmgBD2FjdGl2YXRlTmV3UG9vbAgBWgJiQQJiQgJjRwJjSAJjSQJiSAJjSgQCY3IJAQJiVQEFAmJoAwkAAAIFAmNyBQJjcgMJAQlpc0RlZmluZWQBCQCiCAEJAQJhdAEFAVoJAAIBCQCsAgIJAKwCAgINUG9vbCBhZGRyZXNzIAUBWgIUIGFscmVhZHkgcmVnaXN0ZXJlZC4EAmNLCQECYk4CBQJiQQABBAJjTAgFAmNLAl8xBAJjTQkBAmJOAgUCYkIDCAUCY0sCXzMAAgABBAJjTggFAmNNAl8xBAJjTwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDxBwEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAVoJAKwCAgIpTm8gc2NyaXB0IGhhcyBiZWVuIGZvdW5kIG9uIHBvb2wgYWNjb3VudCAFAVoEAmNQCQERQGV4dHJOYXRpdmUoMTA1NykBCQEBTAAEAmNRCQECY2ECBQJiQQUCYkIDBQJjUQkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgIFUG9vbCAFAmJBAgEvBQJiQgIcIGhhcyBhbHJlYWR5IGJlZW4gYWN0aXZhdGVkLgQCY1IJAQV2YWx1ZQEJAJ0IAgUEdGhpcwkBAmFnAgkApAMBBQJjTAkApAMBBQJjTgQCY1MDCQAAAgUCYkECBVdBVkVTBQFpCQBsBgAKAAAICQEFdmFsdWUBCQDsBwEJANkEAQUCYkEIZGVjaW1hbHMAAAAABQRET1dOBAJjVAMJAAACBQJiQgIFV0FWRVMFAWkJAGwGAAoAAAgJAQV2YWx1ZQEJAOwHAQkA2QQBBQJiQghkZWNpbWFscwAAAAAFBERPV04EAmNVCQDCCAUFAmNHBQJjSAABAAgGBAJiegkAuAgBBQJjVQQCY1YJANgEAQUCYnoEAmNXCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAVoCCGFjdGl2YXRlCQDMCAIFAmJBCQDMCAIFAmJCBQNuaWwFA25pbAMJAAACBQJjVwUCY1cDCQECIT0CBQJjVwIHc3VjY2VzcwkAAgECI1Bvb2wgaW5pdGlhbGlzYXRpb24gZXJyb3IgaGFwcGVuZWQuBAJjdwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAmFGAQkBAVMABAJjWAkA/AcEBQJjdwIOY3JlYXRlT3JVcGRhdGUJAMwIAgUCY1YJAMwIAgUCY0cJAMwIAgcFA25pbAUDbmlsAwkAAAIFAmNYBQJjWAQCY1kJAPwHBAUCY3cCCGFkZExhYmVsCQDMCAIFAmNWCQDMCAIFAWcFA25pbAUDbmlsAwkAAAIFAmNZBQJjWQQCY1oJAPwHBAUCY3cCB3NldExvZ28JAMwIAgUCY1YJAMwIAgUCY0oFA25pbAUDbmlsAwkAAAIFAmNaBQJjWgQCZGEJAPwHBAUCY3cCDWFkZEFzc2V0c0xpbmsJAMwIAgUCYkEJAMwIAgUCYkIJAMwIAgUCY1YFA25pbAUDbmlsAwkAAAIFAmRhBQJkYQQCZGIJAPwHBAUCY3cCGGluY3JlYXNlQXNzZXRQb29sc051bWJlcgkAzAgCBQJiQQUDbmlsBQNuaWwDCQAAAgUCZGIFAmRiCQCUCgIJAM4IAgkAzggCCAUCY0sCXzIIBQJjTQJfMgkAzAgCBQJjVQkAzAgCCQEEQnVybgIFAmJ6AAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFnAgkApAMBBQJjTAkApAMBBQJjTgkBAmJ4CwUBWgkApAMBBQFsBQJjVgUCYkEFAmJCBQJjUwUCY1QFAmNMBQJjTgUBaQUCYkgJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFuAQUCY1YJAQJiSQIFAmNMBQJjTgkAzAgCCQELU3RyaW5nRW50cnkCCQECYXACCQCkAwEFAmNMCQCkAwEFAmNOCQCsAgICBCVzX18FAmNWCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdAEFAVoJAQJiSQIFAmNMBQJjTgkAzAgCCQELU3RyaW5nRW50cnkCCQECYXYCBQJjTAUCY04FAVoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF4AQUCY1YFAVoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF3AQUBWgUCY1YJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFZAQUBWgUCY0kJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhcwEFAVoFAWgFA25pbAUCY1YJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmgBCm1hbmFnZVBvb2wCAVoCZGMEAmNyCQECYmkBBQJiaAMJAAACBQJjcgUCY3IEAmRkCQECYkwBBQFaBAJieQkAkQMCBQJkZAUBdAQCY1YJAJEDAgUCZGQFAXUEAmJBCQCRAwIFAmRkBQF2BAJiQgkAkQMCBQJkZAUBdwQCY1MJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkZAUBeAQCY1QJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkZAUBeQQCY0wJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkZAUBegQCY04JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkZAUBQQQCZGUJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkZAUBQgQCYkgJAJEDAgUCZGQFAUMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFnAgkApAMBBQJjTAkApAMBBQJjTgkBAmJ4CwUBWgkApAMBBQJkYwUCY1YFAmJBBQJiQgUCY1MFAmNUBQJjTAUCY04FAmRlBQJiSAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJoAQRlbWl0AQJkZgQCZGcIBQJiaAZjYWxsZXIEAmRoCAUCYmgMb3JpZ2luQ2FsbGVyBAJkaQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJAQJhdwEJAKUIAQUCZGcCHUludmFsaWQgTFAgYWRkcmVzcyBjYWxsZWQgbWUuBAJkagkA2QQBBQJkaQQCY3YJALUJAgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEBTwAFAWsFAWoEAmN1CQERQGV4dHJOYXRpdmUoMTA2MikBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAU4AAihMZWdhY3kgZmFjdG9yeSBjb250cmFjdCBkb2VzIG5vdCBleGlzdHMuAwkAZwIAAAUCZGYFA25pbAMJAQ9jb250YWluc0VsZW1lbnQCBQJjdgkApQgBBQJkZwkAlAoCBQNuaWwFAmN1CQCUCgIJAMwIAgkBB1JlaXNzdWUDBQJkagUCZGYGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQJiaAZjYWxsZXIFAmRmBQJkagUDbmlsAgdzdWNjZXNzAmJoAQRidXJuAQJkawQCZGcIBQJiaAZjYWxsZXIEAmRoCAUCYmgMb3JpZ2luQ2FsbGVyBAJkbAkBBXZhbHVlAQkAkQMCCAUCYmgIcGF5bWVudHMAAAQCZG0JAQV2YWx1ZQEIBQJkbAZhbW91bnQEAmRuCQDYBAEJAQV2YWx1ZQEIBQJkbAdhc3NldElkBAJkbwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJAQJhdwEJAKUIAQUCZGcCHUludmFsaWQgTFAgYWRkcmVzcyBjYWxsZWQgbWUuAwkBAiE9AgUCZG4FAmRvCQACAQIVSW52YWxpZCBhc3NldCBwYXNzZWQuAwkBAiE9AgUCZGsFAmRtCQACAQIWSW52YWxpZCBhbW91bnQgcGFzc2VkLgQCZGoJANkEAQUCZG8JAJQKAgkAzAgCCQEEQnVybgIFAmRqBQJkawUDbmlsAgdzdWNjZXNzAmJoAQxtb2RpZnlXZWlnaHQCAmJ6AmRwBAJjcgMJAAACCQDYBAEICAUCYmgGY2FsbGVyBWJ5dGVzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQFUAAIABgkBAmJpAQUCYmgDCQAAAgUCY3IFAmNyBAJhdQkBAmFGAQkBAmF4AQUCYnoEAmRxCQEBWQEFAmF1BAJkcgkBAVkBBQFmBAJkcwkBC3ZhbHVlT3JFbHNlAgkAnwgBBQJkcgAABAJjSQkBC3ZhbHVlT3JFbHNlAgkAnwgBBQJkcQAABAJkdAUCZHAEAmFWCQC1CQIJAQJhRgEJAQFKAAUBagQCY24JAQJhWAEFAmFWBAJkdQkA/AcEBQJjbgIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCYnoJAMwIAgUCYXUFA25pbAUDbmlsAwkAAAIFAmR1BQJkdQQCZHYDCQAAAgUCZHMAAAUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJkcgAABQNuaWwEAmR3CQECYWECBQJhdQAABAJkeAkAnwgBBQJkdwQCZHkDCQAAAgUCZHgFBHVuaXQFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQJkdwUDbmlsCQDOCAIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZHEFAmR0BQNuaWwFAmR2BQJkeQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiaAENbW9kaWZ5V2VpZ2h0cwQCZHoCZEECZEICZEMEAmNyCQECYmkBBQJiaAMJAAACBQJjcgUCY3IEAmRECQBpAgkAaAIABQUBZQBkBAJkRQkAaQIJAGgCAAUFAWUAZAQCZEYJAGkCCQBoAgAFBQFlAGQEAmFWCQC1CQIJAQJhRgEJAQFKAAUBagQCZEcJAQJhWAEFAmFWBAJkSAkBAmFZAQUCYVYEAmRJCQEBWQEFAmR6BAJkSgkBAVkBBQJkQQQCZEsJAQFZAQUCZEIEAmRMCQEBWQEFAmRDBAJkTQkBAmFJAQUCZEkEAmROCQECYUkBBQJkSgQCZE8JAGUCBQJkTQUCZEYEAmRQCQBlAgUCZE4FAmRGAwkAZwIAAAUCZE8JAAIBCQCsAgICFmludmFsaWQgYnRjV2VpZ2h0TmV3OiAJAKQDAQUCZE8DCQBnAgAABQJkUAkAAgEJAKwCAgIWaW52YWxpZCBldGhXZWlnaHROZXc6IAkApAMBBQJkUAQCZFEJAQJhRgEJAQJhdwEFAmR6BAJkUgkBAmFGAQkBAmF3AQUCZEEEAmRTCQECYUYBCQECYXcBBQJkQgQCZFQJAQJhRgEJAQJhdwEFAmRDBAJkVQkA/AcEBQJkRwIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZFEJAMwIAgUCZHoFA25pbAUDbmlsAwkAAAIFAmRVBQJkVQQCZFYJAPwHBAUCZEcCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmRSCQDMCAIFAmRBBQNuaWwFA25pbAMJAAACBQJkVgUCZFYEAmRXCQD8BwQFAmRHAg5vbk1vZGlmeVdlaWdodAkAzAgCBQJkUwkAzAgCBQJkQgUDbmlsBQNuaWwDCQAAAgUCZFcFAmRXBAJkWAkA/AcEBQJkRwIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZFQJAMwIAgUCZEMFA25pbAUDbmlsAwkAAAIFAmRYBQJkWAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZEkFAmRPCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJkSgUCZFAJAMwIAgkBDEludGVnZXJFbnRyeQIFAmRLBQJkRAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZEwFAmRFCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWECBQJkegAABQJkTQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFhAgUCZEEAAAUCZE4JAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhYQIFAmRCAAAFAmRECQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWECBQJkQwAABQJkRQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJoARhjaGVja1d4RW1pc3Npb25Qb29sTGFiZWwCAmF6AmFBBAJkWQQCYmEJAKAIAQkBAmF5AgUCYXoFAmFBAwkAAQIFAmJhAgdCb29sZWFuBAJkWgUCYmEFAmRaBwkAlAoCBQNuaWwFAmRZAmJoARZzZXRXeEVtaXNzaW9uUG9vbExhYmVsAgJhegJhQQQCY3IJAQJiVQEFAmJoAwkAAAIFAmNyBQJjcgkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCCQECYXkCBQJhegUCYUEGBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmgBGWRlbGV0ZVd4RW1pc3Npb25Qb29sTGFiZWwCAmF6AmFBBAJjcgMJAQJiZwEFAmJoBgkBAmJVAQUCYmgDCQAAAgUCY3IFAmNyCQCUCgIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF5AgUCYXoFAmFBBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmgBEm9uVmVyaWZpY2F0aW9uTG9zcwECZWEEAmNyAwkAAAIJANgEAQgIBQJiaAZjYWxsZXIFYnl0ZXMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAVMAAgAGCQECYmkBBQJiaAMJAAACBQJjcgUCY3IEAmN5CQECYVoABAJlYgMJAGYCCQCQAwEFAmN5AAAGCQACAQIUaW52YWxpZCBwcmljZSBhc3NldHMDCQAAAgUCZWIFAmViCgECZWMCAmVkAmVlBAJlZgkA/AcEBQR0aGlzAhlkZWxldGVXeEVtaXNzaW9uUG9vbExhYmVsCQDMCAIFAmVhCQDMCAIFAmVlBQNuaWwFA25pbAMJAAACBQJlZgUCZWYFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EAmVnCgACZWgFAmN5CgACZWkJAJADAQUCZWgKAAJlagUEdW5pdAoBAmVrAgJlbAJlbQMJAGcCBQJlbQUCZWkFAmVsCQECZWMCBQJlbAkAkQMCBQJlaAUCZW0KAQJlbgICZWwCZW0DCQBnAgUCZW0FAmVpBQJlbAkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDEJAQJlbgIJAQJlawIFAmVqAAAAAQMJAAACBQJlZwUCZWcJAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJoAShpc1Bvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZFJFQURPTkxZAQFaBAJkZAkBAmJMAQUBWgQCYWsJAJQKAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRkBQF6CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZGQFAUEEAmVvCQELdmFsdWVPckVsc2UCCQCgCAEJAQJhagEFAmFrBwQCZXAJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBAmFtAAcJAJQKAgUDbmlsAwUCZXAGBQJlbwJiaAEQZ2V0SW5GZWVSRUFET05MWQEBWgQCZXEJAQJiWAMJAQJhQgEFAVoJAQJhQwAAAAkAlAoCBQNuaWwFAmVxAmJoARFnZXRPdXRGZWVSRUFET05MWQEBWgQCZXEJAQJiWAMJAQJhRAEFAVoJAQJhRQAJAGsDAAoFAWIAkE4JAJQKAgUDbmlsBQJlcQJiaAEVZ2V0UG9vbFN0YXR1c1JFQURPTkxZAQFaBAJiTQkAtQkCCQECYUYBCQECYXQBBQFaBQFqBAJhaAkAkQMCBQJiTQABBAJhaQkAkQMCBQJiTQACBAJjZAkAtQkCCQECYUYBCQECYWcCBQJhaAUCYWkFAWoJAJQKAgUDbmlsCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCY2QFAXQCYmgBGGdldFBvb2xDb25maWdCeUxwQXNzZXRJZAECY1YEAmJNCQC1CQIJAQJhRgEJAQJhbgEFAmNWBQFqBAJhaAkAkQMCBQJiTQABBAJhaQkAkQMCBQJiTQACBAJjZAkAtQkCCQECYUYBCQECYWcCBQJhaAUCYWkFAWoJAJQKAgUDbmlsBQJjZAJiaAEScG9vbEV4aXN0c1JFQURPTkxZAgJhegJhQQkAlAoCBQNuaWwJAQJjYQIFAmF6BQJhQQECZXIBAmVzAAQCZXQEAmJhCQECYmMAAwkAAQIFAmJhAgpCeXRlVmVjdG9yBAJiagUCYmEFAmJqAwkAAQIFAmJhAgRVbml0CAUCZXIPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmVyCWJvZHlCeXRlcwkAkQMCCAUCZXIGcHJvb2ZzAAAFAmV0DEWbsQ==", "height": 2477963, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7t3DWSiHNELu2EKBLVFGNYkXzezMEjifxMotYpz3LURi Next: CkSoCsiYYnhtupM1t4r6dcb317SFzbibSS8EG4J1LURW Diff:
OldNewDifferences
1717
1818 let h = 2000000
1919
20-let i = "WAVES"
20+let i = ((100 * 1000) * 1000)
2121
22-let j = ((100 * 1000) * 1000)
22+let j = "__"
2323
24-let k = "__"
24+let k = ""
2525
26-let l = ""
26+let l = 1
2727
28-let m = 1
28+let m = 2
2929
30-let n = 2
30+let n = 3
3131
32-let o = 3
32+let o = 4
3333
34-let p = 4
34+let p = 1
3535
36-let q = 1
36+let q = 2
3737
38-let r = 2
38+let r = 3
3939
40-let s = 3
40+let s = 1
4141
42-let t = 1
42+let t = 2
4343
44-let u = 2
44+let u = 3
4545
46-let v = 3
46+let v = 4
4747
48-let w = 4
48+let w = 5
4949
50-let x = 5
50+let x = 6
5151
52-let y = 6
52+let y = 7
5353
54-let z = 7
54+let z = 8
5555
56-let A = 8
56+let A = 9
5757
58-let B = 9
58+let B = 10
5959
60-let C = 10
60+let C = 11
6161
62-let D = 11
62+let D = "WX_EMISSION"
6363
64-let E = "WX_EMISSION"
64+let E = [D]
6565
66-let F = [E]
67-
68-func G () = "%s__allowedLpScriptHash"
66+func F () = "%s__allowedLpScriptHash"
6967
7068
71-func H () = "%s__allowedLpStableScriptHash"
69+func G () = "%s__allowedLpStableScriptHash"
7270
7371
74-func I () = "%s__allowedLpStableAddonScriptHash"
72+func H () = "%s__allowedLpStableAddonScriptHash"
7573
7674
77-func J () = "%s__swapContract"
75+func I () = "%s__swapContract"
7876
7977
80-func K () = "%s__factoryConfig"
78+func J () = "%s__factoryConfig"
8179
8280
83-func L () = "%s__lpTokensList"
81+func K () = "%s__lpTokensList"
8482
8583
86-func M () = "%s%s__pool__scriptHash"
84+func L () = "%s%s__pool__scriptHash"
8785
8886
89-func N () = "%s%s__matcher__publicKey"
87+func M () = "%s%s__matcher__publicKey"
9088
9189
92-func O () = "%s__legacyFactoryContract"
90+func N () = "%s__legacyFactoryContract"
9391
9492
95-func P () = "%s__legacyPools"
93+func O () = "%s__legacyPools"
9694
9795
98-func Q () = "%s__managerPublicKey"
96+func P () = "%s__managerPublicKey"
9997
10098
101-func R () = "%s__pendingManagerPublicKey"
99+func Q () = "%s__pendingManagerPublicKey"
102100
103101
104-func S () = "%s__adminPubKeys"
102+func R () = "%s__adminPubKeys"
105103
106104
107-func T () = "%s__assetsStoreContract"
105+func S () = "%s__assetsStoreContract"
108106
109107
110-func U () = "%s__votingEmissionContract"
108+func T () = "%s__votingEmissionContract"
111109
112110
113-func V () = makeString(["%s", "priceAssets"], k)
111+func U () = makeString(["%s", "priceAssets"], j)
114112
115113
116-func W () = "%s__priceDecimals"
114+func V () = "%s__priceDecimals"
117115
118116
119-func X () = "%s__shutdown"
117+func W () = "%s__shutdown"
120118
121119
122-func Y () = "%s__nextInternalAssetId"
120+func X () = "%s__nextInternalAssetId"
123121
124122
125-func Z (aa) = ("%s%s__poolWeight__" + aa)
123+func Y (Z) = ("%s%s__poolWeight__" + Z)
126124
127125
128-func ab (aa,ac) = ((("%s%s__poolWeight__" + aa) + "__") + toString(ac))
126+func aa (Z,ab) = ((("%s%s__poolWeight__" + Z) + "__") + toString(ab))
129127
130128
131-func ad (ae) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ae))
129+func ac (ad) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ad))
132130
133131
134-func af (ag) = ("%s%s%s__mappings__baseAsset2internalId__" + ag)
132+func ae (af) = ("%s%s%s__mappings__baseAsset2internalId__" + af)
135133
136134
137-func ah (ai,aj) = (((("%d%d%s__" + ai) + "__") + aj) + "__config")
135+func ag (ah,ai) = (((("%d%d%s__" + ah) + "__") + ai) + "__config")
138136
139137
140-func ak (al) = {
141- let am = al
142- let ai = am._1
143- let aj = am._2
144- makeString(["%d%d%s", toString(ai), toString(aj), "oneTokenOperationsDisabled"], k)
138+func aj (ak) = {
139+ let al = ak
140+ let ah = al._1
141+ let ai = al._2
142+ makeString(["%d%d%s", toString(ah), toString(ai), "oneTokenOperationsDisabled"], j)
145143 }
146144
147145
148-func an () = makeString(["%s", "oneTokenOperationsDisabled"], k)
146+func am () = makeString(["%s", "oneTokenOperationsDisabled"], j)
149147
150148
151-func ao (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2Pool")
149+func an (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2Pool")
152150
153151
154-func aq (ar,as) = (((("%d%d%s%s__" + ar) + "__") + as) + "__mappings__PoolAssets2LpAsset")
152+func ap (aq,ar) = (((("%d%d%s%s__" + aq) + "__") + ar) + "__mappings__PoolAssets2LpAsset")
155153
156154
157-func at (aa) = ("%s%s__spread__" + aa)
155+func as (Z) = ("%s%s__spread__" + Z)
158156
159157
160-func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2PoolAssets")
158+func at (au) = (("%s%s%s__" + au) + "__mappings__poolContract2PoolAssets")
161159
162160
163-func aw (ar,as) = (((("%d%d%s%s__" + toString(ar)) + "__") + toString(as)) + "__mappings__poolAssets2PoolContract")
161+func av (aq,ar) = (((("%d%d%s%s__" + toString(aq)) + "__") + toString(ar)) + "__mappings__poolAssets2PoolContract")
164162
165163
166-func ax (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
164+func aw (au) = (("%s%s%s__" + au) + "__mappings__poolContract2LpAsset")
167165
168166
169-func ay (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2PoolContract")
167+func ax (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2PoolContract")
170168
171169
172-func az (aA,aB) = ((("%s%s%s__wxEmission__" + aA) + "__") + aB)
170+func ay (az,aA) = ((("%s%s%s__wxEmission__" + az) + "__") + aA)
173171
174172
175-func aC (aa) = ("%s%s__inFee__" + aa)
173+func aB (Z) = ("%s%s__inFee__" + Z)
176174
177175
178-func aD () = "%s__inFeeDefault"
176+func aC () = "%s__inFeeDefault"
179177
180178
181-func aE (aa) = ("%s%s__outFee__" + aa)
179+func aD (Z) = ("%s%s__outFee__" + Z)
182180
183181
184-func aF () = "%s__outFeeDefault"
182+func aE () = "%s__outFeeDefault"
185183
186184
187-func aG (aH) = valueOrErrorMessage(getString(this, aH), ("No data for this.key=" + aH))
185+func aF (aG) = valueOrErrorMessage(getString(this, aG), ("No data for this.key=" + aG))
188186
189187
190-func aI (aH) = valueOrErrorMessage(getBoolean(this, aH), ("No data for this.key=" + aH))
188+func aH (aG) = valueOrErrorMessage(getBoolean(this, aG), ("No data for this.key=" + aG))
191189
192190
193-func aJ (aH) = valueOrErrorMessage(getInteger(this, aH), ("No data for this.key=" + aH))
191+func aI (aG) = valueOrErrorMessage(getInteger(this, aG), ("No data for this.key=" + aG))
194192
195193
196-func aK (aL) = if ((aL == i))
197- then unit
198- else fromBase58String(aL)
194+let aJ = 1
195+
196+let aK = 2
197+
198+let aL = 3
199+
200+let aM = 4
201+
202+let aN = 5
203+
204+let aO = 6
205+
206+let aP = 7
207+
208+let aQ = 8
209+
210+let aR = 9
211+
212+let aS = 10
213+
214+let aT = 11
215+
216+func aU (aV) = addressFromStringValue(aV[aK])
199217
200218
201-let aM = 1
202-
203-let aN = 2
204-
205-let aO = 3
206-
207-let aP = 4
208-
209-let aQ = 5
210-
211-let aR = 6
212-
213-let aS = 7
214-
215-let aT = 8
216-
217-let aU = 9
218-
219-let aV = 10
220-
221-let aW = 11
222-
223-func aX (aY) = addressFromStringValue(aY[aN])
219+func aW (aV) = addressFromStringValue(aV[aN])
224220
225221
226-func aZ (aY) = addressFromStringValue(aY[aQ])
222+func aX (aV) = addressFromStringValue(aV[aJ])
227223
228224
229-func ba (aY) = addressFromStringValue(aY[aM])
225+func aY (aV) = addressFromStringValue(aV[aS])
230226
231227
232-func bb (aY) = addressFromStringValue(aY[aV])
233-
234-
235-func bc () = {
236- let bd = getString(V())
237- if ($isInstanceOf(bd, "String"))
228+func aZ () = {
229+ let ba = getString(U())
230+ if ($isInstanceOf(ba, "String"))
238231 then {
239- let be = bd
240- if ((size(be) == 0))
232+ let bb = ba
233+ if ((size(bb) == 0))
241234 then nil
242- else split(be, k)
235+ else split(bb, j)
243236 }
244237 else nil
245238 }
246239
247240
248-func bf () = {
249- let bd = getString(Q())
250- if ($isInstanceOf(bd, "String"))
241+func bc () = {
242+ let ba = getString(P())
243+ if ($isInstanceOf(ba, "String"))
251244 then {
252- let be = bd
253- fromBase58String(be)
245+ let bb = ba
246+ fromBase58String(bb)
254247 }
255- else if ($isInstanceOf(bd, "Unit"))
248+ else if ($isInstanceOf(ba, "Unit"))
256249 then unit
257250 else throw("Match error")
258251 }
259252
260253
261-func bg () = {
262- let bd = getString(R())
263- if ($isInstanceOf(bd, "String"))
254+func bd () = {
255+ let ba = getString(Q())
256+ if ($isInstanceOf(ba, "String"))
264257 then {
265- let be = bd
266- fromBase58String(be)
258+ let bb = ba
259+ fromBase58String(bb)
267260 }
268- else if ($isInstanceOf(bd, "Unit"))
261+ else if ($isInstanceOf(ba, "Unit"))
269262 then unit
270263 else throw("Match error")
271264 }
272265
273266
274-let bh = throw("Permission denied")
267+let be = throw("Permission denied")
275268
276-let bi = throw("Test error here")
269+let bf = throw("Test error here")
277270
278-func bj (bk) = if ((bk.caller == this))
271+func bg (bh) = if ((bh.caller == this))
279272 then true
280- else bh
273+ else be
281274
282275
283-func bl (bk) = {
284- let bd = bf()
285- if ($isInstanceOf(bd, "ByteVector"))
276+func bi (bh) = {
277+ let ba = bc()
278+ if ($isInstanceOf(ba, "ByteVector"))
286279 then {
287- let bm = bd
288- if ((bk.callerPublicKey == bm))
280+ let bj = ba
281+ if ((bh.callerPublicKey == bj))
289282 then true
290- else bh
283+ else be
291284 }
292- else if ($isInstanceOf(bd, "Unit"))
293- then bj(bk)
285+ else if ($isInstanceOf(ba, "Unit"))
286+ then bg(bh)
294287 else throw("Match error")
295288 }
296289
297290
298-func bn (bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by], k)
291+func bk (bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv], j)
299292
300293
301-func bz (bo,bp,bq,br,bs,bt,bu) = makeString(["%s%s%s%s%s%s", bo, bp, bq, br, bs, bt, bu], k)
294+func bw (bl,bm,bn,bo,bp,bq,br) = makeString(["%s%s%s%s%s%s", bl, bm, bn, bo, bp, bq, br], j)
302295
303296
304-func bA (aa,bB,bC,bD,bE,bF,bG,bH,bI,bJ,bK) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", aa, bB, bC, bD, bE, toString(bF), toString(bG), toString(bH), toString(bI), toString(bJ), bK], k)
297+func bx (Z,by,bz,bA,bB,bC,bD,bE,bF,bG,bH) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", Z, by, bz, bA, bB, toString(bC), toString(bD), toString(bE), toString(bF), toString(bG), bH], j)
305298
306299
307-func bL (bM,bN) = makeString(["%d%d", toString(bM), toString(bN)], k)
300+func bI (bJ,bK) = makeString(["%d%d", toString(bJ), toString(bK)], j)
308301
309302
310-func bO (aa) = {
311- let bP = split(aG(au(aa)), k)
312- let ai = bP[1]
313- let aj = bP[2]
314- split(aG(ah(ai, aj)), k)
303+func bL (Z) = {
304+ let bM = split(aF(at(Z)), j)
305+ let ah = bM[1]
306+ let ai = bM[2]
307+ split(aF(ag(ah, ai)), j)
315308 }
316309
317310
318-func bQ (bR,bS) = {
319- let bT = valueOrElse(getInteger(this, af(bR)), 0)
320- let bU = valueOrElse(getInteger(this, Y()), 0)
321- let bV = if ((bT == 0))
311+func bN (bO,bP) = {
312+ let bQ = valueOrElse(getInteger(this, ae(bO)), 0)
313+ let bR = valueOrElse(getInteger(this, X()), 0)
314+ let bS = if ((bQ == 0))
322315 then {
323- let bW = (bU + bS)
324- $Tuple3(bW, [IntegerEntry(Y(), bW), IntegerEntry(af(bR), bW), StringEntry(ad(bW), bR)], true)
316+ let bT = (bR + bP)
317+ $Tuple3(bT, [IntegerEntry(X(), bT), IntegerEntry(ae(bO), bT), StringEntry(ac(bT), bO)], true)
325318 }
326- else $Tuple3(bT, nil, false)
327- bV
319+ else $Tuple3(bQ, nil, false)
320+ bS
328321 }
329322
330323
331-func bX (bk) = {
332- let bY = split(valueOrElse(getString(S()), l), k)
333- if (containsElement(bY, toBase58String(bk.callerPublicKey)))
324+func bU (bh) = {
325+ let bV = split(valueOrElse(getString(R()), k), j)
326+ if (containsElement(bV, toBase58String(bh.callerPublicKey)))
334327 then true
335328 else {
336- let bZ = bl(bk)
337- if ((bZ == bZ))
329+ let bW = bi(bh)
330+ if ((bW == bW))
338331 then true
339332 else throw("Strict value is not equal to itself.")
340333 }
341334 }
342335
343336
344-func ca (aH,cb,cc) = valueOrElse(getInteger(this, aH), valueOrElse(getInteger(this, cb), cc))
337+func bX (aG,bY,bZ) = valueOrElse(getInteger(this, aG), valueOrElse(getInteger(this, bY), bZ))
345338
346339
347-func cd (aA,aB) = {
348- let ai = getInteger(af(aA))
349- let aj = getInteger(af(aB))
350- if (if ((ai == unit))
340+func ca (az,aA) = {
341+ let ah = getInteger(ae(az))
342+ let ai = getInteger(ae(aA))
343+ if (if ((ah == unit))
351344 then true
352- else (aj == unit))
345+ else (ai == unit))
353346 then false
354347 else {
355- let ce = toString(value(ai))
356- let cf = toString(value(aj))
357- let cg = getString(ah(ce, cf))
358- let ch = getString(ah(cf, ce))
359- let ci = if ((cg != unit))
348+ let cb = toString(value(ah))
349+ let cc = toString(value(ai))
350+ let cd = getString(ag(cb, cc))
351+ let ce = getString(ag(cc, cb))
352+ let cf = if ((cd != unit))
360353 then true
361- else (ch != unit)
362- ci
354+ else (ce != unit)
355+ cf
363356 }
364357 }
365358
366359
367-@Callable(bk)
368-func getSwapContractREADONLY () = $Tuple2(nil, aG(J()))
360+@Callable(bh)
361+func getSwapContractREADONLY () = $Tuple2(nil, aF(I()))
369362
370363
371364
372-@Callable(bk)
373-func getLpAssetFromPoolAssetsREADONLY (cj,ck) = if (if ((cj == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
374- then (ck == "WAVES")
365+@Callable(bh)
366+func getLpAssetFromPoolAssetsREADONLY (cg,ch) = if (if ((cg == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
367+ then (ch == "WAVES")
375368 else false)
376369 then $Tuple2(nil, unit)
377370 else {
378- let cl = value(getInteger(this, af(cj)))
379- let cm = value(getInteger(this, af(ck)))
380- let cn = getString(this, aq(toString(cl), toString(cm)))
381- let co = if ((cn == unit))
371+ let ci = value(getInteger(this, ae(cg)))
372+ let cj = value(getInteger(this, ae(ch)))
373+ let ck = getString(this, ap(toString(ci), toString(cj)))
374+ let cl = if ((ck == unit))
382375 then unit
383- else drop(value(cn), 4)
384- $Tuple2(nil, co)
376+ else drop(value(ck), 4)
377+ $Tuple2(nil, cl)
385378 }
386379
387380
388381
389-@Callable(bk)
390-func getPoolAddressFromLpAssetREADONLY (cp) = $Tuple2(nil, valueOrElse(getString(this, ay(cp)), ""))
382+@Callable(bh)
383+func getPoolAddressFromLpAssetREADONLY (cm) = $Tuple2(nil, valueOrElse(getString(this, ax(cm)), ""))
391384
392385
393386
394-@Callable(bk)
395-func constructor (cq,cr,bq,br,bs,bt,cs,ct) = {
396- let cu = bl(bk)
397- if ((cu == cu))
398- then [StringEntry(K(), bz(cq, cr, bq, br, bs, bt, cs)), IntegerEntry(W(), ct)]
387+@Callable(bh)
388+func constructor (cn,co,bn,bo,bp,bq,cp,cq) = {
389+ let cr = bi(bh)
390+ if ((cr == cr))
391+ then [StringEntry(J(), bw(cn, co, bn, bo, bp, bq, cp)), IntegerEntry(V(), cq)]
399392 else throw("Strict value is not equal to itself.")
400393 }
401394
402395
403396
404-@Callable(bk)
405-func constructorV2 (cv) = {
406- let cu = bl(bk)
407- if ((cu == cu))
397+@Callable(bh)
398+func constructorV2 (cs) = {
399+ let cr = bi(bh)
400+ if ((cr == cr))
408401 then {
409- let cw = addressFromPublicKey(fromBase58String(cv))
410- if ((cw == cw))
411- then [StringEntry(N(), cv)]
402+ let ct = addressFromPublicKey(fromBase58String(cs))
403+ if ((ct == ct))
404+ then [StringEntry(M(), cs)]
412405 else throw("Strict value is not equal to itself.")
413406 }
414407 else throw("Strict value is not equal to itself.")
416409
417410
418411
419-@Callable(bk)
420-func constructorV3 (bv,bw,bx,by) = {
421- let cu = bl(bk)
422- if ((cu == cu))
412+@Callable(bh)
413+func constructorV3 (bs,bt,bu,bv) = {
414+ let cr = bi(bh)
415+ if ((cr == cr))
423416 then {
424- let aY = split(aG(K()), k)
425-[StringEntry(K(), bn(aY[1], aY[2], aY[3], aY[4], aY[5], aY[6], aY[7], bv, bw, bx, by))]
417+ let aV = split(aF(J()), j)
418+[StringEntry(J(), bk(aV[1], aV[2], aV[3], aV[4], aV[5], aV[6], aV[7], bs, bt, bu, bv))]
426419 }
427420 else throw("Strict value is not equal to itself.")
428421 }
429422
430423
431424
432-@Callable(bk)
433-func constructorV4 (cx,cy) = {
434- let cu = bl(bk)
435- if ((cu == cu))
436- then [StringEntry(O(), cx), StringEntry(P(), makeString(cy, k))]
425+@Callable(bh)
426+func constructorV4 (cu,cv) = {
427+ let cr = bi(bh)
428+ if ((cr == cr))
429+ then [StringEntry(N(), cu), StringEntry(O(), makeString(cv, j))]
437430 else throw("Strict value is not equal to itself.")
438431 }
439432
440433
441434
442-@Callable(bk)
443-func constructorV5 (cz) = {
444- let cu = bl(bk)
445- if ((cu == cu))
446- then [StringEntry(T(), cz)]
435+@Callable(bh)
436+func constructorV5 (cw) = {
437+ let cr = bi(bh)
438+ if ((cr == cr))
439+ then [StringEntry(S(), cw)]
447440 else throw("Strict value is not equal to itself.")
448441 }
449442
450443
451444
452-@Callable(bk)
453-func constructorV6 (cA,cB) = {
454- let cC = [bl(bk), if ((addressFromString(cA) != unit))
445+@Callable(bh)
446+func constructorV6 (cx,cy) = {
447+ let cz = [bi(bh), if ((addressFromString(cx) != unit))
455448 then true
456449 else "invalid voting emission contract address"]
457- if ((cC == cC))
458- then [StringEntry(U(), cA), StringEntry(V(), makeString(cB, k))]
450+ if ((cz == cz))
451+ then [StringEntry(T(), cx), StringEntry(U(), makeString(cy, j))]
459452 else throw("Strict value is not equal to itself.")
460453 }
461454
462455
463456
464-@Callable(bk)
465-func setManager (cD) = {
466- let cu = bl(bk)
467- if ((cu == cu))
457+@Callable(bh)
458+func setManager (cA) = {
459+ let cr = bi(bh)
460+ if ((cr == cr))
468461 then {
469- let cE = fromBase58String(cD)
470- if ((cE == cE))
471- then [StringEntry(R(), cD)]
462+ let cB = fromBase58String(cA)
463+ if ((cB == cB))
464+ then [StringEntry(Q(), cA)]
472465 else throw("Strict value is not equal to itself.")
473466 }
474467 else throw("Strict value is not equal to itself.")
476469
477470
478471
479-@Callable(bk)
472+@Callable(bh)
480473 func confirmManager () = {
481- let cF = bg()
482- let cG = if (isDefined(cF))
474+ let cC = bd()
475+ let cD = if (isDefined(cC))
483476 then true
484477 else throw("No pending manager")
485- if ((cG == cG))
478+ if ((cD == cD))
486479 then {
487- let cH = if ((bk.callerPublicKey == value(cF)))
480+ let cE = if ((bh.callerPublicKey == value(cC)))
488481 then true
489482 else throw("You are not pending manager")
490- if ((cH == cH))
491- then [StringEntry(Q(), toBase58String(value(cF))), DeleteEntry(R())]
483+ if ((cE == cE))
484+ then [StringEntry(P(), toBase58String(value(cC))), DeleteEntry(Q())]
492485 else throw("Strict value is not equal to itself.")
493486 }
494487 else throw("Strict value is not equal to itself.")
496489
497490
498491
499-@Callable(bk)
500-func setAdmins (cI) = {
501- let cu = bl(bk)
502- if ((cu == cu))
503- then [StringEntry(S(), makeString(cI, k))]
492+@Callable(bh)
493+func setAdmins (cF) = {
494+ let cr = bi(bh)
495+ if ((cr == cr))
496+ then [StringEntry(R(), makeString(cF, j))]
504497 else throw("Strict value is not equal to itself.")
505498 }
506499
507500
508501
509-@Callable(bk)
510-func activateNewPool (aa,bD,bE,cJ,cK,cL,bK,cM) = {
511- let cu = bX(bk)
512- if ((cu == cu))
513- then if (isDefined(getString(au(aa))))
514- then throw((("Pool address " + aa) + " already registered."))
502+@Callable(bh)
503+func activateNewPool (Z,bA,bB,cG,cH,cI,bH,cJ) = {
504+ let cr = bU(bh)
505+ if ((cr == cr))
506+ then if (isDefined(getString(at(Z))))
507+ then throw((("Pool address " + Z) + " already registered."))
515508 else {
516- let cN = bQ(bD, 1)
517- let cO = cN._1
518- let cP = bQ(bE, if (cN._3)
509+ let cK = bN(bA, 1)
510+ let cL = cK._1
511+ let cM = bN(bB, if (cK._3)
519512 then 2
520513 else 1)
521- let cQ = cP._1
522- let cR = valueOrErrorMessage(scriptHash(addressFromStringValue(aa)), ("No script has been found on pool account " + aa))
523- let cS = getBinaryValue(M())
524- let cT = cd(bD, bE)
525- if (cT)
526- then throw((((("Pool " + bD) + "/") + bE) + " has already been activated."))
514+ let cN = cM._1
515+ let cO = valueOrErrorMessage(scriptHash(addressFromStringValue(Z)), ("No script has been found on pool account " + Z))
516+ let cP = getBinaryValue(L())
517+ let cQ = ca(bA, bB)
518+ if (cQ)
519+ then throw((((("Pool " + bA) + "/") + bB) + " has already been activated."))
527520 else {
528- let cU = value(getString(this, ah(toString(cO), toString(cQ))))
529- let cV = if ((bD == "WAVES"))
530- then j
531- else pow(10, 0, value(assetInfo(fromBase58String(bD))).decimals, 0, 0, DOWN)
532- let cW = if ((bE == "WAVES"))
533- then j
534- else pow(10, 0, value(assetInfo(fromBase58String(bE))).decimals, 0, 0, DOWN)
535- let cX = Issue(cJ, cK, 1, 8, true)
536- let bC = calculateAssetId(cX)
537- let cY = toBase58String(bC)
538- let cZ = invoke(addressFromStringValue(aa), "activate", [bD, bE], nil)
539- if ((cZ == cZ))
540- then if ((cZ != "success"))
521+ let cR = value(getString(this, ag(toString(cL), toString(cN))))
522+ let cS = if ((bA == "WAVES"))
523+ then i
524+ else pow(10, 0, value(assetInfo(fromBase58String(bA))).decimals, 0, 0, DOWN)
525+ let cT = if ((bB == "WAVES"))
526+ then i
527+ else pow(10, 0, value(assetInfo(fromBase58String(bB))).decimals, 0, 0, DOWN)
528+ let cU = Issue(cG, cH, 1, 8, true)
529+ let bz = calculateAssetId(cU)
530+ let cV = toBase58String(bz)
531+ let cW = invoke(addressFromStringValue(Z), "activate", [bA, bB], nil)
532+ if ((cW == cW))
533+ then if ((cW != "success"))
541534 then throw("Pool initialisation error happened.")
542535 else {
543- let cz = addressFromStringValue(aG(T()))
544- let da = invoke(cz, "createOrUpdate", [cY, cJ, false], nil)
545- if ((da == da))
536+ let cw = addressFromStringValue(aF(S()))
537+ let cX = invoke(cw, "createOrUpdate", [cV, cG, false], nil)
538+ if ((cX == cX))
546539 then {
547- let db = invoke(cz, "addLabel", [cY, g], nil)
548- if ((db == db))
540+ let cY = invoke(cw, "addLabel", [cV, g], nil)
541+ if ((cY == cY))
549542 then {
550- let dc = invoke(cz, "setLogo", [cY, cM], nil)
551- if ((dc == dc))
543+ let cZ = invoke(cw, "setLogo", [cV, cJ], nil)
544+ if ((cZ == cZ))
552545 then {
553- let dd = invoke(cz, "addAssetsLink", [bD, bE, cY], nil)
554- if ((dd == dd))
546+ let da = invoke(cw, "addAssetsLink", [bA, bB, cV], nil)
547+ if ((da == da))
555548 then {
556- let de = invoke(cz, "increaseAssetPoolsNumber", [bD], nil)
557- if ((de == de))
558- then $Tuple2(((cN._2 ++ cP._2) ++ [cX, Burn(bC, 1), StringEntry(ah(toString(cO), toString(cQ)), bA(aa, toString(m), cY, bD, bE, cV, cW, cO, cQ, j, bK)), StringEntry(ao(cY), bL(cO, cQ)), StringEntry(aq(toString(cO), toString(cQ)), ("%s__" + cY)), StringEntry(au(aa), bL(cO, cQ)), StringEntry(aw(cO, cQ), aa), StringEntry(ay(cY), aa), StringEntry(ax(aa), cY), IntegerEntry(Z(aa), cL), IntegerEntry(at(aa), h)]), cY)
549+ let db = invoke(cw, "increaseAssetPoolsNumber", [bA], nil)
550+ if ((db == db))
551+ then $Tuple2(((cK._2 ++ cM._2) ++ [cU, Burn(bz, 1), StringEntry(ag(toString(cL), toString(cN)), bx(Z, toString(l), cV, bA, bB, cS, cT, cL, cN, i, bH)), StringEntry(an(cV), bI(cL, cN)), StringEntry(ap(toString(cL), toString(cN)), ("%s__" + cV)), StringEntry(at(Z), bI(cL, cN)), StringEntry(av(cL, cN), Z), StringEntry(ax(cV), Z), StringEntry(aw(Z), cV), IntegerEntry(Y(Z), cI), IntegerEntry(as(Z), h)]), cV)
559552 else throw("Strict value is not equal to itself.")
560553 }
561554 else throw("Strict value is not equal to itself.")
574567
575568
576569
577-@Callable(bk)
578-func managePool (aa,df) = {
579- let cu = bl(bk)
580- if ((cu == cu))
570+@Callable(bh)
571+func managePool (Z,dc) = {
572+ let cr = bi(bh)
573+ if ((cr == cr))
581574 then {
582- let dg = bO(aa)
583- let bB = dg[u]
584- let cY = dg[v]
585- let bD = dg[w]
586- let bE = dg[x]
587- let cV = parseIntValue(dg[y])
588- let cW = parseIntValue(dg[z])
589- let cO = parseIntValue(dg[A])
590- let cQ = parseIntValue(dg[B])
591- let dh = parseIntValue(dg[C])
592- let bK = dg[D]
593-[StringEntry(ah(toString(cO), toString(cQ)), bA(aa, toString(df), cY, bD, bE, cV, cW, cO, cQ, dh, bK))]
575+ let dd = bL(Z)
576+ let by = dd[t]
577+ let cV = dd[u]
578+ let bA = dd[v]
579+ let bB = dd[w]
580+ let cS = parseIntValue(dd[x])
581+ let cT = parseIntValue(dd[y])
582+ let cL = parseIntValue(dd[z])
583+ let cN = parseIntValue(dd[A])
584+ let de = parseIntValue(dd[B])
585+ let bH = dd[C]
586+[StringEntry(ag(toString(cL), toString(cN)), bx(Z, toString(dc), cV, bA, bB, cS, cT, cL, cN, de, bH))]
594587 }
595588 else throw("Strict value is not equal to itself.")
596589 }
597590
598591
599592
600-@Callable(bk)
601-func emit (di) = {
602- let dj = bk.caller
603- let dk = bk.originCaller
604- let dl = valueOrErrorMessage(getString(ax(toString(dj))), "Invalid LP address called me.")
605- let dm = fromBase58String(dl)
606- let cy = split(valueOrElse(getString(P()), l), k)
607- let cx = addressFromStringValue(valueOrErrorMessage(getString(O()), "Legacy factory contract does not exists."))
608- if ((0 >= di))
593+@Callable(bh)
594+func emit (df) = {
595+ let dg = bh.caller
596+ let dh = bh.originCaller
597+ let di = valueOrErrorMessage(getString(aw(toString(dg))), "Invalid LP address called me.")
598+ let dj = fromBase58String(di)
599+ let cv = split(valueOrElse(getString(O()), k), j)
600+ let cu = addressFromStringValue(valueOrErrorMessage(getString(N()), "Legacy factory contract does not exists."))
601+ if ((0 >= df))
609602 then nil
610- else if (containsElement(cy, toString(dj)))
611- then $Tuple2(nil, cx)
612- else $Tuple2([Reissue(dm, di, true), ScriptTransfer(bk.caller, di, dm)], "success")
603+ else if (containsElement(cv, toString(dg)))
604+ then $Tuple2(nil, cu)
605+ else $Tuple2([Reissue(dj, df, true), ScriptTransfer(bh.caller, df, dj)], "success")
613606 }
614607
615608
616609
617-@Callable(bk)
618-func burn (dn) = {
619- let dj = bk.caller
620- let dk = bk.originCaller
621- let do = value(bk.payments[0])
622- let dp = value(do.amount)
623- let dq = toBase58String(value(do.assetId))
624- let dr = valueOrErrorMessage(getString(ax(toString(dj))), "Invalid LP address called me.")
625- if ((dq != dr))
610+@Callable(bh)
611+func burn (dk) = {
612+ let dg = bh.caller
613+ let dh = bh.originCaller
614+ let dl = value(bh.payments[0])
615+ let dm = value(dl.amount)
616+ let dn = toBase58String(value(dl.assetId))
617+ let do = valueOrErrorMessage(getString(aw(toString(dg))), "Invalid LP address called me.")
618+ if ((dn != do))
626619 then throw("Invalid asset passed.")
627- else if ((dn != dp))
620+ else if ((dk != dm))
628621 then throw("Invalid amount passed.")
629622 else {
630- let dm = fromBase58String(dr)
631- $Tuple2([Burn(dm, dn)], "success")
623+ let dj = fromBase58String(do)
624+ $Tuple2([Burn(dj, dk)], "success")
632625 }
633626 }
634627
635628
636629
637-@Callable(bk)
638-func modifyWeight (bC,ds) = {
639- let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, U()), "")))
630+@Callable(bh)
631+func modifyWeight (bz,dp) = {
632+ let cr = if ((toBase58String(bh.caller.bytes) == valueOrElse(getString(this, T()), "")))
640633 then true
641- else bl(bk)
642- if ((cu == cu))
634+ else bi(bh)
635+ if ((cr == cr))
643636 then {
644- let av = aG(ay(bC))
645- let dt = Z(av)
646- let du = Z(f)
647- let dv = valueOrElse(getInteger(du), 0)
648- let cL = valueOrElse(getInteger(dt), 0)
649- let dw = ds
650- let aY = split(aG(K()), k)
651- let cq = ba(aY)
652- let dx = invoke(cq, "onModifyWeight", [bC, av], nil)
653- if ((dx == dx))
637+ let au = aF(ax(bz))
638+ let dq = Y(au)
639+ let dr = Y(f)
640+ let ds = valueOrElse(getInteger(dr), 0)
641+ let cI = valueOrElse(getInteger(dq), 0)
642+ let dt = dp
643+ let aV = split(aF(J()), j)
644+ let cn = aX(aV)
645+ let du = invoke(cn, "onModifyWeight", [bz, au], nil)
646+ if ((du == du))
654647 then {
655- let dy = if ((dv == 0))
648+ let dv = if ((ds == 0))
656649 then nil
657- else [IntegerEntry(du, 0)]
658- let dz = ab(av, 0)
659- let dA = getInteger(dz)
660- let dB = if ((dA == unit))
650+ else [IntegerEntry(dr, 0)]
651+ let dw = aa(au, 0)
652+ let dx = getInteger(dw)
653+ let dy = if ((dx == unit))
661654 then nil
662- else [DeleteEntry(dz)]
663- (([IntegerEntry(dt, dw)] ++ dy) ++ dB)
655+ else [DeleteEntry(dw)]
656+ (([IntegerEntry(dq, dt)] ++ dv) ++ dy)
664657 }
665658 else throw("Strict value is not equal to itself.")
666659 }
669662
670663
671664
672-@Callable(bk)
673-func modifyWeights (dC,dD,dE,dF) = {
674- let cu = bl(bk)
675- if ((cu == cu))
665+@Callable(bh)
666+func modifyWeights (dz,dA,dB,dC) = {
667+ let cr = bi(bh)
668+ if ((cr == cr))
676669 then {
677- let dG = ((5 * e) / 100)
678- let dH = ((5 * e) / 100)
679- let dI = ((5 * e) / 100)
680- let aY = split(aG(K()), k)
681- let dJ = ba(aY)
682- let dK = bb(aY)
683- let dL = Z(dC)
684- let dM = Z(dD)
685- let dN = Z(dE)
686- let dO = Z(dF)
687- let dP = aJ(dL)
688- let dQ = aJ(dM)
689- let dR = (dP - dI)
690- let dS = (dQ - dI)
691- if ((0 >= dR))
692- then throw(("invalid btcWeightNew: " + toString(dR)))
693- else if ((0 >= dS))
694- then throw(("invalid ethWeightNew: " + toString(dS)))
670+ let dD = ((5 * e) / 100)
671+ let dE = ((5 * e) / 100)
672+ let dF = ((5 * e) / 100)
673+ let aV = split(aF(J()), j)
674+ let dG = aX(aV)
675+ let dH = aY(aV)
676+ let dI = Y(dz)
677+ let dJ = Y(dA)
678+ let dK = Y(dB)
679+ let dL = Y(dC)
680+ let dM = aI(dI)
681+ let dN = aI(dJ)
682+ let dO = (dM - dF)
683+ let dP = (dN - dF)
684+ if ((0 >= dO))
685+ then throw(("invalid btcWeightNew: " + toString(dO)))
686+ else if ((0 >= dP))
687+ then throw(("invalid ethWeightNew: " + toString(dP)))
695688 else {
696- let dT = aG(ax(dC))
697- let dU = aG(ax(dD))
698- let dV = aG(ax(dE))
699- let dW = aG(ax(dF))
700- let dX = invoke(dJ, "onModifyWeight", [dT, dC], nil)
701- if ((dX == dX))
689+ let dQ = aF(aw(dz))
690+ let dR = aF(aw(dA))
691+ let dS = aF(aw(dB))
692+ let dT = aF(aw(dC))
693+ let dU = invoke(dG, "onModifyWeight", [dQ, dz], nil)
694+ if ((dU == dU))
702695 then {
703- let dY = invoke(dJ, "onModifyWeight", [dU, dD], nil)
704- if ((dY == dY))
696+ let dV = invoke(dG, "onModifyWeight", [dR, dA], nil)
697+ if ((dV == dV))
705698 then {
706- let dZ = invoke(dJ, "onModifyWeight", [dV, dE], nil)
707- if ((dZ == dZ))
699+ let dW = invoke(dG, "onModifyWeight", [dS, dB], nil)
700+ if ((dW == dW))
708701 then {
709- let ea = invoke(dJ, "onModifyWeight", [dW, dF], nil)
710- if ((ea == ea))
711- then [IntegerEntry(dL, dR), IntegerEntry(dM, dS), IntegerEntry(dN, dG), IntegerEntry(dO, dH), IntegerEntry(ab(dC, 0), dP), IntegerEntry(ab(dD, 0), dQ), IntegerEntry(ab(dE, 0), dG), IntegerEntry(ab(dF, 0), dH)]
702+ let dX = invoke(dG, "onModifyWeight", [dT, dC], nil)
703+ if ((dX == dX))
704+ then [IntegerEntry(dI, dO), IntegerEntry(dJ, dP), IntegerEntry(dK, dD), IntegerEntry(dL, dE), IntegerEntry(aa(dz, 0), dM), IntegerEntry(aa(dA, 0), dN), IntegerEntry(aa(dB, 0), dD), IntegerEntry(aa(dC, 0), dE)]
712705 else throw("Strict value is not equal to itself.")
713706 }
714707 else throw("Strict value is not equal to itself.")
723716
724717
725718
726-@Callable(bk)
727-func checkWxEmissionPoolLabel (aA,aB) = {
728- let eb = {
729- let bd = getBoolean(az(aA, aB))
730- if ($isInstanceOf(bd, "Boolean"))
719+@Callable(bh)
720+func checkWxEmissionPoolLabel (az,aA) = {
721+ let dY = {
722+ let ba = getBoolean(ay(az, aA))
723+ if ($isInstanceOf(ba, "Boolean"))
731724 then {
732- let ec = bd
733- ec
725+ let dZ = ba
726+ dZ
734727 }
735728 else false
736729 }
737- $Tuple2(nil, eb)
730+ $Tuple2(nil, dY)
738731 }
739732
740733
741734
742-@Callable(bk)
743-func setWxEmissionPoolLabel (aA,aB) = {
744- let cu = bX(bk)
745- if ((cu == cu))
746- then $Tuple2([BooleanEntry(az(aA, aB), true)], unit)
735+@Callable(bh)
736+func setWxEmissionPoolLabel (az,aA) = {
737+ let cr = bU(bh)
738+ if ((cr == cr))
739+ then $Tuple2([BooleanEntry(ay(az, aA), true)], unit)
747740 else throw("Strict value is not equal to itself.")
748741 }
749742
750743
751744
752-@Callable(bk)
753-func deleteWxEmissionPoolLabel (aA,aB) = {
754- let cu = if (bj(bk))
745+@Callable(bh)
746+func deleteWxEmissionPoolLabel (az,aA) = {
747+ let cr = if (bg(bh))
755748 then true
756- else bX(bk)
757- if ((cu == cu))
758- then $Tuple2([DeleteEntry(az(aA, aB))], unit)
749+ else bU(bh)
750+ if ((cr == cr))
751+ then $Tuple2([DeleteEntry(ay(az, aA))], unit)
759752 else throw("Strict value is not equal to itself.")
760753 }
761754
762755
763756
764-@Callable(bk)
765-func onVerificationLoss (ed) = {
766- let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, T()), "")))
757+@Callable(bh)
758+func onVerificationLoss (ea) = {
759+ let cr = if ((toBase58String(bh.caller.bytes) == valueOrElse(getString(this, S()), "")))
767760 then true
768- else bl(bk)
769- if ((cu == cu))
761+ else bi(bh)
762+ if ((cr == cr))
770763 then {
771- let cB = bc()
772- let ee = if ((size(cB) > 0))
764+ let cy = aZ()
765+ let eb = if ((size(cy) > 0))
773766 then true
774767 else throw("invalid price assets")
775- if ((ee == ee))
768+ if ((eb == eb))
776769 then {
777- func ef (eg,eh) = {
778- let ei = invoke(this, "deleteWxEmissionPoolLabel", [ed, eh], nil)
779- if ((ei == ei))
770+ func ec (ed,ee) = {
771+ let ef = invoke(this, "deleteWxEmissionPoolLabel", [ea, ee], nil)
772+ if ((ef == ef))
780773 then unit
781774 else throw("Strict value is not equal to itself.")
782775 }
783776
784- let ej = {
785- let ek = cB
786- let el = size(ek)
787- let em = unit
788- func en (eo,ep) = if ((ep >= el))
789- then eo
790- else ef(eo, ek[ep])
777+ let eg = {
778+ let eh = cy
779+ let ei = size(eh)
780+ let ej = unit
781+ func ek (el,em) = if ((em >= ei))
782+ then el
783+ else ec(el, eh[em])
791784
792- func eq (eo,ep) = if ((ep >= el))
793- then eo
794- else throw("List size exceeds 2")
785+ func en (el,em) = if ((em >= ei))
786+ then el
787+ else throw("List size exceeds 1")
795788
796- eq(en(en(em, 0), 1), 2)
789+ en(ek(ej, 0), 1)
797790 }
798- if ((ej == ej))
791+ if ((eg == eg))
799792 then $Tuple2(nil, unit)
800793 else throw("Strict value is not equal to itself.")
801794 }
806799
807800
808801
809-@Callable(bk)
810-func isPoolOneTokenOperationsDisabledREADONLY (aa) = {
811- let dg = bO(aa)
812- let al = $Tuple2(parseIntValue(dg[A]), parseIntValue(dg[B]))
813- let er = valueOrElse(getBoolean(ak(al)), false)
814- let es = valueOrElse(getBoolean(an()), false)
815- $Tuple2(nil, if (es)
802+@Callable(bh)
803+func isPoolOneTokenOperationsDisabledREADONLY (Z) = {
804+ let dd = bL(Z)
805+ let ak = $Tuple2(parseIntValue(dd[z]), parseIntValue(dd[A]))
806+ let eo = valueOrElse(getBoolean(aj(ak)), false)
807+ let ep = valueOrElse(getBoolean(am()), false)
808+ $Tuple2(nil, if (ep)
816809 then true
817- else er)
810+ else eo)
818811 }
819812
820813
821814
822-@Callable(bk)
823-func getInFeeREADONLY (aa) = {
824- let et = ca(aC(aa), aD(), 0)
825- $Tuple2(nil, et)
815+@Callable(bh)
816+func getInFeeREADONLY (Z) = {
817+ let eq = bX(aB(Z), aC(), 0)
818+ $Tuple2(nil, eq)
826819 }
827820
828821
829822
830-@Callable(bk)
831-func getOutFeeREADONLY (aa) = {
832- let et = ca(aE(aa), aF(), fraction(10, b, 10000))
833- $Tuple2(nil, et)
823+@Callable(bh)
824+func getOutFeeREADONLY (Z) = {
825+ let eq = bX(aD(Z), aE(), fraction(10, b, 10000))
826+ $Tuple2(nil, eq)
834827 }
835828
836829
837830
838-@Callable(bk)
839-func poolInfoREADONLY (eu,ev) = {
840- let ew = getInteger(this, af(eu))
841- let ex = getInteger(this, af(ev))
842- let ey = getString(this, aw(value(ew), value(ex)))
843- let ez = getString(this, ax(value(ey)))
844- let cT = if (if (isDefined(ew))
845- then isDefined(ex)
846- else false)
847- then isDefined(ey)
848- else false
849- let eA = if (cT)
850- then $Tuple2(addressFromStringValue(value(ey)), aK(value(ez)))
851- else unit
852- $Tuple2(nil, eA)
831+@Callable(bh)
832+func getPoolStatusREADONLY (Z) = {
833+ let bM = split(aF(at(Z)), j)
834+ let ah = bM[1]
835+ let ai = bM[2]
836+ let cd = split(aF(ag(ah, ai)), j)
837+ $Tuple2(nil, parseIntValue(cd[t]))
853838 }
854839
855840
856841
857-@Callable(bk)
858-func getPoolStatusREADONLY (aa) = {
859- let bP = split(aG(au(aa)), k)
860- let ai = bP[1]
861- let aj = bP[2]
862- let cg = split(aG(ah(ai, aj)), k)
863- $Tuple2(nil, parseIntValue(cg[u]))
842+@Callable(bh)
843+func getPoolConfigByLpAssetId (cV) = {
844+ let bM = split(aF(an(cV)), j)
845+ let ah = bM[1]
846+ let ai = bM[2]
847+ let cd = split(aF(ag(ah, ai)), j)
848+ $Tuple2(nil, cd)
864849 }
865850
866851
867852
868-@Callable(bk)
869-func getPoolConfigREADONLY (aa) = {
870- let bP = split(aG(au(aa)), k)
871- let ai = bP[1]
872- let aj = bP[2]
873- let cg = split(aG(ah(ai, aj)), k)
874- $Tuple2(nil, cg)
875- }
853+@Callable(bh)
854+func poolExistsREADONLY (az,aA) = $Tuple2(nil, ca(az, aA))
876855
877856
878-
879-@Callable(bk)
880-func poolExistsREADONLY (aA,aB) = $Tuple2(nil, cd(aA, aB))
881-
882-
883-@Verifier(eB)
884-func eC () = {
885- let eD = {
886- let bd = bf()
887- if ($isInstanceOf(bd, "ByteVector"))
857+@Verifier(er)
858+func es () = {
859+ let et = {
860+ let ba = bc()
861+ if ($isInstanceOf(ba, "ByteVector"))
888862 then {
889- let bm = bd
890- bm
863+ let bj = ba
864+ bj
891865 }
892- else if ($isInstanceOf(bd, "Unit"))
893- then eB.senderPublicKey
866+ else if ($isInstanceOf(ba, "Unit"))
867+ then er.senderPublicKey
894868 else throw("Match error")
895869 }
896- sigVerify(eB.bodyBytes, eB.proofs[0], eD)
870+ sigVerify(er.bodyBytes, er.proofs[0], et)
897871 }
898872
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 18
99
1010 let d = toBigInt(1000000000000000000)
1111
1212 let e = b
1313
1414 let f = "GWXvirtualPOOL"
1515
1616 let g = "POOLS_LP"
1717
1818 let h = 2000000
1919
20-let i = "WAVES"
20+let i = ((100 * 1000) * 1000)
2121
22-let j = ((100 * 1000) * 1000)
22+let j = "__"
2323
24-let k = "__"
24+let k = ""
2525
26-let l = ""
26+let l = 1
2727
28-let m = 1
28+let m = 2
2929
30-let n = 2
30+let n = 3
3131
32-let o = 3
32+let o = 4
3333
34-let p = 4
34+let p = 1
3535
36-let q = 1
36+let q = 2
3737
38-let r = 2
38+let r = 3
3939
40-let s = 3
40+let s = 1
4141
42-let t = 1
42+let t = 2
4343
44-let u = 2
44+let u = 3
4545
46-let v = 3
46+let v = 4
4747
48-let w = 4
48+let w = 5
4949
50-let x = 5
50+let x = 6
5151
52-let y = 6
52+let y = 7
5353
54-let z = 7
54+let z = 8
5555
56-let A = 8
56+let A = 9
5757
58-let B = 9
58+let B = 10
5959
60-let C = 10
60+let C = 11
6161
62-let D = 11
62+let D = "WX_EMISSION"
6363
64-let E = "WX_EMISSION"
64+let E = [D]
6565
66-let F = [E]
67-
68-func G () = "%s__allowedLpScriptHash"
66+func F () = "%s__allowedLpScriptHash"
6967
7068
71-func H () = "%s__allowedLpStableScriptHash"
69+func G () = "%s__allowedLpStableScriptHash"
7270
7371
74-func I () = "%s__allowedLpStableAddonScriptHash"
72+func H () = "%s__allowedLpStableAddonScriptHash"
7573
7674
77-func J () = "%s__swapContract"
75+func I () = "%s__swapContract"
7876
7977
80-func K () = "%s__factoryConfig"
78+func J () = "%s__factoryConfig"
8179
8280
83-func L () = "%s__lpTokensList"
81+func K () = "%s__lpTokensList"
8482
8583
86-func M () = "%s%s__pool__scriptHash"
84+func L () = "%s%s__pool__scriptHash"
8785
8886
89-func N () = "%s%s__matcher__publicKey"
87+func M () = "%s%s__matcher__publicKey"
9088
9189
92-func O () = "%s__legacyFactoryContract"
90+func N () = "%s__legacyFactoryContract"
9391
9492
95-func P () = "%s__legacyPools"
93+func O () = "%s__legacyPools"
9694
9795
98-func Q () = "%s__managerPublicKey"
96+func P () = "%s__managerPublicKey"
9997
10098
101-func R () = "%s__pendingManagerPublicKey"
99+func Q () = "%s__pendingManagerPublicKey"
102100
103101
104-func S () = "%s__adminPubKeys"
102+func R () = "%s__adminPubKeys"
105103
106104
107-func T () = "%s__assetsStoreContract"
105+func S () = "%s__assetsStoreContract"
108106
109107
110-func U () = "%s__votingEmissionContract"
108+func T () = "%s__votingEmissionContract"
111109
112110
113-func V () = makeString(["%s", "priceAssets"], k)
111+func U () = makeString(["%s", "priceAssets"], j)
114112
115113
116-func W () = "%s__priceDecimals"
114+func V () = "%s__priceDecimals"
117115
118116
119-func X () = "%s__shutdown"
117+func W () = "%s__shutdown"
120118
121119
122-func Y () = "%s__nextInternalAssetId"
120+func X () = "%s__nextInternalAssetId"
123121
124122
125-func Z (aa) = ("%s%s__poolWeight__" + aa)
123+func Y (Z) = ("%s%s__poolWeight__" + Z)
126124
127125
128-func ab (aa,ac) = ((("%s%s__poolWeight__" + aa) + "__") + toString(ac))
126+func aa (Z,ab) = ((("%s%s__poolWeight__" + Z) + "__") + toString(ab))
129127
130128
131-func ad (ae) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ae))
129+func ac (ad) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ad))
132130
133131
134-func af (ag) = ("%s%s%s__mappings__baseAsset2internalId__" + ag)
132+func ae (af) = ("%s%s%s__mappings__baseAsset2internalId__" + af)
135133
136134
137-func ah (ai,aj) = (((("%d%d%s__" + ai) + "__") + aj) + "__config")
135+func ag (ah,ai) = (((("%d%d%s__" + ah) + "__") + ai) + "__config")
138136
139137
140-func ak (al) = {
141- let am = al
142- let ai = am._1
143- let aj = am._2
144- makeString(["%d%d%s", toString(ai), toString(aj), "oneTokenOperationsDisabled"], k)
138+func aj (ak) = {
139+ let al = ak
140+ let ah = al._1
141+ let ai = al._2
142+ makeString(["%d%d%s", toString(ah), toString(ai), "oneTokenOperationsDisabled"], j)
145143 }
146144
147145
148-func an () = makeString(["%s", "oneTokenOperationsDisabled"], k)
146+func am () = makeString(["%s", "oneTokenOperationsDisabled"], j)
149147
150148
151-func ao (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2Pool")
149+func an (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2Pool")
152150
153151
154-func aq (ar,as) = (((("%d%d%s%s__" + ar) + "__") + as) + "__mappings__PoolAssets2LpAsset")
152+func ap (aq,ar) = (((("%d%d%s%s__" + aq) + "__") + ar) + "__mappings__PoolAssets2LpAsset")
155153
156154
157-func at (aa) = ("%s%s__spread__" + aa)
155+func as (Z) = ("%s%s__spread__" + Z)
158156
159157
160-func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2PoolAssets")
158+func at (au) = (("%s%s%s__" + au) + "__mappings__poolContract2PoolAssets")
161159
162160
163-func aw (ar,as) = (((("%d%d%s%s__" + toString(ar)) + "__") + toString(as)) + "__mappings__poolAssets2PoolContract")
161+func av (aq,ar) = (((("%d%d%s%s__" + toString(aq)) + "__") + toString(ar)) + "__mappings__poolAssets2PoolContract")
164162
165163
166-func ax (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
164+func aw (au) = (("%s%s%s__" + au) + "__mappings__poolContract2LpAsset")
167165
168166
169-func ay (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2PoolContract")
167+func ax (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2PoolContract")
170168
171169
172-func az (aA,aB) = ((("%s%s%s__wxEmission__" + aA) + "__") + aB)
170+func ay (az,aA) = ((("%s%s%s__wxEmission__" + az) + "__") + aA)
173171
174172
175-func aC (aa) = ("%s%s__inFee__" + aa)
173+func aB (Z) = ("%s%s__inFee__" + Z)
176174
177175
178-func aD () = "%s__inFeeDefault"
176+func aC () = "%s__inFeeDefault"
179177
180178
181-func aE (aa) = ("%s%s__outFee__" + aa)
179+func aD (Z) = ("%s%s__outFee__" + Z)
182180
183181
184-func aF () = "%s__outFeeDefault"
182+func aE () = "%s__outFeeDefault"
185183
186184
187-func aG (aH) = valueOrErrorMessage(getString(this, aH), ("No data for this.key=" + aH))
185+func aF (aG) = valueOrErrorMessage(getString(this, aG), ("No data for this.key=" + aG))
188186
189187
190-func aI (aH) = valueOrErrorMessage(getBoolean(this, aH), ("No data for this.key=" + aH))
188+func aH (aG) = valueOrErrorMessage(getBoolean(this, aG), ("No data for this.key=" + aG))
191189
192190
193-func aJ (aH) = valueOrErrorMessage(getInteger(this, aH), ("No data for this.key=" + aH))
191+func aI (aG) = valueOrErrorMessage(getInteger(this, aG), ("No data for this.key=" + aG))
194192
195193
196-func aK (aL) = if ((aL == i))
197- then unit
198- else fromBase58String(aL)
194+let aJ = 1
195+
196+let aK = 2
197+
198+let aL = 3
199+
200+let aM = 4
201+
202+let aN = 5
203+
204+let aO = 6
205+
206+let aP = 7
207+
208+let aQ = 8
209+
210+let aR = 9
211+
212+let aS = 10
213+
214+let aT = 11
215+
216+func aU (aV) = addressFromStringValue(aV[aK])
199217
200218
201-let aM = 1
202-
203-let aN = 2
204-
205-let aO = 3
206-
207-let aP = 4
208-
209-let aQ = 5
210-
211-let aR = 6
212-
213-let aS = 7
214-
215-let aT = 8
216-
217-let aU = 9
218-
219-let aV = 10
220-
221-let aW = 11
222-
223-func aX (aY) = addressFromStringValue(aY[aN])
219+func aW (aV) = addressFromStringValue(aV[aN])
224220
225221
226-func aZ (aY) = addressFromStringValue(aY[aQ])
222+func aX (aV) = addressFromStringValue(aV[aJ])
227223
228224
229-func ba (aY) = addressFromStringValue(aY[aM])
225+func aY (aV) = addressFromStringValue(aV[aS])
230226
231227
232-func bb (aY) = addressFromStringValue(aY[aV])
233-
234-
235-func bc () = {
236- let bd = getString(V())
237- if ($isInstanceOf(bd, "String"))
228+func aZ () = {
229+ let ba = getString(U())
230+ if ($isInstanceOf(ba, "String"))
238231 then {
239- let be = bd
240- if ((size(be) == 0))
232+ let bb = ba
233+ if ((size(bb) == 0))
241234 then nil
242- else split(be, k)
235+ else split(bb, j)
243236 }
244237 else nil
245238 }
246239
247240
248-func bf () = {
249- let bd = getString(Q())
250- if ($isInstanceOf(bd, "String"))
241+func bc () = {
242+ let ba = getString(P())
243+ if ($isInstanceOf(ba, "String"))
251244 then {
252- let be = bd
253- fromBase58String(be)
245+ let bb = ba
246+ fromBase58String(bb)
254247 }
255- else if ($isInstanceOf(bd, "Unit"))
248+ else if ($isInstanceOf(ba, "Unit"))
256249 then unit
257250 else throw("Match error")
258251 }
259252
260253
261-func bg () = {
262- let bd = getString(R())
263- if ($isInstanceOf(bd, "String"))
254+func bd () = {
255+ let ba = getString(Q())
256+ if ($isInstanceOf(ba, "String"))
264257 then {
265- let be = bd
266- fromBase58String(be)
258+ let bb = ba
259+ fromBase58String(bb)
267260 }
268- else if ($isInstanceOf(bd, "Unit"))
261+ else if ($isInstanceOf(ba, "Unit"))
269262 then unit
270263 else throw("Match error")
271264 }
272265
273266
274-let bh = throw("Permission denied")
267+let be = throw("Permission denied")
275268
276-let bi = throw("Test error here")
269+let bf = throw("Test error here")
277270
278-func bj (bk) = if ((bk.caller == this))
271+func bg (bh) = if ((bh.caller == this))
279272 then true
280- else bh
273+ else be
281274
282275
283-func bl (bk) = {
284- let bd = bf()
285- if ($isInstanceOf(bd, "ByteVector"))
276+func bi (bh) = {
277+ let ba = bc()
278+ if ($isInstanceOf(ba, "ByteVector"))
286279 then {
287- let bm = bd
288- if ((bk.callerPublicKey == bm))
280+ let bj = ba
281+ if ((bh.callerPublicKey == bj))
289282 then true
290- else bh
283+ else be
291284 }
292- else if ($isInstanceOf(bd, "Unit"))
293- then bj(bk)
285+ else if ($isInstanceOf(ba, "Unit"))
286+ then bg(bh)
294287 else throw("Match error")
295288 }
296289
297290
298-func bn (bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bo, bp, bq, br, bs, bt, bu, bv, bw, bx, by], k)
291+func bk (bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bl, bm, bn, bo, bp, bq, br, bs, bt, bu, bv], j)
299292
300293
301-func bz (bo,bp,bq,br,bs,bt,bu) = makeString(["%s%s%s%s%s%s", bo, bp, bq, br, bs, bt, bu], k)
294+func bw (bl,bm,bn,bo,bp,bq,br) = makeString(["%s%s%s%s%s%s", bl, bm, bn, bo, bp, bq, br], j)
302295
303296
304-func bA (aa,bB,bC,bD,bE,bF,bG,bH,bI,bJ,bK) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", aa, bB, bC, bD, bE, toString(bF), toString(bG), toString(bH), toString(bI), toString(bJ), bK], k)
297+func bx (Z,by,bz,bA,bB,bC,bD,bE,bF,bG,bH) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", Z, by, bz, bA, bB, toString(bC), toString(bD), toString(bE), toString(bF), toString(bG), bH], j)
305298
306299
307-func bL (bM,bN) = makeString(["%d%d", toString(bM), toString(bN)], k)
300+func bI (bJ,bK) = makeString(["%d%d", toString(bJ), toString(bK)], j)
308301
309302
310-func bO (aa) = {
311- let bP = split(aG(au(aa)), k)
312- let ai = bP[1]
313- let aj = bP[2]
314- split(aG(ah(ai, aj)), k)
303+func bL (Z) = {
304+ let bM = split(aF(at(Z)), j)
305+ let ah = bM[1]
306+ let ai = bM[2]
307+ split(aF(ag(ah, ai)), j)
315308 }
316309
317310
318-func bQ (bR,bS) = {
319- let bT = valueOrElse(getInteger(this, af(bR)), 0)
320- let bU = valueOrElse(getInteger(this, Y()), 0)
321- let bV = if ((bT == 0))
311+func bN (bO,bP) = {
312+ let bQ = valueOrElse(getInteger(this, ae(bO)), 0)
313+ let bR = valueOrElse(getInteger(this, X()), 0)
314+ let bS = if ((bQ == 0))
322315 then {
323- let bW = (bU + bS)
324- $Tuple3(bW, [IntegerEntry(Y(), bW), IntegerEntry(af(bR), bW), StringEntry(ad(bW), bR)], true)
316+ let bT = (bR + bP)
317+ $Tuple3(bT, [IntegerEntry(X(), bT), IntegerEntry(ae(bO), bT), StringEntry(ac(bT), bO)], true)
325318 }
326- else $Tuple3(bT, nil, false)
327- bV
319+ else $Tuple3(bQ, nil, false)
320+ bS
328321 }
329322
330323
331-func bX (bk) = {
332- let bY = split(valueOrElse(getString(S()), l), k)
333- if (containsElement(bY, toBase58String(bk.callerPublicKey)))
324+func bU (bh) = {
325+ let bV = split(valueOrElse(getString(R()), k), j)
326+ if (containsElement(bV, toBase58String(bh.callerPublicKey)))
334327 then true
335328 else {
336- let bZ = bl(bk)
337- if ((bZ == bZ))
329+ let bW = bi(bh)
330+ if ((bW == bW))
338331 then true
339332 else throw("Strict value is not equal to itself.")
340333 }
341334 }
342335
343336
344-func ca (aH,cb,cc) = valueOrElse(getInteger(this, aH), valueOrElse(getInteger(this, cb), cc))
337+func bX (aG,bY,bZ) = valueOrElse(getInteger(this, aG), valueOrElse(getInteger(this, bY), bZ))
345338
346339
347-func cd (aA,aB) = {
348- let ai = getInteger(af(aA))
349- let aj = getInteger(af(aB))
350- if (if ((ai == unit))
340+func ca (az,aA) = {
341+ let ah = getInteger(ae(az))
342+ let ai = getInteger(ae(aA))
343+ if (if ((ah == unit))
351344 then true
352- else (aj == unit))
345+ else (ai == unit))
353346 then false
354347 else {
355- let ce = toString(value(ai))
356- let cf = toString(value(aj))
357- let cg = getString(ah(ce, cf))
358- let ch = getString(ah(cf, ce))
359- let ci = if ((cg != unit))
348+ let cb = toString(value(ah))
349+ let cc = toString(value(ai))
350+ let cd = getString(ag(cb, cc))
351+ let ce = getString(ag(cc, cb))
352+ let cf = if ((cd != unit))
360353 then true
361- else (ch != unit)
362- ci
354+ else (ce != unit)
355+ cf
363356 }
364357 }
365358
366359
367-@Callable(bk)
368-func getSwapContractREADONLY () = $Tuple2(nil, aG(J()))
360+@Callable(bh)
361+func getSwapContractREADONLY () = $Tuple2(nil, aF(I()))
369362
370363
371364
372-@Callable(bk)
373-func getLpAssetFromPoolAssetsREADONLY (cj,ck) = if (if ((cj == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
374- then (ck == "WAVES")
365+@Callable(bh)
366+func getLpAssetFromPoolAssetsREADONLY (cg,ch) = if (if ((cg == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
367+ then (ch == "WAVES")
375368 else false)
376369 then $Tuple2(nil, unit)
377370 else {
378- let cl = value(getInteger(this, af(cj)))
379- let cm = value(getInteger(this, af(ck)))
380- let cn = getString(this, aq(toString(cl), toString(cm)))
381- let co = if ((cn == unit))
371+ let ci = value(getInteger(this, ae(cg)))
372+ let cj = value(getInteger(this, ae(ch)))
373+ let ck = getString(this, ap(toString(ci), toString(cj)))
374+ let cl = if ((ck == unit))
382375 then unit
383- else drop(value(cn), 4)
384- $Tuple2(nil, co)
376+ else drop(value(ck), 4)
377+ $Tuple2(nil, cl)
385378 }
386379
387380
388381
389-@Callable(bk)
390-func getPoolAddressFromLpAssetREADONLY (cp) = $Tuple2(nil, valueOrElse(getString(this, ay(cp)), ""))
382+@Callable(bh)
383+func getPoolAddressFromLpAssetREADONLY (cm) = $Tuple2(nil, valueOrElse(getString(this, ax(cm)), ""))
391384
392385
393386
394-@Callable(bk)
395-func constructor (cq,cr,bq,br,bs,bt,cs,ct) = {
396- let cu = bl(bk)
397- if ((cu == cu))
398- then [StringEntry(K(), bz(cq, cr, bq, br, bs, bt, cs)), IntegerEntry(W(), ct)]
387+@Callable(bh)
388+func constructor (cn,co,bn,bo,bp,bq,cp,cq) = {
389+ let cr = bi(bh)
390+ if ((cr == cr))
391+ then [StringEntry(J(), bw(cn, co, bn, bo, bp, bq, cp)), IntegerEntry(V(), cq)]
399392 else throw("Strict value is not equal to itself.")
400393 }
401394
402395
403396
404-@Callable(bk)
405-func constructorV2 (cv) = {
406- let cu = bl(bk)
407- if ((cu == cu))
397+@Callable(bh)
398+func constructorV2 (cs) = {
399+ let cr = bi(bh)
400+ if ((cr == cr))
408401 then {
409- let cw = addressFromPublicKey(fromBase58String(cv))
410- if ((cw == cw))
411- then [StringEntry(N(), cv)]
402+ let ct = addressFromPublicKey(fromBase58String(cs))
403+ if ((ct == ct))
404+ then [StringEntry(M(), cs)]
412405 else throw("Strict value is not equal to itself.")
413406 }
414407 else throw("Strict value is not equal to itself.")
415408 }
416409
417410
418411
419-@Callable(bk)
420-func constructorV3 (bv,bw,bx,by) = {
421- let cu = bl(bk)
422- if ((cu == cu))
412+@Callable(bh)
413+func constructorV3 (bs,bt,bu,bv) = {
414+ let cr = bi(bh)
415+ if ((cr == cr))
423416 then {
424- let aY = split(aG(K()), k)
425-[StringEntry(K(), bn(aY[1], aY[2], aY[3], aY[4], aY[5], aY[6], aY[7], bv, bw, bx, by))]
417+ let aV = split(aF(J()), j)
418+[StringEntry(J(), bk(aV[1], aV[2], aV[3], aV[4], aV[5], aV[6], aV[7], bs, bt, bu, bv))]
426419 }
427420 else throw("Strict value is not equal to itself.")
428421 }
429422
430423
431424
432-@Callable(bk)
433-func constructorV4 (cx,cy) = {
434- let cu = bl(bk)
435- if ((cu == cu))
436- then [StringEntry(O(), cx), StringEntry(P(), makeString(cy, k))]
425+@Callable(bh)
426+func constructorV4 (cu,cv) = {
427+ let cr = bi(bh)
428+ if ((cr == cr))
429+ then [StringEntry(N(), cu), StringEntry(O(), makeString(cv, j))]
437430 else throw("Strict value is not equal to itself.")
438431 }
439432
440433
441434
442-@Callable(bk)
443-func constructorV5 (cz) = {
444- let cu = bl(bk)
445- if ((cu == cu))
446- then [StringEntry(T(), cz)]
435+@Callable(bh)
436+func constructorV5 (cw) = {
437+ let cr = bi(bh)
438+ if ((cr == cr))
439+ then [StringEntry(S(), cw)]
447440 else throw("Strict value is not equal to itself.")
448441 }
449442
450443
451444
452-@Callable(bk)
453-func constructorV6 (cA,cB) = {
454- let cC = [bl(bk), if ((addressFromString(cA) != unit))
445+@Callable(bh)
446+func constructorV6 (cx,cy) = {
447+ let cz = [bi(bh), if ((addressFromString(cx) != unit))
455448 then true
456449 else "invalid voting emission contract address"]
457- if ((cC == cC))
458- then [StringEntry(U(), cA), StringEntry(V(), makeString(cB, k))]
450+ if ((cz == cz))
451+ then [StringEntry(T(), cx), StringEntry(U(), makeString(cy, j))]
459452 else throw("Strict value is not equal to itself.")
460453 }
461454
462455
463456
464-@Callable(bk)
465-func setManager (cD) = {
466- let cu = bl(bk)
467- if ((cu == cu))
457+@Callable(bh)
458+func setManager (cA) = {
459+ let cr = bi(bh)
460+ if ((cr == cr))
468461 then {
469- let cE = fromBase58String(cD)
470- if ((cE == cE))
471- then [StringEntry(R(), cD)]
462+ let cB = fromBase58String(cA)
463+ if ((cB == cB))
464+ then [StringEntry(Q(), cA)]
472465 else throw("Strict value is not equal to itself.")
473466 }
474467 else throw("Strict value is not equal to itself.")
475468 }
476469
477470
478471
479-@Callable(bk)
472+@Callable(bh)
480473 func confirmManager () = {
481- let cF = bg()
482- let cG = if (isDefined(cF))
474+ let cC = bd()
475+ let cD = if (isDefined(cC))
483476 then true
484477 else throw("No pending manager")
485- if ((cG == cG))
478+ if ((cD == cD))
486479 then {
487- let cH = if ((bk.callerPublicKey == value(cF)))
480+ let cE = if ((bh.callerPublicKey == value(cC)))
488481 then true
489482 else throw("You are not pending manager")
490- if ((cH == cH))
491- then [StringEntry(Q(), toBase58String(value(cF))), DeleteEntry(R())]
483+ if ((cE == cE))
484+ then [StringEntry(P(), toBase58String(value(cC))), DeleteEntry(Q())]
492485 else throw("Strict value is not equal to itself.")
493486 }
494487 else throw("Strict value is not equal to itself.")
495488 }
496489
497490
498491
499-@Callable(bk)
500-func setAdmins (cI) = {
501- let cu = bl(bk)
502- if ((cu == cu))
503- then [StringEntry(S(), makeString(cI, k))]
492+@Callable(bh)
493+func setAdmins (cF) = {
494+ let cr = bi(bh)
495+ if ((cr == cr))
496+ then [StringEntry(R(), makeString(cF, j))]
504497 else throw("Strict value is not equal to itself.")
505498 }
506499
507500
508501
509-@Callable(bk)
510-func activateNewPool (aa,bD,bE,cJ,cK,cL,bK,cM) = {
511- let cu = bX(bk)
512- if ((cu == cu))
513- then if (isDefined(getString(au(aa))))
514- then throw((("Pool address " + aa) + " already registered."))
502+@Callable(bh)
503+func activateNewPool (Z,bA,bB,cG,cH,cI,bH,cJ) = {
504+ let cr = bU(bh)
505+ if ((cr == cr))
506+ then if (isDefined(getString(at(Z))))
507+ then throw((("Pool address " + Z) + " already registered."))
515508 else {
516- let cN = bQ(bD, 1)
517- let cO = cN._1
518- let cP = bQ(bE, if (cN._3)
509+ let cK = bN(bA, 1)
510+ let cL = cK._1
511+ let cM = bN(bB, if (cK._3)
519512 then 2
520513 else 1)
521- let cQ = cP._1
522- let cR = valueOrErrorMessage(scriptHash(addressFromStringValue(aa)), ("No script has been found on pool account " + aa))
523- let cS = getBinaryValue(M())
524- let cT = cd(bD, bE)
525- if (cT)
526- then throw((((("Pool " + bD) + "/") + bE) + " has already been activated."))
514+ let cN = cM._1
515+ let cO = valueOrErrorMessage(scriptHash(addressFromStringValue(Z)), ("No script has been found on pool account " + Z))
516+ let cP = getBinaryValue(L())
517+ let cQ = ca(bA, bB)
518+ if (cQ)
519+ then throw((((("Pool " + bA) + "/") + bB) + " has already been activated."))
527520 else {
528- let cU = value(getString(this, ah(toString(cO), toString(cQ))))
529- let cV = if ((bD == "WAVES"))
530- then j
531- else pow(10, 0, value(assetInfo(fromBase58String(bD))).decimals, 0, 0, DOWN)
532- let cW = if ((bE == "WAVES"))
533- then j
534- else pow(10, 0, value(assetInfo(fromBase58String(bE))).decimals, 0, 0, DOWN)
535- let cX = Issue(cJ, cK, 1, 8, true)
536- let bC = calculateAssetId(cX)
537- let cY = toBase58String(bC)
538- let cZ = invoke(addressFromStringValue(aa), "activate", [bD, bE], nil)
539- if ((cZ == cZ))
540- then if ((cZ != "success"))
521+ let cR = value(getString(this, ag(toString(cL), toString(cN))))
522+ let cS = if ((bA == "WAVES"))
523+ then i
524+ else pow(10, 0, value(assetInfo(fromBase58String(bA))).decimals, 0, 0, DOWN)
525+ let cT = if ((bB == "WAVES"))
526+ then i
527+ else pow(10, 0, value(assetInfo(fromBase58String(bB))).decimals, 0, 0, DOWN)
528+ let cU = Issue(cG, cH, 1, 8, true)
529+ let bz = calculateAssetId(cU)
530+ let cV = toBase58String(bz)
531+ let cW = invoke(addressFromStringValue(Z), "activate", [bA, bB], nil)
532+ if ((cW == cW))
533+ then if ((cW != "success"))
541534 then throw("Pool initialisation error happened.")
542535 else {
543- let cz = addressFromStringValue(aG(T()))
544- let da = invoke(cz, "createOrUpdate", [cY, cJ, false], nil)
545- if ((da == da))
536+ let cw = addressFromStringValue(aF(S()))
537+ let cX = invoke(cw, "createOrUpdate", [cV, cG, false], nil)
538+ if ((cX == cX))
546539 then {
547- let db = invoke(cz, "addLabel", [cY, g], nil)
548- if ((db == db))
540+ let cY = invoke(cw, "addLabel", [cV, g], nil)
541+ if ((cY == cY))
549542 then {
550- let dc = invoke(cz, "setLogo", [cY, cM], nil)
551- if ((dc == dc))
543+ let cZ = invoke(cw, "setLogo", [cV, cJ], nil)
544+ if ((cZ == cZ))
552545 then {
553- let dd = invoke(cz, "addAssetsLink", [bD, bE, cY], nil)
554- if ((dd == dd))
546+ let da = invoke(cw, "addAssetsLink", [bA, bB, cV], nil)
547+ if ((da == da))
555548 then {
556- let de = invoke(cz, "increaseAssetPoolsNumber", [bD], nil)
557- if ((de == de))
558- then $Tuple2(((cN._2 ++ cP._2) ++ [cX, Burn(bC, 1), StringEntry(ah(toString(cO), toString(cQ)), bA(aa, toString(m), cY, bD, bE, cV, cW, cO, cQ, j, bK)), StringEntry(ao(cY), bL(cO, cQ)), StringEntry(aq(toString(cO), toString(cQ)), ("%s__" + cY)), StringEntry(au(aa), bL(cO, cQ)), StringEntry(aw(cO, cQ), aa), StringEntry(ay(cY), aa), StringEntry(ax(aa), cY), IntegerEntry(Z(aa), cL), IntegerEntry(at(aa), h)]), cY)
549+ let db = invoke(cw, "increaseAssetPoolsNumber", [bA], nil)
550+ if ((db == db))
551+ then $Tuple2(((cK._2 ++ cM._2) ++ [cU, Burn(bz, 1), StringEntry(ag(toString(cL), toString(cN)), bx(Z, toString(l), cV, bA, bB, cS, cT, cL, cN, i, bH)), StringEntry(an(cV), bI(cL, cN)), StringEntry(ap(toString(cL), toString(cN)), ("%s__" + cV)), StringEntry(at(Z), bI(cL, cN)), StringEntry(av(cL, cN), Z), StringEntry(ax(cV), Z), StringEntry(aw(Z), cV), IntegerEntry(Y(Z), cI), IntegerEntry(as(Z), h)]), cV)
559552 else throw("Strict value is not equal to itself.")
560553 }
561554 else throw("Strict value is not equal to itself.")
562555 }
563556 else throw("Strict value is not equal to itself.")
564557 }
565558 else throw("Strict value is not equal to itself.")
566559 }
567560 else throw("Strict value is not equal to itself.")
568561 }
569562 else throw("Strict value is not equal to itself.")
570563 }
571564 }
572565 else throw("Strict value is not equal to itself.")
573566 }
574567
575568
576569
577-@Callable(bk)
578-func managePool (aa,df) = {
579- let cu = bl(bk)
580- if ((cu == cu))
570+@Callable(bh)
571+func managePool (Z,dc) = {
572+ let cr = bi(bh)
573+ if ((cr == cr))
581574 then {
582- let dg = bO(aa)
583- let bB = dg[u]
584- let cY = dg[v]
585- let bD = dg[w]
586- let bE = dg[x]
587- let cV = parseIntValue(dg[y])
588- let cW = parseIntValue(dg[z])
589- let cO = parseIntValue(dg[A])
590- let cQ = parseIntValue(dg[B])
591- let dh = parseIntValue(dg[C])
592- let bK = dg[D]
593-[StringEntry(ah(toString(cO), toString(cQ)), bA(aa, toString(df), cY, bD, bE, cV, cW, cO, cQ, dh, bK))]
575+ let dd = bL(Z)
576+ let by = dd[t]
577+ let cV = dd[u]
578+ let bA = dd[v]
579+ let bB = dd[w]
580+ let cS = parseIntValue(dd[x])
581+ let cT = parseIntValue(dd[y])
582+ let cL = parseIntValue(dd[z])
583+ let cN = parseIntValue(dd[A])
584+ let de = parseIntValue(dd[B])
585+ let bH = dd[C]
586+[StringEntry(ag(toString(cL), toString(cN)), bx(Z, toString(dc), cV, bA, bB, cS, cT, cL, cN, de, bH))]
594587 }
595588 else throw("Strict value is not equal to itself.")
596589 }
597590
598591
599592
600-@Callable(bk)
601-func emit (di) = {
602- let dj = bk.caller
603- let dk = bk.originCaller
604- let dl = valueOrErrorMessage(getString(ax(toString(dj))), "Invalid LP address called me.")
605- let dm = fromBase58String(dl)
606- let cy = split(valueOrElse(getString(P()), l), k)
607- let cx = addressFromStringValue(valueOrErrorMessage(getString(O()), "Legacy factory contract does not exists."))
608- if ((0 >= di))
593+@Callable(bh)
594+func emit (df) = {
595+ let dg = bh.caller
596+ let dh = bh.originCaller
597+ let di = valueOrErrorMessage(getString(aw(toString(dg))), "Invalid LP address called me.")
598+ let dj = fromBase58String(di)
599+ let cv = split(valueOrElse(getString(O()), k), j)
600+ let cu = addressFromStringValue(valueOrErrorMessage(getString(N()), "Legacy factory contract does not exists."))
601+ if ((0 >= df))
609602 then nil
610- else if (containsElement(cy, toString(dj)))
611- then $Tuple2(nil, cx)
612- else $Tuple2([Reissue(dm, di, true), ScriptTransfer(bk.caller, di, dm)], "success")
603+ else if (containsElement(cv, toString(dg)))
604+ then $Tuple2(nil, cu)
605+ else $Tuple2([Reissue(dj, df, true), ScriptTransfer(bh.caller, df, dj)], "success")
613606 }
614607
615608
616609
617-@Callable(bk)
618-func burn (dn) = {
619- let dj = bk.caller
620- let dk = bk.originCaller
621- let do = value(bk.payments[0])
622- let dp = value(do.amount)
623- let dq = toBase58String(value(do.assetId))
624- let dr = valueOrErrorMessage(getString(ax(toString(dj))), "Invalid LP address called me.")
625- if ((dq != dr))
610+@Callable(bh)
611+func burn (dk) = {
612+ let dg = bh.caller
613+ let dh = bh.originCaller
614+ let dl = value(bh.payments[0])
615+ let dm = value(dl.amount)
616+ let dn = toBase58String(value(dl.assetId))
617+ let do = valueOrErrorMessage(getString(aw(toString(dg))), "Invalid LP address called me.")
618+ if ((dn != do))
626619 then throw("Invalid asset passed.")
627- else if ((dn != dp))
620+ else if ((dk != dm))
628621 then throw("Invalid amount passed.")
629622 else {
630- let dm = fromBase58String(dr)
631- $Tuple2([Burn(dm, dn)], "success")
623+ let dj = fromBase58String(do)
624+ $Tuple2([Burn(dj, dk)], "success")
632625 }
633626 }
634627
635628
636629
637-@Callable(bk)
638-func modifyWeight (bC,ds) = {
639- let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, U()), "")))
630+@Callable(bh)
631+func modifyWeight (bz,dp) = {
632+ let cr = if ((toBase58String(bh.caller.bytes) == valueOrElse(getString(this, T()), "")))
640633 then true
641- else bl(bk)
642- if ((cu == cu))
634+ else bi(bh)
635+ if ((cr == cr))
643636 then {
644- let av = aG(ay(bC))
645- let dt = Z(av)
646- let du = Z(f)
647- let dv = valueOrElse(getInteger(du), 0)
648- let cL = valueOrElse(getInteger(dt), 0)
649- let dw = ds
650- let aY = split(aG(K()), k)
651- let cq = ba(aY)
652- let dx = invoke(cq, "onModifyWeight", [bC, av], nil)
653- if ((dx == dx))
637+ let au = aF(ax(bz))
638+ let dq = Y(au)
639+ let dr = Y(f)
640+ let ds = valueOrElse(getInteger(dr), 0)
641+ let cI = valueOrElse(getInteger(dq), 0)
642+ let dt = dp
643+ let aV = split(aF(J()), j)
644+ let cn = aX(aV)
645+ let du = invoke(cn, "onModifyWeight", [bz, au], nil)
646+ if ((du == du))
654647 then {
655- let dy = if ((dv == 0))
648+ let dv = if ((ds == 0))
656649 then nil
657- else [IntegerEntry(du, 0)]
658- let dz = ab(av, 0)
659- let dA = getInteger(dz)
660- let dB = if ((dA == unit))
650+ else [IntegerEntry(dr, 0)]
651+ let dw = aa(au, 0)
652+ let dx = getInteger(dw)
653+ let dy = if ((dx == unit))
661654 then nil
662- else [DeleteEntry(dz)]
663- (([IntegerEntry(dt, dw)] ++ dy) ++ dB)
655+ else [DeleteEntry(dw)]
656+ (([IntegerEntry(dq, dt)] ++ dv) ++ dy)
664657 }
665658 else throw("Strict value is not equal to itself.")
666659 }
667660 else throw("Strict value is not equal to itself.")
668661 }
669662
670663
671664
672-@Callable(bk)
673-func modifyWeights (dC,dD,dE,dF) = {
674- let cu = bl(bk)
675- if ((cu == cu))
665+@Callable(bh)
666+func modifyWeights (dz,dA,dB,dC) = {
667+ let cr = bi(bh)
668+ if ((cr == cr))
676669 then {
677- let dG = ((5 * e) / 100)
678- let dH = ((5 * e) / 100)
679- let dI = ((5 * e) / 100)
680- let aY = split(aG(K()), k)
681- let dJ = ba(aY)
682- let dK = bb(aY)
683- let dL = Z(dC)
684- let dM = Z(dD)
685- let dN = Z(dE)
686- let dO = Z(dF)
687- let dP = aJ(dL)
688- let dQ = aJ(dM)
689- let dR = (dP - dI)
690- let dS = (dQ - dI)
691- if ((0 >= dR))
692- then throw(("invalid btcWeightNew: " + toString(dR)))
693- else if ((0 >= dS))
694- then throw(("invalid ethWeightNew: " + toString(dS)))
670+ let dD = ((5 * e) / 100)
671+ let dE = ((5 * e) / 100)
672+ let dF = ((5 * e) / 100)
673+ let aV = split(aF(J()), j)
674+ let dG = aX(aV)
675+ let dH = aY(aV)
676+ let dI = Y(dz)
677+ let dJ = Y(dA)
678+ let dK = Y(dB)
679+ let dL = Y(dC)
680+ let dM = aI(dI)
681+ let dN = aI(dJ)
682+ let dO = (dM - dF)
683+ let dP = (dN - dF)
684+ if ((0 >= dO))
685+ then throw(("invalid btcWeightNew: " + toString(dO)))
686+ else if ((0 >= dP))
687+ then throw(("invalid ethWeightNew: " + toString(dP)))
695688 else {
696- let dT = aG(ax(dC))
697- let dU = aG(ax(dD))
698- let dV = aG(ax(dE))
699- let dW = aG(ax(dF))
700- let dX = invoke(dJ, "onModifyWeight", [dT, dC], nil)
701- if ((dX == dX))
689+ let dQ = aF(aw(dz))
690+ let dR = aF(aw(dA))
691+ let dS = aF(aw(dB))
692+ let dT = aF(aw(dC))
693+ let dU = invoke(dG, "onModifyWeight", [dQ, dz], nil)
694+ if ((dU == dU))
702695 then {
703- let dY = invoke(dJ, "onModifyWeight", [dU, dD], nil)
704- if ((dY == dY))
696+ let dV = invoke(dG, "onModifyWeight", [dR, dA], nil)
697+ if ((dV == dV))
705698 then {
706- let dZ = invoke(dJ, "onModifyWeight", [dV, dE], nil)
707- if ((dZ == dZ))
699+ let dW = invoke(dG, "onModifyWeight", [dS, dB], nil)
700+ if ((dW == dW))
708701 then {
709- let ea = invoke(dJ, "onModifyWeight", [dW, dF], nil)
710- if ((ea == ea))
711- then [IntegerEntry(dL, dR), IntegerEntry(dM, dS), IntegerEntry(dN, dG), IntegerEntry(dO, dH), IntegerEntry(ab(dC, 0), dP), IntegerEntry(ab(dD, 0), dQ), IntegerEntry(ab(dE, 0), dG), IntegerEntry(ab(dF, 0), dH)]
702+ let dX = invoke(dG, "onModifyWeight", [dT, dC], nil)
703+ if ((dX == dX))
704+ then [IntegerEntry(dI, dO), IntegerEntry(dJ, dP), IntegerEntry(dK, dD), IntegerEntry(dL, dE), IntegerEntry(aa(dz, 0), dM), IntegerEntry(aa(dA, 0), dN), IntegerEntry(aa(dB, 0), dD), IntegerEntry(aa(dC, 0), dE)]
712705 else throw("Strict value is not equal to itself.")
713706 }
714707 else throw("Strict value is not equal to itself.")
715708 }
716709 else throw("Strict value is not equal to itself.")
717710 }
718711 else throw("Strict value is not equal to itself.")
719712 }
720713 }
721714 else throw("Strict value is not equal to itself.")
722715 }
723716
724717
725718
726-@Callable(bk)
727-func checkWxEmissionPoolLabel (aA,aB) = {
728- let eb = {
729- let bd = getBoolean(az(aA, aB))
730- if ($isInstanceOf(bd, "Boolean"))
719+@Callable(bh)
720+func checkWxEmissionPoolLabel (az,aA) = {
721+ let dY = {
722+ let ba = getBoolean(ay(az, aA))
723+ if ($isInstanceOf(ba, "Boolean"))
731724 then {
732- let ec = bd
733- ec
725+ let dZ = ba
726+ dZ
734727 }
735728 else false
736729 }
737- $Tuple2(nil, eb)
730+ $Tuple2(nil, dY)
738731 }
739732
740733
741734
742-@Callable(bk)
743-func setWxEmissionPoolLabel (aA,aB) = {
744- let cu = bX(bk)
745- if ((cu == cu))
746- then $Tuple2([BooleanEntry(az(aA, aB), true)], unit)
735+@Callable(bh)
736+func setWxEmissionPoolLabel (az,aA) = {
737+ let cr = bU(bh)
738+ if ((cr == cr))
739+ then $Tuple2([BooleanEntry(ay(az, aA), true)], unit)
747740 else throw("Strict value is not equal to itself.")
748741 }
749742
750743
751744
752-@Callable(bk)
753-func deleteWxEmissionPoolLabel (aA,aB) = {
754- let cu = if (bj(bk))
745+@Callable(bh)
746+func deleteWxEmissionPoolLabel (az,aA) = {
747+ let cr = if (bg(bh))
755748 then true
756- else bX(bk)
757- if ((cu == cu))
758- then $Tuple2([DeleteEntry(az(aA, aB))], unit)
749+ else bU(bh)
750+ if ((cr == cr))
751+ then $Tuple2([DeleteEntry(ay(az, aA))], unit)
759752 else throw("Strict value is not equal to itself.")
760753 }
761754
762755
763756
764-@Callable(bk)
765-func onVerificationLoss (ed) = {
766- let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, T()), "")))
757+@Callable(bh)
758+func onVerificationLoss (ea) = {
759+ let cr = if ((toBase58String(bh.caller.bytes) == valueOrElse(getString(this, S()), "")))
767760 then true
768- else bl(bk)
769- if ((cu == cu))
761+ else bi(bh)
762+ if ((cr == cr))
770763 then {
771- let cB = bc()
772- let ee = if ((size(cB) > 0))
764+ let cy = aZ()
765+ let eb = if ((size(cy) > 0))
773766 then true
774767 else throw("invalid price assets")
775- if ((ee == ee))
768+ if ((eb == eb))
776769 then {
777- func ef (eg,eh) = {
778- let ei = invoke(this, "deleteWxEmissionPoolLabel", [ed, eh], nil)
779- if ((ei == ei))
770+ func ec (ed,ee) = {
771+ let ef = invoke(this, "deleteWxEmissionPoolLabel", [ea, ee], nil)
772+ if ((ef == ef))
780773 then unit
781774 else throw("Strict value is not equal to itself.")
782775 }
783776
784- let ej = {
785- let ek = cB
786- let el = size(ek)
787- let em = unit
788- func en (eo,ep) = if ((ep >= el))
789- then eo
790- else ef(eo, ek[ep])
777+ let eg = {
778+ let eh = cy
779+ let ei = size(eh)
780+ let ej = unit
781+ func ek (el,em) = if ((em >= ei))
782+ then el
783+ else ec(el, eh[em])
791784
792- func eq (eo,ep) = if ((ep >= el))
793- then eo
794- else throw("List size exceeds 2")
785+ func en (el,em) = if ((em >= ei))
786+ then el
787+ else throw("List size exceeds 1")
795788
796- eq(en(en(em, 0), 1), 2)
789+ en(ek(ej, 0), 1)
797790 }
798- if ((ej == ej))
791+ if ((eg == eg))
799792 then $Tuple2(nil, unit)
800793 else throw("Strict value is not equal to itself.")
801794 }
802795 else throw("Strict value is not equal to itself.")
803796 }
804797 else throw("Strict value is not equal to itself.")
805798 }
806799
807800
808801
809-@Callable(bk)
810-func isPoolOneTokenOperationsDisabledREADONLY (aa) = {
811- let dg = bO(aa)
812- let al = $Tuple2(parseIntValue(dg[A]), parseIntValue(dg[B]))
813- let er = valueOrElse(getBoolean(ak(al)), false)
814- let es = valueOrElse(getBoolean(an()), false)
815- $Tuple2(nil, if (es)
802+@Callable(bh)
803+func isPoolOneTokenOperationsDisabledREADONLY (Z) = {
804+ let dd = bL(Z)
805+ let ak = $Tuple2(parseIntValue(dd[z]), parseIntValue(dd[A]))
806+ let eo = valueOrElse(getBoolean(aj(ak)), false)
807+ let ep = valueOrElse(getBoolean(am()), false)
808+ $Tuple2(nil, if (ep)
816809 then true
817- else er)
810+ else eo)
818811 }
819812
820813
821814
822-@Callable(bk)
823-func getInFeeREADONLY (aa) = {
824- let et = ca(aC(aa), aD(), 0)
825- $Tuple2(nil, et)
815+@Callable(bh)
816+func getInFeeREADONLY (Z) = {
817+ let eq = bX(aB(Z), aC(), 0)
818+ $Tuple2(nil, eq)
826819 }
827820
828821
829822
830-@Callable(bk)
831-func getOutFeeREADONLY (aa) = {
832- let et = ca(aE(aa), aF(), fraction(10, b, 10000))
833- $Tuple2(nil, et)
823+@Callable(bh)
824+func getOutFeeREADONLY (Z) = {
825+ let eq = bX(aD(Z), aE(), fraction(10, b, 10000))
826+ $Tuple2(nil, eq)
834827 }
835828
836829
837830
838-@Callable(bk)
839-func poolInfoREADONLY (eu,ev) = {
840- let ew = getInteger(this, af(eu))
841- let ex = getInteger(this, af(ev))
842- let ey = getString(this, aw(value(ew), value(ex)))
843- let ez = getString(this, ax(value(ey)))
844- let cT = if (if (isDefined(ew))
845- then isDefined(ex)
846- else false)
847- then isDefined(ey)
848- else false
849- let eA = if (cT)
850- then $Tuple2(addressFromStringValue(value(ey)), aK(value(ez)))
851- else unit
852- $Tuple2(nil, eA)
831+@Callable(bh)
832+func getPoolStatusREADONLY (Z) = {
833+ let bM = split(aF(at(Z)), j)
834+ let ah = bM[1]
835+ let ai = bM[2]
836+ let cd = split(aF(ag(ah, ai)), j)
837+ $Tuple2(nil, parseIntValue(cd[t]))
853838 }
854839
855840
856841
857-@Callable(bk)
858-func getPoolStatusREADONLY (aa) = {
859- let bP = split(aG(au(aa)), k)
860- let ai = bP[1]
861- let aj = bP[2]
862- let cg = split(aG(ah(ai, aj)), k)
863- $Tuple2(nil, parseIntValue(cg[u]))
842+@Callable(bh)
843+func getPoolConfigByLpAssetId (cV) = {
844+ let bM = split(aF(an(cV)), j)
845+ let ah = bM[1]
846+ let ai = bM[2]
847+ let cd = split(aF(ag(ah, ai)), j)
848+ $Tuple2(nil, cd)
864849 }
865850
866851
867852
868-@Callable(bk)
869-func getPoolConfigREADONLY (aa) = {
870- let bP = split(aG(au(aa)), k)
871- let ai = bP[1]
872- let aj = bP[2]
873- let cg = split(aG(ah(ai, aj)), k)
874- $Tuple2(nil, cg)
875- }
853+@Callable(bh)
854+func poolExistsREADONLY (az,aA) = $Tuple2(nil, ca(az, aA))
876855
877856
878-
879-@Callable(bk)
880-func poolExistsREADONLY (aA,aB) = $Tuple2(nil, cd(aA, aB))
881-
882-
883-@Verifier(eB)
884-func eC () = {
885- let eD = {
886- let bd = bf()
887- if ($isInstanceOf(bd, "ByteVector"))
857+@Verifier(er)
858+func es () = {
859+ let et = {
860+ let ba = bc()
861+ if ($isInstanceOf(ba, "ByteVector"))
888862 then {
889- let bm = bd
890- bm
863+ let bj = ba
864+ bj
891865 }
892- else if ($isInstanceOf(bd, "Unit"))
893- then eB.senderPublicKey
866+ else if ($isInstanceOf(ba, "Unit"))
867+ then er.senderPublicKey
894868 else throw("Match error")
895869 }
896- sigVerify(eB.bodyBytes, eB.proofs[0], eD)
870+ sigVerify(er.bodyBytes, er.proofs[0], et)
897871 }
898872

github/deemru/w8io/873ac7e 
385.66 ms