tx · FhPwoLPNswri7oXo6thhRsowpo7MmaqYx8egkmUd3Bvs

3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp:  -0.02300000 Waves

2023.02.20 16:54 [2458061] smart account 3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp > SELF 0.00000000 Waves

{ "type": 13, "id": "FhPwoLPNswri7oXo6thhRsowpo7MmaqYx8egkmUd3Bvs", "fee": 2300000, "feeAssetId": null, "timestamp": 1676901257131, "version": 2, "chainId": 84, "sender": "3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp", "senderPublicKey": "86RHVxKovtU7yKnepY8wKsd8niDxGAsiwuA1XA1DNqrS", "proofs": [ "3418o6W7Uw1pbrmCjKfhCZKxiEK8pZk5c32YwGpm1dUGzEyhbqGPwPvayVxTQz4jyhtqbVu8j6YWT4EMsYGR4kSv" ], "script": "base64:BgKPIggCEgMKAQgSAwoBCBIECgIICBIJCgcBERERGAgYEgcKBRERERgIEgcKBQEBAQgIEgASAwoBCBIECgIIARIECgIIARIECgIIARIDCgEIEgYKBAgBCAESBQoDARgYEgMKARgSAwoBCBIAIgZTQ0FMRTgiBU1VTFQ4IgdTQ0FMRTE4IgZNVUxUMTgiA1NFUCIOUE9PTFdFSUdIVE1VTFQiCnplcm9CaWdJbnQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiGGdldFN0cmluZ0J5QWRkcmVzc09yRmFpbCIHYWRkcmVzcyIMZ2V0SW50T3JaZXJvIgxnZXRJbnRPckZhaWwiCWFzQW55TGlzdCIDdmFsIgckbWF0Y2gwIgp2YWxBbnlMeXN0IgVhc0ludCIGdmFsSW50Ighhc1N0cmluZyIGdmFsU3RyIhFrZXlGYWN0b3J5QWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiGElkeEZhY3RvcnlDZmdTdGFraW5nRGFwcCIZSWR4RmFjdG9yeUNmZ0Jvb3N0aW5nRGFwcCIUSWR4RmFjdG9yeUNmZ0lkb0RhcHAiFUlkeEZhY3RvcnlDZmdUZWFtRGFwcCIZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcCIVSWR4RmFjdG9yeUNmZ1Jlc3REYXBwIhlJZHhGYWN0b3J5Q2ZnU2xpcHBhZ2VEYXBwIhpJZHhGYWN0b3J5Q2ZnR3d4UmV3YXJkRGFwcCINa2V5RmFjdG9yeUNmZyIaa2V5RmFjdG9yeUxwMkFzc2V0c01hcHBpbmciCmxwQXNzZXRTdHIiEGtleUZhY3RvcnlMcExpc3QiJmtleUZhY3RvcnlMcEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIhRrZXlGYWN0b3J5UG9vbFdlaWdodCIPY29udHJhY3RBZGRyZXNzIhhyZWFkRmFjdG9yeUFkZHJlc3NPckZhaWwiCnJlYWRMcExpc3QiFHJlYWRGYWN0b3J5Q2ZnT3JGYWlsIgdmYWN0b3J5IhhnZXRCb29zdGluZ0FkZHJlc3NPckZhaWwiBGZDZmciGGdldEVtaXNzaW9uQWRkcmVzc09yRmFpbCIXZ2V0U3Rha2luZ0FkZHJlc3NPckZhaWwiGWdldEd3eFJld2FyZEFkZHJlc3NPckZhaWwiC2tleUJvb3N0Q2ZnIh9rZXlCb29zdGluZ0xvY2tQYXJhbVRvdGFsQW1vdW50IihrZXlCb29zdGluZ1N0YXRzTG9ja3NEdXJhdGlvblN1bUluQmxvY2tzIhprZXlCb29zdGluZ1N0YXRzTG9ja3NDb3VudCIaa2V5Qm9vc3RpbmdTdGF0c1VzZXJzQ291bnQiEmtleVVzZXIyTnVtTWFwcGluZyILdXNlckFkZHJlc3MiEmtleU51bTJVc2VyTWFwcGluZyIDbnVtIhZrZXlMb2NrUGFyYW1Vc2VyQW1vdW50Igd1c2VyTnVtIhZrZXlMb2NrUGFyYW1TdGFydEJsb2NrIhRrZXlMb2NrUGFyYW1EdXJhdGlvbiINa2V5TG9ja1BhcmFtSyINa2V5TG9ja1BhcmFtQiIVa2V5TG9ja1BhcmFtQnlQZXJpb2RLIgZwZXJpb2QiFWtleUxvY2tQYXJhbUJ5UGVyaW9kQiIga2V5VXNlckJvb3N0RW1pc3Npb25MYXN0SU5URUdSQUwiF2tleVVzZXJNYXhCb29zdElOVEVHUkFMIhhrZXlUb3RhbE1heEJvb3N0SU5URUdSQUwiIWtleVVzZXJCb29zdEF2YWxhaWJsZVRvQ2xhaW1Ub3RhbCITa2V5VXNlckJvb3N0Q2xhaW1lZCIRa2V5VG90YWxDYWNoZWRHd3giD2tleVN0YWtlZEJ5VXNlciIOdXNlckFkZHJlc3NTdHIiDGxwQXNzZXRJZFN0ciIOa2V5U3Rha2VkVG90YWwiEGtleUNsYWltZWRCeVVzZXIiGWtleUNsYWltZWRCeVVzZXJNaW5SZXdhcmQiG2tleUNsYWltZWRCeVVzZXJCb29zdFJld2FyZCIKcmVhZFN0YWtlZCILc3Rha2luZ0RhcHAiHmtleUVtaXNzaW9uUmF0ZVBlckJsb2NrQ3VycmVudCIha2V5RW1pc3Npb25SYXRlUGVyQmxvY2tNYXhDdXJyZW50IhVrZXlFbWlzc2lvblN0YXJ0QmxvY2siG2tleUVtaXNzaW9uRHVyYXRpb25JbkJsb2NrcyITa2V5RW1pc3Npb25FbmRCbG9jayIMa2V5QWRkb25BZGRyIgtmYWN0b3J5RGFwcCIKZmFjdG9yeUNmZyIMZW1pc3Npb25EYXBwIg1nd3hSZXdhcmREYXBwIgxib29zdGluZ0RhcHAiDGdldFBvb2xJbkZlZSILcG9vbEFkZHJlc3MiAUAiDWdldFBvb2xPdXRGZWUiGWludGVybmFsQ3VycmVudFJld2FyZFJhdGUiCWxwQXNzZXRJZCIOcG9vbEFkZHJlc3NTdHIiDnBvb2xXZWlnaHRNdWx0Igpwb29sV2VpZ2h0IhJ3eEVtaXNzaW9uUGVyQmxvY2siFXd4RW1pc3Npb25QZXJCbG9ja01heCINYm9vc3RNYXhDb2VmZiIWcG9vbFd4RW1pc3Npb25QZXJCbG9jayIZcG9vbFd4RW1pc3Npb25QZXJCbG9ja01heCIJbWF4RmFjdG9yIg10b3RhbExwU3Rha2VkIhpjYWxjR3d4QW1vdW50U3RhcnRSRUFET05MWSIKbG9ja0Ftb3VudCIMbG9ja0R1cmF0aW9uIg9tYXhMb2NrRHVyYXRpb24iB2NvZWZmWDgiDmdXeEFtb3VudFN0YXJ0IgZnZXRLZXkiBGFkZHIiBHR5cGUiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiAXMiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0IgttdXN0TWFuYWdlciIBaSICcGQiAnBrIg5mYWN0b3J5QWRkcmVzcyILY2hlY2tDYWxsZXIiCnJld2FyZERhdGEiDmxwU3Rha2VkQnlVc2VyIg11c2VyQ2xhaW1JbmZvIg1taW5SZXdhcmRQYXJ0Ig9ib29zdFJld2FyZFBhcnQiBWRlYnVnIg1ib29zdGluZ1Bvd2VyIgtjdXJyZW50SXRlciIRZGVsdGFXeEFtb3VudEJ1bGsiG2RlbHRhTG9ja1BlcmlvZEluQmxvY2tzQnVsayIRZGVsdGFMcEFtb3VudEJ1bGsiEGxwQXNzZXRJZE9wdEJ1bGsiDnVzZXJBZGRyZXNzT3B0IgZyZXNBY2MiDWRlbHRhV3hBbW91bnQiF2RlbHRhTG9ja1BlcmlvZEluQmxvY2tzIg1kZWx0YUxwQW1vdW50IgxscEFzc2V0SWRPcHQiBGluZm8iA3JlcyIDaW52IghtYXRoRGFwcCIIRU1QVFlTVFIiF21heExvY2tEdXJhdGlvbkluQmxvY2tzIgp1c2VyTnVtU3RyIgp1c2VyQW1vdW50Iglsb2NrU3RhcnQiB2xvY2tFbmQiEXJlbWFpbmluZ0R1cmF0aW9uIg11c2VyQW1vdW50TmV3Ig9sb2NrRHVyYXRpb25OZXciEXVzZXJDdXJyZ1d4QW1vdW50IhFnV3hBbW91bnRTdGFydE5ldyITZ1d4UGFyYW1zUmVzdWx0TGlzdCINZ1d4QW1vdW50RGlmZiIBayIBYiIYdG90YWxNYXhCb29zdEludGVncmFsS0VZIhJ1c2VyTWF4Qm9vc3RJbnROZXciEHRvdGFsTWF4Qm9vc3RJbnQiDnRvdGFsQ2FjaGVkR3d4IgVNVUxUMyIUd3hFbWlzc2lvblBlckJsb2NrWDMiD3N0YWtlZEJ5VXNlcktFWSIOc3Rha2VkVG90YWxLRVkiDHN0YWtlZEJ5VXNlciILc3Rha2VkVG90YWwiD3N0YWtlZEJ5VXNlck5ldyIOc3Rha2VkVG90YWxOZXciGHBvb2xXeEVtaXNzaW9uUGVyQmxvY2tYMyIJd3hQZXJMcFgzIhB1c2VyV3hQZXJCbG9ja1gzIhdib29zdEVtaXNzaW9uUGVyQmxvY2tYMyIWdG1wVXNlckJvb3N0UGVyQmxvY2tYMyITdXNlckJvb3N0UGVyQmxvY2tYMyIKYm9vc3RDb2VmZiIHT05FTVVMVCIDT05FIhJlbWlzc2lvblN0YXJ0QmxvY2siDHBhc3NlZEJsb2NrcyIOdGVhbUVtRHVyYXRpb24iCXRlYW1FbU1heCIGdGVhbUVtIg90b3RhbFd4UmVsZWFzZWQiDXRvdGFsV3hMb2NrZWQiGGxvY2tzRHVyYXRpb25TdW1JbkJsb2NrcyIKbG9ja3NDb3VudCIHbHBBc3NldCIGc3RhdHVzIgN0cGwiA2NmZyIKYW10QXNzZXRJZCIMcHJpY2VBc3NldElkIgtpQW10QXNzZXRJZCINaVByaWNlQXNzZXRJZCILYW10QXNzZXREY20iDXByaWNlQXNzZXREY20iDXBvb2xMUEJhbGFuY2UiEmFjY0FtdEFzc2V0QmFsYW5jZSIUYWNjUHJpY2VBc3NldEJhbGFuY2UiCnByaWNlc0xpc3QiCGN1clByaWNlIg9scEFtdEFzc2V0U2hhcmUiEWxwUHJpY2VBc3NldFNoYXJlIgVpbkZlZSIGb3V0RmVlIh5wb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiHXBvb2xPbmVUb2tlbk9wZXJhdGlvbnNFbmFibGVkIgxpbkFtQXNzZXRBbXQiDGFtQXNzZXRJZFN0ciIJYW1Bc3NldElkIgxwckFzc2V0SWRTdHIiCXByQXNzZXRJZCIKcG9vbFN0YXR1cyIOYW10QXNzZXRBbXRYMTgiEHByaWNlQXNzZXRBbXRYMTgiC2N1clByaWNlWDE4Ig9pbkFtQXNzZXRBbXRYMTgiD2luUHJBc3NldEFtdFgxOCIMaW5QckFzc2V0QW10Ig0kdDAyMzM2NDIzNzE3IgljYWxjTHBBbXQiDGN1clByaWNlQ2FsYyIJYW1CYWxhbmNlIglwckJhbGFuY2UiCmxwRW1pc3Npb24iDGFtQmFsYW5jZVJhdyIMcHJCYWxhbmNlUmF3Ig9hbUJhbGFuY2VSYXdYMTgiD3ByQmFsYW5jZVJhd1gxOCINJHQwMjYyOTAyNjY0MyIQcGF5bWVudExwQXNzZXRJZCIMcGF5bWVudExwQW10Ig0kdDAyNzMzODI3NzU1IghvdXRBbUFtdCIIb3V0UHJBbXQiD2d3eFVzZXJJbmZvTElTVCIJZ3d4QW1vdW50Ig11bnN0YWtlQW1vdW50IgpvdXRBc3NldElkIgxtaW5PdXRBbW91bnQiBGtleXMiF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5IhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5XQABYQAIAAFiAIDC1y8AAWMAEgABZAkAtgIBAICAkLu61q3wDQABZQICX18AAWYFAWIAAWcJALYCAQAAAAFoAAEAAWkAAgABagADAAFrAAQAAWwABQABbQAGAAFuAAcAAW8ACAABcAAJAAFxAAoBAXIBAXMJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBBQFzCQCsAgIJAKwCAgIPbWFuZGF0b3J5IHRoaXMuBQFzAg8gaXMgbm90IGRlZmluZWQBAXQCAXUBcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFAXUFAXMJAKwCAgkArAICCQCsAgIJAKwCAgIKbWFuZGF0b3J5IAkApQgBBQF1AgEuBQFzAg8gaXMgbm90IGRlZmluZWQBAXYCAXUBcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQF1BQFzAAABAXcCAXUBcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFAXUFAXMJAKwCAgkArAICAg9tYW5kYXRvcnkgdGhpcy4FAXMCDyBpcyBub3QgZGVmaW5lZAEBeAEBeQQBegUBeQMJAAECBQF6AglMaXN0W0FueV0EAUEFAXoFAUEJAAIBAhtmYWlsIHRvIGNhc3QgaW50byBMaXN0W0FueV0BAUIBAXkEAXoFAXkDCQABAgUBegIDSW50BAFDBQF6BQFDCQACAQIVZmFpbCB0byBjYXN0IGludG8gSW50AQFEAQF5BAF6BQF5AwkAAQIFAXoCBlN0cmluZwQBRQUBegUBRQkAAgECGGZhaWwgdG8gY2FzdCBpbnRvIFN0cmluZwEBRgACHCVzJXNfX2NvbmZpZ19fZmFjdG9yeUFkZHJlc3MBAUcAAhQlc19fbWFuYWdlclB1YmxpY0tleQEBSAACGyVzX19wZW5kaW5nTWFuYWdlclB1YmxpY0tleQABSQABAAFKAAIAAUsAAwABTAAEAAFNAAUAAU4ABgABTwAHAAFQAAgBAVEAAhElc19fZmFjdG9yeUNvbmZpZwEBUgEBUwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCBQFTCQDMCAICHm1hcHBpbmdzX19scEFzc2V0MlBvb2xDb250cmFjdAUDbmlsBQFlAQFUAAIQJXNfX2xwVG9rZW5zTGlzdAEBVQEBUwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCBQFTCQDMCAICHm1hcHBpbmdzX19scEFzc2V0MlBvb2xDb250cmFjdAUDbmlsBQFlAQFWAQFXCQC5CQIJAMwIAgIEJXMlcwkAzAgCAgpwb29sV2VpZ2h0CQDMCAIFAVcFA25pbAUBZQEBWAAJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQFyAQkBAUYAAQFZAAkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIJAQFYAAkBAVQAAgAFAWUBAVoBAmFhCQC1CQIJAQF0AgUCYWEJAQFRAAUBZQECYWIBAmFjCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmFjBQFKAQJhZAECYWMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYWMFAU0BAmFlAQJhYwkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJhYwUBSQECYWYBAmFjCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmFjBQFQAQJhZwACCiVzX19jb25maWcBAmFoAAIeJXMlc19fc3RhdHNfX2FjdGl2ZVRvdGFsTG9ja2VkAQJhaQACJSVzJXNfX3N0YXRzX19sb2Nrc0R1cmF0aW9uU3VtSW5CbG9ja3MBAmFqAAIXJXMlc19fc3RhdHNfX2xvY2tzQ291bnQBAmFrAAIdJXMlc19fc3RhdHNfX2FjdGl2ZVVzZXJzQ291bnQBAmFsAQJhbQkAuQkCCQDMCAICGSVzJXMlc19fbWFwcGluZ19fdXNlcjJudW0JAMwIAgUCYW0FA25pbAUBZQECYW4BAmFvCQC5CQIJAMwIAgIZJXMlcyVzX19tYXBwaW5nX19udW0ydXNlcgkAzAgCBQJhbwUDbmlsBQFlAQJhcAECYXEJALkJAgkAzAgCAhYlcyVkJXNfX3BhcmFtQnlVc2VyTnVtCQDMCAIFAmFxCQDMCAICBmFtb3VudAUDbmlsBQFlAQJhcgECYXEJALkJAgkAzAgCAhYlcyVkJXNfX3BhcmFtQnlVc2VyTnVtCQDMCAIFAmFxCQDMCAICBXN0YXJ0BQNuaWwFAWUBAmFzAQJhcQkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXEJAMwIAgIIZHVyYXRpb24FA25pbAUBZQECYXQBAmFxCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhcQkAzAgCAgFrBQNuaWwFAWUBAmF1AQJhcQkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXEJAMwIAgIBYgUDbmlsBQFlAQJhdgICYXECYXcJALkJAgkAzAgCAhclcyVkJXMlZF9fcGFyYW1CeVBlcmlvZAkAzAgCBQJhcQkAzAgCAgFrCQDMCAIFAmF3BQNuaWwFAWUBAmF4AgJhcQJhdwkAuQkCCQDMCAICFyVzJWQlcyVkX19wYXJhbUJ5UGVyaW9kCQDMCAIFAmFxCQDMCAICAWIJAMwIAgUCYXcFA25pbAUBZQECYXkBAmFxCQC5CQIJAMwIAgIeJXMlZF9fdXNlckJvb3N0RW1pc3Npb25MYXN0SW50CQDMCAIFAmFxBQNuaWwFAWUBAmF6AQJhcQkAuQkCCQDMCAICESVzJWRfX21heEJvb3N0SW50CQDMCAIFAmFxBQNuaWwFAWUBAmFBAAIYJXMlc19fbWF4Qm9vc3RJbnRfX3RvdGFsAQJhQgECYXEJALkJAgkAzAgCAiQlcyVkX191c2VyQm9vc3RBdmFsaWFibGVUb0NsYWltVG90YWwJAMwIAgUCYXEFA25pbAUBZQECYUMBAmFxCQC5CQIJAMwIAgIWJXMlZF9fdXNlckJvb3N0Q2xhaW1lZAkAzAgCBQJhcQUDbmlsBQFlAQJhRAACFiVzJXNfX2d3eENhY2hlZF9fdG90YWwBAmFFAgJhRgJhRwkAuQkCCQDMCAICDiVzJXMlc19fc3Rha2VkCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFAWUBAmFIAQJhRwkArAICAhclcyVzJXNfX3N0YWtlZF9fdG90YWxfXwUCYUcBAmFJAgJhRwJhRgkAuQkCCQDMCAICDyVzJXMlc19fY2xhaW1lZAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQFlAQJhSgICYUcCYUYJALkJAgkAzAgCAhglcyVzJXNfX2NsYWltZWRNaW5SZXdhcmQJAMwIAgUCYUYJAMwIAgUCYUcFA25pbAUBZQECYUsCAmFHAmFGCQC5CQIJAMwIAgIaJXMlcyVzX19jbGFpbWVkQm9vc3RSZXdhcmQJAMwIAgUCYUYJAMwIAgUCYUcFA25pbAUBZQECYUwCAmFNAXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUCYU0FAXMAAAECYU4AAhslcyVzX19yYXRlUGVyQmxvY2tfX2N1cnJlbnQBAmFPAAIeJXMlc19fcmF0ZVBlckJsb2NrTWF4X19jdXJyZW50AQJhUAACGiVzJXNfX2VtaXNzaW9uX19zdGFydEJsb2NrAQJhUQACGCVzJXNfX2VtaXNzaW9uX19kdXJhdGlvbgECYVIAAhglcyVzX19lbWlzc2lvbl9fZW5kQmxvY2sBAmFTAAINJXNfX2FkZG9uQWRkcgACYVQJAQFYAAACYVUJAQFaAQUCYVQAAmFWCQECYWQBBQJhVQACYU0JAQJhZQEFAmFVAAJhVwkBAmFmAQUCYVUAAmFYCQECYWIBBQJhVQECYVkBAmFaCgACYmEJAPwHBAUCYVQCEGdldEluRmVlUkVBRE9OTFkJAMwIAgkApQgBBQJhWgUDbmlsBQNuaWwDCQABAgUCYmECA0ludAUCYmEJAAIBCQCsAgIJAAMBBQJiYQIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50AQJiYgECYVoKAAJiYQkA/AcEBQJhVAIRZ2V0T3V0RmVlUkVBRE9OTFkJAMwIAgkApQgBBQJhWgUDbmlsBQNuaWwDCQABAgUCYmECA0ludAUCYmEJAAIBCQCsAgIJAAMBBQJiYQIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50AQJiYwECYmQEAmJlCQEBdAIFAmFUCQEBVQEFAmJkBAJiZgUBYgQCYmcJARFAZXh0ck5hdGl2ZSgxMDUwKQIFAmFUCQEBVgEFAmJlBAJiaAkBAXcCBQJhVgkBAmFOAAQCYmkJAQF3AgUCYVYJAQJhTwAEAmJqAAMEAmJrCQBpAgkAawMFAmJoBQJiZwUCYmYFAmJqBAJibAkAawMFAmJpBQJiZwUCYmYEAmJtCQBoAgUCYmoFAWIEAmJuCQEBdgIFAmFNCQECYUgBBQJiZAkAzAgCBQJiawkAzAgCBQJibQkAzAgCBQJibgUDbmlsAQJibwMCYnACYnECYnIEAmJzCQBrAwUCYnEFAWIFAmJyBAJidAkAawMFAmJwBQJicwUBYgkAzAgCBQJidAUDbmlsAQJidQMCYnYBcwJidwMJAAACBQJidwIGc3RyaW5nCQERQGV4dHJOYXRpdmUoMTA1MykCBQJidgUBcwMJAAACBQJidwIHaW50ZWdlcgkApAMBCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJidgUBcwMJAAACBQJidwIHYm9vbGVhbgkApQMBCQERQGV4dHJOYXRpdmUoMTA1MSkCBQJidgUBcwkAAgECLXVua25vd24gdHlwZS4gZXhwZWN0ZWQgc3RyaW5nL2ludGVnZXIvYm9vbGVhbgECYngABAF6CQCiCAEJAQFHAAMJAAECBQF6AgZTdHJpbmcEAmJ5BQF6CQDZBAEFAmJ5AwkAAQIFAXoCBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgECYnoABAF6CQCiCAEJAQFIAAMJAAECBQF6AgZTdHJpbmcEAmJ5BQF6CQDZBAEFAmJ5AwkAAQIFAXoCBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgECYkEBAmJCBAJiQwkAAgECEVBlcm1pc3Npb24gZGVuaWVkBAF6CQECYngAAwkAAQIFAXoCCkJ5dGVWZWN0b3IEAmJEBQF6AwkAAAIIBQJiQg9jYWxsZXJQdWJsaWNLZXkFAmJEBgUCYkMDCQABAgUBegIEVW5pdAMJAAACCAUCYkIGY2FsbGVyBQR0aGlzBgUCYkMJAAIBAgtNYXRjaCBlcnJvchECYkIBC2NvbnN0cnVjdG9yAQJiRQQCYkYJAQJiQQEFAmJCAwkAAAIFAmJGBQJiRgkAzAgCCQELU3RyaW5nRW50cnkCCQEBRgAFAmJFBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkIBGWN1cnJlbnRSZXdhcmRSYXRlUkVBRE9OTFkBAmJkBAJiRwkBAmJjAQUCYmQEAmJoCQCRAwIFAmJHAAAEAmJtCQCRAwIFAmJHAAEEAmJuCQCRAwIFAmJHAAIJAJQKAgUDbmlsCQC5CQIJAMwIAgIGJWQlZCVkCQDMCAIJAKQDAQUCYmgJAMwIAgkApAMBBQJibQkAzAgCCQCkAwEFAmJuBQNuaWwFAWUCYkIBHWN1cnJlbnRVc2VyUmV3YXJkUmF0ZVJFQURPTkxZAgJiZAJhbQQCYkcJAQJiYwEFAmJkBAJiaAkAkQMCBQJiRwAABAJibQkAkQMCBQJiRwABBAJibgkAkQMCBQJiRwACBAJiSAkBAXYCBQJhTQkBAmFFAgUCYW0FAmJkBAJiSQkAtQkCCQEBRAEJAPwHBAUCYU0CD2NsYWltV3hSRUFET05MWQkAzAgCBQJiZAkAzAgCBQJhbQUDbmlsBQNuaWwFAWUEAmJKCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQJiSQAFAhxjb3VsZG4ndCBwYXJzZSBtaW5SZXdhcmRQYXJ0BAJiSwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUCYkkABgIeY291bGRuJ3QgcGFyc2UgYm9vc3RSZXdhcmRQYXJ0BAJiTAkAkQMCBQJiSQAHBAJiTQMJAAACBQJiSwAACQBoAgABBQFiCQBrAwkAZAIFAmJKBQJiSwUBYgUCYkoJAJQKAgUDbmlsCQC5CQIJAMwIAgIMJWQlZCVkJWQlZCVzCQDMCAIJAKQDAQUCYmgJAMwIAgkApAMBBQJibQkAzAgCCQCkAwEFAmJuCQDMCAIJAKQDAQUCYkgJAMwIAgkApAMBBQJiTQkAzAgCBQJiTAUDbmlsBQFlAmJCAR1jYWxjQm9vc3RCdWxrSW50ZXJuYWxSRUFET05MWQcCYk4CYk8CYlACYlECYlICYlMCYlQDCQAAAgUCYk4JAJADAQUCYk8JAJQKAgUDbmlsBQJiVAQCYlUJAJEDAgUCYk8FAmJOBAJiVgkAkQMCBQJiUAUCYk4EAmJXCQCRAwIFAmJRBQJiTgQCYlgJAJEDAgUCYlIFAmJOBAJiWQoAAmJhCQD8BwQFBHRoaXMCEWNhbGNCb29zdFJFQURPTkxZCQDMCAIFAmJVCQDMCAIFAmJWCQDMCAIFAmJXCQDMCAIFAmJYCQDMCAIFAmJTBQNuaWwFA25pbAMJAAECBQJiYQIGU3RyaW5nBQJiYQkAAgEJAKwCAgkAAwEFAmJhAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcEAmJaCQDNCAIFAmJUBQJiWQQCY2EKAAJiYQkA/AcEBQR0aGlzAh1jYWxjQm9vc3RCdWxrSW50ZXJuYWxSRUFET05MWQkAzAgCCQBkAgUCYk4AAQkAzAgCBQJiTwkAzAgCBQJiUAkAzAgCBQJiUQkAzAgCBQJiUgkAzAgCBQJiUwkAzAgCBQJiWgUDbmlsBQNuaWwDCQABAgUCYmECCUxpc3RbQW55XQUCYmEJAAIBCQCsAgIJAAMBBQJiYQIeIGNvdWxkbid0IGJlIGNhc3QgdG8gTGlzdFtBbnldAwkAAAIFAmNhBQJjYQkAlAoCBQNuaWwFAmNhCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJCARVjYWxjQm9vc3RCdWxrUkVBRE9OTFkFAmJVAmJWAmJXAmJYAmJTBAJiWgkA/AcEBQR0aGlzAh1jYWxjQm9vc3RCdWxrSW50ZXJuYWxSRUFET05MWQkAzAgCAAAJAMwIAgUCYlUJAMwIAgUCYlYJAMwIAgUCYlcJAMwIAgUCYlgJAMwIAgUCYlMJAMwIAgUDbmlsBQNuaWwFA25pbAkAlAoCBQNuaWwFAmJaAmJCARFjYWxjQm9vc3RSRUFET05MWQUCYlUCYlYCYlcCYlgCYlMEAmNiBQJhVwQCY2MCBWVtcHR5BAJjZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIJALUJAgkBAXQCBQJhWAkBAmFnAAUBZQAEBAJhRwMJAAACBQJiWAIABQJjYwUCYlgEAmFGAwkAAAIFAmJTAgAFAmNjBQJiUwQCY2UJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUCYVgJAQJhbAEFAmJTBQJjYwQCY2YJAQt2YWx1ZU9yRWxzZQIJAJoIAgUCYVgJAQJhcAEFAmNlAAAEAmNnCQELdmFsdWVPckVsc2UCCQCaCAIFAmFYCQECYXIBBQJjZQUGaGVpZ2h0BAJicQkBC3ZhbHVlT3JFbHNlAgkAmggCBQJhWAkBAmFzAQUCY2UAAAQCY2gJAGQCBQJjZwUCYnEEAmNpCQCWAwEJAMwIAgkAZQIFAmNoBQZoZWlnaHQJAMwIAgAABQNuaWwEAmNqCQBkAgUCY2YFAmJVBAJjawkAlwMBCQDMCAIJAGQCBQJjaQUCYlYJAMwIAgUCY2QFA25pbAQCY2wJAQFCAQkAkQMCCQEBeAEJAPwHBAUCYVgCE2d3eFVzZXJJbmZvUkVBRE9OTFkJAMwIAgUCYUYFA25pbAUDbmlsAAAEAmNtCQCRAwIJAQJibwMFAmNqBQJjawUCY2QAAAQCY24JAQF4AQkA/AcEBQJjYgIVY2FsY0d3eFBhcmFtc1JFQURPTkxZCQDMCAIFAmNtCQDMCAIFBmhlaWdodAkAzAgCBQJjawUDbmlsBQNuaWwEAmNvCQBlAgUCY20FAmNsBAJjcAkBAUIBCQCRAwIFAmNuAAAEAmNxCQEBQgEJAJEDAgUCY24AAQQCYXcJAKQDAQkBAUIBCQCRAwIFAmNuAAIEAmNyCQECYUEABAJjcwkAaQIJAGgCBQJjbQUCY2sAAgQCY3QJAQF2AgUCYVgFAmNyBAJjdQoAAmJhCQD8BwQFAmFYAhlnZXRUb3RhbENhY2hlZEd3eFJFQURPTkxZBQNuaWwFA25pbAMJAAECBQJiYQIDSW50BQJiYQkAAgEJAKwCAgkAAwEFAmJhAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQEAmN2AOgHBAJjdwkAaAIJAQF3AgUCYVYJAQJhTgAFAmN2BAJjeAkBAmFFAgUCYUYFAmFHBAJjeQkBAmFIAQUCYUcEAmN6CQECYUwCBQJhTQUCY3gEAmNBCQECYUwCBQJhTQUCY3kEAmNCCQBkAgUCY3oFAmJXBAJjQwkAZAIFAmNBBQJiVwQCYmcDCQECIT0CBQJhRwUCY2MEAmJlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUCYVQJAQFSAQUCYUcJAKwCAgIVdW5zdXBwb3J0ZWQgbHAgYXNzZXQgBQJhRwkBEUBleHRyTmF0aXZlKDEwNTApAgUCYVQJAQFWAQUCYmUAAAQCY0QJAGsDBQJjdwUCYmcJAGgCBQFmAAMEAmNFAwkBAiE9AgUCY0MAAAkAawMFAmNEBQFiBQJjQwAABAJjRgkAawMFAmNFBQJjQgUBYgQCY0cJAGgCBQJjRAACBAJjSAkAawMFAmNtBQJjRwkAZAIFAmN1BQJjbwQCY0kJAJcDAQkAzAgCBQJjSAkAzAgCCQBoAgUCY0YAAgUDbmlsBAJjSgMJAAACBQJjRgAACQBoAgABBQFiCQBrAwkAZAIFAmNJBQJjRgUBYgUCY0YJAJQKAgUDbmlsCQC5CQIJAMwIAgIGJWQlZCVzCQDMCAIJAKQDAQUCY20JAMwIAgkApAMBBQJjSgkAzAgCAgFkBQNuaWwFAWUCYkIBF3d4RW1pc3Npb25TdGF0c1JFQURPTkxZAAQCY0sJAKQDAQUBYgQCY0wCATEEAmJoCQEBdwIFAmFWCQECYU4ABAJjTQkBAXcCBQJhVgkBAmFQAAQCY04DCQBmAgUCY00FBmhlaWdodAAACQBlAgUGaGVpZ2h0BQJjTQQCY08JAGgCAKALAO0CBAJjUAkAaAIAwIjsXwUBYgQCY1EDCQBmAgUCY04FAmNPBQJjUAkAawMFAmNQBQJjTgUCY08EAmNSCQBkAgkAaAIFAmJoBQJjTgUCY1EEAmNTCQEBdgIFAmFYCQECYWgABAJjVAkBAXYCBQJhWAkBAmFpAAQCY1UJAQF2AgUCYVgJAQJhagAJAJQKAgUDbmlsCQC5CQIJAMwIAgIIJWQlZCVkJWQJAMwIAgkApAMBBQJjUgkAzAgCCQCkAwEFAmNTCQDMCAIJAKQDAQUCY1QJAMwIAgkApAMBBQJjVQUDbmlsBQFlAmJCARFwb29sU3RhdHNSRUFET05MWQECY1YEAmFaCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBdAIFAmFUCQEBVQEFAmNWBAJjVwoAAmJhCQD8BwQFAmFUAhVnZXRQb29sU3RhdHVzUkVBRE9OTFkJAMwIAgkApQgBBQJhWgUDbmlsBQNuaWwDCQABAgUCYmECA0ludAUCYmEJAAIBCQCsAgIJAAMBBQJiYQIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BAJjWAIUJWQlZCVkJWQlZCVkJWQlZCVkJXMDCQAAAgUCY1cABAkAlAoCBQNuaWwJALkJAgkAzAgCBQJjWAkAzAgCCQCkAwEAAAkAzAgCCQCkAwEAAAkAzAgCCQCkAwEAAAkAzAgCCQCkAwEAAAkAzAgCCQCkAwEAAAkAzAgCCQCkAwEAAAkAzAgCCQCkAwEAAAkAzAgCCQCkAwEAAAkAzAgCCQCkAwEAAAkAzAgCCQClAwEHBQNuaWwFAWUEAmNZCQEBeAEJAPwHBAUCYVoCHGdldFBvb2xDb25maWdXcmFwcGVyUkVBRE9OTFkFA25pbAUDbmlsBAJiZAkA2QQBCQEBRAEJAJEDAgUCY1kFAWoEAmNaCQEBRAEJAJEDAgUCY1kFAWsEAmRhCQEBRAEJAJEDAgUCY1kFAWwEAmRiCQEBRAEJAJEDAgUCY1kFAW8EAmRjCQEBRAEJAJEDAgUCY1kFAXAEAmRkCQENcGFyc2VJbnRWYWx1ZQEJAQFEAQkAkQMCBQJjWQUBbQQCZGUJAQ1wYXJzZUludFZhbHVlAQkBAUQBCQCRAwIFAmNZBQFuBAJkZggJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQJiZAkArAICCQCsAgICBkFzc2V0IAkA2AQBBQJiZAIOIGRvZXNuJ3QgZXhpc3QIcXVhbnRpdHkEAmRnCQEBQgEJAPwHBAUCYVoCHGdldEFjY0JhbGFuY2VXcmFwcGVyUkVBRE9OTFkJAMwIAgUCY1oFA25pbAUDbmlsBAJkaAkBAUIBCQD8BwQFAmFaAhxnZXRBY2NCYWxhbmNlV3JhcHBlclJFQURPTkxZCQDMCAIFAmRhBQNuaWwFA25pbAQCZGkDCQAAAgUCZGYAAAkAzAgCCQCmAwEFAWcJAMwIAgkApgMBBQFnCQDMCAIJAKYDAQUBZwUDbmlsCQEBeAEJAPwHBAUCYVoCGWNhbGNQcmljZXNXcmFwcGVyUkVBRE9OTFkJAMwIAgUCZGcJAMwIAgUCZGgJAMwIAgUCZGYFA25pbAUDbmlsBAJkagAABAJkawkBAUIBCQD8BwQFAmFaAhZmcm9tWDE4V3JhcHBlclJFQURPTkxZCQDMCAIJAJEDAgUCZGkAAQkAzAgCBQFiBQNuaWwFA25pbAQCZGwJAQFCAQkA/AcEBQJhWgIWZnJvbVgxOFdyYXBwZXJSRUFET05MWQkAzAgCCQCRAwIFAmRpAAIJAMwIAgUBYgUDbmlsBQNuaWwEAmJnCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJhVAkBAVYBCQClCAEFAmFaBAJkbQkBAmFZAQUCYVoEAmRuCQECYmIBBQJhWgQCZG8KAAJiYQkA/AcEBQJhVAIoaXNQb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWRSRUFET05MWQkAzAgCCQClCAEFAmFaBQNuaWwFA25pbAMJAAECBQJiYQIHQm9vbGVhbgUCYmEJAAIBCQCsAgIJAAMBBQJiYQIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgQCZHAJAQEhAQUCZG8JAJQKAgUDbmlsCQC5CQIJAMwIAgUCY1gJAMwIAgkApAMBBQJkZwkAzAgCCQCkAwEFAmRoCQDMCAIJAKQDAQUCZGYJAMwIAgkApAMBBQJkagkAzAgCCQCkAwEFAmRrCQDMCAIJAKQDAQUCZGwJAMwIAgkApAMBBQJiZwkAzAgCCQCkAwEFAmRtCQDMCAIJAKQDAQUCZG4JAMwIAgkApQMBBQJkcAUDbmlsBQFlAmJCASRwb29sRXZhbHVhdGVQdXRCeUFtb3VudEFzc2V0UkVBRE9OTFkCAmNWAmRxBAJhWgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAXQC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BQJkSAUCZGoFAmR2CQACAQITQ291bGRuJ3QgY2FzdCB0eXBlcwQCZFEIBQJkUAJfMQQCZFIIBQJkUAJfMgQCZEYIBQJkUAJfMwQCZEcIBQJkUAJfNAQCZEgIBQJkUAJfNQQCZGoIBQJkUAJfNgQCZHYIBQJkUAJfNwkAlAoCBQNuaWwJALkJAgkAzAgCAg4lZCVkJWQlZCVkJWQlZAkAzAgCCQCkAwEFAmRRCQDMCAIJAKQDAQUCZFIJAMwIAgkApAMBBQJkRgkAzAgCCQCkAwEFAmRHCQDMCAIJAKQDAQUCZEgJAMwIAgUCZGoJAMwIAgUCZHYFA25pbAUBZQJiQgETZ3d4VXNlckluZm9SRUFET05MWQECYW0EAmRTCQEBeAEJAPwHBAUCYVgCE2d3eFVzZXJJbmZvUkVBRE9OTFkJAMwIAgUCYW0FA25pbAUDbmlsBAJkVAkBAUIBCQCRAwIFAmRTAAAJAJQKAgUDbmlsCQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQJkVAUDbmlsBQFlAmJCARV1bnN0YWtlQW5kR2V0T25lVGtuVjIEAmFaAmRVAmRWAmRXBAJjYQkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQJhWgIVdW5zdGFrZUFuZEdldE9uZVRrblYyCQDMCAIFAmRVCQDMCAIFAmRWCQDMCAIFAmRXBQNuaWwFA25pbAMJAAACBQJjYQUCY2EJAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJCARNnZXRLZXlzQnVsa0ludGVybmFsAwJiTgJkWAJiVAMJAAACBQJiTgkAkAMBBQJkWAkAlAoCBQNuaWwFAmJUBAJjcAkAtQkCCQCRAwIFAmRYBQJiTgICKysEAmJ2CQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmNwAAAEAXMJAJEDAgUCY3AAAQQCYncJAJEDAgUCY3AAAgQBeQkBAmJ1AwUCYnYFAXMFAmJ3BAJiWgkAzQgCBQJiVAUBeQQCY2EJAPwHBAUEdGhpcwITZ2V0S2V5c0J1bGtJbnRlcm5hbAkAzAgCCQBkAgUCYk4AAQkAzAgCBQJkWAkAzAgCBQJiWgUDbmlsBQNuaWwDCQAAAgUCY2EFAmNhCQCUCgIFA25pbAUCY2EJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkIBC2dldEtleXNCdWxrAQJkWAQCYloJAPwHBAUEdGhpcwITZ2V0S2V5c0J1bGtJbnRlcm5hbAkAzAgCAAAJAMwIAgUCZFgJAMwIAgUDbmlsBQNuaWwFA25pbAkAlAoCBQNuaWwFAmJaAmJCAQpzZXRNYW5hZ2VyAQJkWQQCYkYJAQJiQQEFAmJCAwkAAAIFAmJGBQJiRgQCZFoJANkEAQUCZFkDCQAAAgUCZFoFAmRaCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFIAAUCZFkFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiQgEOY29uZmlybU1hbmFnZXIABAJlYQkBAmJ6AAQCZWIDCQEJaXNEZWZpbmVkAQUCZWEGCQACAQISTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmViBQJlYgQCZWMDCQAAAggFAmJCD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCZWEGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmVjBQJlYwkAzAgCCQELU3RyaW5nRW50cnkCCQEBRwAJANgEAQkBBXZhbHVlAQUCZWEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAUgABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmVkAQJlZQAEAmVmBAF6CQECYngAAwkAAQIFAXoCCkJ5dGVWZWN0b3IEAmJEBQF6BQJiRAMJAAECBQF6AgRVbml0CAUCZWQPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmVkCWJvZHlCeXRlcwkAkQMCCAUCZWQGcHJvb2ZzAAAFAmVm12kILA==", "height": 2458061, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2WczFfc61PGZL5P7As5wtFQX3TKmjE5u7KZyKeXHA3ET Next: 9wffeaxtZvF138KggTXUBRUQ8aawWewMwA2HhPnhHix8 Diff:
OldNewDifferences
418418
419419 @Callable(bB)
420420 func calcBoostREADONLY (bU,bV,bW,bX,bS) = {
421- let cb = {
422- let ba = invoke(aV, "getBoostCoeffREADONLY", nil, nil)
423- if ($isInstanceOf(ba, "Int"))
424- then ba
425- else throw(($getType(ba) + " couldn't be cast to Int"))
426- }
427- let cc = aW
428- let cd = "empty"
429- let ce = parseIntValue(split(t(aX, ag()), e)[4])
421+ let cb = aW
422+ let cc = "empty"
423+ let cd = parseIntValue(split(t(aX, ag()), e)[4])
430424 let aG = if ((bX == ""))
431- then cd
425+ then cc
432426 else bX
433427 let aF = if ((bS == ""))
434- then cd
428+ then cc
435429 else bS
436- let cf = valueOrElse(getString(aX, al(bS)), cd)
437- let cg = valueOrElse(getInteger(aX, ap(cf)), 0)
438- let ch = valueOrElse(getInteger(aX, ar(cf)), height)
439- let bq = valueOrElse(getInteger(aX, as(cf)), 0)
440- let ci = (ch + bq)
441- let cj = max([(ci - height), 0])
442- let ck = (cg + bU)
443- let cl = min([(cj + bV), ce])
444- let cm = B(x(invoke(aX, "gwxUserInfoREADONLY", [aF], nil))[0])
445- let cn = bo(ck, cl, ce)[0]
446- let co = x(invoke(cc, "calcGwxParamsREADONLY", [cn, height, cl], nil))
447- let cp = (cn - cm)
448- let cq = B(co[0])
449- let cr = B(co[1])
450- let aw = toString(B(co[2]))
451- let cs = aA()
452- let ct = ((cn * cl) / 2)
453- let cu = v(aX, cs)
454- let cv = {
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 = {
455449 let ba = invoke(aX, "getTotalCachedGwxREADONLY", nil, nil)
456450 if ($isInstanceOf(ba, "Int"))
457451 then ba
458452 else throw(($getType(ba) + " couldn't be cast to Int"))
459453 }
460- let cw = 1000
461- let cx = (w(aV, aN()) * cw)
462- let cy = aE(aF, aG)
463- let cz = aH(aG)
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)
464459 let cA = aL(aM, cy)
465- let cB = aL(aM, cz)
460+ let cB = (cz + bW)
466461 let cC = (cA + bW)
467- let cD = (cB + bW)
468- let bg = if ((aG != cd))
462+ let bg = if ((aG != cc))
469463 then {
470464 let be = valueOrErrorMessage(getString(aT, R(aG)), ("unsupported lp asset " + aG))
471465 getIntegerValue(aT, V(be))
472466 }
473467 else 0
474- let cE = fraction(cx, bg, (f * 3))
475- let cF = if ((cD != 0))
476- then fraction(cE, b, cD)
468+ let cD = fraction(cw, bg, (f * 3))
469+ let cE = if ((cC != 0))
470+ then fraction(cD, b, cC)
477471 else 0
478- let cG = fraction(cF, cC, b)
479- let cH = (cE * 2)
480- let cI = fraction(cn, cH, (cv + cp))
481- let cJ = min([cI, (cG * 2)])
482- let cK = if ((cG == 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))
483477 then (1 * b)
484- else fraction((cJ + cG), b, cG)
485- $Tuple2(nil, makeString(["%d%d%s", toString(cn), toString(cK), "d"], e))
478+ else fraction((cI + cF), b, cF)
479+ $Tuple2(nil, makeString(["%d%d%s", toString(cm), toString(cJ), "d"], e))
486480 }
487481
488482
489483
490484 @Callable(bB)
491485 func wxEmissionStatsREADONLY () = {
492- let cL = toString(b)
493- let cM = "1"
486+ let cK = toString(b)
487+ let cL = "1"
494488 let bh = w(aV, aN())
495- let cN = w(aV, aP())
496- let cO = if ((cN > height))
489+ let cM = w(aV, aP())
490+ let cN = if ((cM > height))
497491 then 0
498- else (height - cN)
499- let cP = (1440 * 365)
500- let cQ = (201000000 * b)
501- let cR = if ((cO > cP))
502- then cQ
503- else fraction(cQ, cO, cP)
504- let cS = ((bh * cO) + cR)
505- let cT = v(aX, ah())
506- let cU = v(aX, ai())
507- let cV = v(aX, aj())
508- $Tuple2(nil, makeString(["%d%d%d%d", toString(cS), toString(cT), toString(cU), toString(cV)], e))
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))
509503 }
510504
511505
512506
513507 @Callable(bB)
514-func poolStatsREADONLY (cW) = {
515- let aZ = addressFromStringValue(t(aT, U(cW)))
516- let cX = {
508+func poolStatsREADONLY (cV) = {
509+ let aZ = addressFromStringValue(t(aT, U(cV)))
510+ let cW = {
517511 let ba = invoke(aT, "getPoolStatusREADONLY", [toString(aZ)], nil)
518512 if ($isInstanceOf(ba, "Int"))
519513 then ba
520514 else throw(($getType(ba) + " couldn't be cast to Int"))
521515 }
522- let cY = "%d%d%d%d%d%d%d%d%d%s"
523- if ((cX == 4))
524- then $Tuple2(nil, makeString([cY, toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(false)], e))
516+ let cX = "%d%d%d%d%d%d%d%d%d%s"
517+ if ((cW == 4))
518+ then $Tuple2(nil, makeString([cX, toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(false)], e))
525519 else {
526- let cZ = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
527- let bd = fromBase58String(D(cZ[j]))
528- let da = D(cZ[k])
529- let db = D(cZ[l])
530- let dc = D(cZ[o])
531- let dd = D(cZ[p])
532- let de = parseIntValue(D(cZ[m]))
533- let df = parseIntValue(D(cZ[n]))
534- let dg = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
520+ let cY = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
521+ let bd = fromBase58String(D(cY[j]))
522+ let cZ = D(cY[k])
523+ let da = D(cY[l])
524+ let db = D(cY[o])
525+ let dc = D(cY[p])
526+ let dd = parseIntValue(D(cY[m]))
527+ let de = parseIntValue(D(cY[n]))
528+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
529+ let dg = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cZ], nil))
535530 let dh = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [da], nil))
536- let di = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [db], nil))
537- let dj = if ((dg == 0))
531+ let di = if ((df == 0))
538532 then [toString(g), toString(g), toString(g)]
539- else x(invoke(aZ, "calcPricesWrapperREADONLY", [dh, di, dg], nil))
540- let dk = 0
541- let dl = B(invoke(aZ, "fromX18WrapperREADONLY", [dj[1], b], nil))
542- let dm = B(invoke(aZ, "fromX18WrapperREADONLY", [dj[2], b], nil))
533+ else x(invoke(aZ, "calcPricesWrapperREADONLY", [dg, dh, df], nil))
534+ let dj = 0
535+ let dk = B(invoke(aZ, "fromX18WrapperREADONLY", [di[1], b], nil))
536+ let dl = B(invoke(aZ, "fromX18WrapperREADONLY", [di[2], b], nil))
543537 let bg = getIntegerValue(aT, V(toString(aZ)))
544- let dn = aY(aZ)
545- let do = bb(aZ)
546- let dp = {
538+ let dm = aY(aZ)
539+ let dn = bb(aZ)
540+ let do = {
547541 let ba = invoke(aT, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aZ)], nil)
548542 if ($isInstanceOf(ba, "Boolean"))
549543 then ba
550544 else throw(($getType(ba) + " couldn't be cast to Boolean"))
551545 }
552- let dq = !(dp)
553- $Tuple2(nil, makeString([cY, toString(dh), toString(di), toString(dg), toString(dk), toString(dl), toString(dm), toString(bg), toString(dn), toString(do), toString(dq)], e))
546+ let dp = !(do)
547+ $Tuple2(nil, makeString([cX, toString(dg), toString(dh), toString(df), toString(dj), toString(dk), toString(dl), toString(bg), toString(dm), toString(dn), toString(dp)], e))
554548 }
555549 }
556550
557551
558552
559553 @Callable(bB)
560-func poolEvaluatePutByAmountAssetREADONLY (cW,dr) = {
561- let aZ = addressFromStringValue(t(aT, U(cW)))
562- let cZ = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
563- let bd = fromBase58String(D(cZ[j]))
564- let ds = D(cZ[k])
565- let dt = fromBase58String(ds)
566- let du = D(cZ[l])
567- let dv = fromBase58String(du)
568- let de = parseIntValue(D(cZ[m]))
569- let df = parseIntValue(D(cZ[n]))
570- let dw = D(cZ[i])
571- let dg = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
572- let dh = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [ds], nil))
573- let di = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [du], nil))
554+func poolEvaluatePutByAmountAssetREADONLY (cV,dq) = {
555+ let aZ = addressFromStringValue(t(aT, U(cV)))
556+ let cY = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
557+ let bd = fromBase58String(D(cY[j]))
558+ let dr = D(cY[k])
559+ let ds = fromBase58String(dr)
560+ let dt = D(cY[l])
561+ let du = fromBase58String(dt)
562+ let dd = parseIntValue(D(cY[m]))
563+ let de = parseIntValue(D(cY[n]))
564+ let dv = D(cY[i])
565+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
566+ let dg = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
567+ let dh = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dt], nil))
568+ let dw = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dg, dd], nil)))
574569 let dx = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dh, de], nil)))
575- let dy = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [di, df], nil)))
576- let dz = if ((dg == 0))
570+ let dy = if ((df == 0))
577571 then g
578- else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dy), toString(dx)], nil)))
579- let dk = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dz), b], nil))
580- let dA = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dr, de], nil)))
581- let dB = fraction(dA, dz, d)
582- let dC = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dB), df], nil))
583- let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dr, dt, dC, dv, "", true, false], nil)
584- let dD = {
572+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dx), toString(dw)], nil)))
573+ let dj = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dy), b], nil))
574+ let dz = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dq, dd], nil)))
575+ let dA = fraction(dz, dy, d)
576+ let dB = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dA), de], nil))
577+ let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dq, ds, dB, du, "", true, false], nil)
578+ let dC = {
585579 let z = bZ
586580 if (if (if ($isInstanceOf(z._1, "Int"))
587581 then if ($isInstanceOf(z._3, "Int"))
595589 then (size(z) == 13)
596590 else false)
597591 then {
598- let dE = z._1
599- let dF = z._3
600- let dG = z._4
601- let dH = z._5
602- let dI = z._6
603- $Tuple5(dE, dF, dG, dH, dI)
592+ let dD = z._1
593+ let dE = z._3
594+ let dF = z._4
595+ let dG = z._5
596+ let dH = z._6
597+ $Tuple5(dD, dE, dF, dG, dH)
604598 }
605599 else throw("Couldn't cast types")
606600 }
607- let dE = dD._1
608- let dF = dD._2
609- let dG = dD._3
610- let dH = dD._4
611- let dI = dD._5
612- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dE), toString(dk), toString(dG), toString(dH), toString(dI), dw, toString(dr), toString(dC)], e))
601+ let dD = dC._1
602+ let dE = dC._2
603+ let dF = dC._3
604+ let dG = dC._4
605+ let dH = dC._5
606+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dD), toString(dj), toString(dF), toString(dG), toString(dH), dv, toString(dq), toString(dB)], e))
613607 }
614608
615609
616610
617611 @Callable(bB)
618-func poolEvaluatePutByPriceAssetREADONLY (cW,dC) = {
619- let aZ = addressFromStringValue(t(aT, U(cW)))
620- let cZ = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
621- let bd = fromBase58String(D(cZ[j]))
622- let ds = D(cZ[k])
623- let dt = fromBase58String(ds)
624- let du = D(cZ[l])
625- let dv = fromBase58String(du)
626- let de = parseIntValue(D(cZ[m]))
627- let df = parseIntValue(D(cZ[n]))
628- let dw = D(cZ[i])
629- let dg = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
630- let dJ = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [ds], nil))
631- let dK = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [du], nil))
612+func poolEvaluatePutByPriceAssetREADONLY (cV,dB) = {
613+ let aZ = addressFromStringValue(t(aT, U(cV)))
614+ let cY = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
615+ let bd = fromBase58String(D(cY[j]))
616+ let dr = D(cY[k])
617+ let ds = fromBase58String(dr)
618+ let dt = D(cY[l])
619+ let du = fromBase58String(dt)
620+ let dd = parseIntValue(D(cY[m]))
621+ let de = parseIntValue(D(cY[n]))
622+ let dv = D(cY[i])
623+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
624+ let dI = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
625+ let dJ = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dt], nil))
626+ let dK = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dI, dd], nil)))
632627 let dL = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dJ, de], nil)))
633- let dM = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dK, df], nil)))
634- let dz = if ((dg == 0))
628+ let dy = if ((df == 0))
635629 then g
636- else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dM), toString(dL)], nil)))
637- let dk = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dz), b], nil))
638- let dB = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dC, df], nil)))
639- let dA = fraction(dB, d, dz)
640- let dr = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dA), de], nil))
641- let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dr, dt, dC, dv, "", true, false], nil)
642- let dN = {
630+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dL), toString(dK)], nil)))
631+ let dj = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dy), b], nil))
632+ let dA = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dB, de], nil)))
633+ let dz = fraction(dA, d, dy)
634+ let dq = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dz), dd], nil))
635+ let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dq, ds, dB, du, "", true, false], nil)
636+ let dM = {
643637 let z = bZ
644638 if (if (if ($isInstanceOf(z._1, "Int"))
645639 then if ($isInstanceOf(z._3, "Int"))
653647 then (size(z) == 13)
654648 else false)
655649 then {
656- let dE = z._1
657- let dF = z._3
658- let dG = z._4
659- let dH = z._5
660- let dI = z._6
661- $Tuple5(dE, dF, dG, dH, dI)
650+ let dD = z._1
651+ let dE = z._3
652+ let dF = z._4
653+ let dG = z._5
654+ let dH = z._6
655+ $Tuple5(dD, dE, dF, dG, dH)
662656 }
663657 else throw("Couldn't cast types")
664658 }
665- let dE = dN._1
666- let dF = dN._2
667- let dG = dN._3
668- let dH = dN._4
669- let dI = dN._5
670- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dE), toString(dk), toString(dG), toString(dH), toString(dI), dw, toString(dr), toString(dC)], e))
659+ let dD = dM._1
660+ let dE = dM._2
661+ let dF = dM._3
662+ let dG = dM._4
663+ let dH = dM._5
664+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dD), toString(dj), toString(dF), toString(dG), toString(dH), dv, toString(dq), toString(dB)], e))
671665 }
672666
673667
674668
675669 @Callable(bB)
676-func poolEvaluateGetREADONLY (dO,dP) = {
677- let aZ = addressFromStringValue(t(aT, U(dO)))
678- let bZ = invoke(aZ, "estimateGetOperationWrapperREADONLY", ["", dO, dP, toString(aZ)], nil)
679- let dQ = {
670+func poolEvaluateGetREADONLY (dN,dO) = {
671+ let aZ = addressFromStringValue(t(aT, U(dN)))
672+ let bZ = invoke(aZ, "estimateGetOperationWrapperREADONLY", ["", dN, dO, toString(aZ)], nil)
673+ let dP = {
680674 let z = bZ
681675 if (if (if ($isInstanceOf(z._1, "Int"))
682676 then if ($isInstanceOf(z._2, "Int"))
694688 then (size(z) == 10)
695689 else false)
696690 then {
697- let dR = z._1
698- let dS = z._2
699- let dG = z._5
700- let dH = z._6
701- let dI = z._7
702- let dk = z._8
703- let dw = z._9
704- $Tuple7(dR, dS, dG, dH, dI, dk, dw)
691+ let dQ = z._1
692+ let dR = z._2
693+ let dF = z._5
694+ let dG = z._6
695+ let dH = z._7
696+ let dj = z._8
697+ let dv = z._9
698+ $Tuple7(dQ, dR, dF, dG, dH, dj, dv)
705699 }
706700 else throw("Couldn't cast types")
707701 }
708- let dR = dQ._1
709- let dS = dQ._2
710- let dG = dQ._3
711- let dH = dQ._4
712- let dI = dQ._5
713- let dk = dQ._6
714- let dw = dQ._7
715- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dR), toString(dS), toString(dG), toString(dH), toString(dI), dk, dw], e))
702+ let dQ = dP._1
703+ let dR = dP._2
704+ let dF = dP._3
705+ let dG = dP._4
706+ let dH = dP._5
707+ let dj = dP._6
708+ let dv = dP._7
709+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dQ), toString(dR), toString(dF), toString(dG), toString(dH), dj, dv], e))
716710 }
717711
718712
719713
720714 @Callable(bB)
721715 func gwxUserInfoREADONLY (am) = {
722- let dT = x(invoke(aX, "gwxUserInfoREADONLY", [am], nil))
723- let dU = B(dT[0])
724- $Tuple2(nil, makeString(["%d", toString(dU)], e))
716+ let dS = x(invoke(aX, "gwxUserInfoREADONLY", [am], nil))
717+ let dT = B(dS[0])
718+ $Tuple2(nil, makeString(["%d", toString(dT)], e))
725719 }
726720
727721
728722
729723 @Callable(bB)
730-func unstakeAndGetOneTknV2 (aZ,dV,dW,dX) = {
731- let ca = invoke(addressFromStringValue(aZ), "unstakeAndGetOneTknV2", [dV, dW, dX], nil)
724+func unstakeAndGetOneTknV2 (aZ,dU,dV,dW) = {
725+ let ca = invoke(addressFromStringValue(aZ), "unstakeAndGetOneTknV2", [dU, dV, dW], nil)
732726 if ((ca == ca))
733727 then $Tuple2(nil, unit)
734728 else throw("Strict value is not equal to itself.")
737731
738732
739733 @Callable(bB)
740-func getKeysBulkInternal (bN,dY,bT) = if ((bN == size(dY)))
734+func getKeysBulkInternal (bN,dX,bT) = if ((bN == size(dX)))
741735 then $Tuple2(nil, bT)
742736 else {
743- let cq = split(dY[bN], "++")
744- let bv = addressFromStringValue(cq[0])
745- let s = cq[1]
746- let bw = cq[2]
737+ let cp = split(dX[bN], "++")
738+ let bv = addressFromStringValue(cp[0])
739+ let s = cp[1]
740+ let bw = cp[2]
747741 let y = bu(bv, s, bw)
748742 let bZ = (bT :+ y)
749- let ca = invoke(this, "getKeysBulkInternal", [(bN + 1), dY, bZ], nil)
743+ let ca = invoke(this, "getKeysBulkInternal", [(bN + 1), dX, bZ], nil)
750744 if ((ca == ca))
751745 then $Tuple2(nil, ca)
752746 else throw("Strict value is not equal to itself.")
755749
756750
757751 @Callable(bB)
758-func getKeysBulk (dY) = {
759- let bZ = invoke(this, "getKeysBulkInternal", [0, dY, nil], nil)
752+func getKeysBulk (dX) = {
753+ let bZ = invoke(this, "getKeysBulkInternal", [0, dX, nil], nil)
760754 $Tuple2(nil, bZ)
761755 }
762756
763757
764758
765759 @Callable(bB)
766-func setManager (dZ) = {
760+func setManager (dY) = {
767761 let bF = bA(bB)
768762 if ((bF == bF))
769763 then {
770- let ea = fromBase58String(dZ)
771- if ((ea == ea))
772- then [StringEntry(H(), dZ)]
764+ let dZ = fromBase58String(dY)
765+ if ((dZ == dZ))
766+ then [StringEntry(H(), dY)]
773767 else throw("Strict value is not equal to itself.")
774768 }
775769 else throw("Strict value is not equal to itself.")
779773
780774 @Callable(bB)
781775 func confirmManager () = {
782- let eb = bz()
783- let ec = if (isDefined(eb))
776+ let ea = bz()
777+ let eb = if (isDefined(ea))
784778 then true
785779 else throw("No pending manager")
786- if ((ec == ec))
780+ if ((eb == eb))
787781 then {
788- let ed = if ((bB.callerPublicKey == value(eb)))
782+ let ec = if ((bB.callerPublicKey == value(ea)))
789783 then true
790784 else throw("You are not pending manager")
791- if ((ed == ed))
792- then [StringEntry(G(), toBase58String(value(eb))), DeleteEntry(H())]
785+ if ((ec == ec))
786+ then [StringEntry(G(), toBase58String(value(ea))), DeleteEntry(H())]
793787 else throw("Strict value is not equal to itself.")
794788 }
795789 else throw("Strict value is not equal to itself.")
796790 }
797791
798792
799-@Verifier(ee)
800-func ef () = {
801- let eg = {
793+@Verifier(ed)
794+func ee () = {
795+ let ef = {
802796 let z = bx()
803797 if ($isInstanceOf(z, "ByteVector"))
804798 then {
806800 bD
807801 }
808802 else if ($isInstanceOf(z, "Unit"))
809- then ee.senderPublicKey
803+ then ed.senderPublicKey
810804 else throw("Match error")
811805 }
812- sigVerify(ee.bodyBytes, ee.proofs[0], eg)
806+ sigVerify(ed.bodyBytes, ed.proofs[0], ef)
813807 }
814808
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
240240 let aT = X()
241241
242242 let aU = Z(aT)
243243
244244 let aV = ad(aU)
245245
246246 let aM = ae(aU)
247247
248248 let aW = af(aU)
249249
250250 let aX = ab(aU)
251251
252252 func aY (aZ) = {
253253 let ba = invoke(aT, "getInFeeREADONLY", [toString(aZ)], nil)
254254 if ($isInstanceOf(ba, "Int"))
255255 then ba
256256 else throw(($getType(ba) + " couldn't be cast to Int"))
257257 }
258258
259259
260260 func bb (aZ) = {
261261 let ba = invoke(aT, "getOutFeeREADONLY", [toString(aZ)], nil)
262262 if ($isInstanceOf(ba, "Int"))
263263 then ba
264264 else throw(($getType(ba) + " couldn't be cast to Int"))
265265 }
266266
267267
268268 func bc (bd) = {
269269 let be = t(aT, U(bd))
270270 let bf = b
271271 let bg = getIntegerValue(aT, V(be))
272272 let bh = w(aV, aN())
273273 let bi = w(aV, aO())
274274 let bj = 3
275275 let bk = (fraction(bh, bg, bf) / bj)
276276 let bl = fraction(bi, bg, bf)
277277 let bm = (bj * b)
278278 let bn = v(aM, aH(bd))
279279 [bk, bm, bn]
280280 }
281281
282282
283283 func bo (bp,bq,br) = {
284284 let bs = fraction(bq, b, br)
285285 let bt = fraction(bp, bs, b)
286286 [bt]
287287 }
288288
289289
290290 func bu (bv,s,bw) = if ((bw == "string"))
291291 then getStringValue(bv, s)
292292 else if ((bw == "integer"))
293293 then toString(getIntegerValue(bv, s))
294294 else if ((bw == "boolean"))
295295 then toString(getBooleanValue(bv, s))
296296 else throw("unknown type. expected string/integer/boolean")
297297
298298
299299 func bx () = {
300300 let z = getString(G())
301301 if ($isInstanceOf(z, "String"))
302302 then {
303303 let by = z
304304 fromBase58String(by)
305305 }
306306 else if ($isInstanceOf(z, "Unit"))
307307 then unit
308308 else throw("Match error")
309309 }
310310
311311
312312 func bz () = {
313313 let z = getString(H())
314314 if ($isInstanceOf(z, "String"))
315315 then {
316316 let by = z
317317 fromBase58String(by)
318318 }
319319 else if ($isInstanceOf(z, "Unit"))
320320 then unit
321321 else throw("Match error")
322322 }
323323
324324
325325 func bA (bB) = {
326326 let bC = throw("Permission denied")
327327 let z = bx()
328328 if ($isInstanceOf(z, "ByteVector"))
329329 then {
330330 let bD = z
331331 if ((bB.callerPublicKey == bD))
332332 then true
333333 else bC
334334 }
335335 else if ($isInstanceOf(z, "Unit"))
336336 then if ((bB.caller == this))
337337 then true
338338 else bC
339339 else throw("Match error")
340340 }
341341
342342
343343 @Callable(bB)
344344 func constructor (bE) = {
345345 let bF = bA(bB)
346346 if ((bF == bF))
347347 then [StringEntry(F(), bE)]
348348 else throw("Strict value is not equal to itself.")
349349 }
350350
351351
352352
353353 @Callable(bB)
354354 func currentRewardRateREADONLY (bd) = {
355355 let bG = bc(bd)
356356 let bh = bG[0]
357357 let bm = bG[1]
358358 let bn = bG[2]
359359 $Tuple2(nil, makeString(["%d%d%d", toString(bh), toString(bm), toString(bn)], e))
360360 }
361361
362362
363363
364364 @Callable(bB)
365365 func currentUserRewardRateREADONLY (bd,am) = {
366366 let bG = bc(bd)
367367 let bh = bG[0]
368368 let bm = bG[1]
369369 let bn = bG[2]
370370 let bH = v(aM, aE(am, bd))
371371 let bI = split(D(invoke(aM, "claimWxREADONLY", [bd, am], nil)), e)
372372 let bJ = valueOrErrorMessage(parseInt(bI[5]), "couldn't parse minRewardPart")
373373 let bK = valueOrErrorMessage(parseInt(bI[6]), "couldn't parse boostRewardPart")
374374 let bL = bI[7]
375375 let bM = if ((bK == 0))
376376 then (1 * b)
377377 else fraction((bJ + bK), b, bJ)
378378 $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bh), toString(bm), toString(bn), toString(bH), toString(bM), bL], e))
379379 }
380380
381381
382382
383383 @Callable(bB)
384384 func calcBoostBulkInternalREADONLY (bN,bO,bP,bQ,bR,bS,bT) = if ((bN == size(bO)))
385385 then $Tuple2(nil, bT)
386386 else {
387387 let bU = bO[bN]
388388 let bV = bP[bN]
389389 let bW = bQ[bN]
390390 let bX = bR[bN]
391391 let bY = {
392392 let ba = invoke(this, "calcBoostREADONLY", [bU, bV, bW, bX, bS], nil)
393393 if ($isInstanceOf(ba, "String"))
394394 then ba
395395 else throw(($getType(ba) + " couldn't be cast to String"))
396396 }
397397 let bZ = (bT :+ bY)
398398 let ca = {
399399 let ba = invoke(this, "calcBoostBulkInternalREADONLY", [(bN + 1), bO, bP, bQ, bR, bS, bZ], nil)
400400 if ($isInstanceOf(ba, "List[Any]"))
401401 then ba
402402 else throw(($getType(ba) + " couldn't be cast to List[Any]"))
403403 }
404404 if ((ca == ca))
405405 then $Tuple2(nil, ca)
406406 else throw("Strict value is not equal to itself.")
407407 }
408408
409409
410410
411411 @Callable(bB)
412412 func calcBoostBulkREADONLY (bU,bV,bW,bX,bS) = {
413413 let bZ = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
414414 $Tuple2(nil, bZ)
415415 }
416416
417417
418418
419419 @Callable(bB)
420420 func calcBoostREADONLY (bU,bV,bW,bX,bS) = {
421- let cb = {
422- let ba = invoke(aV, "getBoostCoeffREADONLY", nil, nil)
423- if ($isInstanceOf(ba, "Int"))
424- then ba
425- else throw(($getType(ba) + " couldn't be cast to Int"))
426- }
427- let cc = aW
428- let cd = "empty"
429- let ce = parseIntValue(split(t(aX, ag()), e)[4])
421+ let cb = aW
422+ let cc = "empty"
423+ let cd = parseIntValue(split(t(aX, ag()), e)[4])
430424 let aG = if ((bX == ""))
431- then cd
425+ then cc
432426 else bX
433427 let aF = if ((bS == ""))
434- then cd
428+ then cc
435429 else bS
436- let cf = valueOrElse(getString(aX, al(bS)), cd)
437- let cg = valueOrElse(getInteger(aX, ap(cf)), 0)
438- let ch = valueOrElse(getInteger(aX, ar(cf)), height)
439- let bq = valueOrElse(getInteger(aX, as(cf)), 0)
440- let ci = (ch + bq)
441- let cj = max([(ci - height), 0])
442- let ck = (cg + bU)
443- let cl = min([(cj + bV), ce])
444- let cm = B(x(invoke(aX, "gwxUserInfoREADONLY", [aF], nil))[0])
445- let cn = bo(ck, cl, ce)[0]
446- let co = x(invoke(cc, "calcGwxParamsREADONLY", [cn, height, cl], nil))
447- let cp = (cn - cm)
448- let cq = B(co[0])
449- let cr = B(co[1])
450- let aw = toString(B(co[2]))
451- let cs = aA()
452- let ct = ((cn * cl) / 2)
453- let cu = v(aX, cs)
454- let cv = {
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 = {
455449 let ba = invoke(aX, "getTotalCachedGwxREADONLY", nil, nil)
456450 if ($isInstanceOf(ba, "Int"))
457451 then ba
458452 else throw(($getType(ba) + " couldn't be cast to Int"))
459453 }
460- let cw = 1000
461- let cx = (w(aV, aN()) * cw)
462- let cy = aE(aF, aG)
463- let cz = aH(aG)
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)
464459 let cA = aL(aM, cy)
465- let cB = aL(aM, cz)
460+ let cB = (cz + bW)
466461 let cC = (cA + bW)
467- let cD = (cB + bW)
468- let bg = if ((aG != cd))
462+ let bg = if ((aG != cc))
469463 then {
470464 let be = valueOrErrorMessage(getString(aT, R(aG)), ("unsupported lp asset " + aG))
471465 getIntegerValue(aT, V(be))
472466 }
473467 else 0
474- let cE = fraction(cx, bg, (f * 3))
475- let cF = if ((cD != 0))
476- then fraction(cE, b, cD)
468+ let cD = fraction(cw, bg, (f * 3))
469+ let cE = if ((cC != 0))
470+ then fraction(cD, b, cC)
477471 else 0
478- let cG = fraction(cF, cC, b)
479- let cH = (cE * 2)
480- let cI = fraction(cn, cH, (cv + cp))
481- let cJ = min([cI, (cG * 2)])
482- let cK = if ((cG == 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))
483477 then (1 * b)
484- else fraction((cJ + cG), b, cG)
485- $Tuple2(nil, makeString(["%d%d%s", toString(cn), toString(cK), "d"], e))
478+ else fraction((cI + cF), b, cF)
479+ $Tuple2(nil, makeString(["%d%d%s", toString(cm), toString(cJ), "d"], e))
486480 }
487481
488482
489483
490484 @Callable(bB)
491485 func wxEmissionStatsREADONLY () = {
492- let cL = toString(b)
493- let cM = "1"
486+ let cK = toString(b)
487+ let cL = "1"
494488 let bh = w(aV, aN())
495- let cN = w(aV, aP())
496- let cO = if ((cN > height))
489+ let cM = w(aV, aP())
490+ let cN = if ((cM > height))
497491 then 0
498- else (height - cN)
499- let cP = (1440 * 365)
500- let cQ = (201000000 * b)
501- let cR = if ((cO > cP))
502- then cQ
503- else fraction(cQ, cO, cP)
504- let cS = ((bh * cO) + cR)
505- let cT = v(aX, ah())
506- let cU = v(aX, ai())
507- let cV = v(aX, aj())
508- $Tuple2(nil, makeString(["%d%d%d%d", toString(cS), toString(cT), toString(cU), toString(cV)], e))
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))
509503 }
510504
511505
512506
513507 @Callable(bB)
514-func poolStatsREADONLY (cW) = {
515- let aZ = addressFromStringValue(t(aT, U(cW)))
516- let cX = {
508+func poolStatsREADONLY (cV) = {
509+ let aZ = addressFromStringValue(t(aT, U(cV)))
510+ let cW = {
517511 let ba = invoke(aT, "getPoolStatusREADONLY", [toString(aZ)], nil)
518512 if ($isInstanceOf(ba, "Int"))
519513 then ba
520514 else throw(($getType(ba) + " couldn't be cast to Int"))
521515 }
522- let cY = "%d%d%d%d%d%d%d%d%d%s"
523- if ((cX == 4))
524- then $Tuple2(nil, makeString([cY, toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(false)], e))
516+ let cX = "%d%d%d%d%d%d%d%d%d%s"
517+ if ((cW == 4))
518+ then $Tuple2(nil, makeString([cX, toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(false)], e))
525519 else {
526- let cZ = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
527- let bd = fromBase58String(D(cZ[j]))
528- let da = D(cZ[k])
529- let db = D(cZ[l])
530- let dc = D(cZ[o])
531- let dd = D(cZ[p])
532- let de = parseIntValue(D(cZ[m]))
533- let df = parseIntValue(D(cZ[n]))
534- let dg = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
520+ let cY = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
521+ let bd = fromBase58String(D(cY[j]))
522+ let cZ = D(cY[k])
523+ let da = D(cY[l])
524+ let db = D(cY[o])
525+ let dc = D(cY[p])
526+ let dd = parseIntValue(D(cY[m]))
527+ let de = parseIntValue(D(cY[n]))
528+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
529+ let dg = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cZ], nil))
535530 let dh = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [da], nil))
536- let di = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [db], nil))
537- let dj = if ((dg == 0))
531+ let di = if ((df == 0))
538532 then [toString(g), toString(g), toString(g)]
539- else x(invoke(aZ, "calcPricesWrapperREADONLY", [dh, di, dg], nil))
540- let dk = 0
541- let dl = B(invoke(aZ, "fromX18WrapperREADONLY", [dj[1], b], nil))
542- let dm = B(invoke(aZ, "fromX18WrapperREADONLY", [dj[2], b], nil))
533+ else x(invoke(aZ, "calcPricesWrapperREADONLY", [dg, dh, df], nil))
534+ let dj = 0
535+ let dk = B(invoke(aZ, "fromX18WrapperREADONLY", [di[1], b], nil))
536+ let dl = B(invoke(aZ, "fromX18WrapperREADONLY", [di[2], b], nil))
543537 let bg = getIntegerValue(aT, V(toString(aZ)))
544- let dn = aY(aZ)
545- let do = bb(aZ)
546- let dp = {
538+ let dm = aY(aZ)
539+ let dn = bb(aZ)
540+ let do = {
547541 let ba = invoke(aT, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aZ)], nil)
548542 if ($isInstanceOf(ba, "Boolean"))
549543 then ba
550544 else throw(($getType(ba) + " couldn't be cast to Boolean"))
551545 }
552- let dq = !(dp)
553- $Tuple2(nil, makeString([cY, toString(dh), toString(di), toString(dg), toString(dk), toString(dl), toString(dm), toString(bg), toString(dn), toString(do), toString(dq)], e))
546+ let dp = !(do)
547+ $Tuple2(nil, makeString([cX, toString(dg), toString(dh), toString(df), toString(dj), toString(dk), toString(dl), toString(bg), toString(dm), toString(dn), toString(dp)], e))
554548 }
555549 }
556550
557551
558552
559553 @Callable(bB)
560-func poolEvaluatePutByAmountAssetREADONLY (cW,dr) = {
561- let aZ = addressFromStringValue(t(aT, U(cW)))
562- let cZ = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
563- let bd = fromBase58String(D(cZ[j]))
564- let ds = D(cZ[k])
565- let dt = fromBase58String(ds)
566- let du = D(cZ[l])
567- let dv = fromBase58String(du)
568- let de = parseIntValue(D(cZ[m]))
569- let df = parseIntValue(D(cZ[n]))
570- let dw = D(cZ[i])
571- let dg = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
572- let dh = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [ds], nil))
573- let di = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [du], nil))
554+func poolEvaluatePutByAmountAssetREADONLY (cV,dq) = {
555+ let aZ = addressFromStringValue(t(aT, U(cV)))
556+ let cY = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
557+ let bd = fromBase58String(D(cY[j]))
558+ let dr = D(cY[k])
559+ let ds = fromBase58String(dr)
560+ let dt = D(cY[l])
561+ let du = fromBase58String(dt)
562+ let dd = parseIntValue(D(cY[m]))
563+ let de = parseIntValue(D(cY[n]))
564+ let dv = D(cY[i])
565+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
566+ let dg = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
567+ let dh = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dt], nil))
568+ let dw = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dg, dd], nil)))
574569 let dx = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dh, de], nil)))
575- let dy = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [di, df], nil)))
576- let dz = if ((dg == 0))
570+ let dy = if ((df == 0))
577571 then g
578- else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dy), toString(dx)], nil)))
579- let dk = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dz), b], nil))
580- let dA = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dr, de], nil)))
581- let dB = fraction(dA, dz, d)
582- let dC = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dB), df], nil))
583- let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dr, dt, dC, dv, "", true, false], nil)
584- let dD = {
572+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dx), toString(dw)], nil)))
573+ let dj = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dy), b], nil))
574+ let dz = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dq, dd], nil)))
575+ let dA = fraction(dz, dy, d)
576+ let dB = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dA), de], nil))
577+ let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dq, ds, dB, du, "", true, false], nil)
578+ let dC = {
585579 let z = bZ
586580 if (if (if ($isInstanceOf(z._1, "Int"))
587581 then if ($isInstanceOf(z._3, "Int"))
588582 then if ($isInstanceOf(z._4, "Int"))
589583 then if ($isInstanceOf(z._5, "Int"))
590584 then $isInstanceOf(z._6, "Int")
591585 else false
592586 else false
593587 else false
594588 else false)
595589 then (size(z) == 13)
596590 else false)
597591 then {
598- let dE = z._1
599- let dF = z._3
600- let dG = z._4
601- let dH = z._5
602- let dI = z._6
603- $Tuple5(dE, dF, dG, dH, dI)
592+ let dD = z._1
593+ let dE = z._3
594+ let dF = z._4
595+ let dG = z._5
596+ let dH = z._6
597+ $Tuple5(dD, dE, dF, dG, dH)
604598 }
605599 else throw("Couldn't cast types")
606600 }
607- let dE = dD._1
608- let dF = dD._2
609- let dG = dD._3
610- let dH = dD._4
611- let dI = dD._5
612- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dE), toString(dk), toString(dG), toString(dH), toString(dI), dw, toString(dr), toString(dC)], e))
601+ let dD = dC._1
602+ let dE = dC._2
603+ let dF = dC._3
604+ let dG = dC._4
605+ let dH = dC._5
606+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dD), toString(dj), toString(dF), toString(dG), toString(dH), dv, toString(dq), toString(dB)], e))
613607 }
614608
615609
616610
617611 @Callable(bB)
618-func poolEvaluatePutByPriceAssetREADONLY (cW,dC) = {
619- let aZ = addressFromStringValue(t(aT, U(cW)))
620- let cZ = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
621- let bd = fromBase58String(D(cZ[j]))
622- let ds = D(cZ[k])
623- let dt = fromBase58String(ds)
624- let du = D(cZ[l])
625- let dv = fromBase58String(du)
626- let de = parseIntValue(D(cZ[m]))
627- let df = parseIntValue(D(cZ[n]))
628- let dw = D(cZ[i])
629- let dg = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
630- let dJ = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [ds], nil))
631- let dK = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [du], nil))
612+func poolEvaluatePutByPriceAssetREADONLY (cV,dB) = {
613+ let aZ = addressFromStringValue(t(aT, U(cV)))
614+ let cY = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
615+ let bd = fromBase58String(D(cY[j]))
616+ let dr = D(cY[k])
617+ let ds = fromBase58String(dr)
618+ let dt = D(cY[l])
619+ let du = fromBase58String(dt)
620+ let dd = parseIntValue(D(cY[m]))
621+ let de = parseIntValue(D(cY[n]))
622+ let dv = D(cY[i])
623+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
624+ let dI = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
625+ let dJ = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dt], nil))
626+ let dK = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dI, dd], nil)))
632627 let dL = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dJ, de], nil)))
633- let dM = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dK, df], nil)))
634- let dz = if ((dg == 0))
628+ let dy = if ((df == 0))
635629 then g
636- else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dM), toString(dL)], nil)))
637- let dk = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dz), b], nil))
638- let dB = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dC, df], nil)))
639- let dA = fraction(dB, d, dz)
640- let dr = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dA), de], nil))
641- let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dr, dt, dC, dv, "", true, false], nil)
642- let dN = {
630+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dL), toString(dK)], nil)))
631+ let dj = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dy), b], nil))
632+ let dA = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dB, de], nil)))
633+ let dz = fraction(dA, d, dy)
634+ let dq = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dz), dd], nil))
635+ let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dq, ds, dB, du, "", true, false], nil)
636+ let dM = {
643637 let z = bZ
644638 if (if (if ($isInstanceOf(z._1, "Int"))
645639 then if ($isInstanceOf(z._3, "Int"))
646640 then if ($isInstanceOf(z._4, "Int"))
647641 then if ($isInstanceOf(z._5, "Int"))
648642 then $isInstanceOf(z._6, "Int")
649643 else false
650644 else false
651645 else false
652646 else false)
653647 then (size(z) == 13)
654648 else false)
655649 then {
656- let dE = z._1
657- let dF = z._3
658- let dG = z._4
659- let dH = z._5
660- let dI = z._6
661- $Tuple5(dE, dF, dG, dH, dI)
650+ let dD = z._1
651+ let dE = z._3
652+ let dF = z._4
653+ let dG = z._5
654+ let dH = z._6
655+ $Tuple5(dD, dE, dF, dG, dH)
662656 }
663657 else throw("Couldn't cast types")
664658 }
665- let dE = dN._1
666- let dF = dN._2
667- let dG = dN._3
668- let dH = dN._4
669- let dI = dN._5
670- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dE), toString(dk), toString(dG), toString(dH), toString(dI), dw, toString(dr), toString(dC)], e))
659+ let dD = dM._1
660+ let dE = dM._2
661+ let dF = dM._3
662+ let dG = dM._4
663+ let dH = dM._5
664+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dD), toString(dj), toString(dF), toString(dG), toString(dH), dv, toString(dq), toString(dB)], e))
671665 }
672666
673667
674668
675669 @Callable(bB)
676-func poolEvaluateGetREADONLY (dO,dP) = {
677- let aZ = addressFromStringValue(t(aT, U(dO)))
678- let bZ = invoke(aZ, "estimateGetOperationWrapperREADONLY", ["", dO, dP, toString(aZ)], nil)
679- let dQ = {
670+func poolEvaluateGetREADONLY (dN,dO) = {
671+ let aZ = addressFromStringValue(t(aT, U(dN)))
672+ let bZ = invoke(aZ, "estimateGetOperationWrapperREADONLY", ["", dN, dO, toString(aZ)], nil)
673+ let dP = {
680674 let z = bZ
681675 if (if (if ($isInstanceOf(z._1, "Int"))
682676 then if ($isInstanceOf(z._2, "Int"))
683677 then if ($isInstanceOf(z._5, "Int"))
684678 then if ($isInstanceOf(z._6, "Int"))
685679 then if ($isInstanceOf(z._7, "Int"))
686680 then if ($isInstanceOf(z._8, "String"))
687681 then $isInstanceOf(z._9, "String")
688682 else false
689683 else false
690684 else false
691685 else false
692686 else false
693687 else false)
694688 then (size(z) == 10)
695689 else false)
696690 then {
697- let dR = z._1
698- let dS = z._2
699- let dG = z._5
700- let dH = z._6
701- let dI = z._7
702- let dk = z._8
703- let dw = z._9
704- $Tuple7(dR, dS, dG, dH, dI, dk, dw)
691+ let dQ = z._1
692+ let dR = z._2
693+ let dF = z._5
694+ let dG = z._6
695+ let dH = z._7
696+ let dj = z._8
697+ let dv = z._9
698+ $Tuple7(dQ, dR, dF, dG, dH, dj, dv)
705699 }
706700 else throw("Couldn't cast types")
707701 }
708- let dR = dQ._1
709- let dS = dQ._2
710- let dG = dQ._3
711- let dH = dQ._4
712- let dI = dQ._5
713- let dk = dQ._6
714- let dw = dQ._7
715- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dR), toString(dS), toString(dG), toString(dH), toString(dI), dk, dw], e))
702+ let dQ = dP._1
703+ let dR = dP._2
704+ let dF = dP._3
705+ let dG = dP._4
706+ let dH = dP._5
707+ let dj = dP._6
708+ let dv = dP._7
709+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dQ), toString(dR), toString(dF), toString(dG), toString(dH), dj, dv], e))
716710 }
717711
718712
719713
720714 @Callable(bB)
721715 func gwxUserInfoREADONLY (am) = {
722- let dT = x(invoke(aX, "gwxUserInfoREADONLY", [am], nil))
723- let dU = B(dT[0])
724- $Tuple2(nil, makeString(["%d", toString(dU)], e))
716+ let dS = x(invoke(aX, "gwxUserInfoREADONLY", [am], nil))
717+ let dT = B(dS[0])
718+ $Tuple2(nil, makeString(["%d", toString(dT)], e))
725719 }
726720
727721
728722
729723 @Callable(bB)
730-func unstakeAndGetOneTknV2 (aZ,dV,dW,dX) = {
731- let ca = invoke(addressFromStringValue(aZ), "unstakeAndGetOneTknV2", [dV, dW, dX], nil)
724+func unstakeAndGetOneTknV2 (aZ,dU,dV,dW) = {
725+ let ca = invoke(addressFromStringValue(aZ), "unstakeAndGetOneTknV2", [dU, dV, dW], nil)
732726 if ((ca == ca))
733727 then $Tuple2(nil, unit)
734728 else throw("Strict value is not equal to itself.")
735729 }
736730
737731
738732
739733 @Callable(bB)
740-func getKeysBulkInternal (bN,dY,bT) = if ((bN == size(dY)))
734+func getKeysBulkInternal (bN,dX,bT) = if ((bN == size(dX)))
741735 then $Tuple2(nil, bT)
742736 else {
743- let cq = split(dY[bN], "++")
744- let bv = addressFromStringValue(cq[0])
745- let s = cq[1]
746- let bw = cq[2]
737+ let cp = split(dX[bN], "++")
738+ let bv = addressFromStringValue(cp[0])
739+ let s = cp[1]
740+ let bw = cp[2]
747741 let y = bu(bv, s, bw)
748742 let bZ = (bT :+ y)
749- let ca = invoke(this, "getKeysBulkInternal", [(bN + 1), dY, bZ], nil)
743+ let ca = invoke(this, "getKeysBulkInternal", [(bN + 1), dX, bZ], nil)
750744 if ((ca == ca))
751745 then $Tuple2(nil, ca)
752746 else throw("Strict value is not equal to itself.")
753747 }
754748
755749
756750
757751 @Callable(bB)
758-func getKeysBulk (dY) = {
759- let bZ = invoke(this, "getKeysBulkInternal", [0, dY, nil], nil)
752+func getKeysBulk (dX) = {
753+ let bZ = invoke(this, "getKeysBulkInternal", [0, dX, nil], nil)
760754 $Tuple2(nil, bZ)
761755 }
762756
763757
764758
765759 @Callable(bB)
766-func setManager (dZ) = {
760+func setManager (dY) = {
767761 let bF = bA(bB)
768762 if ((bF == bF))
769763 then {
770- let ea = fromBase58String(dZ)
771- if ((ea == ea))
772- then [StringEntry(H(), dZ)]
764+ let dZ = fromBase58String(dY)
765+ if ((dZ == dZ))
766+ then [StringEntry(H(), dY)]
773767 else throw("Strict value is not equal to itself.")
774768 }
775769 else throw("Strict value is not equal to itself.")
776770 }
777771
778772
779773
780774 @Callable(bB)
781775 func confirmManager () = {
782- let eb = bz()
783- let ec = if (isDefined(eb))
776+ let ea = bz()
777+ let eb = if (isDefined(ea))
784778 then true
785779 else throw("No pending manager")
786- if ((ec == ec))
780+ if ((eb == eb))
787781 then {
788- let ed = if ((bB.callerPublicKey == value(eb)))
782+ let ec = if ((bB.callerPublicKey == value(ea)))
789783 then true
790784 else throw("You are not pending manager")
791- if ((ed == ed))
792- then [StringEntry(G(), toBase58String(value(eb))), DeleteEntry(H())]
785+ if ((ec == ec))
786+ then [StringEntry(G(), toBase58String(value(ea))), DeleteEntry(H())]
793787 else throw("Strict value is not equal to itself.")
794788 }
795789 else throw("Strict value is not equal to itself.")
796790 }
797791
798792
799-@Verifier(ee)
800-func ef () = {
801- let eg = {
793+@Verifier(ed)
794+func ee () = {
795+ let ef = {
802796 let z = bx()
803797 if ($isInstanceOf(z, "ByteVector"))
804798 then {
805799 let bD = z
806800 bD
807801 }
808802 else if ($isInstanceOf(z, "Unit"))
809- then ee.senderPublicKey
803+ then ed.senderPublicKey
810804 else throw("Match error")
811805 }
812- sigVerify(ee.bodyBytes, ee.proofs[0], eg)
806+ sigVerify(ed.bodyBytes, ed.proofs[0], ef)
813807 }
814808

github/deemru/w8io/169f3d6 
160.62 ms