tx · FYMgaBisNouzjQoPkZXzt89ineHNvhD7b7Q3ZBhh71aZ

3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp:  -0.02300000 Waves

2023.05.02 14:32 [2560086] smart account 3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp > SELF 0.00000000 Waves

{ "type": 13, "id": "FYMgaBisNouzjQoPkZXzt89ineHNvhD7b7Q3ZBhh71aZ", "fee": 2300000, "feeAssetId": null, "timestamp": 1683027169477, "version": 2, "chainId": 84, "sender": "3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp", "senderPublicKey": "86RHVxKovtU7yKnepY8wKsd8niDxGAsiwuA1XA1DNqrS", "proofs": [ "5QsCpRZV6GBxKYsiqUF9Jsc2SYy3S1uVsTrGgrmHRXSGbF4xangRVJwqYwvLsssintjHZ4UUqn8Cb9DF4HmPJsE2" ], "script": "base64:BgLkIAgCEgMKAQgSAwoBCBIECgIICBIJCgcBERERGAgYEgcKBRERERgIEgcKBQEBAQgIEgASAwoBCBIECgIIARIECgIIARIECgIIARIDCgEIEgYKBAgBCAESBQoDARgYEgMKARgiBlNDQUxFOCIFTVVMVDgiB1NDQUxFMTgiBk1VTFQxOCIDU0VQIg5QT09MV0VJR0hUTVVMVCIKemVyb0JpZ0ludCIOaWR4UG9vbEFkZHJlc3MiDWlkeFBvb2xTdGF0dXMiEGlkeFBvb2xMUEFzc2V0SWQiDWlkeEFtdEFzc2V0SWQiD2lkeFByaWNlQXNzZXRJZCIOaWR4QW10QXNzZXREY20iEGlkeFByaWNlQXNzZXREY20iDmlkeElBbXRBc3NldElkIhBpZHhJUHJpY2VBc3NldElkIg1pZHhMUEFzc2V0RGNtIg9nZXRTdHJpbmdPckZhaWwiA2tleSIYZ2V0U3RyaW5nQnlBZGRyZXNzT3JGYWlsIgdhZGRyZXNzIgxnZXRJbnRPclplcm8iDGdldEludE9yRmFpbCIJYXNBbnlMaXN0IgN2YWwiByRtYXRjaDAiCnZhbEFueUx5c3QiBWFzSW50IgZ2YWxJbnQiCGFzU3RyaW5nIgZ2YWxTdHIiEWtleUZhY3RvcnlBZGRyZXNzIhhJZHhGYWN0b3J5Q2ZnU3Rha2luZ0RhcHAiGUlkeEZhY3RvcnlDZmdCb29zdGluZ0RhcHAiFElkeEZhY3RvcnlDZmdJZG9EYXBwIhVJZHhGYWN0b3J5Q2ZnVGVhbURhcHAiGUlkeEZhY3RvcnlDZmdFbWlzc2lvbkRhcHAiFUlkeEZhY3RvcnlDZmdSZXN0RGFwcCIZSWR4RmFjdG9yeUNmZ1NsaXBwYWdlRGFwcCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiDWtleUZhY3RvcnlDZmciGmtleUZhY3RvcnlMcDJBc3NldHNNYXBwaW5nIgpscEFzc2V0U3RyIhBrZXlGYWN0b3J5THBMaXN0IiZrZXlGYWN0b3J5THBBc3NldFRvUG9vbENvbnRyYWN0QWRkcmVzcyIUa2V5RmFjdG9yeVBvb2xXZWlnaHQiD2NvbnRyYWN0QWRkcmVzcyIWa2V5TWFuYWdlclZhdWx0QWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIYcmVhZEZhY3RvcnlBZGRyZXNzT3JGYWlsIgpyZWFkTHBMaXN0IhRyZWFkRmFjdG9yeUNmZ09yRmFpbCIHZmFjdG9yeSIYZ2V0Qm9vc3RpbmdBZGRyZXNzT3JGYWlsIgRmQ2ZnIhhnZXRFbWlzc2lvbkFkZHJlc3NPckZhaWwiF2dldFN0YWtpbmdBZGRyZXNzT3JGYWlsIhlnZXRHd3hSZXdhcmRBZGRyZXNzT3JGYWlsIhdnZXRNYW5hZ2VyQWRkcmVzc09yRmFpbCILa2V5Qm9vc3RDZmciH2tleUJvb3N0aW5nTG9ja1BhcmFtVG90YWxBbW91bnQiKGtleUJvb3N0aW5nU3RhdHNMb2Nrc0R1cmF0aW9uU3VtSW5CbG9ja3MiGmtleUJvb3N0aW5nU3RhdHNMb2Nrc0NvdW50IhprZXlCb29zdGluZ1N0YXRzVXNlcnNDb3VudCISa2V5VXNlcjJOdW1NYXBwaW5nIgt1c2VyQWRkcmVzcyISa2V5TnVtMlVzZXJNYXBwaW5nIgNudW0iFmtleUxvY2tQYXJhbVVzZXJBbW91bnQiB3VzZXJOdW0iFmtleUxvY2tQYXJhbVN0YXJ0QmxvY2siFGtleUxvY2tQYXJhbUR1cmF0aW9uIg1rZXlMb2NrUGFyYW1LIg1rZXlMb2NrUGFyYW1CIhVrZXlMb2NrUGFyYW1CeVBlcmlvZEsiBnBlcmlvZCIVa2V5TG9ja1BhcmFtQnlQZXJpb2RCIiBrZXlVc2VyQm9vc3RFbWlzc2lvbkxhc3RJTlRFR1JBTCIXa2V5VXNlck1heEJvb3N0SU5URUdSQUwiGGtleVRvdGFsTWF4Qm9vc3RJTlRFR1JBTCIha2V5VXNlckJvb3N0QXZhbGFpYmxlVG9DbGFpbVRvdGFsIhNrZXlVc2VyQm9vc3RDbGFpbWVkIhFrZXlUb3RhbENhY2hlZEd3eCIPa2V5U3Rha2VkQnlVc2VyIg51c2VyQWRkcmVzc1N0ciIMbHBBc3NldElkU3RyIg5rZXlTdGFrZWRUb3RhbCIQa2V5Q2xhaW1lZEJ5VXNlciIZa2V5Q2xhaW1lZEJ5VXNlck1pblJld2FyZCIba2V5Q2xhaW1lZEJ5VXNlckJvb3N0UmV3YXJkIgpyZWFkU3Rha2VkIgtzdGFraW5nRGFwcCIea2V5RW1pc3Npb25SYXRlUGVyQmxvY2tDdXJyZW50IiFrZXlFbWlzc2lvblJhdGVQZXJCbG9ja01heEN1cnJlbnQiFWtleUVtaXNzaW9uU3RhcnRCbG9jayIba2V5RW1pc3Npb25EdXJhdGlvbkluQmxvY2tzIhNrZXlFbWlzc2lvbkVuZEJsb2NrIgtmYWN0b3J5RGFwcCIKZmFjdG9yeUNmZyIMZW1pc3Npb25EYXBwIg1nd3hSZXdhcmREYXBwIgxib29zdGluZ0RhcHAiDGdldFBvb2xJbkZlZSILcG9vbEFkZHJlc3MiAUAiDWdldFBvb2xPdXRGZWUiGWludGVybmFsQ3VycmVudFJld2FyZFJhdGUiCWxwQXNzZXRJZCIOcG9vbEFkZHJlc3NTdHIiDnBvb2xXZWlnaHRNdWx0Igpwb29sV2VpZ2h0IhJ3eEVtaXNzaW9uUGVyQmxvY2siFXd4RW1pc3Npb25QZXJCbG9ja01heCINYm9vc3RNYXhDb2VmZiIWcG9vbFd4RW1pc3Npb25QZXJCbG9jayIZcG9vbFd4RW1pc3Npb25QZXJCbG9ja01heCIJbWF4RmFjdG9yIg10b3RhbExwU3Rha2VkIhpjYWxjR3d4QW1vdW50U3RhcnRSRUFET05MWSIKbG9ja0Ftb3VudCIMbG9ja0R1cmF0aW9uIg9tYXhMb2NrRHVyYXRpb24iB2NvZWZmWDgiDmdXeEFtb3VudFN0YXJ0IgZnZXRLZXkiBGFkZHIiBHR5cGUiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiE21hbmFnZXJWYXVsdEFkZHJlc3MiAXMiCWlzTWFuYWdlciIBaSICcGsiC211c3RNYW5hZ2VyIg5mYWN0b3J5QWRkcmVzcyILY2hlY2tDYWxsZXIiCnJld2FyZERhdGEiEnZvdGluZ1Jlc3VsdFN0YWtlZCIObHBTdGFrZWRCeVVzZXIiDXVzZXJDbGFpbUluZm8iDW1pblJld2FyZFBhcnQiD2Jvb3N0UmV3YXJkUGFydCIFZGVidWciDWJvb3N0aW5nUG93ZXIiC2N1cnJlbnRJdGVyIhFkZWx0YVd4QW1vdW50QnVsayIbZGVsdGFMb2NrUGVyaW9kSW5CbG9ja3NCdWxrIhFkZWx0YUxwQW1vdW50QnVsayIQbHBBc3NldElkT3B0QnVsayIOdXNlckFkZHJlc3NPcHQiBnJlc0FjYyINZGVsdGFXeEFtb3VudCIXZGVsdGFMb2NrUGVyaW9kSW5CbG9ja3MiDWRlbHRhTHBBbW91bnQiDGxwQXNzZXRJZE9wdCIEaW5mbyIDcmVzIgNpbnYiCmJvb3N0Q29lZmYiCG1hdGhEYXBwIghFTVBUWVNUUiIXbWF4TG9ja0R1cmF0aW9uSW5CbG9ja3MiCnVzZXJOdW1TdHIiCnVzZXJBbW91bnQiCWxvY2tTdGFydCIHbG9ja0VuZCIRcmVtYWluaW5nRHVyYXRpb24iDXVzZXJBbW91bnROZXciD2xvY2tEdXJhdGlvbk5ldyIRdXNlckN1cnJnV3hBbW91bnQiEWdXeEFtb3VudFN0YXJ0TmV3Ig50b3RhbENhY2hlZEd3eCIFTVVMVDMiFHd4RW1pc3Npb25QZXJCbG9ja1gzIg9zdGFrZWRCeVVzZXJLRVkiDnN0YWtlZFRvdGFsS0VZIgxzdGFrZWRCeVVzZXIiC3N0YWtlZFRvdGFsIhhwb29sV3hFbWlzc2lvblBlckJsb2NrWDMiCXd4UGVyTHBYMyIQdXNlcld4UGVyQmxvY2tYMyIXYm9vc3RFbWlzc2lvblBlckJsb2NrWDMiFnRtcFVzZXJCb29zdFBlckJsb2NrWDMiE3VzZXJCb29zdFBlckJsb2NrWDMiDnVzZXJCb29zdENvZWZmIgdPTkVNVUxUIgNPTkUiEmVtaXNzaW9uU3RhcnRCbG9jayIMcGFzc2VkQmxvY2tzIg50ZWFtRW1EdXJhdGlvbiIJdGVhbUVtTWF4IgZ0ZWFtRW0iD3RvdGFsV3hSZWxlYXNlZCINdG90YWxXeExvY2tlZCIYbG9ja3NEdXJhdGlvblN1bUluQmxvY2tzIgpsb2Nrc0NvdW50IgdscEFzc2V0IgZzdGF0dXMiA3RwbCIDY2ZnIgphbXRBc3NldElkIgxwcmljZUFzc2V0SWQiC2lBbXRBc3NldElkIg1pUHJpY2VBc3NldElkIgthbXRBc3NldERjbSINcHJpY2VBc3NldERjbSINcG9vbExQQmFsYW5jZSISYWNjQW10QXNzZXRCYWxhbmNlIhRhY2NQcmljZUFzc2V0QmFsYW5jZSIKcHJpY2VzTGlzdCIIY3VyUHJpY2UiD2xwQW10QXNzZXRTaGFyZSIRbHBQcmljZUFzc2V0U2hhcmUiBWluRmVlIgZvdXRGZWUiHnBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIdcG9vbE9uZVRva2VuT3BlcmF0aW9uc0VuYWJsZWQiDGluQW1Bc3NldEFtdCIMYW1Bc3NldElkU3RyIglhbUFzc2V0SWQiDHByQXNzZXRJZFN0ciIJcHJBc3NldElkIgpwb29sU3RhdHVzIg5hbXRBc3NldEFtdFgxOCIQcHJpY2VBc3NldEFtdFgxOCILY3VyUHJpY2VYMTgiD2luQW1Bc3NldEFtdFgxOCIPaW5QckFzc2V0QW10WDE4IgxpblByQXNzZXRBbXQiDSR0MDIyNjI3MjI5ODAiCWNhbGNMcEFtdCIMY3VyUHJpY2VDYWxjIglhbUJhbGFuY2UiCXByQmFsYW5jZSIKbHBFbWlzc2lvbiIMYW1CYWxhbmNlUmF3IgxwckJhbGFuY2VSYXciD2FtQmFsYW5jZVJhd1gxOCIPcHJCYWxhbmNlUmF3WDE4Ig0kdDAyNTU1MzI1OTA2IhBwYXltZW50THBBc3NldElkIgxwYXltZW50THBBbXQiDSR0MDI2NjAxMjcwMTgiCG91dEFtQW10IghvdXRQckFtdCIPZ3d4VXNlckluZm9MSVNUIglnd3hBbW91bnQiDXVuc3Rha2VBbW91bnQiCm91dEFzc2V0SWQiDG1pbk91dEFtb3VudCIEa2V5cyIBayICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5XQABYQAIAAFiAIDC1y8AAWMAEgABZAkAtgIBAICAkLu61q3wDQABZQICX18AAWYFAWIAAWcJALYCAQAAAAFoAAEAAWkAAgABagADAAFrAAQAAWwABQABbQAGAAFuAAcAAW8ACAABcAAJAAFxAAoBAXIBAXMJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBBQFzCQCsAgIJAKwCAgIPbWFuZGF0b3J5IHRoaXMuBQFzAg8gaXMgbm90IGRlZmluZWQBAXQCAXUBcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFAXUFAXMJAKwCAgkArAICCQCsAgIJAKwCAgIKbWFuZGF0b3J5IAkApQgBBQF1AgEuBQFzAg8gaXMgbm90IGRlZmluZWQBAXYCAXUBcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQF1BQFzAAABAXcCAXUBcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFAXUFAXMJAKwCAgkArAICAg9tYW5kYXRvcnkgdGhpcy4FAXMCDyBpcyBub3QgZGVmaW5lZAEBeAEBeQQBegUBeQMJAAECBQF6AglMaXN0W0FueV0EAUEFAXoFAUEJAAIBAhtmYWlsIHRvIGNhc3QgaW50byBMaXN0W0FueV0BAUIBAXkEAXoFAXkDCQABAgUBegIDSW50BAFDBQF6BQFDCQACAQIVZmFpbCB0byBjYXN0IGludG8gSW50AQFEAQF5BAF6BQF5AwkAAQIFAXoCBlN0cmluZwQBRQUBegUBRQkAAgECGGZhaWwgdG8gY2FzdCBpbnRvIFN0cmluZwEBRgACHCVzJXNfX2NvbmZpZ19fZmFjdG9yeUFkZHJlc3MAAUcAAQABSAACAAFJAAMAAUoABAABSwAFAAFMAAYAAU0ABwABTgAIAQFPAAIRJXNfX2ZhY3RvcnlDb25maWcBAVABAVEJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgUBUQkAzAgCAh5tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QFA25pbAUBZQEBUgACECVzX19scFRva2Vuc0xpc3QBAVMBAVEJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgUBUQkAzAgCAh5tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QFA25pbAUBZQEBVAEBVQkAuQkCCQDMCAICBCVzJXMJAMwIAgIKcG9vbFdlaWdodAkAzAgCBQFVBQNuaWwFAWUBAVYAAhclc19fbWFuYWdlclZhdWx0QWRkcmVzcwEBVwACFCVzX19tYW5hZ2VyUHVibGljS2V5AQFYAAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAXIBCQEBRgABAVkACQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgkBAVgACQEBUgACAAUBZQEBWgECYWEJALUJAgkBAXQCBQJhYQkBAU8ABQFlAQJhYgECYWMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYWMFAUgBAmFkAQJhYwkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJhYwUBSwECYWUBAmFjCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmFjBQFHAQJhZgECYWMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYWMFAU4BAmFnAAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQkBAVYAAQJhaAACCiVzX19jb25maWcBAmFpAAIeJXMlc19fc3RhdHNfX2FjdGl2ZVRvdGFsTG9ja2VkAQJhagACJSVzJXNfX3N0YXRzX19sb2Nrc0R1cmF0aW9uU3VtSW5CbG9ja3MBAmFrAAIXJXMlc19fc3RhdHNfX2xvY2tzQ291bnQBAmFsAAIdJXMlc19fc3RhdHNfX2FjdGl2ZVVzZXJzQ291bnQBAmFtAQJhbgkAuQkCCQDMCAICGSVzJXMlc19fbWFwcGluZ19fdXNlcjJudW0JAMwIAgUCYW4FA25pbAUBZQECYW8BAmFwCQC5CQIJAMwIAgIZJXMlcyVzX19tYXBwaW5nX19udW0ydXNlcgkAzAgCBQJhcAUDbmlsBQFlAQJhcQECYXIJALkJAgkAzAgCAhYlcyVkJXNfX3BhcmFtQnlVc2VyTnVtCQDMCAIFAmFyCQDMCAICBmFtb3VudAUDbmlsBQFlAQJhcwECYXIJALkJAgkAzAgCAhYlcyVkJXNfX3BhcmFtQnlVc2VyTnVtCQDMCAIFAmFyCQDMCAICBXN0YXJ0BQNuaWwFAWUBAmF0AQJhcgkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXIJAMwIAgIIZHVyYXRpb24FA25pbAUBZQECYXUBAmFyCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhcgkAzAgCAgFrBQNuaWwFAWUBAmF2AQJhcgkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXIJAMwIAgIBYgUDbmlsBQFlAQJhdwICYXICYXgJALkJAgkAzAgCAhclcyVkJXMlZF9fcGFyYW1CeVBlcmlvZAkAzAgCBQJhcgkAzAgCAgFrCQDMCAIFAmF4BQNuaWwFAWUBAmF5AgJhcgJheAkAuQkCCQDMCAICFyVzJWQlcyVkX19wYXJhbUJ5UGVyaW9kCQDMCAIFAmFyCQDMCAICAWIJAMwIAgUCYXgFA25pbAUBZQECYXoBAmFyCQC5CQIJAMwIAgIeJXMlZF9fdXNlckJvb3N0RW1pc3Npb25MYXN0SW50CQDMCAIFAmFyBQNuaWwFAWUBAmFBAQJhcgkAuQkCCQDMCAICESVzJWRfX21heEJvb3N0SW50CQDMCAIFAmFyBQNuaWwFAWUBAmFCAAIYJXMlc19fbWF4Qm9vc3RJbnRfX3RvdGFsAQJhQwECYXIJALkJAgkAzAgCAiQlcyVkX191c2VyQm9vc3RBdmFsaWFibGVUb0NsYWltVG90YWwJAMwIAgUCYXIFA25pbAUBZQECYUQBAmFyCQC5CQIJAMwIAgIWJXMlZF9fdXNlckJvb3N0Q2xhaW1lZAkAzAgCBQJhcgUDbmlsBQFlAQJhRQACFiVzJXNfX2d3eENhY2hlZF9fdG90YWwBAmFGAgJhRwJhSAkAuQkCCQDMCAICDiVzJXMlc19fc3Rha2VkCQDMCAIFAmFHCQDMCAIFAmFIBQNuaWwFAWUBAmFJAQJhSAkArAICAhclcyVzJXNfX3N0YWtlZF9fdG90YWxfXwUCYUgBAmFKAgJhSAJhRwkAuQkCCQDMCAICDyVzJXMlc19fY2xhaW1lZAkAzAgCBQJhRwkAzAgCBQJhSAUDbmlsBQFlAQJhSwICYUgCYUcJALkJAgkAzAgCAhglcyVzJXNfX2NsYWltZWRNaW5SZXdhcmQJAMwIAgUCYUcJAMwIAgUCYUgFA25pbAUBZQECYUwCAmFIAmFHCQC5CQIJAMwIAgIaJXMlcyVzX19jbGFpbWVkQm9vc3RSZXdhcmQJAMwIAgUCYUcJAMwIAgUCYUgFA25pbAUBZQECYU0CAmFOAXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUCYU4FAXMAAAECYU8AAhslcyVzX19yYXRlUGVyQmxvY2tfX2N1cnJlbnQBAmFQAAIeJXMlc19fcmF0ZVBlckJsb2NrTWF4X19jdXJyZW50AQJhUQACGiVzJXNfX2VtaXNzaW9uX19zdGFydEJsb2NrAQJhUgACGCVzJXNfX2VtaXNzaW9uX19kdXJhdGlvbgECYVMAAhglcyVzX19lbWlzc2lvbl9fZW5kQmxvY2sAAmFUCQEBWAAAAmFVCQEBWgEFAmFUAAJhVgkBAmFkAQUCYVUAAmFOCQECYWUBBQJhVQACYVcJAQJhZgEFAmFVAAJhWAkBAmFiAQUCYVUBAmFZAQJhWgoAAmJhCQD8BwQFAmFUAhBnZXRJbkZlZVJFQURPTkxZCQDMCAIJAKUIAQUCYVoFA25pbAUDbmlsAwkAAQIFAmJhAgNJbnQFAmJhCQACAQkArAICCQADAQUCYmECGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAECYmIBAmFaCgACYmEJAPwHBAUCYVQCEWdldE91dEZlZVJFQURPTkxZCQDMCAIJAKUIAQUCYVoFA25pbAUDbmlsAwkAAQIFAmJhAgNJbnQFAmJhCQACAQkArAICCQADAQUCYmECGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAECYmMBAmJkBAJiZQkBAXQCBQJhVAkBAVMBBQJiZAQCYmYFAWIEAmJnCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJhVAkBAVQBBQJiZQQCYmgJAQF3AgUCYVYJAQJhTwAEAmJpCQEBdwIFAmFWCQECYVAABAJiagoAAmJhCQD8BwQFAmFWAhVnZXRCb29zdENvZWZmUkVBRE9OTFkFA25pbAUDbmlsAwkAAQIFAmJhAgNJbnQFAmJhCQACAQkArAICCQADAQUCYmECGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCYmsJAGkCCQBrAwUCYmgFAmJnBQJiZgUCYmoEAmJsCQBrAwUCYmkFAmJnBQJiZgQCYm0JAGgCBQJiagUBYgQCYm4JAQF2AgUCYU4JAQJhSQEFAmJkCQDMCAIFAmJrCQDMCAIFAmJtCQDMCAIFAmJuBQNuaWwBAmJvAwJicAJicQJicgQCYnMJAGsDBQJicQUBYgUCYnIEAmJ0CQBrAwUCYnAFAmJzBQFiCQDMCAIFAmJ0BQNuaWwBAmJ1AwJidgFzAmJ3AwkAAAIFAmJ3AgZzdHJpbmcJARFAZXh0ck5hdGl2ZSgxMDUzKQIFAmJ2BQFzAwkAAAIFAmJ3AgdpbnRlZ2VyCQCkAwEJARFAZXh0ck5hdGl2ZSgxMDUwKQIFAmJ2BQFzAwkAAAIFAmJ3Agdib29sZWFuCQClAwEJARFAZXh0ck5hdGl2ZSgxMDUxKQIFAmJ2BQFzCQACAQItdW5rbm93biB0eXBlLiBleHBlY3RlZCBzdHJpbmcvaW50ZWdlci9ib29sZWFuAQJieAAEAmJ5CQECYWcABAF6CQCdCAIFAmJ5CQEBVwADCQABAgUBegIGU3RyaW5nBAJiegUBegkA2QQBBQJiegMJAAECBQF6AgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmJBAQJiQgQBegkBAmJ4AAMJAAECBQF6AgpCeXRlVmVjdG9yBAJiQwUBegkAAAIIBQJiQg9jYWxsZXJQdWJsaWNLZXkFAmJDAwkAAQIFAXoCBFVuaXQJAAACCAUCYkIGY2FsbGVyBQR0aGlzCQACAQILTWF0Y2ggZXJyb3IBAmJEAQJiQgMJAQJiQQEFAmJCBgkAAgECEXBlcm1pc3Npb24gZGVuaWVkDwJiQgELY29uc3RydWN0b3IBAmJFBAJiRgkBAmJEAQUCYkIDCQAAAgUCYkYFAmJGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFGAAUCYkUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiQgEZY3VycmVudFJld2FyZFJhdGVSRUFET05MWQECYmQEAmJHCQECYmMBBQJiZAQCYmgJAJEDAgUCYkcAAAQCYm0JAJEDAgUCYkcAAQQCYm4JAJEDAgUCYkcAAgQCYkgKAAJiYQkA/AcEBQJhWAIdZ2V0Vm90aW5nUmVzdWx0U3Rha2VkUkVBRE9OTFkJAMwIAgUCYmQFA25pbAUDbmlsAwkAAQIFAmJhAgNJbnQFAmJhCQACAQkArAICCQADAQUCYmECGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAkAlAoCBQNuaWwJALkJAgkAzAgCAgglZCVkJWQlZAkAzAgCCQCkAwEFAmJoCQDMCAIJAKQDAQUCYm0JAMwIAgkApAMBBQJibgkAzAgCCQCkAwEFAmJIBQNuaWwFAWUCYkIBHWN1cnJlbnRVc2VyUmV3YXJkUmF0ZVJFQURPTkxZAgJiZAJhbgQCYkcJAQJiYwEFAmJkBAJiaAkAkQMCBQJiRwAABAJibQkAkQMCBQJiRwABBAJibgkAkQMCBQJiRwACBAJiSQkBAXYCBQJhTgkBAmFGAgUCYW4FAmJkBAJiSgkAtQkCCQEBRAEJAPwHBAUCYU4CD2NsYWltV3hSRUFET05MWQkAzAgCBQJiZAkAzAgCBQJhbgUDbmlsBQNuaWwFAWUEAmJLCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQJiSgAFAhxjb3VsZG4ndCBwYXJzZSBtaW5SZXdhcmRQYXJ0BAJiTAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUCYkoABgIeY291bGRuJ3QgcGFyc2UgYm9vc3RSZXdhcmRQYXJ0BAJiTQkAkQMCBQJiSgAHBAJiTgMJAAACBQJiTAAACQBoAgABBQFiCQBrAwkAZAIFAmJLBQJiTAUBYgUCYksJAJQKAgUDbmlsCQC5CQIJAMwIAgIMJWQlZCVkJWQlZCVzCQDMCAIJAKQDAQUCYmgJAMwIAgkApAMBBQJibQkAzAgCCQCkAwEFAmJuCQDMCAIJAKQDAQUCYkkJAMwIAgkApAMBBQJiTgkAzAgCBQJiTQUDbmlsBQFlAmJCAR1jYWxjQm9vc3RCdWxrSW50ZXJuYWxSRUFET05MWQcCYk8CYlACYlECYlICYlMCYlQCYlUDCQAAAgUCYk8JAJADAQUCYlAJAJQKAgUDbmlsBQJiVQQCYlYJAJEDAgUCYlAFAmJPBAJiVwkAkQMCBQJiUQUCYk8EAmJYCQCRAwIFAmJSBQJiTwQCYlkJAJEDAgUCYlMFAmJPBAJiWgoAAmJhCQD8BwQFBHRoaXMCEWNhbGNCb29zdFJFQURPTkxZCQDMCAIFAmJWCQDMCAIFAmJXCQDMCAIFAmJYCQDMCAIFAmJZCQDMCAIFAmJUBQNuaWwFA25pbAMJAAECBQJiYQIGU3RyaW5nBQJiYQkAAgEJAKwCAgkAAwEFAmJhAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcEAmNhCQDNCAIFAmJVBQJiWgQCY2IKAAJiYQkA/AcEBQR0aGlzAh1jYWxjQm9vc3RCdWxrSW50ZXJuYWxSRUFET05MWQkAzAgCCQBkAgUCYk8AAQkAzAgCBQJiUAkAzAgCBQJiUQkAzAgCBQJiUgkAzAgCBQJiUwkAzAgCBQJiVAkAzAgCBQJjYQUDbmlsBQNuaWwDCQABAgUCYmECCUxpc3RbQW55XQUCYmEJAAIBCQCsAgIJAAMBBQJiYQIeIGNvdWxkbid0IGJlIGNhc3QgdG8gTGlzdFtBbnldAwkAAAIFAmNiBQJjYgkAlAoCBQNuaWwFAmNiCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJCARVjYWxjQm9vc3RCdWxrUkVBRE9OTFkFAmJWAmJXAmJYAmJZAmJUBAJjYQkA/AcEBQR0aGlzAh1jYWxjQm9vc3RCdWxrSW50ZXJuYWxSRUFET05MWQkAzAgCAAAJAMwIAgUCYlYJAMwIAgUCYlcJAMwIAgUCYlgJAMwIAgUCYlkJAMwIAgUCYlQJAMwIAgUDbmlsBQNuaWwFA25pbAkAlAoCBQNuaWwFAmNhAmJCARFjYWxjQm9vc3RSRUFET05MWQUCYlYCYlcCYlgCYlkCYlQEAmNjCgACYmEJAPwHBAUCYVYCFWdldEJvb3N0Q29lZmZSRUFET05MWQUDbmlsBQNuaWwDCQABAgUCYmECA0ludAUCYmEJAAIBCQCsAgIJAAMBBQJiYQIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50BAJjZAUCYVcEAmNlAgVlbXB0eQQCY2YJAQ1wYXJzZUludFZhbHVlAQkAkQMCCQC1CQIJAQF0AgUCYVgJAQJhaAAFAWUABAQCYUgDCQAAAgUCYlkCAAUCY2UFAmJZBAJhRwMJAAACBQJiVAIABQJjZQUCYlQEAmNnCQELdmFsdWVPckVsc2UCCQCdCAIFAmFYCQECYW0BBQJiVAUCY2UEAmNoCQELdmFsdWVPckVsc2UCCQCaCAIFAmFYCQECYXEBBQJjZwAABAJjaQkBC3ZhbHVlT3JFbHNlAgkAmggCBQJhWAkBAmFzAQUCY2cFBmhlaWdodAQCYnEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUCYVgJAQJhdAEFAmNnAAAEAmNqCQBkAgUCY2kFAmJxBAJjawkAlgMBCQDMCAIJAGUCBQJjagUGaGVpZ2h0CQDMCAIAAAUDbmlsBAJjbAkAZAIFAmNoBQJiVgQCY20JAJcDAQkAzAgCCQBkAgUCY2sFAmJXCQDMCAIFAmNmBQNuaWwEAmNuCQEBQgEJAJEDAgkBAXgBCQD8BwQFAmFYAhNnd3hVc2VySW5mb1JFQURPTkxZCQDMCAIFAmFHBQNuaWwFA25pbAAABAJjbwkAkQMCCQECYm8DBQJjbAUCY20FAmNmAAAEAmNwCgACYmEJAPwHBAUCYVgCGWdldFRvdGFsQ2FjaGVkR3d4UkVBRE9OTFkFA25pbAUDbmlsAwkAAQIFAmJhAgNJbnQFAmJhCQACAQkArAICCQADAQUCYmECGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCY3EA6AcEAmNyCQBoAgkBAXcCBQJhVgkBAmFPAAUCY3EEAmNzCQECYUYCBQJhRwUCYUgEAmN0CQECYUkBBQJhSAQCY3UJAQJhTQIFAmFOBQJjcwQCY3YJAQJhTQIFAmFOBQJjdAQCYmcDCQECIT0CBQJhSAUCY2UEAmJlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUCYVQJAQFQAQUCYUgJAKwCAgIVdW5zdXBwb3J0ZWQgbHAgYXNzZXQgBQJhSAkBEUBleHRyTmF0aXZlKDEwNTApAgUCYVQJAQFUAQUCYmUAAAQCY3cJAGsDBQJjcgUCYmcJAGgCBQFmBQJjYwQCY3gDCQECIT0CBQJjdgAACQBrAwUCY3cFAWIFAmN2AAAEAmN5CQBrAwUCY3gFAmN1BQFiBAJjegkAaAIFAmN3CQBlAgUCY2MAAQQCY0EJAGsDBQJjbgUCY3oFAmNwBAJjQgkAlwMBCQDMCAIFAmNBCQDMCAIJAGgCBQJjeQkAZQIFAmNjAAEFA25pbAQCY0MDCQAAAgUCY3kAAAkAaAIAAQUBYgkAawMJAGQCBQJjQgUCY3kFAWIFAmN5CQCUCgIFA25pbAkAuQkCCQDMCAICBiVkJWQlcwkAzAgCCQCkAwEFAmNvCQDMCAIJAKQDAQUCY0MJAMwIAgIBZAUDbmlsBQFlAmJCARd3eEVtaXNzaW9uU3RhdHNSRUFET05MWQAEAmNECQCkAwEFAWIEAmNFAgExBAJiaAkBAXcCBQJhVgkBAmFPAAQCY0YJAQF3AgUCYVYJAQJhUQAEAmNHAwkAZgIFAmNGBQZoZWlnaHQAAAkAZQIFBmhlaWdodAUCY0YEAmNICQBoAgCgCwDtAgQCY0kJAGgCAMCI7F8FAWIEAmNKAwkAZgIFAmNHBQJjSAUCY0kJAGsDBQJjSQUCY0cFAmNIBAJjSwkAZAIJAGgCBQJiaAUCY0cFAmNKBAJjTAkBAXYCBQJhWAkBAmFpAAQCY00JAQF2AgUCYVgJAQJhagAEAmNOCQEBdgIFAmFYCQECYWsACQCUCgIFA25p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XzQEAmRBCAUCZEkCXzUEAmRjCAUCZEkCXzYEAmRvCAUCZEkCXzcJAJQKAgUDbmlsCQC5CQIJAMwIAgIOJWQlZCVkJWQlZCVkJWQJAMwIAgkApAMBBQJkSgkAzAgCCQCkAwEFAmRLCQDMCAIJAKQDAQUCZHkJAMwIAgkApAMBBQJkegkAzAgCCQCkAwEFAmRBCQDMCAIFAmRjCQDMCAIFAmRvBQNuaWwFAWUCYkIBE2d3eFVzZXJJbmZvUkVBRE9OTFkBAmFuBAJkTAkBAXgBCQD8BwQFAmFYAhNnd3hVc2VySW5mb1JFQURPTkxZCQDMCAIFAmFuBQNuaWwFA25pbAQCZE0JAQFCAQkAkQMCBQJkTAAACQCUCgIFA25pbAkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUCZE0FA25pbAUBZQJiQgEVdW5zdGFrZUFuZEdldE9uZVRrblYyBAJhWgJkTgJkTwJkUAQCY2IJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYVoCFXVuc3Rha2VBbmRHZXRPbmVUa25WMgkAzAgCBQJkTgkAzAgCBQJkTwkAzAgCBQJkUAUDbmlsBQNuaWwDCQAAAgUCY2IFAmNiCQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiQgETZ2V0S2V5c0J1bGtJbnRlcm5hbAMCYk8CZFECYlUDCQAAAgUCYk8JAJADAQUCZFEJAJQKAgUDbmlsBQJiVQQCZFIJALUJAgkAkQMCBQJkUQUCYk8CAisrBAJidgkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJkUgAABAFzCQCRAwIFAmRSAAEEAmJ3CQCRAwIFAmRSAAIEAXkJAQJidQMFAmJ2BQFzBQJidwQCY2EJAM0IAgUCYlUFAXkEAmNiCQD8BwQFBHRoaXMCE2dldEtleXNCdWxrSW50ZXJuYWwJAMwIAgkAZAIFAmJPAAEJAMwIAgUCZFEJAMwIAgUCY2EFA25pbAUDbmlsAwkAAAIFAmNiBQJjYgkAlAoCBQNuaWwFAmNiCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJCAQtnZXRLZXlzQnVsawECZFEEAmNhCQD8BwQFBHRoaXMCE2dldEtleXNCdWxrSW50ZXJuYWwJAMwIAgAACQDMCAIFAmRRCQDMCAIFA25pbAUDbmlsBQNuaWwJAJQKAgUDbmlsBQJjYQECZFMBAmRUAAQCZFUEAXoJAQJieAADCQABAgUBegIKQnl0ZVZlY3RvcgQCYkMFAXoFAmJDAwkAAQIFAXoCBFVuaXQIBQJkUw9zZW5kZXJQdWJsaWNLZXkJAAIBAgtNYXRjaCBlcnJvcgkA9AMDCAUCZFMJYm9keUJ5dGVzCQCRAwIIBQJkUwZwcm9vZnMAAAUCZFVvoN1x", "height": 2560086, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 617TnknFNAwzizwCivsmUUzV6gsPn5JUdC7pZg7jrRtZ Next: Hwgqr3CcNxEPcWdrLTREmK4tEcDnk1i1XqYTnQ9siYip Diff:
OldNewDifferences
237237 func aS () = "%s%s__emission__endBlock"
238238
239239
240-func aT () = "%s__addonAddr"
240+let aT = X()
241241
242+let aU = Z(aT)
242243
243-let aU = X()
244+let aV = ad(aU)
244245
245-let aV = Z(aU)
246+let aN = ae(aU)
246247
247-let aW = ad(aV)
248+let aW = af(aU)
248249
249-let aN = ae(aV)
250+let aX = ab(aU)
250251
251-let aX = af(aV)
252-
253-let aY = ab(aV)
254-
255-func aZ (ba) = {
256- let bb = invoke(aU, "getInFeeREADONLY", [toString(ba)], nil)
257- if ($isInstanceOf(bb, "Int"))
258- then bb
259- else throw(($getType(bb) + " couldn't be cast to Int"))
252+func aY (aZ) = {
253+ let ba = invoke(aT, "getInFeeREADONLY", [toString(aZ)], nil)
254+ if ($isInstanceOf(ba, "Int"))
255+ then ba
256+ else throw(($getType(ba) + " couldn't be cast to Int"))
260257 }
261258
262259
263-func bc (ba) = {
264- let bb = invoke(aU, "getOutFeeREADONLY", [toString(ba)], nil)
265- if ($isInstanceOf(bb, "Int"))
266- then bb
267- else throw(($getType(bb) + " couldn't be cast to Int"))
260+func bb (aZ) = {
261+ let ba = invoke(aT, "getOutFeeREADONLY", [toString(aZ)], nil)
262+ if ($isInstanceOf(ba, "Int"))
263+ then ba
264+ else throw(($getType(ba) + " couldn't be cast to Int"))
268265 }
269266
270267
271-func bd (be) = {
272- let bf = t(aU, S(be))
273- let bg = b
274- let bh = getIntegerValue(aU, T(bf))
275- let bi = w(aW, aO())
276- let bj = w(aW, aP())
277- let bk = {
278- let bb = invoke(aW, "getBoostCoeffREADONLY", nil, nil)
279- if ($isInstanceOf(bb, "Int"))
280- then bb
281- else throw(($getType(bb) + " couldn't be cast to Int"))
268+func bc (bd) = {
269+ let be = t(aT, S(bd))
270+ let bf = b
271+ let bg = getIntegerValue(aT, T(be))
272+ let bh = w(aV, aO())
273+ let bi = w(aV, aP())
274+ let bj = {
275+ let ba = invoke(aV, "getBoostCoeffREADONLY", nil, nil)
276+ if ($isInstanceOf(ba, "Int"))
277+ then ba
278+ else throw(($getType(ba) + " couldn't be cast to Int"))
282279 }
283- let bl = (fraction(bi, bh, bg) / bk)
284- let bm = fraction(bj, bh, bg)
285- let bn = (bk * b)
286- let bo = v(aN, aI(be))
287-[bl, bn, bo]
280+ let bk = (fraction(bh, bg, bf) / bj)
281+ let bl = fraction(bi, bg, bf)
282+ let bm = (bj * b)
283+ let bn = v(aN, aI(bd))
284+[bk, bm, bn]
288285 }
289286
290287
291-func bp (bq,br,bs) = {
292- let bt = fraction(br, b, bs)
293- let bu = fraction(bq, bt, b)
294-[bu]
288+func bo (bp,bq,br) = {
289+ let bs = fraction(bq, b, br)
290+ let bt = fraction(bp, bs, b)
291+[bt]
295292 }
296293
297294
298-func bv (bw,s,bx) = if ((bx == "string"))
299- then getStringValue(bw, s)
300- else if ((bx == "integer"))
301- then toString(getIntegerValue(bw, s))
302- else if ((bx == "boolean"))
303- then toString(getBooleanValue(bw, s))
295+func bu (bv,s,bw) = if ((bw == "string"))
296+ then getStringValue(bv, s)
297+ else if ((bw == "integer"))
298+ then toString(getIntegerValue(bv, s))
299+ else if ((bw == "boolean"))
300+ then toString(getBooleanValue(bv, s))
304301 else throw("unknown type. expected string/integer/boolean")
305302
306303
307-func by () = {
308- let bz = ag()
309- let z = getString(bz, W())
304+func bx () = {
305+ let by = ag()
306+ let z = getString(by, W())
310307 if ($isInstanceOf(z, "String"))
311308 then {
312- let bA = z
313- fromBase58String(bA)
309+ let bz = z
310+ fromBase58String(bz)
314311 }
315312 else if ($isInstanceOf(z, "Unit"))
316313 then unit
318315 }
319316
320317
321-func bB (bC) = {
322- let z = by()
318+func bA (bB) = {
319+ let z = bx()
323320 if ($isInstanceOf(z, "ByteVector"))
324321 then {
325- let bD = z
326- (bC.callerPublicKey == bD)
322+ let bC = z
323+ (bB.callerPublicKey == bC)
327324 }
328325 else if ($isInstanceOf(z, "Unit"))
329- then (bC.caller == this)
326+ then (bB.caller == this)
330327 else throw("Match error")
331328 }
332329
333330
334-func bE (bC) = if (bB(bC))
331+func bD (bB) = if (bA(bB))
335332 then true
336333 else throw("permission denied")
337334
338335
339-@Callable(bC)
340-func constructor (bF) = {
341- let bG = bE(bC)
342- if ((bG == bG))
343- then [StringEntry(F(), bF)]
336+@Callable(bB)
337+func constructor (bE) = {
338+ let bF = bD(bB)
339+ if ((bF == bF))
340+ then [StringEntry(F(), bE)]
344341 else throw("Strict value is not equal to itself.")
345342 }
346343
347344
348345
349-@Callable(bC)
350-func currentRewardRateREADONLY (be) = {
351- let bH = bd(be)
352- let bi = bH[0]
353- let bn = bH[1]
354- let bo = bH[2]
355- let bI = {
356- let bb = invoke(aY, "getVotingResultStakedREADONLY", [be], nil)
357- if ($isInstanceOf(bb, "Int"))
358- then bb
359- else throw(($getType(bb) + " couldn't be cast to Int"))
346+@Callable(bB)
347+func currentRewardRateREADONLY (bd) = {
348+ let bG = bc(bd)
349+ let bh = bG[0]
350+ let bm = bG[1]
351+ let bn = bG[2]
352+ let bH = {
353+ let ba = invoke(aX, "getVotingResultStakedREADONLY", [bd], nil)
354+ if ($isInstanceOf(ba, "Int"))
355+ then ba
356+ else throw(($getType(ba) + " couldn't be cast to Int"))
360357 }
361- $Tuple2(nil, makeString(["%d%d%d%d", toString(bi), toString(bn), toString(bo), toString(bI)], e))
358+ $Tuple2(nil, makeString(["%d%d%d%d", toString(bh), toString(bm), toString(bn), toString(bH)], e))
362359 }
363360
364361
365362
366-@Callable(bC)
367-func currentUserRewardRateREADONLY (be,an) = {
368- let bH = bd(be)
369- let bi = bH[0]
370- let bn = bH[1]
371- let bo = bH[2]
372- let bJ = v(aN, aF(an, be))
373- let bK = split(D(invoke(aN, "claimWxREADONLY", [be, an], nil)), e)
374- let bL = valueOrErrorMessage(parseInt(bK[5]), "couldn't parse minRewardPart")
375- let bM = valueOrErrorMessage(parseInt(bK[6]), "couldn't parse boostRewardPart")
376- let bN = bK[7]
377- let bO = if ((bM == 0))
363+@Callable(bB)
364+func currentUserRewardRateREADONLY (bd,an) = {
365+ let bG = bc(bd)
366+ let bh = bG[0]
367+ let bm = bG[1]
368+ let bn = bG[2]
369+ let bI = v(aN, aF(an, bd))
370+ let bJ = split(D(invoke(aN, "claimWxREADONLY", [bd, an], nil)), e)
371+ let bK = valueOrErrorMessage(parseInt(bJ[5]), "couldn't parse minRewardPart")
372+ let bL = valueOrErrorMessage(parseInt(bJ[6]), "couldn't parse boostRewardPart")
373+ let bM = bJ[7]
374+ let bN = if ((bL == 0))
378375 then (1 * b)
379- else fraction((bL + bM), b, bL)
380- $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bi), toString(bn), toString(bo), toString(bJ), toString(bO), bN], e))
376+ else fraction((bK + bL), b, bK)
377+ $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bh), toString(bm), toString(bn), toString(bI), toString(bN), bM], e))
381378 }
382379
383380
384381
385-@Callable(bC)
386-func calcBoostBulkInternalREADONLY (bP,bQ,bR,bS,bT,bU,bV) = if ((bP == size(bQ)))
387- then $Tuple2(nil, bV)
382+@Callable(bB)
383+func calcBoostBulkInternalREADONLY (bO,bP,bQ,bR,bS,bT,bU) = if ((bO == size(bP)))
384+ then $Tuple2(nil, bU)
388385 else {
389- let bW = bQ[bP]
390- let bX = bR[bP]
391- let bY = bS[bP]
392- let bZ = bT[bP]
393- let ca = {
394- let bb = invoke(this, "calcBoostREADONLY", [bW, bX, bY, bZ, bU], nil)
395- if ($isInstanceOf(bb, "String"))
396- then bb
397- else throw(($getType(bb) + " couldn't be cast to String"))
386+ let bV = bP[bO]
387+ let bW = bQ[bO]
388+ let bX = bR[bO]
389+ let bY = bS[bO]
390+ let bZ = {
391+ let ba = invoke(this, "calcBoostREADONLY", [bV, bW, bX, bY, bT], nil)
392+ if ($isInstanceOf(ba, "String"))
393+ then ba
394+ else throw(($getType(ba) + " couldn't be cast to String"))
398395 }
399- let cb = (bV :+ ca)
400- let cc = {
401- let bb = invoke(this, "calcBoostBulkInternalREADONLY", [(bP + 1), bQ, bR, bS, bT, bU, cb], nil)
402- if ($isInstanceOf(bb, "List[Any]"))
403- then bb
404- else throw(($getType(bb) + " couldn't be cast to List[Any]"))
396+ let ca = (bU :+ bZ)
397+ let cb = {
398+ let ba = invoke(this, "calcBoostBulkInternalREADONLY", [(bO + 1), bP, bQ, bR, bS, bT, ca], nil)
399+ if ($isInstanceOf(ba, "List[Any]"))
400+ then ba
401+ else throw(($getType(ba) + " couldn't be cast to List[Any]"))
405402 }
406- if ((cc == cc))
407- then $Tuple2(nil, cc)
403+ if ((cb == cb))
404+ then $Tuple2(nil, cb)
408405 else throw("Strict value is not equal to itself.")
409406 }
410407
411408
412409
413-@Callable(bC)
414-func calcBoostBulkREADONLY (bW,bX,bY,bZ,bU) = {
415- let cb = invoke(this, "calcBoostBulkInternalREADONLY", [0, bW, bX, bY, bZ, bU, nil], nil)
416- $Tuple2(nil, cb)
410+@Callable(bB)
411+func calcBoostBulkREADONLY (bV,bW,bX,bY,bT) = {
412+ let ca = invoke(this, "calcBoostBulkInternalREADONLY", [0, bV, bW, bX, bY, bT, nil], nil)
413+ $Tuple2(nil, ca)
417414 }
418415
419416
420417
421-@Callable(bC)
422-func calcBoostREADONLY (bW,bX,bY,bZ,bU) = {
423- let cd = {
424- let bb = invoke(aW, "getBoostCoeffREADONLY", nil, nil)
425- if ($isInstanceOf(bb, "Int"))
426- then bb
427- else throw(($getType(bb) + " couldn't be cast to Int"))
418+@Callable(bB)
419+func calcBoostREADONLY (bV,bW,bX,bY,bT) = {
420+ let cc = {
421+ let ba = invoke(aV, "getBoostCoeffREADONLY", nil, nil)
422+ if ($isInstanceOf(ba, "Int"))
423+ then ba
424+ else throw(($getType(ba) + " couldn't be cast to Int"))
428425 }
429- let ce = aX
430- let cf = "empty"
431- let cg = parseIntValue(split(t(aY, ah()), e)[4])
432- let aH = if ((bZ == ""))
433- then cf
434- else bZ
435- let aG = if ((bU == ""))
436- then cf
437- else bU
438- let ch = valueOrElse(getString(aY, am(bU)), cf)
439- let ci = valueOrElse(getInteger(aY, aq(ch)), 0)
440- let cj = valueOrElse(getInteger(aY, as(ch)), height)
441- let br = valueOrElse(getInteger(aY, at(ch)), 0)
442- let ck = (cj + br)
443- let cl = max([(ck - height), 0])
444- let cm = (ci + bW)
445- let cn = min([(cl + bX), cg])
446- let co = B(x(invoke(aY, "gwxUserInfoREADONLY", [aG], nil))[0])
447- let cp = bp(cm, cn, cg)[0]
448- let cq = {
449- let bb = invoke(aY, "getTotalCachedGwxREADONLY", nil, nil)
450- if ($isInstanceOf(bb, "Int"))
451- then bb
452- else throw(($getType(bb) + " couldn't be cast to Int"))
426+ let cd = aW
427+ let ce = "empty"
428+ let cf = parseIntValue(split(t(aX, ah()), e)[4])
429+ let aH = if ((bY == ""))
430+ then ce
431+ else bY
432+ let aG = if ((bT == ""))
433+ then ce
434+ else bT
435+ let cg = valueOrElse(getString(aX, am(bT)), ce)
436+ let ch = valueOrElse(getInteger(aX, aq(cg)), 0)
437+ let ci = valueOrElse(getInteger(aX, as(cg)), height)
438+ let bq = valueOrElse(getInteger(aX, at(cg)), 0)
439+ let cj = (ci + bq)
440+ let ck = max([(cj - height), 0])
441+ let cl = (ch + bV)
442+ let cm = min([(ck + bW), cf])
443+ let cn = B(x(invoke(aX, "gwxUserInfoREADONLY", [aG], nil))[0])
444+ let co = bo(cl, cm, cf)[0]
445+ let cp = {
446+ let ba = invoke(aX, "getTotalCachedGwxREADONLY", nil, nil)
447+ if ($isInstanceOf(ba, "Int"))
448+ then ba
449+ else throw(($getType(ba) + " couldn't be cast to Int"))
453450 }
454- let cr = 1000
455- let cs = (w(aW, aO()) * cr)
456- let ct = aF(aG, aH)
457- let cu = aI(aH)
451+ let cq = 1000
452+ let cr = (w(aV, aO()) * cq)
453+ let cs = aF(aG, aH)
454+ let ct = aI(aH)
455+ let cu = aM(aN, cs)
458456 let cv = aM(aN, ct)
459- let cw = aM(aN, cu)
460- let bh = if ((aH != cf))
457+ let bg = if ((aH != ce))
461458 then {
462- let bf = valueOrErrorMessage(getString(aU, P(aH)), ("unsupported lp asset " + aH))
463- getIntegerValue(aU, T(bf))
459+ let be = valueOrErrorMessage(getString(aT, P(aH)), ("unsupported lp asset " + aH))
460+ getIntegerValue(aT, T(be))
464461 }
465462 else 0
466- let cx = fraction(cs, bh, (f * cd))
467- let cy = if ((cw != 0))
468- then fraction(cx, b, cw)
463+ let cw = fraction(cr, bg, (f * cc))
464+ let cx = if ((cv != 0))
465+ then fraction(cw, b, cv)
469466 else 0
470- let cz = fraction(cy, cv, b)
471- let cA = (cx * (cd - 1))
472- let cB = fraction(co, cA, cq)
473- let cC = min([cB, (cz * (cd - 1))])
474- let cD = if ((cz == 0))
467+ let cy = fraction(cx, cu, b)
468+ let cz = (cw * (cc - 1))
469+ let cA = fraction(cn, cz, cp)
470+ let cB = min([cA, (cy * (cc - 1))])
471+ let cC = if ((cy == 0))
475472 then (1 * b)
476- else fraction((cC + cz), b, cz)
477- $Tuple2(nil, makeString(["%d%d%s", toString(cp), toString(cD), "d"], e))
473+ else fraction((cB + cy), b, cy)
474+ $Tuple2(nil, makeString(["%d%d%s", toString(co), toString(cC), "d"], e))
478475 }
479476
480477
481478
482-@Callable(bC)
479+@Callable(bB)
483480 func wxEmissionStatsREADONLY () = {
484- let cE = toString(b)
485- let cF = "1"
486- let bi = w(aW, aO())
487- let cG = w(aW, aQ())
488- let cH = if ((cG > height))
481+ let cD = toString(b)
482+ let cE = "1"
483+ let bh = w(aV, aO())
484+ let cF = w(aV, aQ())
485+ let cG = if ((cF > height))
489486 then 0
490- else (height - cG)
491- let cI = (1440 * 365)
492- let cJ = (201000000 * b)
493- let cK = if ((cH > cI))
494- then cJ
495- else fraction(cJ, cH, cI)
496- let cL = ((bi * cH) + cK)
497- let cM = v(aY, ai())
498- let cN = v(aY, aj())
499- let cO = v(aY, ak())
500- $Tuple2(nil, makeString(["%d%d%d%d", toString(cL), toString(cM), toString(cN), toString(cO)], e))
487+ else (height - cF)
488+ let cH = (1440 * 365)
489+ let cI = (201000000 * b)
490+ let cJ = if ((cG > cH))
491+ then cI
492+ else fraction(cI, cG, cH)
493+ let cK = ((bh * cG) + cJ)
494+ let cL = v(aX, ai())
495+ let cM = v(aX, aj())
496+ let cN = v(aX, ak())
497+ $Tuple2(nil, makeString(["%d%d%d%d", toString(cK), toString(cL), toString(cM), toString(cN)], e))
501498 }
502499
503500
504501
505-@Callable(bC)
506-func poolStatsREADONLY (cP) = {
507- let ba = addressFromStringValue(t(aU, S(cP)))
508- let cQ = {
509- let bb = invoke(aU, "getPoolStatusREADONLY", [toString(ba)], nil)
510- if ($isInstanceOf(bb, "Int"))
511- then bb
512- else throw(($getType(bb) + " couldn't be cast to Int"))
502+@Callable(bB)
503+func poolStatsREADONLY (cO) = {
504+ let aZ = addressFromStringValue(t(aT, S(cO)))
505+ let cP = {
506+ let ba = invoke(aT, "getPoolStatusREADONLY", [toString(aZ)], nil)
507+ if ($isInstanceOf(ba, "Int"))
508+ then ba
509+ else throw(($getType(ba) + " couldn't be cast to Int"))
513510 }
514- let cR = "%d%d%d%d%d%d%d%d%d%s"
515- if ((cQ == 4))
516- then $Tuple2(nil, makeString([cR, toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(false)], e))
511+ let cQ = "%d%d%d%d%d%d%d%d%d%s"
512+ if ((cP == 4))
513+ then $Tuple2(nil, makeString([cQ, toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(false)], e))
517514 else {
518- let cS = x(invoke(ba, "getPoolConfigWrapperREADONLY", nil, nil))
519- let be = fromBase58String(D(cS[j]))
520- let cT = D(cS[k])
521- let cU = D(cS[l])
522- let cV = D(cS[o])
523- let cW = D(cS[p])
524- let cX = parseIntValue(D(cS[m]))
525- let cY = parseIntValue(D(cS[n]))
526- let cZ = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
527- let da = B(invoke(ba, "getAccBalanceWrapperREADONLY", [cT], nil))
528- let db = B(invoke(ba, "getAccBalanceWrapperREADONLY", [cU], nil))
529- let dc = if ((cZ == 0))
515+ let cR = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
516+ let bd = fromBase58String(D(cR[j]))
517+ let cS = D(cR[k])
518+ let cT = D(cR[l])
519+ let cU = D(cR[o])
520+ let cV = D(cR[p])
521+ let cW = parseIntValue(D(cR[m]))
522+ let cX = parseIntValue(D(cR[n]))
523+ let cY = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
524+ let cZ = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cS], nil))
525+ let da = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cT], nil))
526+ let db = if ((cY == 0))
530527 then [toString(g), toString(g), toString(g)]
531- else x(invoke(ba, "calcPricesWrapperREADONLY", [da, db, cZ], nil))
532- let dd = 0
533- let de = B(invoke(ba, "fromX18WrapperREADONLY", [dc[1], b], nil))
534- let df = B(invoke(ba, "fromX18WrapperREADONLY", [dc[2], b], nil))
535- let bh = getIntegerValue(aU, T(toString(ba)))
536- let dg = aZ(ba)
537- let dh = bc(ba)
538- let di = {
539- let bb = invoke(aU, "isPoolOneTokenOperationsDisabledREADONLY", [toString(ba)], nil)
540- if ($isInstanceOf(bb, "Boolean"))
541- then bb
542- else throw(($getType(bb) + " couldn't be cast to Boolean"))
528+ else x(invoke(aZ, "calcPricesWrapperREADONLY", [cZ, da, cY], nil))
529+ let dc = 0
530+ let dd = B(invoke(aZ, "fromX18WrapperREADONLY", [db[1], b], nil))
531+ let de = B(invoke(aZ, "fromX18WrapperREADONLY", [db[2], b], nil))
532+ let bg = getIntegerValue(aT, T(toString(aZ)))
533+ let df = aY(aZ)
534+ let dg = bb(aZ)
535+ let dh = {
536+ let ba = invoke(aT, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aZ)], nil)
537+ if ($isInstanceOf(ba, "Boolean"))
538+ then ba
539+ else throw(($getType(ba) + " couldn't be cast to Boolean"))
543540 }
544- let dj = !(di)
545- $Tuple2(nil, makeString([cR, toString(da), toString(db), toString(cZ), toString(dd), toString(de), toString(df), toString(bh), toString(dg), toString(dh), toString(dj)], e))
541+ let di = !(dh)
542+ $Tuple2(nil, makeString([cQ, toString(cZ), toString(da), toString(cY), toString(dc), toString(dd), toString(de), toString(bg), toString(df), toString(dg), toString(di)], e))
546543 }
547544 }
548545
549546
550547
551-@Callable(bC)
552-func poolEvaluatePutByAmountAssetREADONLY (cP,dk) = {
553- let ba = addressFromStringValue(t(aU, S(cP)))
554- let cS = x(invoke(ba, "getPoolConfigWrapperREADONLY", nil, nil))
555- let be = fromBase58String(D(cS[j]))
556- let dl = D(cS[k])
557- let dm = fromBase58String(dl)
558- let dn = D(cS[l])
559- let do = fromBase58String(dn)
560- let cX = parseIntValue(D(cS[m]))
561- let cY = parseIntValue(D(cS[n]))
562- let dp = D(cS[i])
563- let cZ = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
564- let da = B(invoke(ba, "getAccBalanceWrapperREADONLY", [dl], nil))
565- let db = B(invoke(ba, "getAccBalanceWrapperREADONLY", [dn], nil))
566- let dq = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [da, cX], nil)))
567- let dr = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [db, cY], nil)))
568- let ds = if ((cZ == 0))
548+@Callable(bB)
549+func poolEvaluatePutByAmountAssetREADONLY (cO,dj) = {
550+ let aZ = addressFromStringValue(t(aT, S(cO)))
551+ let cR = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
552+ let bd = fromBase58String(D(cR[j]))
553+ let dk = D(cR[k])
554+ let dl = fromBase58String(dk)
555+ let dm = D(cR[l])
556+ let dn = fromBase58String(dm)
557+ let cW = parseIntValue(D(cR[m]))
558+ let cX = parseIntValue(D(cR[n]))
559+ let do = D(cR[i])
560+ let cY = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
561+ let cZ = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dk], nil))
562+ let da = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dm], nil))
563+ let dp = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [cZ, cW], nil)))
564+ let dq = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [da, cX], nil)))
565+ let dr = if ((cY == 0))
569566 then g
570- else parseBigIntValue(D(invoke(ba, "calcPriceBigIntWrapperREADONLY", [toString(dr), toString(dq)], nil)))
571- let dd = B(invoke(ba, "fromX18WrapperREADONLY", [toString(ds), b], nil))
572- let dt = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [dk, cX], nil)))
573- let du = fraction(dt, ds, d)
574- let dv = B(invoke(ba, "fromX18WrapperREADONLY", [toString(du), cY], nil))
575- let cb = invoke(ba, "estimatePutOperationWrapperREADONLY", ["", 500000, dk, dm, dv, do, "", true, false], nil)
576- let dw = {
577- let z = cb
567+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dq), toString(dp)], nil)))
568+ let dc = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dr), b], nil))
569+ let ds = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dj, cW], nil)))
570+ let dt = fraction(ds, dr, d)
571+ let du = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dt), cX], nil))
572+ let ca = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dj, dl, du, dn, "", true, false], nil)
573+ let dv = {
574+ let z = ca
578575 if (if (if ($isInstanceOf(z._1, "Int"))
579576 then if ($isInstanceOf(z._3, "Int"))
580577 then if ($isInstanceOf(z._4, "Int"))
587584 then (size(z) == 13)
588585 else false)
589586 then {
590- let dx = z._1
591- let dy = z._3
592- let dz = z._4
593- let dA = z._5
594- let dB = z._6
595- $Tuple5(dx, dy, dz, dA, dB)
587+ let dw = z._1
588+ let dx = z._3
589+ let dy = z._4
590+ let dz = z._5
591+ let dA = z._6
592+ $Tuple5(dw, dx, dy, dz, dA)
596593 }
597594 else throw("Couldn't cast types")
598595 }
599- let dx = dw._1
600- let dy = dw._2
601- let dz = dw._3
602- let dA = dw._4
603- let dB = dw._5
604- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dx), toString(dd), toString(dz), toString(dA), toString(dB), dp, toString(dk), toString(dv)], e))
596+ let dw = dv._1
597+ let dx = dv._2
598+ let dy = dv._3
599+ let dz = dv._4
600+ let dA = dv._5
601+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dw), toString(dc), toString(dy), toString(dz), toString(dA), do, toString(dj), toString(du)], e))
605602 }
606603
607604
608605
609-@Callable(bC)
610-func poolEvaluatePutByPriceAssetREADONLY (cP,dv) = {
611- let ba = addressFromStringValue(t(aU, S(cP)))
612- let cS = x(invoke(ba, "getPoolConfigWrapperREADONLY", nil, nil))
613- let be = fromBase58String(D(cS[j]))
614- let dl = D(cS[k])
615- let dm = fromBase58String(dl)
616- let dn = D(cS[l])
617- let do = fromBase58String(dn)
618- let cX = parseIntValue(D(cS[m]))
619- let cY = parseIntValue(D(cS[n]))
620- let dp = D(cS[i])
621- let cZ = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
622- let dC = B(invoke(ba, "getAccBalanceWrapperREADONLY", [dl], nil))
623- let dD = B(invoke(ba, "getAccBalanceWrapperREADONLY", [dn], nil))
624- let dE = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [dC, cX], nil)))
625- let dF = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [dD, cY], nil)))
626- let ds = if ((cZ == 0))
606+@Callable(bB)
607+func poolEvaluatePutByPriceAssetREADONLY (cO,du) = {
608+ let aZ = addressFromStringValue(t(aT, S(cO)))
609+ let cR = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
610+ let bd = fromBase58String(D(cR[j]))
611+ let dk = D(cR[k])
612+ let dl = fromBase58String(dk)
613+ let dm = D(cR[l])
614+ let dn = fromBase58String(dm)
615+ let cW = parseIntValue(D(cR[m]))
616+ let cX = parseIntValue(D(cR[n]))
617+ let do = D(cR[i])
618+ let cY = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
619+ let dB = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dk], nil))
620+ let dC = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dm], nil))
621+ let dD = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dB, cW], nil)))
622+ let dE = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dC, cX], nil)))
623+ let dr = if ((cY == 0))
627624 then g
628- else parseBigIntValue(D(invoke(ba, "calcPriceBigIntWrapperREADONLY", [toString(dF), toString(dE)], nil)))
629- let dd = B(invoke(ba, "fromX18WrapperREADONLY", [toString(ds), b], nil))
630- let du = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [dv, cY], nil)))
631- let dt = fraction(du, d, ds)
632- let dk = B(invoke(ba, "fromX18WrapperREADONLY", [toString(dt), cX], nil))
633- let cb = invoke(ba, "estimatePutOperationWrapperREADONLY", ["", 500000, dk, dm, dv, do, "", true, false], nil)
634- let dG = {
635- let z = cb
625+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dE), toString(dD)], nil)))
626+ let dc = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dr), b], nil))
627+ let dt = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [du, cX], nil)))
628+ let ds = fraction(dt, d, dr)
629+ let dj = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(ds), cW], nil))
630+ let ca = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dj, dl, du, dn, "", true, false], nil)
631+ let dF = {
632+ let z = ca
636633 if (if (if ($isInstanceOf(z._1, "Int"))
637634 then if ($isInstanceOf(z._3, "Int"))
638635 then if ($isInstanceOf(z._4, "Int"))
645642 then (size(z) == 13)
646643 else false)
647644 then {
648- let dx = z._1
649- let dy = z._3
650- let dz = z._4
651- let dA = z._5
652- let dB = z._6
653- $Tuple5(dx, dy, dz, dA, dB)
645+ let dw = z._1
646+ let dx = z._3
647+ let dy = z._4
648+ let dz = z._5
649+ let dA = z._6
650+ $Tuple5(dw, dx, dy, dz, dA)
654651 }
655652 else throw("Couldn't cast types")
656653 }
657- let dx = dG._1
658- let dy = dG._2
659- let dz = dG._3
660- let dA = dG._4
661- let dB = dG._5
662- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dx), toString(dd), toString(dz), toString(dA), toString(dB), dp, toString(dk), toString(dv)], e))
654+ let dw = dF._1
655+ let dx = dF._2
656+ let dy = dF._3
657+ let dz = dF._4
658+ let dA = dF._5
659+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dw), toString(dc), toString(dy), toString(dz), toString(dA), do, toString(dj), toString(du)], e))
663660 }
664661
665662
666663
667-@Callable(bC)
668-func poolEvaluateGetREADONLY (dH,dI) = {
669- let ba = addressFromStringValue(t(aU, S(dH)))
670- let cb = invoke(ba, "estimateGetOperationWrapperREADONLY", ["", dH, dI, toString(ba)], nil)
671- let dJ = {
672- let z = cb
664+@Callable(bB)
665+func poolEvaluateGetREADONLY (dG,dH) = {
666+ let aZ = addressFromStringValue(t(aT, S(dG)))
667+ let ca = invoke(aZ, "estimateGetOperationWrapperREADONLY", ["", dG, dH, toString(aZ)], nil)
668+ let dI = {
669+ let z = ca
673670 if (if (if ($isInstanceOf(z._1, "Int"))
674671 then if ($isInstanceOf(z._2, "Int"))
675672 then if ($isInstanceOf(z._5, "Int"))
686683 then (size(z) == 10)
687684 else false)
688685 then {
689- let dK = z._1
690- let dL = z._2
691- let dz = z._5
692- let dA = z._6
693- let dB = z._7
694- let dd = z._8
695- let dp = z._9
696- $Tuple7(dK, dL, dz, dA, dB, dd, dp)
686+ let dJ = z._1
687+ let dK = z._2
688+ let dy = z._5
689+ let dz = z._6
690+ let dA = z._7
691+ let dc = z._8
692+ let do = z._9
693+ $Tuple7(dJ, dK, dy, dz, dA, dc, do)
697694 }
698695 else throw("Couldn't cast types")
699696 }
700- let dK = dJ._1
701- let dL = dJ._2
702- let dz = dJ._3
703- let dA = dJ._4
704- let dB = dJ._5
705- let dd = dJ._6
706- let dp = dJ._7
707- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dK), toString(dL), toString(dz), toString(dA), toString(dB), dd, dp], e))
697+ let dJ = dI._1
698+ let dK = dI._2
699+ let dy = dI._3
700+ let dz = dI._4
701+ let dA = dI._5
702+ let dc = dI._6
703+ let do = dI._7
704+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dJ), toString(dK), toString(dy), toString(dz), toString(dA), dc, do], e))
708705 }
709706
710707
711708
712-@Callable(bC)
709+@Callable(bB)
713710 func gwxUserInfoREADONLY (an) = {
714- let dM = x(invoke(aY, "gwxUserInfoREADONLY", [an], nil))
715- let dN = B(dM[0])
716- $Tuple2(nil, makeString(["%d", toString(dN)], e))
711+ let dL = x(invoke(aX, "gwxUserInfoREADONLY", [an], nil))
712+ let dM = B(dL[0])
713+ $Tuple2(nil, makeString(["%d", toString(dM)], e))
717714 }
718715
719716
720717
721-@Callable(bC)
722-func unstakeAndGetOneTknV2 (ba,dO,dP,dQ) = {
723- let cc = invoke(addressFromStringValue(ba), "unstakeAndGetOneTknV2", [dO, dP, dQ], nil)
724- if ((cc == cc))
718+@Callable(bB)
719+func unstakeAndGetOneTknV2 (aZ,dN,dO,dP) = {
720+ let cb = invoke(addressFromStringValue(aZ), "unstakeAndGetOneTknV2", [dN, dO, dP], nil)
721+ if ((cb == cb))
725722 then $Tuple2(nil, unit)
726723 else throw("Strict value is not equal to itself.")
727724 }
728725
729726
730727
731-@Callable(bC)
732-func getKeysBulkInternal (bP,dR,bV) = if ((bP == size(dR)))
733- then $Tuple2(nil, bV)
728+@Callable(bB)
729+func getKeysBulkInternal (bO,dQ,bU) = if ((bO == size(dQ)))
730+ then $Tuple2(nil, bU)
734731 else {
735- let dS = split(dR[bP], "++")
736- let bw = addressFromStringValue(dS[0])
737- let s = dS[1]
738- let bx = dS[2]
739- let y = bv(bw, s, bx)
740- let cb = (bV :+ y)
741- let cc = invoke(this, "getKeysBulkInternal", [(bP + 1), dR, cb], nil)
742- if ((cc == cc))
743- then $Tuple2(nil, cc)
732+ let dR = split(dQ[bO], "++")
733+ let bv = addressFromStringValue(dR[0])
734+ let s = dR[1]
735+ let bw = dR[2]
736+ let y = bu(bv, s, bw)
737+ let ca = (bU :+ y)
738+ let cb = invoke(this, "getKeysBulkInternal", [(bO + 1), dQ, ca], nil)
739+ if ((cb == cb))
740+ then $Tuple2(nil, cb)
744741 else throw("Strict value is not equal to itself.")
745742 }
746743
747744
748745
749-@Callable(bC)
750-func getKeysBulk (dR) = {
751- let cb = invoke(this, "getKeysBulkInternal", [0, dR, nil], nil)
752- $Tuple2(nil, cb)
746+@Callable(bB)
747+func getKeysBulk (dQ) = {
748+ let ca = invoke(this, "getKeysBulkInternal", [0, dQ, nil], nil)
749+ $Tuple2(nil, ca)
753750 }
754751
755752
756-@Verifier(dT)
757-func dU () = {
758- let dV = {
759- let z = by()
753+@Verifier(dS)
754+func dT () = {
755+ let dU = {
756+ let z = bx()
760757 if ($isInstanceOf(z, "ByteVector"))
761758 then {
762- let bD = z
763- bD
759+ let bC = z
760+ bC
764761 }
765762 else if ($isInstanceOf(z, "Unit"))
766- then dT.senderPublicKey
763+ then dS.senderPublicKey
767764 else throw("Match error")
768765 }
769- sigVerify(dT.bodyBytes, dT.proofs[0], dV)
766+ sigVerify(dS.bodyBytes, dS.proofs[0], dU)
770767 }
771768
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 let G = 1
8787
8888 let H = 2
8989
9090 let I = 3
9191
9292 let J = 4
9393
9494 let K = 5
9595
9696 let L = 6
9797
9898 let M = 7
9999
100100 let N = 8
101101
102102 func O () = "%s__factoryConfig"
103103
104104
105105 func P (Q) = makeString(["%s%s%s", Q, "mappings__lpAsset2PoolContract"], e)
106106
107107
108108 func R () = "%s__lpTokensList"
109109
110110
111111 func S (Q) = makeString(["%s%s%s", Q, "mappings__lpAsset2PoolContract"], e)
112112
113113
114114 func T (U) = makeString(["%s%s", "poolWeight", U], e)
115115
116116
117117 func V () = "%s__managerVaultAddress"
118118
119119
120120 func W () = "%s__managerPublicKey"
121121
122122
123123 func X () = addressFromStringValue(r(F()))
124124
125125
126126 func Y () = split(valueOrElse(getString(X(), R()), ""), e)
127127
128128
129129 func Z (aa) = split(t(aa, O()), e)
130130
131131
132132 func ab (ac) = addressFromStringValue(ac[H])
133133
134134
135135 func ad (ac) = addressFromStringValue(ac[K])
136136
137137
138138 func ae (ac) = addressFromStringValue(ac[G])
139139
140140
141141 func af (ac) = addressFromStringValue(ac[N])
142142
143143
144144 func ag () = addressFromStringValue(getStringValue(V()))
145145
146146
147147 func ah () = "%s__config"
148148
149149
150150 func ai () = "%s%s__stats__activeTotalLocked"
151151
152152
153153 func aj () = "%s%s__stats__locksDurationSumInBlocks"
154154
155155
156156 func ak () = "%s%s__stats__locksCount"
157157
158158
159159 func al () = "%s%s__stats__activeUsersCount"
160160
161161
162162 func am (an) = makeString(["%s%s%s__mapping__user2num", an], e)
163163
164164
165165 func ao (ap) = makeString(["%s%s%s__mapping__num2user", ap], e)
166166
167167
168168 func aq (ar) = makeString(["%s%d%s__paramByUserNum", ar, "amount"], e)
169169
170170
171171 func as (ar) = makeString(["%s%d%s__paramByUserNum", ar, "start"], e)
172172
173173
174174 func at (ar) = makeString(["%s%d%s__paramByUserNum", ar, "duration"], e)
175175
176176
177177 func au (ar) = makeString(["%s%d%s__paramByUserNum", ar, "k"], e)
178178
179179
180180 func av (ar) = makeString(["%s%d%s__paramByUserNum", ar, "b"], e)
181181
182182
183183 func aw (ar,ax) = makeString(["%s%d%s%d__paramByPeriod", ar, "k", ax], e)
184184
185185
186186 func ay (ar,ax) = makeString(["%s%d%s%d__paramByPeriod", ar, "b", ax], e)
187187
188188
189189 func az (ar) = makeString(["%s%d__userBoostEmissionLastInt", ar], e)
190190
191191
192192 func aA (ar) = makeString(["%s%d__maxBoostInt", ar], e)
193193
194194
195195 func aB () = "%s%s__maxBoostInt__total"
196196
197197
198198 func aC (ar) = makeString(["%s%d__userBoostAvaliableToClaimTotal", ar], e)
199199
200200
201201 func aD (ar) = makeString(["%s%d__userBoostClaimed", ar], e)
202202
203203
204204 func aE () = "%s%s__gwxCached__total"
205205
206206
207207 func aF (aG,aH) = makeString(["%s%s%s__staked", aG, aH], e)
208208
209209
210210 func aI (aH) = ("%s%s%s__staked__total__" + aH)
211211
212212
213213 func aJ (aH,aG) = makeString(["%s%s%s__claimed", aG, aH], e)
214214
215215
216216 func aK (aH,aG) = makeString(["%s%s%s__claimedMinReward", aG, aH], e)
217217
218218
219219 func aL (aH,aG) = makeString(["%s%s%s__claimedBoostReward", aG, aH], e)
220220
221221
222222 func aM (aN,s) = valueOrElse(getInteger(aN, s), 0)
223223
224224
225225 func aO () = "%s%s__ratePerBlock__current"
226226
227227
228228 func aP () = "%s%s__ratePerBlockMax__current"
229229
230230
231231 func aQ () = "%s%s__emission__startBlock"
232232
233233
234234 func aR () = "%s%s__emission__duration"
235235
236236
237237 func aS () = "%s%s__emission__endBlock"
238238
239239
240-func aT () = "%s__addonAddr"
240+let aT = X()
241241
242+let aU = Z(aT)
242243
243-let aU = X()
244+let aV = ad(aU)
244245
245-let aV = Z(aU)
246+let aN = ae(aU)
246247
247-let aW = ad(aV)
248+let aW = af(aU)
248249
249-let aN = ae(aV)
250+let aX = ab(aU)
250251
251-let aX = af(aV)
252-
253-let aY = ab(aV)
254-
255-func aZ (ba) = {
256- let bb = invoke(aU, "getInFeeREADONLY", [toString(ba)], nil)
257- if ($isInstanceOf(bb, "Int"))
258- then bb
259- else throw(($getType(bb) + " couldn't be cast to Int"))
252+func aY (aZ) = {
253+ let ba = invoke(aT, "getInFeeREADONLY", [toString(aZ)], nil)
254+ if ($isInstanceOf(ba, "Int"))
255+ then ba
256+ else throw(($getType(ba) + " couldn't be cast to Int"))
260257 }
261258
262259
263-func bc (ba) = {
264- let bb = invoke(aU, "getOutFeeREADONLY", [toString(ba)], nil)
265- if ($isInstanceOf(bb, "Int"))
266- then bb
267- else throw(($getType(bb) + " couldn't be cast to Int"))
260+func bb (aZ) = {
261+ let ba = invoke(aT, "getOutFeeREADONLY", [toString(aZ)], nil)
262+ if ($isInstanceOf(ba, "Int"))
263+ then ba
264+ else throw(($getType(ba) + " couldn't be cast to Int"))
268265 }
269266
270267
271-func bd (be) = {
272- let bf = t(aU, S(be))
273- let bg = b
274- let bh = getIntegerValue(aU, T(bf))
275- let bi = w(aW, aO())
276- let bj = w(aW, aP())
277- let bk = {
278- let bb = invoke(aW, "getBoostCoeffREADONLY", nil, nil)
279- if ($isInstanceOf(bb, "Int"))
280- then bb
281- else throw(($getType(bb) + " couldn't be cast to Int"))
268+func bc (bd) = {
269+ let be = t(aT, S(bd))
270+ let bf = b
271+ let bg = getIntegerValue(aT, T(be))
272+ let bh = w(aV, aO())
273+ let bi = w(aV, aP())
274+ let bj = {
275+ let ba = invoke(aV, "getBoostCoeffREADONLY", nil, nil)
276+ if ($isInstanceOf(ba, "Int"))
277+ then ba
278+ else throw(($getType(ba) + " couldn't be cast to Int"))
282279 }
283- let bl = (fraction(bi, bh, bg) / bk)
284- let bm = fraction(bj, bh, bg)
285- let bn = (bk * b)
286- let bo = v(aN, aI(be))
287-[bl, bn, bo]
280+ let bk = (fraction(bh, bg, bf) / bj)
281+ let bl = fraction(bi, bg, bf)
282+ let bm = (bj * b)
283+ let bn = v(aN, aI(bd))
284+[bk, bm, bn]
288285 }
289286
290287
291-func bp (bq,br,bs) = {
292- let bt = fraction(br, b, bs)
293- let bu = fraction(bq, bt, b)
294-[bu]
288+func bo (bp,bq,br) = {
289+ let bs = fraction(bq, b, br)
290+ let bt = fraction(bp, bs, b)
291+[bt]
295292 }
296293
297294
298-func bv (bw,s,bx) = if ((bx == "string"))
299- then getStringValue(bw, s)
300- else if ((bx == "integer"))
301- then toString(getIntegerValue(bw, s))
302- else if ((bx == "boolean"))
303- then toString(getBooleanValue(bw, s))
295+func bu (bv,s,bw) = if ((bw == "string"))
296+ then getStringValue(bv, s)
297+ else if ((bw == "integer"))
298+ then toString(getIntegerValue(bv, s))
299+ else if ((bw == "boolean"))
300+ then toString(getBooleanValue(bv, s))
304301 else throw("unknown type. expected string/integer/boolean")
305302
306303
307-func by () = {
308- let bz = ag()
309- let z = getString(bz, W())
304+func bx () = {
305+ let by = ag()
306+ let z = getString(by, W())
310307 if ($isInstanceOf(z, "String"))
311308 then {
312- let bA = z
313- fromBase58String(bA)
309+ let bz = z
310+ fromBase58String(bz)
314311 }
315312 else if ($isInstanceOf(z, "Unit"))
316313 then unit
317314 else throw("Match error")
318315 }
319316
320317
321-func bB (bC) = {
322- let z = by()
318+func bA (bB) = {
319+ let z = bx()
323320 if ($isInstanceOf(z, "ByteVector"))
324321 then {
325- let bD = z
326- (bC.callerPublicKey == bD)
322+ let bC = z
323+ (bB.callerPublicKey == bC)
327324 }
328325 else if ($isInstanceOf(z, "Unit"))
329- then (bC.caller == this)
326+ then (bB.caller == this)
330327 else throw("Match error")
331328 }
332329
333330
334-func bE (bC) = if (bB(bC))
331+func bD (bB) = if (bA(bB))
335332 then true
336333 else throw("permission denied")
337334
338335
339-@Callable(bC)
340-func constructor (bF) = {
341- let bG = bE(bC)
342- if ((bG == bG))
343- then [StringEntry(F(), bF)]
336+@Callable(bB)
337+func constructor (bE) = {
338+ let bF = bD(bB)
339+ if ((bF == bF))
340+ then [StringEntry(F(), bE)]
344341 else throw("Strict value is not equal to itself.")
345342 }
346343
347344
348345
349-@Callable(bC)
350-func currentRewardRateREADONLY (be) = {
351- let bH = bd(be)
352- let bi = bH[0]
353- let bn = bH[1]
354- let bo = bH[2]
355- let bI = {
356- let bb = invoke(aY, "getVotingResultStakedREADONLY", [be], nil)
357- if ($isInstanceOf(bb, "Int"))
358- then bb
359- else throw(($getType(bb) + " couldn't be cast to Int"))
346+@Callable(bB)
347+func currentRewardRateREADONLY (bd) = {
348+ let bG = bc(bd)
349+ let bh = bG[0]
350+ let bm = bG[1]
351+ let bn = bG[2]
352+ let bH = {
353+ let ba = invoke(aX, "getVotingResultStakedREADONLY", [bd], nil)
354+ if ($isInstanceOf(ba, "Int"))
355+ then ba
356+ else throw(($getType(ba) + " couldn't be cast to Int"))
360357 }
361- $Tuple2(nil, makeString(["%d%d%d%d", toString(bi), toString(bn), toString(bo), toString(bI)], e))
358+ $Tuple2(nil, makeString(["%d%d%d%d", toString(bh), toString(bm), toString(bn), toString(bH)], e))
362359 }
363360
364361
365362
366-@Callable(bC)
367-func currentUserRewardRateREADONLY (be,an) = {
368- let bH = bd(be)
369- let bi = bH[0]
370- let bn = bH[1]
371- let bo = bH[2]
372- let bJ = v(aN, aF(an, be))
373- let bK = split(D(invoke(aN, "claimWxREADONLY", [be, an], nil)), e)
374- let bL = valueOrErrorMessage(parseInt(bK[5]), "couldn't parse minRewardPart")
375- let bM = valueOrErrorMessage(parseInt(bK[6]), "couldn't parse boostRewardPart")
376- let bN = bK[7]
377- let bO = if ((bM == 0))
363+@Callable(bB)
364+func currentUserRewardRateREADONLY (bd,an) = {
365+ let bG = bc(bd)
366+ let bh = bG[0]
367+ let bm = bG[1]
368+ let bn = bG[2]
369+ let bI = v(aN, aF(an, bd))
370+ let bJ = split(D(invoke(aN, "claimWxREADONLY", [bd, an], nil)), e)
371+ let bK = valueOrErrorMessage(parseInt(bJ[5]), "couldn't parse minRewardPart")
372+ let bL = valueOrErrorMessage(parseInt(bJ[6]), "couldn't parse boostRewardPart")
373+ let bM = bJ[7]
374+ let bN = if ((bL == 0))
378375 then (1 * b)
379- else fraction((bL + bM), b, bL)
380- $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bi), toString(bn), toString(bo), toString(bJ), toString(bO), bN], e))
376+ else fraction((bK + bL), b, bK)
377+ $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bh), toString(bm), toString(bn), toString(bI), toString(bN), bM], e))
381378 }
382379
383380
384381
385-@Callable(bC)
386-func calcBoostBulkInternalREADONLY (bP,bQ,bR,bS,bT,bU,bV) = if ((bP == size(bQ)))
387- then $Tuple2(nil, bV)
382+@Callable(bB)
383+func calcBoostBulkInternalREADONLY (bO,bP,bQ,bR,bS,bT,bU) = if ((bO == size(bP)))
384+ then $Tuple2(nil, bU)
388385 else {
389- let bW = bQ[bP]
390- let bX = bR[bP]
391- let bY = bS[bP]
392- let bZ = bT[bP]
393- let ca = {
394- let bb = invoke(this, "calcBoostREADONLY", [bW, bX, bY, bZ, bU], nil)
395- if ($isInstanceOf(bb, "String"))
396- then bb
397- else throw(($getType(bb) + " couldn't be cast to String"))
386+ let bV = bP[bO]
387+ let bW = bQ[bO]
388+ let bX = bR[bO]
389+ let bY = bS[bO]
390+ let bZ = {
391+ let ba = invoke(this, "calcBoostREADONLY", [bV, bW, bX, bY, bT], nil)
392+ if ($isInstanceOf(ba, "String"))
393+ then ba
394+ else throw(($getType(ba) + " couldn't be cast to String"))
398395 }
399- let cb = (bV :+ ca)
400- let cc = {
401- let bb = invoke(this, "calcBoostBulkInternalREADONLY", [(bP + 1), bQ, bR, bS, bT, bU, cb], nil)
402- if ($isInstanceOf(bb, "List[Any]"))
403- then bb
404- else throw(($getType(bb) + " couldn't be cast to List[Any]"))
396+ let ca = (bU :+ bZ)
397+ let cb = {
398+ let ba = invoke(this, "calcBoostBulkInternalREADONLY", [(bO + 1), bP, bQ, bR, bS, bT, ca], nil)
399+ if ($isInstanceOf(ba, "List[Any]"))
400+ then ba
401+ else throw(($getType(ba) + " couldn't be cast to List[Any]"))
405402 }
406- if ((cc == cc))
407- then $Tuple2(nil, cc)
403+ if ((cb == cb))
404+ then $Tuple2(nil, cb)
408405 else throw("Strict value is not equal to itself.")
409406 }
410407
411408
412409
413-@Callable(bC)
414-func calcBoostBulkREADONLY (bW,bX,bY,bZ,bU) = {
415- let cb = invoke(this, "calcBoostBulkInternalREADONLY", [0, bW, bX, bY, bZ, bU, nil], nil)
416- $Tuple2(nil, cb)
410+@Callable(bB)
411+func calcBoostBulkREADONLY (bV,bW,bX,bY,bT) = {
412+ let ca = invoke(this, "calcBoostBulkInternalREADONLY", [0, bV, bW, bX, bY, bT, nil], nil)
413+ $Tuple2(nil, ca)
417414 }
418415
419416
420417
421-@Callable(bC)
422-func calcBoostREADONLY (bW,bX,bY,bZ,bU) = {
423- let cd = {
424- let bb = invoke(aW, "getBoostCoeffREADONLY", nil, nil)
425- if ($isInstanceOf(bb, "Int"))
426- then bb
427- else throw(($getType(bb) + " couldn't be cast to Int"))
418+@Callable(bB)
419+func calcBoostREADONLY (bV,bW,bX,bY,bT) = {
420+ let cc = {
421+ let ba = invoke(aV, "getBoostCoeffREADONLY", nil, nil)
422+ if ($isInstanceOf(ba, "Int"))
423+ then ba
424+ else throw(($getType(ba) + " couldn't be cast to Int"))
428425 }
429- let ce = aX
430- let cf = "empty"
431- let cg = parseIntValue(split(t(aY, ah()), e)[4])
432- let aH = if ((bZ == ""))
433- then cf
434- else bZ
435- let aG = if ((bU == ""))
436- then cf
437- else bU
438- let ch = valueOrElse(getString(aY, am(bU)), cf)
439- let ci = valueOrElse(getInteger(aY, aq(ch)), 0)
440- let cj = valueOrElse(getInteger(aY, as(ch)), height)
441- let br = valueOrElse(getInteger(aY, at(ch)), 0)
442- let ck = (cj + br)
443- let cl = max([(ck - height), 0])
444- let cm = (ci + bW)
445- let cn = min([(cl + bX), cg])
446- let co = B(x(invoke(aY, "gwxUserInfoREADONLY", [aG], nil))[0])
447- let cp = bp(cm, cn, cg)[0]
448- let cq = {
449- let bb = invoke(aY, "getTotalCachedGwxREADONLY", nil, nil)
450- if ($isInstanceOf(bb, "Int"))
451- then bb
452- else throw(($getType(bb) + " couldn't be cast to Int"))
426+ let cd = aW
427+ let ce = "empty"
428+ let cf = parseIntValue(split(t(aX, ah()), e)[4])
429+ let aH = if ((bY == ""))
430+ then ce
431+ else bY
432+ let aG = if ((bT == ""))
433+ then ce
434+ else bT
435+ let cg = valueOrElse(getString(aX, am(bT)), ce)
436+ let ch = valueOrElse(getInteger(aX, aq(cg)), 0)
437+ let ci = valueOrElse(getInteger(aX, as(cg)), height)
438+ let bq = valueOrElse(getInteger(aX, at(cg)), 0)
439+ let cj = (ci + bq)
440+ let ck = max([(cj - height), 0])
441+ let cl = (ch + bV)
442+ let cm = min([(ck + bW), cf])
443+ let cn = B(x(invoke(aX, "gwxUserInfoREADONLY", [aG], nil))[0])
444+ let co = bo(cl, cm, cf)[0]
445+ let cp = {
446+ let ba = invoke(aX, "getTotalCachedGwxREADONLY", nil, nil)
447+ if ($isInstanceOf(ba, "Int"))
448+ then ba
449+ else throw(($getType(ba) + " couldn't be cast to Int"))
453450 }
454- let cr = 1000
455- let cs = (w(aW, aO()) * cr)
456- let ct = aF(aG, aH)
457- let cu = aI(aH)
451+ let cq = 1000
452+ let cr = (w(aV, aO()) * cq)
453+ let cs = aF(aG, aH)
454+ let ct = aI(aH)
455+ let cu = aM(aN, cs)
458456 let cv = aM(aN, ct)
459- let cw = aM(aN, cu)
460- let bh = if ((aH != cf))
457+ let bg = if ((aH != ce))
461458 then {
462- let bf = valueOrErrorMessage(getString(aU, P(aH)), ("unsupported lp asset " + aH))
463- getIntegerValue(aU, T(bf))
459+ let be = valueOrErrorMessage(getString(aT, P(aH)), ("unsupported lp asset " + aH))
460+ getIntegerValue(aT, T(be))
464461 }
465462 else 0
466- let cx = fraction(cs, bh, (f * cd))
467- let cy = if ((cw != 0))
468- then fraction(cx, b, cw)
463+ let cw = fraction(cr, bg, (f * cc))
464+ let cx = if ((cv != 0))
465+ then fraction(cw, b, cv)
469466 else 0
470- let cz = fraction(cy, cv, b)
471- let cA = (cx * (cd - 1))
472- let cB = fraction(co, cA, cq)
473- let cC = min([cB, (cz * (cd - 1))])
474- let cD = if ((cz == 0))
467+ let cy = fraction(cx, cu, b)
468+ let cz = (cw * (cc - 1))
469+ let cA = fraction(cn, cz, cp)
470+ let cB = min([cA, (cy * (cc - 1))])
471+ let cC = if ((cy == 0))
475472 then (1 * b)
476- else fraction((cC + cz), b, cz)
477- $Tuple2(nil, makeString(["%d%d%s", toString(cp), toString(cD), "d"], e))
473+ else fraction((cB + cy), b, cy)
474+ $Tuple2(nil, makeString(["%d%d%s", toString(co), toString(cC), "d"], e))
478475 }
479476
480477
481478
482-@Callable(bC)
479+@Callable(bB)
483480 func wxEmissionStatsREADONLY () = {
484- let cE = toString(b)
485- let cF = "1"
486- let bi = w(aW, aO())
487- let cG = w(aW, aQ())
488- let cH = if ((cG > height))
481+ let cD = toString(b)
482+ let cE = "1"
483+ let bh = w(aV, aO())
484+ let cF = w(aV, aQ())
485+ let cG = if ((cF > height))
489486 then 0
490- else (height - cG)
491- let cI = (1440 * 365)
492- let cJ = (201000000 * b)
493- let cK = if ((cH > cI))
494- then cJ
495- else fraction(cJ, cH, cI)
496- let cL = ((bi * cH) + cK)
497- let cM = v(aY, ai())
498- let cN = v(aY, aj())
499- let cO = v(aY, ak())
500- $Tuple2(nil, makeString(["%d%d%d%d", toString(cL), toString(cM), toString(cN), toString(cO)], e))
487+ else (height - cF)
488+ let cH = (1440 * 365)
489+ let cI = (201000000 * b)
490+ let cJ = if ((cG > cH))
491+ then cI
492+ else fraction(cI, cG, cH)
493+ let cK = ((bh * cG) + cJ)
494+ let cL = v(aX, ai())
495+ let cM = v(aX, aj())
496+ let cN = v(aX, ak())
497+ $Tuple2(nil, makeString(["%d%d%d%d", toString(cK), toString(cL), toString(cM), toString(cN)], e))
501498 }
502499
503500
504501
505-@Callable(bC)
506-func poolStatsREADONLY (cP) = {
507- let ba = addressFromStringValue(t(aU, S(cP)))
508- let cQ = {
509- let bb = invoke(aU, "getPoolStatusREADONLY", [toString(ba)], nil)
510- if ($isInstanceOf(bb, "Int"))
511- then bb
512- else throw(($getType(bb) + " couldn't be cast to Int"))
502+@Callable(bB)
503+func poolStatsREADONLY (cO) = {
504+ let aZ = addressFromStringValue(t(aT, S(cO)))
505+ let cP = {
506+ let ba = invoke(aT, "getPoolStatusREADONLY", [toString(aZ)], nil)
507+ if ($isInstanceOf(ba, "Int"))
508+ then ba
509+ else throw(($getType(ba) + " couldn't be cast to Int"))
513510 }
514- let cR = "%d%d%d%d%d%d%d%d%d%s"
515- if ((cQ == 4))
516- then $Tuple2(nil, makeString([cR, toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(false)], e))
511+ let cQ = "%d%d%d%d%d%d%d%d%d%s"
512+ if ((cP == 4))
513+ then $Tuple2(nil, makeString([cQ, toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(0), toString(false)], e))
517514 else {
518- let cS = x(invoke(ba, "getPoolConfigWrapperREADONLY", nil, nil))
519- let be = fromBase58String(D(cS[j]))
520- let cT = D(cS[k])
521- let cU = D(cS[l])
522- let cV = D(cS[o])
523- let cW = D(cS[p])
524- let cX = parseIntValue(D(cS[m]))
525- let cY = parseIntValue(D(cS[n]))
526- let cZ = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
527- let da = B(invoke(ba, "getAccBalanceWrapperREADONLY", [cT], nil))
528- let db = B(invoke(ba, "getAccBalanceWrapperREADONLY", [cU], nil))
529- let dc = if ((cZ == 0))
515+ let cR = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
516+ let bd = fromBase58String(D(cR[j]))
517+ let cS = D(cR[k])
518+ let cT = D(cR[l])
519+ let cU = D(cR[o])
520+ let cV = D(cR[p])
521+ let cW = parseIntValue(D(cR[m]))
522+ let cX = parseIntValue(D(cR[n]))
523+ let cY = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
524+ let cZ = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cS], nil))
525+ let da = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cT], nil))
526+ let db = if ((cY == 0))
530527 then [toString(g), toString(g), toString(g)]
531- else x(invoke(ba, "calcPricesWrapperREADONLY", [da, db, cZ], nil))
532- let dd = 0
533- let de = B(invoke(ba, "fromX18WrapperREADONLY", [dc[1], b], nil))
534- let df = B(invoke(ba, "fromX18WrapperREADONLY", [dc[2], b], nil))
535- let bh = getIntegerValue(aU, T(toString(ba)))
536- let dg = aZ(ba)
537- let dh = bc(ba)
538- let di = {
539- let bb = invoke(aU, "isPoolOneTokenOperationsDisabledREADONLY", [toString(ba)], nil)
540- if ($isInstanceOf(bb, "Boolean"))
541- then bb
542- else throw(($getType(bb) + " couldn't be cast to Boolean"))
528+ else x(invoke(aZ, "calcPricesWrapperREADONLY", [cZ, da, cY], nil))
529+ let dc = 0
530+ let dd = B(invoke(aZ, "fromX18WrapperREADONLY", [db[1], b], nil))
531+ let de = B(invoke(aZ, "fromX18WrapperREADONLY", [db[2], b], nil))
532+ let bg = getIntegerValue(aT, T(toString(aZ)))
533+ let df = aY(aZ)
534+ let dg = bb(aZ)
535+ let dh = {
536+ let ba = invoke(aT, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aZ)], nil)
537+ if ($isInstanceOf(ba, "Boolean"))
538+ then ba
539+ else throw(($getType(ba) + " couldn't be cast to Boolean"))
543540 }
544- let dj = !(di)
545- $Tuple2(nil, makeString([cR, toString(da), toString(db), toString(cZ), toString(dd), toString(de), toString(df), toString(bh), toString(dg), toString(dh), toString(dj)], e))
541+ let di = !(dh)
542+ $Tuple2(nil, makeString([cQ, toString(cZ), toString(da), toString(cY), toString(dc), toString(dd), toString(de), toString(bg), toString(df), toString(dg), toString(di)], e))
546543 }
547544 }
548545
549546
550547
551-@Callable(bC)
552-func poolEvaluatePutByAmountAssetREADONLY (cP,dk) = {
553- let ba = addressFromStringValue(t(aU, S(cP)))
554- let cS = x(invoke(ba, "getPoolConfigWrapperREADONLY", nil, nil))
555- let be = fromBase58String(D(cS[j]))
556- let dl = D(cS[k])
557- let dm = fromBase58String(dl)
558- let dn = D(cS[l])
559- let do = fromBase58String(dn)
560- let cX = parseIntValue(D(cS[m]))
561- let cY = parseIntValue(D(cS[n]))
562- let dp = D(cS[i])
563- let cZ = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
564- let da = B(invoke(ba, "getAccBalanceWrapperREADONLY", [dl], nil))
565- let db = B(invoke(ba, "getAccBalanceWrapperREADONLY", [dn], nil))
566- let dq = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [da, cX], nil)))
567- let dr = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [db, cY], nil)))
568- let ds = if ((cZ == 0))
548+@Callable(bB)
549+func poolEvaluatePutByAmountAssetREADONLY (cO,dj) = {
550+ let aZ = addressFromStringValue(t(aT, S(cO)))
551+ let cR = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
552+ let bd = fromBase58String(D(cR[j]))
553+ let dk = D(cR[k])
554+ let dl = fromBase58String(dk)
555+ let dm = D(cR[l])
556+ let dn = fromBase58String(dm)
557+ let cW = parseIntValue(D(cR[m]))
558+ let cX = parseIntValue(D(cR[n]))
559+ let do = D(cR[i])
560+ let cY = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
561+ let cZ = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dk], nil))
562+ let da = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dm], nil))
563+ let dp = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [cZ, cW], nil)))
564+ let dq = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [da, cX], nil)))
565+ let dr = if ((cY == 0))
569566 then g
570- else parseBigIntValue(D(invoke(ba, "calcPriceBigIntWrapperREADONLY", [toString(dr), toString(dq)], nil)))
571- let dd = B(invoke(ba, "fromX18WrapperREADONLY", [toString(ds), b], nil))
572- let dt = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [dk, cX], nil)))
573- let du = fraction(dt, ds, d)
574- let dv = B(invoke(ba, "fromX18WrapperREADONLY", [toString(du), cY], nil))
575- let cb = invoke(ba, "estimatePutOperationWrapperREADONLY", ["", 500000, dk, dm, dv, do, "", true, false], nil)
576- let dw = {
577- let z = cb
567+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dq), toString(dp)], nil)))
568+ let dc = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dr), b], nil))
569+ let ds = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dj, cW], nil)))
570+ let dt = fraction(ds, dr, d)
571+ let du = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dt), cX], nil))
572+ let ca = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dj, dl, du, dn, "", true, false], nil)
573+ let dv = {
574+ let z = ca
578575 if (if (if ($isInstanceOf(z._1, "Int"))
579576 then if ($isInstanceOf(z._3, "Int"))
580577 then if ($isInstanceOf(z._4, "Int"))
581578 then if ($isInstanceOf(z._5, "Int"))
582579 then $isInstanceOf(z._6, "Int")
583580 else false
584581 else false
585582 else false
586583 else false)
587584 then (size(z) == 13)
588585 else false)
589586 then {
590- let dx = z._1
591- let dy = z._3
592- let dz = z._4
593- let dA = z._5
594- let dB = z._6
595- $Tuple5(dx, dy, dz, dA, dB)
587+ let dw = z._1
588+ let dx = z._3
589+ let dy = z._4
590+ let dz = z._5
591+ let dA = z._6
592+ $Tuple5(dw, dx, dy, dz, dA)
596593 }
597594 else throw("Couldn't cast types")
598595 }
599- let dx = dw._1
600- let dy = dw._2
601- let dz = dw._3
602- let dA = dw._4
603- let dB = dw._5
604- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dx), toString(dd), toString(dz), toString(dA), toString(dB), dp, toString(dk), toString(dv)], e))
596+ let dw = dv._1
597+ let dx = dv._2
598+ let dy = dv._3
599+ let dz = dv._4
600+ let dA = dv._5
601+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dw), toString(dc), toString(dy), toString(dz), toString(dA), do, toString(dj), toString(du)], e))
605602 }
606603
607604
608605
609-@Callable(bC)
610-func poolEvaluatePutByPriceAssetREADONLY (cP,dv) = {
611- let ba = addressFromStringValue(t(aU, S(cP)))
612- let cS = x(invoke(ba, "getPoolConfigWrapperREADONLY", nil, nil))
613- let be = fromBase58String(D(cS[j]))
614- let dl = D(cS[k])
615- let dm = fromBase58String(dl)
616- let dn = D(cS[l])
617- let do = fromBase58String(dn)
618- let cX = parseIntValue(D(cS[m]))
619- let cY = parseIntValue(D(cS[n]))
620- let dp = D(cS[i])
621- let cZ = valueOrErrorMessage(assetInfo(be), (("Asset " + toBase58String(be)) + " doesn't exist")).quantity
622- let dC = B(invoke(ba, "getAccBalanceWrapperREADONLY", [dl], nil))
623- let dD = B(invoke(ba, "getAccBalanceWrapperREADONLY", [dn], nil))
624- let dE = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [dC, cX], nil)))
625- let dF = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [dD, cY], nil)))
626- let ds = if ((cZ == 0))
606+@Callable(bB)
607+func poolEvaluatePutByPriceAssetREADONLY (cO,du) = {
608+ let aZ = addressFromStringValue(t(aT, S(cO)))
609+ let cR = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
610+ let bd = fromBase58String(D(cR[j]))
611+ let dk = D(cR[k])
612+ let dl = fromBase58String(dk)
613+ let dm = D(cR[l])
614+ let dn = fromBase58String(dm)
615+ let cW = parseIntValue(D(cR[m]))
616+ let cX = parseIntValue(D(cR[n]))
617+ let do = D(cR[i])
618+ let cY = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
619+ let dB = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dk], nil))
620+ let dC = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dm], nil))
621+ let dD = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dB, cW], nil)))
622+ let dE = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dC, cX], nil)))
623+ let dr = if ((cY == 0))
627624 then g
628- else parseBigIntValue(D(invoke(ba, "calcPriceBigIntWrapperREADONLY", [toString(dF), toString(dE)], nil)))
629- let dd = B(invoke(ba, "fromX18WrapperREADONLY", [toString(ds), b], nil))
630- let du = parseBigIntValue(D(invoke(ba, "toX18WrapperREADONLY", [dv, cY], nil)))
631- let dt = fraction(du, d, ds)
632- let dk = B(invoke(ba, "fromX18WrapperREADONLY", [toString(dt), cX], nil))
633- let cb = invoke(ba, "estimatePutOperationWrapperREADONLY", ["", 500000, dk, dm, dv, do, "", true, false], nil)
634- let dG = {
635- let z = cb
625+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dE), toString(dD)], nil)))
626+ let dc = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dr), b], nil))
627+ let dt = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [du, cX], nil)))
628+ let ds = fraction(dt, d, dr)
629+ let dj = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(ds), cW], nil))
630+ let ca = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, dj, dl, du, dn, "", true, false], nil)
631+ let dF = {
632+ let z = ca
636633 if (if (if ($isInstanceOf(z._1, "Int"))
637634 then if ($isInstanceOf(z._3, "Int"))
638635 then if ($isInstanceOf(z._4, "Int"))
639636 then if ($isInstanceOf(z._5, "Int"))
640637 then $isInstanceOf(z._6, "Int")
641638 else false
642639 else false
643640 else false
644641 else false)
645642 then (size(z) == 13)
646643 else false)
647644 then {
648- let dx = z._1
649- let dy = z._3
650- let dz = z._4
651- let dA = z._5
652- let dB = z._6
653- $Tuple5(dx, dy, dz, dA, dB)
645+ let dw = z._1
646+ let dx = z._3
647+ let dy = z._4
648+ let dz = z._5
649+ let dA = z._6
650+ $Tuple5(dw, dx, dy, dz, dA)
654651 }
655652 else throw("Couldn't cast types")
656653 }
657- let dx = dG._1
658- let dy = dG._2
659- let dz = dG._3
660- let dA = dG._4
661- let dB = dG._5
662- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dx), toString(dd), toString(dz), toString(dA), toString(dB), dp, toString(dk), toString(dv)], e))
654+ let dw = dF._1
655+ let dx = dF._2
656+ let dy = dF._3
657+ let dz = dF._4
658+ let dA = dF._5
659+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dw), toString(dc), toString(dy), toString(dz), toString(dA), do, toString(dj), toString(du)], e))
663660 }
664661
665662
666663
667-@Callable(bC)
668-func poolEvaluateGetREADONLY (dH,dI) = {
669- let ba = addressFromStringValue(t(aU, S(dH)))
670- let cb = invoke(ba, "estimateGetOperationWrapperREADONLY", ["", dH, dI, toString(ba)], nil)
671- let dJ = {
672- let z = cb
664+@Callable(bB)
665+func poolEvaluateGetREADONLY (dG,dH) = {
666+ let aZ = addressFromStringValue(t(aT, S(dG)))
667+ let ca = invoke(aZ, "estimateGetOperationWrapperREADONLY", ["", dG, dH, toString(aZ)], nil)
668+ let dI = {
669+ let z = ca
673670 if (if (if ($isInstanceOf(z._1, "Int"))
674671 then if ($isInstanceOf(z._2, "Int"))
675672 then if ($isInstanceOf(z._5, "Int"))
676673 then if ($isInstanceOf(z._6, "Int"))
677674 then if ($isInstanceOf(z._7, "Int"))
678675 then if ($isInstanceOf(z._8, "String"))
679676 then $isInstanceOf(z._9, "String")
680677 else false
681678 else false
682679 else false
683680 else false
684681 else false
685682 else false)
686683 then (size(z) == 10)
687684 else false)
688685 then {
689- let dK = z._1
690- let dL = z._2
691- let dz = z._5
692- let dA = z._6
693- let dB = z._7
694- let dd = z._8
695- let dp = z._9
696- $Tuple7(dK, dL, dz, dA, dB, dd, dp)
686+ let dJ = z._1
687+ let dK = z._2
688+ let dy = z._5
689+ let dz = z._6
690+ let dA = z._7
691+ let dc = z._8
692+ let do = z._9
693+ $Tuple7(dJ, dK, dy, dz, dA, dc, do)
697694 }
698695 else throw("Couldn't cast types")
699696 }
700- let dK = dJ._1
701- let dL = dJ._2
702- let dz = dJ._3
703- let dA = dJ._4
704- let dB = dJ._5
705- let dd = dJ._6
706- let dp = dJ._7
707- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dK), toString(dL), toString(dz), toString(dA), toString(dB), dd, dp], e))
697+ let dJ = dI._1
698+ let dK = dI._2
699+ let dy = dI._3
700+ let dz = dI._4
701+ let dA = dI._5
702+ let dc = dI._6
703+ let do = dI._7
704+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dJ), toString(dK), toString(dy), toString(dz), toString(dA), dc, do], e))
708705 }
709706
710707
711708
712-@Callable(bC)
709+@Callable(bB)
713710 func gwxUserInfoREADONLY (an) = {
714- let dM = x(invoke(aY, "gwxUserInfoREADONLY", [an], nil))
715- let dN = B(dM[0])
716- $Tuple2(nil, makeString(["%d", toString(dN)], e))
711+ let dL = x(invoke(aX, "gwxUserInfoREADONLY", [an], nil))
712+ let dM = B(dL[0])
713+ $Tuple2(nil, makeString(["%d", toString(dM)], e))
717714 }
718715
719716
720717
721-@Callable(bC)
722-func unstakeAndGetOneTknV2 (ba,dO,dP,dQ) = {
723- let cc = invoke(addressFromStringValue(ba), "unstakeAndGetOneTknV2", [dO, dP, dQ], nil)
724- if ((cc == cc))
718+@Callable(bB)
719+func unstakeAndGetOneTknV2 (aZ,dN,dO,dP) = {
720+ let cb = invoke(addressFromStringValue(aZ), "unstakeAndGetOneTknV2", [dN, dO, dP], nil)
721+ if ((cb == cb))
725722 then $Tuple2(nil, unit)
726723 else throw("Strict value is not equal to itself.")
727724 }
728725
729726
730727
731-@Callable(bC)
732-func getKeysBulkInternal (bP,dR,bV) = if ((bP == size(dR)))
733- then $Tuple2(nil, bV)
728+@Callable(bB)
729+func getKeysBulkInternal (bO,dQ,bU) = if ((bO == size(dQ)))
730+ then $Tuple2(nil, bU)
734731 else {
735- let dS = split(dR[bP], "++")
736- let bw = addressFromStringValue(dS[0])
737- let s = dS[1]
738- let bx = dS[2]
739- let y = bv(bw, s, bx)
740- let cb = (bV :+ y)
741- let cc = invoke(this, "getKeysBulkInternal", [(bP + 1), dR, cb], nil)
742- if ((cc == cc))
743- then $Tuple2(nil, cc)
732+ let dR = split(dQ[bO], "++")
733+ let bv = addressFromStringValue(dR[0])
734+ let s = dR[1]
735+ let bw = dR[2]
736+ let y = bu(bv, s, bw)
737+ let ca = (bU :+ y)
738+ let cb = invoke(this, "getKeysBulkInternal", [(bO + 1), dQ, ca], nil)
739+ if ((cb == cb))
740+ then $Tuple2(nil, cb)
744741 else throw("Strict value is not equal to itself.")
745742 }
746743
747744
748745
749-@Callable(bC)
750-func getKeysBulk (dR) = {
751- let cb = invoke(this, "getKeysBulkInternal", [0, dR, nil], nil)
752- $Tuple2(nil, cb)
746+@Callable(bB)
747+func getKeysBulk (dQ) = {
748+ let ca = invoke(this, "getKeysBulkInternal", [0, dQ, nil], nil)
749+ $Tuple2(nil, ca)
753750 }
754751
755752
756-@Verifier(dT)
757-func dU () = {
758- let dV = {
759- let z = by()
753+@Verifier(dS)
754+func dT () = {
755+ let dU = {
756+ let z = bx()
760757 if ($isInstanceOf(z, "ByteVector"))
761758 then {
762- let bD = z
763- bD
759+ let bC = z
760+ bC
764761 }
765762 else if ($isInstanceOf(z, "Unit"))
766- then dT.senderPublicKey
763+ then dS.senderPublicKey
767764 else throw("Match error")
768765 }
769- sigVerify(dT.bodyBytes, dT.proofs[0], dV)
766+ sigVerify(dS.bodyBytes, dS.proofs[0], dU)
770767 }
771768

github/deemru/w8io/026f985 
232.10 ms