tx · 3HE6EamkqXWtDduxXiCyxhgDGeTeuyfPjS6czpfftNph

3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp:  -0.02300000 Waves

2022.11.21 15:05 [2326854] smart account 3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp > SELF 0.00000000 Waves

{ "type": 13, "id": "3HE6EamkqXWtDduxXiCyxhgDGeTeuyfPjS6czpfftNph", "fee": 2300000, "feeAssetId": null, "timestamp": 1669032419740, "version": 1, "sender": "3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp", "senderPublicKey": "86RHVxKovtU7yKnepY8wKsd8niDxGAsiwuA1XA1DNqrS", "proofs": [ "2CwWQnmAYUQy8AcQU5T1U1HJE9T4j4Dqo14KSHHPtumtcSFMaCQUGAAToAQsh7hLV3Fa3mfCmLHVz35ZWRdDeN7u" ], "script": "base64:BgKOIggCEgMKAQgSAwoBCBIECgIICBIJCgcBERERGAgYEgcKBRERERgIEgcKBQEBAQgIEgASAwoBCBIECgIIARIECgIIARIECgIIARIDCgEIEgYKBAgBCAESBQoDARgYEgMKARgSAwoBCBIAIgZTQ0FMRTgiBU1VTFQ4IgdTQ0FMRTE4IgZNVUxUMTgiA1NFUCIOUE9PTFdFSUdIVE1VTFQiCnplcm9CaWdJbnQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiGGdldFN0cmluZ0J5QWRkcmVzc09yRmFpbCIHYWRkcmVzcyIMZ2V0SW50T3JaZXJvIgxnZXRJbnRPckZhaWwiCWFzQW55TGlzdCIDdmFsIgckbWF0Y2gwIgp2YWxBbnlMeXN0IgVhc0ludCIGdmFsSW50Ighhc1N0cmluZyIGdmFsU3RyIhFrZXlGYWN0b3J5QWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiGElkeEZhY3RvcnlDZmdTdGFraW5nRGFwcCIZSWR4RmFjdG9yeUNmZ0Jvb3N0aW5nRGFwcCIUSWR4RmFjdG9yeUNmZ0lkb0RhcHAiFUlkeEZhY3RvcnlDZmdUZWFtRGFwcCIZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcCIVSWR4RmFjdG9yeUNmZ1Jlc3REYXBwIhlJZHhGYWN0b3J5Q2ZnU2xpcHBhZ2VEYXBwIhpJZHhGYWN0b3J5Q2ZnR3d4UmV3YXJkRGFwcCINa2V5RmFjdG9yeUNmZyIaa2V5RmFjdG9yeUxwMkFzc2V0c01hcHBpbmciCmxwQXNzZXRTdHIiEGtleUZhY3RvcnlMcExpc3QiJmtleUZhY3RvcnlMcEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIhRrZXlGYWN0b3J5UG9vbFdlaWdodCIPY29udHJhY3RBZGRyZXNzIhhyZWFkRmFjdG9yeUFkZHJlc3NPckZhaWwiCnJlYWRMcExpc3QiFHJlYWRGYWN0b3J5Q2ZnT3JGYWlsIgdmYWN0b3J5IhhnZXRCb29zdGluZ0FkZHJlc3NPckZhaWwiBGZDZmciGGdldEVtaXNzaW9uQWRkcmVzc09yRmFpbCIXZ2V0U3Rha2luZ0FkZHJlc3NPckZhaWwiGWdldEd3eFJld2FyZEFkZHJlc3NPckZhaWwiC2tleUJvb3N0Q2ZnIh9rZXlCb29zdGluZ0xvY2tQYXJhbVRvdGFsQW1vdW50IihrZXlCb29zdGluZ1N0YXRzTG9ja3NEdXJhdGlvblN1bUluQmxvY2tzIhprZXlCb29zdGluZ1N0YXRzTG9ja3NDb3VudCIaa2V5Qm9vc3RpbmdTdGF0c1VzZXJzQ291bnQiEmtleVVzZXIyTnVtTWFwcGluZyILdXNlckFkZHJlc3MiEmtleU51bTJVc2VyTWFwcGluZyIDbnVtIhZrZXlMb2NrUGFyYW1Vc2VyQW1vdW50Igd1c2VyTnVtIhZrZXlMb2NrUGFyYW1TdGFydEJsb2NrIhRrZXlMb2NrUGFyYW1EdXJhdGlvbiINa2V5TG9ja1BhcmFtSyINa2V5TG9ja1BhcmFtQiIVa2V5TG9ja1BhcmFtQnlQZXJpb2RLIgZwZXJpb2QiFWtleUxvY2tQYXJhbUJ5UGVyaW9kQiIga2V5VXNlckJvb3N0RW1pc3Npb25MYXN0SU5URUdSQUwiF2tleVVzZXJNYXhCb29zdElOVEVHUkFMIhhrZXlUb3RhbE1heEJvb3N0SU5URUdSQUwiIWtleVVzZXJCb29zdEF2YWxhaWJsZVRvQ2xhaW1Ub3RhbCITa2V5VXNlckJvb3N0Q2xhaW1lZCIRa2V5VG90YWxDYWNoZWRHd3giD2tleVN0YWtlZEJ5VXNlciIOdXNlckFkZHJlc3NTdHIiDGxwQXNzZXRJZFN0ciIOa2V5U3Rha2VkVG90YWwiEGtleUNsYWltZWRCeVVzZXIiGWtleUNsYWltZWRCeVVzZXJNaW5SZXdhcmQiG2tleUNsYWltZWRCeVVzZXJCb29zdFJld2FyZCIKcmVhZFN0YWtlZCILc3Rha2luZ0RhcHAiHmtleUVtaXNzaW9uUmF0ZVBlckJsb2NrQ3VycmVudCIha2V5RW1pc3Npb25SYXRlUGVyQmxvY2tNYXhDdXJyZW50IhVrZXlFbWlzc2lvblN0YXJ0QmxvY2siG2tleUVtaXNzaW9uRHVyYXRpb25JbkJsb2NrcyITa2V5RW1pc3Npb25FbmRCbG9jayIMa2V5QWRkb25BZGRyIgpnZXRQb29sRmVlIgtwb29sQWRkcmVzcyIKZmVlRGVmYXVsdCIGa2V5RmVlIgtmYWN0b3J5RGFwcCIKZmFjdG9yeUNmZyIMZW1pc3Npb25EYXBwIg1nd3hSZXdhcmREYXBwIgxib29zdGluZ0RhcHAiGWludGVybmFsQ3VycmVudFJld2FyZFJhdGUiCWxwQXNzZXRJZCIOcG9vbEFkZHJlc3NTdHIiDnBvb2xXZWlnaHRNdWx0Igpwb29sV2VpZ2h0IhJ3eEVtaXNzaW9uUGVyQmxvY2siFXd4RW1pc3Npb25QZXJCbG9ja01heCINYm9vc3RNYXhDb2VmZiIWcG9vbFd4RW1pc3Npb25QZXJCbG9jayIZcG9vbFd4RW1pc3Npb25QZXJCbG9ja01heCIJbWF4RmFjdG9yIg10b3RhbExwU3Rha2VkIhpjYWxjR3d4QW1vdW50U3RhcnRSRUFET05MWSIKbG9ja0Ftb3VudCIMbG9ja0R1cmF0aW9uIg9tYXhMb2NrRHVyYXRpb24iB2NvZWZmWDgiDmdXeEFtb3VudFN0YXJ0IgZnZXRLZXkiBGFkZHIiBHR5cGUiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiAXMiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0IgttdXN0TWFuYWdlciIBaSICcGQiAnBrIg5mYWN0b3J5QWRkcmVzcyILY2hlY2tDYWxsZXIiCnJld2FyZERhdGEiDmxwU3Rha2VkQnlVc2VyIg11c2VyQ2xhaW1JbmZvIg1taW5SZXdhcmRQYXJ0Ig9ib29zdFJld2FyZFBhcnQiBWRlYnVnIg1ib29zdGluZ1Bvd2VyIgtjdXJyZW50SXRlciIRZGVsdGFXeEFtb3VudEJ1bGsiG2RlbHRhTG9ja1BlcmlvZEluQmxvY2tzQnVsayIRZGVsdGFMcEFtb3VudEJ1bGsiEGxwQXNzZXRJZE9wdEJ1bGsiDnVzZXJBZGRyZXNzT3B0IgZyZXNBY2MiDWRlbHRhV3hBbW91bnQiF2RlbHRhTG9ja1BlcmlvZEluQmxvY2tzIg1kZWx0YUxwQW1vdW50IgxscEFzc2V0SWRPcHQiBGluZm8iAUAiA3JlcyIDaW52IghtYXRoRGFwcCIIRU1QVFlTVFIiF21heExvY2tEdXJhdGlvbkluQmxvY2tzIgp1c2VyTnVtU3RyIgp1c2VyQW1vdW50Iglsb2NrU3RhcnQiB2xvY2tFbmQiEXJlbWFpbmluZ0R1cmF0aW9uIg11c2VyQW1vdW50TmV3Ig9sb2NrRHVyYXRpb25OZXciEXVzZXJDdXJyZ1d4QW1vdW50IhFnV3hBbW91bnRTdGFydE5ldyITZ1d4UGFyYW1zUmVzdWx0TGlzdCINZ1d4QW1vdW50RGlmZiIBayIBYiIYdG90YWxNYXhCb29zdEludGVncmFsS0VZIhF0b3RhbENhY2hlZEd3eEtFWSISdXNlck1heEJvb3N0SW50TmV3IhB0b3RhbE1heEJvb3N0SW50Ig50b3RhbENhY2hlZEd3eCIFTVVMVDMiFHd4RW1pc3Npb25QZXJCbG9ja1gzIg9zdGFrZWRCeVVzZXJLRVkiDnN0YWtlZFRvdGFsS0VZIgxzdGFrZWRCeVVzZXIiC3N0YWtlZFRvdGFsIg9zdGFrZWRCeVVzZXJOZXciDnN0YWtlZFRvdGFsTmV3Ihhwb29sV3hFbWlzc2lvblBlckJsb2NrWDMiCXd4UGVyTHBYMyIQdXNlcld4UGVyQmxvY2tYMyIXYm9vc3RFbWlzc2lvblBlckJsb2NrWDMiFnRtcFVzZXJCb29zdFBlckJsb2NrWDMiE3VzZXJCb29zdFBlckJsb2NrWDMiCmJvb3N0Q29lZmYiB09ORU1VTFQiA09ORSISZW1pc3Npb25TdGFydEJsb2NrIgxwYXNzZWRCbG9ja3MiDnRlYW1FbUR1cmF0aW9uIgl0ZWFtRW1NYXgiBnRlYW1FbSIPdG90YWxXeFJlbGVhc2VkIg10b3RhbFd4TG9ja2VkIhhsb2Nrc0R1cmF0aW9uU3VtSW5CbG9ja3MiCmxvY2tzQ291bnQiB2xwQXNzZXQiA2NmZyIKYW10QXNzZXRJZCIMcHJpY2VBc3NldElkIgtpQW10QXNzZXRJZCINaVByaWNlQXNzZXRJZCILYW10QXNzZXREY20iDXByaWNlQXNzZXREY20iDXBvb2xMUEJhbGFuY2UiEmFjY0FtdEFzc2V0QmFsYW5jZSIUYWNjUHJpY2VBc3NldEJhbGFuY2UiCnByaWNlc0xpc3QiCGN1clByaWNlIg9scEFtdEFzc2V0U2hhcmUiEWxwUHJpY2VBc3NldFNoYXJlIgNmZWUiHnBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIdcG9vbE9uZVRva2VuT3BlcmF0aW9uc0VuYWJsZWQiDGluQW1Bc3NldEFtdCIMYW1Bc3NldElkU3RyIglhbUFzc2V0SWQiDHByQXNzZXRJZFN0ciIJcHJBc3NldElkIgpwb29sU3RhdHVzIg5hbXRBc3NldEFtdFgxOCIQcHJpY2VBc3NldEFtdFgxOCILY3VyUHJpY2VYMTgiD2luQW1Bc3NldEFtdFgxOCIPaW5QckFzc2V0QW10WDE4IgxpblByQXNzZXRBbXQiDSR0MDIyNzAwMjMwNTMiCWNhbGNMcEFtdCIMY3VyUHJpY2VDYWxjIglhbUJhbGFuY2UiCXByQmFsYW5jZSIKbHBFbWlzc2lvbiIMYW1CYWxhbmNlUmF3IgxwckJhbGFuY2VSYXciD2FtQmFsYW5jZVJhd1gxOCIPcHJCYWxhbmNlUmF3WDE4Ig0kdDAyNTYyNjI1OTc5IhBwYXltZW50THBBc3NldElkIgxwYXltZW50THBBbXQiDSR0MDI2Njc0MjcwOTEiCG91dEFtQW10IghvdXRQckFtdCIPZ3d4VXNlckluZm9MSVNUIglnd3hBbW91bnQiDXVuc3Rha2VBbW91bnQiCm91dEFzc2V0SWQiDG1pbk91dEFtb3VudCIEa2V5cyIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXlcAAFhAAgAAWIAgMLXLwABYwASAAFkCQC2AgEAgICQu7rWrfANAAFlAgJfXwABZgUBYgABZwkAtgIBAAAAAWgAAQABaQACAAFqAAMAAWsABAABbAAFAAFtAAYAAW4ABwABbwAIAAFwAAkAAXEACgEBcgEBcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEFAXMJAKwCAgkArAICAg9tYW5kYXRvcnkgdGhpcy4FAXMCDyBpcyBub3QgZGVmaW5lZAEBdAIBdQFzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUBdQUBcwkArAICCQCsAgIJAKwCAgkArAICAgptYW5kYXRvcnkgCQClCAEFAXUCAS4FAXMCDyBpcyBub3QgZGVmaW5lZAEBdgIBdQFzCQELdmFsdWVPckVsc2UCCQCaCAIFAXUFAXMAAAEBdwIBdQFzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUBdQUBcwkArAICCQCsAgICD21hbmRhdG9yeSB0aGlzLgUBcwIPIGlzIG5vdCBkZWZpbmVkAQF4AQF5BAF6BQF5AwkAAQIFAXoCCUxpc3RbQW55XQQBQQUBegUBQQkAAgECG2ZhaWwgdG8gY2FzdCBpbnRvIExpc3RbQW55XQEBQgEBeQQBegUBeQMJAAECBQF6AgNJbnQEAUMFAXoFAUMJAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBAUQBAXkEAXoFAXkDCQABAgUBegIGU3RyaW5nBAFFBQF6BQFFCQACAQIYZmFpbCB0byBjYXN0IGludG8gU3RyaW5nAQFGAAIcJXMlc19fY29uZmlnX19mYWN0b3J5QWRkcmVzcwEBRwACFCVzX19tYW5hZ2VyUHVibGljS2V5AQFIAAIbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAFJAAEAAUoAAgABSwADAAFMAAQAAU0ABQABTgAGAAFPAAcAAVAACAEBUQACESVzX19mYWN0b3J5Q29uZmlnAQFSAQFTCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAIFAVMJAMwIAgIebWFwcGluZ3NfX2xwQXNzZXQyUG9vbENvbnRyYWN0BQNuaWwFAWUBAVQAAhAlc19fbHBUb2tlbnNMaXN0AQFVAQFTCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAIFAVMJAMwIAgIebWFwcGluZ3NfX2xwQXNzZXQyUG9vbENvbnRyYWN0BQNuaWwFAWUBAVYBAVcJALkJAgkAzAgCAgQlcyVzCQDMCAICCnBvb2xXZWlnaHQJAMwIAgUBVwUDbmlsBQFlAQFYAAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAXIBCQEBRgABAVkACQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgkBAVgACQEBVAACAAUBZQEBWgECYWEJALUJAgkBAXQCBQJhYQkBAVEABQFlAQJhYgECYWMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYWMFAUoBAmFkAQJhYwkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJhYwUBTQECYWUBAmFjCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmFjBQFJAQJhZgECYWMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYWMFAVABAmFnAAIKJXNfX2NvbmZpZwECYWgAAh4lcyVzX19zdGF0c19fYWN0aXZlVG90YWxMb2NrZWQBAmFpAAIlJXMlc19fc3RhdHNfX2xvY2tzRHVyYXRpb25TdW1JbkJsb2NrcwECYWoAAhclcyVzX19zdGF0c19fbG9ja3NDb3VudAECYWsAAh0lcyVzX19zdGF0c19fYWN0aXZlVXNlcnNDb3VudAECYWwBAmFtCQC5CQIJAMwIAgIZJXMlcyVzX19tYXBwaW5nX191c2VyMm51bQkAzAgCBQJhbQUDbmlsBQFlAQJhbgECYW8JALkJAgkAzAgCAhklcyVzJXNfX21hcHBpbmdfX251bTJ1c2VyCQDMCAIFAmFvBQNuaWwFAWUBAmFwAQJhcQkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXEJAMwIAgIGYW1vdW50BQNuaWwFAWUBAmFyAQJhcQkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXEJAMwIAgIFc3RhcnQFA25pbAUBZQECYXMBAmFxCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhcQkAzAgCAghkdXJhdGlvbgUDbmlsBQFlAQJhdAECYXEJALkJAgkAzAgCAhYlcyVkJXNfX3BhcmFtQnlVc2VyTnVtCQDMCAIFAmFxCQDMCAICAWsFA25pbAUBZQECYXUBAmFxCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhcQkAzAgCAgFiBQNuaWwFAWUBAmF2AgJhcQJhdwkAuQkCCQDMCAICFyVzJWQlcyVkX19wYXJhbUJ5UGVyaW9kCQDMCAIFAmFxCQDMCAICAWsJAMwIAgUCYXcFA25pbAUBZQECYXgCAmFxAmF3CQC5CQIJAMwIAgIXJXMlZCVzJWRfX3BhcmFtQnlQZXJpb2QJAMwIAgUCYXEJAMwIAgIBYgkAzAgCBQJhdwUDbmlsBQFlAQJheQECYXEJALkJAgkAzAgCAh4lcyVkX191c2VyQm9vc3RFbWlzc2lvbkxhc3RJbnQJAMwIAgUCYXEFA25pbAUBZQECYXoBAmFxCQC5CQIJAMwIAgIRJXMlZF9fbWF4Qm9vc3RJbnQJAMwIAgUCYXEFA25pbAUBZQECYUEAAhglcyVzX19tYXhCb29zdEludF9fdG90YWwBAmFCAQJhcQkAuQkCCQDMCAICJCVzJWRfX3VzZXJCb29zdEF2YWxpYWJsZVRvQ2xhaW1Ub3RhbAkAzAgCBQJhcQUDbmlsBQFlAQJhQwECYXEJALkJAgkAzAgCAhYlcyVkX191c2VyQm9vc3RDbGFpbWVkCQDMCAIFAmFxBQNuaWwFAWUBAmFEAAIWJXMlc19fZ3d4Q2FjaGVkX190b3RhbAECYUUCAmFGAmFHCQC5CQIJAMwIAgIOJXMlcyVzX19zdGFrZWQJAMwIAgUCYUYJAMwIAgUCYUcFA25pbAUBZQECYUgBAmFHCQCsAgICFyVzJXMlc19fc3Rha2VkX190b3RhbF9fBQJhRwECYUkCAmFHAmFGCQC5CQIJAMwIAgIPJXMlcyVzX19jbGFpbWVkCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFAWUBAmFKAgJhRwJhRgkAuQkCCQDMCAICGCVzJXMlc19fY2xhaW1lZE1pblJld2FyZAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQFlAQJhSwICYUcCYUYJALkJAgkAzAgCAholcyVzJXNfX2NsYWltZWRCb29zdFJld2FyZAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQFlAQJhTAICYU0BcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQJhTQUBcwAAAQJhTgACGyVzJXNfX3JhdGVQZXJCbG9ja19fY3VycmVudAECYU8AAh4lcyVzX19yYXRlUGVyQmxvY2tNYXhfX2N1cnJlbnQBAmFQAAIaJXMlc19fZW1pc3Npb25fX3N0YXJ0QmxvY2sBAmFRAAIYJXMlc19fZW1pc3Npb25fX2R1cmF0aW9uAQJhUgACGCVzJXNfX2VtaXNzaW9uX19lbmRCbG9jawECYVMAAg0lc19fYWRkb25BZGRyAQJhVAECYVUEAmFWCQBrAwAKBQFiAJBOBAJhVwIHJXNfX2ZlZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQJhVQUCYVcFAmFWAAJhWAkBAVgAAAJhWQkBAVoBBQJhWAACYVoJAQJhZAEFAmFZAAJhTQkBAmFlAQUCYVkAAmJhCQECYWYBBQJhWQACYmIJAQJhYgEFAmFZAQJiYwECYmQEAmJlCQEBdAIFAmFYCQEBVQEFAmJkBAJiZgUBYgQCYmcJARFAZXh0ck5hdGl2ZSgxMDUwKQIFAmFYCQEBVgEFAmJlBAJiaAkBAXcCBQJhWgkBAmFOAAQCYmkJAQF3AgUCYVoJAQJhTwAEAmJqAAMEAmJrCQBpAgkAawMFAmJoBQJiZwUCYmYFAmJqBAJibAkAawMFAmJpBQJiZwUCYmYEAmJtCQBoAgUCYmoFAWIEAmJuCQEBdgIFAmFNCQECYUgBBQJiZAkAzAgCBQJiawkAzAgCBQJibQkAzAgCBQJibgUDbmlsAQJibwMCYnACYnECYnIEAmJzCQBrAwUCYnEFAWIFAmJyBAJidAkAawMFAmJwBQJicwUBYgkAzAgCBQJidAUDbmlsAQJidQMCYnYBcwJidwMJAAACBQJidwIGc3RyaW5nCQERQGV4dHJOYXRpdmUoMTA1MykCBQJidgUBcwMJAAACBQJidwIHaW50ZWdlcgkApAMBCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJidgUBcwMJAAACBQJidwIHYm9vbGVhbgkApQMBCQERQGV4dHJOYXRpdmUoMTA1MSkCBQJidgUBcwkAAgECLXVua25vd24gdHlwZS4gZXhwZWN0ZWQgc3RyaW5nL2ludGVnZXIvYm9vbGVhbgECYngABAF6CQCiCAEJAQFHAAMJAAECBQF6AgZTdHJpbmcEAmJ5BQF6CQDZBAEFAmJ5AwkAAQIFAXoCBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgECYnoABAF6CQCiCAEJAQFIAAMJAAECBQF6AgZTdHJpbmcEAmJ5BQF6CQDZBAEFAmJ5AwkAAQIFAXoCBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgECYkEBAmJCBAJiQwkAAgECEVBlcm1pc3Npb24gZGVuaWVkBAF6CQECYngAAwkAAQIFAXoCCkJ5dGVWZWN0b3IEAmJEBQF6AwkAAAIIBQJiQg9jYWxsZXJQdWJsaWNLZXkFAmJEBgUCYkMDCQABAgUBegIEVW5pdAMJAAACCAUCYkIGY2FsbGVyBQR0aGlzBgUCYkMJAAIBAgtNYXRjaCBlcnJvchECYkIBC2NvbnN0cnVjdG9yAQJiRQQCYkYJAQJiQQEFAmJCAwkAAAIFAmJGBQJiRgkAzAgCCQELU3RyaW5nRW50cnkCCQEBRgAFAmJFBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkIBGWN1cnJlbnRSZXdhcmRSYXRlUkVBRE9OTFkBAmJkBAJiRwkBAmJjAQUCYmQEAmJoCQCRAwIFAmJHAAAEAmJtCQCRAwIFAmJHAAEEAmJuCQCRAwIFAmJHAAIJAJQKAgUDbmlsCQC5CQIJAMwIAgIGJWQlZCVkCQDMCAIJAKQDAQUCYmgJAMwIAgkApAMBBQJibQkAzAgCCQCkAwEFAmJuBQNuaWwFAWUCYkIBHWN1cnJlbnRVc2VyUmV3YXJkUmF0ZVJFQURPTkxZAgJiZAJhbQQCYkcJAQJiYwEFAmJkBAJiaAkAkQMCBQJiRwAABAJibQkAkQMCBQJiRwABBAJibgkAkQMCBQJiRwACBAJiSAkBAXYCBQJhTQkBAmFFAgUCYW0FAmJkBAJiSQkAtQkCCQEBRAEJAPwHBAUCYU0CD2NsYWltV3hSRUFET05MWQkAzAgCBQJiZAkAzAgCBQJhbQUDbmlsBQNuaWwFAWUEAmJKCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQJiSQAFAhxjb3VsZG4ndCBwYXJzZSBtaW5SZXdhcmRQYXJ0BAJiSwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUCYkkABgIeY291bGRuJ3QgcGFyc2UgYm9vc3RSZXdhcmRQYXJ0BAJiTAkAkQMCBQJiSQAHBAJiTQMJAAACBQJiSwAACQBoAgABBQFiCQBrAwkAZAIFAmJKBQJiSwUBYgUCYkoJAJQKAgUDbmlsCQC5CQIJAMwIAgIMJWQlZCVkJWQlZCVzCQDMCAIJAKQDAQUCYmgJAMwIAgkApAMBBQJibQkAzAgCCQCkAwEFAmJuCQDMCAIJAKQDAQUCYkgJAMwIAgkApAMBBQJiTQkAzAgCBQJiTAUDbmlsBQFlAmJCAR1jYWxjQm9vc3RCdWxrSW50ZXJuYWxSRUFET05MWQcCYk4CYk8CYlACYlECYlICYlMCYlQDCQAAAgUCYk4JAJADAQUCYk8JAJQKAgUDbmlsBQJiVAQCYlUJAJEDAgUCYk8FAmJOBAJiVgkAkQMCBQJiUAUCYk4EAmJXCQCRAwIFAmJRBQJiTgQCYlgJAJEDAgUCYlIFAmJOBAJiWQoAAmJaCQD8BwQFBHRoaXMCEWNhbGNCb29zdFJFQURPTkxZCQDMCAIFAmJVCQDMCAIFAmJWCQDMCAIFAmJXCQDMCAIFAmJYCQDMCAIFAmJTBQNuaWwFA25pbAMJAAECBQJiWgIGU3RyaW5nBQJiWgkAAgEJAKwCAgkAAwEFAmJaAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcEAmNhCQDNCAIFAmJUBQJiWQQCY2IKAAJiWgkA/AcEBQR0aGlzAh1jYWxjQm9vc3RCdWxrSW50ZXJuYWxSRUFET05MWQkAzAgCCQBkAgUCYk4AAQkAzAgCBQJiTwkAzAgCBQJiUAkAzAgCBQJiUQkAzAgCBQJiUgkAzAgCBQJiUwkAzAgCBQJjYQUDbmlsBQNuaWwDCQABAgUCYloCCUxpc3RbQW55XQUCYloJAAIBCQCsAgIJAAMBBQJiWgIeIGNvdWxkbid0IGJlIGNhc3QgdG8gTGlzdFtBbnldAwkAAAIFAmNiBQJjYgkAlAoCBQNuaWwFAmNiCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJCARVjYWxjQm9vc3RCdWxrUkVBRE9OTFkFAmJVAmJWAmJXAmJYAmJTBAJjYQkA/AcEBQR0aGlzAh1jYWxjQm9vc3RCdWxrSW50ZXJuYWxSRUFET05MWQkAzAgCAAAJAMwIAgUCYlUJAMwIAgUCYlYJAMwIAgUCYlcJAMwIAgUCYlgJAMwIAgUCYlMJAMwIAgUDbmlsBQNuaWwFA25pbAkAlAoCBQNuaWwFAmNhAmJCARFjYWxjQm9vc3RSRUFET05MWQUCYlUCYlYCYlcCYlgCYlMEAmNjBQJiYQQCY2QCBWVtcHR5BAJjZQkBDXBhcnNlSW50VmFsdWUBCQCRAwIJALUJAgkBAXQCBQJiYgkBAmFnAAUBZQAEBAJhRwMJAAACBQJiWAIABQJjZAUCYlgEAmFGAwkAAAIFAmJTAgAFAmNkBQJiUwQCY2YJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUCYmIJAQJhbAEFAmJTBQJjZAQCY2cJAQt2YWx1ZU9yRWxzZQIJAJoIAgUCYmIJAQJhcAEFAmNmAAAEAmNoCQELdmFsdWVPckVsc2UCCQCaCAIFAmJiCQECYXIBBQJjZgUGaGVpZ2h0BAJicQkBC3ZhbHVlT3JFbHNlAgkAmggCBQJiYgkBAmFzAQUCY2YAAAQCY2kJAGQCBQJjaAUCYnEEAmNqCQCWAwEJAMwIAgkAZQIFAmNpBQZoZWlnaHQJAMwIAgAABQNuaWwEAmNrCQBkAgUCY2cFAmJVBAJjbAkAlwMBCQDMCAIJAGQCBQJjagUCYlYJAMwIAgUCY2UFA25pbAQCY20JAQFCAQkAkQMCCQEBeAEJAPwHBAUCYmICE2d3eFVzZXJJbmZvUkVBRE9OTFkJAMwIAgUCYUYFA25pbAUDbmlsAAAEAmNuCQCRAwIJAQJibwMFAmNrBQJjbAUCY2UAAAQCY28JAQF4AQkA/AcEBQJjYwIVY2FsY0d3eFBhcmFtc1JFQURPTkxZCQDMCAIFAmNuCQDMCAIFBmhlaWdodAkAzAgCBQJjbAUDbmlsBQNuaWwEAmNwCQBlAgUCY24FAmNtBAJjcQkBAUIBCQCRAwIFAmNvAAAEAmNyCQEBQgEJAJEDAgUCY28AAQQCYXcJAKQDAQkBAUIBCQCRAwIFAmNvAAIEAmNzCQECYUEABAJjdAkBAmFEAAQCY3UJAGkCCQBoAgUCY24FAmNsAAIEAmN2CQEBdgIFAmJiBQJjcwQCY3cJAQt2YWx1ZU9yRWxzZQIJAJoIAgUCYmIFAmN0AAAEAmN4AOgHBAJjeQkAaAIJAQF3AgUCYVoJAQJhTgAFAmN4BAJjegkBAmFFAgUCYUYFAmFHBAJjQQkBAmFIAQUCYUcEAmNCCQECYUwCBQJhTQUCY3oEAmNDCQECYUwCBQJhTQUCY0EEAmNECQBkAgUCY0IFAmJXBAJjRQkAZAIFAmNDBQJiVwQCYmcDCQECIT0CBQJhRwUCY2QEAmJlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUCYVgJAQFSAQUCYUcJAKwCAgIVdW5zdXBwb3J0ZWQgbHAgYXNzZXQgBQJhRwkBEUBleHRyTmF0aXZlKDEwNTApAgUCYVgJAQFWAQUCYmUAAAQCY0YJAGsDBQJjeQUCYmcJAGgCBQFmAAMEAmNHAwkBAiE9AgUCY0UAAAkAawMFAmNGBQFiBQJjRQAABAJjSAkAawMFAmNHBQJjRAUBYgQCY0kJAGgCBQJjRgACBAJjSgkAawMFAmNuBQJjSQkAZAIFAmN3BQJjcAQCY0sJAJcDAQkAzAgCBQJjSgkAzAgCCQBoAgUCY0gAAgUDbmlsBAJjTAMJAAACBQJjSAAACQBoAgABBQFiCQBrAwkAZAIFAmNLBQJjSAUBYgUCY0gJAJQKAgUDbmlsCQC5CQIJAMwIAgIGJWQlZCVzCQDMCAIJAKQDAQUCY24JAMwIAgkApAMBBQJjTAkAzAgCAgFkBQNuaWwFAWUCYkIBF3d4RW1pc3Npb25TdGF0c1JFQURPTkxZAAQCY00JAKQDAQUBYgQCY04CATEEAmJoCQEBdwIFAmFaCQECYU4ABAJjTwkBAXcCBQJhWgkBAmFQAAQCY1ADCQBmAgUCY08FBmhlaWdodAAACQBlAgUGaGVpZ2h0BQJjTwQCY1EJAGgCAKALAO0CBAJjUgkAaAIAwIjsXwUBYgQCY1MDCQBmAgUCY1AFAmNRBQJjUgkAawMFAmNSBQJjUAUCY1EEAmNUCQBkAgkAaAIFAmJoBQJjUAUCY1MEAmNVCQEBdgIFAmJiCQECYWgABAJjVgkBAXYCBQJiYgkBAmFpAAQCY1cJAQF2AgUCYmIJAQJhagAJAJQKAgUDbmlsCQC5CQIJAMwIAgIIJWQlZCVkJWQJAMwIAgkApAMBBQJjVAkAzAgCCQCkAwEFAmNVCQDMCAIJAKQDAQUCY1YJAMwIAgkApAMBBQJjVwUDbmlsBQFlAmJCARFwb29sU3RhdHNSRUFET05MWQECY1gEAmFVCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBdAIFAmFYCQEBVQEFAmNYBAJjWQkBAXgBCQD8BwQFAmFVAhxnZXRQb29sQ29uZmlnV3JhcHBlclJFQURPTkxZBQNuaWwFA25pbAQCYmQJANkEAQkBAUQBCQCRAwIFAmNZBQFqBAJjWgkBAUQBCQCRAwIFAmNZBQFrBAJkYQkBAUQBCQCRAwIFAmNZBQFsBAJkYgkBAUQBCQCRAwIFAmNZBQFvBAJkYwkBAUQBCQCRAwIFAmNZBQFwBAJkZAkBDXBhcnNlSW50VmFsdWUBCQEBRAEJAJEDAgUCY1kFAW0EAmRlCQENcGFyc2VJbnRWYWx1ZQEJAQFEAQkAkQMCBQJjWQUBbgQCZGYICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAOwHAQUCYmQJAKwCAgkArAICAgZBc3NldCAJANgEAQUCYmQCDiBkb2Vzbid0IGV4aXN0CHF1YW50aXR5BAJkZwkBAUIBCQD8BwQFAmFVAhxnZXRBY2NCYWxhbmNlV3JhcHBlclJFQURPTkxZCQDMCAIFAmNaBQNuaWwFA25pbAQCZGgJAQFCAQkA/AcEBQJhVQIcZ2V0QWNjQmFsYW5jZVdyYXBwZXJSRUFET05MWQkAzAgCBQJkYQUDbmlsBQNuaWwEAmRpAwkAAAIFAmRmAAAJAMwIAgkApgMBBQFnCQDMCAIJAKYDAQUBZwkAzAgCCQCmAwEFAWcFA25pbAkBAXgBCQD8BwQFAmFVAhljYWxjUHJpY2VzV3JhcHBlclJFQURPTkxZCQDMCAIFAmRnCQDMCAIFAmRoCQDMCAIFAmRmBQNuaWwFA25pbAQCZGoAAAQCZGsJAQFCAQkA/AcEBQJhVQIWZnJvbVgxOFdyYXBwZXJSRUFET05MWQkAzAgCCQCRAwIFAmRpAAEJAMwIAgUBYgUDbmlsBQNuaWwEAmRsCQEBQgEJAPwHBAUCYVUCFmZyb21YMThXcmFwcGVyUkVBRE9OTFkJAMwIAgkAkQMCBQJkaQACCQDMCAIFAWIFA25pbAUDbmlsBAJiZwkBEUBleHRyTmF0aXZlKDEwNTApAgUCYVgJAQFWAQkApQgBBQJhVQQCZG0JAQJhVAEFAmFVBAJkbgoAAmJaCQD8BwQFAmFYAihpc1Bvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZFJFQURPTkxZCQDMCAIJAKUIAQUCYVUFA25pbAUDbmlsAwkAAQIFAmJaAgdCb29sZWFuBQJiWgkAAgEJAKwCAgkAAwEFAmJaAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuBAJkbwkBASEBBQJkbgkAlAoCBQNuaWwJALkJAgkAzAgCAhIlZCVkJWQlZCVkJWQlZCVkJXMJAMwIAgkApAMBBQJkZwkAzAgCCQCkAwEFAmRoCQDMCAIJAKQDAQUCZGYJAMwIAgkApAMBBQJkagkAzAgCCQCkAwEFAmRrCQDMCAIJAKQDAQUCZGwJAMwIAgkApAMBBQJiZwkAzAgCCQCkAwEFAmRtCQDMCAIJAKUDAQUCZG8FA25pbAUBZQJiQgEkcG9vbEV2YWx1YXRlUHV0QnlBbW91bnRBc3NldFJFQURPTkxZAgJjWAJkcAQCYVUJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQF0AgUCYVgJAQFVAQUCY1gEAmNZCQEBeAEJAPwHBAUCYVUCHGdldFBvb2xDb25maWdXcmFwcGVyUkVBRE9OTFkFA25pbAUDbmlsBAJiZAkA2QQBCQEBRAEJAJEDAgUCY1kFAWoEAmRxCQEBRAEJAJEDAgUCY1kFAWsEAmRyCQDZBAEFAmRxBAJkcwkBAUQBCQCRAwIFAmNZBQFsBAJkdAkA2QQBBQJkcwQCZGQJAQ1wYXJzZUludFZhbHVlAQkBAUQBCQCRAwIFAmNZBQFtBAJkZQkBDXBhcnNlSW50VmFsdWUBCQEBRAEJAJEDAgUCY1kFAW4EAmR1CQEBRAEJAJEDAgUCY1kFAWkEAmRmCAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDsBwEFAmJkCQCsAgIJAKwCAgIGQXNzZXQgCQDYBAEFAmJkAg4gZG9lc24ndCBleGlzdAhxdWFudGl0eQQCZGcJAQFCAQkA/AcEBQJhVQIcZ2V0QWNjQmFsYW5jZVdyYXBwZXJSRUFET05MWQkAzAgCBQJkcQUDbmlsBQNuaWwEAmRoCQEBQgEJAPwHBAUCYVUCHGdldEFjY0JhbGFuY2VXcmFwcGVyUkVBRE9OTFkJAMwIAgUCZHMFA25pbAUDbmlsBAJkdgkApwMBCQEBRAEJAPwHBAUCYVUCFHRvWDE4V3JhcHBlclJFQURPTkxZCQDMCAIFAmRnCQDMCAIFAmRkBQNuaWwFA25pbAQCZHcJAKcDAQkBAUQBCQD8BwQFAmFVAhR0b1gxOFdyYXBwZXJSRUFET05MWQkAzAgCBQJkaAkAzAgCBQJkZQUDbmlsBQNuaWwEAmR4AwkAAAIFAmRmAAAFAWcJAKcDAQkBAUQBCQD8BwQFAmFVAh5jYWxjUHJpY2VCaWdJbnRXcmFwcGVyUkVBRE9OTFkJAMwIAgkApgMBBQJkdwkAzAgCCQCmAwEFAmR2BQNuaWwFA25pbAQCZGoJAQFCAQkA/AcEBQJhVQIWZnJvbVgxOFdyYXBwZXJSRUFET05MWQkAzAgCCQCmAwEFAmR4CQDMCAIFAWIFA25pbAUDbmlsBAJkeQkApwMBCQEBRAEJAPwHBAUCYVUCFHRvWDE4V3JhcHBlclJFQURPTkxZCQDMCAIFAmRwCQDMCAIFAmRkBQNuaWwFA25pbAQCZHoJALwCAwUCZHkFAmR4BQFkBAJkQQkBAUIBCQD8BwQFAmFVAhZmcm9tWDE4V3JhcHBlclJFQURPTkxZCQDMCAIJAKYDAQUCZHoJAMwIAgUCZGUFA25pbAUDbmlsBAJjYQkA/AcEBQJhVQIjZXN0aW1hdGVQdXRPcGVyYXRpb25XcmFwcGVyUkVBRE9OTFkJAMwIAgIACQDMCAIAoMIeCQDMCAIFAmRwCQDMCAIFAmRyCQDMCAIFAmRBCQDMCAIFAmR0CQDMCAICAAkAzAgCBgkAzAgCBwUDbmlsBQNuaWwEAmRCBAF6BQJjYQMDAwkAAQIIBQF6Al8xAgNJbnQDCQABAggFAXoCXzMCA0ludAMJAAECCAUBegJfNAIDSW50AwkAAQIIBQF6Al81AgNJbnQJAAECCAUBegJfNgIDSW50BwcHBwkAAAIJAMYKAQUBegANBwQCZEMIBQF6Al8xBAJkRAgFAXoCXzMEAmRFCAUBegJfNAQCZEYIBQF6Al81BAJkRwgFAXoCXzYJAJcKBQUCZEMFAmREBQJkRQUCZEYFAmRHCQACAQITQ291bGRuJ3QgY2FzdCB0eXBlcwQCZEMIBQJkQgJfMQQCZEQIBQJkQgJfMgQCZEUIBQJkQgJfMwQCZEYIBQJkQgJfNAQCZEcIBQJkQgJfNQkAlAoCBQNuaWwJALkJAgkAzAgCAhAlZCVkJWQlZCVkJWQlZCVkCQDMCAIJAKQDAQUCZEMJAMwIAgkApAMBBQJkagkAzAgCCQCkAwEFAmRFCQDMCAIJAKQDAQUCZEYJAMwIAgkApAMBBQJkRwkAzAgCBQJkdQkAzAgCCQCkAwEFAmRwCQDMCAIJAKQDAQUCZEEFA25pbAUBZQJiQgEjcG9vbEV2YWx1YXRlUHV0QnlQcmljZUFzc2V0UkVBRE9OTFkCAmNYAmRBBAJhVQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAXQCBQJhWAkBAVUBBQJjWAQCY1kJAQF4AQkA/AcEBQJhVQIcZ2V0UG9vbENvbmZpZ1dyYXBwZXJSRUFET05MWQUDbmlsBQNuaWwEAmJkCQDZBAEJAQFEAQkAkQMCBQJjWQUBagQCZHEJAQFEAQkAkQMCBQJjWQUBawQCZHIJANkEAQUCZHEEAmRzCQEBRAEJAJEDAgUCY1kFAWwEAmR0CQDZBAEFAmRzBAJkZAkBDXBhcnNlSW50VmFsdWUBCQEBRAEJAJEDAgUCY1kFAW0EAmRlCQENcGFyc2VJbnRWYWx1ZQEJAQFEAQkAkQMCBQJjWQUBbgQCZHUJAQFEAQkAkQMCBQJjWQUBaQQCZGYICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAOwHAQUCYmQJAKwCAgkArAICAgZBc3NldCAJANgEAQUCYmQCDiBkb2Vzbid0IGV4aXN0CHF1YW50aXR5BAJkSAkBAUIBCQD8BwQFAmFVAhxnZXRBY2NCYWxhbmNlV3JhcHBlclJFQURPTkxZCQDMCAIFAmRxBQNuaWwFA25pbAQCZEkJAQFCAQkA/AcEBQJhVQIcZ2V0QWNjQmFsYW5jZVdyYXBwZXJSRUFET05MWQkAzAgCBQJkcwUDbmlsBQNuaWwEAmRKCQCnAwEJAQFEAQkA/AcEBQJhVQIUdG9YMThXcmFwcGVyUkVBRE9OTFkJAMwIAgUCZEgJAMwIAgUCZGQFA25pbAUDbmlsBAJkSwkApwMBCQEBRAEJAPwHBAUCYVUCFHRvWDE4V3JhcHBlclJFQURPTkxZCQDMCAIFAmRJCQDMCAIFAmRlBQNuaWwFA25pbAQCZHgDCQAAAgUCZGYAAAUBZwkApwMBCQEBRAEJAPwHBAUCYVUCHmNhbGNQcmljZUJpZ0ludFdyYXBwZXJSRUFET05MWQkAzAgCCQCmAwEFAmRLCQDMCAIJAKYDAQUCZEoFA25pbAUDbmlsBAJkagkBAUIBCQD8BwQFAmFVAhZmcm9tWDE4V3JhcHBlclJFQURPTkxZCQDMCAIJAKYDAQUCZHgJAMwIAgUBYgUDbmlsBQNuaWwEAmR6CQCnAwEJAQFEAQkA/AcEBQJhVQIUdG9YMThXcmFwcGVyUkVBRE9OTFkJAMwIAgUCZEEJAMwIAgUCZGUFA25pbAUDbmlsBAJkeQkAvAIDBQJkegUBZAUCZHgEAmRwCQEBQgEJAPwHBAUCYVUCFmZyb21YMThXcmFwcGVyUkVBRE9OTFkJAMwIAgkApgMBBQJkeQkAzAgCBQJkZAUDbmlsBQNuaWwEAmNhCQD8BwQFAmFVAiNlc3RpbWF0ZVB1dE9wZXJhdGlvbldyYXBwZXJSRUFET05MWQkAzAgCAgAJAMwIAgCgwh4JAMwIAgUCZHAJAMwIAgUCZHIJAMwIAgUCZEEJAMwIAgUCZHQJAMwIAgIACQDMCAIGCQDMCAIHBQNuaWwFA25pbAQCZEwEAXoFAmNhAwMDCQABAggFAXoCXzECA0ludAMJAAECCAUBegJfMwIDSW50AwkAAQIIBQF6Al80AgNJbnQDCQABAggFAXoCXzUCA0ludAkAAQIIBQF6Al82AgNJbnQHBwcHCQAAAgkAxgoBBQF6AA0HBAJkQwgFAXoCXzEEAmRECAUBegJfMwQCZEUIBQF6Al80BAJkRggFAXoCXzUEAmRHCAUBegJfNgkAlwoFBQJkQwUCZEQFAmRFBQJkRgUCZEcJAAIBAhNDb3VsZG4ndCBjYXN0IHR5cGVzBAJkQwgFAmRMAl8xBAJkRAgFAmRMAl8yBAJkRQgFAmRMAl8zBAJkRggFAmRMAl80BAJkRwgFAmRMAl81CQCUCgIFA25pbAkAuQkCCQDMCAICECVkJWQlZCVkJWQlZCVkJWQJAMwIAgkApAMBBQJkQwkAzAgCCQCkAwEFAmRqCQDMCAIJAKQDAQUCZEUJAMwIAgkApAMBBQJkRgkAzAgCCQCkAwEFAmRHCQDMCAIFAmR1CQDMCAIJAKQDAQUCZHAJAMwIAgkApAMBBQJkQQUDbmlsBQFlAmJCARdwb29sRXZhbHVhdGVHZXRSRUFET05MWQICZE0CZE4EAmFVCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBdAIFAmFYCQEBVQEFAmRNBAJjYQkA/AcEBQJhVQIjZXN0aW1hdGVHZXRPcGVyYXRpb25XcmFwcGVyUkVBRE9OTFkJAMwIAgIACQDMCAIFAmRNCQDMCAIFAmROCQDMCAIJAKUIAQUCYVUFA25pbAUDbmlsBAJkTwQBegUCY2EDAwMJAAECCAUBegJfMQIDSW50AwkAAQIIBQF6Al8yAgNJbnQDCQABAggFAXoCXzUCA0ludAMJAAECCAUBegJfNgIDSW50AwkAAQIIBQF6Al83AgNJbnQDCQABAggFAXoCXzgCBlN0cmluZwkAAQIIBQF6Al85AgZTdHJpbmcHBwcHBwcJAAACCQDGCgEFAXoACgcEAmRQCAUBegJfMQQCZFEIBQF6Al8yBAJkRQgFAXoCXzUEAmRGCAUBegJfNgQCZEcIBQF6Al83BAJkaggFAXoCXzgEAmR1CAUBegJfOQkAmQoHBQJkUAUCZFEFAmRFBQJkRgUCZEcFAmRqBQJkdQkAAgECE0NvdWxkbid0IGNhc3QgdHlwZXMEAmRQCAUCZE8CXzEEAmRRCAUCZE8CXzIEAmRFCAUCZE8CXzMEAmRGCAUCZE8CXzQEAmRHCAUCZE8CXzUEAmRqCAUCZE8CXzYEAmR1CAUCZE8CXzcJAJQKAgUDbmlsCQC5CQIJAMwIAgIOJWQlZCVkJWQlZCVkJWQJAMwIAgkApAMBBQJkUAkAzAgCCQCkAwEFAmRRCQDMCAIJAKQDAQUCZEUJAMwIAgkApAMBBQJkRgkAzAgCCQCkAwEFAmRHCQDMCAIFAmRqCQDMCAIFAmR1BQNuaWwFAWUCYkIBE2d3eFVzZXJJbmZvUkVBRE9OTFkBAmFtBAJkUgkBAXgBCQD8BwQFAmJiAhNnd3hVc2VySW5mb1JFQURPTkxZCQDMCAIFAmFtBQNuaWwFA25pbAQCZFMJAQFCAQkAkQMCBQJkUgAACQCUCgIFA25pbAkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUCZFMFA25pbAUBZQJiQgEVdW5zdGFrZUFuZEdldE9uZVRrblYyBAJhVQJkVAJkVQJkVgQCY2IJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYVUCFXVuc3Rha2VBbmRHZXRPbmVUa25WMgkAzAgCBQJkVAkAzAgCBQJkVQkAzAgCBQJkVgUDbmlsBQNuaWwDCQAAAgUCY2IFAmNiCQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiQgETZ2V0S2V5c0J1bGtJbnRlcm5hbAMCYk4CZFcCYlQDCQAAAgUCYk4JAJADAQUCZFcJAJQKAgUDbmlsBQJiVAQCY3EJALUJAgkAkQMCBQJkVwUCYk4CAisrBAJidgkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJjcQAABAFzCQCRAwIFAmNxAAEEAmJ3CQCRAwIFAmNxAAIEAXkJAQJidQMFAmJ2BQFzBQJidwQCY2EJAM0IAgUCYlQFAXkEAmNiCQD8BwQFBHRoaXMCE2dldEtleXNCdWxrSW50ZXJuYWwJAMwIAgkAZAIFAmJOAAEJAMwIAgUCZFcJAMwIAgUCY2EFA25pbAUDbmlsAwkAAAIFAmNiBQJjYgkAlAoCBQNuaWwFAmNiCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJCAQtnZXRLZXlzQnVsawECZFcEAmNhCQD8BwQFBHRoaXMCE2dldEtleXNCdWxrSW50ZXJuYWwJAMwIAgAACQDMCAIFAmRXCQDMCAIFA25pbAUDbmlsBQNuaWwJAJQKAgUDbmlsBQJjYQJiQgEKc2V0TWFuYWdlcgECZFgEAmJGCQECYkEBBQJiQgMJAAACBQJiRgUCYkYEAmRZCQDZBAEFAmRYAwkAAAIFAmRZBQJkWQkAzAgCCQELU3RyaW5nRW50cnkCCQEBSAAFAmRYBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkIBDmNvbmZpcm1NYW5hZ2VyAAQCZFoJAQJiegAEAmVhAwkBCWlzRGVmaW5lZAEFAmRaBgkAAgECEk5vIHBlbmRpbmcgbWFuYWdlcgMJAAACBQJlYQUCZWEEAmViAwkAAAIIBQJiQg9jYWxsZXJQdWJsaWNLZXkJAQV2YWx1ZQEFAmRaBgkAAgECG1lvdSBhcmUgbm90IHBlbmRpbmcgbWFuYWdlcgMJAAACBQJlYgUCZWIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUcACQDYBAEJAQV2YWx1ZQEFAmRaCQDMCAIJAQtEZWxldGVFbnRyeQEJAQFIAAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJlYwECZWQABAJlZQQBegkBAmJ4AAMJAAECBQF6AgpCeXRlVmVjdG9yBAJiRAUBegUCYkQDCQABAgUBegIEVW5pdAgFAmVjD3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yCQD0AwMIBQJlYwlib2R5Qnl0ZXMJAJEDAggFAmVjBnByb29mcwAABQJlZTHlVzA=", "chainId": 84, "height": 2326854, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5wSC8Gnfhet32BySVqdcrRAWmZcKS93kdyP6FzqZRgzh Next: rXkCHa6zK64TENEHziNPgCohWTm29PnyMF2ua7251nq Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = 1
4+let a = 8
55
6-let b = 8
6+let b = 100000000
77
8-let c = 100000000
8+let c = 18
99
10-let d = 18
10+let d = toBigInt(1000000000000000000)
1111
12-let e = toBigInt(1000000000000000000)
12+let e = "__"
1313
14-let f = "__"
14+let f = b
1515
16-let g = c
16+let g = toBigInt(0)
1717
18-let h = toBigInt(0)
18+let h = 1
1919
20-let i = 1
20+let i = 2
2121
22-let j = 2
22+let j = 3
2323
24-let k = 3
24+let k = 4
2525
26-let l = 4
26+let l = 5
2727
28-let m = 5
28+let m = 6
2929
30-let n = 6
30+let n = 7
3131
32-let o = 7
32+let o = 8
3333
34-let p = 8
34+let p = 9
3535
36-let q = 9
36+let q = 10
3737
38-let r = 10
39-
40-func s (t) = valueOrErrorMessage(getString(t), (("mandatory this." + t) + " is not defined"))
38+func r (s) = valueOrErrorMessage(getString(s), (("mandatory this." + s) + " is not defined"))
4139
4240
43-func u (v,t) = valueOrErrorMessage(getString(v, t), (((("mandatory " + toString(v)) + ".") + t) + " is not defined"))
41+func t (u,s) = valueOrErrorMessage(getString(u, s), (((("mandatory " + toString(u)) + ".") + s) + " is not defined"))
4442
4543
46-func w (v,t) = valueOrElse(getInteger(v, t), 0)
44+func v (u,s) = valueOrElse(getInteger(u, s), 0)
4745
4846
49-func x (v,t) = valueOrErrorMessage(getInteger(v, t), (("mandatory this." + t) + " is not defined"))
47+func w (u,s) = valueOrErrorMessage(getInteger(u, s), (("mandatory this." + s) + " is not defined"))
5048
5149
52-func y (z) = {
53- let A = z
54- if ($isInstanceOf(A, "List[Any]"))
50+func x (y) = {
51+ let z = y
52+ if ($isInstanceOf(z, "List[Any]"))
5553 then {
56- let B = A
57- B
54+ let A = z
55+ A
5856 }
5957 else throw("fail to cast into List[Any]")
6058 }
6159
6260
63-func C (z) = {
64- let A = z
65- if ($isInstanceOf(A, "Int"))
61+func B (y) = {
62+ let z = y
63+ if ($isInstanceOf(z, "Int"))
6664 then {
67- let D = A
68- D
65+ let C = z
66+ C
6967 }
7068 else throw("fail to cast into Int")
7169 }
7270
7371
74-func E (z) = {
75- let A = z
76- if ($isInstanceOf(A, "String"))
72+func D (y) = {
73+ let z = y
74+ if ($isInstanceOf(z, "String"))
7775 then {
78- let F = A
79- F
76+ let E = z
77+ E
8078 }
8179 else throw("fail to cast into String")
8280 }
8381
8482
85-func G () = "%s%s__config__factoryAddress"
83+func F () = "%s%s__config__factoryAddress"
8684
8785
88-func H () = "%s__managerPublicKey"
86+func G () = "%s__managerPublicKey"
8987
9088
91-func I () = "%s__pendingManagerPublicKey"
89+func H () = "%s__pendingManagerPublicKey"
9290
9391
94-let J = 1
92+let I = 1
9593
96-let K = 2
94+let J = 2
9795
98-let L = 3
96+let K = 3
9997
100-let M = 4
98+let L = 4
10199
102-let N = 5
100+let M = 5
103101
104-let O = 6
102+let N = 6
105103
106-let P = 7
104+let O = 7
107105
108-let Q = 8
106+let P = 8
109107
110-func R () = "%s__factoryConfig"
108+func Q () = "%s__factoryConfig"
111109
112110
113-func S (T) = makeString(["%s%s%s", T, "mappings__lpAsset2PoolContract"], f)
111+func R (S) = makeString(["%s%s%s", S, "mappings__lpAsset2PoolContract"], e)
114112
115113
116-func U () = "%s__lpTokensList"
114+func T () = "%s__lpTokensList"
117115
118116
119-func V (T) = makeString(["%s%s%s", T, "mappings__lpAsset2PoolContract"], f)
117+func U (S) = makeString(["%s%s%s", S, "mappings__lpAsset2PoolContract"], e)
120118
121119
122-func W (X) = makeString(["%s%s", "poolWeight", X], f)
120+func V (W) = makeString(["%s%s", "poolWeight", W], e)
123121
124122
125-func Y () = addressFromStringValue(s(G()))
123+func X () = addressFromStringValue(r(F()))
126124
127125
128-func Z () = split(valueOrElse(getString(Y(), U()), ""), f)
126+func Y () = split(valueOrElse(getString(X(), T()), ""), e)
129127
130128
131-func aa (ab) = split(u(ab, R()), f)
129+func Z (aa) = split(t(aa, Q()), e)
132130
133131
134-func ac (ad) = addressFromStringValue(ad[K])
132+func ab (ac) = addressFromStringValue(ac[J])
135133
136134
137-func ae (ad) = addressFromStringValue(ad[N])
135+func ad (ac) = addressFromStringValue(ac[M])
138136
139137
140-func af (ad) = addressFromStringValue(ad[J])
138+func ae (ac) = addressFromStringValue(ac[I])
141139
142140
143-func ag (ad) = addressFromStringValue(ad[Q])
141+func af (ac) = addressFromStringValue(ac[P])
144142
145143
146-func ah () = "%s__config"
144+func ag () = "%s__config"
147145
148146
149-func ai () = "%s%s__stats__activeTotalLocked"
147+func ah () = "%s%s__stats__activeTotalLocked"
150148
151149
152-func aj () = "%s%s__stats__locksDurationSumInBlocks"
150+func ai () = "%s%s__stats__locksDurationSumInBlocks"
153151
154152
155-func ak () = "%s%s__stats__locksCount"
153+func aj () = "%s%s__stats__locksCount"
156154
157155
158-func al () = "%s%s__stats__activeUsersCount"
156+func ak () = "%s%s__stats__activeUsersCount"
159157
160158
161-func am (an) = makeString(["%s%s%s__mapping__user2num", an], f)
159+func al (am) = makeString(["%s%s%s__mapping__user2num", am], e)
162160
163161
164-func ao (ap) = makeString(["%s%s%s__mapping__num2user", ap], f)
162+func an (ao) = makeString(["%s%s%s__mapping__num2user", ao], e)
165163
166164
167-func aq (ar) = makeString(["%s%d%s__paramByUserNum", ar, "amount"], f)
165+func ap (aq) = makeString(["%s%d%s__paramByUserNum", aq, "amount"], e)
168166
169167
170-func as (ar) = makeString(["%s%d%s__paramByUserNum", ar, "start"], f)
168+func ar (aq) = makeString(["%s%d%s__paramByUserNum", aq, "start"], e)
171169
172170
173-func at (ar) = makeString(["%s%d%s__paramByUserNum", ar, "duration"], f)
171+func as (aq) = makeString(["%s%d%s__paramByUserNum", aq, "duration"], e)
174172
175173
176-func au (ar) = makeString(["%s%d%s__paramByUserNum", ar, "k"], f)
174+func at (aq) = makeString(["%s%d%s__paramByUserNum", aq, "k"], e)
177175
178176
179-func av (ar) = makeString(["%s%d%s__paramByUserNum", ar, "b"], f)
177+func au (aq) = makeString(["%s%d%s__paramByUserNum", aq, "b"], e)
180178
181179
182-func aw (ar,ax) = makeString(["%s%d%s%d__paramByPeriod", ar, "k", ax], f)
180+func av (aq,aw) = makeString(["%s%d%s%d__paramByPeriod", aq, "k", aw], e)
183181
184182
185-func ay (ar,ax) = makeString(["%s%d%s%d__paramByPeriod", ar, "b", ax], f)
183+func ax (aq,aw) = makeString(["%s%d%s%d__paramByPeriod", aq, "b", aw], e)
186184
187185
188-func az (ar) = makeString(["%s%d__userBoostEmissionLastInt", ar], f)
186+func ay (aq) = makeString(["%s%d__userBoostEmissionLastInt", aq], e)
189187
190188
191-func aA (ar) = makeString(["%s%d__maxBoostInt", ar], f)
189+func az (aq) = makeString(["%s%d__maxBoostInt", aq], e)
192190
193191
194-func aB () = "%s%s__maxBoostInt__total"
192+func aA () = "%s%s__maxBoostInt__total"
195193
196194
197-func aC (ar) = makeString(["%s%d__userBoostAvaliableToClaimTotal", ar], f)
195+func aB (aq) = makeString(["%s%d__userBoostAvaliableToClaimTotal", aq], e)
198196
199197
200-func aD (ar) = makeString(["%s%d__userBoostClaimed", ar], f)
198+func aC (aq) = makeString(["%s%d__userBoostClaimed", aq], e)
201199
202200
203-func aE () = "%s%s__gwxCached__total"
201+func aD () = "%s%s__gwxCached__total"
204202
205203
206-func aF (aG,aH) = makeString(["%s%s%s__staked", aG, aH], f)
204+func aE (aF,aG) = makeString(["%s%s%s__staked", aF, aG], e)
207205
208206
209-func aI (aH) = ("%s%s%s__staked__total__" + aH)
207+func aH (aG) = ("%s%s%s__staked__total__" + aG)
210208
211209
212-func aJ (aH,aG) = makeString(["%s%s%s__claimed", aG, aH], f)
210+func aI (aG,aF) = makeString(["%s%s%s__claimed", aF, aG], e)
213211
214212
215-func aK (aH,aG) = makeString(["%s%s%s__claimedMinReward", aG, aH], f)
213+func aJ (aG,aF) = makeString(["%s%s%s__claimedMinReward", aF, aG], e)
216214
217215
218-func aL (aH,aG) = makeString(["%s%s%s__claimedBoostReward", aG, aH], f)
216+func aK (aG,aF) = makeString(["%s%s%s__claimedBoostReward", aF, aG], e)
219217
220218
221-func aM (aN,t) = valueOrElse(getInteger(aN, t), 0)
219+func aL (aM,s) = valueOrElse(getInteger(aM, s), 0)
222220
223221
224-func aO () = "%s%s__ratePerBlock__current"
222+func aN () = "%s%s__ratePerBlock__current"
225223
226224
227-func aP () = "%s%s__ratePerBlockMax__current"
225+func aO () = "%s%s__ratePerBlockMax__current"
228226
229227
230-func aQ () = "%s%s__emission__startBlock"
228+func aP () = "%s%s__emission__startBlock"
231229
232230
233-func aR () = "%s%s__emission__duration"
231+func aQ () = "%s%s__emission__duration"
234232
235233
236-func aS () = "%s%s__emission__endBlock"
234+func aR () = "%s%s__emission__endBlock"
237235
238236
239-func aT () = "%s__addonAddr"
237+func aS () = "%s__addonAddr"
240238
241239
242-func aU (aV) = {
243- let aW = fraction(10, c, 10000)
244- let aX = "%s__fee"
245- valueOrElse(getInteger(aV, aX), aW)
240+func aT (aU) = {
241+ let aV = fraction(10, b, 10000)
242+ let aW = "%s__fee"
243+ valueOrElse(getInteger(aU, aW), aV)
246244 }
247245
248246
249-let aY = Y()
247+let aX = X()
250248
251-let aZ = aa(aY)
249+let aY = Z(aX)
252250
253-let ba = ae(aZ)
251+let aZ = ad(aY)
254252
255-let aN = af(aZ)
253+let aM = ae(aY)
256254
257-let bb = ag(aZ)
255+let ba = af(aY)
258256
259-let bc = ac(aZ)
257+let bb = ab(aY)
260258
261-func bd (be) = {
262- let bf = u(aY, V(be))
263- let bg = c
264- let bh = getIntegerValue(aY, W(bf))
265- let bi = x(ba, aO())
266- let bj = x(ba, aP())
267- let bk = 3
268- let bl = (fraction(bi, bh, bg) / bk)
269- let bm = fraction(bj, bh, bg)
270- let bn = (bk * c)
271- let bo = w(aN, aI(be))
272-[bl, bn, bo]
259+func bc (bd) = {
260+ let be = t(aX, U(bd))
261+ let bf = b
262+ let bg = getIntegerValue(aX, V(be))
263+ let bh = w(aZ, aN())
264+ let bi = w(aZ, aO())
265+ let bj = 3
266+ let bk = (fraction(bh, bg, bf) / bj)
267+ let bl = fraction(bi, bg, bf)
268+ let bm = (bj * b)
269+ let bn = v(aM, aH(bd))
270+[bk, bm, bn]
273271 }
274272
275273
276-func bp (bq,br,bs) = {
277- let bt = fraction(br, c, bs)
278- let bu = fraction(bq, bt, c)
279-[bu]
274+func bo (bp,bq,br) = {
275+ let bs = fraction(bq, b, br)
276+ let bt = fraction(bp, bs, b)
277+[bt]
280278 }
281279
282280
283-func bv (bw,t,bx) = if ((bx == "string"))
284- then getStringValue(bw, t)
285- else if ((bx == "integer"))
286- then toString(getIntegerValue(bw, t))
287- else if ((bx == "boolean"))
288- then toString(getBooleanValue(bw, t))
281+func bu (bv,s,bw) = if ((bw == "string"))
282+ then getStringValue(bv, s)
283+ else if ((bw == "integer"))
284+ then toString(getIntegerValue(bv, s))
285+ else if ((bw == "boolean"))
286+ then toString(getBooleanValue(bv, s))
289287 else throw("unknown type. expected string/integer/boolean")
290288
291289
292-func by () = {
293- let A = getString(H())
294- if ($isInstanceOf(A, "String"))
290+func bx () = {
291+ let z = getString(G())
292+ if ($isInstanceOf(z, "String"))
295293 then {
296- let bz = A
297- fromBase58String(bz)
294+ let by = z
295+ fromBase58String(by)
298296 }
299- else if ($isInstanceOf(A, "Unit"))
297+ else if ($isInstanceOf(z, "Unit"))
300298 then unit
301299 else throw("Match error")
302300 }
303301
304302
305-func bA () = {
306- let A = getString(I())
307- if ($isInstanceOf(A, "String"))
303+func bz () = {
304+ let z = getString(H())
305+ if ($isInstanceOf(z, "String"))
308306 then {
309- let bz = A
310- fromBase58String(bz)
307+ let by = z
308+ fromBase58String(by)
311309 }
312- else if ($isInstanceOf(A, "Unit"))
310+ else if ($isInstanceOf(z, "Unit"))
313311 then unit
314312 else throw("Match error")
315313 }
316314
317315
318-func bB (bC) = {
319- let bD = throw("Permission denied")
320- let A = by()
321- if ($isInstanceOf(A, "ByteVector"))
316+func bA (bB) = {
317+ let bC = throw("Permission denied")
318+ let z = bx()
319+ if ($isInstanceOf(z, "ByteVector"))
322320 then {
323- let bE = A
324- if ((bC.callerPublicKey == bE))
321+ let bD = z
322+ if ((bB.callerPublicKey == bD))
325323 then true
326- else bD
324+ else bC
327325 }
328- else if ($isInstanceOf(A, "Unit"))
329- then if ((bC.caller == this))
326+ else if ($isInstanceOf(z, "Unit"))
327+ then if ((bB.caller == this))
330328 then true
331- else bD
329+ else bC
332330 else throw("Match error")
333331 }
334332
335333
336-@Callable(bC)
337-func constructor (bF) = {
338- let bG = bB(bC)
339- if ((bG == bG))
340- then [StringEntry(G(), bF)]
334+@Callable(bB)
335+func constructor (bE) = {
336+ let bF = bA(bB)
337+ if ((bF == bF))
338+ then [StringEntry(F(), bE)]
341339 else throw("Strict value is not equal to itself.")
342340 }
343341
344342
345343
346-@Callable(bC)
347-func currentRewardRateREADONLY (be) = {
348- let bH = bd(be)
349- let bi = bH[0]
350- let bn = bH[1]
351- let bo = bH[2]
352- $Tuple2(nil, makeString(["%d%d%d", toString(bi), toString(bn), toString(bo)], f))
344+@Callable(bB)
345+func currentRewardRateREADONLY (bd) = {
346+ let bG = bc(bd)
347+ let bh = bG[0]
348+ let bm = bG[1]
349+ let bn = bG[2]
350+ $Tuple2(nil, makeString(["%d%d%d", toString(bh), toString(bm), toString(bn)], e))
353351 }
354352
355353
356354
357-@Callable(bC)
358-func currentUserRewardRateREADONLY (be,an) = {
359- let bH = bd(be)
360- let bi = bH[0]
361- let bn = bH[1]
362- let bo = bH[2]
363- let bI = w(aN, aF(an, be))
364- let bJ = split(E(invoke(aN, "claimWxREADONLY", [be, an], nil)), f)
365- let bK = valueOrErrorMessage(parseInt(bJ[5]), "couldn't parse minRewardPart")
366- let bL = valueOrErrorMessage(parseInt(bJ[6]), "couldn't parse boostRewardPart")
367- let bM = bJ[7]
368- let bN = if ((bL == 0))
369- then (1 * c)
370- else fraction((bK + bL), c, bK)
371- $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bi), toString(bn), toString(bo), toString(bI), toString(bN), bM], f))
355+@Callable(bB)
356+func currentUserRewardRateREADONLY (bd,am) = {
357+ let bG = bc(bd)
358+ let bh = bG[0]
359+ let bm = bG[1]
360+ let bn = bG[2]
361+ let bH = v(aM, aE(am, bd))
362+ let bI = split(D(invoke(aM, "claimWxREADONLY", [bd, am], nil)), e)
363+ let bJ = valueOrErrorMessage(parseInt(bI[5]), "couldn't parse minRewardPart")
364+ let bK = valueOrErrorMessage(parseInt(bI[6]), "couldn't parse boostRewardPart")
365+ let bL = bI[7]
366+ let bM = if ((bK == 0))
367+ then (1 * b)
368+ else fraction((bJ + bK), b, bJ)
369+ $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bh), toString(bm), toString(bn), toString(bH), toString(bM), bL], e))
372370 }
373371
374372
375373
376-@Callable(bC)
377-func calcBoostBulkInternalREADONLY (bO,bP,bQ,bR,bS,bT,bU) = if ((bO == size(bP)))
378- then $Tuple2(nil, bU)
374+@Callable(bB)
375+func calcBoostBulkInternalREADONLY (bN,bO,bP,bQ,bR,bS,bT) = if ((bN == size(bO)))
376+ then $Tuple2(nil, bT)
379377 else {
380- let bV = bP[bO]
381- let bW = bQ[bO]
382- let bX = bR[bO]
383- let bY = bS[bO]
384- let bZ = {
385- let ca = invoke(this, "calcBoostREADONLY", [bV, bW, bX, bY, bT], nil)
386- if ($isInstanceOf(ca, "String"))
387- then ca
388- else throw(($getType(ca) + " couldn't be cast to String"))
378+ let bU = bO[bN]
379+ let bV = bP[bN]
380+ let bW = bQ[bN]
381+ let bX = bR[bN]
382+ let bY = {
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"))
389387 }
390- let cb = (bU :+ bZ)
391- let cc = {
392- let ca = invoke(this, "calcBoostBulkInternalREADONLY", [(bO + 1), bP, bQ, bR, bS, bT, cb], nil)
393- if ($isInstanceOf(ca, "List[Any]"))
394- then ca
395- else throw(($getType(ca) + " 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]"))
396394 }
397- if ((cc == cc))
398- then $Tuple2(nil, cc)
395+ if ((cb == cb))
396+ then $Tuple2(nil, cb)
399397 else throw("Strict value is not equal to itself.")
400398 }
401399
402400
403401
404-@Callable(bC)
405-func calcBoostBulkREADONLY (bV,bW,bX,bY,bT) = {
406- let cb = invoke(this, "calcBoostBulkInternalREADONLY", [0, bV, bW, bX, bY, bT, nil], nil)
407- $Tuple2(nil, cb)
402+@Callable(bB)
403+func calcBoostBulkREADONLY (bU,bV,bW,bX,bS) = {
404+ let ca = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
405+ $Tuple2(nil, ca)
408406 }
409407
410408
411409
412-@Callable(bC)
413-func calcBoostREADONLY (bV,bW,bX,bY,bT) = {
414- let cd = bb
415- let ce = "empty"
416- let cf = parseIntValue(split(u(bc, ah()), f)[4])
417- let aH = if ((bY == ""))
418- then ce
419- else bY
420- let aG = if ((bT == ""))
421- then ce
422- else bT
423- let cg = valueOrElse(getString(bc, am(bT)), ce)
424- let ch = valueOrElse(getInteger(bc, aq(cg)), 0)
425- let ci = valueOrElse(getInteger(bc, as(cg)), height)
426- let br = valueOrElse(getInteger(bc, at(cg)), 0)
427- let cj = (ci + br)
428- let ck = max([(cj - height), 0])
429- let cl = (ch + bV)
430- let cm = min([(ck + bW), cf])
431- let cn = C(y(invoke(bc, "gwxUserInfoREADONLY", [aG], nil))[0])
432- let co = bp(cl, cm, cf)[0]
433- let cp = y(invoke(cd, "calcGwxParamsREADONLY", [co, height, cm], nil))
434- let cq = (co - cn)
435- let cr = C(cp[0])
436- let cs = C(cp[1])
437- let ax = toString(C(cp[2]))
438- let ct = aB()
439- let cu = aE()
440- let cv = ((co * cm) / 2)
441- let cw = w(bc, ct)
442- let cx = valueOrElse(getInteger(bc, cu), 0)
443- let cy = 1000
444- let cz = (x(ba, aO()) * cy)
445- let cA = aF(aG, aH)
446- let cB = aI(aH)
447- let cC = aM(aN, cA)
448- let cD = aM(aN, cB)
449- let cE = (cC + bX)
450- let cF = (cD + bX)
451- let bh = if ((aH != ce))
410+@Callable(bB)
411+func calcBoostREADONLY (bU,bV,bW,bX,bS) = {
412+ let cc = ba
413+ let cd = "empty"
414+ let ce = parseIntValue(split(t(bb, ag()), e)[4])
415+ let aG = if ((bX == ""))
416+ then cd
417+ else bX
418+ let aF = if ((bS == ""))
419+ then cd
420+ else bS
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 = aD()
438+ let cu = ((cn * cl) / 2)
439+ let cv = v(bb, cs)
440+ let cw = valueOrElse(getInteger(bb, ct), 0)
441+ let cx = 1000
442+ let cy = (w(aZ, aN()) * cx)
443+ let cz = aE(aF, aG)
444+ let cA = aH(aG)
445+ let cB = aL(aM, cz)
446+ let cC = aL(aM, cA)
447+ let cD = (cB + bW)
448+ let cE = (cC + bW)
449+ let bg = if ((aG != cd))
452450 then {
453- let bf = valueOrErrorMessage(getString(aY, S(aH)), ("unsupported lp asset " + aH))
454- getIntegerValue(aY, W(bf))
451+ let be = valueOrErrorMessage(getString(aX, R(aG)), ("unsupported lp asset " + aG))
452+ getIntegerValue(aX, V(be))
455453 }
456454 else 0
457- let cG = fraction(cz, bh, (g * 3))
458- let cH = if ((cF != 0))
459- then fraction(cG, c, cF)
455+ let cF = fraction(cy, bg, (f * 3))
456+ let cG = if ((cE != 0))
457+ then fraction(cF, b, cE)
460458 else 0
461- let cI = fraction(cH, cE, c)
462- let cJ = (cG * 2)
463- let cK = fraction(co, cJ, (cx + cq))
464- let cL = min([cK, (cI * 2)])
465- let cM = if ((cI == 0))
466- then (1 * c)
467- else fraction((cL + cI), c, cI)
468- $Tuple2(nil, makeString(["%d%d%s", toString(co), toString(cM), "d"], f))
459+ let cH = fraction(cG, cD, b)
460+ let cI = (cF * 2)
461+ let cJ = fraction(cn, cI, (cw + cp))
462+ let cK = min([cJ, (cH * 2)])
463+ let cL = if ((cH == 0))
464+ then (1 * b)
465+ else fraction((cK + cH), b, cH)
466+ $Tuple2(nil, makeString(["%d%d%s", toString(cn), toString(cL), "d"], e))
469467 }
470468
471469
472470
473-@Callable(bC)
471+@Callable(bB)
474472 func wxEmissionStatsREADONLY () = {
475- let cN = toString(c)
476- let cO = "1"
477- let bi = x(ba, aO())
478- let cP = x(ba, aQ())
479- let cQ = if ((cP > height))
473+ let cM = toString(b)
474+ let cN = "1"
475+ let bh = w(aZ, aN())
476+ let cO = w(aZ, aP())
477+ let cP = if ((cO > height))
480478 then 0
481- else (height - cP)
482- let cR = (1440 * 365)
483- let cS = (201000000 * c)
484- let cT = if ((cQ > cR))
485- then cS
486- else fraction(cS, cQ, cR)
487- let cU = ((bi * cQ) + cT)
488- let cV = w(bc, ai())
489- let cW = w(bc, aj())
490- let cX = w(bc, ak())
491- $Tuple2(nil, makeString(["%d%d%d%d", toString(cU), toString(cV), toString(cW), toString(cX)], f))
479+ else (height - cO)
480+ let cQ = (1440 * 365)
481+ let cR = (201000000 * b)
482+ let cS = if ((cP > cQ))
483+ then cR
484+ else fraction(cR, cP, cQ)
485+ let cT = ((bh * cP) + cS)
486+ let cU = v(bb, ah())
487+ let cV = v(bb, ai())
488+ let cW = v(bb, aj())
489+ $Tuple2(nil, makeString(["%d%d%d%d", toString(cT), toString(cU), toString(cV), toString(cW)], e))
492490 }
493491
494492
495493
496-@Callable(bC)
497-func poolStatsREADONLY (cY) = {
498- let aV = addressFromStringValue(u(aY, V(cY)))
499- let cZ = y(invoke(aV, "getPoolConfigWrapperREADONLY", nil, nil))
500- let be = fromBase58String(E(cZ[k]))
501- let da = E(cZ[l])
502- let db = E(cZ[m])
503- let dc = E(cZ[p])
504- let dd = E(cZ[q])
505- let de = parseIntValue(E(cZ[n]))
506- let df = parseIntValue(E(cZ[o]))
507- let dg = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
508- let dh = C(invoke(aV, "getAccBalanceWrapperREADONLY", [da], nil))
509- let di = C(invoke(aV, "getAccBalanceWrapperREADONLY", [db], nil))
510- let dj = if ((dg == 0))
511- then [toString(h), toString(h), toString(h)]
512- else y(invoke(aV, "calcPricesWrapperREADONLY", [dh, di, dg], nil))
513- let dk = 0
514- let dl = C(invoke(aV, "fromX18WrapperREADONLY", [dj[1], c], nil))
515- let dm = C(invoke(aV, "fromX18WrapperREADONLY", [dj[2], c], nil))
516- let bh = getIntegerValue(aY, W(toString(aV)))
517- let dn = aU(aV)
518- let do = {
519- let ca = invoke(aY, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aV)], nil)
520- if ($isInstanceOf(ca, "Boolean"))
521- then ca
522- else throw(($getType(ca) + " couldn't be cast to Boolean"))
494+@Callable(bB)
495+func poolStatsREADONLY (cX) = {
496+ let aU = addressFromStringValue(t(aX, U(cX)))
497+ let cY = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
498+ let bd = fromBase58String(D(cY[j]))
499+ let cZ = D(cY[k])
500+ let da = D(cY[l])
501+ let db = D(cY[o])
502+ let dc = D(cY[p])
503+ let dd = parseIntValue(D(cY[m]))
504+ let de = parseIntValue(D(cY[n]))
505+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
506+ let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cZ], nil))
507+ let dh = B(invoke(aU, "getAccBalanceWrapperREADONLY", [da], nil))
508+ let di = if ((df == 0))
509+ then [toString(g), toString(g), toString(g)]
510+ else x(invoke(aU, "calcPricesWrapperREADONLY", [dg, dh, df], nil))
511+ let dj = 0
512+ let dk = B(invoke(aU, "fromX18WrapperREADONLY", [di[1], b], nil))
513+ let dl = B(invoke(aU, "fromX18WrapperREADONLY", [di[2], b], nil))
514+ let bg = getIntegerValue(aX, V(toString(aU)))
515+ let dm = aT(aU)
516+ let dn = {
517+ let bZ = invoke(aX, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aU)], nil)
518+ if ($isInstanceOf(bZ, "Boolean"))
519+ then bZ
520+ else throw(($getType(bZ) + " couldn't be cast to Boolean"))
523521 }
524- let dp = !(do)
525- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s", toString(dh), toString(di), toString(dg), toString(dk), toString(dl), toString(dm), toString(bh), toString(dn), toString(dp)], f))
522+ let do = !(dn)
523+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s", toString(dg), toString(dh), toString(df), toString(dj), toString(dk), toString(dl), toString(bg), toString(dm), toString(do)], e))
526524 }
527525
528526
529527
530-@Callable(bC)
531-func poolEvaluatePutByAmountAssetREADONLY (cY,dq) = {
532- let aV = addressFromStringValue(u(aY, V(cY)))
533- let cZ = y(invoke(aV, "getPoolConfigWrapperREADONLY", nil, nil))
534- let be = fromBase58String(E(cZ[k]))
535- let dr = E(cZ[l])
536- let ds = fromBase58String(dr)
537- let dt = E(cZ[m])
538- let du = fromBase58String(dt)
539- let de = parseIntValue(E(cZ[n]))
540- let df = parseIntValue(E(cZ[o]))
541- let dv = E(cZ[j])
542- let dg = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
543- let dh = C(invoke(aV, "getAccBalanceWrapperREADONLY", [dr], nil))
544- let di = C(invoke(aV, "getAccBalanceWrapperREADONLY", [dt], nil))
545- let dw = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [dh, de], nil)))
546- let dx = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [di, df], nil)))
547- let dy = if ((dg == 0))
548- then h
549- else parseBigIntValue(E(invoke(aV, "calcPriceBigIntWrapperREADONLY", [toString(dx), toString(dw)], nil)))
550- let dk = C(invoke(aV, "fromX18WrapperREADONLY", [toString(dy), c], nil))
551- let dz = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [dq, de], nil)))
552- let dA = fraction(dz, dy, e)
553- let dB = C(invoke(aV, "fromX18WrapperREADONLY", [toString(dA), df], nil))
554- let cb = invoke(aV, "estimatePutOperationWrapperREADONLY", ["", 500000, dq, ds, dB, du, "", true, false], nil)
555- let dC = {
556- let A = cb
557- if (if (if ($isInstanceOf(A._1, "Int"))
558- then if ($isInstanceOf(A._3, "Int"))
559- then if ($isInstanceOf(A._4, "Int"))
560- then if ($isInstanceOf(A._5, "Int"))
561- then $isInstanceOf(A._6, "Int")
528+@Callable(bB)
529+func poolEvaluatePutByAmountAssetREADONLY (cX,dp) = {
530+ let aU = addressFromStringValue(t(aX, U(cX)))
531+ let cY = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
532+ let bd = fromBase58String(D(cY[j]))
533+ let dq = D(cY[k])
534+ let dr = fromBase58String(dq)
535+ let ds = D(cY[l])
536+ let dt = fromBase58String(ds)
537+ let dd = parseIntValue(D(cY[m]))
538+ let de = parseIntValue(D(cY[n]))
539+ let du = D(cY[i])
540+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
541+ let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dq], nil))
542+ let dh = B(invoke(aU, "getAccBalanceWrapperREADONLY", [ds], nil))
543+ let dv = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dg, dd], nil)))
544+ let dw = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dh, de], nil)))
545+ let dx = if ((df == 0))
546+ then g
547+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dw), toString(dv)], nil)))
548+ let dj = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dx), b], nil))
549+ let dy = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dp, dd], nil)))
550+ let dz = fraction(dy, dx, d)
551+ let dA = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dz), de], nil))
552+ let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dp, dr, dA, dt, "", true, false], nil)
553+ let dB = {
554+ let z = ca
555+ if (if (if ($isInstanceOf(z._1, "Int"))
556+ then if ($isInstanceOf(z._3, "Int"))
557+ then if ($isInstanceOf(z._4, "Int"))
558+ then if ($isInstanceOf(z._5, "Int"))
559+ then $isInstanceOf(z._6, "Int")
562560 else false
563561 else false
564562 else false
565563 else false)
566- then (size(A) == 13)
564+ then (size(z) == 13)
567565 else false)
568566 then {
569- let dD = A._1
570- let dE = A._3
571- let dF = A._4
572- let dG = A._5
573- let dH = A._6
574- $Tuple5(dD, dE, dF, dG, dH)
567+ let dC = z._1
568+ let dD = z._3
569+ let dE = z._4
570+ let dF = z._5
571+ let dG = z._6
572+ $Tuple5(dC, dD, dE, dF, dG)
575573 }
576574 else throw("Couldn't cast types")
577575 }
578- let dD = dC._1
579- let dE = dC._2
580- let dF = dC._3
581- let dG = dC._4
582- let dH = dC._5
583- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dD), toString(dk), toString(dF), toString(dG), toString(dH), dv, toString(dq), toString(dB)], f))
576+ let dC = dB._1
577+ let dD = dB._2
578+ let dE = dB._3
579+ let dF = dB._4
580+ let dG = dB._5
581+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dC), toString(dj), toString(dE), toString(dF), toString(dG), du, toString(dp), toString(dA)], e))
584582 }
585583
586584
587585
588-@Callable(bC)
589-func poolEvaluatePutByPriceAssetREADONLY (cY,dB) = {
590- let aV = addressFromStringValue(u(aY, V(cY)))
591- let cZ = y(invoke(aV, "getPoolConfigWrapperREADONLY", nil, nil))
592- let be = fromBase58String(E(cZ[k]))
593- let dr = E(cZ[l])
594- let ds = fromBase58String(dr)
595- let dt = E(cZ[m])
596- let du = fromBase58String(dt)
597- let de = parseIntValue(E(cZ[n]))
598- let df = parseIntValue(E(cZ[o]))
599- let dv = E(cZ[j])
600- let dg = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
601- let dI = C(invoke(aV, "getAccBalanceWrapperREADONLY", [dr], nil))
602- let dJ = C(invoke(aV, "getAccBalanceWrapperREADONLY", [dt], nil))
603- let dK = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [dI, de], nil)))
604- let dL = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [dJ, df], nil)))
605- let dy = if ((dg == 0))
606- then h
607- else parseBigIntValue(E(invoke(aV, "calcPriceBigIntWrapperREADONLY", [toString(dL), toString(dK)], nil)))
608- let dk = C(invoke(aV, "fromX18WrapperREADONLY", [toString(dy), c], nil))
609- let dA = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [dB, df], nil)))
610- let dz = fraction(dA, e, dy)
611- let dq = C(invoke(aV, "fromX18WrapperREADONLY", [toString(dz), de], nil))
612- let cb = invoke(aV, "estimatePutOperationWrapperREADONLY", ["", 500000, dq, ds, dB, du, "", true, false], nil)
613- let dM = {
614- let A = cb
615- if (if (if ($isInstanceOf(A._1, "Int"))
616- then if ($isInstanceOf(A._3, "Int"))
617- then if ($isInstanceOf(A._4, "Int"))
618- then if ($isInstanceOf(A._5, "Int"))
619- then $isInstanceOf(A._6, "Int")
586+@Callable(bB)
587+func poolEvaluatePutByPriceAssetREADONLY (cX,dA) = {
588+ let aU = addressFromStringValue(t(aX, U(cX)))
589+ let cY = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
590+ let bd = fromBase58String(D(cY[j]))
591+ let dq = D(cY[k])
592+ let dr = fromBase58String(dq)
593+ let ds = D(cY[l])
594+ let dt = fromBase58String(ds)
595+ let dd = parseIntValue(D(cY[m]))
596+ let de = parseIntValue(D(cY[n]))
597+ let du = D(cY[i])
598+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
599+ let dH = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dq], nil))
600+ let dI = B(invoke(aU, "getAccBalanceWrapperREADONLY", [ds], nil))
601+ let dJ = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dH, dd], nil)))
602+ let dK = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dI, de], nil)))
603+ let dx = if ((df == 0))
604+ then g
605+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dK), toString(dJ)], nil)))
606+ let dj = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dx), b], nil))
607+ let dz = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dA, de], nil)))
608+ let dy = fraction(dz, d, dx)
609+ let dp = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dy), dd], nil))
610+ let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dp, dr, dA, dt, "", true, false], nil)
611+ let dL = {
612+ let z = ca
613+ if (if (if ($isInstanceOf(z._1, "Int"))
614+ then if ($isInstanceOf(z._3, "Int"))
615+ then if ($isInstanceOf(z._4, "Int"))
616+ then if ($isInstanceOf(z._5, "Int"))
617+ then $isInstanceOf(z._6, "Int")
620618 else false
621619 else false
622620 else false
623621 else false)
624- then (size(A) == 13)
622+ then (size(z) == 13)
625623 else false)
626624 then {
627- let dD = A._1
628- let dE = A._3
629- let dF = A._4
630- let dG = A._5
631- let dH = A._6
632- $Tuple5(dD, dE, dF, dG, dH)
625+ let dC = z._1
626+ let dD = z._3
627+ let dE = z._4
628+ let dF = z._5
629+ let dG = z._6
630+ $Tuple5(dC, dD, dE, dF, dG)
633631 }
634632 else throw("Couldn't cast types")
635633 }
636- let dD = dM._1
637- let dE = dM._2
638- let dF = dM._3
639- let dG = dM._4
640- let dH = dM._5
641- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dD), toString(dk), toString(dF), toString(dG), toString(dH), dv, toString(dq), toString(dB)], f))
634+ let dC = dL._1
635+ let dD = dL._2
636+ let dE = dL._3
637+ let dF = dL._4
638+ let dG = dL._5
639+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dC), toString(dj), toString(dE), toString(dF), toString(dG), du, toString(dp), toString(dA)], e))
642640 }
643641
644642
645643
646-@Callable(bC)
647-func poolEvaluateGetREADONLY (dN,dO) = {
648- let aV = addressFromStringValue(u(aY, V(dN)))
649- let cb = invoke(aV, "estimateGetOperationWrapperREADONLY", ["", dN, dO, toString(aV)], nil)
650- let dP = {
651- let A = cb
652- if (if (if ($isInstanceOf(A._1, "Int"))
653- then if ($isInstanceOf(A._2, "Int"))
654- then if ($isInstanceOf(A._5, "Int"))
655- then if ($isInstanceOf(A._6, "Int"))
656- then if ($isInstanceOf(A._7, "Int"))
657- then if ($isInstanceOf(A._8, "String"))
658- then $isInstanceOf(A._9, "String")
644+@Callable(bB)
645+func poolEvaluateGetREADONLY (dM,dN) = {
646+ let aU = addressFromStringValue(t(aX, U(dM)))
647+ let ca = invoke(aU, "estimateGetOperationWrapperREADONLY", ["", dM, dN, toString(aU)], nil)
648+ let dO = {
649+ let z = ca
650+ if (if (if ($isInstanceOf(z._1, "Int"))
651+ then if ($isInstanceOf(z._2, "Int"))
652+ then if ($isInstanceOf(z._5, "Int"))
653+ then if ($isInstanceOf(z._6, "Int"))
654+ then if ($isInstanceOf(z._7, "Int"))
655+ then if ($isInstanceOf(z._8, "String"))
656+ then $isInstanceOf(z._9, "String")
659657 else false
660658 else false
661659 else false
662660 else false
663661 else false
664662 else false)
665- then (size(A) == 10)
663+ then (size(z) == 10)
666664 else false)
667665 then {
668- let dQ = A._1
669- let dR = A._2
670- let dF = A._5
671- let dG = A._6
672- let dH = A._7
673- let dk = A._8
674- let dv = A._9
675- $Tuple7(dQ, dR, dF, dG, dH, dk, dv)
666+ let dP = z._1
667+ let dQ = z._2
668+ let dE = z._5
669+ let dF = z._6
670+ let dG = z._7
671+ let dj = z._8
672+ let du = z._9
673+ $Tuple7(dP, dQ, dE, dF, dG, dj, du)
676674 }
677675 else throw("Couldn't cast types")
678676 }
679- let dQ = dP._1
680- let dR = dP._2
681- let dF = dP._3
682- let dG = dP._4
683- let dH = dP._5
684- let dk = dP._6
685- let dv = dP._7
686- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dQ), toString(dR), toString(dF), toString(dG), toString(dH), dk, dv], f))
677+ let dP = dO._1
678+ let dQ = dO._2
679+ let dE = dO._3
680+ let dF = dO._4
681+ let dG = dO._5
682+ let dj = dO._6
683+ let du = dO._7
684+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dP), toString(dQ), toString(dE), toString(dF), toString(dG), dj, du], e))
687685 }
688686
689687
690688
691-@Callable(bC)
692-func gwxUserInfoREADONLY (an) = {
693- let dS = y(invoke(bc, "gwxUserInfoREADONLY", [an], nil))
694- let dT = C(dS[0])
695- $Tuple2(nil, makeString(["%d", toString(dT)], f))
689+@Callable(bB)
690+func gwxUserInfoREADONLY (am) = {
691+ let dR = x(invoke(bb, "gwxUserInfoREADONLY", [am], nil))
692+ let dS = B(dR[0])
693+ $Tuple2(nil, makeString(["%d", toString(dS)], e))
696694 }
697695
698696
699697
700-@Callable(bC)
701-func unstakeAndGetOneTknV2 (aV,dU,dV,dW) = {
702- let cc = invoke(addressFromStringValue(aV), "unstakeAndGetOneTknV2", [dU, dV, dW], nil)
703- if ((cc == cc))
698+@Callable(bB)
699+func unstakeAndGetOneTknV2 (aU,dT,dU,dV) = {
700+ let cb = invoke(addressFromStringValue(aU), "unstakeAndGetOneTknV2", [dT, dU, dV], nil)
701+ if ((cb == cb))
704702 then $Tuple2(nil, unit)
705703 else throw("Strict value is not equal to itself.")
706704 }
707705
708706
709707
710-@Callable(bC)
711-func getKeysBulkInternal (bO,dX,bU) = if ((bO == size(dX)))
712- then $Tuple2(nil, bU)
708+@Callable(bB)
709+func getKeysBulkInternal (bN,dW,bT) = if ((bN == size(dW)))
710+ then $Tuple2(nil, bT)
713711 else {
714- let cr = split(dX[bO], "++")
715- let bw = addressFromStringValue(cr[0])
716- let t = cr[1]
717- let bx = cr[2]
718- let z = bv(bw, t, bx)
719- let cb = (bU :+ z)
720- let cc = invoke(this, "getKeysBulkInternal", [(bO + 1), dX, cb], nil)
721- if ((cc == cc))
722- then $Tuple2(nil, cc)
712+ let cq = split(dW[bN], "++")
713+ let bv = addressFromStringValue(cq[0])
714+ let s = cq[1]
715+ let bw = cq[2]
716+ let y = bu(bv, s, bw)
717+ let ca = (bT :+ y)
718+ let cb = invoke(this, "getKeysBulkInternal", [(bN + 1), dW, ca], nil)
719+ if ((cb == cb))
720+ then $Tuple2(nil, cb)
723721 else throw("Strict value is not equal to itself.")
724722 }
725723
726724
727725
728-@Callable(bC)
729-func getKeysBulk (dX) = {
730- let cb = invoke(this, "getKeysBulkInternal", [0, dX, nil], nil)
731- $Tuple2(nil, cb)
726+@Callable(bB)
727+func getKeysBulk (dW) = {
728+ let ca = invoke(this, "getKeysBulkInternal", [0, dW, nil], nil)
729+ $Tuple2(nil, ca)
732730 }
733731
734732
735733
736-@Callable(bC)
737-func setManager (dY) = {
738- let bG = bB(bC)
739- if ((bG == bG))
734+@Callable(bB)
735+func setManager (dX) = {
736+ let bF = bA(bB)
737+ if ((bF == bF))
740738 then {
741- let dZ = fromBase58String(dY)
742- if ((dZ == dZ))
743- then [StringEntry(I(), dY)]
739+ let dY = fromBase58String(dX)
740+ if ((dY == dY))
741+ then [StringEntry(H(), dX)]
744742 else throw("Strict value is not equal to itself.")
745743 }
746744 else throw("Strict value is not equal to itself.")
748746
749747
750748
751-@Callable(bC)
749+@Callable(bB)
752750 func confirmManager () = {
753- let ea = bA()
754- let eb = if (isDefined(ea))
751+ let dZ = bz()
752+ let ea = if (isDefined(dZ))
755753 then true
756754 else throw("No pending manager")
757- if ((eb == eb))
755+ if ((ea == ea))
758756 then {
759- let ec = if ((bC.callerPublicKey == value(ea)))
757+ let eb = if ((bB.callerPublicKey == value(dZ)))
760758 then true
761759 else throw("You are not pending manager")
762- if ((ec == ec))
763- then [StringEntry(H(), toBase58String(value(ea))), DeleteEntry(I())]
760+ if ((eb == eb))
761+ then [StringEntry(G(), toBase58String(value(dZ))), DeleteEntry(H())]
764762 else throw("Strict value is not equal to itself.")
765763 }
766764 else throw("Strict value is not equal to itself.")
767765 }
768766
769767
770-@Verifier(ed)
771-func ee () = {
772- let ef = {
773- let A = by()
774- if ($isInstanceOf(A, "ByteVector"))
768+@Verifier(ec)
769+func ed () = {
770+ let ee = {
771+ let z = bx()
772+ if ($isInstanceOf(z, "ByteVector"))
775773 then {
776- let bE = A
777- bE
774+ let bD = z
775+ bD
778776 }
779- else if ($isInstanceOf(A, "Unit"))
780- then ed.senderPublicKey
777+ else if ($isInstanceOf(z, "Unit"))
778+ then ec.senderPublicKey
781779 else throw("Match error")
782780 }
783- sigVerify(ed.bodyBytes, ed.proofs[0], ef)
781+ sigVerify(ec.bodyBytes, ec.proofs[0], ee)
784782 }
785783
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = 1
4+let a = 8
55
6-let b = 8
6+let b = 100000000
77
8-let c = 100000000
8+let c = 18
99
10-let d = 18
10+let d = toBigInt(1000000000000000000)
1111
12-let e = toBigInt(1000000000000000000)
12+let e = "__"
1313
14-let f = "__"
14+let f = b
1515
16-let g = c
16+let g = toBigInt(0)
1717
18-let h = toBigInt(0)
18+let h = 1
1919
20-let i = 1
20+let i = 2
2121
22-let j = 2
22+let j = 3
2323
24-let k = 3
24+let k = 4
2525
26-let l = 4
26+let l = 5
2727
28-let m = 5
28+let m = 6
2929
30-let n = 6
30+let n = 7
3131
32-let o = 7
32+let o = 8
3333
34-let p = 8
34+let p = 9
3535
36-let q = 9
36+let q = 10
3737
38-let r = 10
39-
40-func s (t) = valueOrErrorMessage(getString(t), (("mandatory this." + t) + " is not defined"))
38+func r (s) = valueOrErrorMessage(getString(s), (("mandatory this." + s) + " is not defined"))
4139
4240
43-func u (v,t) = valueOrErrorMessage(getString(v, t), (((("mandatory " + toString(v)) + ".") + t) + " is not defined"))
41+func t (u,s) = valueOrErrorMessage(getString(u, s), (((("mandatory " + toString(u)) + ".") + s) + " is not defined"))
4442
4543
46-func w (v,t) = valueOrElse(getInteger(v, t), 0)
44+func v (u,s) = valueOrElse(getInteger(u, s), 0)
4745
4846
49-func x (v,t) = valueOrErrorMessage(getInteger(v, t), (("mandatory this." + t) + " is not defined"))
47+func w (u,s) = valueOrErrorMessage(getInteger(u, s), (("mandatory this." + s) + " is not defined"))
5048
5149
52-func y (z) = {
53- let A = z
54- if ($isInstanceOf(A, "List[Any]"))
50+func x (y) = {
51+ let z = y
52+ if ($isInstanceOf(z, "List[Any]"))
5553 then {
56- let B = A
57- B
54+ let A = z
55+ A
5856 }
5957 else throw("fail to cast into List[Any]")
6058 }
6159
6260
63-func C (z) = {
64- let A = z
65- if ($isInstanceOf(A, "Int"))
61+func B (y) = {
62+ let z = y
63+ if ($isInstanceOf(z, "Int"))
6664 then {
67- let D = A
68- D
65+ let C = z
66+ C
6967 }
7068 else throw("fail to cast into Int")
7169 }
7270
7371
74-func E (z) = {
75- let A = z
76- if ($isInstanceOf(A, "String"))
72+func D (y) = {
73+ let z = y
74+ if ($isInstanceOf(z, "String"))
7775 then {
78- let F = A
79- F
76+ let E = z
77+ E
8078 }
8179 else throw("fail to cast into String")
8280 }
8381
8482
85-func G () = "%s%s__config__factoryAddress"
83+func F () = "%s%s__config__factoryAddress"
8684
8785
88-func H () = "%s__managerPublicKey"
86+func G () = "%s__managerPublicKey"
8987
9088
91-func I () = "%s__pendingManagerPublicKey"
89+func H () = "%s__pendingManagerPublicKey"
9290
9391
94-let J = 1
92+let I = 1
9593
96-let K = 2
94+let J = 2
9795
98-let L = 3
96+let K = 3
9997
100-let M = 4
98+let L = 4
10199
102-let N = 5
100+let M = 5
103101
104-let O = 6
102+let N = 6
105103
106-let P = 7
104+let O = 7
107105
108-let Q = 8
106+let P = 8
109107
110-func R () = "%s__factoryConfig"
108+func Q () = "%s__factoryConfig"
111109
112110
113-func S (T) = makeString(["%s%s%s", T, "mappings__lpAsset2PoolContract"], f)
111+func R (S) = makeString(["%s%s%s", S, "mappings__lpAsset2PoolContract"], e)
114112
115113
116-func U () = "%s__lpTokensList"
114+func T () = "%s__lpTokensList"
117115
118116
119-func V (T) = makeString(["%s%s%s", T, "mappings__lpAsset2PoolContract"], f)
117+func U (S) = makeString(["%s%s%s", S, "mappings__lpAsset2PoolContract"], e)
120118
121119
122-func W (X) = makeString(["%s%s", "poolWeight", X], f)
120+func V (W) = makeString(["%s%s", "poolWeight", W], e)
123121
124122
125-func Y () = addressFromStringValue(s(G()))
123+func X () = addressFromStringValue(r(F()))
126124
127125
128-func Z () = split(valueOrElse(getString(Y(), U()), ""), f)
126+func Y () = split(valueOrElse(getString(X(), T()), ""), e)
129127
130128
131-func aa (ab) = split(u(ab, R()), f)
129+func Z (aa) = split(t(aa, Q()), e)
132130
133131
134-func ac (ad) = addressFromStringValue(ad[K])
132+func ab (ac) = addressFromStringValue(ac[J])
135133
136134
137-func ae (ad) = addressFromStringValue(ad[N])
135+func ad (ac) = addressFromStringValue(ac[M])
138136
139137
140-func af (ad) = addressFromStringValue(ad[J])
138+func ae (ac) = addressFromStringValue(ac[I])
141139
142140
143-func ag (ad) = addressFromStringValue(ad[Q])
141+func af (ac) = addressFromStringValue(ac[P])
144142
145143
146-func ah () = "%s__config"
144+func ag () = "%s__config"
147145
148146
149-func ai () = "%s%s__stats__activeTotalLocked"
147+func ah () = "%s%s__stats__activeTotalLocked"
150148
151149
152-func aj () = "%s%s__stats__locksDurationSumInBlocks"
150+func ai () = "%s%s__stats__locksDurationSumInBlocks"
153151
154152
155-func ak () = "%s%s__stats__locksCount"
153+func aj () = "%s%s__stats__locksCount"
156154
157155
158-func al () = "%s%s__stats__activeUsersCount"
156+func ak () = "%s%s__stats__activeUsersCount"
159157
160158
161-func am (an) = makeString(["%s%s%s__mapping__user2num", an], f)
159+func al (am) = makeString(["%s%s%s__mapping__user2num", am], e)
162160
163161
164-func ao (ap) = makeString(["%s%s%s__mapping__num2user", ap], f)
162+func an (ao) = makeString(["%s%s%s__mapping__num2user", ao], e)
165163
166164
167-func aq (ar) = makeString(["%s%d%s__paramByUserNum", ar, "amount"], f)
165+func ap (aq) = makeString(["%s%d%s__paramByUserNum", aq, "amount"], e)
168166
169167
170-func as (ar) = makeString(["%s%d%s__paramByUserNum", ar, "start"], f)
168+func ar (aq) = makeString(["%s%d%s__paramByUserNum", aq, "start"], e)
171169
172170
173-func at (ar) = makeString(["%s%d%s__paramByUserNum", ar, "duration"], f)
171+func as (aq) = makeString(["%s%d%s__paramByUserNum", aq, "duration"], e)
174172
175173
176-func au (ar) = makeString(["%s%d%s__paramByUserNum", ar, "k"], f)
174+func at (aq) = makeString(["%s%d%s__paramByUserNum", aq, "k"], e)
177175
178176
179-func av (ar) = makeString(["%s%d%s__paramByUserNum", ar, "b"], f)
177+func au (aq) = makeString(["%s%d%s__paramByUserNum", aq, "b"], e)
180178
181179
182-func aw (ar,ax) = makeString(["%s%d%s%d__paramByPeriod", ar, "k", ax], f)
180+func av (aq,aw) = makeString(["%s%d%s%d__paramByPeriod", aq, "k", aw], e)
183181
184182
185-func ay (ar,ax) = makeString(["%s%d%s%d__paramByPeriod", ar, "b", ax], f)
183+func ax (aq,aw) = makeString(["%s%d%s%d__paramByPeriod", aq, "b", aw], e)
186184
187185
188-func az (ar) = makeString(["%s%d__userBoostEmissionLastInt", ar], f)
186+func ay (aq) = makeString(["%s%d__userBoostEmissionLastInt", aq], e)
189187
190188
191-func aA (ar) = makeString(["%s%d__maxBoostInt", ar], f)
189+func az (aq) = makeString(["%s%d__maxBoostInt", aq], e)
192190
193191
194-func aB () = "%s%s__maxBoostInt__total"
192+func aA () = "%s%s__maxBoostInt__total"
195193
196194
197-func aC (ar) = makeString(["%s%d__userBoostAvaliableToClaimTotal", ar], f)
195+func aB (aq) = makeString(["%s%d__userBoostAvaliableToClaimTotal", aq], e)
198196
199197
200-func aD (ar) = makeString(["%s%d__userBoostClaimed", ar], f)
198+func aC (aq) = makeString(["%s%d__userBoostClaimed", aq], e)
201199
202200
203-func aE () = "%s%s__gwxCached__total"
201+func aD () = "%s%s__gwxCached__total"
204202
205203
206-func aF (aG,aH) = makeString(["%s%s%s__staked", aG, aH], f)
204+func aE (aF,aG) = makeString(["%s%s%s__staked", aF, aG], e)
207205
208206
209-func aI (aH) = ("%s%s%s__staked__total__" + aH)
207+func aH (aG) = ("%s%s%s__staked__total__" + aG)
210208
211209
212-func aJ (aH,aG) = makeString(["%s%s%s__claimed", aG, aH], f)
210+func aI (aG,aF) = makeString(["%s%s%s__claimed", aF, aG], e)
213211
214212
215-func aK (aH,aG) = makeString(["%s%s%s__claimedMinReward", aG, aH], f)
213+func aJ (aG,aF) = makeString(["%s%s%s__claimedMinReward", aF, aG], e)
216214
217215
218-func aL (aH,aG) = makeString(["%s%s%s__claimedBoostReward", aG, aH], f)
216+func aK (aG,aF) = makeString(["%s%s%s__claimedBoostReward", aF, aG], e)
219217
220218
221-func aM (aN,t) = valueOrElse(getInteger(aN, t), 0)
219+func aL (aM,s) = valueOrElse(getInteger(aM, s), 0)
222220
223221
224-func aO () = "%s%s__ratePerBlock__current"
222+func aN () = "%s%s__ratePerBlock__current"
225223
226224
227-func aP () = "%s%s__ratePerBlockMax__current"
225+func aO () = "%s%s__ratePerBlockMax__current"
228226
229227
230-func aQ () = "%s%s__emission__startBlock"
228+func aP () = "%s%s__emission__startBlock"
231229
232230
233-func aR () = "%s%s__emission__duration"
231+func aQ () = "%s%s__emission__duration"
234232
235233
236-func aS () = "%s%s__emission__endBlock"
234+func aR () = "%s%s__emission__endBlock"
237235
238236
239-func aT () = "%s__addonAddr"
237+func aS () = "%s__addonAddr"
240238
241239
242-func aU (aV) = {
243- let aW = fraction(10, c, 10000)
244- let aX = "%s__fee"
245- valueOrElse(getInteger(aV, aX), aW)
240+func aT (aU) = {
241+ let aV = fraction(10, b, 10000)
242+ let aW = "%s__fee"
243+ valueOrElse(getInteger(aU, aW), aV)
246244 }
247245
248246
249-let aY = Y()
247+let aX = X()
250248
251-let aZ = aa(aY)
249+let aY = Z(aX)
252250
253-let ba = ae(aZ)
251+let aZ = ad(aY)
254252
255-let aN = af(aZ)
253+let aM = ae(aY)
256254
257-let bb = ag(aZ)
255+let ba = af(aY)
258256
259-let bc = ac(aZ)
257+let bb = ab(aY)
260258
261-func bd (be) = {
262- let bf = u(aY, V(be))
263- let bg = c
264- let bh = getIntegerValue(aY, W(bf))
265- let bi = x(ba, aO())
266- let bj = x(ba, aP())
267- let bk = 3
268- let bl = (fraction(bi, bh, bg) / bk)
269- let bm = fraction(bj, bh, bg)
270- let bn = (bk * c)
271- let bo = w(aN, aI(be))
272-[bl, bn, bo]
259+func bc (bd) = {
260+ let be = t(aX, U(bd))
261+ let bf = b
262+ let bg = getIntegerValue(aX, V(be))
263+ let bh = w(aZ, aN())
264+ let bi = w(aZ, aO())
265+ let bj = 3
266+ let bk = (fraction(bh, bg, bf) / bj)
267+ let bl = fraction(bi, bg, bf)
268+ let bm = (bj * b)
269+ let bn = v(aM, aH(bd))
270+[bk, bm, bn]
273271 }
274272
275273
276-func bp (bq,br,bs) = {
277- let bt = fraction(br, c, bs)
278- let bu = fraction(bq, bt, c)
279-[bu]
274+func bo (bp,bq,br) = {
275+ let bs = fraction(bq, b, br)
276+ let bt = fraction(bp, bs, b)
277+[bt]
280278 }
281279
282280
283-func bv (bw,t,bx) = if ((bx == "string"))
284- then getStringValue(bw, t)
285- else if ((bx == "integer"))
286- then toString(getIntegerValue(bw, t))
287- else if ((bx == "boolean"))
288- then toString(getBooleanValue(bw, t))
281+func bu (bv,s,bw) = if ((bw == "string"))
282+ then getStringValue(bv, s)
283+ else if ((bw == "integer"))
284+ then toString(getIntegerValue(bv, s))
285+ else if ((bw == "boolean"))
286+ then toString(getBooleanValue(bv, s))
289287 else throw("unknown type. expected string/integer/boolean")
290288
291289
292-func by () = {
293- let A = getString(H())
294- if ($isInstanceOf(A, "String"))
290+func bx () = {
291+ let z = getString(G())
292+ if ($isInstanceOf(z, "String"))
295293 then {
296- let bz = A
297- fromBase58String(bz)
294+ let by = z
295+ fromBase58String(by)
298296 }
299- else if ($isInstanceOf(A, "Unit"))
297+ else if ($isInstanceOf(z, "Unit"))
300298 then unit
301299 else throw("Match error")
302300 }
303301
304302
305-func bA () = {
306- let A = getString(I())
307- if ($isInstanceOf(A, "String"))
303+func bz () = {
304+ let z = getString(H())
305+ if ($isInstanceOf(z, "String"))
308306 then {
309- let bz = A
310- fromBase58String(bz)
307+ let by = z
308+ fromBase58String(by)
311309 }
312- else if ($isInstanceOf(A, "Unit"))
310+ else if ($isInstanceOf(z, "Unit"))
313311 then unit
314312 else throw("Match error")
315313 }
316314
317315
318-func bB (bC) = {
319- let bD = throw("Permission denied")
320- let A = by()
321- if ($isInstanceOf(A, "ByteVector"))
316+func bA (bB) = {
317+ let bC = throw("Permission denied")
318+ let z = bx()
319+ if ($isInstanceOf(z, "ByteVector"))
322320 then {
323- let bE = A
324- if ((bC.callerPublicKey == bE))
321+ let bD = z
322+ if ((bB.callerPublicKey == bD))
325323 then true
326- else bD
324+ else bC
327325 }
328- else if ($isInstanceOf(A, "Unit"))
329- then if ((bC.caller == this))
326+ else if ($isInstanceOf(z, "Unit"))
327+ then if ((bB.caller == this))
330328 then true
331- else bD
329+ else bC
332330 else throw("Match error")
333331 }
334332
335333
336-@Callable(bC)
337-func constructor (bF) = {
338- let bG = bB(bC)
339- if ((bG == bG))
340- then [StringEntry(G(), bF)]
334+@Callable(bB)
335+func constructor (bE) = {
336+ let bF = bA(bB)
337+ if ((bF == bF))
338+ then [StringEntry(F(), bE)]
341339 else throw("Strict value is not equal to itself.")
342340 }
343341
344342
345343
346-@Callable(bC)
347-func currentRewardRateREADONLY (be) = {
348- let bH = bd(be)
349- let bi = bH[0]
350- let bn = bH[1]
351- let bo = bH[2]
352- $Tuple2(nil, makeString(["%d%d%d", toString(bi), toString(bn), toString(bo)], f))
344+@Callable(bB)
345+func currentRewardRateREADONLY (bd) = {
346+ let bG = bc(bd)
347+ let bh = bG[0]
348+ let bm = bG[1]
349+ let bn = bG[2]
350+ $Tuple2(nil, makeString(["%d%d%d", toString(bh), toString(bm), toString(bn)], e))
353351 }
354352
355353
356354
357-@Callable(bC)
358-func currentUserRewardRateREADONLY (be,an) = {
359- let bH = bd(be)
360- let bi = bH[0]
361- let bn = bH[1]
362- let bo = bH[2]
363- let bI = w(aN, aF(an, be))
364- let bJ = split(E(invoke(aN, "claimWxREADONLY", [be, an], nil)), f)
365- let bK = valueOrErrorMessage(parseInt(bJ[5]), "couldn't parse minRewardPart")
366- let bL = valueOrErrorMessage(parseInt(bJ[6]), "couldn't parse boostRewardPart")
367- let bM = bJ[7]
368- let bN = if ((bL == 0))
369- then (1 * c)
370- else fraction((bK + bL), c, bK)
371- $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bi), toString(bn), toString(bo), toString(bI), toString(bN), bM], f))
355+@Callable(bB)
356+func currentUserRewardRateREADONLY (bd,am) = {
357+ let bG = bc(bd)
358+ let bh = bG[0]
359+ let bm = bG[1]
360+ let bn = bG[2]
361+ let bH = v(aM, aE(am, bd))
362+ let bI = split(D(invoke(aM, "claimWxREADONLY", [bd, am], nil)), e)
363+ let bJ = valueOrErrorMessage(parseInt(bI[5]), "couldn't parse minRewardPart")
364+ let bK = valueOrErrorMessage(parseInt(bI[6]), "couldn't parse boostRewardPart")
365+ let bL = bI[7]
366+ let bM = if ((bK == 0))
367+ then (1 * b)
368+ else fraction((bJ + bK), b, bJ)
369+ $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bh), toString(bm), toString(bn), toString(bH), toString(bM), bL], e))
372370 }
373371
374372
375373
376-@Callable(bC)
377-func calcBoostBulkInternalREADONLY (bO,bP,bQ,bR,bS,bT,bU) = if ((bO == size(bP)))
378- then $Tuple2(nil, bU)
374+@Callable(bB)
375+func calcBoostBulkInternalREADONLY (bN,bO,bP,bQ,bR,bS,bT) = if ((bN == size(bO)))
376+ then $Tuple2(nil, bT)
379377 else {
380- let bV = bP[bO]
381- let bW = bQ[bO]
382- let bX = bR[bO]
383- let bY = bS[bO]
384- let bZ = {
385- let ca = invoke(this, "calcBoostREADONLY", [bV, bW, bX, bY, bT], nil)
386- if ($isInstanceOf(ca, "String"))
387- then ca
388- else throw(($getType(ca) + " couldn't be cast to String"))
378+ let bU = bO[bN]
379+ let bV = bP[bN]
380+ let bW = bQ[bN]
381+ let bX = bR[bN]
382+ let bY = {
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"))
389387 }
390- let cb = (bU :+ bZ)
391- let cc = {
392- let ca = invoke(this, "calcBoostBulkInternalREADONLY", [(bO + 1), bP, bQ, bR, bS, bT, cb], nil)
393- if ($isInstanceOf(ca, "List[Any]"))
394- then ca
395- else throw(($getType(ca) + " 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]"))
396394 }
397- if ((cc == cc))
398- then $Tuple2(nil, cc)
395+ if ((cb == cb))
396+ then $Tuple2(nil, cb)
399397 else throw("Strict value is not equal to itself.")
400398 }
401399
402400
403401
404-@Callable(bC)
405-func calcBoostBulkREADONLY (bV,bW,bX,bY,bT) = {
406- let cb = invoke(this, "calcBoostBulkInternalREADONLY", [0, bV, bW, bX, bY, bT, nil], nil)
407- $Tuple2(nil, cb)
402+@Callable(bB)
403+func calcBoostBulkREADONLY (bU,bV,bW,bX,bS) = {
404+ let ca = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
405+ $Tuple2(nil, ca)
408406 }
409407
410408
411409
412-@Callable(bC)
413-func calcBoostREADONLY (bV,bW,bX,bY,bT) = {
414- let cd = bb
415- let ce = "empty"
416- let cf = parseIntValue(split(u(bc, ah()), f)[4])
417- let aH = if ((bY == ""))
418- then ce
419- else bY
420- let aG = if ((bT == ""))
421- then ce
422- else bT
423- let cg = valueOrElse(getString(bc, am(bT)), ce)
424- let ch = valueOrElse(getInteger(bc, aq(cg)), 0)
425- let ci = valueOrElse(getInteger(bc, as(cg)), height)
426- let br = valueOrElse(getInteger(bc, at(cg)), 0)
427- let cj = (ci + br)
428- let ck = max([(cj - height), 0])
429- let cl = (ch + bV)
430- let cm = min([(ck + bW), cf])
431- let cn = C(y(invoke(bc, "gwxUserInfoREADONLY", [aG], nil))[0])
432- let co = bp(cl, cm, cf)[0]
433- let cp = y(invoke(cd, "calcGwxParamsREADONLY", [co, height, cm], nil))
434- let cq = (co - cn)
435- let cr = C(cp[0])
436- let cs = C(cp[1])
437- let ax = toString(C(cp[2]))
438- let ct = aB()
439- let cu = aE()
440- let cv = ((co * cm) / 2)
441- let cw = w(bc, ct)
442- let cx = valueOrElse(getInteger(bc, cu), 0)
443- let cy = 1000
444- let cz = (x(ba, aO()) * cy)
445- let cA = aF(aG, aH)
446- let cB = aI(aH)
447- let cC = aM(aN, cA)
448- let cD = aM(aN, cB)
449- let cE = (cC + bX)
450- let cF = (cD + bX)
451- let bh = if ((aH != ce))
410+@Callable(bB)
411+func calcBoostREADONLY (bU,bV,bW,bX,bS) = {
412+ let cc = ba
413+ let cd = "empty"
414+ let ce = parseIntValue(split(t(bb, ag()), e)[4])
415+ let aG = if ((bX == ""))
416+ then cd
417+ else bX
418+ let aF = if ((bS == ""))
419+ then cd
420+ else bS
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 = aD()
438+ let cu = ((cn * cl) / 2)
439+ let cv = v(bb, cs)
440+ let cw = valueOrElse(getInteger(bb, ct), 0)
441+ let cx = 1000
442+ let cy = (w(aZ, aN()) * cx)
443+ let cz = aE(aF, aG)
444+ let cA = aH(aG)
445+ let cB = aL(aM, cz)
446+ let cC = aL(aM, cA)
447+ let cD = (cB + bW)
448+ let cE = (cC + bW)
449+ let bg = if ((aG != cd))
452450 then {
453- let bf = valueOrErrorMessage(getString(aY, S(aH)), ("unsupported lp asset " + aH))
454- getIntegerValue(aY, W(bf))
451+ let be = valueOrErrorMessage(getString(aX, R(aG)), ("unsupported lp asset " + aG))
452+ getIntegerValue(aX, V(be))
455453 }
456454 else 0
457- let cG = fraction(cz, bh, (g * 3))
458- let cH = if ((cF != 0))
459- then fraction(cG, c, cF)
455+ let cF = fraction(cy, bg, (f * 3))
456+ let cG = if ((cE != 0))
457+ then fraction(cF, b, cE)
460458 else 0
461- let cI = fraction(cH, cE, c)
462- let cJ = (cG * 2)
463- let cK = fraction(co, cJ, (cx + cq))
464- let cL = min([cK, (cI * 2)])
465- let cM = if ((cI == 0))
466- then (1 * c)
467- else fraction((cL + cI), c, cI)
468- $Tuple2(nil, makeString(["%d%d%s", toString(co), toString(cM), "d"], f))
459+ let cH = fraction(cG, cD, b)
460+ let cI = (cF * 2)
461+ let cJ = fraction(cn, cI, (cw + cp))
462+ let cK = min([cJ, (cH * 2)])
463+ let cL = if ((cH == 0))
464+ then (1 * b)
465+ else fraction((cK + cH), b, cH)
466+ $Tuple2(nil, makeString(["%d%d%s", toString(cn), toString(cL), "d"], e))
469467 }
470468
471469
472470
473-@Callable(bC)
471+@Callable(bB)
474472 func wxEmissionStatsREADONLY () = {
475- let cN = toString(c)
476- let cO = "1"
477- let bi = x(ba, aO())
478- let cP = x(ba, aQ())
479- let cQ = if ((cP > height))
473+ let cM = toString(b)
474+ let cN = "1"
475+ let bh = w(aZ, aN())
476+ let cO = w(aZ, aP())
477+ let cP = if ((cO > height))
480478 then 0
481- else (height - cP)
482- let cR = (1440 * 365)
483- let cS = (201000000 * c)
484- let cT = if ((cQ > cR))
485- then cS
486- else fraction(cS, cQ, cR)
487- let cU = ((bi * cQ) + cT)
488- let cV = w(bc, ai())
489- let cW = w(bc, aj())
490- let cX = w(bc, ak())
491- $Tuple2(nil, makeString(["%d%d%d%d", toString(cU), toString(cV), toString(cW), toString(cX)], f))
479+ else (height - cO)
480+ let cQ = (1440 * 365)
481+ let cR = (201000000 * b)
482+ let cS = if ((cP > cQ))
483+ then cR
484+ else fraction(cR, cP, cQ)
485+ let cT = ((bh * cP) + cS)
486+ let cU = v(bb, ah())
487+ let cV = v(bb, ai())
488+ let cW = v(bb, aj())
489+ $Tuple2(nil, makeString(["%d%d%d%d", toString(cT), toString(cU), toString(cV), toString(cW)], e))
492490 }
493491
494492
495493
496-@Callable(bC)
497-func poolStatsREADONLY (cY) = {
498- let aV = addressFromStringValue(u(aY, V(cY)))
499- let cZ = y(invoke(aV, "getPoolConfigWrapperREADONLY", nil, nil))
500- let be = fromBase58String(E(cZ[k]))
501- let da = E(cZ[l])
502- let db = E(cZ[m])
503- let dc = E(cZ[p])
504- let dd = E(cZ[q])
505- let de = parseIntValue(E(cZ[n]))
506- let df = parseIntValue(E(cZ[o]))
507- let dg = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
508- let dh = C(invoke(aV, "getAccBalanceWrapperREADONLY", [da], nil))
509- let di = C(invoke(aV, "getAccBalanceWrapperREADONLY", [db], nil))
510- let dj = if ((dg == 0))
511- then [toString(h), toString(h), toString(h)]
512- else y(invoke(aV, "calcPricesWrapperREADONLY", [dh, di, dg], nil))
513- let dk = 0
514- let dl = C(invoke(aV, "fromX18WrapperREADONLY", [dj[1], c], nil))
515- let dm = C(invoke(aV, "fromX18WrapperREADONLY", [dj[2], c], nil))
516- let bh = getIntegerValue(aY, W(toString(aV)))
517- let dn = aU(aV)
518- let do = {
519- let ca = invoke(aY, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aV)], nil)
520- if ($isInstanceOf(ca, "Boolean"))
521- then ca
522- else throw(($getType(ca) + " couldn't be cast to Boolean"))
494+@Callable(bB)
495+func poolStatsREADONLY (cX) = {
496+ let aU = addressFromStringValue(t(aX, U(cX)))
497+ let cY = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
498+ let bd = fromBase58String(D(cY[j]))
499+ let cZ = D(cY[k])
500+ let da = D(cY[l])
501+ let db = D(cY[o])
502+ let dc = D(cY[p])
503+ let dd = parseIntValue(D(cY[m]))
504+ let de = parseIntValue(D(cY[n]))
505+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
506+ let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cZ], nil))
507+ let dh = B(invoke(aU, "getAccBalanceWrapperREADONLY", [da], nil))
508+ let di = if ((df == 0))
509+ then [toString(g), toString(g), toString(g)]
510+ else x(invoke(aU, "calcPricesWrapperREADONLY", [dg, dh, df], nil))
511+ let dj = 0
512+ let dk = B(invoke(aU, "fromX18WrapperREADONLY", [di[1], b], nil))
513+ let dl = B(invoke(aU, "fromX18WrapperREADONLY", [di[2], b], nil))
514+ let bg = getIntegerValue(aX, V(toString(aU)))
515+ let dm = aT(aU)
516+ let dn = {
517+ let bZ = invoke(aX, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aU)], nil)
518+ if ($isInstanceOf(bZ, "Boolean"))
519+ then bZ
520+ else throw(($getType(bZ) + " couldn't be cast to Boolean"))
523521 }
524- let dp = !(do)
525- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s", toString(dh), toString(di), toString(dg), toString(dk), toString(dl), toString(dm), toString(bh), toString(dn), toString(dp)], f))
522+ let do = !(dn)
523+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s", toString(dg), toString(dh), toString(df), toString(dj), toString(dk), toString(dl), toString(bg), toString(dm), toString(do)], e))
526524 }
527525
528526
529527
530-@Callable(bC)
531-func poolEvaluatePutByAmountAssetREADONLY (cY,dq) = {
532- let aV = addressFromStringValue(u(aY, V(cY)))
533- let cZ = y(invoke(aV, "getPoolConfigWrapperREADONLY", nil, nil))
534- let be = fromBase58String(E(cZ[k]))
535- let dr = E(cZ[l])
536- let ds = fromBase58String(dr)
537- let dt = E(cZ[m])
538- let du = fromBase58String(dt)
539- let de = parseIntValue(E(cZ[n]))
540- let df = parseIntValue(E(cZ[o]))
541- let dv = E(cZ[j])
542- let dg = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
543- let dh = C(invoke(aV, "getAccBalanceWrapperREADONLY", [dr], nil))
544- let di = C(invoke(aV, "getAccBalanceWrapperREADONLY", [dt], nil))
545- let dw = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [dh, de], nil)))
546- let dx = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [di, df], nil)))
547- let dy = if ((dg == 0))
548- then h
549- else parseBigIntValue(E(invoke(aV, "calcPriceBigIntWrapperREADONLY", [toString(dx), toString(dw)], nil)))
550- let dk = C(invoke(aV, "fromX18WrapperREADONLY", [toString(dy), c], nil))
551- let dz = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [dq, de], nil)))
552- let dA = fraction(dz, dy, e)
553- let dB = C(invoke(aV, "fromX18WrapperREADONLY", [toString(dA), df], nil))
554- let cb = invoke(aV, "estimatePutOperationWrapperREADONLY", ["", 500000, dq, ds, dB, du, "", true, false], nil)
555- let dC = {
556- let A = cb
557- if (if (if ($isInstanceOf(A._1, "Int"))
558- then if ($isInstanceOf(A._3, "Int"))
559- then if ($isInstanceOf(A._4, "Int"))
560- then if ($isInstanceOf(A._5, "Int"))
561- then $isInstanceOf(A._6, "Int")
528+@Callable(bB)
529+func poolEvaluatePutByAmountAssetREADONLY (cX,dp) = {
530+ let aU = addressFromStringValue(t(aX, U(cX)))
531+ let cY = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
532+ let bd = fromBase58String(D(cY[j]))
533+ let dq = D(cY[k])
534+ let dr = fromBase58String(dq)
535+ let ds = D(cY[l])
536+ let dt = fromBase58String(ds)
537+ let dd = parseIntValue(D(cY[m]))
538+ let de = parseIntValue(D(cY[n]))
539+ let du = D(cY[i])
540+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
541+ let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dq], nil))
542+ let dh = B(invoke(aU, "getAccBalanceWrapperREADONLY", [ds], nil))
543+ let dv = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dg, dd], nil)))
544+ let dw = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dh, de], nil)))
545+ let dx = if ((df == 0))
546+ then g
547+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dw), toString(dv)], nil)))
548+ let dj = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dx), b], nil))
549+ let dy = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dp, dd], nil)))
550+ let dz = fraction(dy, dx, d)
551+ let dA = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dz), de], nil))
552+ let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dp, dr, dA, dt, "", true, false], nil)
553+ let dB = {
554+ let z = ca
555+ if (if (if ($isInstanceOf(z._1, "Int"))
556+ then if ($isInstanceOf(z._3, "Int"))
557+ then if ($isInstanceOf(z._4, "Int"))
558+ then if ($isInstanceOf(z._5, "Int"))
559+ then $isInstanceOf(z._6, "Int")
562560 else false
563561 else false
564562 else false
565563 else false)
566- then (size(A) == 13)
564+ then (size(z) == 13)
567565 else false)
568566 then {
569- let dD = A._1
570- let dE = A._3
571- let dF = A._4
572- let dG = A._5
573- let dH = A._6
574- $Tuple5(dD, dE, dF, dG, dH)
567+ let dC = z._1
568+ let dD = z._3
569+ let dE = z._4
570+ let dF = z._5
571+ let dG = z._6
572+ $Tuple5(dC, dD, dE, dF, dG)
575573 }
576574 else throw("Couldn't cast types")
577575 }
578- let dD = dC._1
579- let dE = dC._2
580- let dF = dC._3
581- let dG = dC._4
582- let dH = dC._5
583- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dD), toString(dk), toString(dF), toString(dG), toString(dH), dv, toString(dq), toString(dB)], f))
576+ let dC = dB._1
577+ let dD = dB._2
578+ let dE = dB._3
579+ let dF = dB._4
580+ let dG = dB._5
581+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dC), toString(dj), toString(dE), toString(dF), toString(dG), du, toString(dp), toString(dA)], e))
584582 }
585583
586584
587585
588-@Callable(bC)
589-func poolEvaluatePutByPriceAssetREADONLY (cY,dB) = {
590- let aV = addressFromStringValue(u(aY, V(cY)))
591- let cZ = y(invoke(aV, "getPoolConfigWrapperREADONLY", nil, nil))
592- let be = fromBase58String(E(cZ[k]))
593- let dr = E(cZ[l])
594- let ds = fromBase58String(dr)
595- let dt = E(cZ[m])
596- let du = fromBase58String(dt)
597- let de = parseIntValue(E(cZ[n]))
598- let df = parseIntValue(E(cZ[o]))
599- let dv = E(cZ[j])
600- let dg = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
601- let dI = C(invoke(aV, "getAccBalanceWrapperREADONLY", [dr], nil))
602- let dJ = C(invoke(aV, "getAccBalanceWrapperREADONLY", [dt], nil))
603- let dK = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [dI, de], nil)))
604- let dL = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [dJ, df], nil)))
605- let dy = if ((dg == 0))
606- then h
607- else parseBigIntValue(E(invoke(aV, "calcPriceBigIntWrapperREADONLY", [toString(dL), toString(dK)], nil)))
608- let dk = C(invoke(aV, "fromX18WrapperREADONLY", [toString(dy), c], nil))
609- let dA = parseBigIntValue(E(invoke(aV, "toX18WrapperREADONLY", [dB, df], nil)))
610- let dz = fraction(dA, e, dy)
611- let dq = C(invoke(aV, "fromX18WrapperREADONLY", [toString(dz), de], nil))
612- let cb = invoke(aV, "estimatePutOperationWrapperREADONLY", ["", 500000, dq, ds, dB, du, "", true, false], nil)
613- let dM = {
614- let A = cb
615- if (if (if ($isInstanceOf(A._1, "Int"))
616- then if ($isInstanceOf(A._3, "Int"))
617- then if ($isInstanceOf(A._4, "Int"))
618- then if ($isInstanceOf(A._5, "Int"))
619- then $isInstanceOf(A._6, "Int")
586+@Callable(bB)
587+func poolEvaluatePutByPriceAssetREADONLY (cX,dA) = {
588+ let aU = addressFromStringValue(t(aX, U(cX)))
589+ let cY = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
590+ let bd = fromBase58String(D(cY[j]))
591+ let dq = D(cY[k])
592+ let dr = fromBase58String(dq)
593+ let ds = D(cY[l])
594+ let dt = fromBase58String(ds)
595+ let dd = parseIntValue(D(cY[m]))
596+ let de = parseIntValue(D(cY[n]))
597+ let du = D(cY[i])
598+ let df = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
599+ let dH = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dq], nil))
600+ let dI = B(invoke(aU, "getAccBalanceWrapperREADONLY", [ds], nil))
601+ let dJ = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dH, dd], nil)))
602+ let dK = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dI, de], nil)))
603+ let dx = if ((df == 0))
604+ then g
605+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dK), toString(dJ)], nil)))
606+ let dj = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dx), b], nil))
607+ let dz = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dA, de], nil)))
608+ let dy = fraction(dz, d, dx)
609+ let dp = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dy), dd], nil))
610+ let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dp, dr, dA, dt, "", true, false], nil)
611+ let dL = {
612+ let z = ca
613+ if (if (if ($isInstanceOf(z._1, "Int"))
614+ then if ($isInstanceOf(z._3, "Int"))
615+ then if ($isInstanceOf(z._4, "Int"))
616+ then if ($isInstanceOf(z._5, "Int"))
617+ then $isInstanceOf(z._6, "Int")
620618 else false
621619 else false
622620 else false
623621 else false)
624- then (size(A) == 13)
622+ then (size(z) == 13)
625623 else false)
626624 then {
627- let dD = A._1
628- let dE = A._3
629- let dF = A._4
630- let dG = A._5
631- let dH = A._6
632- $Tuple5(dD, dE, dF, dG, dH)
625+ let dC = z._1
626+ let dD = z._3
627+ let dE = z._4
628+ let dF = z._5
629+ let dG = z._6
630+ $Tuple5(dC, dD, dE, dF, dG)
633631 }
634632 else throw("Couldn't cast types")
635633 }
636- let dD = dM._1
637- let dE = dM._2
638- let dF = dM._3
639- let dG = dM._4
640- let dH = dM._5
641- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dD), toString(dk), toString(dF), toString(dG), toString(dH), dv, toString(dq), toString(dB)], f))
634+ let dC = dL._1
635+ let dD = dL._2
636+ let dE = dL._3
637+ let dF = dL._4
638+ let dG = dL._5
639+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dC), toString(dj), toString(dE), toString(dF), toString(dG), du, toString(dp), toString(dA)], e))
642640 }
643641
644642
645643
646-@Callable(bC)
647-func poolEvaluateGetREADONLY (dN,dO) = {
648- let aV = addressFromStringValue(u(aY, V(dN)))
649- let cb = invoke(aV, "estimateGetOperationWrapperREADONLY", ["", dN, dO, toString(aV)], nil)
650- let dP = {
651- let A = cb
652- if (if (if ($isInstanceOf(A._1, "Int"))
653- then if ($isInstanceOf(A._2, "Int"))
654- then if ($isInstanceOf(A._5, "Int"))
655- then if ($isInstanceOf(A._6, "Int"))
656- then if ($isInstanceOf(A._7, "Int"))
657- then if ($isInstanceOf(A._8, "String"))
658- then $isInstanceOf(A._9, "String")
644+@Callable(bB)
645+func poolEvaluateGetREADONLY (dM,dN) = {
646+ let aU = addressFromStringValue(t(aX, U(dM)))
647+ let ca = invoke(aU, "estimateGetOperationWrapperREADONLY", ["", dM, dN, toString(aU)], nil)
648+ let dO = {
649+ let z = ca
650+ if (if (if ($isInstanceOf(z._1, "Int"))
651+ then if ($isInstanceOf(z._2, "Int"))
652+ then if ($isInstanceOf(z._5, "Int"))
653+ then if ($isInstanceOf(z._6, "Int"))
654+ then if ($isInstanceOf(z._7, "Int"))
655+ then if ($isInstanceOf(z._8, "String"))
656+ then $isInstanceOf(z._9, "String")
659657 else false
660658 else false
661659 else false
662660 else false
663661 else false
664662 else false)
665- then (size(A) == 10)
663+ then (size(z) == 10)
666664 else false)
667665 then {
668- let dQ = A._1
669- let dR = A._2
670- let dF = A._5
671- let dG = A._6
672- let dH = A._7
673- let dk = A._8
674- let dv = A._9
675- $Tuple7(dQ, dR, dF, dG, dH, dk, dv)
666+ let dP = z._1
667+ let dQ = z._2
668+ let dE = z._5
669+ let dF = z._6
670+ let dG = z._7
671+ let dj = z._8
672+ let du = z._9
673+ $Tuple7(dP, dQ, dE, dF, dG, dj, du)
676674 }
677675 else throw("Couldn't cast types")
678676 }
679- let dQ = dP._1
680- let dR = dP._2
681- let dF = dP._3
682- let dG = dP._4
683- let dH = dP._5
684- let dk = dP._6
685- let dv = dP._7
686- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dQ), toString(dR), toString(dF), toString(dG), toString(dH), dk, dv], f))
677+ let dP = dO._1
678+ let dQ = dO._2
679+ let dE = dO._3
680+ let dF = dO._4
681+ let dG = dO._5
682+ let dj = dO._6
683+ let du = dO._7
684+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dP), toString(dQ), toString(dE), toString(dF), toString(dG), dj, du], e))
687685 }
688686
689687
690688
691-@Callable(bC)
692-func gwxUserInfoREADONLY (an) = {
693- let dS = y(invoke(bc, "gwxUserInfoREADONLY", [an], nil))
694- let dT = C(dS[0])
695- $Tuple2(nil, makeString(["%d", toString(dT)], f))
689+@Callable(bB)
690+func gwxUserInfoREADONLY (am) = {
691+ let dR = x(invoke(bb, "gwxUserInfoREADONLY", [am], nil))
692+ let dS = B(dR[0])
693+ $Tuple2(nil, makeString(["%d", toString(dS)], e))
696694 }
697695
698696
699697
700-@Callable(bC)
701-func unstakeAndGetOneTknV2 (aV,dU,dV,dW) = {
702- let cc = invoke(addressFromStringValue(aV), "unstakeAndGetOneTknV2", [dU, dV, dW], nil)
703- if ((cc == cc))
698+@Callable(bB)
699+func unstakeAndGetOneTknV2 (aU,dT,dU,dV) = {
700+ let cb = invoke(addressFromStringValue(aU), "unstakeAndGetOneTknV2", [dT, dU, dV], nil)
701+ if ((cb == cb))
704702 then $Tuple2(nil, unit)
705703 else throw("Strict value is not equal to itself.")
706704 }
707705
708706
709707
710-@Callable(bC)
711-func getKeysBulkInternal (bO,dX,bU) = if ((bO == size(dX)))
712- then $Tuple2(nil, bU)
708+@Callable(bB)
709+func getKeysBulkInternal (bN,dW,bT) = if ((bN == size(dW)))
710+ then $Tuple2(nil, bT)
713711 else {
714- let cr = split(dX[bO], "++")
715- let bw = addressFromStringValue(cr[0])
716- let t = cr[1]
717- let bx = cr[2]
718- let z = bv(bw, t, bx)
719- let cb = (bU :+ z)
720- let cc = invoke(this, "getKeysBulkInternal", [(bO + 1), dX, cb], nil)
721- if ((cc == cc))
722- then $Tuple2(nil, cc)
712+ let cq = split(dW[bN], "++")
713+ let bv = addressFromStringValue(cq[0])
714+ let s = cq[1]
715+ let bw = cq[2]
716+ let y = bu(bv, s, bw)
717+ let ca = (bT :+ y)
718+ let cb = invoke(this, "getKeysBulkInternal", [(bN + 1), dW, ca], nil)
719+ if ((cb == cb))
720+ then $Tuple2(nil, cb)
723721 else throw("Strict value is not equal to itself.")
724722 }
725723
726724
727725
728-@Callable(bC)
729-func getKeysBulk (dX) = {
730- let cb = invoke(this, "getKeysBulkInternal", [0, dX, nil], nil)
731- $Tuple2(nil, cb)
726+@Callable(bB)
727+func getKeysBulk (dW) = {
728+ let ca = invoke(this, "getKeysBulkInternal", [0, dW, nil], nil)
729+ $Tuple2(nil, ca)
732730 }
733731
734732
735733
736-@Callable(bC)
737-func setManager (dY) = {
738- let bG = bB(bC)
739- if ((bG == bG))
734+@Callable(bB)
735+func setManager (dX) = {
736+ let bF = bA(bB)
737+ if ((bF == bF))
740738 then {
741- let dZ = fromBase58String(dY)
742- if ((dZ == dZ))
743- then [StringEntry(I(), dY)]
739+ let dY = fromBase58String(dX)
740+ if ((dY == dY))
741+ then [StringEntry(H(), dX)]
744742 else throw("Strict value is not equal to itself.")
745743 }
746744 else throw("Strict value is not equal to itself.")
747745 }
748746
749747
750748
751-@Callable(bC)
749+@Callable(bB)
752750 func confirmManager () = {
753- let ea = bA()
754- let eb = if (isDefined(ea))
751+ let dZ = bz()
752+ let ea = if (isDefined(dZ))
755753 then true
756754 else throw("No pending manager")
757- if ((eb == eb))
755+ if ((ea == ea))
758756 then {
759- let ec = if ((bC.callerPublicKey == value(ea)))
757+ let eb = if ((bB.callerPublicKey == value(dZ)))
760758 then true
761759 else throw("You are not pending manager")
762- if ((ec == ec))
763- then [StringEntry(H(), toBase58String(value(ea))), DeleteEntry(I())]
760+ if ((eb == eb))
761+ then [StringEntry(G(), toBase58String(value(dZ))), DeleteEntry(H())]
764762 else throw("Strict value is not equal to itself.")
765763 }
766764 else throw("Strict value is not equal to itself.")
767765 }
768766
769767
770-@Verifier(ed)
771-func ee () = {
772- let ef = {
773- let A = by()
774- if ($isInstanceOf(A, "ByteVector"))
768+@Verifier(ec)
769+func ed () = {
770+ let ee = {
771+ let z = bx()
772+ if ($isInstanceOf(z, "ByteVector"))
775773 then {
776- let bE = A
777- bE
774+ let bD = z
775+ bD
778776 }
779- else if ($isInstanceOf(A, "Unit"))
780- then ed.senderPublicKey
777+ else if ($isInstanceOf(z, "Unit"))
778+ then ec.senderPublicKey
781779 else throw("Match error")
782780 }
783- sigVerify(ed.bodyBytes, ed.proofs[0], ef)
781+ sigVerify(ec.bodyBytes, ec.proofs[0], ee)
784782 }
785783

github/deemru/w8io/169f3d6 
345.51 ms