tx · 7t3DWSiHNELu2EKBLVFGNYkXzezMEjifxMotYpz3LURi

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.02300000 Waves

2023.02.28 14:56 [2469522] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "7t3DWSiHNELu2EKBLVFGNYkXzezMEjifxMotYpz3LURi", "fee": 2300000, "feeAssetId": null, "timestamp": 1677585375866, "version": 2, "chainId": 84, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "5TpG5qJcQfnBqzmY6S3iEaZrBqmJKSEVbkdcrd5BHncbrBMNzsky5Yeri7kA4ZL4usxfTNh4UwayDvMZwiGfvBQf" ], "script": "base64:BgLqJwgCEgASBAoCCAgSAwoBCBIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIECgIIGBIDCgEIEgASAwoBGBIKCggICAgICAEICBIECgIIARIDCgEBEgMKAQESBAoCCAESBgoECAgICBIECgIICBIECgIICBIECgIICBIDCgEIEgMKAQgSAwoBCBIDCgEIEgQKAggIEgMKAQgSAwoBCBIECgIICCIGU0NBTEU4IgVNVUxUOCIHU0NBTEUxOCIGTVVMVDE4Ig5QT09MV0VJR0hUTVVMVCIOR1dYdmlydHVhbFBPT0wiDGxhYmVsUG9vbHNMcCINZGVmYXVsdFNwcmVhZCILd2F2ZXNTdHJpbmciEWRlY2ltYWxzTXVsdFByaWNlIgNTRVAiBUVNUFRZIgpQb29sQWN0aXZlIg9Qb29sUHV0RGlzYWJsZWQiE1Bvb2xNYXRjaGVyRGlzYWJsZWQiDFBvb2xTaHV0ZG93biISaWR4SW50ZXJuYWxBc3NldElkIg9pZHhSZXN1dEFjdGlvbnMiIGlkeElmQXNzZXRJZENhbGN1bGF0aW9uUGVyZm9ybWVkIg5pZHhQb29sQWRkcmVzcyINaWR4UG9vbFN0YXR1cyIQaWR4UG9vbExQQXNzZXRJZCINaWR4QW10QXNzZXRJZCIPaWR4UHJpY2VBc3NldElkIg5pZHhBbXRBc3NldERjbSIQaWR4UHJpY2VBc3NldERjbSIOaWR4SUFtdEFzc2V0SWQiEGlkeElQcmljZUFzc2V0SWQiDWlkeExQQXNzZXREY20iC2lkeFBvb2xUeXBlIhNwb29sTGFiZWxXeEVtaXNzaW9uIg92YWxpZFBvb2xMYWJlbHMiFmtleUFsbG93ZWRMcFNjcmlwdEhhc2giHGtleUFsbG93ZWRMcFN0YWJsZVNjcmlwdEhhc2giIWtleUFsbG93ZWRMcFN0YWJsZUFkZG9uU2NyaXB0SGFzaCIMc3dhcENvbnRyYWN0IhBrZXlGYWN0b3J5Q29uZmlnIg9rZXlMcFRva2Vuc0xpc3QiEWtleVBvb2xTY3JpcHRIYXNoIg1rZXlNYXRjaGVyUHViIhhrZXlMZWdhY3lGYWN0b3J5Q29udHJhY3QiDmtleUxlZ2FjeVBvb2xzIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIPa2V5QWRtaW5QdWJLZXlzIhZrZXlBc3NldHNTdG9yZUNvbnRyYWN0IhlrZXlWb3RpbmdFbWlzc2lvbkNvbnRyYWN0Ig5rZXlQcmljZUFzc2V0cyIQa2V5UHJpY2VEZWNpbWFscyITa2V5QWxsUG9vbHNTaHV0ZG93biIWa2V5TmV4dEludGVybmFsQXNzZXRJZCIPa2V5UG9vbFRvV2VpZ2h0Igtwb29sQWRkcmVzcyIWa2V5UG9vbFRvV2VpZ2h0SGlzdG9yeSIDbnVtIh9rZXlNYXBwaW5nc0ludGVybmFsMmJhc2VBc3NldElkIhFpbnRlcm5hbEJhc2VBc3NldCIfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZCIMYmFzZUFzc2V0U3RyIg1rZXlQb29sQ29uZmlnIhNhbW91bnRBc3NldEludGVybmFsIhJwcmljZUFzc2V0SW50ZXJuYWwiIWtleVBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIOYXNzZXRzSW50ZXJuYWwiCyR0MDM3MjYzNzg4IiVrZXlBbGxQb29sc09uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIh1rZXlNYXBwaW5nTHBBc3NldFRvUG9vbEFzc2V0cyIKbHBBc3NldFN0ciIda2V5TWFwcGluZ1Bvb2xBc3NldHNUb0xwYXNzZXQiGGludGVybmFsQW1vdW50QXNzZXRJZFN0ciIXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIiDWtleVBvb2xTcHJlYWQiKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzIhNwb29sQ29udHJhY3RBZGRyZXNzIilrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcyIfa2V5TWFwcGluZ1Bvb2xDb250cmFjdFRvTFBBc3NldCIqa2V5TWFwcGluZ1Bvb2xMUEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIg1rZXlXeEVtaXNzaW9uIg1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiCGtleUluRmVlIg9rZXlJbkZlZURlZmF1bHQiCWtleU91dEZlZSIQa2V5T3V0RmVlRGVmYXVsdCIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiEGdldEJvb2xlYW5PckZhaWwiDGdldEludE9yRmFpbCIMcGFyc2VBc3NldElkIgVpbnB1dCIYSWR4RmFjdG9yeUNmZ1N0YWtpbmdEYXBwIhlJZHhGYWN0b3J5Q2ZnQm9vc3RpbmdEYXBwIhRJZHhGYWN0b3J5Q2ZnSWRvRGFwcCIVSWR4RmFjdG9yeUNmZ1RlYW1EYXBwIhlJZHhGYWN0b3J5Q2ZnRW1pc3Npb25EYXBwIhVJZHhGYWN0b3J5Q2ZnUmVzdERhcHAiGUlkeEZhY3RvcnlDZmdTbGlwcGFnZURhcHAiFElkeEZhY3RvcnlDZmdEYW9EYXBwIhpJZHhGYWN0b3J5Q2ZnTWFya2V0aW5nRGFwcCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiFklkeEZhY3RvcnlDZmdCaXJkc0RhcHAiGGdldEJvb3N0aW5nQWRkcmVzc09yRmFpbCIKZmFjdG9yeUNmZyIYZ2V0RW1pc3Npb25BZGRyZXNzT3JGYWlsIhdnZXRTdGFraW5nQWRkcmVzc09yRmFpbCIZZ2V0R3d4UmV3YXJkQWRkcmVzc09yRmFpbCIOZ2V0UHJpY2VBc3NldHMiByRtYXRjaDAiAXMiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0IhVwZXJtaXNzaW9uRGVuaWVkRXJyb3IiCXRlc3RFcnJvciIIbXVzdFRoaXMiAWkiC211c3RNYW5hZ2VyIgJwayIQZGF0YUZhY3RvcnlDZmdWMyIOc3Rha2luZ0FkZHJlc3MiD2Jvb3N0aW5nQWRkcmVzcyILaWRvQ29udHJhY3QiDHRlYW1Db250cmFjdCIQZW1pc3Npb25Db250cmFjdCIMcmVzdENvbnRyYWN0IhBzbGlwcGFnZUNvbnRyYWN0IgtkYW9Db250cmFjdCIRbWFya2V0aW5nQ29udHJhY3QiEmd3eFJld2FyZHNDb250cmFjdCINYmlyZHNDb250cmFjdCIOZGF0YUZhY3RvcnlDZmciC2RhdGFQb29sQ2ZnIgpwb29sU3RhdHVzIglscEFzc2V0SWQiDmFtb3VudEFzc2V0U3RyIg1wcmljZUFzc2V0U3RyIhNhbW91bnRBc3NldERlY2ltYWxzIhJwcmljZUFzc2V0RGVjaW1hbHMiFWFtb3VudEFzc2V0SW50ZXJuYWxJZCIUcHJpY2VBc3NldEludGVybmFsSWQiD2xwQXNzZXREZWNpbWFscyIIcG9vbFR5cGUiFWRhdGFNYXBwaW5nUG9vbEFzc2V0cyIWaW50ZXJuYWxBbW91bnRBc3NldFN0ciIVaW50ZXJuYWxQcmljZUFzc2V0U3RyIg1nZXRQb29sQ29uZmlnIgpwb29sQXNzZXRzIhpnZXRJbnRlcm5hbEFzc2V0SWRPckNyZWF0ZSIKYXNzZXRJZFN0ciILaW5jcmVtZW50b3IiD2ludGVybmFsQXNzZXRJZCIYY3VycmVudEluZGV4T2ZJbnRlcm5hbElkIgZyZXN1bHQiEm5ld0ludGVybmFsQXNzZXRJZCIJbXVzdEFkbWluIghhZG1pblBLcyIJaXNNYW5hZ2VyIhZpbnRPckRlZmF1bHRPckZhbGxiYWNrIgprZXlEZWZhdWx0Ig12YWx1ZUZhbGxiYWNrIhJwb29sRXhpc3RzSW50ZXJuYWwiBGFtQXMiBHByQXMiA2NmZyIKY2ZnUmV2ZXJzZSIGZXhpc3RzIgZhc3NldDEiBmFzc2V0MiIJYXNzZXROdW0xIglhc3NldE51bTIiAmVlIgNyZXMiAmxwIg9zdGFraW5nQ29udHJhY3QiEGJvb3N0aW5nQ29udHJhY3QiEHNscGlwYWdlQ29udHJhY3QiDXByaWNlRGVjaW1hbHMiC2NoZWNrQ2FsbGVyIhBtYXRoY2hlclB1YjU4U3RyIgptYXRoY2VyUHViIhVsZWdhY3lGYWN0b3J5Q29udHJhY3QiC2xlZ2FjeVBvb2xzIhNhc3NldHNTdG9yZUNvbnRyYWN0IhZ2b3RpbmdFbWlzc2lvbkNvbnRyYWN0IgtwcmljZUFzc2V0cyIFY2hla3MiF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5IhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSIMYWRtaW5QdWJLZXlzIgtscEFzc2V0TmFtZSIMbHBBc3NldERlc2NyIgpwb29sV2VpZ2h0IgRsb2dvIhdpbnRlcm5hbEFtb3VudEFzc2V0RGF0YSIVaW50ZXJuYWxBbW91bnRBc3NldElkIhZpbnRlcm5hbFByaWNlQXNzZXREYXRhIhRpbnRlcm5hbFByaWNlQXNzZXRJZCIVcG9vbEFjY291bnRTY3JpcHRIYXNoIhxldGhhbG9uUG9vbEFjY291bnRTY3JpcHRIYXNoIgpwb29sRXhpc3RzIg9wb29sQ29uZmlnVmFsdWUiFGFtb3VudEFzc2V0c0RlY2ltYWxzIhNwcmljZUFzc2V0c0RlY2ltYWxzIhJscEFzc2V0SXNzdWVBY3Rpb24iDGxwQXNzZXRJZFN0ciIYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0IhhjcmVhdGVPclVwZGF0ZUxwQXNzZXRJbnYiEmFkZFBvb2xzTHBMYWJlbEludiIKc2V0TG9nb0ludiIQYWRkQXNzZXRzTGlua0ludiIbaW5jcmVhc2VBc3NldFBvb2xzTnVtYmVySW52IgluZXdTdGF0dXMiCnBvb2xDb25maWciCmxwQXNzZXREY20iDGFtb3VudFRvRW1pdCIGY2FsbGVyIgxvcmlnaW5DYWxsZXIiEGxwQXNzZXRSZXF1ZXN0ZWQiB2xwQXNzZXQiDGFtb3VudFRvQnVybiIHcGF5bWVudCINcGF5bWVudEFtb3VudCIPaW5BbW91bnRBc3NldElkIhpscEFzc2V0UmVxdWVzdGVkRm9yQnVybmluZyIFc2hhcmUiDXBvb2xXZWlnaHRLZXkiDGd3eFdlaWdodEtleSIJZ3d4V2VpZ2h0Ig1wb29sV2VpZ2h0TmV3IhFvbk1vZGlmeVdlaWdodEludiIVZ3d4VmlydHVhbFBvb2xBY3Rpb25zIhRwb29sV2VpZ2h0SGlzdG9yeUtleSIXcG9vbFdlaWdodEhpc3RvcnlPclVuaXQiGHBvb2xXZWlnaHRIaXN0b3J5QWN0aW9ucyIOYnRjUG9vbEFkZHJlc3MiDmV0aFBvb2xBZGRyZXNzIhFldGhCdGNQb29sQWRkcmVzcyITdXNkY1VzZHRQb29sQWRkcmVzcyIPZXRoQnRjV2VpZ2h0TmV3IhF1c2RjVXNkdFdlaWdodE5ldyIPd2VpZ2h0RGVjcmVtZW50IgtzdGFraW5nRGFwcCINZ3d4UmV3YXJkRGFwcCIMYnRjV2VpZ2h0S0VZIgxldGhXZWlnaHRLRVkiD2V0aEJ0Y1dlaWdodEtFWSIRdXNkY1VzZHRXZWlnaHRLRVkiCWJ0Y1dlaWdodCIJZXRoV2VpZ2h0IgxidGNXZWlnaHROZXciDGV0aFdlaWdodE5ldyIPYnRjTHBBc3NldElkU3RyIg9ldGhMcEFzc2V0SWRTdHIiEmV0aEJ0Y0xwQXNzZXRJZFN0ciIUdXNkY1VzZHRMcEFzc2V0SWRTdHIiEW9uTW9kaWZ5V2VpZ2h0QnRjIhFvbk1vZGlmeVdlaWdodEV0aCIUb25Nb2RpZnlXZWlnaHRFdGhCdGMiFm9uTW9kaWZ5V2VpZ2h0VXNkY1VzZHQiCWhhdmVMYWJlbCIBYiIHYXNzZXRJZCIUY2hlY2tQcmljZUFzc2V0c1NpemUiAmNiIgNhY2MiCnByaWNlQXNzZXQiAXIiB2FjdGlvbnMiAiRsIgIkcyIFJGFjYzAiBSRmMF8xIgIkYSICJGkiBSRmMF8yIh5wb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiImFsbFBvb2xzT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiA2ZlZSIQYW1vdW50QXNzZXRJZFN0ciIPcHJpY2VBc3NldElkU3RyIhthbW91bnRBc3NldEludGVybmFsSWRPcHRpb24iGnByaWNlQXNzZXRJbnRlcm5hbElkT3B0aW9uIhlwb29sQ29udHJhY3RBZGRyZXNzT3B0aW9uIg9scEFzc2V0SWRPcHRpb24iCHBvb2xJbmZvIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXlpAAFhAAgAAWIAgMLXLwABYwASAAFkCQC2AgEAgICQu7rWrfANAAFlBQFiAAFmAg5HV1h2aXJ0dWFsUE9PTAABZwIIUE9PTFNfTFAAAWgAgIl6AAFpAgVXQVZFUwABagkAaAIJAGgCAGQA6AcA6AcAAWsCAl9fAAFsAgAAAW0AAQABbgACAAFvAAMAAXAABAABcQABAAFyAAIAAXMAAwABdAABAAF1AAIAAXYAAwABdwAEAAF4AAUAAXkABgABegAHAAFBAAgAAUIACQABQwAKAAFEAAsAAUUCC1dYX0VNSVNTSU9OAAFGCQDMCAIFAUUFA25pbAEBRwACFyVzX19hbGxvd2VkTHBTY3JpcHRIYXNoAQFIAAIdJXNfX2FsbG93ZWRMcFN0YWJsZVNjcmlwdEhhc2gBAUkAAiIlc19fYWxsb3dlZExwU3RhYmxlQWRkb25TY3JpcHRIYXNoAQFKAAIQJXNfX3N3YXBDb250cmFjdAEBSwACESVzX19mYWN0b3J5Q29uZmlnAQFMAAIQJXNfX2xwVG9rZW5zTGlzdAEBTQACFiVzJXNfX3Bvb2xfX3NjcmlwdEhhc2gBAU4AAhglcyVzX19tYXRjaGVyX19wdWJsaWNLZXkBAU8AAhklc19fbGVnYWN5RmFjdG9yeUNvbnRyYWN0AQFQAAIPJXNfX2xlZ2FjeVBvb2xzAQFRAAIUJXNfX21hbmFnZXJQdWJsaWNLZXkBAVIAAhslc19fcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkBAVMAAhAlc19fYWRtaW5QdWJLZXlzAQFUAAIXJXNfX2Fzc2V0c1N0b3JlQ29udHJhY3QBAVUAAholc19fdm90aW5nRW1pc3Npb25Db250cmFjdAEBVgAJALkJAgkAzAgCAgIlcwkAzAgCAgtwcmljZUFzc2V0cwUDbmlsBQFrAQFXAAIRJXNfX3ByaWNlRGVjaW1hbHMBAVgAAgwlc19fc2h1dGRvd24BAVkAAhclc19fbmV4dEludGVybmFsQXNzZXRJZAEBWgECYWEJAKwCAgISJXMlc19fcG9vbFdlaWdodF9fBQJhYQECYWICAmFhAmFjCQCsAgIJAKwCAgkArAICAhIlcyVzX19wb29sV2VpZ2h0X18FAmFhAgJfXwkApAMBBQJhYwECYWQBAmFlCQCsAgICKCVzJXMlZF9fbWFwcGluZ3NfX2ludGVybmFsMmJhc2VBc3NldElkX18JAKQDAQUCYWUBAmFmAQJhZwkArAICAiglcyVzJXNfX21hcHBpbmdzX19iYXNlQXNzZXQyaW50ZXJuYWxJZF9fBQJhZwECYWgCAmFpAmFqCQCsAgIJAKwCAgkArAICCQCsAgICCCVkJWQlc19fBQJhaQICX18FAmFqAghfX2NvbmZpZwECYWsBAmFsBAJhbQUCYWwEAmFpCAUCYW0CXzEEAmFqCAUCYW0CXzIJALkJAgkAzAgCAgYlZCVkJXMJAMwIAgkApAMBBQJhaQkAzAgCCQCkAwEFAmFqCQDMCAICGm9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkBQNuaWwFAWsBAmFuAAkAuQkCCQDMCAICAiVzCQDMCAICGm9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkBQNuaWwFAWsBAmFvAQJhcAkArAICCQCsAgICCCVzJXMlc19fBQJhcAIYX19tYXBwaW5nc19fbHBBc3NldDJQb29sAQJhcQICYXICYXMJAKwCAgkArAICCQCsAgIJAKwCAgIKJWQlZCVzJXNfXwUCYXICAl9fBQJhcwIeX19tYXBwaW5nc19fUG9vbEFzc2V0czJMcEFzc2V0AQJhdAECYWEJAKwCAgIOJXMlc19fc3ByZWFkX18FAmFhAQJhdQECYXYJAKwCAgkArAICAgglcyVzJXNfXwUCYXYCI19fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJQb29sQXNzZXRzAQJhdwICYXICYXMJAKwCAgkArAICCQCsAgIJAKwCAgIKJWQlZCVzJXNfXwkApAMBBQJhcgICX18JAKQDAQUCYXMCI19fbWFwcGluZ3NfX3Bvb2xBc3NldHMyUG9vbENvbnRyYWN0AQJheAECYXYJAKwCAgkArAICAgglcyVzJXNfXwUCYXYCIF9fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJMcEFzc2V0AQJheQECYXAJAKwCAgkArAICAgglcyVzJXNfXwUCYXACIF9fbWFwcGluZ3NfX2xwQXNzZXQyUG9vbENvbnRyYWN0AQJhegICYUECYUIJAKwCAgkArAICCQCsAgICFCVzJXMlc19fd3hFbWlzc2lvbl9fBQJhQQICX18FAmFCAQJhQwECYWEJAKwCAgINJXMlc19faW5GZWVfXwUCYWEBAmFEAAIQJXNfX2luRmVlRGVmYXVsdAECYUUBAmFhCQCsAgICDiVzJXNfX291dEZlZV9fBQJhYQECYUYAAhElc19fb3V0RmVlRGVmYXVsdAECYUcBAmFICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwUCYUgJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJhSAECYUkBAmFICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJsIAgUEdGhpcwUCYUgJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJhSAECYUoBAmFICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUEdGhpcwUCYUgJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQJhSAECYUsBAmFMAwkAAAIFAmFMBQFpBQR1bml0CQDZBAEFAmFMAAJhTQABAAJhTgACAAJhTwADAAJhUAAEAAJhUQAFAAJhUgAGAAJhUwAHAAJhVAAIAAJhVQAJAAJhVgAKAAJhVwALAQJhWAECYVkJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYVkFAmFOAQJhWgECYVkJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYVkFAmFRAQJiYQECYVkJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYVkFAmFNAQJiYgECYVkJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYVkFAmFWAQJiYwAEAmJkCQCiCAEJAQFWAAMJAAECBQJiZAIGU3RyaW5nBAJiZQUCYmQDCQAAAgkAsQIBBQJiZQAABQNuaWwJALUJAgUCYmUFAWsFA25pbAECYmYABAJiZAkAoggBCQEBUQADCQABAgUCYmQCBlN0cmluZwQCYmUFAmJkCQDZBAEFAmJlAwkAAQIFAmJkAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmJnAAQCYmQJAKIIAQkBAVIAAwkAAQIFAmJkAgZTdHJpbmcEAmJlBQJiZAkA2QQBBQJiZQMJAAECBQJiZAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAAJiaAkAAgECEVBlcm1pc3Npb24gZGVuaWVkAAJiaQkAAgECD1Rlc3QgZXJyb3IgaGVyZQECYmoBAmJrAwkAAAIIBQJiawZjYWxsZXIFBHRoaXMGBQJiaAECYmwBAmJrBAJiZAkBAmJmAAMJAAECBQJiZAIKQnl0ZVZlY3RvcgQCYm0FAmJkAwkAAAIIBQJiaw9jYWxsZXJQdWJsaWNLZXkFAmJtBgUCYmgDCQABAgUCYmQCBFVuaXQJAQJiagEFAmJrCQACAQILTWF0Y2ggZXJyb3IBAmJuCwJibwJicAJicQJicgJicwJidAJidQJidgJidwJieAJieQkAuQkCCQDMCAICFiVzJXMlcyVzJXMlcyVzJXMlcyVzJXMJAMwIAgUCYm8JAMwIAgUCYnAJAMwIAgUCYnEJAMwIAgUCYnIJAMwIAgUCYnMJAMwIAgUCYnQJAMwIAgUCYnUJAMwIAgUCYnYJAMwIAgUCYncJAMwIAgUCYngJAMwIAgUCYnkFA25pbAUBawECYnoHAmJvAmJwAmJxAmJyAmJzAmJ0AmJ1CQC5CQIJAMwIAgIMJXMlcyVzJXMlcyVzCQDMCAIFAmJvCQDMCAIFAmJwCQDMCAIFAmJxCQDMCAIFAmJyCQDMCAIFAmJzCQDMCAIFAmJ0CQDMCAIFAmJ1BQNuaWwFAWsBAmJBCwJhYQJiQgJiQwJiRAJiRQJiRgJiRwJiSAJiSQJiSgJiSwkAuQkCCQDMCAICFiVzJWQlcyVzJXMlZCVkJWQlZCVkJXMJAMwIAgUCYWEJAMwIAgUCYkIJAMwIAgUCYkMJAMwIAgUCYkQJAMwIAgUCYkUJAMwIAgkApAMBBQJiRgkAzAgCCQCkAwEFAmJHCQDMCAIJAKQDAQUCYkgJAMwIAgkApAMBBQJiSQkAzAgCCQCkAwEFAmJKCQDMCAIFAmJLBQNuaWwFAWsBAmJMAgJiTQJiTgkAuQkCCQDMCAICBCVkJWQJAMwIAgkApAMBBQJiTQkAzAgCCQCkAwEFAmJOBQNuaWwFAWsBAmJPAQJhYQQCYlAJALUJAgkBAmFHAQkBAmF1AQUCYWEFAWsEAmFpCQCRAwIFAmJQAAEEAmFqCQCRAwIFAmJQAAIJALUJAgkBAmFHAQkBAmFoAgUCYWkFAmFqBQFrAQJiUQICYlICYlMEAmJUCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQJhZgEFAmJSAAAEAmJVCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQFZAAAABAJiVgMJAAACBQJiVAAABAJiVwkAZAIFAmJVBQJiUwkAlQoDBQJiVwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVkABQJiVwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFmAQUCYlIFAmJXCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhZAEFAmJXBQJiUgUDbmlsBgkAlQoDBQJiVAUDbmlsBwUCYlYBAmJYAQJiawQCYlkJALUJAgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEBUwAFAWwFAWsDCQEPY29udGFpbnNFbGVtZW50AgUCYlkJANgEAQgFAmJrD2NhbGxlclB1YmxpY0tleQYEAmJaCQECYmwBBQJiawMJAAACBQJiWgUCYloGCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJjYQMCYUgCY2ICY2MJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCYUgJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCY2IFAmNjAQJjZAICYUECYUIEAmFpCQCfCAEJAQJhZgEFAmFBBAJhagkAnwgBCQECYWYBBQJhQgMDCQAAAgUCYWkFBHVuaXQGCQAAAgUCYWoFBHVuaXQHBAJjZQkApAMBCQEFdmFsdWUBBQJhaQQCY2YJAKQDAQkBBXZhbHVlAQUCYWoEAmNnCQCiCAEJAQJhaAIFAmNlBQJjZgQCY2gJAKIIAQkBAmFoAgUCY2YFAmNlBAJjaQMJAQIhPQIFAmNnBQR1bml0BgkBAiE9AgUCY2gFBHVuaXQFAmNpHQJiawEXZ2V0U3dhcENvbnRyYWN0UkVBRE9OTFkACQCUCgIFA25pbAkBAmFHAQkBAUoAAmJrASBnZXRMcEFzc2V0RnJvbVBvb2xBc3NldHNSRUFET05MWQICY2oCY2sDAwkAAAIFAmNqAiw4TFFXOGY3UDVkNVBaTTdHdFpFQmdhcVJQR1N6UzNEZlB1aVhyVVJKNEFKUwkAAAIFAmNrAgVXQVZFUwcJAJQKAgUDbmlsBQR1bml0BAJjbAkBBXZhbHVlAQkAmggCBQR0aGlzCQECYWYBBQJjagQCY20JAQV2YWx1ZQEJAJoIAgUEdGhpcwkBAmFmAQUCY2sEAmNuCQCdCAIFBHRoaXMJAQJhcQIJAKQDAQUCY2wJAKQDAQUCY20EAmNvAwkAAAIFAmNuBQR1bml0BQR1bml0CQCwAgIJAQV2YWx1ZQEFAmNuAAQJAJQKAgUDbmlsBQJjbwJiawEhZ2V0UG9vbEFkZHJlc3NGcm9tTHBBc3NldFJFQURPTkxZAQJjcAkAlAoCBQNuaWwJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAmF5AQUCY3ACAAJiawELY29uc3RydWN0b3IIAmNxAmNyAmJxAmJyAmJzAmJ0AmNzAmN0BAJjdQkBAmJsAQUCYmsDCQAAAgUCY3UFAmN1CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFLAAkBAmJ6BwUCY3EFAmNyBQJicQUCYnIFAmJzBQJidAUCY3MJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFXAAUCY3QFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawENY29uc3RydWN0b3JWMgECY3YEAmN1CQECYmwBBQJiawMJAAACBQJjdQUCY3UEAmN3CQCnCAEJANkEAQUCY3YDCQAAAgUCY3cFAmN3CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFOAAUCY3YFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawENY29uc3RydWN0b3JWMwQCYnYCYncCYngCYnkEAmN1CQECYmwBBQJiawMJAAACBQJjdQUCY3UEAmFZCQC1CQIJAQJhRwEJAQFLAAUBawkAzAgCCQELU3RyaW5nRW50cnkCCQEBSwAJAQJibgsJAJEDAgUCYVkAAQkAkQMCBQJhWQACCQCRAwIFAmFZAAMJAJEDAgUCYVkABAkAkQMCBQJhWQAFCQCRAwIFAmFZAAYJAJEDAgUCYVkABwUCYnYFAmJ3BQJieAUCYnkFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawENY29uc3RydWN0b3JWNAICY3gCY3kEAmN1CQECYmwBBQJiawMJAAACBQJjdQUCY3UJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAU8ABQJjeAkAzAgCCQELU3RyaW5nRW50cnkCCQEBUAAJALkJAgUCY3kFAWsFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawENY29uc3RydWN0b3JWNQECY3oEAmN1CQECYmwBBQJiawMJAAACBQJjdQUCY3UJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVQABQJjegUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQ1jb25zdHJ1Y3RvclY2AgJjQQJjQgQCY0MJAMwIAgkBAmJsAQUCYmsJAMwIAgMJAQIhPQIJAKYIAQUCY0EFBHVuaXQGAihpbnZhbGlkIHZvdGluZyBlbWlzc2lvbiBjb250cmFjdCBhZGRyZXNzBQNuaWwDCQAAAgUCY0MFAmNDCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFVAAUCY0EJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVYACQC5CQIFAmNCBQFrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmsBCnNldE1hbmFnZXIBAmNEBAJjdQkBAmJsAQUCYmsDCQAAAgUCY3UFAmN1BAJjRQkA2QQBBQJjRAMJAAACBQJjRQUCY0UJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVIABQJjRAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQ5jb25maXJtTWFuYWdlcgAEAmNGCQECYmcABAJjRwMJAQlpc0RlZmluZWQBBQJjRgYJAAIBAhJObyBwZW5kaW5nIG1hbmFnZXIDCQAAAgUCY0cFAmNHBAJjSAMJAAACCAUCYmsPY2FsbGVyUHVibGljS2V5CQEFdmFsdWUBBQJjRgYJAAIBAhtZb3UgYXJlIG5vdCBwZW5kaW5nIG1hbmFnZXIDCQAAAgUCY0gFAmNICQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFRAAkA2AQBCQEFdmFsdWUBBQJjRgkAzAgCCQELRGVsZXRlRW50cnkBCQEBUgAFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawEJc2V0QWRtaW5zAQJjSQQCY3UJAQJibAEFAmJrAwkAAAIFAmN1BQJjdQkAzAgCCQELU3RyaW5nRW50cnkCCQEBUwAJALkJAgUCY0kFAWsFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawEPYWN0aXZhdGVOZXdQb29sCAJhYQJiRAJiRQJjSgJjSwJjTAJiSwJjTQQCY3UJAQJiWAEFAmJrAwkAAAIFAmN1BQJjdQMJAQlpc0RlZmluZWQBCQCiCAEJAQJhdQEFAmFhCQACAQkArAICCQCsAgICDVBvb2wgYWRkcmVzcyAFAmFhAhQgYWxyZWFkeSByZWdpc3RlcmVkLgQCY04JAQJiUQIFAmJEAAEEAmNPCAUCY04CXzEEAmNQCQECYlECBQJiRQMIBQJjTgJfMwACAAEEAmNRCAUCY1ACXzEEAmNSCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAPEHAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYWEJAKwCAgIpTm8gc2NyaXB0IGhhcyBiZWVuIGZvdW5kIG9uIHBvb2wgYWNjb3VudCAFAmFhBAJjUwkBEUBleHRyTmF0aXZlKDEwNTcpAQkBAU0ABAJjVAkBAmNkAgUCYkQFAmJFAwUCY1QJAAIBCQCsAgIJAKwCAgkArAICCQCsAgICBVBvb2wgBQJiRAIBLwUCYkUCHCBoYXMgYWxyZWFkeSBiZWVuIGFjdGl2YXRlZC4EAmNVCQEFdmFsdWUBCQCdCAIFBHRoaXMJAQJhaAIJAKQDAQUCY08JAKQDAQUCY1EEAmNWAwkAAAIFAmJEAgVXQVZFUwUBagkAbAYACgAACAkBBXZhbHVlAQkA7AcBCQDZBAEFAmJECGRlY2ltYWxzAAAAAAUERE9XTgQCY1cDCQAAAgUCYkUCBVdBVkVTBQFqCQBsBgAKAAAICQEFdmFsdWUBCQDsBwEJANkEAQUCYkUIZGVjaW1hbHMAAAAABQRET1dOBAJjWAkAwggFBQJjSgUCY0sAAQAIBgQCYkMJALgIAQUCY1gEAmNZCQDYBAEFAmJDBAJjWgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQJhYQIIYWN0aXZhdGUJAMwIAgUCYkQJAMwIAgUCYkUFA25pbAUDbmlsAwkAAAIFAmNaBQJjWgMJAQIhPQIFAmNaAgdzdWNjZXNzCQACAQIjUG9vbCBpbml0aWFsaXNhdGlvbiBlcnJvciBoYXBwZW5lZC4EAmN6CQERQGV4dHJOYXRpdmUoMTA2MikBCQECYUcBCQEBVAAEAmRhCQD8BwQFAmN6Ag5jcmVhdGVPclVwZGF0ZQkAzAgCBQJjWQkAzAgCBQJjSgkAzAgCBwUDbmlsBQNuaWwDCQAAAgUCZGEFAmRhBAJkYgkA/AcEBQJjegIIYWRkTGFiZWwJAMwIAgUCY1kJAMwIAgUBZwUDbmlsBQNuaWwDCQAAAgUCZGIFAmRiBAJkYwkA/AcEBQJjegIHc2V0TG9nbwkAzAgCBQJjWQkAzAgCBQJjTQUDbmlsBQNuaWwDCQAAAgUCZGMFAmRjBAJkZAkA/AcEBQJjegINYWRkQXNzZXRzTGluawkAzAgCBQJiRAkAzAgCBQJiRQkAzAgCBQJjWQUDbmlsBQNuaWwDCQAAAgUCZGQFAmRkBAJkZQkA/AcEBQJjegIYaW5jcmVhc2VBc3NldFBvb2xzTnVtYmVyCQDMCAIFAmJEBQNuaWwFA25pbAMJAAACBQJkZQUCZGUJAJQKAgkAzggCCQDOCAIIBQJjTgJfMggFAmNQAl8yCQDMCAIFAmNYCQDMCAIJAQRCdXJuAgUCYkMAAQkAzAgCCQELU3RyaW5nRW50cnkCCQECYWgCCQCkAwEFAmNPCQCkAwEFAmNRCQECYkELBQJhYQkApAMBBQFtBQJjWQUCYkQFAmJFBQJjVgUCY1cFAmNPBQJjUQUBagUCYksJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFvAQUCY1kJAQJiTAIFAmNPBQJjUQkAzAgCCQELU3RyaW5nRW50cnkCCQECYXECCQCkAwEFAmNPCQCkAwEFAmNRCQCsAgICBCVzX18FAmNZCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdQEFAmFhCQECYkwCBQJjTwUCY1EJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF3AgUCY08FAmNRBQJhYQkAzAgCCQELU3RyaW5nRW50cnkCCQECYXkBBQJjWQUCYWEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF4AQUCYWEFAmNZCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBWgEFAmFhBQJjTAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmF0AQUCYWEFAWgFA25pbAUCY1kJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmsBCm1hbmFnZVBvb2wCAmFhAmRmBAJjdQkBAmJsAQUCYmsDCQAAAgUCY3UFAmN1BAJkZwkBAmJPAQUCYWEEAmJCCQCRAwIFAmRnBQF1BAJjWQkAkQMCBQJkZwUBdgQCYkQJAJEDAgUCZGcFAXcEAmJFCQCRAwIFAmRnBQF4BAJjVgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRnBQF5BAJjVwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRnBQF6BAJjTwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRnBQFBBAJjUQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRnBQFCBAJkaAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRnBQFDBAJiSwkAkQMCBQJkZwUBRAkAzAgCCQELU3RyaW5nRW50cnkCCQECYWgCCQCkAwEFAmNPCQCkAwEFAmNRCQECYkELBQJhYQkApAMBBQJkZgUCY1kFAmJEBQJiRQUCY1YFAmNXBQJjTwUCY1EFAmRoBQJiSwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrAQRlbWl0AQJkaQQCZGoIBQJiawZjYWxsZXIEAmRrCAUCYmsMb3JpZ2luQ2FsbGVyBAJkbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJAQJheAEJAKUIAQUCZGoCHUludmFsaWQgTFAgYWRkcmVzcyBjYWxsZWQgbWUuBAJkbQkA2QQBBQJkbAQCY3kJALUJAgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEBUAAFAWwFAWsEAmN4CQERQGV4dHJOYXRpdmUoMTA2MikBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAU8AAihMZWdhY3kgZmFjdG9yeSBjb250cmFjdCBkb2VzIG5vdCBleGlzdHMuAwkAZwIAAAUCZGkFA25pbAMJAQ9jb250YWluc0VsZW1lbnQCBQJjeQkApQgBBQJkagkAlAoCBQNuaWwFAmN4CQCUCgIJAMwIAgkBB1JlaXNzdWUDBQJkbQUCZGkGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQJiawZjYWxsZXIFAmRpBQJkbQUDbmlsAgdzdWNjZXNzAmJrAQRidXJuAQJkbgQCZGoIBQJiawZjYWxsZXIEAmRrCAUCYmsMb3JpZ2luQ2FsbGVyBAJkbwkBBXZhbHVlAQkAkQMCCAUCYmsIcGF5bWVudHMAAAQCZHAJAQV2YWx1ZQEIBQJkbwZhbW91bnQEAmRxCQDYBAEJAQV2YWx1ZQEIBQJkbwdhc3NldElkBAJkcgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJAQJheAEJAKUIAQUCZGoCHUludmFsaWQgTFAgYWRkcmVzcyBjYWxsZWQgbWUuAwkBAiE9AgUCZHEFAmRyCQACAQIVSW52YWxpZCBhc3NldCBwYXNzZWQuAwkBAiE9AgUCZG4FAmRwCQACAQIWSW52YWxpZCBhbW91bnQgcGFzc2VkLgQCZG0JANkEAQUCZHIJAJQKAgkAzAgCCQEEQnVybgIFAmRtBQJkbgUDbmlsAgdzdWNjZXNzAmJrAQxtb2RpZnlXZWlnaHQCAmJDAmRzBAJjdQMJAAACCQDYBAEICAUCYmsGY2FsbGVyBWJ5dGVzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQFVAAIABgkBAmJsAQUCYmsDCQAAAgUCY3UFAmN1BAJhdgkBAmFHAQkBAmF5AQUCYkMEAmR0CQEBWgEFAmF2BAJkdQkBAVoBBQFmBAJkdgkBC3ZhbHVlT3JFbHNlAgkAnwgBBQJkdQAABAJjTAkBC3ZhbHVlT3JFbHNlAgkAnwgBBQJkdAAABAJkdwUCZHMEAmFZCQC1CQIJAQJhRwEJAQFLAAUBawQCY3EJAQJiYQEFAmFZBAJkeAkA/AcEBQJjcQIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCYkMJAMwIAgUCYXYFA25pbAUDbmlsAwkAAAIFAmR4BQJkeAQCZHkDCQAAAgUCZHYAAAUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJkdQAABQNuaWwEAmR6CQECYWICBQJhdgAABAJkQQkAnwgBBQJkegQCZEIDCQAAAgUCZEEFBHVuaXQFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBBQJkegUDbmlsCQDOCAIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZHQFAmR3BQNuaWwFAmR5BQJkQgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiawENbW9kaWZ5V2VpZ2h0cwQCZEMCZEQCZEUCZEYEAmN1CQECYmwBBQJiawMJAAACBQJjdQUCY3UEAmRHCQBpAgkAaAIABQUBZQBkBAJkSAkAaQIJAGgCAAUFAWUAZAQCZEkJAGkCCQBoAgAFBQFlAGQEAmFZCQC1CQIJAQJhRwEJAQFLAAUBawQCZEoJAQJiYQEFAmFZBAJkSwkBAmJiAQUCYVkEAmRMCQEBWgEFAmRDBAJkTQkBAVoBBQJkRAQCZE4JAQFaAQUCZEUEAmRPCQEBWgEFAmRGBAJkUAkBAmFKAQUCZEwEAmRRCQECYUoBBQJkTQQCZFIJAGUCBQJkUAUCZEkEAmRTCQBlAgUCZFEFAmRJAwkAZwIAAAUCZFIJAAIBCQCsAgICFmludmFsaWQgYnRjV2VpZ2h0TmV3OiAJAKQDAQUCZFIDCQBnAgAABQJkUwkAAgEJAKwCAgIWaW52YWxpZCBldGhXZWlnaHROZXc6IAkApAMBBQJkUwQCZFQJAQJhRwEJAQJheAEFAmRDBAJkVQkBAmFHAQkBAmF4AQUCZEQEAmRWCQECYUcBCQECYXgBBQJkRQQCZFcJAQJhRwEJAQJheAEFAmRGBAJkWAkA/AcEBQJkSgIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZFQJAMwIAgUCZEMFA25pbAUDbmlsAwkAAAIFAmRYBQJkWAQCZFkJAPwHBAUCZEoCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmRVCQDMCAIFAmREBQNuaWwFA25pbAMJAAACBQJkWQUCZFkEAmRaCQD8BwQFAmRKAg5vbk1vZGlmeVdlaWdodAkAzAgCBQJkVgkAzAgCBQJkRQUDbmlsBQNuaWwDCQAAAgUCZFoFAmRaBAJlYQkA/AcEBQJkSgIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZFcJAMwIAgUCZEYFA25pbAUDbmlsAwkAAAIFAmVhBQJlYQkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZEwFAmRSCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJkTQUCZFMJAMwIAgkBDEludGVnZXJFbnRyeQIFAmROBQJkRwkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZE8FAmRICQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWICBQJkQwAABQJkUAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFiAgUCZEQAAAUCZFEJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhYgIFAmRFAAAFAmRHCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWICBQJkRgAABQJkSAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJrARhjaGVja1d4RW1pc3Npb25Qb29sTGFiZWwCAmFBAmFCBAJlYgQCYmQJAKAIAQkBAmF6AgUCYUEFAmFCAwkAAQIFAmJkAgdCb29sZWFuBAJlYwUCYmQFAmVjBwkAlAoCBQNuaWwFAmViAmJrARZzZXRXeEVtaXNzaW9uUG9vbExhYmVsAgJhQQJhQgQCY3UJAQJiWAEFAmJrAwkAAAIFAmN1BQJjdQkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCCQECYXoCBQJhQQUCYUIGBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmsBGWRlbGV0ZVd4RW1pc3Npb25Qb29sTGFiZWwCAmFBAmFCBAJjdQMJAQJiagEFAmJrBgkBAmJYAQUCYmsDCQAAAgUCY3UFAmN1CQCUCgIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF6AgUCYUEFAmFCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmsBEm9uVmVyaWZpY2F0aW9uTG9zcwECZWQEAmN1AwkAAAIJANgEAQgIBQJiawZjYWxsZXIFYnl0ZXMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAVQAAgAGCQECYmwBBQJiawMJAAACBQJjdQUCY3UEAmNCCQECYmMABAJlZQMJAGYCCQCQAwEFAmNCAAAGCQACAQIUaW52YWxpZCBwcmljZSBhc3NldHMDCQAAAgUCZWUFAmVlCgECZWYCAmVnAmVoBAJlaQkA/AcEBQR0aGlzAhlkZWxldGVXeEVtaXNzaW9uUG9vbExhYmVsCQDMCAIFAmVkCQDMCAIFAmVoBQNuaWwFA25pbAMJAAACBQJlaQUCZWkFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EAmVqCgACZWsFAmNCCgACZWwJAJADAQUCZWsKAAJlbQUEdW5pdAoBAmVuAgJlbwJlcAMJAGcCBQJlcAUCZWwFAmVvCQECZWYCBQJlbwkAkQMCBQJlawUCZXAKAQJlcQICZW8CZXADCQBnAgUCZXAFAmVsBQJlbwkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDIJAQJlcQIJAQJlbgIJAQJlbgIFAmVtAAAAAQACAwkAAAIFAmVqBQJlagkAlAoCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYmsBKGlzUG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkUkVBRE9OTFkBAmFhBAJkZwkBAmJPAQUCYWEEAmFsCQCUCgIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkZwUBQQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRnBQFCBAJlcgkBC3ZhbHVlT3JFbHNlAgkAoAgBCQECYWsBBQJhbAcEAmVzCQELdmFsdWVPckVsc2UCCQCgCAEJAQJhbgAHCQCUCgIFA25pbAMFAmVzBgUCZXICYmsBEGdldEluRmVlUkVBRE9OTFkBAmFhBAJldAkBAmNhAwkBAmFDAQUCYWEJAQJhRAAAAAkAlAoCBQNuaWwFAmV0AmJrARFnZXRPdXRGZWVSRUFET05MWQECYWEEAmV0CQECY2EDCQECYUUBBQJhYQkBAmFGAAkAawMACgUBYgCQTgkAlAoCBQNuaWwFAmV0AmJrARBwb29sSW5mb1JFQURPTkxZAgJldQJldgQCZXcJAJoIAgUEdGhpcwkBAmFmAQUCZXUEAmV4CQCaCAIFBHRoaXMJAQJhZgEFAmV2BAJleQkAnQgCBQR0aGlzCQECYXcCCQEFdmFsdWUBBQJldwkBBXZhbHVlAQUCZXgEAmV6CQCdCAIFBHRoaXMJAQJheAEJAQV2YWx1ZQEFAmV5BAJjVAMDCQEJaXNEZWZpbmVkAQUCZXcJAQlpc0RlZmluZWQBBQJleAcJAQlpc0RlZmluZWQBBQJleQcEAmVBAwUCY1QJAJQKAgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQUCZXkJAQJhSwEJAQV2YWx1ZQEFAmV6BQR1bml0CQCUCgIFA25pbAUCZUECYmsBFWdldFBvb2xTdGF0dXNSRUFET05MWQECYWEEAmJQCQC1CQIJAQJhRwEJAQJhdQEFAmFhBQFrBAJhaQkAkQMCBQJiUAABBAJhagkAkQMCBQJiUAACBAJjZwkAtQkCCQECYUcBCQECYWgCBQJhaQUCYWoFAWsJAJQKAgUDbmlsCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCY2cFAXUCYmsBFWdldFBvb2xDb25maWdSRUFET05MWQECYWEEAmJQCQC1CQIJAQJhRwEJAQJhdQEFAmFhBQFrBAJhaQkAkQMCBQJiUAABBAJhagkAkQMCBQJiUAACBAJjZwkAtQkCCQECYUcBCQECYWgCBQJhaQUCYWoFAWsJAJQKAgUDbmlsBQJjZwJiawEScG9vbEV4aXN0c1JFQURPTkxZAgJhQQJhQgkAlAoCBQNuaWwJAQJjZAIFAmFBBQJhQgECZUIBAmVDAAQCZUQEAmJkCQECYmYAAwkAAQIFAmJkAgpCeXRlVmVjdG9yBAJibQUCYmQFAmJtAwkAAQIFAmJkAgRVbml0CAUCZUIPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmVCCWJvZHlCeXRlcwkAkQMCCAUCZUIGcHJvb2ZzAAAFAmVE7TEwnQ==", "height": 2469522, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9hxUnoNDR4JTSnaj33niyLiBpaHfh4xMa3wF9PSpWazR Next: 7szi2dBe73huhhDiHeJtx8rnY5cCLgxAiJvRAYneQ3uE Diff:
OldNewDifferences
1717
1818 let h = 2000000
1919
20-let i = ((100 * 1000) * 1000)
20+let i = "WAVES"
2121
22-let j = "__"
22+let j = ((100 * 1000) * 1000)
2323
24-let k = ""
24+let k = "__"
2525
26-let l = 1
26+let l = ""
2727
28-let m = 2
28+let m = 1
2929
30-let n = 3
30+let n = 2
3131
32-let o = 4
32+let o = 3
3333
34-let p = 1
34+let p = 4
3535
36-let q = 2
36+let q = 1
3737
38-let r = 3
38+let r = 2
3939
40-let s = 1
40+let s = 3
4141
42-let t = 2
42+let t = 1
4343
44-let u = 3
44+let u = 2
4545
46-let v = 4
46+let v = 3
4747
48-let w = 5
48+let w = 4
4949
50-let x = 6
50+let x = 5
5151
52-let y = 7
52+let y = 6
5353
54-let z = 8
54+let z = 7
5555
56-let A = 9
56+let A = 8
5757
58-let B = 10
58+let B = 9
5959
60-let C = 11
60+let C = 10
6161
62-let D = "WX_EMISSION"
62+let D = 11
6363
64-let E = [D]
64+let E = "WX_EMISSION"
6565
66-func F () = "%s__allowedLpScriptHash"
66+let F = [E]
67+
68+func G () = "%s__allowedLpScriptHash"
6769
6870
69-func G () = "%s__allowedLpStableScriptHash"
71+func H () = "%s__allowedLpStableScriptHash"
7072
7173
72-func H () = "%s__allowedLpStableAddonScriptHash"
74+func I () = "%s__allowedLpStableAddonScriptHash"
7375
7476
75-func I () = "%s__swapContract"
77+func J () = "%s__swapContract"
7678
7779
78-func J () = "%s__factoryConfig"
80+func K () = "%s__factoryConfig"
7981
8082
81-func K () = "%s__lpTokensList"
83+func L () = "%s__lpTokensList"
8284
8385
84-func L () = "%s%s__pool__scriptHash"
86+func M () = "%s%s__pool__scriptHash"
8587
8688
87-func M () = "%s%s__matcher__publicKey"
89+func N () = "%s%s__matcher__publicKey"
8890
8991
90-func N () = "%s__legacyFactoryContract"
92+func O () = "%s__legacyFactoryContract"
9193
9294
93-func O () = "%s__legacyPools"
95+func P () = "%s__legacyPools"
9496
9597
96-func P () = "%s__managerPublicKey"
98+func Q () = "%s__managerPublicKey"
9799
98100
99-func Q () = "%s__pendingManagerPublicKey"
101+func R () = "%s__pendingManagerPublicKey"
100102
101103
102-func R () = "%s__adminPubKeys"
104+func S () = "%s__adminPubKeys"
103105
104106
105-func S () = "%s__assetsStoreContract"
107+func T () = "%s__assetsStoreContract"
106108
107109
108-func T () = "%s__votingEmissionContract"
110+func U () = "%s__votingEmissionContract"
109111
110112
111-func U () = makeString(["%s", "priceAssets"], j)
113+func V () = makeString(["%s", "priceAssets"], k)
112114
113115
114-func V () = "%s__priceDecimals"
116+func W () = "%s__priceDecimals"
115117
116118
117-func W () = "%s__shutdown"
119+func X () = "%s__shutdown"
118120
119121
120-func X () = "%s__nextInternalAssetId"
122+func Y () = "%s__nextInternalAssetId"
121123
122124
123-func Y (Z) = ("%s%s__poolWeight__" + Z)
125+func Z (aa) = ("%s%s__poolWeight__" + aa)
124126
125127
126-func aa (Z,ab) = ((("%s%s__poolWeight__" + Z) + "__") + toString(ab))
128+func ab (aa,ac) = ((("%s%s__poolWeight__" + aa) + "__") + toString(ac))
127129
128130
129-func ac (ad) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ad))
131+func ad (ae) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ae))
130132
131133
132-func ae (af) = ("%s%s%s__mappings__baseAsset2internalId__" + af)
134+func af (ag) = ("%s%s%s__mappings__baseAsset2internalId__" + ag)
133135
134136
135-func ag (ah,ai) = (((("%d%d%s__" + ah) + "__") + ai) + "__config")
137+func ah (ai,aj) = (((("%d%d%s__" + ai) + "__") + aj) + "__config")
136138
137139
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)
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)
143145 }
144146
145147
146-func am () = makeString(["%s", "oneTokenOperationsDisabled"], j)
148+func an () = makeString(["%s", "oneTokenOperationsDisabled"], k)
147149
148150
149-func an (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2Pool")
151+func ao (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2Pool")
150152
151153
152-func ap (aq,ar) = (((("%d%d%s%s__" + aq) + "__") + ar) + "__mappings__PoolAssets2LpAsset")
154+func aq (ar,as) = (((("%d%d%s%s__" + ar) + "__") + as) + "__mappings__PoolAssets2LpAsset")
153155
154156
155-func as (Z) = ("%s%s__spread__" + Z)
157+func at (aa) = ("%s%s__spread__" + aa)
156158
157159
158-func at (au) = (("%s%s%s__" + au) + "__mappings__poolContract2PoolAssets")
160+func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2PoolAssets")
159161
160162
161-func av (aq,ar) = (((("%d%d%s%s__" + toString(aq)) + "__") + toString(ar)) + "__mappings__poolAssets2PoolContract")
163+func aw (ar,as) = (((("%d%d%s%s__" + toString(ar)) + "__") + toString(as)) + "__mappings__poolAssets2PoolContract")
162164
163165
164-func aw (au) = (("%s%s%s__" + au) + "__mappings__poolContract2LpAsset")
166+func ax (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
165167
166168
167-func ax (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2PoolContract")
169+func ay (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2PoolContract")
168170
169171
170-func ay (az,aA) = ((("%s%s%s__wxEmission__" + az) + "__") + aA)
172+func az (aA,aB) = ((("%s%s%s__wxEmission__" + aA) + "__") + aB)
171173
172174
173-func aB (Z) = ("%s%s__inFee__" + Z)
175+func aC (aa) = ("%s%s__inFee__" + aa)
174176
175177
176-func aC () = "%s__inFeeDefault"
178+func aD () = "%s__inFeeDefault"
177179
178180
179-func aD (Z) = ("%s%s__outFee__" + Z)
181+func aE (aa) = ("%s%s__outFee__" + aa)
180182
181183
182-func aE () = "%s__outFeeDefault"
184+func aF () = "%s__outFeeDefault"
183185
184186
185-func aF (aG) = valueOrErrorMessage(getString(this, aG), ("No data for this.key=" + aG))
187+func aG (aH) = valueOrErrorMessage(getString(this, aH), ("No data for this.key=" + aH))
186188
187189
188-func aH (aG) = valueOrErrorMessage(getBoolean(this, aG), ("No data for this.key=" + aG))
190+func aI (aH) = valueOrErrorMessage(getBoolean(this, aH), ("No data for this.key=" + aH))
189191
190192
191-func aI (aG) = valueOrErrorMessage(getInteger(this, aG), ("No data for this.key=" + aG))
193+func aJ (aH) = valueOrErrorMessage(getInteger(this, aH), ("No data for this.key=" + aH))
192194
193195
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])
196+func aK (aL) = if ((aL == i))
197+ then unit
198+ else fromBase58String(aL)
217199
218200
219-func aW (aV) = addressFromStringValue(aV[aN])
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])
220224
221225
222-func aX (aV) = addressFromStringValue(aV[aJ])
226+func aZ (aY) = addressFromStringValue(aY[aQ])
223227
224228
225-func aY (aV) = addressFromStringValue(aV[aS])
229+func ba (aY) = addressFromStringValue(aY[aM])
226230
227231
228-func aZ () = {
229- let ba = getString(U())
230- if ($isInstanceOf(ba, "String"))
232+func bb (aY) = addressFromStringValue(aY[aV])
233+
234+
235+func bc () = {
236+ let bd = getString(V())
237+ if ($isInstanceOf(bd, "String"))
231238 then {
232- let bb = ba
233- if ((size(bb) == 0))
239+ let be = bd
240+ if ((size(be) == 0))
234241 then nil
235- else split(bb, j)
242+ else split(be, k)
236243 }
237244 else nil
238245 }
239246
240247
241-func bc () = {
242- let ba = getString(P())
243- if ($isInstanceOf(ba, "String"))
248+func bf () = {
249+ let bd = getString(Q())
250+ if ($isInstanceOf(bd, "String"))
244251 then {
245- let bb = ba
246- fromBase58String(bb)
252+ let be = bd
253+ fromBase58String(be)
247254 }
248- else if ($isInstanceOf(ba, "Unit"))
255+ else if ($isInstanceOf(bd, "Unit"))
249256 then unit
250257 else throw("Match error")
251258 }
252259
253260
254-func bd () = {
255- let ba = getString(Q())
256- if ($isInstanceOf(ba, "String"))
261+func bg () = {
262+ let bd = getString(R())
263+ if ($isInstanceOf(bd, "String"))
257264 then {
258- let bb = ba
259- fromBase58String(bb)
265+ let be = bd
266+ fromBase58String(be)
260267 }
261- else if ($isInstanceOf(ba, "Unit"))
268+ else if ($isInstanceOf(bd, "Unit"))
262269 then unit
263270 else throw("Match error")
264271 }
265272
266273
267-let be = throw("Permission denied")
274+let bh = throw("Permission denied")
268275
269-let bf = throw("Test error here")
276+let bi = throw("Test error here")
270277
271-func bg (bh) = if ((bh.caller == this))
278+func bj (bk) = if ((bk.caller == this))
272279 then true
273- else be
280+ else bh
274281
275282
276-func bi (bh) = {
277- let ba = bc()
278- if ($isInstanceOf(ba, "ByteVector"))
283+func bl (bk) = {
284+ let bd = bf()
285+ if ($isInstanceOf(bd, "ByteVector"))
279286 then {
280- let bj = ba
281- if ((bh.callerPublicKey == bj))
287+ let bm = bd
288+ if ((bk.callerPublicKey == bm))
282289 then true
283- else be
290+ else bh
284291 }
285- else if ($isInstanceOf(ba, "Unit"))
286- then bg(bh)
292+ else if ($isInstanceOf(bd, "Unit"))
293+ then bj(bk)
287294 else throw("Match error")
288295 }
289296
290297
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)
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)
292299
293300
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)
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)
295302
296303
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)
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)
298305
299306
300-func bI (bJ,bK) = makeString(["%d%d", toString(bJ), toString(bK)], j)
307+func bL (bM,bN) = makeString(["%d%d", toString(bM), toString(bN)], k)
301308
302309
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)
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)
308315 }
309316
310317
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))
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))
315322 then {
316- let bT = (bR + bP)
317- $Tuple3(bT, [IntegerEntry(X(), bT), IntegerEntry(ae(bO), bT), StringEntry(ac(bT), bO)], true)
323+ let bW = (bU + bS)
324+ $Tuple3(bW, [IntegerEntry(Y(), bW), IntegerEntry(af(bR), bW), StringEntry(ad(bW), bR)], true)
318325 }
319- else $Tuple3(bQ, nil, false)
320- bS
326+ else $Tuple3(bT, nil, false)
327+ bV
321328 }
322329
323330
324-func bU (bh) = {
325- let bV = split(valueOrElse(getString(R()), k), j)
326- if (containsElement(bV, toBase58String(bh.callerPublicKey)))
331+func bX (bk) = {
332+ let bY = split(valueOrElse(getString(S()), l), k)
333+ if (containsElement(bY, toBase58String(bk.callerPublicKey)))
327334 then true
328335 else {
329- let bW = bi(bh)
330- if ((bW == bW))
336+ let bZ = bl(bk)
337+ if ((bZ == bZ))
331338 then true
332339 else throw("Strict value is not equal to itself.")
333340 }
334341 }
335342
336343
337-func bX (aG,bY,bZ) = valueOrElse(getInteger(this, aG), valueOrElse(getInteger(this, bY), bZ))
344+func ca (aH,cb,cc) = valueOrElse(getInteger(this, aH), valueOrElse(getInteger(this, cb), cc))
338345
339346
340-func ca (az,aA) = {
341- let ah = getInteger(ae(az))
342- let ai = getInteger(ae(aA))
343- if (if ((ah == unit))
347+func cd (aA,aB) = {
348+ let ai = getInteger(af(aA))
349+ let aj = getInteger(af(aB))
350+ if (if ((ai == unit))
344351 then true
345- else (ai == unit))
352+ else (aj == unit))
346353 then false
347354 else {
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))
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))
353360 then true
354- else (ce != unit)
355- cf
361+ else (ch != unit)
362+ ci
356363 }
357364 }
358365
359366
360-@Callable(bh)
361-func getSwapContractREADONLY () = $Tuple2(nil, aF(I()))
367+@Callable(bk)
368+func getSwapContractREADONLY () = $Tuple2(nil, aG(J()))
362369
363370
364371
365-@Callable(bh)
366-func getLpAssetFromPoolAssetsREADONLY (cg,ch) = if (if ((cg == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
367- then (ch == "WAVES")
372+@Callable(bk)
373+func getLpAssetFromPoolAssetsREADONLY (cj,ck) = if (if ((cj == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
374+ then (ck == "WAVES")
368375 else false)
369376 then $Tuple2(nil, unit)
370377 else {
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))
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))
375382 then unit
376- else drop(value(ck), 4)
377- $Tuple2(nil, cl)
383+ else drop(value(cn), 4)
384+ $Tuple2(nil, co)
378385 }
379386
380387
381388
382-@Callable(bh)
383-func getPoolAddressFromLpAssetREADONLY (cm) = $Tuple2(nil, valueOrElse(getString(this, ax(cm)), ""))
389+@Callable(bk)
390+func getPoolAddressFromLpAssetREADONLY (cp) = $Tuple2(nil, valueOrElse(getString(this, ay(cp)), ""))
384391
385392
386393
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)]
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)]
392399 else throw("Strict value is not equal to itself.")
393400 }
394401
395402
396403
397-@Callable(bh)
398-func constructorV2 (cs) = {
399- let cr = bi(bh)
400- if ((cr == cr))
404+@Callable(bk)
405+func constructorV2 (cv) = {
406+ let cu = bl(bk)
407+ if ((cu == cu))
401408 then {
402- let ct = addressFromPublicKey(fromBase58String(cs))
403- if ((ct == ct))
404- then [StringEntry(M(), cs)]
409+ let cw = addressFromPublicKey(fromBase58String(cv))
410+ if ((cw == cw))
411+ then [StringEntry(N(), cv)]
405412 else throw("Strict value is not equal to itself.")
406413 }
407414 else throw("Strict value is not equal to itself.")
409416
410417
411418
412-@Callable(bh)
413-func constructorV3 (bs,bt,bu,bv) = {
414- let cr = bi(bh)
415- if ((cr == cr))
419+@Callable(bk)
420+func constructorV3 (bv,bw,bx,by) = {
421+ let cu = bl(bk)
422+ if ((cu == cu))
416423 then {
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))]
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))]
419426 }
420427 else throw("Strict value is not equal to itself.")
421428 }
422429
423430
424431
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))]
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))]
430437 else throw("Strict value is not equal to itself.")
431438 }
432439
433440
434441
435-@Callable(bh)
436-func constructorV5 (cw) = {
437- let cr = bi(bh)
438- if ((cr == cr))
439- then [StringEntry(S(), cw)]
442+@Callable(bk)
443+func constructorV5 (cz) = {
444+ let cu = bl(bk)
445+ if ((cu == cu))
446+ then [StringEntry(T(), cz)]
440447 else throw("Strict value is not equal to itself.")
441448 }
442449
443450
444451
445-@Callable(bh)
446-func constructorV6 (cx,cy) = {
447- let cz = [bi(bh), if ((addressFromString(cx) != unit))
452+@Callable(bk)
453+func constructorV6 (cA,cB) = {
454+ let cC = [bl(bk), if ((addressFromString(cA) != unit))
448455 then true
449456 else "invalid voting emission contract address"]
450- if ((cz == cz))
451- then [StringEntry(T(), cx), StringEntry(U(), makeString(cy, j))]
457+ if ((cC == cC))
458+ then [StringEntry(U(), cA), StringEntry(V(), makeString(cB, k))]
452459 else throw("Strict value is not equal to itself.")
453460 }
454461
455462
456463
457-@Callable(bh)
458-func setManager (cA) = {
459- let cr = bi(bh)
460- if ((cr == cr))
464+@Callable(bk)
465+func setManager (cD) = {
466+ let cu = bl(bk)
467+ if ((cu == cu))
461468 then {
462- let cB = fromBase58String(cA)
463- if ((cB == cB))
464- then [StringEntry(Q(), cA)]
469+ let cE = fromBase58String(cD)
470+ if ((cE == cE))
471+ then [StringEntry(R(), cD)]
465472 else throw("Strict value is not equal to itself.")
466473 }
467474 else throw("Strict value is not equal to itself.")
469476
470477
471478
472-@Callable(bh)
479+@Callable(bk)
473480 func confirmManager () = {
474- let cC = bd()
475- let cD = if (isDefined(cC))
481+ let cF = bg()
482+ let cG = if (isDefined(cF))
476483 then true
477484 else throw("No pending manager")
478- if ((cD == cD))
485+ if ((cG == cG))
479486 then {
480- let cE = if ((bh.callerPublicKey == value(cC)))
487+ let cH = if ((bk.callerPublicKey == value(cF)))
481488 then true
482489 else throw("You are not pending manager")
483- if ((cE == cE))
484- then [StringEntry(P(), toBase58String(value(cC))), DeleteEntry(Q())]
490+ if ((cH == cH))
491+ then [StringEntry(Q(), toBase58String(value(cF))), DeleteEntry(R())]
485492 else throw("Strict value is not equal to itself.")
486493 }
487494 else throw("Strict value is not equal to itself.")
489496
490497
491498
492-@Callable(bh)
493-func setAdmins (cF) = {
494- let cr = bi(bh)
495- if ((cr == cr))
496- then [StringEntry(R(), makeString(cF, j))]
499+@Callable(bk)
500+func setAdmins (cI) = {
501+ let cu = bl(bk)
502+ if ((cu == cu))
503+ then [StringEntry(S(), makeString(cI, k))]
497504 else throw("Strict value is not equal to itself.")
498505 }
499506
500507
501508
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."))
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."))
508515 else {
509- let cK = bN(bA, 1)
510- let cL = cK._1
511- let cM = bN(bB, if (cK._3)
516+ let cN = bQ(bD, 1)
517+ let cO = cN._1
518+ let cP = bQ(bE, if (cN._3)
512519 then 2
513520 else 1)
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."))
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."))
520527 else {
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"))
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"))
534541 then throw("Pool initialisation error happened.")
535542 else {
536- let cw = addressFromStringValue(aF(S()))
537- let cX = invoke(cw, "createOrUpdate", [cV, cG, false], nil)
538- if ((cX == cX))
543+ let cz = addressFromStringValue(aG(T()))
544+ let da = invoke(cz, "createOrUpdate", [cY, cJ, false], nil)
545+ if ((da == da))
539546 then {
540- let cY = invoke(cw, "addLabel", [cV, g], nil)
541- if ((cY == cY))
547+ let db = invoke(cz, "addLabel", [cY, g], nil)
548+ if ((db == db))
542549 then {
543- let cZ = invoke(cw, "setLogo", [cV, cJ], nil)
544- if ((cZ == cZ))
550+ let dc = invoke(cz, "setLogo", [cY, cM], nil)
551+ if ((dc == dc))
545552 then {
546- let da = invoke(cw, "addAssetsLink", [bA, bB, cV], nil)
547- if ((da == da))
553+ let dd = invoke(cz, "addAssetsLink", [bD, bE, cY], nil)
554+ if ((dd == dd))
548555 then {
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)
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)
552559 else throw("Strict value is not equal to itself.")
553560 }
554561 else throw("Strict value is not equal to itself.")
567574
568575
569576
570-@Callable(bh)
571-func managePool (Z,dc) = {
572- let cr = bi(bh)
573- if ((cr == cr))
577+@Callable(bk)
578+func managePool (aa,df) = {
579+ let cu = bl(bk)
580+ if ((cu == cu))
574581 then {
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))]
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))]
587594 }
588595 else throw("Strict value is not equal to itself.")
589596 }
590597
591598
592599
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))
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))
602609 then nil
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")
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")
606613 }
607614
608615
609616
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))
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))
619626 then throw("Invalid asset passed.")
620- else if ((dk != dm))
627+ else if ((dn != dp))
621628 then throw("Invalid amount passed.")
622629 else {
623- let dj = fromBase58String(do)
624- $Tuple2([Burn(dj, dk)], "success")
630+ let dm = fromBase58String(dr)
631+ $Tuple2([Burn(dm, dn)], "success")
625632 }
626633 }
627634
628635
629636
630-@Callable(bh)
631-func modifyWeight (bz,dp) = {
632- let cr = if ((toBase58String(bh.caller.bytes) == valueOrElse(getString(this, T()), "")))
637+@Callable(bk)
638+func modifyWeight (bC,ds) = {
639+ let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, U()), "")))
633640 then true
634- else bi(bh)
635- if ((cr == cr))
641+ else bl(bk)
642+ if ((cu == cu))
636643 then {
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))
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))
647654 then {
648- let dv = if ((ds == 0))
655+ let dy = if ((dv == 0))
649656 then nil
650- else [IntegerEntry(dr, 0)]
651- let dw = aa(au, 0)
652- let dx = getInteger(dw)
653- let dy = if ((dx == unit))
657+ else [IntegerEntry(du, 0)]
658+ let dz = ab(av, 0)
659+ let dA = getInteger(dz)
660+ let dB = if ((dA == unit))
654661 then nil
655- else [DeleteEntry(dw)]
656- (([IntegerEntry(dq, dt)] ++ dv) ++ dy)
662+ else [DeleteEntry(dz)]
663+ (([IntegerEntry(dt, dw)] ++ dy) ++ dB)
657664 }
658665 else throw("Strict value is not equal to itself.")
659666 }
662669
663670
664671
665-@Callable(bh)
666-func modifyWeights (dz,dA,dB,dC) = {
667- let cr = bi(bh)
668- if ((cr == cr))
672+@Callable(bk)
673+func modifyWeights (dC,dD,dE,dF) = {
674+ let cu = bl(bk)
675+ if ((cu == cu))
669676 then {
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)))
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)))
688695 else {
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))
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))
695702 then {
696- let dV = invoke(dG, "onModifyWeight", [dR, dA], nil)
697- if ((dV == dV))
703+ let dY = invoke(dJ, "onModifyWeight", [dU, dD], nil)
704+ if ((dY == dY))
698705 then {
699- let dW = invoke(dG, "onModifyWeight", [dS, dB], nil)
700- if ((dW == dW))
706+ let dZ = invoke(dJ, "onModifyWeight", [dV, dE], nil)
707+ if ((dZ == dZ))
701708 then {
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)]
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)]
705712 else throw("Strict value is not equal to itself.")
706713 }
707714 else throw("Strict value is not equal to itself.")
716723
717724
718725
719-@Callable(bh)
720-func checkWxEmissionPoolLabel (az,aA) = {
721- let dY = {
722- let ba = getBoolean(ay(az, aA))
723- if ($isInstanceOf(ba, "Boolean"))
726+@Callable(bk)
727+func checkWxEmissionPoolLabel (aA,aB) = {
728+ let eb = {
729+ let bd = getBoolean(az(aA, aB))
730+ if ($isInstanceOf(bd, "Boolean"))
724731 then {
725- let dZ = ba
726- dZ
732+ let ec = bd
733+ ec
727734 }
728735 else false
729736 }
730- $Tuple2(nil, dY)
737+ $Tuple2(nil, eb)
731738 }
732739
733740
734741
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)
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)
740747 else throw("Strict value is not equal to itself.")
741748 }
742749
743750
744751
745-@Callable(bh)
746-func deleteWxEmissionPoolLabel (az,aA) = {
747- let cr = if (bg(bh))
752+@Callable(bk)
753+func deleteWxEmissionPoolLabel (aA,aB) = {
754+ let cu = if (bj(bk))
748755 then true
749- else bU(bh)
750- if ((cr == cr))
751- then $Tuple2([DeleteEntry(ay(az, aA))], unit)
756+ else bX(bk)
757+ if ((cu == cu))
758+ then $Tuple2([DeleteEntry(az(aA, aB))], unit)
752759 else throw("Strict value is not equal to itself.")
753760 }
754761
755762
756763
757-@Callable(bh)
758-func onVerificationLoss (ea) = {
759- let cr = if ((toBase58String(bh.caller.bytes) == valueOrElse(getString(this, S()), "")))
764+@Callable(bk)
765+func onVerificationLoss (ed) = {
766+ let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, T()), "")))
760767 then true
761- else bi(bh)
762- if ((cr == cr))
768+ else bl(bk)
769+ if ((cu == cu))
763770 then {
764- let cy = aZ()
765- let eb = if ((size(cy) > 0))
771+ let cB = bc()
772+ let ee = if ((size(cB) > 0))
766773 then true
767774 else throw("invalid price assets")
768- if ((eb == eb))
775+ if ((ee == ee))
769776 then {
770- func ec (ed,ee) = {
771- let ef = invoke(this, "deleteWxEmissionPoolLabel", [ea, ee], nil)
772- if ((ef == ef))
777+ func ef (eg,eh) = {
778+ let ei = invoke(this, "deleteWxEmissionPoolLabel", [ed, eh], nil)
779+ if ((ei == ei))
773780 then unit
774781 else throw("Strict value is not equal to itself.")
775782 }
776783
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])
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])
784791
785- func en (el,em) = if ((em >= ei))
786- then el
792+ func eq (eo,ep) = if ((ep >= el))
793+ then eo
787794 else throw("List size exceeds 2")
788795
789- en(ek(ek(ej, 0), 1), 2)
796+ eq(en(en(em, 0), 1), 2)
790797 }
791- if ((eg == eg))
798+ if ((ej == ej))
792799 then $Tuple2(nil, unit)
793800 else throw("Strict value is not equal to itself.")
794801 }
799806
800807
801808
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)
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)
809816 then true
810- else eo)
817+ else er)
811818 }
812819
813820
814821
815-@Callable(bh)
816-func getInFeeREADONLY (Z) = {
817- let eq = bX(aB(Z), aC(), 0)
818- $Tuple2(nil, eq)
822+@Callable(bk)
823+func getInFeeREADONLY (aa) = {
824+ let et = ca(aC(aa), aD(), 0)
825+ $Tuple2(nil, et)
819826 }
820827
821828
822829
823-@Callable(bh)
824-func getOutFeeREADONLY (Z) = {
825- let eq = bX(aD(Z), aE(), fraction(10, b, 10000))
826- $Tuple2(nil, eq)
830+@Callable(bk)
831+func getOutFeeREADONLY (aa) = {
832+ let et = ca(aE(aa), aF(), fraction(10, b, 10000))
833+ $Tuple2(nil, et)
827834 }
828835
829836
830837
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]))
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)
838853 }
839854
840855
841856
842-@Callable(bh)
843-func getPoolConfigREADONLY (Z) = {
844- let bM = split(aF(at(Z)), j)
845- let ah = bM[1]
846- let ai = bM[2]
847- let cd = split(aF(ag(ah, ai)), j)
848- $Tuple2(nil, cd)
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]))
849864 }
850865
851866
852867
853-@Callable(bh)
854-func poolExistsREADONLY (az,aA) = $Tuple2(nil, ca(az, aA))
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+ }
855876
856877
857-@Verifier(er)
858-func es () = {
859- let et = {
860- let ba = bc()
861- if ($isInstanceOf(ba, "ByteVector"))
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"))
862888 then {
863- let bj = ba
864- bj
889+ let bm = bd
890+ bm
865891 }
866- else if ($isInstanceOf(ba, "Unit"))
867- then er.senderPublicKey
892+ else if ($isInstanceOf(bd, "Unit"))
893+ then eB.senderPublicKey
868894 else throw("Match error")
869895 }
870- sigVerify(er.bodyBytes, er.proofs[0], et)
896+ sigVerify(eB.bodyBytes, eB.proofs[0], eD)
871897 }
872898
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 = ((100 * 1000) * 1000)
20+let i = "WAVES"
2121
22-let j = "__"
22+let j = ((100 * 1000) * 1000)
2323
24-let k = ""
24+let k = "__"
2525
26-let l = 1
26+let l = ""
2727
28-let m = 2
28+let m = 1
2929
30-let n = 3
30+let n = 2
3131
32-let o = 4
32+let o = 3
3333
34-let p = 1
34+let p = 4
3535
36-let q = 2
36+let q = 1
3737
38-let r = 3
38+let r = 2
3939
40-let s = 1
40+let s = 3
4141
42-let t = 2
42+let t = 1
4343
44-let u = 3
44+let u = 2
4545
46-let v = 4
46+let v = 3
4747
48-let w = 5
48+let w = 4
4949
50-let x = 6
50+let x = 5
5151
52-let y = 7
52+let y = 6
5353
54-let z = 8
54+let z = 7
5555
56-let A = 9
56+let A = 8
5757
58-let B = 10
58+let B = 9
5959
60-let C = 11
60+let C = 10
6161
62-let D = "WX_EMISSION"
62+let D = 11
6363
64-let E = [D]
64+let E = "WX_EMISSION"
6565
66-func F () = "%s__allowedLpScriptHash"
66+let F = [E]
67+
68+func G () = "%s__allowedLpScriptHash"
6769
6870
69-func G () = "%s__allowedLpStableScriptHash"
71+func H () = "%s__allowedLpStableScriptHash"
7072
7173
72-func H () = "%s__allowedLpStableAddonScriptHash"
74+func I () = "%s__allowedLpStableAddonScriptHash"
7375
7476
75-func I () = "%s__swapContract"
77+func J () = "%s__swapContract"
7678
7779
78-func J () = "%s__factoryConfig"
80+func K () = "%s__factoryConfig"
7981
8082
81-func K () = "%s__lpTokensList"
83+func L () = "%s__lpTokensList"
8284
8385
84-func L () = "%s%s__pool__scriptHash"
86+func M () = "%s%s__pool__scriptHash"
8587
8688
87-func M () = "%s%s__matcher__publicKey"
89+func N () = "%s%s__matcher__publicKey"
8890
8991
90-func N () = "%s__legacyFactoryContract"
92+func O () = "%s__legacyFactoryContract"
9193
9294
93-func O () = "%s__legacyPools"
95+func P () = "%s__legacyPools"
9496
9597
96-func P () = "%s__managerPublicKey"
98+func Q () = "%s__managerPublicKey"
9799
98100
99-func Q () = "%s__pendingManagerPublicKey"
101+func R () = "%s__pendingManagerPublicKey"
100102
101103
102-func R () = "%s__adminPubKeys"
104+func S () = "%s__adminPubKeys"
103105
104106
105-func S () = "%s__assetsStoreContract"
107+func T () = "%s__assetsStoreContract"
106108
107109
108-func T () = "%s__votingEmissionContract"
110+func U () = "%s__votingEmissionContract"
109111
110112
111-func U () = makeString(["%s", "priceAssets"], j)
113+func V () = makeString(["%s", "priceAssets"], k)
112114
113115
114-func V () = "%s__priceDecimals"
116+func W () = "%s__priceDecimals"
115117
116118
117-func W () = "%s__shutdown"
119+func X () = "%s__shutdown"
118120
119121
120-func X () = "%s__nextInternalAssetId"
122+func Y () = "%s__nextInternalAssetId"
121123
122124
123-func Y (Z) = ("%s%s__poolWeight__" + Z)
125+func Z (aa) = ("%s%s__poolWeight__" + aa)
124126
125127
126-func aa (Z,ab) = ((("%s%s__poolWeight__" + Z) + "__") + toString(ab))
128+func ab (aa,ac) = ((("%s%s__poolWeight__" + aa) + "__") + toString(ac))
127129
128130
129-func ac (ad) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ad))
131+func ad (ae) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ae))
130132
131133
132-func ae (af) = ("%s%s%s__mappings__baseAsset2internalId__" + af)
134+func af (ag) = ("%s%s%s__mappings__baseAsset2internalId__" + ag)
133135
134136
135-func ag (ah,ai) = (((("%d%d%s__" + ah) + "__") + ai) + "__config")
137+func ah (ai,aj) = (((("%d%d%s__" + ai) + "__") + aj) + "__config")
136138
137139
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)
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)
143145 }
144146
145147
146-func am () = makeString(["%s", "oneTokenOperationsDisabled"], j)
148+func an () = makeString(["%s", "oneTokenOperationsDisabled"], k)
147149
148150
149-func an (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2Pool")
151+func ao (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2Pool")
150152
151153
152-func ap (aq,ar) = (((("%d%d%s%s__" + aq) + "__") + ar) + "__mappings__PoolAssets2LpAsset")
154+func aq (ar,as) = (((("%d%d%s%s__" + ar) + "__") + as) + "__mappings__PoolAssets2LpAsset")
153155
154156
155-func as (Z) = ("%s%s__spread__" + Z)
157+func at (aa) = ("%s%s__spread__" + aa)
156158
157159
158-func at (au) = (("%s%s%s__" + au) + "__mappings__poolContract2PoolAssets")
160+func au (av) = (("%s%s%s__" + av) + "__mappings__poolContract2PoolAssets")
159161
160162
161-func av (aq,ar) = (((("%d%d%s%s__" + toString(aq)) + "__") + toString(ar)) + "__mappings__poolAssets2PoolContract")
163+func aw (ar,as) = (((("%d%d%s%s__" + toString(ar)) + "__") + toString(as)) + "__mappings__poolAssets2PoolContract")
162164
163165
164-func aw (au) = (("%s%s%s__" + au) + "__mappings__poolContract2LpAsset")
166+func ax (av) = (("%s%s%s__" + av) + "__mappings__poolContract2LpAsset")
165167
166168
167-func ax (ao) = (("%s%s%s__" + ao) + "__mappings__lpAsset2PoolContract")
169+func ay (ap) = (("%s%s%s__" + ap) + "__mappings__lpAsset2PoolContract")
168170
169171
170-func ay (az,aA) = ((("%s%s%s__wxEmission__" + az) + "__") + aA)
172+func az (aA,aB) = ((("%s%s%s__wxEmission__" + aA) + "__") + aB)
171173
172174
173-func aB (Z) = ("%s%s__inFee__" + Z)
175+func aC (aa) = ("%s%s__inFee__" + aa)
174176
175177
176-func aC () = "%s__inFeeDefault"
178+func aD () = "%s__inFeeDefault"
177179
178180
179-func aD (Z) = ("%s%s__outFee__" + Z)
181+func aE (aa) = ("%s%s__outFee__" + aa)
180182
181183
182-func aE () = "%s__outFeeDefault"
184+func aF () = "%s__outFeeDefault"
183185
184186
185-func aF (aG) = valueOrErrorMessage(getString(this, aG), ("No data for this.key=" + aG))
187+func aG (aH) = valueOrErrorMessage(getString(this, aH), ("No data for this.key=" + aH))
186188
187189
188-func aH (aG) = valueOrErrorMessage(getBoolean(this, aG), ("No data for this.key=" + aG))
190+func aI (aH) = valueOrErrorMessage(getBoolean(this, aH), ("No data for this.key=" + aH))
189191
190192
191-func aI (aG) = valueOrErrorMessage(getInteger(this, aG), ("No data for this.key=" + aG))
193+func aJ (aH) = valueOrErrorMessage(getInteger(this, aH), ("No data for this.key=" + aH))
192194
193195
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])
196+func aK (aL) = if ((aL == i))
197+ then unit
198+ else fromBase58String(aL)
217199
218200
219-func aW (aV) = addressFromStringValue(aV[aN])
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])
220224
221225
222-func aX (aV) = addressFromStringValue(aV[aJ])
226+func aZ (aY) = addressFromStringValue(aY[aQ])
223227
224228
225-func aY (aV) = addressFromStringValue(aV[aS])
229+func ba (aY) = addressFromStringValue(aY[aM])
226230
227231
228-func aZ () = {
229- let ba = getString(U())
230- if ($isInstanceOf(ba, "String"))
232+func bb (aY) = addressFromStringValue(aY[aV])
233+
234+
235+func bc () = {
236+ let bd = getString(V())
237+ if ($isInstanceOf(bd, "String"))
231238 then {
232- let bb = ba
233- if ((size(bb) == 0))
239+ let be = bd
240+ if ((size(be) == 0))
234241 then nil
235- else split(bb, j)
242+ else split(be, k)
236243 }
237244 else nil
238245 }
239246
240247
241-func bc () = {
242- let ba = getString(P())
243- if ($isInstanceOf(ba, "String"))
248+func bf () = {
249+ let bd = getString(Q())
250+ if ($isInstanceOf(bd, "String"))
244251 then {
245- let bb = ba
246- fromBase58String(bb)
252+ let be = bd
253+ fromBase58String(be)
247254 }
248- else if ($isInstanceOf(ba, "Unit"))
255+ else if ($isInstanceOf(bd, "Unit"))
249256 then unit
250257 else throw("Match error")
251258 }
252259
253260
254-func bd () = {
255- let ba = getString(Q())
256- if ($isInstanceOf(ba, "String"))
261+func bg () = {
262+ let bd = getString(R())
263+ if ($isInstanceOf(bd, "String"))
257264 then {
258- let bb = ba
259- fromBase58String(bb)
265+ let be = bd
266+ fromBase58String(be)
260267 }
261- else if ($isInstanceOf(ba, "Unit"))
268+ else if ($isInstanceOf(bd, "Unit"))
262269 then unit
263270 else throw("Match error")
264271 }
265272
266273
267-let be = throw("Permission denied")
274+let bh = throw("Permission denied")
268275
269-let bf = throw("Test error here")
276+let bi = throw("Test error here")
270277
271-func bg (bh) = if ((bh.caller == this))
278+func bj (bk) = if ((bk.caller == this))
272279 then true
273- else be
280+ else bh
274281
275282
276-func bi (bh) = {
277- let ba = bc()
278- if ($isInstanceOf(ba, "ByteVector"))
283+func bl (bk) = {
284+ let bd = bf()
285+ if ($isInstanceOf(bd, "ByteVector"))
279286 then {
280- let bj = ba
281- if ((bh.callerPublicKey == bj))
287+ let bm = bd
288+ if ((bk.callerPublicKey == bm))
282289 then true
283- else be
290+ else bh
284291 }
285- else if ($isInstanceOf(ba, "Unit"))
286- then bg(bh)
292+ else if ($isInstanceOf(bd, "Unit"))
293+ then bj(bk)
287294 else throw("Match error")
288295 }
289296
290297
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)
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)
292299
293300
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)
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)
295302
296303
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)
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)
298305
299306
300-func bI (bJ,bK) = makeString(["%d%d", toString(bJ), toString(bK)], j)
307+func bL (bM,bN) = makeString(["%d%d", toString(bM), toString(bN)], k)
301308
302309
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)
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)
308315 }
309316
310317
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))
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))
315322 then {
316- let bT = (bR + bP)
317- $Tuple3(bT, [IntegerEntry(X(), bT), IntegerEntry(ae(bO), bT), StringEntry(ac(bT), bO)], true)
323+ let bW = (bU + bS)
324+ $Tuple3(bW, [IntegerEntry(Y(), bW), IntegerEntry(af(bR), bW), StringEntry(ad(bW), bR)], true)
318325 }
319- else $Tuple3(bQ, nil, false)
320- bS
326+ else $Tuple3(bT, nil, false)
327+ bV
321328 }
322329
323330
324-func bU (bh) = {
325- let bV = split(valueOrElse(getString(R()), k), j)
326- if (containsElement(bV, toBase58String(bh.callerPublicKey)))
331+func bX (bk) = {
332+ let bY = split(valueOrElse(getString(S()), l), k)
333+ if (containsElement(bY, toBase58String(bk.callerPublicKey)))
327334 then true
328335 else {
329- let bW = bi(bh)
330- if ((bW == bW))
336+ let bZ = bl(bk)
337+ if ((bZ == bZ))
331338 then true
332339 else throw("Strict value is not equal to itself.")
333340 }
334341 }
335342
336343
337-func bX (aG,bY,bZ) = valueOrElse(getInteger(this, aG), valueOrElse(getInteger(this, bY), bZ))
344+func ca (aH,cb,cc) = valueOrElse(getInteger(this, aH), valueOrElse(getInteger(this, cb), cc))
338345
339346
340-func ca (az,aA) = {
341- let ah = getInteger(ae(az))
342- let ai = getInteger(ae(aA))
343- if (if ((ah == unit))
347+func cd (aA,aB) = {
348+ let ai = getInteger(af(aA))
349+ let aj = getInteger(af(aB))
350+ if (if ((ai == unit))
344351 then true
345- else (ai == unit))
352+ else (aj == unit))
346353 then false
347354 else {
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))
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))
353360 then true
354- else (ce != unit)
355- cf
361+ else (ch != unit)
362+ ci
356363 }
357364 }
358365
359366
360-@Callable(bh)
361-func getSwapContractREADONLY () = $Tuple2(nil, aF(I()))
367+@Callable(bk)
368+func getSwapContractREADONLY () = $Tuple2(nil, aG(J()))
362369
363370
364371
365-@Callable(bh)
366-func getLpAssetFromPoolAssetsREADONLY (cg,ch) = if (if ((cg == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
367- then (ch == "WAVES")
372+@Callable(bk)
373+func getLpAssetFromPoolAssetsREADONLY (cj,ck) = if (if ((cj == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
374+ then (ck == "WAVES")
368375 else false)
369376 then $Tuple2(nil, unit)
370377 else {
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))
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))
375382 then unit
376- else drop(value(ck), 4)
377- $Tuple2(nil, cl)
383+ else drop(value(cn), 4)
384+ $Tuple2(nil, co)
378385 }
379386
380387
381388
382-@Callable(bh)
383-func getPoolAddressFromLpAssetREADONLY (cm) = $Tuple2(nil, valueOrElse(getString(this, ax(cm)), ""))
389+@Callable(bk)
390+func getPoolAddressFromLpAssetREADONLY (cp) = $Tuple2(nil, valueOrElse(getString(this, ay(cp)), ""))
384391
385392
386393
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)]
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)]
392399 else throw("Strict value is not equal to itself.")
393400 }
394401
395402
396403
397-@Callable(bh)
398-func constructorV2 (cs) = {
399- let cr = bi(bh)
400- if ((cr == cr))
404+@Callable(bk)
405+func constructorV2 (cv) = {
406+ let cu = bl(bk)
407+ if ((cu == cu))
401408 then {
402- let ct = addressFromPublicKey(fromBase58String(cs))
403- if ((ct == ct))
404- then [StringEntry(M(), cs)]
409+ let cw = addressFromPublicKey(fromBase58String(cv))
410+ if ((cw == cw))
411+ then [StringEntry(N(), cv)]
405412 else throw("Strict value is not equal to itself.")
406413 }
407414 else throw("Strict value is not equal to itself.")
408415 }
409416
410417
411418
412-@Callable(bh)
413-func constructorV3 (bs,bt,bu,bv) = {
414- let cr = bi(bh)
415- if ((cr == cr))
419+@Callable(bk)
420+func constructorV3 (bv,bw,bx,by) = {
421+ let cu = bl(bk)
422+ if ((cu == cu))
416423 then {
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))]
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))]
419426 }
420427 else throw("Strict value is not equal to itself.")
421428 }
422429
423430
424431
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))]
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))]
430437 else throw("Strict value is not equal to itself.")
431438 }
432439
433440
434441
435-@Callable(bh)
436-func constructorV5 (cw) = {
437- let cr = bi(bh)
438- if ((cr == cr))
439- then [StringEntry(S(), cw)]
442+@Callable(bk)
443+func constructorV5 (cz) = {
444+ let cu = bl(bk)
445+ if ((cu == cu))
446+ then [StringEntry(T(), cz)]
440447 else throw("Strict value is not equal to itself.")
441448 }
442449
443450
444451
445-@Callable(bh)
446-func constructorV6 (cx,cy) = {
447- let cz = [bi(bh), if ((addressFromString(cx) != unit))
452+@Callable(bk)
453+func constructorV6 (cA,cB) = {
454+ let cC = [bl(bk), if ((addressFromString(cA) != unit))
448455 then true
449456 else "invalid voting emission contract address"]
450- if ((cz == cz))
451- then [StringEntry(T(), cx), StringEntry(U(), makeString(cy, j))]
457+ if ((cC == cC))
458+ then [StringEntry(U(), cA), StringEntry(V(), makeString(cB, k))]
452459 else throw("Strict value is not equal to itself.")
453460 }
454461
455462
456463
457-@Callable(bh)
458-func setManager (cA) = {
459- let cr = bi(bh)
460- if ((cr == cr))
464+@Callable(bk)
465+func setManager (cD) = {
466+ let cu = bl(bk)
467+ if ((cu == cu))
461468 then {
462- let cB = fromBase58String(cA)
463- if ((cB == cB))
464- then [StringEntry(Q(), cA)]
469+ let cE = fromBase58String(cD)
470+ if ((cE == cE))
471+ then [StringEntry(R(), cD)]
465472 else throw("Strict value is not equal to itself.")
466473 }
467474 else throw("Strict value is not equal to itself.")
468475 }
469476
470477
471478
472-@Callable(bh)
479+@Callable(bk)
473480 func confirmManager () = {
474- let cC = bd()
475- let cD = if (isDefined(cC))
481+ let cF = bg()
482+ let cG = if (isDefined(cF))
476483 then true
477484 else throw("No pending manager")
478- if ((cD == cD))
485+ if ((cG == cG))
479486 then {
480- let cE = if ((bh.callerPublicKey == value(cC)))
487+ let cH = if ((bk.callerPublicKey == value(cF)))
481488 then true
482489 else throw("You are not pending manager")
483- if ((cE == cE))
484- then [StringEntry(P(), toBase58String(value(cC))), DeleteEntry(Q())]
490+ if ((cH == cH))
491+ then [StringEntry(Q(), toBase58String(value(cF))), DeleteEntry(R())]
485492 else throw("Strict value is not equal to itself.")
486493 }
487494 else throw("Strict value is not equal to itself.")
488495 }
489496
490497
491498
492-@Callable(bh)
493-func setAdmins (cF) = {
494- let cr = bi(bh)
495- if ((cr == cr))
496- then [StringEntry(R(), makeString(cF, j))]
499+@Callable(bk)
500+func setAdmins (cI) = {
501+ let cu = bl(bk)
502+ if ((cu == cu))
503+ then [StringEntry(S(), makeString(cI, k))]
497504 else throw("Strict value is not equal to itself.")
498505 }
499506
500507
501508
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."))
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."))
508515 else {
509- let cK = bN(bA, 1)
510- let cL = cK._1
511- let cM = bN(bB, if (cK._3)
516+ let cN = bQ(bD, 1)
517+ let cO = cN._1
518+ let cP = bQ(bE, if (cN._3)
512519 then 2
513520 else 1)
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."))
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."))
520527 else {
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"))
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"))
534541 then throw("Pool initialisation error happened.")
535542 else {
536- let cw = addressFromStringValue(aF(S()))
537- let cX = invoke(cw, "createOrUpdate", [cV, cG, false], nil)
538- if ((cX == cX))
543+ let cz = addressFromStringValue(aG(T()))
544+ let da = invoke(cz, "createOrUpdate", [cY, cJ, false], nil)
545+ if ((da == da))
539546 then {
540- let cY = invoke(cw, "addLabel", [cV, g], nil)
541- if ((cY == cY))
547+ let db = invoke(cz, "addLabel", [cY, g], nil)
548+ if ((db == db))
542549 then {
543- let cZ = invoke(cw, "setLogo", [cV, cJ], nil)
544- if ((cZ == cZ))
550+ let dc = invoke(cz, "setLogo", [cY, cM], nil)
551+ if ((dc == dc))
545552 then {
546- let da = invoke(cw, "addAssetsLink", [bA, bB, cV], nil)
547- if ((da == da))
553+ let dd = invoke(cz, "addAssetsLink", [bD, bE, cY], nil)
554+ if ((dd == dd))
548555 then {
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)
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)
552559 else throw("Strict value is not equal to itself.")
553560 }
554561 else throw("Strict value is not equal to itself.")
555562 }
556563 else throw("Strict value is not equal to itself.")
557564 }
558565 else throw("Strict value is not equal to itself.")
559566 }
560567 else throw("Strict value is not equal to itself.")
561568 }
562569 else throw("Strict value is not equal to itself.")
563570 }
564571 }
565572 else throw("Strict value is not equal to itself.")
566573 }
567574
568575
569576
570-@Callable(bh)
571-func managePool (Z,dc) = {
572- let cr = bi(bh)
573- if ((cr == cr))
577+@Callable(bk)
578+func managePool (aa,df) = {
579+ let cu = bl(bk)
580+ if ((cu == cu))
574581 then {
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))]
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))]
587594 }
588595 else throw("Strict value is not equal to itself.")
589596 }
590597
591598
592599
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))
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))
602609 then nil
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")
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")
606613 }
607614
608615
609616
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))
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))
619626 then throw("Invalid asset passed.")
620- else if ((dk != dm))
627+ else if ((dn != dp))
621628 then throw("Invalid amount passed.")
622629 else {
623- let dj = fromBase58String(do)
624- $Tuple2([Burn(dj, dk)], "success")
630+ let dm = fromBase58String(dr)
631+ $Tuple2([Burn(dm, dn)], "success")
625632 }
626633 }
627634
628635
629636
630-@Callable(bh)
631-func modifyWeight (bz,dp) = {
632- let cr = if ((toBase58String(bh.caller.bytes) == valueOrElse(getString(this, T()), "")))
637+@Callable(bk)
638+func modifyWeight (bC,ds) = {
639+ let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, U()), "")))
633640 then true
634- else bi(bh)
635- if ((cr == cr))
641+ else bl(bk)
642+ if ((cu == cu))
636643 then {
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))
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))
647654 then {
648- let dv = if ((ds == 0))
655+ let dy = if ((dv == 0))
649656 then nil
650- else [IntegerEntry(dr, 0)]
651- let dw = aa(au, 0)
652- let dx = getInteger(dw)
653- let dy = if ((dx == unit))
657+ else [IntegerEntry(du, 0)]
658+ let dz = ab(av, 0)
659+ let dA = getInteger(dz)
660+ let dB = if ((dA == unit))
654661 then nil
655- else [DeleteEntry(dw)]
656- (([IntegerEntry(dq, dt)] ++ dv) ++ dy)
662+ else [DeleteEntry(dz)]
663+ (([IntegerEntry(dt, dw)] ++ dy) ++ dB)
657664 }
658665 else throw("Strict value is not equal to itself.")
659666 }
660667 else throw("Strict value is not equal to itself.")
661668 }
662669
663670
664671
665-@Callable(bh)
666-func modifyWeights (dz,dA,dB,dC) = {
667- let cr = bi(bh)
668- if ((cr == cr))
672+@Callable(bk)
673+func modifyWeights (dC,dD,dE,dF) = {
674+ let cu = bl(bk)
675+ if ((cu == cu))
669676 then {
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)))
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)))
688695 else {
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))
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))
695702 then {
696- let dV = invoke(dG, "onModifyWeight", [dR, dA], nil)
697- if ((dV == dV))
703+ let dY = invoke(dJ, "onModifyWeight", [dU, dD], nil)
704+ if ((dY == dY))
698705 then {
699- let dW = invoke(dG, "onModifyWeight", [dS, dB], nil)
700- if ((dW == dW))
706+ let dZ = invoke(dJ, "onModifyWeight", [dV, dE], nil)
707+ if ((dZ == dZ))
701708 then {
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)]
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)]
705712 else throw("Strict value is not equal to itself.")
706713 }
707714 else throw("Strict value is not equal to itself.")
708715 }
709716 else throw("Strict value is not equal to itself.")
710717 }
711718 else throw("Strict value is not equal to itself.")
712719 }
713720 }
714721 else throw("Strict value is not equal to itself.")
715722 }
716723
717724
718725
719-@Callable(bh)
720-func checkWxEmissionPoolLabel (az,aA) = {
721- let dY = {
722- let ba = getBoolean(ay(az, aA))
723- if ($isInstanceOf(ba, "Boolean"))
726+@Callable(bk)
727+func checkWxEmissionPoolLabel (aA,aB) = {
728+ let eb = {
729+ let bd = getBoolean(az(aA, aB))
730+ if ($isInstanceOf(bd, "Boolean"))
724731 then {
725- let dZ = ba
726- dZ
732+ let ec = bd
733+ ec
727734 }
728735 else false
729736 }
730- $Tuple2(nil, dY)
737+ $Tuple2(nil, eb)
731738 }
732739
733740
734741
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)
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)
740747 else throw("Strict value is not equal to itself.")
741748 }
742749
743750
744751
745-@Callable(bh)
746-func deleteWxEmissionPoolLabel (az,aA) = {
747- let cr = if (bg(bh))
752+@Callable(bk)
753+func deleteWxEmissionPoolLabel (aA,aB) = {
754+ let cu = if (bj(bk))
748755 then true
749- else bU(bh)
750- if ((cr == cr))
751- then $Tuple2([DeleteEntry(ay(az, aA))], unit)
756+ else bX(bk)
757+ if ((cu == cu))
758+ then $Tuple2([DeleteEntry(az(aA, aB))], unit)
752759 else throw("Strict value is not equal to itself.")
753760 }
754761
755762
756763
757-@Callable(bh)
758-func onVerificationLoss (ea) = {
759- let cr = if ((toBase58String(bh.caller.bytes) == valueOrElse(getString(this, S()), "")))
764+@Callable(bk)
765+func onVerificationLoss (ed) = {
766+ let cu = if ((toBase58String(bk.caller.bytes) == valueOrElse(getString(this, T()), "")))
760767 then true
761- else bi(bh)
762- if ((cr == cr))
768+ else bl(bk)
769+ if ((cu == cu))
763770 then {
764- let cy = aZ()
765- let eb = if ((size(cy) > 0))
771+ let cB = bc()
772+ let ee = if ((size(cB) > 0))
766773 then true
767774 else throw("invalid price assets")
768- if ((eb == eb))
775+ if ((ee == ee))
769776 then {
770- func ec (ed,ee) = {
771- let ef = invoke(this, "deleteWxEmissionPoolLabel", [ea, ee], nil)
772- if ((ef == ef))
777+ func ef (eg,eh) = {
778+ let ei = invoke(this, "deleteWxEmissionPoolLabel", [ed, eh], nil)
779+ if ((ei == ei))
773780 then unit
774781 else throw("Strict value is not equal to itself.")
775782 }
776783
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])
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])
784791
785- func en (el,em) = if ((em >= ei))
786- then el
792+ func eq (eo,ep) = if ((ep >= el))
793+ then eo
787794 else throw("List size exceeds 2")
788795
789- en(ek(ek(ej, 0), 1), 2)
796+ eq(en(en(em, 0), 1), 2)
790797 }
791- if ((eg == eg))
798+ if ((ej == ej))
792799 then $Tuple2(nil, unit)
793800 else throw("Strict value is not equal to itself.")
794801 }
795802 else throw("Strict value is not equal to itself.")
796803 }
797804 else throw("Strict value is not equal to itself.")
798805 }
799806
800807
801808
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)
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)
809816 then true
810- else eo)
817+ else er)
811818 }
812819
813820
814821
815-@Callable(bh)
816-func getInFeeREADONLY (Z) = {
817- let eq = bX(aB(Z), aC(), 0)
818- $Tuple2(nil, eq)
822+@Callable(bk)
823+func getInFeeREADONLY (aa) = {
824+ let et = ca(aC(aa), aD(), 0)
825+ $Tuple2(nil, et)
819826 }
820827
821828
822829
823-@Callable(bh)
824-func getOutFeeREADONLY (Z) = {
825- let eq = bX(aD(Z), aE(), fraction(10, b, 10000))
826- $Tuple2(nil, eq)
830+@Callable(bk)
831+func getOutFeeREADONLY (aa) = {
832+ let et = ca(aE(aa), aF(), fraction(10, b, 10000))
833+ $Tuple2(nil, et)
827834 }
828835
829836
830837
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]))
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)
838853 }
839854
840855
841856
842-@Callable(bh)
843-func getPoolConfigREADONLY (Z) = {
844- let bM = split(aF(at(Z)), j)
845- let ah = bM[1]
846- let ai = bM[2]
847- let cd = split(aF(ag(ah, ai)), j)
848- $Tuple2(nil, cd)
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]))
849864 }
850865
851866
852867
853-@Callable(bh)
854-func poolExistsREADONLY (az,aA) = $Tuple2(nil, ca(az, aA))
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+ }
855876
856877
857-@Verifier(er)
858-func es () = {
859- let et = {
860- let ba = bc()
861- if ($isInstanceOf(ba, "ByteVector"))
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"))
862888 then {
863- let bj = ba
864- bj
889+ let bm = bd
890+ bm
865891 }
866- else if ($isInstanceOf(ba, "Unit"))
867- then er.senderPublicKey
892+ else if ($isInstanceOf(bd, "Unit"))
893+ then eB.senderPublicKey
868894 else throw("Match error")
869895 }
870- sigVerify(er.bodyBytes, er.proofs[0], et)
896+ sigVerify(eB.bodyBytes, eB.proofs[0], eD)
871897 }
872898

github/deemru/w8io/873ac7e 
334.08 ms