tx · oZphfpjiAh6XS7JGv64HBkSi5Zx1xfzAiYepE8CJrQP

3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp:  -0.02200000 Waves

2022.11.01 14:15 [2297978] smart account 3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp > SELF 0.00000000 Waves

{ "type": 13, "id": "oZphfpjiAh6XS7JGv64HBkSi5Zx1xfzAiYepE8CJrQP", "fee": 2200000, "feeAssetId": null, "timestamp": 1667301276590, "version": 1, "sender": "3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp", "senderPublicKey": "86RHVxKovtU7yKnepY8wKsd8niDxGAsiwuA1XA1DNqrS", "proofs": [ "3XvJLca41LH91e76Ar9eypvXw1B29unHpM4G95Y4AFSvqPbRtV3a58WHxWnwFFbdCWoA9nyVNaNFJ45b96bmP1Qe" ], "script": "base64:BgK3IQgCEgMKAQgSAwoBCBIECgIICBIJCgcBERERGAgYEgcKBRERERgIEgcKBQEBAQgIEgASAwoBCBIECgIIARIECgIIARIECgIIARIDCgEIEgMKAQgSACIGU0NBTEU4IgVNVUxUOCIHU0NBTEUxOCIGTVVMVDE4IgNTRVAiDlBPT0xXRUlHSFRNVUxUIgp6ZXJvQmlnSW50Ig5pZHhQb29sQWRkcmVzcyINaWR4UG9vbFN0YXR1cyIQaWR4UG9vbExQQXNzZXRJZCINaWR4QW10QXNzZXRJZCIPaWR4UHJpY2VBc3NldElkIg5pZHhBbXRBc3NldERjbSIQaWR4UHJpY2VBc3NldERjbSIOaWR4SUFtdEFzc2V0SWQiEGlkeElQcmljZUFzc2V0SWQiDWlkeExQQXNzZXREY20iD2dldFN0cmluZ09yRmFpbCIDa2V5IhhnZXRTdHJpbmdCeUFkZHJlc3NPckZhaWwiB2FkZHJlc3MiDGdldEludE9yWmVybyIMZ2V0SW50T3JGYWlsIglhc0FueUxpc3QiA3ZhbCIHJG1hdGNoMCIKdmFsQW55THlzdCIFYXNJbnQiBnZhbEludCIIYXNTdHJpbmciBnZhbFN0ciIRa2V5RmFjdG9yeUFkZHJlc3MiE2tleU1hbmFnZXJQdWJsaWNLZXkiGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5IhhJZHhGYWN0b3J5Q2ZnU3Rha2luZ0RhcHAiGUlkeEZhY3RvcnlDZmdCb29zdGluZ0RhcHAiFElkeEZhY3RvcnlDZmdJZG9EYXBwIhVJZHhGYWN0b3J5Q2ZnVGVhbURhcHAiGUlkeEZhY3RvcnlDZmdFbWlzc2lvbkRhcHAiFUlkeEZhY3RvcnlDZmdSZXN0RGFwcCIZSWR4RmFjdG9yeUNmZ1NsaXBwYWdlRGFwcCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiDWtleUZhY3RvcnlDZmciGmtleUZhY3RvcnlMcDJBc3NldHNNYXBwaW5nIgpscEFzc2V0U3RyIhBrZXlGYWN0b3J5THBMaXN0IiZrZXlGYWN0b3J5THBBc3NldFRvUG9vbENvbnRyYWN0QWRkcmVzcyIUa2V5RmFjdG9yeVBvb2xXZWlnaHQiD2NvbnRyYWN0QWRkcmVzcyIYcmVhZEZhY3RvcnlBZGRyZXNzT3JGYWlsIgpyZWFkTHBMaXN0IhRyZWFkRmFjdG9yeUNmZ09yRmFpbCIHZmFjdG9yeSIYZ2V0Qm9vc3RpbmdBZGRyZXNzT3JGYWlsIgRmQ2ZnIhhnZXRFbWlzc2lvbkFkZHJlc3NPckZhaWwiF2dldFN0YWtpbmdBZGRyZXNzT3JGYWlsIhlnZXRHd3hSZXdhcmRBZGRyZXNzT3JGYWlsIgtrZXlCb29zdENmZyIfa2V5Qm9vc3RpbmdMb2NrUGFyYW1Ub3RhbEFtb3VudCIoa2V5Qm9vc3RpbmdTdGF0c0xvY2tzRHVyYXRpb25TdW1JbkJsb2NrcyIaa2V5Qm9vc3RpbmdTdGF0c0xvY2tzQ291bnQiGmtleUJvb3N0aW5nU3RhdHNVc2Vyc0NvdW50IhJrZXlVc2VyMk51bU1hcHBpbmciC3VzZXJBZGRyZXNzIhJrZXlOdW0yVXNlck1hcHBpbmciA251bSIWa2V5TG9ja1BhcmFtVXNlckFtb3VudCIHdXNlck51bSIWa2V5TG9ja1BhcmFtU3RhcnRCbG9jayIUa2V5TG9ja1BhcmFtRHVyYXRpb24iDWtleUxvY2tQYXJhbUsiDWtleUxvY2tQYXJhbUIiFWtleUxvY2tQYXJhbUJ5UGVyaW9kSyIGcGVyaW9kIhVrZXlMb2NrUGFyYW1CeVBlcmlvZEIiIGtleVVzZXJCb29zdEVtaXNzaW9uTGFzdElOVEVHUkFMIhdrZXlVc2VyTWF4Qm9vc3RJTlRFR1JBTCIYa2V5VG90YWxNYXhCb29zdElOVEVHUkFMIiFrZXlVc2VyQm9vc3RBdmFsYWlibGVUb0NsYWltVG90YWwiE2tleVVzZXJCb29zdENsYWltZWQiEWtleVRvdGFsQ2FjaGVkR3d4Ig9rZXlTdGFrZWRCeVVzZXIiDnVzZXJBZGRyZXNzU3RyIgxscEFzc2V0SWRTdHIiDmtleVN0YWtlZFRvdGFsIhBrZXlDbGFpbWVkQnlVc2VyIhlrZXlDbGFpbWVkQnlVc2VyTWluUmV3YXJkIhtrZXlDbGFpbWVkQnlVc2VyQm9vc3RSZXdhcmQiCnJlYWRTdGFrZWQiC3N0YWtpbmdEYXBwIh5rZXlFbWlzc2lvblJhdGVQZXJCbG9ja0N1cnJlbnQiIWtleUVtaXNzaW9uUmF0ZVBlckJsb2NrTWF4Q3VycmVudCIVa2V5RW1pc3Npb25TdGFydEJsb2NrIhtrZXlFbWlzc2lvbkR1cmF0aW9uSW5CbG9ja3MiE2tleUVtaXNzaW9uRW5kQmxvY2siDGtleUFkZG9uQWRkciIKZ2V0UG9vbEZlZSILcG9vbEFkZHJlc3MiCmZlZURlZmF1bHQiBmtleUZlZSILZmFjdG9yeURhcHAiCmZhY3RvcnlDZmciDGVtaXNzaW9uRGFwcCINZ3d4UmV3YXJkRGFwcCIMYm9vc3RpbmdEYXBwIhlpbnRlcm5hbEN1cnJlbnRSZXdhcmRSYXRlIglscEFzc2V0SWQiDnBvb2xBZGRyZXNzU3RyIg5wb29sV2VpZ2h0TXVsdCIKcG9vbFdlaWdodCISd3hFbWlzc2lvblBlckJsb2NrIhV3eEVtaXNzaW9uUGVyQmxvY2tNYXgiDWJvb3N0TWF4Q29lZmYiFnBvb2xXeEVtaXNzaW9uUGVyQmxvY2siGXBvb2xXeEVtaXNzaW9uUGVyQmxvY2tNYXgiCW1heEZhY3RvciINdG90YWxMcFN0YWtlZCIaY2FsY0d3eEFtb3VudFN0YXJ0UkVBRE9OTFkiCmxvY2tBbW91bnQiDGxvY2tEdXJhdGlvbiIPbWF4TG9ja0R1cmF0aW9uIgdjb2VmZlg4Ig5nV3hBbW91bnRTdGFydCIWbWFuYWdlclB1YmxpY0tleU9yVW5pdCIBcyIdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQiC211c3RNYW5hZ2VyIgFpIgJwZCICcGsiDmZhY3RvcnlBZGRyZXNzIgtjaGVja0NhbGxlciIKcmV3YXJkRGF0YSIObHBTdGFrZWRCeVVzZXIiDXVzZXJDbGFpbUluZm8iDW1pblJld2FyZFBhcnQiD2Jvb3N0UmV3YXJkUGFydCIFZGVidWciDWJvb3N0aW5nUG93ZXIiC2N1cnJlbnRJdGVyIhFkZWx0YVd4QW1vdW50QnVsayIbZGVsdGFMb2NrUGVyaW9kSW5CbG9ja3NCdWxrIhFkZWx0YUxwQW1vdW50QnVsayIQbHBBc3NldElkT3B0QnVsayIOdXNlckFkZHJlc3NPcHQiBnJlc0FjYyINZGVsdGFXeEFtb3VudCIXZGVsdGFMb2NrUGVyaW9kSW5CbG9ja3MiDWRlbHRhTHBBbW91bnQiDGxwQXNzZXRJZE9wdCIEaW5mbyIBQCIDcmVzIgNpbnYiCG1hdGhEYXBwIghFTVBUWVNUUiIXbWF4TG9ja0R1cmF0aW9uSW5CbG9ja3MiCnVzZXJOdW1TdHIiCnVzZXJBbW91bnQiCWxvY2tTdGFydCIHbG9ja0VuZCIRcmVtYWluaW5nRHVyYXRpb24iDXVzZXJBbW91bnROZXciD2xvY2tEdXJhdGlvbk5ldyIRdXNlckN1cnJnV3hBbW91bnQiEWdXeEFtb3VudFN0YXJ0TmV3IhNnV3hQYXJhbXNSZXN1bHRMaXN0Ig1nV3hBbW91bnREaWZmIgFrIgFiIhh0b3RhbE1heEJvb3N0SW50ZWdyYWxLRVkiEXRvdGFsQ2FjaGVkR3d4S0VZIhJ1c2VyTWF4Qm9vc3RJbnROZXciEHRvdGFsTWF4Qm9vc3RJbnQiDnRvdGFsQ2FjaGVkR3d4IgVNVUxUMyIUd3hFbWlzc2lvblBlckJsb2NrWDMiD3N0YWtlZEJ5VXNlcktFWSIOc3Rha2VkVG90YWxLRVkiDHN0YWtlZEJ5VXNlciILc3Rha2VkVG90YWwiD3N0YWtlZEJ5VXNlck5ldyIOc3Rha2VkVG90YWxOZXciGHBvb2xXeEVtaXNzaW9uUGVyQmxvY2tYMyIJd3hQZXJMcFgzIhB1c2VyV3hQZXJCbG9ja1gzIhdib29zdEVtaXNzaW9uUGVyQmxvY2tYMyIWdG1wVXNlckJvb3N0UGVyQmxvY2tYMyITdXNlckJvb3N0UGVyQmxvY2tYMyIKYm9vc3RDb2VmZiIHT05FTVVMVCIDT05FIhJlbWlzc2lvblN0YXJ0QmxvY2siDHBhc3NlZEJsb2NrcyIOdGVhbUVtRHVyYXRpb24iCXRlYW1FbU1heCIGdGVhbUVtIg90b3RhbFd4UmVsZWFzZWQiDXRvdGFsV3hMb2NrZWQiGGxvY2tzRHVyYXRpb25TdW1JbkJsb2NrcyIKbG9ja3NDb3VudCIHbHBBc3NldCIDY2ZnIgphbXRBc3NldElkIgxwcmljZUFzc2V0SWQiC2lBbXRBc3NldElkIg1pUHJpY2VBc3NldElkIgthbXRBc3NldERjbSINcHJpY2VBc3NldERjbSINcG9vbExQQmFsYW5jZSISYWNjQW10QXNzZXRCYWxhbmNlIhRhY2NQcmljZUFzc2V0QmFsYW5jZSIKcHJpY2VzTGlzdCIIY3VyUHJpY2UiD2xwQW10QXNzZXRTaGFyZSIRbHBQcmljZUFzc2V0U2hhcmUiA2ZlZSIecG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIh1wb29sT25lVG9rZW5PcGVyYXRpb25zRW5hYmxlZCIMaW5BbUFzc2V0QW10IgxhbUFzc2V0SWRTdHIiCWFtQXNzZXRJZCIMcHJBc3NldElkU3RyIglwckFzc2V0SWQiCnBvb2xTdGF0dXMiDmFtdEFzc2V0QW10WDE4IhBwcmljZUFzc2V0QW10WDE4IgtjdXJQcmljZVgxOCIPaW5BbUFzc2V0QW10WDE4Ig9pblByQXNzZXRBbXRYMTgiDGluUHJBc3NldEFtdCINJHQwMjIzNDYyMjY5OSIJY2FsY0xwQW10IgxjdXJQcmljZUNhbGMiCWFtQmFsYW5jZSIJcHJCYWxhbmNlIgpscEVtaXNzaW9uIgxhbUJhbGFuY2VSYXciDHByQmFsYW5jZVJhdyIPYW1CYWxhbmNlUmF3WDE4Ig9wckJhbGFuY2VSYXdYMTgiDSR0MDI1MjcyMjU2MjUiEHBheW1lbnRMcEFzc2V0SWQiDHBheW1lbnRMcEFtdCINJHQwMjYzMjAyNjczNyIIb3V0QW1BbXQiCG91dFByQW10Ig9nd3hVc2VySW5mb0xJU1QiCWd3eEFtb3VudCIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXlbAAFhAAgAAWIAgMLXLwABYwASAAFkCQC2AgEAgICQu7rWrfANAAFlAgJfXwABZgUBYgABZwkAtgIBAAAAAWgAAQABaQACAAFqAAMAAWsABAABbAAFAAFtAAYAAW4ABwABbwAIAAFwAAkAAXEACgEBcgEBcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEFAXMJAKwCAgkArAICAg9tYW5kYXRvcnkgdGhpcy4FAXMCDyBpcyBub3QgZGVmaW5lZAEBdAIBdQFzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUBdQUBcwkArAICCQCsAgIJAKwCAgkArAICAgptYW5kYXRvcnkgCQClCAEFAXUCAS4FAXMCDyBpcyBub3QgZGVmaW5lZAEBdgIBdQFzCQELdmFsdWVPckVsc2UCCQCaCAIFAXUFAXMAAAEBdwIBdQFzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUBdQUBcwkArAICCQCsAgICD21hbmRhdG9yeSB0aGlzLgUBcwIPIGlzIG5vdCBkZWZpbmVkAQF4AQF5BAF6BQF5AwkAAQIFAXoCCUxpc3RbQW55XQQBQQUBegUBQQkAAgECG2ZhaWwgdG8gY2FzdCBpbnRvIExpc3RbQW55XQEBQgEBeQQBegUBeQMJAAECBQF6AgNJbnQEAUMFAXoFAUMJAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBAUQBAXkEAXoFAXkDCQABAgUBegIGU3RyaW5nBAFFBQF6BQFFCQACAQIYZmFpbCB0byBjYXN0IGludG8gU3RyaW5nAQFGAAIcJXMlc19fY29uZmlnX19mYWN0b3J5QWRkcmVzcwEBRwACFCVzX19tYW5hZ2VyUHVibGljS2V5AQFIAAIbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAFJAAEAAUoAAgABSwADAAFMAAQAAU0ABQABTgAGAAFPAAcAAVAACAEBUQACESVzX19mYWN0b3J5Q29uZmlnAQFSAQFTCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAIFAVMJAMwIAgIebWFwcGluZ3NfX2xwQXNzZXQyUG9vbENvbnRyYWN0BQNuaWwFAWUBAVQAAhAlc19fbHBUb2tlbnNMaXN0AQFVAQFTCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAIFAVMJAMwIAgIebWFwcGluZ3NfX2xwQXNzZXQyUG9vbENvbnRyYWN0BQNuaWwFAWUBAVYBAVcJALkJAgkAzAgCAgQlcyVzCQDMCAICCnBvb2xXZWlnaHQJAMwIAgUBVwUDbmlsBQFlAQFYAAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAXIBCQEBRgABAVkACQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgkBAVgACQEBVAACAAUBZQEBWgECYWEJALUJAgkBAXQCBQJhYQkBAVEABQFlAQJhYgECYWMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYWMFAUoBAmFkAQJhYwkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJhYwUBTQECYWUBAmFjCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmFjBQFJAQJhZgECYWMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYWMFAVABAmFnAAIKJXNfX2NvbmZpZwECYWgAAh4lcyVzX19zdGF0c19fYWN0aXZlVG90YWxMb2NrZWQBAmFpAAIlJXMlc19fc3RhdHNfX2xvY2tzRHVyYXRpb25TdW1JbkJsb2NrcwECYWoAAhclcyVzX19zdGF0c19fbG9ja3NDb3VudAECYWsAAh0lcyVzX19zdGF0c19fYWN0aXZlVXNlcnNDb3VudAECYWwBAmFtCQC5CQIJAMwIAgIZJXMlcyVzX19tYXBwaW5nX191c2VyMm51bQkAzAgCBQJhbQUDbmlsBQFlAQJhbgECYW8JALkJAgkAzAgCAhklcyVzJXNfX21hcHBpbmdfX251bTJ1c2VyCQDMCAIFAmFvBQNuaWwFAWUBAmFwAQJhcQkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXEJAMwIAgIGYW1vdW50BQNuaWwFAWUBAmFyAQJhcQkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXEJAMwIAgIFc3RhcnQFA25pbAUBZQECYXMBAmFxCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhcQkAzAgCAghkdXJhdGlvbgUDbmlsBQFlAQJhdAECYXEJALkJAgkAzAgCAhYlcyVkJXNfX3BhcmFtQnlVc2VyTnVtCQDMCAIFAmFxCQDMCAICAWsFA25pbAUBZQECYXUBAmFxCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhcQkAzAgCAgFiBQNuaWwFAWUBAmF2AgJhcQJhdwkAuQkCCQDMCAICFyVzJWQlcyVkX19wYXJhbUJ5UGVyaW9kCQDMCAIFAmFxCQDMCAICAWsJAMwIAgUCYXcFA25pbAUBZQECYXgCAmFxAmF3CQC5CQIJAMwIAgIXJXMlZCVzJWRfX3BhcmFtQnlQZXJpb2QJAMwIAgUCYXEJAMwIAgIBYgkAzAgCBQJhdwUDbmlsBQFlAQJheQECYXEJALkJAgkAzAgCAh4lcyVkX191c2VyQm9vc3RFbWlzc2lvbkxhc3RJbnQJAMwIAgUCYXEFA25pbAUBZQECYXoBAmFxCQC5CQIJAMwIAgIRJXMlZF9fbWF4Qm9vc3RJbnQJAMwIAgUCYXEFA25pbAUBZQECYUEAAhglcyVzX19tYXhCb29zdEludF9fdG90YWwBAmFCAQJhcQkAuQkCCQDMCAICJCVzJWRfX3VzZXJCb29zdEF2YWxpYWJsZVRvQ2xhaW1Ub3RhbAkAzAgCBQJhcQUDbmlsBQFlAQJhQwECYXEJALkJAgkAzAgCAhYlcyVkX191c2VyQm9vc3RDbGFpbWVkCQDMCAIFAmFxBQNuaWwFAWUBAmFEAAIWJXMlc19fZ3d4Q2FjaGVkX190b3RhbAECYUUCAmFGAmFHCQC5CQIJAMwIAgIOJXMlcyVzX19zdGFrZWQJAMwIAgUCYUYJAMwIAgUCYUcFA25pbAUBZQECYUgBAmFHCQCsAgICFyVzJXMlc19fc3Rha2VkX190b3RhbF9fBQJhRwECYUkCAmFHAmFGCQC5CQIJAMwIAgIPJXMlcyVzX19jbGFpbWVkCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFAWUBAmFKAgJhRwJhRgkAuQkCCQDMCAICGCVzJXMlc19fY2xhaW1lZE1pblJld2FyZAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQFlAQJhSwICYUcCYUYJALkJAgkAzAgCAholcyVzJXNfX2NsYWltZWRCb29zdFJld2FyZAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQFlAQJhTAICYU0BcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQJhTQUBcwAAAQJhTgACGyVzJXNfX3JhdGVQZXJCbG9ja19fY3VycmVudAECYU8AAh4lcyVzX19yYXRlUGVyQmxvY2tNYXhfX2N1cnJlbnQBAmFQAAIaJXMlc19fZW1pc3Npb25fX3N0YXJ0QmxvY2sBAmFRAAIYJXMlc19fZW1pc3Npb25fX2R1cmF0aW9uAQJhUgACGCVzJXNfX2VtaXNzaW9uX19lbmRCbG9jawECYVMAAg0lc19fYWRkb25BZGRyAQJhVAECYVUEAmFWCQBrAwAFBQFiAJBOBAJhVwIHJXNfX2ZlZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQJhVQUCYVcFAmFWAAJhWAkBAVgAAAJhWQkBAVoBBQJhWAACYVoJAQJhZAEFAmFZAAJhTQkBAmFlAQUCYVkAAmJhCQECYWYBBQJhWQACYmIJAQJhYgEFAmFZAQJiYwECYmQEAmJlCQEBdAIFAmFYCQEBVQEFAmJkBAJiZgUBYgQCYmcJARFAZXh0ck5hdGl2ZSgxMDUwKQIFAmFYCQEBVgEFAmJlBAJiaAkBAXcCBQJhWgkBAmFOAAQCYmkJAQF3AgUCYVoJAQJhTwAEAmJqAAMEAmJrCQBpAgkAawMFAmJoBQJiZwUCYmYFAmJqBAJibAkAawMFAmJpBQJiZwUCYmYEAmJtCQBoAgUCYmoFAWIEAmJuCQEBdgIFAmFNCQECYUgBBQJiZAkAzAgCBQJiawkAzAgCBQJibQkAzAgCBQJibgUDbmlsAQJibwMCYnACYnECYnIEAmJzCQBrAwUCYnEFAWIFAmJyBAJidAkAawMFAmJwBQJicwUBYgkAzAgCBQJidAUDbmlsAQJidQAEAXoJAKIIAQkBAUcAAwkAAQIFAXoCBlN0cmluZwQCYnYFAXoJANkEAQUCYnYDCQABAgUBegIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJidwAEAXoJAKIIAQkBAUgAAwkAAQIFAXoCBlN0cmluZwQCYnYFAXoJANkEAQUCYnYDCQABAgUBegIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJieAECYnkEAmJ6CQACAQIRUGVybWlzc2lvbiBkZW5pZWQEAXoJAQJidQADCQABAgUBegIKQnl0ZVZlY3RvcgQCYkEFAXoDCQAAAggFAmJ5D2NhbGxlclB1YmxpY0tleQUCYkEGBQJiegMJAAECBQF6AgRVbml0AwkAAAIIBQJieQZjYWxsZXIFBHRoaXMGBQJiegkAAgECC01hdGNoIGVycm9yDgJieQELY29uc3RydWN0b3IBAmJCBAJiQwkBAmJ4AQUCYnkDCQAAAgUCYkMFAmJDCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFGAAUCYkIFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJieQEZY3VycmVudFJld2FyZFJhdGVSRUFET05MWQECYmQEAmJECQECYmMBBQJiZAQCYmgJAJEDAgUCYkQAAAQCYm0JAJEDAgUCYkQAAQQCYm4JAJEDAgUCYkQAAgkAlAoCBQNuaWwJALkJAgkAzAgCAgYlZCVkJWQJAMwIAgkApAMBBQJiaAkAzAgCCQCkAwEFAmJtCQDMCAIJAKQDAQUCYm4FA25pbAUBZQJieQEdY3VycmVudFVzZXJSZXdhcmRSYXRlUkVBRE9OTFkCAmJkAmFtBAJiRAkBAmJjAQUCYmQEAmJoCQCRAwIFAmJEAAAEAmJtCQCRAwIFAmJEAAEEAmJuCQCRAwIFAmJEAAIEAmJFCQEBdgIFAmFNCQECYUUCBQJhbQUCYmQEAmJGCQC1CQIJAQFEAQkA/AcEBQJhTQIPY2xhaW1XeFJFQURPTkxZCQDMCAIFAmJkCQDMCAIFAmFtBQNuaWwFA25pbAUBZQQCYkcJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBCQCRAwIFAmJGAAUCHGNvdWxkbid0IHBhcnNlIG1pblJld2FyZFBhcnQEAmJICQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQJiRgAGAh5jb3VsZG4ndCBwYXJzZSBib29zdFJld2FyZFBhcnQEAmJJCQCRAwIFAmJGAAcEAmJKAwkAAAIFAmJIAAAJAGgCAAEFAWIJAGsDCQBkAgUCYkcFAmJIBQFiBQJiRwkAlAoCBQNuaWwJALkJAgkAzAgCAgwlZCVkJWQlZCVkJXMJAMwIAgkApAMBBQJiaAkAzAgCCQCkAwEFAmJtCQDMCAIJAKQDAQUCYm4JAMwIAgkApAMBBQJiRQkAzAgCCQCkAwEFAmJKCQDMCAIFAmJJBQNuaWwFAWUCYnkBHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZBwJiSwJiTAJiTQJiTgJiTwJiUAJiUQMJAAACBQJiSwkAkAMBBQJiTAkAlAoCBQNuaWwFAmJRBAJiUgkAkQMCBQJiTAUCYksEAmJTCQCRAwIFAmJNBQJiSwQCYlQJAJEDAgUCYk4FAmJLBAJiVQkAkQMCBQJiTwUCYksEAmJWCgACYlcJAPwHBAUEdGhpcwIRY2FsY0Jvb3N0UkVBRE9OTFkJAMwIAgUCYlIJAMwIAgUCYlMJAMwIAgUCYlQJAMwIAgUCYlUJAMwIAgUCYlAFA25pbAUDbmlsAwkAAQIFAmJXAgZTdHJpbmcFAmJXCQACAQkArAICCQADAQUCYlcCGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwQCYlgJAM0IAgUCYlEFAmJWBAJiWQoAAmJXCQD8BwQFBHRoaXMCHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZCQDMCAIJAGQCBQJiSwABCQDMCAIFAmJMCQDMCAIFAmJNCQDMCAIFAmJOCQDMCAIFAmJPCQDMCAIFAmJQCQDMCAIFAmJYBQNuaWwFA25pbAMJAAECBQJiVwIJTGlzdFtBbnldBQJiVwkAAgEJAKwCAgkAAwEFAmJXAh4gY291bGRuJ3QgYmUgY2FzdCB0byBMaXN0W0FueV0DCQAAAgUCYlkFAmJZCQCUCgIFA25pbAUCYlkJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYnkBFWNhbGNCb29zdEJ1bGtSRUFET05MWQUCYlICYlMCYlQCYlUCYlAEAmJYCQD8BwQFBHRoaXMCHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZCQDMCAIAAAkAzAgCBQJiUgkAzAgCBQJiUwkAzAgCBQJiVAkAzAgCBQJiVQkAzAgCBQJiUAkAzAgCBQNuaWwFA25pbAUDbmlsCQCUCgIFA25pbAUCYlgCYnkBEWNhbGNCb29zdFJFQURPTkxZBQJiUgJiUwJiVAJiVQJiUAQCYloFAmJhBAJjYQIFZW1wdHkEAmNiCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgkAtQkCCQEBdAIFAmJiCQECYWcABQFlAAQEAmFHAwkAAAIFAmJVAgAFAmNhBQJiVQQCYUYDCQAAAgUCYlACAAUCY2EFAmJQBAJjYwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQJiYgkBAmFsAQUCYlAFAmNhBAJjZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQJiYgkBAmFwAQUCY2MAAAQCY2UJAQt2YWx1ZU9yRWxzZQIJAJoIAgUCYmIJAQJhcgEFAmNjBQZoZWlnaHQEAmJxCQELdmFsdWVPckVsc2UCCQCaCAIFAmJiCQECYXMBBQJjYwAABAJjZgkAZAIFAmNlBQJicQQCY2cJAJYDAQkAzAgCCQBlAgUCY2YFBmhlaWdodAkAzAgCAAAFA25pbAQCY2gJAGQCBQJjZAUCYlIEAmNpCQCXAwEJAMwIAgkAZAIFAmNnBQJiUwkAzAgCBQJjYgUDbmlsBAJjagkBAUIBCQCRAwIJAQF4AQkA/AcEBQJiYgITZ3d4VXNlckluZm9SRUFET05MWQkAzAgCBQJhRgUDbmlsBQNuaWwAAAQCY2sJAJEDAgkBAmJvAwUCY2gFAmNpBQJjYgAABAJjbAkBAXgBCQD8BwQFAmJaAhVjYWxjR3d4UGFyYW1zUkVBRE9OTFkJAMwIAgUCY2sJAMwIAgUGaGVpZ2h0CQDMCAIFAmNpBQNuaWwFA25pbAQCY20JAGUCBQJjawUCY2oEAmNuCQEBQgEJAJEDAgUCY2wAAAQCY28JAQFCAQkAkQMCBQJjbAABBAJhdwkApAMBCQEBQgEJAJEDAgUCY2wAAgQCY3AJAQJhQQAEAmNxCQECYUQABAJjcgkAaQIJAGgCBQJjawUCY2kAAgQCY3MJAQF2AgUCYmIFAmNwBAJjdAkBC3ZhbHVlT3JFbHNlAgkAmggCBQJiYgUCY3EAAAQCY3UA6AcEAmN2CQBoAgkBAXcCBQJhWgkBAmFOAAUCY3UEAmN3CQECYUUCBQJhRgUCYUcEAmN4CQECYUgBBQJhRwQCY3kJAQJhTAIFAmFNBQJjdwQCY3oJAQJhTAIFAmFNBQJjeAQCY0EJAGQCBQJjeQUCYlQEAmNCCQBkAgUCY3oFAmJUBAJiZwMJAQIhPQIFAmFHBQJjYQQCYmUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQJhWAkBAVIBBQJhRwkArAICAhV1bnN1cHBvcnRlZCBscCBhc3NldCAFAmFHCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJhWAkBAVYBBQJiZQAABAJjQwkAawMFAmN2BQJiZwkAaAIFAWYAAwQCY0QDCQECIT0CBQJjQgAACQBrAwUCY0MFAWIFAmNCAAAEAmNFCQBrAwUCY0QFAmNBBQFiBAJjRgkAaAIFAmNDAAIEAmNHCQBrAwUCY2sFAmNGCQBkAgUCY3QFAmNtBAJjSAkAlwMBCQDMCAIFAmNHCQDMCAIJAGgCBQJjRQACBQNuaWwEAmNJAwkAAAIFAmNFAAAJAGgCAAEFAWIJAGsDCQBkAgUCY0gFAmNFBQFiBQJjRQkAlAoCBQNuaWwJALkJAgkAzAgCAgYlZCVkJXMJAMwIAgkApAMBBQJjawkAzAgCCQCkAwEFAmNJCQDMCAICAWQFA25pbAUBZQJieQEXd3hFbWlzc2lvblN0YXRzUkVBRE9OTFkABAJjSgkApAMBBQFiBAJjSwIBMQQCYmgJAQF3AgUCYVoJAQJhTgAEAmNMCQEBdwIFAmFaCQECYVAABAJjTQMJAGYCBQJjTAUGaGVpZ2h0AAAJAGUCBQZoZWlnaHQFAmNMBAJjTgkAaAIAoAsA7QIEAmNPCQBoAgDAiOxfBQFiBAJjUAMJAGYCBQJjTQUCY04FAmNPCQBrAwUCY08FAmNNBQJjTgQCY1EJAGQCCQBoAgUCYmgFAmNNBQJjUAQCY1IJAQF2AgUCYmIJAQJhaAAEAmNTCQEBdgIFAmJiCQECYWkABAJjVAkBAXYCBQJiYgkBAmFqAAkAlAoCBQNuaWwJALkJAgkAzAgCAgglZCVkJWQlZAkAzAgCCQCkAwEFAmNRCQDMCAIJAKQDAQUCY1IJAMwIAgkApAMBBQJjUwkAzAgCCQCkAwEFAmNUBQNuaWwFAWUCYnkBEXBvb2xTdGF0c1JFQURPTkxZAQJjVQQCYVUJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQF0AgUCYVgJAQFVAQUCY1UEAmNWCQEBeAEJAPwHBAUCYVUCHGdldFBvb2xDb25maWdXcmFwcGVyUkVBRE9OTFkFA25pbAUDbmlsBAJiZAkA2QQBCQEBRAEJAJEDAgUCY1YFAWoEAmNXCQEBRAEJAJEDAgUCY1YFAWsEAmNYCQEBRAEJAJEDAgUCY1YFAWwEAmNZCQEBRAEJAJEDAgUCY1YFAW8EAmNaCQEBRAEJAJEDAgUCY1YFAXAEAmRhCQENcGFyc2VJbnRWYWx1ZQEJAQFEAQkAkQMCBQJjVgUBbQQCZGIJAQ1wYXJzZUludFZhbHVlAQkBAUQBCQCRAwIFAmNWBQFuBAJkYwgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQJiZAkArAICCQCsAgICBkFzc2V0IAkA2AQBBQJiZAIOIGRvZXNu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CQCZCgcFAmRNBQJkTgUCZEIFAmRDBQJkRAUCZGcFAmRyCQACAQITQ291bGRuJ3QgY2FzdCB0eXBlcwQCZE0IBQJkTAJfMQQCZE4IBQJkTAJfMgQCZEIIBQJkTAJfMwQCZEMIBQJkTAJfNAQCZEQIBQJkTAJfNQQCZGcIBQJkTAJfNgQCZHIIBQJkTAJfNwkAlAoCBQNuaWwJALkJAgkAzAgCAg4lZCVkJWQlZCVkJWQlZAkAzAgCCQCkAwEFAmRNCQDMCAIJAKQDAQUCZE4JAMwIAgkApAMBBQJkQgkAzAgCCQCkAwEFAmRDCQDMCAIJAKQDAQUCZEQJAMwIAgUCZGcJAMwIAgUCZHIFA25pbAUBZQJieQETZ3d4VXNlckluZm9SRUFET05MWQECYW0EAmRPCQEBeAEJAPwHBAUCYmICE2d3eFVzZXJJbmZvUkVBRE9OTFkJAMwIAgUCYW0FA25pbAUDbmlsBAJkUAkBAUIBCQCRAwIFAmRPAAAJAJQKAgUDbmlsCQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQJkUAUDbmlsBQFlAmJ5AQpzZXRNYW5hZ2VyAQJkUQQCYkMJAQJieAEFAmJ5AwkAAAIFAmJDBQJiQwQCZFIJANkEAQUCZFEDCQAAAgUCZFIFAmRSCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFIAAUCZFEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJieQEOY29uZmlybU1hbmFnZXIABAJkUwkBAmJ3AAQCZFQDCQEJaXNEZWZpbmVkAQUCZFMGCQACAQISTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmRUBQJkVAQCZFUDCQAAAggFAmJ5D2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCZFMGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmRVBQJkVQkAzAgCCQELU3RyaW5nRW50cnkCCQEBRwAJANgEAQkBBXZhbHVlAQUCZFMJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAUgABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmRWAQJkVwAEAmRYBAF6CQECYnUAAwkAAQIFAXoCCkJ5dGVWZWN0b3IEAmJBBQF6BQJiQQMJAAECBQF6AgRVbml0CAUCZFYPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmRWCWJvZHlCeXRlcwkAkQMCCAUCZFYGcHJvb2ZzAAAFAmRYBNNwrw==", "chainId": 84, "height": 2297978, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EZNFSYbgohqpQ45C95hGygTi21AKPpukwGDFVVBYLwaU Next: Brua41sNS1zpvgVF94FQr2H65z87wYXjzq9tZzQDv4Xg Diff:
OldNewDifferences
504504 let di = B(invoke(aU, "fromX18WrapperREADONLY", [df[2], b], nil))
505505 let bg = getIntegerValue(aX, V(toString(aU)))
506506 let dj = aT(aU)
507- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dd), toString(de), toString(dc), toString(dg), toString(dh), toString(di), toString(bg), toString(dj)], e))
507+ let dk = {
508+ let bW = invoke(aX, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aU)], nil)
509+ if ($isInstanceOf(bW, "Boolean"))
510+ then bW
511+ else throw(($getType(bW) + " couldn't be cast to Boolean"))
512+ }
513+ let dl = !(dk)
514+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s", toString(dd), toString(de), toString(dc), toString(dg), toString(dh), toString(di), toString(bg), toString(dj), toString(dl)], e))
508515 }
509516
510517
511518
512519 @Callable(by)
513-func poolEvaluatePutByAmountAssetREADONLY (cU,dk) = {
520+func poolEvaluatePutByAmountAssetREADONLY (cU,dm) = {
514521 let aU = addressFromStringValue(t(aX, U(cU)))
515522 let cV = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
516523 let bd = fromBase58String(D(cV[j]))
517- let dl = D(cV[k])
518- let dm = fromBase58String(dl)
519- let dn = D(cV[l])
524+ let dn = D(cV[k])
520525 let do = fromBase58String(dn)
526+ let dp = D(cV[l])
527+ let dq = fromBase58String(dp)
521528 let da = parseIntValue(D(cV[m]))
522529 let db = parseIntValue(D(cV[n]))
523- let dp = D(cV[i])
530+ let dr = D(cV[i])
524531 let dc = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
525- let dd = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dl], nil))
526- let de = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dn], nil))
527- let dq = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dd, da], nil)))
528- let dr = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [de, db], nil)))
529- let ds = if ((dc == 0))
532+ let dd = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dn], nil))
533+ let de = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
534+ let ds = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dd, da], nil)))
535+ let dt = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [de, db], nil)))
536+ let du = if ((dc == 0))
530537 then g
531- else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dr), toString(dq)], nil)))
532- let dg = B(invoke(aU, "fromX18WrapperREADONLY", [toString(ds), b], nil))
533- let dt = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dk, da], nil)))
534- let du = fraction(dt, ds, d)
535- let dv = B(invoke(aU, "fromX18WrapperREADONLY", [toString(du), db], nil))
536- let bX = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dk, dm, dv, do, "", true, false], nil)
537- let dw = {
538+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dt), toString(ds)], nil)))
539+ let dg = B(invoke(aU, "fromX18WrapperREADONLY", [toString(du), b], nil))
540+ let dv = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dm, da], nil)))
541+ let dw = fraction(dv, du, d)
542+ let dx = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dw), db], nil))
543+ let bX = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dm, do, dx, dq, "", true, false], nil)
544+ let dy = {
538545 let z = bX
539546 if (if (if ($isInstanceOf(z._1, "Int"))
540547 then if ($isInstanceOf(z._3, "Int"))
548555 then (size(z) == 13)
549556 else false)
550557 then {
551- let dx = z._1
552- let dy = z._3
553- let dz = z._4
554- let dA = z._5
555- let dB = z._6
556- $Tuple5(dx, dy, dz, dA, dB)
558+ let dz = z._1
559+ let dA = z._3
560+ let dB = z._4
561+ let dC = z._5
562+ let dD = z._6
563+ $Tuple5(dz, dA, dB, dC, dD)
557564 }
558565 else throw("Couldn't cast types")
559566 }
560- let dx = dw._1
561- let dy = dw._2
562- let dz = dw._3
563- let dA = dw._4
564- let dB = dw._5
565- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dx), toString(dg), toString(dz), toString(dA), toString(dB), dp, toString(dk), toString(dv)], e))
567+ let dz = dy._1
568+ let dA = dy._2
569+ let dB = dy._3
570+ let dC = dy._4
571+ let dD = dy._5
572+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dz), toString(dg), toString(dB), toString(dC), toString(dD), dr, toString(dm), toString(dx)], e))
566573 }
567574
568575
569576
570577 @Callable(by)
571-func poolEvaluatePutByPriceAssetREADONLY (cU,dv) = {
578+func poolEvaluatePutByPriceAssetREADONLY (cU,dx) = {
572579 let aU = addressFromStringValue(t(aX, U(cU)))
573580 let cV = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
574581 let bd = fromBase58String(D(cV[j]))
575- let dl = D(cV[k])
576- let dm = fromBase58String(dl)
577- let dn = D(cV[l])
582+ let dn = D(cV[k])
578583 let do = fromBase58String(dn)
584+ let dp = D(cV[l])
585+ let dq = fromBase58String(dp)
579586 let da = parseIntValue(D(cV[m]))
580587 let db = parseIntValue(D(cV[n]))
581- let dp = D(cV[i])
588+ let dr = D(cV[i])
582589 let dc = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
583- let dC = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dl], nil))
584- let dD = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dn], nil))
585- let dE = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dC, da], nil)))
586- let dF = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dD, db], nil)))
587- let ds = if ((dc == 0))
590+ let dE = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dn], nil))
591+ let dF = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
592+ let dG = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dE, da], nil)))
593+ let dH = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dF, db], nil)))
594+ let du = if ((dc == 0))
588595 then g
589- else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dF), toString(dE)], nil)))
590- let dg = B(invoke(aU, "fromX18WrapperREADONLY", [toString(ds), b], nil))
591- let du = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dv, db], nil)))
592- let dt = fraction(du, d, ds)
593- let dk = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dt), da], nil))
594- let bX = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dk, dm, dv, do, "", true, false], nil)
595- let dG = {
596+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dH), toString(dG)], nil)))
597+ let dg = B(invoke(aU, "fromX18WrapperREADONLY", [toString(du), b], nil))
598+ let dw = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dx, db], nil)))
599+ let dv = fraction(dw, d, du)
600+ let dm = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dv), da], nil))
601+ let bX = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dm, do, dx, dq, "", true, false], nil)
602+ let dI = {
596603 let z = bX
597604 if (if (if ($isInstanceOf(z._1, "Int"))
598605 then if ($isInstanceOf(z._3, "Int"))
606613 then (size(z) == 13)
607614 else false)
608615 then {
609- let dx = z._1
610- let dy = z._3
611- let dz = z._4
612- let dA = z._5
613- let dB = z._6
614- $Tuple5(dx, dy, dz, dA, dB)
616+ let dz = z._1
617+ let dA = z._3
618+ let dB = z._4
619+ let dC = z._5
620+ let dD = z._6
621+ $Tuple5(dz, dA, dB, dC, dD)
615622 }
616623 else throw("Couldn't cast types")
617624 }
618- let dx = dG._1
619- let dy = dG._2
620- let dz = dG._3
621- let dA = dG._4
622- let dB = dG._5
623- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dx), toString(dg), toString(dz), toString(dA), toString(dB), dp, toString(dk), toString(dv)], e))
625+ let dz = dI._1
626+ let dA = dI._2
627+ let dB = dI._3
628+ let dC = dI._4
629+ let dD = dI._5
630+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dz), toString(dg), toString(dB), toString(dC), toString(dD), dr, toString(dm), toString(dx)], e))
624631 }
625632
626633
627634
628635 @Callable(by)
629-func poolEvaluateGetREADONLY (dH,dI) = {
630- let aU = addressFromStringValue(t(aX, U(dH)))
631- let bX = invoke(aU, "estimateGetOperationWrapperREADONLY", ["", dH, dI, toString(aU)], nil)
632- let dJ = {
636+func poolEvaluateGetREADONLY (dJ,dK) = {
637+ let aU = addressFromStringValue(t(aX, U(dJ)))
638+ let bX = invoke(aU, "estimateGetOperationWrapperREADONLY", ["", dJ, dK, toString(aU)], nil)
639+ let dL = {
633640 let z = bX
634641 if (if (if ($isInstanceOf(z._1, "Int"))
635642 then if ($isInstanceOf(z._2, "Int"))
647654 then (size(z) == 10)
648655 else false)
649656 then {
650- let dK = z._1
651- let dL = z._2
652- let dz = z._5
653- let dA = z._6
654- let dB = z._7
657+ let dM = z._1
658+ let dN = z._2
659+ let dB = z._5
660+ let dC = z._6
661+ let dD = z._7
655662 let dg = z._8
656- let dp = z._9
657- $Tuple7(dK, dL, dz, dA, dB, dg, dp)
663+ let dr = z._9
664+ $Tuple7(dM, dN, dB, dC, dD, dg, dr)
658665 }
659666 else throw("Couldn't cast types")
660667 }
661- let dK = dJ._1
662- let dL = dJ._2
663- let dz = dJ._3
664- let dA = dJ._4
665- let dB = dJ._5
666- let dg = dJ._6
667- let dp = dJ._7
668- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dK), toString(dL), toString(dz), toString(dA), toString(dB), dg, dp], e))
668+ let dM = dL._1
669+ let dN = dL._2
670+ let dB = dL._3
671+ let dC = dL._4
672+ let dD = dL._5
673+ let dg = dL._6
674+ let dr = dL._7
675+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dM), toString(dN), toString(dB), toString(dC), toString(dD), dg, dr], e))
669676 }
670677
671678
672679
673680 @Callable(by)
674681 func gwxUserInfoREADONLY (am) = {
675- let dM = x(invoke(bb, "gwxUserInfoREADONLY", [am], nil))
676- let dN = B(dM[0])
677- $Tuple2(nil, makeString(["%d", toString(dN)], e))
682+ let dO = x(invoke(bb, "gwxUserInfoREADONLY", [am], nil))
683+ let dP = B(dO[0])
684+ $Tuple2(nil, makeString(["%d", toString(dP)], e))
678685 }
679686
680687
681688
682689 @Callable(by)
683-func unstakeAndGetOneTknV2 (aU,dO,dP,dQ) = {
684- let bY = invoke(addressFromStringValue(aU), "unstakeAndGetOneTknV2", [dO, dP, dQ], nil)
685- if ((bY == bY))
686- then $Tuple2(nil, unit)
687- else throw("Strict value is not equal to itself.")
688- }
689-
690-
691-
692-@Callable(by)
693-func setManager (dR) = {
690+func setManager (dQ) = {
694691 let bC = bx(by)
695692 if ((bC == bC))
696693 then {
697- let dS = fromBase58String(dR)
698- if ((dS == dS))
699- then [StringEntry(H(), dR)]
694+ let dR = fromBase58String(dQ)
695+ if ((dR == dR))
696+ then [StringEntry(H(), dQ)]
700697 else throw("Strict value is not equal to itself.")
701698 }
702699 else throw("Strict value is not equal to itself.")
706703
707704 @Callable(by)
708705 func confirmManager () = {
709- let dT = bw()
710- let dU = if (isDefined(dT))
706+ let dS = bw()
707+ let dT = if (isDefined(dS))
711708 then true
712709 else throw("No pending manager")
713- if ((dU == dU))
710+ if ((dT == dT))
714711 then {
715- let dV = if ((by.callerPublicKey == value(dT)))
712+ let dU = if ((by.callerPublicKey == value(dS)))
716713 then true
717714 else throw("You are not pending manager")
718- if ((dV == dV))
719- then [StringEntry(G(), toBase58String(value(dT))), DeleteEntry(H())]
715+ if ((dU == dU))
716+ then [StringEntry(G(), toBase58String(value(dS))), DeleteEntry(H())]
720717 else throw("Strict value is not equal to itself.")
721718 }
722719 else throw("Strict value is not equal to itself.")
723720 }
724721
725722
726-@Verifier(dW)
727-func dX () = {
728- let dY = {
723+@Verifier(dV)
724+func dW () = {
725+ let dX = {
729726 let z = bu()
730727 if ($isInstanceOf(z, "ByteVector"))
731728 then {
733730 bA
734731 }
735732 else if ($isInstanceOf(z, "Unit"))
736- then dW.senderPublicKey
733+ then dV.senderPublicKey
737734 else throw("Match error")
738735 }
739- sigVerify(dW.bodyBytes, dW.proofs[0], dY)
736+ sigVerify(dV.bodyBytes, dV.proofs[0], dX)
740737 }
741738
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 18
99
1010 let d = toBigInt(1000000000000000000)
1111
1212 let e = "__"
1313
1414 let f = b
1515
1616 let g = toBigInt(0)
1717
1818 let h = 1
1919
2020 let i = 2
2121
2222 let j = 3
2323
2424 let k = 4
2525
2626 let l = 5
2727
2828 let m = 6
2929
3030 let n = 7
3131
3232 let o = 8
3333
3434 let p = 9
3535
3636 let q = 10
3737
3838 func r (s) = valueOrErrorMessage(getString(s), (("mandatory this." + s) + " is not defined"))
3939
4040
4141 func t (u,s) = valueOrErrorMessage(getString(u, s), (((("mandatory " + toString(u)) + ".") + s) + " is not defined"))
4242
4343
4444 func v (u,s) = valueOrElse(getInteger(u, s), 0)
4545
4646
4747 func w (u,s) = valueOrErrorMessage(getInteger(u, s), (("mandatory this." + s) + " is not defined"))
4848
4949
5050 func x (y) = {
5151 let z = y
5252 if ($isInstanceOf(z, "List[Any]"))
5353 then {
5454 let A = z
5555 A
5656 }
5757 else throw("fail to cast into List[Any]")
5858 }
5959
6060
6161 func B (y) = {
6262 let z = y
6363 if ($isInstanceOf(z, "Int"))
6464 then {
6565 let C = z
6666 C
6767 }
6868 else throw("fail to cast into Int")
6969 }
7070
7171
7272 func D (y) = {
7373 let z = y
7474 if ($isInstanceOf(z, "String"))
7575 then {
7676 let E = z
7777 E
7878 }
7979 else throw("fail to cast into String")
8080 }
8181
8282
8383 func F () = "%s%s__config__factoryAddress"
8484
8585
8686 func G () = "%s__managerPublicKey"
8787
8888
8989 func H () = "%s__pendingManagerPublicKey"
9090
9191
9292 let I = 1
9393
9494 let J = 2
9595
9696 let K = 3
9797
9898 let L = 4
9999
100100 let M = 5
101101
102102 let N = 6
103103
104104 let O = 7
105105
106106 let P = 8
107107
108108 func Q () = "%s__factoryConfig"
109109
110110
111111 func R (S) = makeString(["%s%s%s", S, "mappings__lpAsset2PoolContract"], e)
112112
113113
114114 func T () = "%s__lpTokensList"
115115
116116
117117 func U (S) = makeString(["%s%s%s", S, "mappings__lpAsset2PoolContract"], e)
118118
119119
120120 func V (W) = makeString(["%s%s", "poolWeight", W], e)
121121
122122
123123 func X () = addressFromStringValue(r(F()))
124124
125125
126126 func Y () = split(valueOrElse(getString(X(), T()), ""), e)
127127
128128
129129 func Z (aa) = split(t(aa, Q()), e)
130130
131131
132132 func ab (ac) = addressFromStringValue(ac[J])
133133
134134
135135 func ad (ac) = addressFromStringValue(ac[M])
136136
137137
138138 func ae (ac) = addressFromStringValue(ac[I])
139139
140140
141141 func af (ac) = addressFromStringValue(ac[P])
142142
143143
144144 func ag () = "%s__config"
145145
146146
147147 func ah () = "%s%s__stats__activeTotalLocked"
148148
149149
150150 func ai () = "%s%s__stats__locksDurationSumInBlocks"
151151
152152
153153 func aj () = "%s%s__stats__locksCount"
154154
155155
156156 func ak () = "%s%s__stats__activeUsersCount"
157157
158158
159159 func al (am) = makeString(["%s%s%s__mapping__user2num", am], e)
160160
161161
162162 func an (ao) = makeString(["%s%s%s__mapping__num2user", ao], e)
163163
164164
165165 func ap (aq) = makeString(["%s%d%s__paramByUserNum", aq, "amount"], e)
166166
167167
168168 func ar (aq) = makeString(["%s%d%s__paramByUserNum", aq, "start"], e)
169169
170170
171171 func as (aq) = makeString(["%s%d%s__paramByUserNum", aq, "duration"], e)
172172
173173
174174 func at (aq) = makeString(["%s%d%s__paramByUserNum", aq, "k"], e)
175175
176176
177177 func au (aq) = makeString(["%s%d%s__paramByUserNum", aq, "b"], e)
178178
179179
180180 func av (aq,aw) = makeString(["%s%d%s%d__paramByPeriod", aq, "k", aw], e)
181181
182182
183183 func ax (aq,aw) = makeString(["%s%d%s%d__paramByPeriod", aq, "b", aw], e)
184184
185185
186186 func ay (aq) = makeString(["%s%d__userBoostEmissionLastInt", aq], e)
187187
188188
189189 func az (aq) = makeString(["%s%d__maxBoostInt", aq], e)
190190
191191
192192 func aA () = "%s%s__maxBoostInt__total"
193193
194194
195195 func aB (aq) = makeString(["%s%d__userBoostAvaliableToClaimTotal", aq], e)
196196
197197
198198 func aC (aq) = makeString(["%s%d__userBoostClaimed", aq], e)
199199
200200
201201 func aD () = "%s%s__gwxCached__total"
202202
203203
204204 func aE (aF,aG) = makeString(["%s%s%s__staked", aF, aG], e)
205205
206206
207207 func aH (aG) = ("%s%s%s__staked__total__" + aG)
208208
209209
210210 func aI (aG,aF) = makeString(["%s%s%s__claimed", aF, aG], e)
211211
212212
213213 func aJ (aG,aF) = makeString(["%s%s%s__claimedMinReward", aF, aG], e)
214214
215215
216216 func aK (aG,aF) = makeString(["%s%s%s__claimedBoostReward", aF, aG], e)
217217
218218
219219 func aL (aM,s) = valueOrElse(getInteger(aM, s), 0)
220220
221221
222222 func aN () = "%s%s__ratePerBlock__current"
223223
224224
225225 func aO () = "%s%s__ratePerBlockMax__current"
226226
227227
228228 func aP () = "%s%s__emission__startBlock"
229229
230230
231231 func aQ () = "%s%s__emission__duration"
232232
233233
234234 func aR () = "%s%s__emission__endBlock"
235235
236236
237237 func aS () = "%s__addonAddr"
238238
239239
240240 func aT (aU) = {
241241 let aV = fraction(5, b, 10000)
242242 let aW = "%s__fee"
243243 valueOrElse(getInteger(aU, aW), aV)
244244 }
245245
246246
247247 let aX = X()
248248
249249 let aY = Z(aX)
250250
251251 let aZ = ad(aY)
252252
253253 let aM = ae(aY)
254254
255255 let ba = af(aY)
256256
257257 let bb = ab(aY)
258258
259259 func bc (bd) = {
260260 let be = t(aX, U(bd))
261261 let bf = b
262262 let bg = getIntegerValue(aX, V(be))
263263 let bh = w(aZ, aN())
264264 let bi = w(aZ, aO())
265265 let bj = 3
266266 let bk = (fraction(bh, bg, bf) / bj)
267267 let bl = fraction(bi, bg, bf)
268268 let bm = (bj * b)
269269 let bn = v(aM, aH(bd))
270270 [bk, bm, bn]
271271 }
272272
273273
274274 func bo (bp,bq,br) = {
275275 let bs = fraction(bq, b, br)
276276 let bt = fraction(bp, bs, b)
277277 [bt]
278278 }
279279
280280
281281 func bu () = {
282282 let z = getString(G())
283283 if ($isInstanceOf(z, "String"))
284284 then {
285285 let bv = z
286286 fromBase58String(bv)
287287 }
288288 else if ($isInstanceOf(z, "Unit"))
289289 then unit
290290 else throw("Match error")
291291 }
292292
293293
294294 func bw () = {
295295 let z = getString(H())
296296 if ($isInstanceOf(z, "String"))
297297 then {
298298 let bv = z
299299 fromBase58String(bv)
300300 }
301301 else if ($isInstanceOf(z, "Unit"))
302302 then unit
303303 else throw("Match error")
304304 }
305305
306306
307307 func bx (by) = {
308308 let bz = throw("Permission denied")
309309 let z = bu()
310310 if ($isInstanceOf(z, "ByteVector"))
311311 then {
312312 let bA = z
313313 if ((by.callerPublicKey == bA))
314314 then true
315315 else bz
316316 }
317317 else if ($isInstanceOf(z, "Unit"))
318318 then if ((by.caller == this))
319319 then true
320320 else bz
321321 else throw("Match error")
322322 }
323323
324324
325325 @Callable(by)
326326 func constructor (bB) = {
327327 let bC = bx(by)
328328 if ((bC == bC))
329329 then [StringEntry(F(), bB)]
330330 else throw("Strict value is not equal to itself.")
331331 }
332332
333333
334334
335335 @Callable(by)
336336 func currentRewardRateREADONLY (bd) = {
337337 let bD = bc(bd)
338338 let bh = bD[0]
339339 let bm = bD[1]
340340 let bn = bD[2]
341341 $Tuple2(nil, makeString(["%d%d%d", toString(bh), toString(bm), toString(bn)], e))
342342 }
343343
344344
345345
346346 @Callable(by)
347347 func currentUserRewardRateREADONLY (bd,am) = {
348348 let bD = bc(bd)
349349 let bh = bD[0]
350350 let bm = bD[1]
351351 let bn = bD[2]
352352 let bE = v(aM, aE(am, bd))
353353 let bF = split(D(invoke(aM, "claimWxREADONLY", [bd, am], nil)), e)
354354 let bG = valueOrErrorMessage(parseInt(bF[5]), "couldn't parse minRewardPart")
355355 let bH = valueOrErrorMessage(parseInt(bF[6]), "couldn't parse boostRewardPart")
356356 let bI = bF[7]
357357 let bJ = if ((bH == 0))
358358 then (1 * b)
359359 else fraction((bG + bH), b, bG)
360360 $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bh), toString(bm), toString(bn), toString(bE), toString(bJ), bI], e))
361361 }
362362
363363
364364
365365 @Callable(by)
366366 func calcBoostBulkInternalREADONLY (bK,bL,bM,bN,bO,bP,bQ) = if ((bK == size(bL)))
367367 then $Tuple2(nil, bQ)
368368 else {
369369 let bR = bL[bK]
370370 let bS = bM[bK]
371371 let bT = bN[bK]
372372 let bU = bO[bK]
373373 let bV = {
374374 let bW = invoke(this, "calcBoostREADONLY", [bR, bS, bT, bU, bP], nil)
375375 if ($isInstanceOf(bW, "String"))
376376 then bW
377377 else throw(($getType(bW) + " couldn't be cast to String"))
378378 }
379379 let bX = (bQ :+ bV)
380380 let bY = {
381381 let bW = invoke(this, "calcBoostBulkInternalREADONLY", [(bK + 1), bL, bM, bN, bO, bP, bX], nil)
382382 if ($isInstanceOf(bW, "List[Any]"))
383383 then bW
384384 else throw(($getType(bW) + " couldn't be cast to List[Any]"))
385385 }
386386 if ((bY == bY))
387387 then $Tuple2(nil, bY)
388388 else throw("Strict value is not equal to itself.")
389389 }
390390
391391
392392
393393 @Callable(by)
394394 func calcBoostBulkREADONLY (bR,bS,bT,bU,bP) = {
395395 let bX = invoke(this, "calcBoostBulkInternalREADONLY", [0, bR, bS, bT, bU, bP, nil], nil)
396396 $Tuple2(nil, bX)
397397 }
398398
399399
400400
401401 @Callable(by)
402402 func calcBoostREADONLY (bR,bS,bT,bU,bP) = {
403403 let bZ = ba
404404 let ca = "empty"
405405 let cb = parseIntValue(split(t(bb, ag()), e)[4])
406406 let aG = if ((bU == ""))
407407 then ca
408408 else bU
409409 let aF = if ((bP == ""))
410410 then ca
411411 else bP
412412 let cc = valueOrElse(getString(bb, al(bP)), ca)
413413 let cd = valueOrElse(getInteger(bb, ap(cc)), 0)
414414 let ce = valueOrElse(getInteger(bb, ar(cc)), height)
415415 let bq = valueOrElse(getInteger(bb, as(cc)), 0)
416416 let cf = (ce + bq)
417417 let cg = max([(cf - height), 0])
418418 let ch = (cd + bR)
419419 let ci = min([(cg + bS), cb])
420420 let cj = B(x(invoke(bb, "gwxUserInfoREADONLY", [aF], nil))[0])
421421 let ck = bo(ch, ci, cb)[0]
422422 let cl = x(invoke(bZ, "calcGwxParamsREADONLY", [ck, height, ci], nil))
423423 let cm = (ck - cj)
424424 let cn = B(cl[0])
425425 let co = B(cl[1])
426426 let aw = toString(B(cl[2]))
427427 let cp = aA()
428428 let cq = aD()
429429 let cr = ((ck * ci) / 2)
430430 let cs = v(bb, cp)
431431 let ct = valueOrElse(getInteger(bb, cq), 0)
432432 let cu = 1000
433433 let cv = (w(aZ, aN()) * cu)
434434 let cw = aE(aF, aG)
435435 let cx = aH(aG)
436436 let cy = aL(aM, cw)
437437 let cz = aL(aM, cx)
438438 let cA = (cy + bT)
439439 let cB = (cz + bT)
440440 let bg = if ((aG != ca))
441441 then {
442442 let be = valueOrErrorMessage(getString(aX, R(aG)), ("unsupported lp asset " + aG))
443443 getIntegerValue(aX, V(be))
444444 }
445445 else 0
446446 let cC = fraction(cv, bg, (f * 3))
447447 let cD = if ((cB != 0))
448448 then fraction(cC, b, cB)
449449 else 0
450450 let cE = fraction(cD, cA, b)
451451 let cF = (cC * 2)
452452 let cG = fraction(ck, cF, (ct + cm))
453453 let cH = min([cG, (cE * 2)])
454454 let cI = if ((cE == 0))
455455 then (1 * b)
456456 else fraction((cH + cE), b, cE)
457457 $Tuple2(nil, makeString(["%d%d%s", toString(ck), toString(cI), "d"], e))
458458 }
459459
460460
461461
462462 @Callable(by)
463463 func wxEmissionStatsREADONLY () = {
464464 let cJ = toString(b)
465465 let cK = "1"
466466 let bh = w(aZ, aN())
467467 let cL = w(aZ, aP())
468468 let cM = if ((cL > height))
469469 then 0
470470 else (height - cL)
471471 let cN = (1440 * 365)
472472 let cO = (201000000 * b)
473473 let cP = if ((cM > cN))
474474 then cO
475475 else fraction(cO, cM, cN)
476476 let cQ = ((bh * cM) + cP)
477477 let cR = v(bb, ah())
478478 let cS = v(bb, ai())
479479 let cT = v(bb, aj())
480480 $Tuple2(nil, makeString(["%d%d%d%d", toString(cQ), toString(cR), toString(cS), toString(cT)], e))
481481 }
482482
483483
484484
485485 @Callable(by)
486486 func poolStatsREADONLY (cU) = {
487487 let aU = addressFromStringValue(t(aX, U(cU)))
488488 let cV = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
489489 let bd = fromBase58String(D(cV[j]))
490490 let cW = D(cV[k])
491491 let cX = D(cV[l])
492492 let cY = D(cV[o])
493493 let cZ = D(cV[p])
494494 let da = parseIntValue(D(cV[m]))
495495 let db = parseIntValue(D(cV[n]))
496496 let dc = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
497497 let dd = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cW], nil))
498498 let de = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cX], nil))
499499 let df = if ((dc == 0))
500500 then [toString(g), toString(g), toString(g)]
501501 else x(invoke(aU, "calcPricesWrapperREADONLY", [dd, de, dc], nil))
502502 let dg = 0
503503 let dh = B(invoke(aU, "fromX18WrapperREADONLY", [df[1], b], nil))
504504 let di = B(invoke(aU, "fromX18WrapperREADONLY", [df[2], b], nil))
505505 let bg = getIntegerValue(aX, V(toString(aU)))
506506 let dj = aT(aU)
507- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dd), toString(de), toString(dc), toString(dg), toString(dh), toString(di), toString(bg), toString(dj)], e))
507+ let dk = {
508+ let bW = invoke(aX, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aU)], nil)
509+ if ($isInstanceOf(bW, "Boolean"))
510+ then bW
511+ else throw(($getType(bW) + " couldn't be cast to Boolean"))
512+ }
513+ let dl = !(dk)
514+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s", toString(dd), toString(de), toString(dc), toString(dg), toString(dh), toString(di), toString(bg), toString(dj), toString(dl)], e))
508515 }
509516
510517
511518
512519 @Callable(by)
513-func poolEvaluatePutByAmountAssetREADONLY (cU,dk) = {
520+func poolEvaluatePutByAmountAssetREADONLY (cU,dm) = {
514521 let aU = addressFromStringValue(t(aX, U(cU)))
515522 let cV = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
516523 let bd = fromBase58String(D(cV[j]))
517- let dl = D(cV[k])
518- let dm = fromBase58String(dl)
519- let dn = D(cV[l])
524+ let dn = D(cV[k])
520525 let do = fromBase58String(dn)
526+ let dp = D(cV[l])
527+ let dq = fromBase58String(dp)
521528 let da = parseIntValue(D(cV[m]))
522529 let db = parseIntValue(D(cV[n]))
523- let dp = D(cV[i])
530+ let dr = D(cV[i])
524531 let dc = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
525- let dd = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dl], nil))
526- let de = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dn], nil))
527- let dq = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dd, da], nil)))
528- let dr = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [de, db], nil)))
529- let ds = if ((dc == 0))
532+ let dd = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dn], nil))
533+ let de = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
534+ let ds = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dd, da], nil)))
535+ let dt = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [de, db], nil)))
536+ let du = if ((dc == 0))
530537 then g
531- else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dr), toString(dq)], nil)))
532- let dg = B(invoke(aU, "fromX18WrapperREADONLY", [toString(ds), b], nil))
533- let dt = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dk, da], nil)))
534- let du = fraction(dt, ds, d)
535- let dv = B(invoke(aU, "fromX18WrapperREADONLY", [toString(du), db], nil))
536- let bX = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dk, dm, dv, do, "", true, false], nil)
537- let dw = {
538+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dt), toString(ds)], nil)))
539+ let dg = B(invoke(aU, "fromX18WrapperREADONLY", [toString(du), b], nil))
540+ let dv = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dm, da], nil)))
541+ let dw = fraction(dv, du, d)
542+ let dx = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dw), db], nil))
543+ let bX = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dm, do, dx, dq, "", true, false], nil)
544+ let dy = {
538545 let z = bX
539546 if (if (if ($isInstanceOf(z._1, "Int"))
540547 then if ($isInstanceOf(z._3, "Int"))
541548 then if ($isInstanceOf(z._4, "Int"))
542549 then if ($isInstanceOf(z._5, "Int"))
543550 then $isInstanceOf(z._6, "Int")
544551 else false
545552 else false
546553 else false
547554 else false)
548555 then (size(z) == 13)
549556 else false)
550557 then {
551- let dx = z._1
552- let dy = z._3
553- let dz = z._4
554- let dA = z._5
555- let dB = z._6
556- $Tuple5(dx, dy, dz, dA, dB)
558+ let dz = z._1
559+ let dA = z._3
560+ let dB = z._4
561+ let dC = z._5
562+ let dD = z._6
563+ $Tuple5(dz, dA, dB, dC, dD)
557564 }
558565 else throw("Couldn't cast types")
559566 }
560- let dx = dw._1
561- let dy = dw._2
562- let dz = dw._3
563- let dA = dw._4
564- let dB = dw._5
565- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dx), toString(dg), toString(dz), toString(dA), toString(dB), dp, toString(dk), toString(dv)], e))
567+ let dz = dy._1
568+ let dA = dy._2
569+ let dB = dy._3
570+ let dC = dy._4
571+ let dD = dy._5
572+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dz), toString(dg), toString(dB), toString(dC), toString(dD), dr, toString(dm), toString(dx)], e))
566573 }
567574
568575
569576
570577 @Callable(by)
571-func poolEvaluatePutByPriceAssetREADONLY (cU,dv) = {
578+func poolEvaluatePutByPriceAssetREADONLY (cU,dx) = {
572579 let aU = addressFromStringValue(t(aX, U(cU)))
573580 let cV = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
574581 let bd = fromBase58String(D(cV[j]))
575- let dl = D(cV[k])
576- let dm = fromBase58String(dl)
577- let dn = D(cV[l])
582+ let dn = D(cV[k])
578583 let do = fromBase58String(dn)
584+ let dp = D(cV[l])
585+ let dq = fromBase58String(dp)
579586 let da = parseIntValue(D(cV[m]))
580587 let db = parseIntValue(D(cV[n]))
581- let dp = D(cV[i])
588+ let dr = D(cV[i])
582589 let dc = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
583- let dC = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dl], nil))
584- let dD = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dn], nil))
585- let dE = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dC, da], nil)))
586- let dF = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dD, db], nil)))
587- let ds = if ((dc == 0))
590+ let dE = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dn], nil))
591+ let dF = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
592+ let dG = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dE, da], nil)))
593+ let dH = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dF, db], nil)))
594+ let du = if ((dc == 0))
588595 then g
589- else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dF), toString(dE)], nil)))
590- let dg = B(invoke(aU, "fromX18WrapperREADONLY", [toString(ds), b], nil))
591- let du = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dv, db], nil)))
592- let dt = fraction(du, d, ds)
593- let dk = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dt), da], nil))
594- let bX = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dk, dm, dv, do, "", true, false], nil)
595- let dG = {
596+ else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dH), toString(dG)], nil)))
597+ let dg = B(invoke(aU, "fromX18WrapperREADONLY", [toString(du), b], nil))
598+ let dw = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dx, db], nil)))
599+ let dv = fraction(dw, d, du)
600+ let dm = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dv), da], nil))
601+ let bX = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, dm, do, dx, dq, "", true, false], nil)
602+ let dI = {
596603 let z = bX
597604 if (if (if ($isInstanceOf(z._1, "Int"))
598605 then if ($isInstanceOf(z._3, "Int"))
599606 then if ($isInstanceOf(z._4, "Int"))
600607 then if ($isInstanceOf(z._5, "Int"))
601608 then $isInstanceOf(z._6, "Int")
602609 else false
603610 else false
604611 else false
605612 else false)
606613 then (size(z) == 13)
607614 else false)
608615 then {
609- let dx = z._1
610- let dy = z._3
611- let dz = z._4
612- let dA = z._5
613- let dB = z._6
614- $Tuple5(dx, dy, dz, dA, dB)
616+ let dz = z._1
617+ let dA = z._3
618+ let dB = z._4
619+ let dC = z._5
620+ let dD = z._6
621+ $Tuple5(dz, dA, dB, dC, dD)
615622 }
616623 else throw("Couldn't cast types")
617624 }
618- let dx = dG._1
619- let dy = dG._2
620- let dz = dG._3
621- let dA = dG._4
622- let dB = dG._5
623- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dx), toString(dg), toString(dz), toString(dA), toString(dB), dp, toString(dk), toString(dv)], e))
625+ let dz = dI._1
626+ let dA = dI._2
627+ let dB = dI._3
628+ let dC = dI._4
629+ let dD = dI._5
630+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dz), toString(dg), toString(dB), toString(dC), toString(dD), dr, toString(dm), toString(dx)], e))
624631 }
625632
626633
627634
628635 @Callable(by)
629-func poolEvaluateGetREADONLY (dH,dI) = {
630- let aU = addressFromStringValue(t(aX, U(dH)))
631- let bX = invoke(aU, "estimateGetOperationWrapperREADONLY", ["", dH, dI, toString(aU)], nil)
632- let dJ = {
636+func poolEvaluateGetREADONLY (dJ,dK) = {
637+ let aU = addressFromStringValue(t(aX, U(dJ)))
638+ let bX = invoke(aU, "estimateGetOperationWrapperREADONLY", ["", dJ, dK, toString(aU)], nil)
639+ let dL = {
633640 let z = bX
634641 if (if (if ($isInstanceOf(z._1, "Int"))
635642 then if ($isInstanceOf(z._2, "Int"))
636643 then if ($isInstanceOf(z._5, "Int"))
637644 then if ($isInstanceOf(z._6, "Int"))
638645 then if ($isInstanceOf(z._7, "Int"))
639646 then if ($isInstanceOf(z._8, "String"))
640647 then $isInstanceOf(z._9, "String")
641648 else false
642649 else false
643650 else false
644651 else false
645652 else false
646653 else false)
647654 then (size(z) == 10)
648655 else false)
649656 then {
650- let dK = z._1
651- let dL = z._2
652- let dz = z._5
653- let dA = z._6
654- let dB = z._7
657+ let dM = z._1
658+ let dN = z._2
659+ let dB = z._5
660+ let dC = z._6
661+ let dD = z._7
655662 let dg = z._8
656- let dp = z._9
657- $Tuple7(dK, dL, dz, dA, dB, dg, dp)
663+ let dr = z._9
664+ $Tuple7(dM, dN, dB, dC, dD, dg, dr)
658665 }
659666 else throw("Couldn't cast types")
660667 }
661- let dK = dJ._1
662- let dL = dJ._2
663- let dz = dJ._3
664- let dA = dJ._4
665- let dB = dJ._5
666- let dg = dJ._6
667- let dp = dJ._7
668- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dK), toString(dL), toString(dz), toString(dA), toString(dB), dg, dp], e))
668+ let dM = dL._1
669+ let dN = dL._2
670+ let dB = dL._3
671+ let dC = dL._4
672+ let dD = dL._5
673+ let dg = dL._6
674+ let dr = dL._7
675+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dM), toString(dN), toString(dB), toString(dC), toString(dD), dg, dr], e))
669676 }
670677
671678
672679
673680 @Callable(by)
674681 func gwxUserInfoREADONLY (am) = {
675- let dM = x(invoke(bb, "gwxUserInfoREADONLY", [am], nil))
676- let dN = B(dM[0])
677- $Tuple2(nil, makeString(["%d", toString(dN)], e))
682+ let dO = x(invoke(bb, "gwxUserInfoREADONLY", [am], nil))
683+ let dP = B(dO[0])
684+ $Tuple2(nil, makeString(["%d", toString(dP)], e))
678685 }
679686
680687
681688
682689 @Callable(by)
683-func unstakeAndGetOneTknV2 (aU,dO,dP,dQ) = {
684- let bY = invoke(addressFromStringValue(aU), "unstakeAndGetOneTknV2", [dO, dP, dQ], nil)
685- if ((bY == bY))
686- then $Tuple2(nil, unit)
687- else throw("Strict value is not equal to itself.")
688- }
689-
690-
691-
692-@Callable(by)
693-func setManager (dR) = {
690+func setManager (dQ) = {
694691 let bC = bx(by)
695692 if ((bC == bC))
696693 then {
697- let dS = fromBase58String(dR)
698- if ((dS == dS))
699- then [StringEntry(H(), dR)]
694+ let dR = fromBase58String(dQ)
695+ if ((dR == dR))
696+ then [StringEntry(H(), dQ)]
700697 else throw("Strict value is not equal to itself.")
701698 }
702699 else throw("Strict value is not equal to itself.")
703700 }
704701
705702
706703
707704 @Callable(by)
708705 func confirmManager () = {
709- let dT = bw()
710- let dU = if (isDefined(dT))
706+ let dS = bw()
707+ let dT = if (isDefined(dS))
711708 then true
712709 else throw("No pending manager")
713- if ((dU == dU))
710+ if ((dT == dT))
714711 then {
715- let dV = if ((by.callerPublicKey == value(dT)))
712+ let dU = if ((by.callerPublicKey == value(dS)))
716713 then true
717714 else throw("You are not pending manager")
718- if ((dV == dV))
719- then [StringEntry(G(), toBase58String(value(dT))), DeleteEntry(H())]
715+ if ((dU == dU))
716+ then [StringEntry(G(), toBase58String(value(dS))), DeleteEntry(H())]
720717 else throw("Strict value is not equal to itself.")
721718 }
722719 else throw("Strict value is not equal to itself.")
723720 }
724721
725722
726-@Verifier(dW)
727-func dX () = {
728- let dY = {
723+@Verifier(dV)
724+func dW () = {
725+ let dX = {
729726 let z = bu()
730727 if ($isInstanceOf(z, "ByteVector"))
731728 then {
732729 let bA = z
733730 bA
734731 }
735732 else if ($isInstanceOf(z, "Unit"))
736- then dW.senderPublicKey
733+ then dV.senderPublicKey
737734 else throw("Match error")
738735 }
739- sigVerify(dW.bodyBytes, dW.proofs[0], dY)
736+ sigVerify(dV.bodyBytes, dV.proofs[0], dX)
740737 }
741738

github/deemru/w8io/169f3d6 
104.24 ms