tx · ASsqrptUXF22J5oGHCHycHbwscBLGPUFu5tWdxHSZcRN

3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp:  -0.02300000 Waves

2022.12.16 18:16 [2363028] smart account 3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp > SELF 0.00000000 Waves

{ "type": 13, "id": "ASsqrptUXF22J5oGHCHycHbwscBLGPUFu5tWdxHSZcRN", "fee": 2300000, "feeAssetId": null, "timestamp": 1671203896237, "version": 1, "sender": "3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp", "senderPublicKey": "86RHVxKovtU7yKnepY8wKsd8niDxGAsiwuA1XA1DNqrS", "proofs": [ "647kMSLhWdrGWk5GmFjHbVRunKpF7sdwPJrUkxzc4VmraZ9pfDHL1ZmKbxKccGBePnrMV7WQCh2A5YdbHzKD4E31" ], "script": "base64:BgL7IQgCEgMKAQgSAwoBCBIECgIICBIJCgcBERERGAgYEgcKBRERERgIEgcKBQEBAQgIEgASAwoBCBIECgIIARIECgIIARIECgIIARIDCgEIEgYKBAgBCAESBQoDARgYEgMKARgSAwoBCBIAIgZTQ0FMRTgiBU1VTFQ4IgdTQ0FMRTE4IgZNVUxUMTgiA1NFUCIOUE9PTFdFSUdIVE1VTFQiCnplcm9CaWdJbnQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiGGdldFN0cmluZ0J5QWRkcmVzc09yRmFpbCIHYWRkcmVzcyIMZ2V0SW50T3JaZXJvIgxnZXRJbnRPckZhaWwiCWFzQW55TGlzdCIDdmFsIgckbWF0Y2gwIgp2YWxBbnlMeXN0IgVhc0ludCIGdmFsSW50Ighhc1N0cmluZyIGdmFsU3RyIhFrZXlGYWN0b3J5QWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiGElkeEZhY3RvcnlDZmdTdGFraW5nRGFwcCIZSWR4RmFjdG9yeUNmZ0Jvb3N0aW5nRGFwcCIUSWR4RmFjdG9yeUNmZ0lkb0RhcHAiFUlkeEZhY3RvcnlDZmdUZWFtRGFwcCIZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcCIVSWR4RmFjdG9yeUNmZ1Jlc3REYXBwIhlJZHhGYWN0b3J5Q2ZnU2xpcHBhZ2VEYXBwIhpJZHhGYWN0b3J5Q2ZnR3d4UmV3YXJkRGFwcCINa2V5RmFjdG9yeUNmZyIaa2V5RmFjdG9yeUxwMkFzc2V0c01hcHBpbmciCmxwQXNzZXRTdHIiEGtleUZhY3RvcnlMcExpc3QiJmtleUZhY3RvcnlMcEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIhRrZXlGYWN0b3J5UG9vbFdlaWdodCIPY29udHJhY3RBZGRyZXNzIhhyZWFkRmFjdG9yeUFkZHJlc3NPckZhaWwiCnJlYWRMcExpc3QiFHJlYWRGYWN0b3J5Q2ZnT3JGYWlsIgdmYWN0b3J5IhhnZXRCb29zdGluZ0FkZHJlc3NPckZhaWwiBGZDZmciGGdldEVtaXNzaW9uQWRkcmVzc09yRmFpbCIXZ2V0U3Rha2luZ0FkZHJlc3NPckZhaWwiGWdldEd3eFJld2FyZEFkZHJlc3NPckZhaWwiC2tleUJvb3N0Q2ZnIh9rZXlCb29zdGluZ0xvY2tQYXJhbVRvdGFsQW1vdW50IihrZXlCb29zdGluZ1N0YXRzTG9ja3NEdXJhdGlvblN1bUluQmxvY2tzIhprZXlCb29zdGluZ1N0YXRzTG9ja3NDb3VudCIaa2V5Qm9vc3RpbmdTdGF0c1VzZXJzQ291bnQiEmtleVVzZXIyTnVtTWFwcGluZyILdXNlckFkZHJlc3MiEmtleU51bTJVc2VyTWFwcGluZyIDbnVtIhZrZXlMb2NrUGFyYW1Vc2VyQW1vdW50Igd1c2VyTnVtIhZrZXlMb2NrUGFyYW1TdGFydEJsb2NrIhRrZXlMb2NrUGFyYW1EdXJhdGlvbiINa2V5TG9ja1BhcmFtSyINa2V5TG9ja1BhcmFtQiIVa2V5TG9ja1BhcmFtQnlQZXJpb2RLIgZwZXJpb2QiFWtleUxvY2tQYXJhbUJ5UGVyaW9kQiIga2V5VXNlckJvb3N0RW1pc3Npb25MYXN0SU5URUdSQUwiF2tleVVzZXJNYXhCb29zdElOVEVHUkFMIhhrZXlUb3RhbE1heEJvb3N0SU5URUdSQUwiIWtleVVzZXJCb29zdEF2YWxhaWJsZVRvQ2xhaW1Ub3RhbCITa2V5VXNlckJvb3N0Q2xhaW1lZCIRa2V5VG90YWxDYWNoZWRHd3giD2tleVN0YWtlZEJ5VXNlciIOdXNlckFkZHJlc3NTdHIiDGxwQXNzZXRJZFN0ciIOa2V5U3Rha2VkVG90YWwiEGtleUNsYWltZWRCeVVzZXIiGWtleUNsYWltZWRCeVVzZXJNaW5SZXdhcmQiG2tleUNsYWltZWRCeVVzZXJCb29zdFJld2FyZCIKcmVhZFN0YWtlZCILc3Rha2luZ0RhcHAiHmtleUVtaXNzaW9uUmF0ZVBlckJsb2NrQ3VycmVudCIha2V5RW1pc3Npb25SYXRlUGVyQmxvY2tNYXhDdXJyZW50IhVrZXlFbWlzc2lvblN0YXJ0QmxvY2siG2tleUVtaXNzaW9uRHVyYXRpb25JbkJsb2NrcyITa2V5RW1pc3Npb25FbmRCbG9jayIMa2V5QWRkb25BZGRyIgpnZXRQb29sRmVlIgtwb29sQWRkcmVzcyIKZmVlRGVmYXVsdCIGa2V5RmVlIgtmYWN0b3J5RGFwcCIKZmFjdG9yeUNmZyIMZW1pc3Npb25EYXBwIg1nd3hSZXdhcmREYXBwIgxib29zdGluZ0RhcHAiGWludGVybmFsQ3VycmVudFJld2FyZFJhdGUiCWxwQXNzZXRJZCIOcG9vbEFkZHJlc3NTdHIiDnBvb2xXZWlnaHRNdWx0Igpwb29sV2VpZ2h0IhJ3eEVtaXNzaW9uUGVyQmxvY2siFXd4RW1pc3Npb25QZXJCbG9ja01heCINYm9vc3RNYXhDb2VmZiIWcG9vbFd4RW1pc3Npb25QZXJCbG9jayIZcG9vbFd4RW1pc3Npb25QZXJCbG9ja01heCIJbWF4RmFjdG9yIg10b3RhbExwU3Rha2VkIhpjYWxjR3d4QW1vdW50U3RhcnRSRUFET05MWSIKbG9ja0Ftb3VudCIMbG9ja0R1cmF0aW9uIg9tYXhMb2NrRHVyYXRpb24iB2NvZWZmWDgiDmdXeEFtb3VudFN0YXJ0IgZnZXRLZXkiBGFkZHIiBHR5cGUiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiAXMiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0IgttdXN0TWFuYWdlciIBaSICcGQiAnBrIg5mYWN0b3J5QWRkcmVzcyILY2hlY2tDYWxsZXIiCnJld2FyZERhdGEiDmxwU3Rha2VkQnlVc2VyIg11c2VyQ2xhaW1JbmZvIg1taW5SZXdhcmRQYXJ0Ig9ib29zdFJld2FyZFBhcnQiBWRlYnVnIg1ib29zdGluZ1Bvd2VyIgtjdXJyZW50SXRlciIRZGVsdGFXeEFtb3VudEJ1bGsiG2RlbHRhTG9ja1BlcmlvZEluQmxvY2tzQnVsayIRZGVsdGFMcEFtb3VudEJ1bGsiEGxwQXNzZXRJZE9wdEJ1bGsiDnVzZXJBZGRyZXNzT3B0IgZyZXNBY2MiDWRlbHRhV3hBbW91bnQiF2RlbHRhTG9ja1BlcmlvZEluQmxvY2tzIg1kZWx0YUxwQW1vdW50IgxscEFzc2V0SWRPcHQiBGluZm8iAUAiA3JlcyIDaW52IghtYXRoRGFwcCIIRU1QVFlTVFIiF21heExvY2tEdXJhdGlvbkluQmxvY2tzIgp1c2VyTnVtU3RyIgp1c2VyQW1vdW50Iglsb2NrU3RhcnQiB2xvY2tFbmQiEXJlbWFpbmluZ0R1cmF0aW9uIg11c2VyQW1vdW50TmV3Ig9sb2NrRHVyYXRpb25OZXciEXVzZXJDdXJyZ1d4QW1vdW50IhFnV3hBbW91bnRTdGFydE5ldyITZ1d4UGFyYW1zUmVzdWx0TGlzdCINZ1d4QW1vdW50RGlmZiIBayIBYiIYdG90YWxNYXhCb29zdEludGVncmFsS0VZIhJ1c2VyTWF4Qm9vc3RJbnROZXciEHRvdGFsTWF4Qm9vc3RJbnQiDnRvdGFsQ2FjaGVkR3d4IgVNVUxUMyIUd3hFbWlzc2lvblBlckJsb2NrWDMiD3N0YWtlZEJ5VXNlcktFWSIOc3Rha2VkVG90YWxLRVkiDHN0YWtlZEJ5VXNlciILc3Rha2VkVG90YWwiD3N0YWtlZEJ5VXNlck5ldyIOc3Rha2VkVG90YWxOZXciGHBvb2xXeEVtaXNzaW9uUGVyQmxvY2tYMyIJd3hQZXJMcFgzIhB1c2VyV3hQZXJCbG9ja1gzIhdib29zdEVtaXNzaW9uUGVyQmxvY2tYMyIWdG1wVXNlckJvb3N0UGVyQmxvY2tYMyITdXNlckJvb3N0UGVyQmxvY2tYMyIKYm9vc3RDb2VmZiIHT05FTVVMVCIDT05FIhJlbWlzc2lvblN0YXJ0QmxvY2siDHBhc3NlZEJsb2NrcyIOdGVhbUVtRHVyYXRpb24iCXRlYW1FbU1heCIGdGVhbUVtIg90b3RhbFd4UmVsZWFzZWQiDXRvdGFsV3hMb2NrZWQiGGxvY2tzRHVyYXRpb25TdW1JbkJsb2NrcyIKbG9ja3NDb3VudCIHbHBBc3NldCIDY2ZnIgphbXRBc3NldElkIgxwcmljZUFzc2V0SWQiC2lBbXRBc3NldElkIg1pUHJpY2VBc3NldElkIgthbXRBc3NldERjbSINcHJpY2VBc3NldERjbSINcG9vbExQQmFsYW5jZSISYWNjQW10QXNzZXRCYWxhbmNlIhRhY2NQcmljZUFzc2V0QmFsYW5jZSIKcHJpY2VzTGlzdCIIY3VyUHJpY2UiD2xwQW10QXNzZXRTaGFyZSIRbHBQcmljZUFzc2V0U2hhcmUiA2ZlZSIecG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIh1wb29sT25lVG9rZW5PcGVyYXRpb25zRW5hYmxlZCIMaW5BbUFzc2V0QW10IgxhbUFzc2V0SWRTdHIiCWFtQXNzZXRJZCIMcHJBc3NldElkU3RyIglwckFzc2V0SWQiCnBvb2xTdGF0dXMiDmFtdEFzc2V0QW10WDE4IhBwcmljZUFzc2V0QW10WDE4IgtjdXJQcmljZVgxOCIPaW5BbUFzc2V0QW10WDE4Ig9pblByQXNzZXRBbXRYMTgiDGluUHJBc3NldEFtdCINJHQwMjI2NjYyMzAxOSIJY2FsY0xwQW10IgxjdXJQcmljZUNhbGMiCWFtQmFsYW5jZSIJcHJCYWxhbmNlIgpscEVtaXNzaW9uIgxhbUJhbGFuY2VSYXciDHByQmFsYW5jZVJhdyIPYW1CYWxhbmNlUmF3WDE4Ig9wckJhbGFuY2VSYXdYMTgiDSR0MDI1NTkyMjU5NDUiEHBheW1lbnRMcEFzc2V0SWQiDHBheW1lbnRMcEFtdCINJHQwMjY2NDAyNzA1NyIIb3V0QW1BbXQiCG91dFByQW10Ig9nd3hVc2VySW5mb0xJU1QiCWd3eEFtb3VudCINdW5zdGFrZUFtb3VudCIKb3V0QXNzZXRJZCIMbWluT3V0QW1vdW50IgRrZXlzIhdwZW5kaW5nTWFuYWdlclB1YmxpY0tleSIVY2hlY2tNYW5hZ2VyUHVibGljS2V5IgJwbSIFaGFzUE0iB2NoZWNrUE0iAnR4IgZ2ZXJpZnkiD3RhcmdldFB1YmxpY0tleVwAAWEACAABYgCAwtcvAAFjABIAAWQJALYCAQCAgJC7utat8A0AAWUCAl9fAAFmBQFiAAFnCQC2AgEAAAABaAABAAFpAAIAAWoAAwABawAEAAFsAAUAAW0ABgABbgAHAAFvAAgAAXAACQABcQAKAQFyAQFzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQUBcwkA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cnRCbG9jawECYVEAAhglcyVzX19lbWlzc2lvbl9fZHVyYXRpb24BAmFSAAIYJXMlc19fZW1pc3Npb25fX2VuZEJsb2NrAQJhUwACDSVzX19hZGRvbkFkZHIBAmFUAQJhVQQCYVYJAGsDAAoFAWIAkE4EAmFXAgclc19fZmVlCQELdmFsdWVPckVsc2UCCQCaCAIFAmFVBQJhVwUCYVYAAmFYCQEBWAAAAmFZCQEBWgEFAmFYAAJhWgkBAmFkAQUCYVkAAmFNCQECYWUBBQJhWQACYmEJAQJhZgEFAmFZAAJiYgkBAmFiAQUCYVkBAmJjAQJiZAQCYmUJAQF0AgUCYVgJAQFVAQUCYmQEAmJmBQFiBAJiZwkBEUBleHRyTmF0aXZlKDEwNTApAgUCYVgJAQFWAQUCYmUEAmJoCQEBdwIFAmFaCQECYU4ABAJiaQkBAXcCBQJhWgkBAmFPAAQCYmoAAwQCYmsJAGkCCQBrAwUCYmgFAmJnBQJiZgUCYmoEAmJsCQBrAwUCYmkFAmJnBQJiZgQCYm0JAGgCBQJiagUBYgQCYm4JAQF2AgUCYU0JAQJhSAEFAmJkCQDMCAIFAmJrCQDMCAIFAmJtCQDMCAIFAmJuBQNuaWwBAmJvAwJicAJicQJicgQCYnMJAGsDBQJicQUBYgUCYnIEAmJ0CQBrAwUCYnAFAmJzBQFiCQDMCAIFAmJ0BQNuaWwBAmJ1AwJidgFzAmJ3AwkAAAIFAmJ3AgZzdHJpbmcJARFAZXh0ck5hdGl2ZSgxMDUzKQIFAmJ2BQFzAwkAAAIFAmJ3AgdpbnRlZ2VyCQCkAwEJARFAZXh0ck5hdGl2ZSgxMDUwKQIFAmJ2BQFzAwkAAAIFAmJ3Agdib29sZWFuCQClAwEJARFAZXh0ck5hdGl2ZSgxMDUxKQIFAmJ2BQFzCQACAQItdW5rbm93biB0eXBlLiBleHBlY3RlZCBzdHJpbmcvaW50ZWdlci9ib29sZWFuAQJieAAEAXoJAKIIAQkBAUcAAwkAAQIFAXoCBlN0cmluZwQCYnkFAXoJANkEAQUCYnkDCQABAgUBegIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJiegAEAXoJAKIIAQkBAUgAAwkAAQIFAXoCBlN0cmluZwQCYnkFAXoJANkEAQUCYnkDCQABAgUBegIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJiQQECYkIEAmJDCQACAQIRUGVybWlzc2lvbiBkZW5pZWQEAXoJAQJieAADCQABAgUBegIKQnl0ZVZlY3RvcgQCYkQFAXoDCQAAAggFAmJCD2NhbGxlclB1YmxpY0tleQUCYkQGBQJiQwMJAAECBQF6AgRVbml0AwkAAAIIBQJiQgZjYWxsZXIFBHRoaXMGBQJiQwkAAgECC01hdGNoIGVycm9yEQJiQgELY29uc3RydWN0b3IBAmJFBAJiRgkBAmJBAQUCYkIDCQAAAgUCYkYFAmJGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFGAAUCYkUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiQgEZY3VycmVudFJld2FyZFJhdGVSRUFET05MWQECYmQEAmJHCQECYmMBBQJiZAQCYmgJAJEDAgUCYkcAAAQCYm0JAJEDAgUCYkcAAQQCYm4JAJEDAgUCYkcAAgkAlAoCBQNuaWwJALkJAgkAzAgCAgYlZCVkJWQJAMwIAgkApAMBBQJiaAkAzAgCCQCkAwEFAmJtCQDMCAIJAKQDAQUCYm4FA25pbAUBZQJiQgEdY3VycmVudFVzZXJSZXdhcmRSYXRlUkVBRE9OTFkCAmJkAmFtBAJiRwkBAmJjAQUCYmQEAmJoCQCRAwIFAmJHAAAEAmJtCQCRAwIFAmJHAAEEAmJuCQCRAwIFAmJHAAIEAmJICQEBdgIFAmFNCQECYUUCBQJhbQUCYmQEAmJJCQC1CQIJAQFEAQkA/AcEBQJhTQIPY2xhaW1XeFJFQURPTkxZCQDMCAIFAmJkCQDMCAIFAmFtBQNuaWwFA25pbAUBZQQCYkoJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBCQCRAwIFAmJJAAUCHGNvdWxkbid0IHBhcnNlIG1pblJld2FyZFBhcnQEAmJLCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQJiSQAGAh5jb3VsZG4ndCBwYXJzZSBib29zdFJld2FyZFBhcnQEAmJMCQCRAwIFAmJJAAcEAmJNAwkAAAIFAmJLAAAJAGgCAAEFAWIJAGsDCQBkAgUCYkoFAmJLBQFiBQJiSgkAlAoCBQNuaWwJALkJAgkAzAgCAgwlZCVkJWQlZCVkJXMJAMwIAgkApAMBBQJiaAkAzAgCCQCkAwEFAmJtCQDMCAIJAKQDAQUCYm4JAMwIAgkApAMBBQJiSAkAzAgCCQCkAwEFAmJNCQDMCAIFAmJMBQNuaWwFAWUCYkIBHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZBwJiTgJiTwJiUAJiUQJiUgJiUwJiVAMJAAACBQJiTgkAkAMBBQJiTwkAlAoCBQNuaWwFAmJUBAJiVQkAkQMCBQJiTwUCYk4EAmJWCQCRAwIFAmJQBQJiTgQCYlcJAJEDAgUCYlEFAmJOBAJiWAkAkQMCBQJiUgUCYk4EAmJZCgACYloJAPwHBAUEdGhpcwIRY2FsY0Jvb3N0UkVBRE9OTFkJAMwIAgUCYlUJAMwIAgUCYlYJAMwIAgUCYlcJAMwIAgUCYlgJAMwIAgUCYlMFA25pbAUDbmlsAwkAAQIFAmJaAgZTdHJpbmcFAmJaCQACAQkArAICCQADAQUCYloCGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwQCY2EJAM0IAgUCYlQFAmJZBAJjYgoAAmJaCQD8BwQFBHRoaXMCHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZCQDMCAIJAGQCBQJiTgABCQDMCAIFAmJPCQDMCAIFAmJQCQDMCAIFAmJRCQDMCAIFAmJSCQDMCAIFAmJTCQDMCAIFAmNhBQNuaWwFA25pbAMJAAECBQJiWgIJTGlzdFtBbnldBQJiWgkAAgEJAKwCAgkAAwEFAmJaAh4gY291bGRuJ3QgYmUgY2FzdCB0byBMaXN0W0FueV0DCQAAAgUCY2IFAmNiCQCUCgIFA25pbAUCY2IJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkIBFWNhbGNCb29zdEJ1bGtSRUFET05MWQUCYlUCYlYCYlcCYlgCYlMEAmNhCQD8BwQFBHRoaXMCHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZCQDMCAIAAAkAzAgCBQJiVQkAzAgCBQJiVgkAzAgCBQJiVwkAzAgCBQJiWAkAzAgCBQJiUwkAzAgCBQNuaWwFA25pbAUDbmlsCQCUCgIFA25pbAUCY2ECYkIBEWNhbGNCb29zdFJFQURPTkxZBQJiVQJiVgJiVwJiWAJiUwQCY2MFAmJhBAJjZAIFZW1wdHkEAmNlCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgkAtQkCCQEBdAIFAmJiCQECYWcABQFlAAQEAmFHAwkAAAIFAmJYAgAFAmNkBQJiWAQCYUYDCQAAAgUCYlMCAAUCY2QFAmJTBAJjZgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQJiYgkBAmFsAQUCYlMFAmNkBAJjZwkBC3ZhbHVlT3JFbHNlAgkAmggCBQJiYgkBAmFwAQUCY2YAAAQCY2gJAQt2YWx1ZU9yRWxzZQIJAJoIAgUCYmIJAQJhcgEFAmNmBQZoZWlnaHQEAmJxCQELdmFsdWVPckVsc2UCCQCaCAIFAmJiCQECYXMBBQJjZgAABAJjaQkAZAIFAmNoBQJicQQCY2oJAJYDAQkAzAgCCQBlAgUCY2kFBmhlaWdodAkAzAgCAAAFA25pbAQCY2sJAGQCBQJjZwUCYlUEAmNsCQCXAwEJAMwIAgkAZAIFAmNqBQJiVgkAzAgCBQJjZQUDbmlsBAJjbQkBAUIBCQCRAwIJAQF4AQkA/AcEBQJiYgITZ3d4VXNlckluZm9SRUFET05MWQkAzAgCBQJhRgUDbmlsBQNuaWwAAAQCY24JAJEDAgkBAmJvAwUCY2sFAmNsBQJjZQAABAJjbwkBAXgBCQD8BwQFAmNjAhVjYWxjR3d4UGFyYW1zUkVBRE9OTFkJAMwIAgUCY24JAMwIAgUGaGVpZ2h0CQDMCAIFAmNsBQNuaWwFA25pbAQCY3AJAGUCBQJjbgUCY20EAmNxCQEBQgEJAJEDAgUCY28AAAQCY3IJAQFCAQkAkQMCBQJjbwABBAJhdwkApAMBCQEBQgEJAJEDAgUCY28AAgQCY3MJAQJhQQAEAmN0CQBpAgkAaAIFAmNuBQJjbAACBAJjdQkBAXYCBQJiYgUCY3MEAmN2CgACYloJAPwHBAUCYmICGWdldFRvdGFsQ2FjaGVkR3d4UkVBRE9OTFkFA25pbAUDbmlsAwkAAQIFAmJaAgNJbnQFAmJaCQACAQkArAICCQADAQUCYloCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCY3cA6AcEAmN4CQBoAgkBAXcCBQJhWgkBAmFOAAUCY3cEAmN5CQECYUUCBQJhRgUCYUcEAmN6CQECYUgBBQJhRwQCY0EJAQJhTAIFAmFNBQJjeQQCY0IJAQJhTAIFAmFNBQJjegQCY0MJAGQCBQJjQQUCYlcEAmNECQBkAgUCY0IFAmJXBAJiZwMJAQIhPQIFAmFHBQJjZAQCYmUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQJhWAkBAVIBBQJhRwkArAICAhV1bnN1cHBvcnRlZCBscCBhc3NldCAFAmFHCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJhWAkBAVYBBQJiZQAABAJjRQkAawMFAmN4BQJiZwkAaAIFAWYAAwQCY0YDCQECIT0CBQJjRAAACQBrAwUCY0UFAWIFAmNEAAAEAmNHCQBrAwUCY0YFAmNDBQFiBAJjSAkAaAIFAmNFAAIEAmNJCQBrAwUCY24FAmNICQBkAgUCY3YFAmNwBAJjSgkAlwMBCQDMCAIFAmNJCQDMCAIJAGgCBQJjRwACBQNuaWwEAmNLAwkAAAIFAmNHAAAJAGgCAAEFAWIJAGsDCQBkAgUCY0oFAmNHBQFiBQJjRwkAlAoCBQNuaWwJALkJAgkAzAgCAgYlZCVkJXMJAMwIAgkApAMBBQJjbgkAzAgCCQCkAwEFAmNLCQDMCAICAWQFA25pbAUBZQJiQgEXd3hFbWlzc2lvblN0YXRzUkVBRE9OTFkABAJjTAkApAMBBQFiBAJjTQIBMQQCYmgJAQF3AgUCYVoJAQJhTgAEAmNOCQEBdwIFAmFaCQECYVAABAJjTwMJAGYCBQJjTgUGaGVpZ2h0AAAJAGUCBQZoZWlnaHQFAmNOBAJjUAkAaAIAoAsA7QIEAmNRCQBoAgDAiOxfBQFiBAJjUgMJAGYCBQJjTwUCY1AFAmNRCQBrAwUCY1EFAmNPBQJjUAQCY1MJAGQCCQBoAgUCYmgFAmNPBQJjUgQCY1QJAQF2AgUCYmIJAQJhaAAEAmNVCQEBdgIFAmJiCQECYWkABAJjVgkBAXYCBQJiYgkBAmFqAAkAlAoCBQNuaWwJALkJAgkAzAgCAgglZCVkJWQlZAkAzAgCCQCkAwEFAmNTCQDMCAIJAKQDAQUCY1QJAMwIAgkApAMBBQJjVQkAzAgCCQCkAwEFAmNWBQNuaWwFAWUCYkIBEXBvb2xTdGF0c1JFQURPTkxZAQJjVwQCYVUJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQF0AgUCYVgJAQFVAQUCY1cEAmNYCQEBeAEJAPwHBAUCYVUCHGdldFBvb2xDb25maWdXcmFwcGVyUkVBRE9OTFkFA25pbAUDbmlsBAJiZAkA2QQBCQEBRAEJAJEDAgUCY1gFAWoEAmNZCQEBRAEJAJEDAgUCY1gFAWsEAmNaCQEBRAEJAJEDAgUCY1gFAWwEAmRhCQEBRAEJAJEDAgUCY1gFAW8EAmRiCQEBRAEJAJEDAgUCY1gFAXAEAmRjCQENcGFyc2VJbnRWYWx1ZQEJAQFEAQkAkQMCBQJjWAUBbQQCZGQJAQ1wYXJzZUludFZhbHVlAQkBAUQBCQCRAwIFAmNYBQFuBAJkZQgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQJiZAkArAICCQCsAgICBkFzc2V0IAkA2AQBBQJiZAIOIGRvZXNuJ3QgZXhpc3QIcXVhbnRpdHkEAmRmCQEBQgEJAPwHBAUCYVUCHGdldEFjY0JhbGFuY2VXcmFwcGVyUkVBRE9OTFkJAMwIAgUCY1kFA25pbAUDbmlsBAJkZwkBAUIBCQD8BwQFAmFVAhxnZXRBY2NCYWxhbmNlV3JhcHBlclJFQURPTkxZCQDMCAIFAmNaBQNuaWwFA25pbAQCZGgDCQAAAgUCZGUAAAkAzAgCCQCmAwEFAWcJAMwIAgkApgMBBQFnCQDMCAIJAKYDAQUBZwUDbmlsCQEBeAEJAPwHBAUCYVUCGWNhbGNQcmljZXNXcmFwcGVyUkVBRE9OTFkJAMwIAgUCZGYJAMwIAgUCZGcJAMwIAgUCZGUFA25pbAUDbmlsBAJkaQAABAJkagkBAUIBCQD8BwQFAmFVAhZmcm9tWDE4V3JhcHBlclJFQURPTkxZCQDMCAIJAJEDAgUCZGgAAQkAzAgCBQFiBQNuaWwFA25pbAQCZGsJAQFCAQkA/AcEBQJhVQIWZnJvbVgxOFdyYXBwZXJSRUFET05MWQkAzAgCCQCRAwIFAmRoAAIJAMwIAgUBYgUDbmlsBQNuaWwEAmJnCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJhWAkBAVYBCQClCAEFAmFVBAJkbAkBAmFUAQUCYVUEAmRtCgACYloJAPwHBAUCYVgCKGlzUG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rp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BQNuaWwFA25pbAMJAAACBQJjYgUCY2IJAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJCARNnZXRLZXlzQnVsa0ludGVybmFsAwJiTgJkVgJiVAMJAAACBQJiTgkAkAMBBQJkVgkAlAoCBQNuaWwFAmJUBAJjcQkAtQkCCQCRAwIFAmRWBQJiTgICKysEAmJ2CQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmNxAAAEAXMJAJEDAgUCY3EAAQQCYncJAJEDAgUCY3EAAgQBeQkBAmJ1AwUCYnYFAXMFAmJ3BAJjYQkAzQgCBQJiVAUBeQQCY2IJAPwHBAUEdGhpcwITZ2V0S2V5c0J1bGtJbnRlcm5hbAkAzAgCCQBkAgUCYk4AAQkAzAgCBQJkVgkAzAgCBQJjYQUDbmlsBQNuaWwDCQAAAgUCY2IFAmNiCQCUCgIFA25pbAUCY2IJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkIBC2dldEtleXNCdWxrAQJkVgQCY2EJAPwHBAUEdGhpcwITZ2V0S2V5c0J1bGtJbnRlcm5hbAkAzAgCAAAJAMwIAgUCZFYJAMwIAgUDbmlsBQNuaWwFA25pbAkAlAoCBQNuaWwFAmNhAmJCAQpzZXRNYW5hZ2VyAQJkVwQCYkYJAQJiQQEFAmJCAwkAAAIFAmJGBQJiRgQCZFgJANkEAQUCZFcDCQAAAgUCZFgFAmRYCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFIAAUCZFcFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiQgEOY29uZmlybU1hbmFnZXIABAJkWQkBAmJ6AAQCZFoDCQEJaXNEZWZpbmVkAQUCZFkGCQACAQISTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmRaBQJkWgQCZWEDCQAAAggFAmJCD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCZFkGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmVhBQJlYQkAzAgCCQELU3RyaW5nRW50cnkCCQEBRwAJANgEAQkBBXZhbHVlAQUCZFkJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAUgABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmViAQJlYwAEAmVkBAF6CQECYngAAwkAAQIFAXoCCkJ5dGVWZWN0b3IEAmJEBQF6BQJiRAMJAAECBQF6AgRVbml0CAUCZWIPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmViCWJvZHlCeXRlcwkAkQMCCAUCZWIGcHJvb2ZzAAAFAmVk9rsXnA==", "chainId": 84, "height": 2363028, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: XzspmvL1sYX3RZCNRrVbYEW87RbCqCL4FphuAdpCyH7 Next: FqDa9foc3HnAgy7Rs3UQmTzV4mQ5Z49TCVPcGZVxi1Af Diff:
OldNewDifferences
237237 func aS () = "%s__addonAddr"
238238
239239
240-let aT = X()
241-
242-let aU = Z(aT)
243-
244-let aV = ad(aU)
245-
246-let aM = ae(aU)
247-
248-let aW = af(aU)
249-
250-let aX = ab(aU)
251-
252-func aY (aZ) = {
253- let ba = invoke(aT, "getInFeeREADONLY", [toString(aZ)], nil)
254- if ($isInstanceOf(ba, "Int"))
255- then ba
256- else throw(($getType(ba) + " couldn't be cast to Int"))
240+func aT (aU) = {
241+ let aV = fraction(10, b, 10000)
242+ let aW = "%s__fee"
243+ valueOrElse(getInteger(aU, aW), aV)
257244 }
258245
259246
260-func bb (aZ) = {
261- let ba = invoke(aT, "getOutFeeREADONLY", [toString(aZ)], nil)
262- if ($isInstanceOf(ba, "Int"))
263- then ba
264- else throw(($getType(ba) + " couldn't be cast to Int"))
265- }
247+let aX = X()
266248
249+let aY = Z(aX)
250+
251+let aZ = ad(aY)
252+
253+let aM = ae(aY)
254+
255+let ba = af(aY)
256+
257+let bb = ab(aY)
267258
268259 func bc (bd) = {
269- let be = t(aT, U(bd))
260+ let be = t(aX, U(bd))
270261 let bf = b
271- let bg = getIntegerValue(aT, V(be))
272- let bh = w(aV, aN())
273- let bi = w(aV, aO())
262+ let bg = getIntegerValue(aX, V(be))
263+ let bh = w(aZ, aN())
264+ let bi = w(aZ, aO())
274265 let bj = 3
275266 let bk = (fraction(bh, bg, bf) / bj)
276267 let bl = fraction(bi, bg, bf)
389380 let bW = bQ[bN]
390381 let bX = bR[bN]
391382 let bY = {
392- let ba = invoke(this, "calcBoostREADONLY", [bU, bV, bW, bX, bS], nil)
393- if ($isInstanceOf(ba, "String"))
394- then ba
395- else throw(($getType(ba) + " couldn't be cast to String"))
383+ let bZ = invoke(this, "calcBoostREADONLY", [bU, bV, bW, bX, bS], nil)
384+ if ($isInstanceOf(bZ, "String"))
385+ then bZ
386+ else throw(($getType(bZ) + " couldn't be cast to String"))
396387 }
397- let bZ = (bT :+ bY)
398- let ca = {
399- let ba = invoke(this, "calcBoostBulkInternalREADONLY", [(bN + 1), bO, bP, bQ, bR, bS, bZ], nil)
400- if ($isInstanceOf(ba, "List[Any]"))
401- then ba
402- else throw(($getType(ba) + " couldn't be cast to List[Any]"))
388+ let ca = (bT :+ bY)
389+ let cb = {
390+ let bZ = invoke(this, "calcBoostBulkInternalREADONLY", [(bN + 1), bO, bP, bQ, bR, bS, ca], nil)
391+ if ($isInstanceOf(bZ, "List[Any]"))
392+ then bZ
393+ else throw(($getType(bZ) + " couldn't be cast to List[Any]"))
403394 }
404- if ((ca == ca))
405- then $Tuple2(nil, ca)
395+ if ((cb == cb))
396+ then $Tuple2(nil, cb)
406397 else throw("Strict value is not equal to itself.")
407398 }
408399
410401
411402 @Callable(bB)
412403 func calcBoostBulkREADONLY (bU,bV,bW,bX,bS) = {
413- let bZ = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
414- $Tuple2(nil, bZ)
404+ let ca = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
405+ $Tuple2(nil, ca)
415406 }
416407
417408
418409
419410 @Callable(bB)
420411 func calcBoostREADONLY (bU,bV,bW,bX,bS) = {
421- let cb = aW
422- let cc = "empty"
423- let cd = parseIntValue(split(t(aX, ag()), e)[4])
412+ let cc = ba
413+ let cd = "empty"
414+ let ce = parseIntValue(split(t(bb, ag()), e)[4])
424415 let aG = if ((bX == ""))
425- then cc
416+ then cd
426417 else bX
427418 let aF = if ((bS == ""))
428- then cc
419+ then cd
429420 else bS
430- let ce = valueOrElse(getString(aX, al(bS)), cc)
431- let cf = valueOrElse(getInteger(aX, ap(ce)), 0)
432- let cg = valueOrElse(getInteger(aX, ar(ce)), height)
433- let bq = valueOrElse(getInteger(aX, as(ce)), 0)
434- let ch = (cg + bq)
435- let ci = max([(ch - height), 0])
436- let cj = (cf + bU)
437- let ck = min([(ci + bV), cd])
438- let cl = B(x(invoke(aX, "gwxUserInfoREADONLY", [aF], nil))[0])
439- let cm = bo(cj, ck, cd)[0]
440- let cn = x(invoke(cb, "calcGwxParamsREADONLY", [cm, height, ck], nil))
441- let co = (cm - cl)
442- let cp = B(cn[0])
443- let cq = B(cn[1])
444- let aw = toString(B(cn[2]))
445- let cr = aA()
446- let cs = ((cm * ck) / 2)
447- let ct = v(aX, cr)
448- let cu = {
449- let ba = invoke(aX, "getTotalCachedGwxREADONLY", nil, nil)
450- if ($isInstanceOf(ba, "Int"))
451- then ba
452- else throw(($getType(ba) + " couldn't be cast to Int"))
421+ let cf = valueOrElse(getString(bb, al(bS)), cd)
422+ let cg = valueOrElse(getInteger(bb, ap(cf)), 0)
423+ let ch = valueOrElse(getInteger(bb, ar(cf)), height)
424+ let bq = valueOrElse(getInteger(bb, as(cf)), 0)
425+ let ci = (ch + bq)
426+ let cj = max([(ci - height), 0])
427+ let ck = (cg + bU)
428+ let cl = min([(cj + bV), ce])
429+ let cm = B(x(invoke(bb, "gwxUserInfoREADONLY", [aF], nil))[0])
430+ let cn = bo(ck, cl, ce)[0]
431+ let co = x(invoke(cc, "calcGwxParamsREADONLY", [cn, height, cl], nil))
432+ let cp = (cn - cm)
433+ let cq = B(co[0])
434+ let cr = B(co[1])
435+ let aw = toString(B(co[2]))
436+ let cs = aA()
437+ let ct = ((cn * cl) / 2)
438+ let cu = v(bb, cs)
439+ let cv = {
440+ let bZ = invoke(bb, "getTotalCachedGwxREADONLY", nil, nil)
441+ if ($isInstanceOf(bZ, "Int"))
442+ then bZ
443+ else throw(($getType(bZ) + " couldn't be cast to Int"))
453444 }
454- let cv = 1000
455- let cw = (w(aV, aN()) * cv)
456- let cx = aE(aF, aG)
457- let cy = aH(aG)
458- let cz = aL(aM, cx)
445+ let cw = 1000
446+ let cx = (w(aZ, aN()) * cw)
447+ let cy = aE(aF, aG)
448+ let cz = aH(aG)
459449 let cA = aL(aM, cy)
460- let cB = (cz + bW)
450+ let cB = aL(aM, cz)
461451 let cC = (cA + bW)
462- let bg = if ((aG != cc))
452+ let cD = (cB + bW)
453+ let bg = if ((aG != cd))
463454 then {
464- let be = valueOrErrorMessage(getString(aT, R(aG)), ("unsupported lp asset " + aG))
465- getIntegerValue(aT, V(be))
455+ let be = valueOrErrorMessage(getString(aX, R(aG)), ("unsupported lp asset " + aG))
456+ getIntegerValue(aX, V(be))
466457 }
467458 else 0
468- let cD = fraction(cw, bg, (f * 3))
469- let cE = if ((cC != 0))
470- then fraction(cD, b, cC)
459+ let cE = fraction(cx, bg, (f * 3))
460+ let cF = if ((cD != 0))
461+ then fraction(cE, b, cD)
471462 else 0
472- let cF = fraction(cE, cB, b)
473- let cG = (cD * 2)
474- let cH = fraction(cm, cG, (cu + co))
475- let cI = min([cH, (cF * 2)])
476- let cJ = if ((cF == 0))
463+ let cG = fraction(cF, cC, b)
464+ let cH = (cE * 2)
465+ let cI = fraction(cn, cH, (cv + cp))
466+ let cJ = min([cI, (cG * 2)])
467+ let cK = if ((cG == 0))
477468 then (1 * b)
478- else fraction((cI + cF), b, cF)
479- $Tuple2(nil, makeString(["%d%d%s", toString(cm), toString(cJ), "d"], e))
469+ else fraction((cJ + cG), b, cG)
470+ $Tuple2(nil, makeString(["%d%d%s", toString(cn), toString(cK), "d"], e))
480471 }
481472
482473
483474
484475 @Callable(bB)
485476 func wxEmissionStatsREADONLY () = {
486- let cK = toString(b)
487- let cL = "1"
488- let bh = w(aV, aN())
489- let cM = w(aV, aP())
490- let cN = if ((cM > height))
477+ let cL = toString(b)
478+ let cM = "1"
479+ let bh = w(aZ, aN())
480+ let cN = w(aZ, aP())
481+ let cO = if ((cN > height))
491482 then 0
492- else (height - cM)
493- let cO = (1440 * 365)
494- let cP = (201000000 * b)
495- let cQ = if ((cN > cO))
496- then cP
497- else fraction(cP, cN, cO)
498- let cR = ((bh * cN) + cQ)
499- let cS = v(aX, ah())
500- let cT = v(aX, ai())
501- let cU = v(aX, aj())
502- $Tuple2(nil, makeString(["%d%d%d%d", toString(cR), toString(cS), toString(cT), toString(cU)], e))
483+ else (height - cN)
484+ let cP = (1440 * 365)
485+ let cQ = (201000000 * b)
486+ let cR = if ((cO > cP))
487+ then cQ
488+ else fraction(cQ, cO, cP)
489+ let cS = ((bh * cO) + cR)
490+ let cT = v(bb, ah())
491+ let cU = v(bb, ai())
492+ let cV = v(bb, aj())
493+ $Tuple2(nil, makeString(["%d%d%d%d", toString(cS), toString(cT), toString(cU), toString(cV)], e))
503494 }
504495
505496
506497
507498 @Callable(bB)
508-func poolStatsREADONLY (cV) = {
509- let aZ = addressFromStringValue(t(aT, U(cV)))
510- let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
511- let bd = fromBase58String(D(cW[j]))
512- let cX = D(cW[k])
513- let cY = D(cW[l])
514- let cZ = D(cW[o])
515- let da = D(cW[p])
516- let db = parseIntValue(D(cW[m]))
517- let dc = parseIntValue(D(cW[n]))
518- let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
519- let de = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cX], nil))
520- let df = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cY], nil))
521- let dg = if ((dd == 0))
499+func poolStatsREADONLY (cW) = {
500+ let aU = addressFromStringValue(t(aX, U(cW)))
501+ let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
502+ let bd = fromBase58String(D(cX[j]))
503+ let cY = D(cX[k])
504+ let cZ = D(cX[l])
505+ let da = D(cX[o])
506+ let db = D(cX[p])
507+ let dc = parseIntValue(D(cX[m]))
508+ let dd = parseIntValue(D(cX[n]))
509+ let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
510+ let df = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cY], nil))
511+ let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cZ], nil))
512+ let dh = if ((de == 0))
522513 then [toString(g), toString(g), toString(g)]
523- else x(invoke(aZ, "calcPricesWrapperREADONLY", [de, df, dd], nil))
524- let dh = 0
525- let di = B(invoke(aZ, "fromX18WrapperREADONLY", [dg[1], b], nil))
526- let dj = B(invoke(aZ, "fromX18WrapperREADONLY", [dg[2], b], nil))
527- let bg = getIntegerValue(aT, V(toString(aZ)))
528- let dk = aY(aZ)
529- let dl = bb(aZ)
514+ else x(invoke(aU, "calcPricesWrapperREADONLY", [df, dg, de], nil))
515+ let di = 0
516+ let dj = B(invoke(aU, "fromX18WrapperREADONLY", [dh[1], b], nil))
517+ let dk = B(invoke(aU, "fromX18WrapperREADONLY", [dh[2], b], nil))
518+ let bg = getIntegerValue(aX, V(toString(aU)))
519+ let dl = aT(aU)
530520 let dm = {
531- let ba = invoke(aT, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aZ)], nil)
532- if ($isInstanceOf(ba, "Boolean"))
533- then ba
534- else throw(($getType(ba) + " couldn't be cast to Boolean"))
521+ let bZ = invoke(aX, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aU)], nil)
522+ if ($isInstanceOf(bZ, "Boolean"))
523+ then bZ
524+ else throw(($getType(bZ) + " couldn't be cast to Boolean"))
535525 }
536526 let dn = !(dm)
537- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%s", toString(de), toString(df), toString(dd), toString(dh), toString(di), toString(dj), toString(bg), toString(dk), toString(dl), toString(dn)], e))
527+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s", toString(df), toString(dg), toString(de), toString(di), toString(dj), toString(dk), toString(bg), toString(dl), toString(dn)], e))
538528 }
539529
540530
541531
542532 @Callable(bB)
543-func poolEvaluatePutByAmountAssetREADONLY (cV,do) = {
544- let aZ = addressFromStringValue(t(aT, U(cV)))
545- let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
546- let bd = fromBase58String(D(cW[j]))
547- let dp = D(cW[k])
533+func poolEvaluatePutByAmountAssetREADONLY (cW,do) = {
534+ let aU = addressFromStringValue(t(aX, U(cW)))
535+ let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
536+ let bd = fromBase58String(D(cX[j]))
537+ let dp = D(cX[k])
548538 let dq = fromBase58String(dp)
549- let dr = D(cW[l])
539+ let dr = D(cX[l])
550540 let ds = fromBase58String(dr)
551- let db = parseIntValue(D(cW[m]))
552- let dc = parseIntValue(D(cW[n]))
553- let dt = D(cW[i])
554- let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
555- let de = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dp], nil))
556- let df = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
557- let du = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [de, db], nil)))
558- let dv = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [df, dc], nil)))
559- let dw = if ((dd == 0))
541+ let dc = parseIntValue(D(cX[m]))
542+ let dd = parseIntValue(D(cX[n]))
543+ let dt = D(cX[i])
544+ let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
545+ let df = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
546+ let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dr], nil))
547+ let du = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [df, dc], nil)))
548+ let dv = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dg, dd], nil)))
549+ let dw = if ((de == 0))
560550 then g
561- else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dv), toString(du)], nil)))
562- let dh = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dw), b], nil))
563- let dx = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [do, db], nil)))
551+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dv), toString(du)], nil)))
552+ let di = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dw), b], nil))
553+ let dx = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [do, dc], nil)))
564554 let dy = fraction(dx, dw, d)
565- let dz = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dy), dc], nil))
566- let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
555+ let dz = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dy), dd], nil))
556+ let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
567557 let dA = {
568- let z = bZ
558+ let z = ca
569559 if (if (if ($isInstanceOf(z._1, "Int"))
570560 then if ($isInstanceOf(z._3, "Int"))
571561 then if ($isInstanceOf(z._4, "Int"))
592582 let dD = dA._3
593583 let dE = dA._4
594584 let dF = dA._5
595- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(dh), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
585+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(di), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
596586 }
597587
598588
599589
600590 @Callable(bB)
601-func poolEvaluatePutByPriceAssetREADONLY (cV,dz) = {
602- let aZ = addressFromStringValue(t(aT, U(cV)))
603- let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
604- let bd = fromBase58String(D(cW[j]))
605- let dp = D(cW[k])
591+func poolEvaluatePutByPriceAssetREADONLY (cW,dz) = {
592+ let aU = addressFromStringValue(t(aX, U(cW)))
593+ let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
594+ let bd = fromBase58String(D(cX[j]))
595+ let dp = D(cX[k])
606596 let dq = fromBase58String(dp)
607- let dr = D(cW[l])
597+ let dr = D(cX[l])
608598 let ds = fromBase58String(dr)
609- let db = parseIntValue(D(cW[m]))
610- let dc = parseIntValue(D(cW[n]))
611- let dt = D(cW[i])
612- let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
613- let dG = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dp], nil))
614- let dH = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
615- let dI = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dG, db], nil)))
616- let dJ = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dH, dc], nil)))
617- let dw = if ((dd == 0))
599+ let dc = parseIntValue(D(cX[m]))
600+ let dd = parseIntValue(D(cX[n]))
601+ let dt = D(cX[i])
602+ let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
603+ let dG = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
604+ let dH = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dr], nil))
605+ let dI = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dG, dc], nil)))
606+ let dJ = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dH, dd], nil)))
607+ let dw = if ((de == 0))
618608 then g
619- else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dJ), toString(dI)], nil)))
620- let dh = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dw), b], nil))
621- let dy = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dz, dc], nil)))
609+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dJ), toString(dI)], nil)))
610+ let di = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dw), b], nil))
611+ let dy = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dz, dd], nil)))
622612 let dx = fraction(dy, d, dw)
623- let do = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dx), db], nil))
624- let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
613+ let do = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dx), dc], nil))
614+ let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
625615 let dK = {
626- let z = bZ
616+ let z = ca
627617 if (if (if ($isInstanceOf(z._1, "Int"))
628618 then if ($isInstanceOf(z._3, "Int"))
629619 then if ($isInstanceOf(z._4, "Int"))
650640 let dD = dK._3
651641 let dE = dK._4
652642 let dF = dK._5
653- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(dh), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
643+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(di), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
654644 }
655645
656646
657647
658648 @Callable(bB)
659649 func poolEvaluateGetREADONLY (dL,dM) = {
660- let aZ = addressFromStringValue(t(aT, U(dL)))
661- let bZ = invoke(aZ, "estimateGetOperationWrapperREADONLY", ["", dL, dM, toString(aZ)], nil)
650+ let aU = addressFromStringValue(t(aX, U(dL)))
651+ let ca = invoke(aU, "estimateGetOperationWrapperREADONLY", ["", dL, dM, toString(aU)], nil)
662652 let dN = {
663- let z = bZ
653+ let z = ca
664654 if (if (if ($isInstanceOf(z._1, "Int"))
665655 then if ($isInstanceOf(z._2, "Int"))
666656 then if ($isInstanceOf(z._5, "Int"))
682672 let dD = z._5
683673 let dE = z._6
684674 let dF = z._7
685- let dh = z._8
675+ let di = z._8
686676 let dt = z._9
687- $Tuple7(dO, dP, dD, dE, dF, dh, dt)
677+ $Tuple7(dO, dP, dD, dE, dF, di, dt)
688678 }
689679 else throw("Couldn't cast types")
690680 }
693683 let dD = dN._3
694684 let dE = dN._4
695685 let dF = dN._5
696- let dh = dN._6
686+ let di = dN._6
697687 let dt = dN._7
698- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dO), toString(dP), toString(dD), toString(dE), toString(dF), dh, dt], e))
688+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dO), toString(dP), toString(dD), toString(dE), toString(dF), di, dt], e))
699689 }
700690
701691
702692
703693 @Callable(bB)
704694 func gwxUserInfoREADONLY (am) = {
705- let dQ = x(invoke(aX, "gwxUserInfoREADONLY", [am], nil))
695+ let dQ = x(invoke(bb, "gwxUserInfoREADONLY", [am], nil))
706696 let dR = B(dQ[0])
707697 $Tuple2(nil, makeString(["%d", toString(dR)], e))
708698 }
710700
711701
712702 @Callable(bB)
713-func unstakeAndGetOneTknV2 (aZ,dS,dT,dU) = {
714- let ca = invoke(addressFromStringValue(aZ), "unstakeAndGetOneTknV2", [dS, dT, dU], nil)
715- if ((ca == ca))
703+func unstakeAndGetOneTknV2 (aU,dS,dT,dU) = {
704+ let cb = invoke(addressFromStringValue(aU), "unstakeAndGetOneTknV2", [dS, dT, dU], nil)
705+ if ((cb == cb))
716706 then $Tuple2(nil, unit)
717707 else throw("Strict value is not equal to itself.")
718708 }
723713 func getKeysBulkInternal (bN,dV,bT) = if ((bN == size(dV)))
724714 then $Tuple2(nil, bT)
725715 else {
726- let cp = split(dV[bN], "++")
727- let bv = addressFromStringValue(cp[0])
728- let s = cp[1]
729- let bw = cp[2]
716+ let cq = split(dV[bN], "++")
717+ let bv = addressFromStringValue(cq[0])
718+ let s = cq[1]
719+ let bw = cq[2]
730720 let y = bu(bv, s, bw)
731- let bZ = (bT :+ y)
732- let ca = invoke(this, "getKeysBulkInternal", [(bN + 1), dV, bZ], nil)
733- if ((ca == ca))
734- then $Tuple2(nil, ca)
721+ let ca = (bT :+ y)
722+ let cb = invoke(this, "getKeysBulkInternal", [(bN + 1), dV, ca], nil)
723+ if ((cb == cb))
724+ then $Tuple2(nil, cb)
735725 else throw("Strict value is not equal to itself.")
736726 }
737727
739729
740730 @Callable(bB)
741731 func getKeysBulk (dV) = {
742- let bZ = invoke(this, "getKeysBulkInternal", [0, dV, nil], nil)
743- $Tuple2(nil, bZ)
732+ let ca = invoke(this, "getKeysBulkInternal", [0, dV, nil], nil)
733+ $Tuple2(nil, ca)
744734 }
745735
746736
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 = "__"
1313
1414 let f = b
1515
1616 let g = toBigInt(0)
1717
1818 let h = 1
1919
2020 let i = 2
2121
2222 let j = 3
2323
2424 let k = 4
2525
2626 let l = 5
2727
2828 let m = 6
2929
3030 let n = 7
3131
3232 let o = 8
3333
3434 let p = 9
3535
3636 let q = 10
3737
3838 func r (s) = valueOrErrorMessage(getString(s), (("mandatory this." + s) + " is not defined"))
3939
4040
4141 func t (u,s) = valueOrErrorMessage(getString(u, s), (((("mandatory " + toString(u)) + ".") + s) + " is not defined"))
4242
4343
4444 func v (u,s) = valueOrElse(getInteger(u, s), 0)
4545
4646
4747 func w (u,s) = valueOrErrorMessage(getInteger(u, s), (("mandatory this." + s) + " is not defined"))
4848
4949
5050 func x (y) = {
5151 let z = y
5252 if ($isInstanceOf(z, "List[Any]"))
5353 then {
5454 let A = z
5555 A
5656 }
5757 else throw("fail to cast into List[Any]")
5858 }
5959
6060
6161 func B (y) = {
6262 let z = y
6363 if ($isInstanceOf(z, "Int"))
6464 then {
6565 let C = z
6666 C
6767 }
6868 else throw("fail to cast into Int")
6969 }
7070
7171
7272 func D (y) = {
7373 let z = y
7474 if ($isInstanceOf(z, "String"))
7575 then {
7676 let E = z
7777 E
7878 }
7979 else throw("fail to cast into String")
8080 }
8181
8282
8383 func F () = "%s%s__config__factoryAddress"
8484
8585
8686 func G () = "%s__managerPublicKey"
8787
8888
8989 func H () = "%s__pendingManagerPublicKey"
9090
9191
9292 let I = 1
9393
9494 let J = 2
9595
9696 let K = 3
9797
9898 let L = 4
9999
100100 let M = 5
101101
102102 let N = 6
103103
104104 let O = 7
105105
106106 let P = 8
107107
108108 func Q () = "%s__factoryConfig"
109109
110110
111111 func R (S) = makeString(["%s%s%s", S, "mappings__lpAsset2PoolContract"], e)
112112
113113
114114 func T () = "%s__lpTokensList"
115115
116116
117117 func U (S) = makeString(["%s%s%s", S, "mappings__lpAsset2PoolContract"], e)
118118
119119
120120 func V (W) = makeString(["%s%s", "poolWeight", W], e)
121121
122122
123123 func X () = addressFromStringValue(r(F()))
124124
125125
126126 func Y () = split(valueOrElse(getString(X(), T()), ""), e)
127127
128128
129129 func Z (aa) = split(t(aa, Q()), e)
130130
131131
132132 func ab (ac) = addressFromStringValue(ac[J])
133133
134134
135135 func ad (ac) = addressFromStringValue(ac[M])
136136
137137
138138 func ae (ac) = addressFromStringValue(ac[I])
139139
140140
141141 func af (ac) = addressFromStringValue(ac[P])
142142
143143
144144 func ag () = "%s__config"
145145
146146
147147 func ah () = "%s%s__stats__activeTotalLocked"
148148
149149
150150 func ai () = "%s%s__stats__locksDurationSumInBlocks"
151151
152152
153153 func aj () = "%s%s__stats__locksCount"
154154
155155
156156 func ak () = "%s%s__stats__activeUsersCount"
157157
158158
159159 func al (am) = makeString(["%s%s%s__mapping__user2num", am], e)
160160
161161
162162 func an (ao) = makeString(["%s%s%s__mapping__num2user", ao], e)
163163
164164
165165 func ap (aq) = makeString(["%s%d%s__paramByUserNum", aq, "amount"], e)
166166
167167
168168 func ar (aq) = makeString(["%s%d%s__paramByUserNum", aq, "start"], e)
169169
170170
171171 func as (aq) = makeString(["%s%d%s__paramByUserNum", aq, "duration"], e)
172172
173173
174174 func at (aq) = makeString(["%s%d%s__paramByUserNum", aq, "k"], e)
175175
176176
177177 func au (aq) = makeString(["%s%d%s__paramByUserNum", aq, "b"], e)
178178
179179
180180 func av (aq,aw) = makeString(["%s%d%s%d__paramByPeriod", aq, "k", aw], e)
181181
182182
183183 func ax (aq,aw) = makeString(["%s%d%s%d__paramByPeriod", aq, "b", aw], e)
184184
185185
186186 func ay (aq) = makeString(["%s%d__userBoostEmissionLastInt", aq], e)
187187
188188
189189 func az (aq) = makeString(["%s%d__maxBoostInt", aq], e)
190190
191191
192192 func aA () = "%s%s__maxBoostInt__total"
193193
194194
195195 func aB (aq) = makeString(["%s%d__userBoostAvaliableToClaimTotal", aq], e)
196196
197197
198198 func aC (aq) = makeString(["%s%d__userBoostClaimed", aq], e)
199199
200200
201201 func aD () = "%s%s__gwxCached__total"
202202
203203
204204 func aE (aF,aG) = makeString(["%s%s%s__staked", aF, aG], e)
205205
206206
207207 func aH (aG) = ("%s%s%s__staked__total__" + aG)
208208
209209
210210 func aI (aG,aF) = makeString(["%s%s%s__claimed", aF, aG], e)
211211
212212
213213 func aJ (aG,aF) = makeString(["%s%s%s__claimedMinReward", aF, aG], e)
214214
215215
216216 func aK (aG,aF) = makeString(["%s%s%s__claimedBoostReward", aF, aG], e)
217217
218218
219219 func aL (aM,s) = valueOrElse(getInteger(aM, s), 0)
220220
221221
222222 func aN () = "%s%s__ratePerBlock__current"
223223
224224
225225 func aO () = "%s%s__ratePerBlockMax__current"
226226
227227
228228 func aP () = "%s%s__emission__startBlock"
229229
230230
231231 func aQ () = "%s%s__emission__duration"
232232
233233
234234 func aR () = "%s%s__emission__endBlock"
235235
236236
237237 func aS () = "%s__addonAddr"
238238
239239
240-let aT = X()
241-
242-let aU = Z(aT)
243-
244-let aV = ad(aU)
245-
246-let aM = ae(aU)
247-
248-let aW = af(aU)
249-
250-let aX = ab(aU)
251-
252-func aY (aZ) = {
253- let ba = invoke(aT, "getInFeeREADONLY", [toString(aZ)], nil)
254- if ($isInstanceOf(ba, "Int"))
255- then ba
256- else throw(($getType(ba) + " couldn't be cast to Int"))
240+func aT (aU) = {
241+ let aV = fraction(10, b, 10000)
242+ let aW = "%s__fee"
243+ valueOrElse(getInteger(aU, aW), aV)
257244 }
258245
259246
260-func bb (aZ) = {
261- let ba = invoke(aT, "getOutFeeREADONLY", [toString(aZ)], nil)
262- if ($isInstanceOf(ba, "Int"))
263- then ba
264- else throw(($getType(ba) + " couldn't be cast to Int"))
265- }
247+let aX = X()
266248
249+let aY = Z(aX)
250+
251+let aZ = ad(aY)
252+
253+let aM = ae(aY)
254+
255+let ba = af(aY)
256+
257+let bb = ab(aY)
267258
268259 func bc (bd) = {
269- let be = t(aT, U(bd))
260+ let be = t(aX, U(bd))
270261 let bf = b
271- let bg = getIntegerValue(aT, V(be))
272- let bh = w(aV, aN())
273- let bi = w(aV, aO())
262+ let bg = getIntegerValue(aX, V(be))
263+ let bh = w(aZ, aN())
264+ let bi = w(aZ, aO())
274265 let bj = 3
275266 let bk = (fraction(bh, bg, bf) / bj)
276267 let bl = fraction(bi, bg, bf)
277268 let bm = (bj * b)
278269 let bn = v(aM, aH(bd))
279270 [bk, bm, bn]
280271 }
281272
282273
283274 func bo (bp,bq,br) = {
284275 let bs = fraction(bq, b, br)
285276 let bt = fraction(bp, bs, b)
286277 [bt]
287278 }
288279
289280
290281 func bu (bv,s,bw) = if ((bw == "string"))
291282 then getStringValue(bv, s)
292283 else if ((bw == "integer"))
293284 then toString(getIntegerValue(bv, s))
294285 else if ((bw == "boolean"))
295286 then toString(getBooleanValue(bv, s))
296287 else throw("unknown type. expected string/integer/boolean")
297288
298289
299290 func bx () = {
300291 let z = getString(G())
301292 if ($isInstanceOf(z, "String"))
302293 then {
303294 let by = z
304295 fromBase58String(by)
305296 }
306297 else if ($isInstanceOf(z, "Unit"))
307298 then unit
308299 else throw("Match error")
309300 }
310301
311302
312303 func bz () = {
313304 let z = getString(H())
314305 if ($isInstanceOf(z, "String"))
315306 then {
316307 let by = z
317308 fromBase58String(by)
318309 }
319310 else if ($isInstanceOf(z, "Unit"))
320311 then unit
321312 else throw("Match error")
322313 }
323314
324315
325316 func bA (bB) = {
326317 let bC = throw("Permission denied")
327318 let z = bx()
328319 if ($isInstanceOf(z, "ByteVector"))
329320 then {
330321 let bD = z
331322 if ((bB.callerPublicKey == bD))
332323 then true
333324 else bC
334325 }
335326 else if ($isInstanceOf(z, "Unit"))
336327 then if ((bB.caller == this))
337328 then true
338329 else bC
339330 else throw("Match error")
340331 }
341332
342333
343334 @Callable(bB)
344335 func constructor (bE) = {
345336 let bF = bA(bB)
346337 if ((bF == bF))
347338 then [StringEntry(F(), bE)]
348339 else throw("Strict value is not equal to itself.")
349340 }
350341
351342
352343
353344 @Callable(bB)
354345 func currentRewardRateREADONLY (bd) = {
355346 let bG = bc(bd)
356347 let bh = bG[0]
357348 let bm = bG[1]
358349 let bn = bG[2]
359350 $Tuple2(nil, makeString(["%d%d%d", toString(bh), toString(bm), toString(bn)], e))
360351 }
361352
362353
363354
364355 @Callable(bB)
365356 func currentUserRewardRateREADONLY (bd,am) = {
366357 let bG = bc(bd)
367358 let bh = bG[0]
368359 let bm = bG[1]
369360 let bn = bG[2]
370361 let bH = v(aM, aE(am, bd))
371362 let bI = split(D(invoke(aM, "claimWxREADONLY", [bd, am], nil)), e)
372363 let bJ = valueOrErrorMessage(parseInt(bI[5]), "couldn't parse minRewardPart")
373364 let bK = valueOrErrorMessage(parseInt(bI[6]), "couldn't parse boostRewardPart")
374365 let bL = bI[7]
375366 let bM = if ((bK == 0))
376367 then (1 * b)
377368 else fraction((bJ + bK), b, bJ)
378369 $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bh), toString(bm), toString(bn), toString(bH), toString(bM), bL], e))
379370 }
380371
381372
382373
383374 @Callable(bB)
384375 func calcBoostBulkInternalREADONLY (bN,bO,bP,bQ,bR,bS,bT) = if ((bN == size(bO)))
385376 then $Tuple2(nil, bT)
386377 else {
387378 let bU = bO[bN]
388379 let bV = bP[bN]
389380 let bW = bQ[bN]
390381 let bX = bR[bN]
391382 let bY = {
392- let ba = invoke(this, "calcBoostREADONLY", [bU, bV, bW, bX, bS], nil)
393- if ($isInstanceOf(ba, "String"))
394- then ba
395- else throw(($getType(ba) + " couldn't be cast to String"))
383+ let bZ = invoke(this, "calcBoostREADONLY", [bU, bV, bW, bX, bS], nil)
384+ if ($isInstanceOf(bZ, "String"))
385+ then bZ
386+ else throw(($getType(bZ) + " couldn't be cast to String"))
396387 }
397- let bZ = (bT :+ bY)
398- let ca = {
399- let ba = invoke(this, "calcBoostBulkInternalREADONLY", [(bN + 1), bO, bP, bQ, bR, bS, bZ], nil)
400- if ($isInstanceOf(ba, "List[Any]"))
401- then ba
402- else throw(($getType(ba) + " couldn't be cast to List[Any]"))
388+ let ca = (bT :+ bY)
389+ let cb = {
390+ let bZ = invoke(this, "calcBoostBulkInternalREADONLY", [(bN + 1), bO, bP, bQ, bR, bS, ca], nil)
391+ if ($isInstanceOf(bZ, "List[Any]"))
392+ then bZ
393+ else throw(($getType(bZ) + " couldn't be cast to List[Any]"))
403394 }
404- if ((ca == ca))
405- then $Tuple2(nil, ca)
395+ if ((cb == cb))
396+ then $Tuple2(nil, cb)
406397 else throw("Strict value is not equal to itself.")
407398 }
408399
409400
410401
411402 @Callable(bB)
412403 func calcBoostBulkREADONLY (bU,bV,bW,bX,bS) = {
413- let bZ = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
414- $Tuple2(nil, bZ)
404+ let ca = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
405+ $Tuple2(nil, ca)
415406 }
416407
417408
418409
419410 @Callable(bB)
420411 func calcBoostREADONLY (bU,bV,bW,bX,bS) = {
421- let cb = aW
422- let cc = "empty"
423- let cd = parseIntValue(split(t(aX, ag()), e)[4])
412+ let cc = ba
413+ let cd = "empty"
414+ let ce = parseIntValue(split(t(bb, ag()), e)[4])
424415 let aG = if ((bX == ""))
425- then cc
416+ then cd
426417 else bX
427418 let aF = if ((bS == ""))
428- then cc
419+ then cd
429420 else bS
430- let ce = valueOrElse(getString(aX, al(bS)), cc)
431- let cf = valueOrElse(getInteger(aX, ap(ce)), 0)
432- let cg = valueOrElse(getInteger(aX, ar(ce)), height)
433- let bq = valueOrElse(getInteger(aX, as(ce)), 0)
434- let ch = (cg + bq)
435- let ci = max([(ch - height), 0])
436- let cj = (cf + bU)
437- let ck = min([(ci + bV), cd])
438- let cl = B(x(invoke(aX, "gwxUserInfoREADONLY", [aF], nil))[0])
439- let cm = bo(cj, ck, cd)[0]
440- let cn = x(invoke(cb, "calcGwxParamsREADONLY", [cm, height, ck], nil))
441- let co = (cm - cl)
442- let cp = B(cn[0])
443- let cq = B(cn[1])
444- let aw = toString(B(cn[2]))
445- let cr = aA()
446- let cs = ((cm * ck) / 2)
447- let ct = v(aX, cr)
448- let cu = {
449- let ba = invoke(aX, "getTotalCachedGwxREADONLY", nil, nil)
450- if ($isInstanceOf(ba, "Int"))
451- then ba
452- else throw(($getType(ba) + " couldn't be cast to Int"))
421+ let cf = valueOrElse(getString(bb, al(bS)), cd)
422+ let cg = valueOrElse(getInteger(bb, ap(cf)), 0)
423+ let ch = valueOrElse(getInteger(bb, ar(cf)), height)
424+ let bq = valueOrElse(getInteger(bb, as(cf)), 0)
425+ let ci = (ch + bq)
426+ let cj = max([(ci - height), 0])
427+ let ck = (cg + bU)
428+ let cl = min([(cj + bV), ce])
429+ let cm = B(x(invoke(bb, "gwxUserInfoREADONLY", [aF], nil))[0])
430+ let cn = bo(ck, cl, ce)[0]
431+ let co = x(invoke(cc, "calcGwxParamsREADONLY", [cn, height, cl], nil))
432+ let cp = (cn - cm)
433+ let cq = B(co[0])
434+ let cr = B(co[1])
435+ let aw = toString(B(co[2]))
436+ let cs = aA()
437+ let ct = ((cn * cl) / 2)
438+ let cu = v(bb, cs)
439+ let cv = {
440+ let bZ = invoke(bb, "getTotalCachedGwxREADONLY", nil, nil)
441+ if ($isInstanceOf(bZ, "Int"))
442+ then bZ
443+ else throw(($getType(bZ) + " couldn't be cast to Int"))
453444 }
454- let cv = 1000
455- let cw = (w(aV, aN()) * cv)
456- let cx = aE(aF, aG)
457- let cy = aH(aG)
458- let cz = aL(aM, cx)
445+ let cw = 1000
446+ let cx = (w(aZ, aN()) * cw)
447+ let cy = aE(aF, aG)
448+ let cz = aH(aG)
459449 let cA = aL(aM, cy)
460- let cB = (cz + bW)
450+ let cB = aL(aM, cz)
461451 let cC = (cA + bW)
462- let bg = if ((aG != cc))
452+ let cD = (cB + bW)
453+ let bg = if ((aG != cd))
463454 then {
464- let be = valueOrErrorMessage(getString(aT, R(aG)), ("unsupported lp asset " + aG))
465- getIntegerValue(aT, V(be))
455+ let be = valueOrErrorMessage(getString(aX, R(aG)), ("unsupported lp asset " + aG))
456+ getIntegerValue(aX, V(be))
466457 }
467458 else 0
468- let cD = fraction(cw, bg, (f * 3))
469- let cE = if ((cC != 0))
470- then fraction(cD, b, cC)
459+ let cE = fraction(cx, bg, (f * 3))
460+ let cF = if ((cD != 0))
461+ then fraction(cE, b, cD)
471462 else 0
472- let cF = fraction(cE, cB, b)
473- let cG = (cD * 2)
474- let cH = fraction(cm, cG, (cu + co))
475- let cI = min([cH, (cF * 2)])
476- let cJ = if ((cF == 0))
463+ let cG = fraction(cF, cC, b)
464+ let cH = (cE * 2)
465+ let cI = fraction(cn, cH, (cv + cp))
466+ let cJ = min([cI, (cG * 2)])
467+ let cK = if ((cG == 0))
477468 then (1 * b)
478- else fraction((cI + cF), b, cF)
479- $Tuple2(nil, makeString(["%d%d%s", toString(cm), toString(cJ), "d"], e))
469+ else fraction((cJ + cG), b, cG)
470+ $Tuple2(nil, makeString(["%d%d%s", toString(cn), toString(cK), "d"], e))
480471 }
481472
482473
483474
484475 @Callable(bB)
485476 func wxEmissionStatsREADONLY () = {
486- let cK = toString(b)
487- let cL = "1"
488- let bh = w(aV, aN())
489- let cM = w(aV, aP())
490- let cN = if ((cM > height))
477+ let cL = toString(b)
478+ let cM = "1"
479+ let bh = w(aZ, aN())
480+ let cN = w(aZ, aP())
481+ let cO = if ((cN > height))
491482 then 0
492- else (height - cM)
493- let cO = (1440 * 365)
494- let cP = (201000000 * b)
495- let cQ = if ((cN > cO))
496- then cP
497- else fraction(cP, cN, cO)
498- let cR = ((bh * cN) + cQ)
499- let cS = v(aX, ah())
500- let cT = v(aX, ai())
501- let cU = v(aX, aj())
502- $Tuple2(nil, makeString(["%d%d%d%d", toString(cR), toString(cS), toString(cT), toString(cU)], e))
483+ else (height - cN)
484+ let cP = (1440 * 365)
485+ let cQ = (201000000 * b)
486+ let cR = if ((cO > cP))
487+ then cQ
488+ else fraction(cQ, cO, cP)
489+ let cS = ((bh * cO) + cR)
490+ let cT = v(bb, ah())
491+ let cU = v(bb, ai())
492+ let cV = v(bb, aj())
493+ $Tuple2(nil, makeString(["%d%d%d%d", toString(cS), toString(cT), toString(cU), toString(cV)], e))
503494 }
504495
505496
506497
507498 @Callable(bB)
508-func poolStatsREADONLY (cV) = {
509- let aZ = addressFromStringValue(t(aT, U(cV)))
510- let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
511- let bd = fromBase58String(D(cW[j]))
512- let cX = D(cW[k])
513- let cY = D(cW[l])
514- let cZ = D(cW[o])
515- let da = D(cW[p])
516- let db = parseIntValue(D(cW[m]))
517- let dc = parseIntValue(D(cW[n]))
518- let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
519- let de = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cX], nil))
520- let df = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cY], nil))
521- let dg = if ((dd == 0))
499+func poolStatsREADONLY (cW) = {
500+ let aU = addressFromStringValue(t(aX, U(cW)))
501+ let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
502+ let bd = fromBase58String(D(cX[j]))
503+ let cY = D(cX[k])
504+ let cZ = D(cX[l])
505+ let da = D(cX[o])
506+ let db = D(cX[p])
507+ let dc = parseIntValue(D(cX[m]))
508+ let dd = parseIntValue(D(cX[n]))
509+ let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
510+ let df = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cY], nil))
511+ let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cZ], nil))
512+ let dh = if ((de == 0))
522513 then [toString(g), toString(g), toString(g)]
523- else x(invoke(aZ, "calcPricesWrapperREADONLY", [de, df, dd], nil))
524- let dh = 0
525- let di = B(invoke(aZ, "fromX18WrapperREADONLY", [dg[1], b], nil))
526- let dj = B(invoke(aZ, "fromX18WrapperREADONLY", [dg[2], b], nil))
527- let bg = getIntegerValue(aT, V(toString(aZ)))
528- let dk = aY(aZ)
529- let dl = bb(aZ)
514+ else x(invoke(aU, "calcPricesWrapperREADONLY", [df, dg, de], nil))
515+ let di = 0
516+ let dj = B(invoke(aU, "fromX18WrapperREADONLY", [dh[1], b], nil))
517+ let dk = B(invoke(aU, "fromX18WrapperREADONLY", [dh[2], b], nil))
518+ let bg = getIntegerValue(aX, V(toString(aU)))
519+ let dl = aT(aU)
530520 let dm = {
531- let ba = invoke(aT, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aZ)], nil)
532- if ($isInstanceOf(ba, "Boolean"))
533- then ba
534- else throw(($getType(ba) + " couldn't be cast to Boolean"))
521+ let bZ = invoke(aX, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aU)], nil)
522+ if ($isInstanceOf(bZ, "Boolean"))
523+ then bZ
524+ else throw(($getType(bZ) + " couldn't be cast to Boolean"))
535525 }
536526 let dn = !(dm)
537- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%s", toString(de), toString(df), toString(dd), toString(dh), toString(di), toString(dj), toString(bg), toString(dk), toString(dl), toString(dn)], e))
527+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s", toString(df), toString(dg), toString(de), toString(di), toString(dj), toString(dk), toString(bg), toString(dl), toString(dn)], e))
538528 }
539529
540530
541531
542532 @Callable(bB)
543-func poolEvaluatePutByAmountAssetREADONLY (cV,do) = {
544- let aZ = addressFromStringValue(t(aT, U(cV)))
545- let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
546- let bd = fromBase58String(D(cW[j]))
547- let dp = D(cW[k])
533+func poolEvaluatePutByAmountAssetREADONLY (cW,do) = {
534+ let aU = addressFromStringValue(t(aX, U(cW)))
535+ let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
536+ let bd = fromBase58String(D(cX[j]))
537+ let dp = D(cX[k])
548538 let dq = fromBase58String(dp)
549- let dr = D(cW[l])
539+ let dr = D(cX[l])
550540 let ds = fromBase58String(dr)
551- let db = parseIntValue(D(cW[m]))
552- let dc = parseIntValue(D(cW[n]))
553- let dt = D(cW[i])
554- let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
555- let de = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dp], nil))
556- let df = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
557- let du = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [de, db], nil)))
558- let dv = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [df, dc], nil)))
559- let dw = if ((dd == 0))
541+ let dc = parseIntValue(D(cX[m]))
542+ let dd = parseIntValue(D(cX[n]))
543+ let dt = D(cX[i])
544+ let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
545+ let df = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
546+ let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dr], nil))
547+ let du = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [df, dc], nil)))
548+ let dv = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dg, dd], nil)))
549+ let dw = if ((de == 0))
560550 then g
561- else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dv), toString(du)], nil)))
562- let dh = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dw), b], nil))
563- let dx = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [do, db], nil)))
551+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dv), toString(du)], nil)))
552+ let di = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dw), b], nil))
553+ let dx = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [do, dc], nil)))
564554 let dy = fraction(dx, dw, d)
565- let dz = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dy), dc], nil))
566- let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
555+ let dz = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dy), dd], nil))
556+ let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
567557 let dA = {
568- let z = bZ
558+ let z = ca
569559 if (if (if ($isInstanceOf(z._1, "Int"))
570560 then if ($isInstanceOf(z._3, "Int"))
571561 then if ($isInstanceOf(z._4, "Int"))
572562 then if ($isInstanceOf(z._5, "Int"))
573563 then $isInstanceOf(z._6, "Int")
574564 else false
575565 else false
576566 else false
577567 else false)
578568 then (size(z) == 13)
579569 else false)
580570 then {
581571 let dB = z._1
582572 let dC = z._3
583573 let dD = z._4
584574 let dE = z._5
585575 let dF = z._6
586576 $Tuple5(dB, dC, dD, dE, dF)
587577 }
588578 else throw("Couldn't cast types")
589579 }
590580 let dB = dA._1
591581 let dC = dA._2
592582 let dD = dA._3
593583 let dE = dA._4
594584 let dF = dA._5
595- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(dh), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
585+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(di), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
596586 }
597587
598588
599589
600590 @Callable(bB)
601-func poolEvaluatePutByPriceAssetREADONLY (cV,dz) = {
602- let aZ = addressFromStringValue(t(aT, U(cV)))
603- let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
604- let bd = fromBase58String(D(cW[j]))
605- let dp = D(cW[k])
591+func poolEvaluatePutByPriceAssetREADONLY (cW,dz) = {
592+ let aU = addressFromStringValue(t(aX, U(cW)))
593+ let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
594+ let bd = fromBase58String(D(cX[j]))
595+ let dp = D(cX[k])
606596 let dq = fromBase58String(dp)
607- let dr = D(cW[l])
597+ let dr = D(cX[l])
608598 let ds = fromBase58String(dr)
609- let db = parseIntValue(D(cW[m]))
610- let dc = parseIntValue(D(cW[n]))
611- let dt = D(cW[i])
612- let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
613- let dG = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dp], nil))
614- let dH = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
615- let dI = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dG, db], nil)))
616- let dJ = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dH, dc], nil)))
617- let dw = if ((dd == 0))
599+ let dc = parseIntValue(D(cX[m]))
600+ let dd = parseIntValue(D(cX[n]))
601+ let dt = D(cX[i])
602+ let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
603+ let dG = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
604+ let dH = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dr], nil))
605+ let dI = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dG, dc], nil)))
606+ let dJ = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dH, dd], nil)))
607+ let dw = if ((de == 0))
618608 then g
619- else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dJ), toString(dI)], nil)))
620- let dh = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dw), b], nil))
621- let dy = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dz, dc], nil)))
609+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dJ), toString(dI)], nil)))
610+ let di = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dw), b], nil))
611+ let dy = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dz, dd], nil)))
622612 let dx = fraction(dy, d, dw)
623- let do = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dx), db], nil))
624- let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
613+ let do = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dx), dc], nil))
614+ let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
625615 let dK = {
626- let z = bZ
616+ let z = ca
627617 if (if (if ($isInstanceOf(z._1, "Int"))
628618 then if ($isInstanceOf(z._3, "Int"))
629619 then if ($isInstanceOf(z._4, "Int"))
630620 then if ($isInstanceOf(z._5, "Int"))
631621 then $isInstanceOf(z._6, "Int")
632622 else false
633623 else false
634624 else false
635625 else false)
636626 then (size(z) == 13)
637627 else false)
638628 then {
639629 let dB = z._1
640630 let dC = z._3
641631 let dD = z._4
642632 let dE = z._5
643633 let dF = z._6
644634 $Tuple5(dB, dC, dD, dE, dF)
645635 }
646636 else throw("Couldn't cast types")
647637 }
648638 let dB = dK._1
649639 let dC = dK._2
650640 let dD = dK._3
651641 let dE = dK._4
652642 let dF = dK._5
653- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(dh), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
643+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(di), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
654644 }
655645
656646
657647
658648 @Callable(bB)
659649 func poolEvaluateGetREADONLY (dL,dM) = {
660- let aZ = addressFromStringValue(t(aT, U(dL)))
661- let bZ = invoke(aZ, "estimateGetOperationWrapperREADONLY", ["", dL, dM, toString(aZ)], nil)
650+ let aU = addressFromStringValue(t(aX, U(dL)))
651+ let ca = invoke(aU, "estimateGetOperationWrapperREADONLY", ["", dL, dM, toString(aU)], nil)
662652 let dN = {
663- let z = bZ
653+ let z = ca
664654 if (if (if ($isInstanceOf(z._1, "Int"))
665655 then if ($isInstanceOf(z._2, "Int"))
666656 then if ($isInstanceOf(z._5, "Int"))
667657 then if ($isInstanceOf(z._6, "Int"))
668658 then if ($isInstanceOf(z._7, "Int"))
669659 then if ($isInstanceOf(z._8, "String"))
670660 then $isInstanceOf(z._9, "String")
671661 else false
672662 else false
673663 else false
674664 else false
675665 else false
676666 else false)
677667 then (size(z) == 10)
678668 else false)
679669 then {
680670 let dO = z._1
681671 let dP = z._2
682672 let dD = z._5
683673 let dE = z._6
684674 let dF = z._7
685- let dh = z._8
675+ let di = z._8
686676 let dt = z._9
687- $Tuple7(dO, dP, dD, dE, dF, dh, dt)
677+ $Tuple7(dO, dP, dD, dE, dF, di, dt)
688678 }
689679 else throw("Couldn't cast types")
690680 }
691681 let dO = dN._1
692682 let dP = dN._2
693683 let dD = dN._3
694684 let dE = dN._4
695685 let dF = dN._5
696- let dh = dN._6
686+ let di = dN._6
697687 let dt = dN._7
698- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dO), toString(dP), toString(dD), toString(dE), toString(dF), dh, dt], e))
688+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dO), toString(dP), toString(dD), toString(dE), toString(dF), di, dt], e))
699689 }
700690
701691
702692
703693 @Callable(bB)
704694 func gwxUserInfoREADONLY (am) = {
705- let dQ = x(invoke(aX, "gwxUserInfoREADONLY", [am], nil))
695+ let dQ = x(invoke(bb, "gwxUserInfoREADONLY", [am], nil))
706696 let dR = B(dQ[0])
707697 $Tuple2(nil, makeString(["%d", toString(dR)], e))
708698 }
709699
710700
711701
712702 @Callable(bB)
713-func unstakeAndGetOneTknV2 (aZ,dS,dT,dU) = {
714- let ca = invoke(addressFromStringValue(aZ), "unstakeAndGetOneTknV2", [dS, dT, dU], nil)
715- if ((ca == ca))
703+func unstakeAndGetOneTknV2 (aU,dS,dT,dU) = {
704+ let cb = invoke(addressFromStringValue(aU), "unstakeAndGetOneTknV2", [dS, dT, dU], nil)
705+ if ((cb == cb))
716706 then $Tuple2(nil, unit)
717707 else throw("Strict value is not equal to itself.")
718708 }
719709
720710
721711
722712 @Callable(bB)
723713 func getKeysBulkInternal (bN,dV,bT) = if ((bN == size(dV)))
724714 then $Tuple2(nil, bT)
725715 else {
726- let cp = split(dV[bN], "++")
727- let bv = addressFromStringValue(cp[0])
728- let s = cp[1]
729- let bw = cp[2]
716+ let cq = split(dV[bN], "++")
717+ let bv = addressFromStringValue(cq[0])
718+ let s = cq[1]
719+ let bw = cq[2]
730720 let y = bu(bv, s, bw)
731- let bZ = (bT :+ y)
732- let ca = invoke(this, "getKeysBulkInternal", [(bN + 1), dV, bZ], nil)
733- if ((ca == ca))
734- then $Tuple2(nil, ca)
721+ let ca = (bT :+ y)
722+ let cb = invoke(this, "getKeysBulkInternal", [(bN + 1), dV, ca], nil)
723+ if ((cb == cb))
724+ then $Tuple2(nil, cb)
735725 else throw("Strict value is not equal to itself.")
736726 }
737727
738728
739729
740730 @Callable(bB)
741731 func getKeysBulk (dV) = {
742- let bZ = invoke(this, "getKeysBulkInternal", [0, dV, nil], nil)
743- $Tuple2(nil, bZ)
732+ let ca = invoke(this, "getKeysBulkInternal", [0, dV, nil], nil)
733+ $Tuple2(nil, ca)
744734 }
745735
746736
747737
748738 @Callable(bB)
749739 func setManager (dW) = {
750740 let bF = bA(bB)
751741 if ((bF == bF))
752742 then {
753743 let dX = fromBase58String(dW)
754744 if ((dX == dX))
755745 then [StringEntry(H(), dW)]
756746 else throw("Strict value is not equal to itself.")
757747 }
758748 else throw("Strict value is not equal to itself.")
759749 }
760750
761751
762752
763753 @Callable(bB)
764754 func confirmManager () = {
765755 let dY = bz()
766756 let dZ = if (isDefined(dY))
767757 then true
768758 else throw("No pending manager")
769759 if ((dZ == dZ))
770760 then {
771761 let ea = if ((bB.callerPublicKey == value(dY)))
772762 then true
773763 else throw("You are not pending manager")
774764 if ((ea == ea))
775765 then [StringEntry(G(), toBase58String(value(dY))), DeleteEntry(H())]
776766 else throw("Strict value is not equal to itself.")
777767 }
778768 else throw("Strict value is not equal to itself.")
779769 }
780770
781771
782772 @Verifier(eb)
783773 func ec () = {
784774 let ed = {
785775 let z = bx()
786776 if ($isInstanceOf(z, "ByteVector"))
787777 then {
788778 let bD = z
789779 bD
790780 }
791781 else if ($isInstanceOf(z, "Unit"))
792782 then eb.senderPublicKey
793783 else throw("Match error")
794784 }
795785 sigVerify(eb.bodyBytes, eb.proofs[0], ed)
796786 }
797787

github/deemru/w8io/169f3d6 
163.16 ms