tx · CqMsJXXECJhc8Hry3u8SDb2QiHJsxJVdfDtZdfQqZk6T

3MxPzqFNhXfv22CkzhhrnvdBQRwtYyYJo8d:  -0.01700000 Waves

2023.07.19 14:44 [2672694] smart account 3MxPzqFNhXfv22CkzhhrnvdBQRwtYyYJo8d > SELF 0.00000000 Waves

{ "type": 13, "id": "CqMsJXXECJhc8Hry3u8SDb2QiHJsxJVdfDtZdfQqZk6T", "fee": 1700000, "feeAssetId": null, "timestamp": 1689767082057, "version": 2, "chainId": 84, "sender": "3MxPzqFNhXfv22CkzhhrnvdBQRwtYyYJo8d", "senderPublicKey": "29woGLpVKdVUuqfnN2trGx417VC6TpVxd2gCYBAqh8xP", "proofs": [ "wkNj7h5GioL43iryKyCbf1dVJLSWdhqHb9HxseSvWfaw6pmDbq4TEeRoaEbb9Ta3WuCgZSMo8Ahg2QyEp63ndXb" ], "script": "base64:BgIoCAISCQoHCAgIGAEIARIAEgASCAoGCAgICAgIEgMKARgSABIECgIICEEAEGNvbnRyYWN0RmlsZW5hbWUCD3VzZXJfcG9vbHMucmlkZQADU0VQAgJfXwAMd2F2ZXNBc3NldElkAgVXQVZFUwAHVkxUUE9PTAIHVkxUUE9PTAAIU1RCTFBPT0wCCFNUQkxQT09MABFpbnZhbGlkUHJpY2VBc3NldAITSW52YWxpZCBwcmljZSBhc3NldAEHd3JhcEVycgEDbXNnCQC5CQIJAMwIAgUQY29udHJhY3RGaWxlbmFtZQkAzAgCAgI6IAkAzAgCBQNtc2cFA25pbAIAAQh0aHJvd0VycgEDbXNnCQACAQkBB3dyYXBFcnIBBQNtc2cBB3Rocm93UEQACQEIdGhyb3dFcnIBAhFQZXJtaXNzaW9uIGRlbmllZAEUdGhyb3dDcmVhdGVOb3RDYWxsZWQACQEIdGhyb3dFcnIBAiRDcmVhdGUgaXMgbm90IGNhbGxlZCBmb3IgYXNzZXRzIHBhaXIBEXRocm93WW91Tm90SXNzdWVyAAkBCHRocm93RXJyAQIeWW91IGFyZSBub3QgYW1vdW50QXNzZXQgaXNzdWVyAQ90aHJvd1Bvb2xFeGlzdHMACQEIdGhyb3dFcnIBAiRQb29sIHdpdGggc3VjaCBhc3NldHMgYWxyZWFkeSBleGlzdHMBFXRocm93QXNzZXROb3RWZXJpZmllZAAJAQh0aHJvd0VycgECFUFzc2V0IGlzIG5vdCB2ZXJpZmllZAEWdGhyb3dJbnZhbGlkUHJpY2VBc3NldAAJAQh0aHJvd0VycgEFEWludmFsaWRQcmljZUFzc2V0ARR0aHJvd0ludmFsaWRGZWVBc3NldAAJAQh0aHJvd0VycgECEUludmFsaWQgZmVlIGFzc2V0ARd0aHJvd0ludmFsaWRBbW91bnRBc3NldAAJAQh0aHJvd0VycgECHUludmFsaWQgYW1vdW50IGFzc2V0IGF0dGFjaGVkARJ0aHJvd0ludmFsaWRTdGF0dXMACQEIdGhyb3dFcnIBAg5JbnZhbGlkIHN0YXR1cwEfdGhyb3dDYW5BY3RpdmF0ZU9ubHlQZW5kaW5nUG9vbAAJAQh0aHJvd0VycgECKkNhbiBhY3RpdmF0ZSBwb29sIG9ubHkgaW4gJ3BlbmRpbmcnIHN0YXR1cwEddGhyb3dGYWN0b3J5UmV0dXJuZWROb3RTdHJpbmcACQEIdGhyb3dFcnIBAh1GYWN0b3J5VjIgcmV0dXJuZWQgbm90IHN0cmluZwEcdGhyb3dJbnZhbGlkUHJpY2VBc3NldEFtb3VudAAJAQh0aHJvd0VycgECGmludmFsaWQgcHJpY2UgYXNzZXQgYW1vdW50AQ90aHJvd0ludmFsaWRGZWUACQEIdGhyb3dFcnIBAgtpbnZhbGlkIGZlZQEVdGhyb3dJbnZhbGlkQXNzZXRQYWlyAAkBCHRocm93RXJyAQISaW52YWxpZCBhc3NldCBwYWlyARNrZXlNYW5hZ2VyUHVibGljS2V5AAkAuQkCCQDMCAICAiVzCQDMCAICEG1hbmFnZXJQdWJsaWNLZXkFA25pbAUDU0VQARZrZXlNYW5hZ2VyVmF1bHRBZGRyZXNzAAIXJXNfX21hbmFnZXJWYXVsdEFkZHJlc3MBD2tleUFkbWluUHViS2V5cwAJALkJAgkAzAgCAgIlcwkAzAgCAgxhZG1pblB1YktleXMFA25pbAUDU0VQAQlrZXlTdGF0dXMCDWFtb3VudEFzc2V0SWQMcHJpY2VBc3NldElkCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICBnN0YXR1cwkAzAgCBQ1hbW91bnRBc3NldElkCQDMCAIFDHByaWNlQXNzZXRJZAUDbmlsBQNTRVABEmtleUZhY3RvcnlDb250cmFjdAAJALkJAgkAzAgCAgIlcwkAzAgCAg9mYWN0b3J5Q29udHJhY3QFA25pbAUDU0VQARZrZXlBc3NldHNTdG9yZUNvbnRyYWN0AAkAuQkCCQDMCAICAiVzCQDMCAICE2Fzc2V0c1N0b3JlQ29udHJhY3QFA25pbAUDU0VQARNrZXlFbWlzc2lvbkNvbnRyYWN0AAkAuQkCCQDMCAICAiVzCQDMCAICEGVtaXNzaW9uQ29udHJhY3QFA25pbAUDU0VQAQlrZXlTdWZmaXgCDWFtb3VudEFzc2V0SWQMcHJpY2VBc3NldElkCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICBnN1ZmZpeAkAzAgCBQ1hbW91bnRBc3NldElkCQDMCAIFDHByaWNlQXNzZXRJZAUDbmlsBQNTRVABDGtleUxhc3RJbmRleAAJALkJAgkAzAgCAgIlcwkAzAgCAglsYXN0SW5kZXgFA25pbAUDU0VQAAtpbmRleFN1ZmZpeAIBdQANc3RhdHVzUGVuZGluZwIHcGVuZGluZwAOc3RhdHVzRGVjbGluZWQCCGRlY2xpbmVkAAxzdGF0dXNBY3RpdmUCBmFjdGl2ZQAIc3RhdHVzZXMJAMwIAgUNc3RhdHVzUGVuZGluZwkAzAgCBQ5zdGF0dXNEZWNsaW5lZAkAzAgCBQxzdGF0dXNBY3RpdmUFA25pbAEPa2V5Q3JlYXRlQ2FsbGVkAg1hbW91bnRBc3NldElkDHByaWNlQXNzZXRJZAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgxjcmVhdGVDYWxsZWQJAMwIAgUNYW1vdW50QXNzZXRJZAkAzAgCBQxwcmljZUFzc2V0SWQFA25pbAUDU0VQAQ9rZXlDcmVhdGVDYWxsZXICDWFtb3VudEFzc2V0SWQMcHJpY2VBc3NldElkCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICDGNyZWF0ZUNhbGxlcgkAzAgCBQ1hbW91bnRBc3NldElkCQDMCAIFDHByaWNlQXNzZXRJZAUDbmlsBQNTRVABFGtleUFtb3VudEFzc2V0QW1vdW50Ag1hbW91bnRBc3NldElkDHByaWNlQXNzZXRJZAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhFhbW91bnRBc3NldEFtb3VudAkAzAgCBQ1hbW91bnRBc3NldElkCQDMCAIFDHByaWNlQXNzZXRJZAUDbmlsBQNTRVABE2tleVByaWNlQXNzZXRBbW91bnQCDWFtb3VudEFzc2V0SWQMcHJpY2VBc3NldElkCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEHByaWNlQXNzZXRBbW91bnQJAMwIAgUNYW1vdW50QXNzZXRJZAkAzAgCBQxwcmljZUFzc2V0SWQFA25pbAUDU0VQAQlrZXlIZWlnaHQCDWFtb3VudEFzc2V0SWQMcHJpY2VBc3NldElkCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICBmhlaWdodAkAzAgCBQ1hbW91bnRBc3NldElkCQDMCAIFDHByaWNlQXNzZXRJZAUDbmlsBQNTRVABC2tleVBvb2xUeXBlAg1hbW91bnRBc3NldElkDHByaWNlQXNzZXRJZAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAghwb29sVHlwZQkAzAgCBQ1hbW91bnRBc3NldElkCQDMCAIFDHByaWNlQXNzZXRJZAUDbmlsBQNTRVABDWtleUZlZUFzc2V0SWQACQC5CQIJAMwIAgICJXMJAMwIAgIKZmVlQXNzZXRJZAUDbmlsBQNTRVABDGtleUZlZUFtb3VudAAJALkJAgkAzAgCAgIlcwkAzAgCAglmZWVBbW91bnQFA25pbAUDU0VQARdrZXlBbW91bnRBc3NldE1pbkFtb3VudAAJALkJAgkAzAgCAgIlcwkAzAgCAhRhbW91bnRBc3NldE1pbkFtb3VudAUDbmlsBQNTRVABF2tleVByaWNlQXNzZXRzTWluQW1vdW50AAkAuQkCCQDMCAICAiVzCQDMCAICFHByaWNlQXNzZXRzTWluQW1vdW50BQNuaWwFA1NFUAEOa2V5UHJpY2VBc3NldHMACQC5CQIJAMwIAgICJXMJAMwIAgILcHJpY2VBc3NldHMFA25pbAUDU0VQARxnZXRNYW5hZ2VyVmF1bHRBZGRyZXNzT3JUaGlzAAQHJG1hdGNoMAkAoggBCQEWa2V5TWFuYWdlclZhdWx0QWRkcmVzcwADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFzBQR0aGlzAQ9nZXRTdHJpbmdPckZhaWwBA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMFA2tleQkArAICBQNrZXkCDyBpcyBub3QgZGVmaW5lZAESc3RyaW5nT3B0aW9uVG9MaXN0AQxzdHJpbmdPclVuaXQEByRtYXRjaDAFDHN0cmluZ09yVW5pdAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDADCQAAAgkAsQIBBQFzAAAFA25pbAkAtQkCBQFzBQNTRVADCQABAgUHJG1hdGNoMAIEVW5pdAUDbmlsCQACAQILTWF0Y2ggZXJyb3IAD2ZhY3RvcnlDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBD2dldFN0cmluZ09yRmFpbAEJARJrZXlGYWN0b3J5Q29udHJhY3QAABlrZXlWb3RpbmdFbWlzc2lvbkNvbnRyYWN0CQC5CQIJAMwIAgICJXMJAMwIAgIWdm90aW5nRW1pc3Npb25Db250cmFjdAUDbmlsBQNTRVAAFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ9mYWN0b3J5Q29udHJhY3QFGWtleVZvdGluZ0VtaXNzaW9uQ29udHJhY3QJAQd3cmFwRXJyAQIsdm90aW5nIGVtaXNzaW9uIGNvbnRyYWN0IGFkZHJlc3MgaXMgcmVxdWlyZWQAImtleVZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QJALkJAgkAzAgCAgIlcwkAzAgCAh92b3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0BQNuaWwFA1NFUAAfdm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QFImtleVZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QJAQd3cmFwRXJyAQI2dm90aW5nIGVtaXNzaW9uIGNhbmRpZGF0ZSBjb250cmFjdCBhZGRyZXNzIGlzIHJlcXVpcmVkAQ5pc0NyZWF0ZUNhbGxlZAINYW1vdW50QXNzZXRJZAxwcmljZUFzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBD2tleUNyZWF0ZUNhbGxlZAIFDWFtb3VudEFzc2V0SWQFDHByaWNlQXNzZXRJZAcBEG11c3RDcmVhdGVDYWxsZWQCDWFtb3VudEFzc2V0SWQMcHJpY2VBc3NldElkAwkBDmlzQ3JlYXRlQ2FsbGVkAgUNYW1vdW50QXNzZXRJZAUMcHJpY2VBc3NldElkBgkBFHRocm93Q3JlYXRlTm90Q2FsbGVkAAEWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAEE21hbmFnZXJWYXVsdEFkZHJlc3MJARxnZXRNYW5hZ2VyVmF1bHRBZGRyZXNzT3JUaGlzAAQHJG1hdGNoMAkAnQgCBRNtYW5hZ2VyVmF1bHRBZGRyZXNzCQETa2V5TWFuYWdlclB1YmxpY0tleQADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQDZBAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQlpc01hbmFnZXIBAWkEByRtYXRjaDAJARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAJwawUHJG1hdGNoMAkAAAIIBQFpD2NhbGxlclB1YmxpY0tleQUCcGsDCQABAgUHJG1hdGNoMAIEVW5pdAkAAAIIBQFpBmNhbGxlcgUEdGhpcwkAAgECC01hdGNoIGVycm9yAQttdXN0TWFuYWdlcgEBaQMJAQlpc01hbmFnZXIBBQFpBgkBB3Rocm93UEQAAQltdXN0QWRtaW4BAWkECGFkbWluUEtzCQESc3RyaW5nT3B0aW9uVG9MaXN0AQkAoggBCQEPa2V5QWRtaW5QdWJLZXlzAAMJAQ9jb250YWluc0VsZW1lbnQCBQhhZG1pblBLcwkA2AQBCAUBaQ9jYWxsZXJQdWJsaWNLZXkGCQELbXVzdE1hbmFnZXIBBQFpAQppc1ZlcmlmaWVkAQdhc3NldElkCQAAAgkBC3ZhbHVlT3JFbHNlAgkAmggCCQERQGV4dHJOYXRpdmUoMTA2MikBCQEPZ2V0U3RyaW5nT3JGYWlsAQkBFmtleUFzc2V0c1N0b3JlQ29udHJhY3QACQCsAgIJAKwCAgIIc3RhdHVzXzwFB2Fzc2V0SWQCAT4AAAACAQxnZXRJZEFuZEluZm8BB3BheW1lbnQEByRtYXRjaDAIBQdwYXltZW50B2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQCaWQFByRtYXRjaDAEBGluZm8JAQV2YWx1ZQEJAOwHAQUCaWQJAJQKAgkA2AQBBQJpZAUEaW5mbwMJAAECBQckbWF0Y2gwAgRVbml0CQCUCgIFDHdhdmVzQXNzZXRJZAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQt2YWxpZFN0YXR1cwEGc3RhdHVzCQEPY29udGFpbnNFbGVtZW50AgUIc3RhdHVzZXMFBnN0YXR1cwEHX2NyZWF0ZQIBaQhwb29sVHlwZQQSYW1vdW50QXNzZXRQYXltZW50CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAEEXByaWNlQXNzZXRQYXltZW50CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAEED2ZlZUFzc2V0UGF5bWVudAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwACBAskdDA2NDgzNjU1NQkBDGdldElkQW5kSW5mbwEFEmFtb3VudEFzc2V0UGF5bWVudAQNYW1vdW50QXNzZXRJZAgFCyR0MDY0ODM2NTU1Al8xBA9hbW91bnRBc3NldEluZm8IBQskdDA2NDgzNjU1NQJfMgQLJHQwNjU1ODY2MjcJAQxnZXRJZEFuZEluZm8BBRFwcmljZUFzc2V0UGF5bWVudAQMcHJpY2VBc3NldElkCAULJHQwNjU1ODY2MjcCXzEEDnByaWNlQXNzZXRJbmZvCAULJHQwNjU1ODY2MjcCXzIECyR0MDY2MzA2NjkzCQEMZ2V0SWRBbmRJbmZvAQUPZmVlQXNzZXRQYXltZW50BApmZWVBc3NldElkCAULJHQwNjYzMDY2OTMCXzEEDGZlZUFzc2V0SW5mbwgFCyR0MDY2MzA2NjkzAl8yBBFhbW91bnRBc3NldEFtb3VudAgFEmFtb3VudEFzc2V0UGF5bWVudAZhbW91bnQEEHByaWNlQXNzZXRBbW91bnQIBRFwcmljZUFzc2V0UGF5bWVudAZhbW91bnQEDmZlZUFzc2V0QW1vdW50CAUPZmVlQXNzZXRQYXltZW50BmFtb3VudAQPcHJpY2VBc3NldHNMaXN0CQESc3RyaW5nT3B0aW9uVG9MaXN0AQkAnQgCBQ9mYWN0b3J5Q29udHJhY3QJAQ5rZXlQcmljZUFzc2V0cwAEFWFzc2V0TWluQW1vdW50RGVmYXVsdAkBEUBleHRyTmF0aXZlKDEwNTUpAQkBF2tleUFtb3VudEFzc2V0TWluQW1vdW50AAQXYWxsb3dlZEFzc2V0c01pbkFtb3VudHMJARJzdHJpbmdPcHRpb25Ub0xpc3QBCQCiCAEJARdrZXlQcmljZUFzc2V0c01pbkFtb3VudAAEFGFtb3VudEFzc2V0TWluQW1vdW50AwkBD2NvbnRhaW5zRWxlbWVudAIFD3ByaWNlQXNzZXRzTGlzdAUNYW1vdW50QXNzZXRJZAQQcHJpY2VBc3NldHNJbmRleAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDPCAIFD3ByaWNlQXNzZXRzTGlzdAUNYW1vdW50QXNzZXRJZAURaW52YWxpZFByaWNlQXNzZXQJAQV2YWx1ZQEJALYJAQkAkQMCBRdhbGxvd2VkQXNzZXRzTWluQW1vdW50cwUQcHJpY2VBc3NldHNJbmRleAUVYXNzZXRNaW5BbW91bnREZWZhdWx0BBNwcmljZUFzc2V0TWluQW1vdW50AwkBD2NvbnRhaW5zRWxlbWVudAIFD3ByaWNlQXNzZXRzTGlzdAUMcHJpY2VBc3NldElkBBBwcmljZUFzc2V0c0luZGV4CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAM8IAgUPcHJpY2VBc3NldHNMaXN0BQxwcmljZUFzc2V0SWQFEWludmFsaWRQcmljZUFzc2V0CQEFdmFsdWUBCQC2CQEJAJEDAgUXYWxsb3dlZEFzc2V0c01pbkFtb3VudHMFEHByaWNlQXNzZXRzSW5kZXgFFWFzc2V0TWluQW1vdW50RGVmYXVsdAQJbGFzdEluZGV4CQELdmFsdWVPckVsc2UCCQCfCAEJAQxrZXlMYXN0SW5kZXgAAAAECGN1ckluZGV4CQBkAgUJbGFzdEluZGV4AAEEEGVtaXNzaW9uQ29udHJhY3QJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQ9nZXRTdHJpbmdPckZhaWwBCQETa2V5RW1pc3Npb25Db250cmFjdAAECnBvb2xFeGlzdHMKAAFACQD8BwQFD2ZhY3RvcnlDb250cmFjdAIScG9vbEV4aXN0c1JFQURPTkxZCQDMCAIFDWFtb3VudEFzc2V0SWQJAMwIAgUMcHJpY2VBc3NldElkBQNuaWwFA25pbAMJAAECBQFAAgdCb29sZWFuBQFACQACAQkArAICCQADAQUBQAIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgQGY2hlY2tzCQDMCAIDCQEBIQEJAQ5pc0NyZWF0ZUNhbGxlZAIFDWFtb3VudEFzc2V0SWQFDHByaWNlQXNzZXRJZAYJAQ90aHJvd1Bvb2xFeGlzdHMACQDMCAIDCQEBIQEFCnBvb2xFeGlzdHMGCQEPdGhyb3dQb29sRXhpc3RzAAkAzAgCAwkBAiE9AgUNYW1vdW50QXNzZXRJZAUMcHJpY2VBc3NldElkBgkBFXRocm93SW52YWxpZEFzc2V0UGFpcgAJAMwIAgMDCQEJaXNNYW5hZ2VyAQUBaQYDCQEKaXNWZXJpZmllZAEFDWFtb3VudEFzc2V0SWQJAQppc1ZlcmlmaWVkAQUMcHJpY2VBc3NldElkBwYJARV0aHJvd0ludmFsaWRBc3NldFBhaXIACQDMCAIDAwkBD2NvbnRhaW5zRWxlbWVudAIFD3ByaWNlQXNzZXRzTGlzdAUNYW1vdW50QXNzZXRJZAYJAQ9jb250YWluc0VsZW1lbnQCBQ9wcmljZUFzc2V0c0xpc3QFDHByaWNlQXNzZXRJZAYJARV0aHJvd0ludmFsaWRBc3NldFBhaXIACQDMCAIDAwkBCWlzTWFuYWdlcgEFAWkGCQAAAgkAoggBCQENa2V5RmVlQXNzZXRJZAAFCmZlZUFzc2V0SWQGCQEUdGhyb3dJbnZhbGlkRmVlQXNzZXQACQDMCAIDAwkBCWlzTWFuYWdlcgEFAWkGCQBnAgURYW1vdW50QXNzZXRBbW91bnQJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARdrZXlBbW91bnRBc3NldE1pbkFtb3VudAAGCQEXdGhyb3dJbnZhbGlkQW1vdW50QXNzZXQACQDMCAIDAwkBCWlzTWFuYWdlcgEFAWkGCQBnAgUQcHJpY2VBc3NldEFtb3VudAUTcHJpY2VBc3NldE1pbkFtb3VudAYJARx0aHJvd0ludmFsaWRQcmljZUFzc2V0QW1vdW50AAkAzAgCAwMJAQlpc01hbmFnZXIBBQFpBgkAAAIFDmZlZUFzc2V0QW1vdW50CQCfCAEJAQxrZXlGZWVBbW91bnQABgkBD3Rocm93SW52YWxpZEZlZQAFA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwQTcGF5bWVudHNXaXRoRmVlU2l6ZQADBA9idXJuRW1pc3Npb25JbnYDCQBnAgkAkAMBCAUBaQhwYXltZW50cwUTcGF5bWVudHNXaXRoRmVlU2l6ZQkA/AcEBRBlbWlzc2lvbkNvbnRyYWN0AgRidXJuBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQUKZmVlQXNzZXRJZAUOZmVlQXNzZXRBbW91bnQFA25pbAUEdW5pdAMJAAACBQ9idXJuRW1pc3Npb25JbnYFD2J1cm5FbWlzc2lvbkludgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBD2tleUNyZWF0ZUNhbGxlZAIFDWFtb3VudEFzc2V0SWQFDHByaWNlQXNzZXRJZAYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2tleUNyZWF0ZUNhbGxlcgIFDWFtb3VudEFzc2V0SWQFDHByaWNlQXNzZXRJZAkApQgBCAUBaQZjYWxsZXIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQxrZXlMYXN0SW5kZXgABQhjdXJJbmRleAkAzAgCCQELU3RyaW5nRW50cnkCCQEJa2V5U3VmZml4AgUNYW1vdW50QXNzZXRJZAUMcHJpY2VBc3NldElkCQCsAgIJAKQDAQUIY3VySW5kZXgFC2luZGV4U3VmZml4CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEJa2V5SGVpZ2h0AgUNYW1vdW50QXNzZXRJZAUMcHJpY2VBc3NldElkBQZoZWlnaHQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCWtleVN0YXR1cwIFDWFtb3VudEFzc2V0SWQFDHByaWNlQXNzZXRJZAUNc3RhdHVzUGVuZGluZwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleUFtb3VudEFzc2V0QW1vdW50AgUNYW1vdW50QXNzZXRJZAUMcHJpY2VBc3NldElkBRFhbW91bnRBc3NldEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBE2tleVByaWNlQXNzZXRBbW91bnQCBQ1hbW91bnRBc3NldElkBQxwcmljZUFzc2V0SWQFEHByaWNlQXNzZXRBbW91bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBC2tleVBvb2xUeXBlAgUNYW1vdW50QXNzZXRJZAUMcHJpY2VBc3NldElkBQhwb29sVHlwZQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBwFpAQtjb25zdHJ1Y3RvcgcQZmFjdG9yeVYyQWRkcmVzcxJhc3NldHNTdG9yZUFkZHJlc3MPZW1pc3Npb25BZGRyZXNzFHByaWNlQXNzZXRzTWluQW1vdW50FGFtb3VudEFzc2V0TWluQW1vdW50CmZlZUFzc2V0SWQJZmVlQW1vdW50BAtjaGVja0NhbGxlcgkBC211c3RNYW5hZ2VyAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEmtleUZhY3RvcnlDb250cmFjdAAFEGZhY3RvcnlWMkFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkBFmtleUFzc2V0c1N0b3JlQ29udHJhY3QABRJhc3NldHNTdG9yZUFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkBE2tleUVtaXNzaW9uQ29udHJhY3QABQ9lbWlzc2lvbkFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkBF2tleVByaWNlQXNzZXRzTWluQW1vdW50AAkAuQkCBRRwcmljZUFzc2V0c01pbkFtb3VudAUDU0VQCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEXa2V5QW1vdW50QXNzZXRNaW5BbW91bnQABRRhbW91bnRBc3NldE1pbkFtb3VudAkAzAgCCQELU3RyaW5nRW50cnkCCQENa2V5RmVlQXNzZXRJZAAFCmZlZUFzc2V0SWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQxrZXlGZWVBbW91bnQABQlmZWVBbW91bnQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQZjcmVhdGUACQEHX2NyZWF0ZQIFAWkFB1ZMVFBPT0wBaQEMY3JlYXRlU3RhYmxlAAQLY2hlY2tDYWxsZXIJAQttdXN0TWFuYWdlcgEFAWkDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyCQEHX2NyZWF0ZQIFAWkFCFNUQkxQT09MCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCGFjdGl2YXRlBgtwb29sQWRkcmVzcw1hbW91bnRBc3NldElkEWFtb3VudEFzc2V0VGlja2VyDHByaWNlQXNzZXRJZBBwcmljZUFzc2V0VGlja2VyBGxvZ28EBmNoZWNrcwkAzAgCCQEJbXVzdEFkbWluAQUBaQkAzAgCAwkBDmlzQ3JlYXRlQ2FsbGVkAgUNYW1vdW50QXNzZXRJZAUMcHJpY2VBc3NldElkBgkBFHRocm93Q3JlYXRlTm90Q2FsbGVkAAkAzAgCAwkAAAIJAQV2YWx1ZQEJAKIIAQkBCWtleVN0YXR1cwIFDWFtb3VudEFzc2V0SWQFDHByaWNlQXNzZXRJZAUNc3RhdHVzUGVuZGluZwYJAR90aHJvd0NhbkFjdGl2YXRlT25seVBlbmRpbmdQb29sAAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBA5wb29sVHlwZU9wdGlvbgkAnQgCBQR0aGlzCQELa2V5UG9vbFR5cGUCBQ1hbW91bnRBc3NldElkBQxwcmljZUFzc2V0SWQEEmFjdGl2YXRlTmV3UG9vbEludgkA/AcEBQ9mYWN0b3J5Q29udHJhY3QCD2FjdGl2YXRlTmV3UG9vbAkAzAgCBQtwb29sQWRkcmVzcwkAzAgCBQ1hbW91bnRBc3NldElkCQDMCAIFDHByaWNlQXNzZXRJZAkAzAgCCQCsAgIJAKwCAgURYW1vdW50QXNzZXRUaWNrZXIFEHByaWNlQXNzZXRUaWNrZXICAkxQCQDMCAIJAKwCAgkArAICCQCsAgIFEWFtb3VudEFzc2V0VGlja2VyAgEvBRBwcmljZUFzc2V0VGlja2VyAh4gcG9vbCBsaXF1aWRpdHkgcHJvdmlkZXIgdG9rZW4JAMwIAgAACQDMCAIDCQAAAgUOcG9vbFR5cGVPcHRpb24FBHVuaXQCB1ZMVFBPT0wJAQV2YWx1ZQEFDnBvb2xUeXBlT3B0aW9uCQDMCAIFBGxvZ28FA25pbAUDbmlsAwkAAAIFEmFjdGl2YXRlTmV3UG9vbEludgUSYWN0aXZhdGVOZXdQb29sSW52BAlscEFzc2V0SWQEByRtYXRjaDAFEmFjdGl2YXRlTmV3UG9vbEludgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAmlkBQckbWF0Y2gwBQJpZAkBHXRocm93RmFjdG9yeVJldHVybmVkTm90U3RyaW5nAAMJAAACBQlscEFzc2V0SWQFCWxwQXNzZXRJZAQJYmVmb3JlUHV0CQDwBwIFBHRoaXMJANkEAQUJbHBBc3NldElkAwkAAAIFCWJlZm9yZVB1dAUJYmVmb3JlUHV0BANwdXQJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQULcG9vbEFkZHJlc3MCA3B1dAkAzAgCAAAJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgMJAAACBQ1hbW91bnRBc3NldElkAgVXQVZFUwUEdW5pdAkA2QQBBQ1hbW91bnRBc3NldElkCQEFdmFsdWUBCQCfCAEJARRrZXlBbW91bnRBc3NldEFtb3VudAIFDWFtb3VudEFzc2V0SWQFDHByaWNlQXNzZXRJZAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgMJAAACBQxwcmljZUFzc2V0SWQCBVdBVkVTBQR1bml0CQDZBAEFDHByaWNlQXNzZXRJZAkBBXZhbHVlAQkAnwgBCQETa2V5UHJpY2VBc3NldEFtb3VudAIFDWFtb3VudEFzc2V0SWQFDHByaWNlQXNzZXRJZAUDbmlsAwkAAAIFA3B1dAUDcHV0BAhhZnRlclB1dAkA8AcCBQR0aGlzCQDZBAEFCWxwQXNzZXRJZAMJAAACBQhhZnRlclB1dAUIYWZ0ZXJQdXQEBHVzZXIJAQV2YWx1ZQEJAKYIAQkBBXZhbHVlAQkAoggBCQEPa2V5Q3JlYXRlQ2FsbGVyAgUNYW1vdW50QXNzZXRJZAUMcHJpY2VBc3NldElkBANyZXMJAPwHBAUfdm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdAIHYXBwcm92ZQkAzAgCBQ1hbW91bnRBc3NldElkCQDMCAIFDHByaWNlQXNzZXRJZAUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCWtleVN0YXR1cwIFDWFtb3VudEFzc2V0SWQFDHByaWNlQXNzZXRJZAUMc3RhdHVzQWN0aXZlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBHVzZXIJAGUCBQhhZnRlclB1dAUJYmVmb3JlUHV0CQDZBAEFCWxwQXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCXNldEFkbWlucwEMYWRtaW5QdWJLZXlzBAtjaGVja0NhbGxlcgkBC211c3RNYW5hZ2VyAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2tleUFkbWluUHViS2V5cwAJALkJAgUMYWRtaW5QdWJLZXlzBQNTRVAFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARNwcmljZUFzc2V0c1JFQURPTkxZAAkAlAoCBQNuaWwJARJzdHJpbmdPcHRpb25Ub0xpc3QBCQCiCAEJAQ5rZXlQcmljZUFzc2V0cwABaQEOc3RhdHVzUkVBRE9OTFkCDWFtb3VudEFzc2V0SWQMcHJpY2VBc3NldElkBAZzdGF0dXMEByRtYXRjaDAJAKIIAQkBCWtleVN0YXR1cwIFDWFtb3VudEFzc2V0SWQFDHByaWNlQXNzZXRJZAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMFBHVuaXQJAJQKAgUDbmlsBQZzdGF0dXMBAnR4AQZ2ZXJpZnkABA90YXJnZXRQdWJsaWNLZXkEByRtYXRjaDAJARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAJwawUHJG1hdGNoMAUCcGsDCQABAgUHJG1hdGNoMAIEVW5pdAgFAnR4D3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQ90YXJnZXRQdWJsaWNLZXkf484j", "height": 2672694, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ApMe4NwyrUccmhwNhunZjggVJ6t45xrwj6VF2s43Tz9h Next: none Diff:
OldNewDifferences
6464 func x () = makeString(["%s", "managerPublicKey"], b)
6565
6666
67-func y () = makeString(["%s", "pendingManagerPublicKey"], b)
67+func y () = "%s__managerVaultAddress"
6868
6969
7070 func z () = makeString(["%s", "adminPubKeys"], b)
131131 func X () = makeString(["%s", "priceAssets"], b)
132132
133133
134-func Y (Z) = valueOrErrorMessage(getString(this, Z), (Z + " is not defined"))
134+func Y () = {
135+ let Z = getString(y())
136+ if ($isInstanceOf(Z, "String"))
137+ then {
138+ let aa = Z
139+ addressFromStringValue(aa)
140+ }
141+ else this
142+ }
135143
136144
137-func aa (ab) = {
138- let ac = ab
139- if ($isInstanceOf(ac, "String"))
145+func ab (ac) = valueOrErrorMessage(getString(this, ac), (ac + " is not defined"))
146+
147+
148+func ad (ae) = {
149+ let Z = ae
150+ if ($isInstanceOf(Z, "String"))
140151 then {
141- let ad = ac
142- if ((size(ad) == 0))
152+ let aa = Z
153+ if ((size(aa) == 0))
143154 then nil
144- else split(ad, b)
155+ else split(aa, b)
145156 }
146- else if ($isInstanceOf(ac, "Unit"))
157+ else if ($isInstanceOf(Z, "Unit"))
147158 then nil
148159 else throw("Match error")
149160 }
150161
151162
152-let ae = addressFromStringValue(Y(D()))
163+let af = addressFromStringValue(ab(D()))
153164
154-let af = makeString(["%s", "votingEmissionContract"], b)
165+let ag = makeString(["%s", "votingEmissionContract"], b)
155166
156-let ag = addressFromStringValue(valueOrErrorMessage(getString(ae, af), g("voting emission contract address is required")))
167+let ah = addressFromStringValue(valueOrErrorMessage(getString(af, ag), g("voting emission contract address is required")))
157168
158-let ah = makeString(["%s", "votingEmissionCandidateContract"], b)
169+let ai = makeString(["%s", "votingEmissionCandidateContract"], b)
159170
160-let ai = addressFromStringValue(valueOrErrorMessage(getString(ag, ah), g("voting emission candidate contract address is required")))
171+let aj = addressFromStringValue(valueOrErrorMessage(getString(ah, ai), g("voting emission candidate contract address is required")))
161172
162-func aj (B,C) = valueOrElse(getBoolean(N(B, C)), false)
173+func ak (B,C) = valueOrElse(getBoolean(N(B, C)), false)
163174
164175
165-func ak (B,C) = if (aj(B, C))
176+func al (B,C) = if (ak(B, C))
166177 then true
167178 else k()
168179
169180
170-func al () = {
171- let ac = getString(x())
172- if ($isInstanceOf(ac, "String"))
181+func am () = {
182+ let an = Y()
183+ let Z = getString(an, x())
184+ if ($isInstanceOf(Z, "String"))
173185 then {
174- let ad = ac
175- fromBase58String(ad)
186+ let aa = Z
187+ fromBase58String(aa)
176188 }
177- else if ($isInstanceOf(ac, "Unit"))
189+ else if ($isInstanceOf(Z, "Unit"))
178190 then unit
179191 else throw("Match error")
180192 }
181193
182194
183-func am () = {
184- let ac = getString(y())
185- if ($isInstanceOf(ac, "String"))
195+func ao (ap) = {
196+ let Z = am()
197+ if ($isInstanceOf(Z, "ByteVector"))
186198 then {
187- let ad = ac
188- fromBase58String(ad)
199+ let aq = Z
200+ (ap.callerPublicKey == aq)
189201 }
190- else if ($isInstanceOf(ac, "Unit"))
191- then unit
202+ else if ($isInstanceOf(Z, "Unit"))
203+ then (ap.caller == this)
192204 else throw("Match error")
193205 }
194206
195207
196-func an (ao) = {
197- let ac = al()
198- if ($isInstanceOf(ac, "ByteVector"))
199- then {
200- let ap = ac
201- (ao.callerPublicKey == ap)
202- }
203- else if ($isInstanceOf(ac, "Unit"))
204- then (ao.caller == this)
205- else throw("Match error")
206- }
207-
208-
209-func aq (ao) = if (an(ao))
208+func ar (ap) = if (ao(ap))
210209 then true
211210 else j()
212211
213212
214-func ar (ao) = {
215- let as = aa(getString(z()))
216- if (containsElement(as, toBase58String(ao.callerPublicKey)))
213+func as (ap) = {
214+ let at = ad(getString(z()))
215+ if (containsElement(at, toBase58String(ap.callerPublicKey)))
217216 then true
218- else aq(ao)
217+ else ar(ap)
219218 }
220219
221220
222-func at (au) = (valueOrElse(getInteger(addressFromStringValue(Y(E())), (("status_<" + au) + ">")), 0) == 2)
221+func au (av) = (valueOrElse(getInteger(addressFromStringValue(ab(E())), (("status_<" + av) + ">")), 0) == 2)
223222
224223
225-func av (aw) = {
226- let ac = aw.assetId
227- if ($isInstanceOf(ac, "ByteVector"))
224+func aw (ax) = {
225+ let Z = ax.assetId
226+ if ($isInstanceOf(Z, "ByteVector"))
228227 then {
229- let ax = ac
230- let ay = value(assetInfo(ax))
231- $Tuple2(toBase58String(ax), ay)
228+ let ay = Z
229+ let az = value(assetInfo(ay))
230+ $Tuple2(toBase58String(ay), az)
232231 }
233- else if ($isInstanceOf(ac, "Unit"))
232+ else if ($isInstanceOf(Z, "Unit"))
234233 then $Tuple2(c, unit)
235234 else throw("Match error")
236235 }
237236
238237
239-func az (aA) = containsElement(M, aA)
238+func aA (aB) = containsElement(M, aB)
240239
241240
242-func aB (ao,aC) = {
243- let aD = value(ao.payments[0])
244- let aE = value(ao.payments[1])
245- let aF = value(ao.payments[2])
246- let aG = av(aD)
247- let aH = aG._1
248- let aI = aG._2
249- let aJ = av(aE)
250- let aK = aJ._1
251- let aL = aJ._2
252- let aM = av(aF)
253- let aN = aM._1
254- let aO = aM._2
255- let aP = aa(getString(ae, X()))
256- let aQ = if ((aH != aK))
241+func aC (ap,aD) = {
242+ let aE = value(ap.payments[0])
243+ let aF = value(ap.payments[1])
244+ let aG = value(ap.payments[2])
245+ let aH = aw(aE)
246+ let B = aH._1
247+ let aI = aH._2
248+ let aJ = aw(aF)
249+ let C = aJ._1
250+ let aK = aJ._2
251+ let aL = aw(aG)
252+ let aM = aL._1
253+ let aN = aL._2
254+ let aO = aE.amount
255+ let aP = aF.amount
256+ let aQ = aG.amount
257+ let aR = ad(getString(af, X()))
258+ let aS = getIntegerValue(V())
259+ let aT = ad(getString(W()))
260+ let aU = if (containsElement(aR, B))
261+ then {
262+ let aV = valueOrErrorMessage(indexOf(aR, B), f)
263+ value(parseInt(aT[aV]))
264+ }
265+ else aS
266+ let aW = if (containsElement(aR, C))
267+ then {
268+ let aV = valueOrErrorMessage(indexOf(aR, C), f)
269+ value(parseInt(aT[aV]))
270+ }
271+ else aS
272+ let aX = valueOrElse(getInteger(H()), 0)
273+ let aY = (aX + 1)
274+ let aZ = addressFromStringValue(ab(F()))
275+ let ba = {
276+ let bb = invoke(af, "poolExistsREADONLY", [B, C], nil)
277+ if ($isInstanceOf(bb, "Boolean"))
278+ then bb
279+ else throw(($getType(bb) + " couldn't be cast to Boolean"))
280+ }
281+ let bc = [if (!(ak(B, C)))
257282 then true
258- else w()
259- if ((aQ == aQ))
283+ else m(), if (!(ba))
284+ then true
285+ else m(), if ((B != C))
286+ then true
287+ else w(), if (if (ao(ap))
288+ then true
289+ else if (au(B))
290+ then au(C)
291+ else false)
292+ then true
293+ else w(), if (if (containsElement(aR, B))
294+ then true
295+ else containsElement(aR, C))
296+ then true
297+ else w(), if (if (ao(ap))
298+ then true
299+ else (getString(T()) == aM))
300+ then true
301+ else p(), if (if (ao(ap))
302+ then true
303+ else (aO >= getIntegerValue(V())))
304+ then true
305+ else q(), if (if (ao(ap))
306+ then true
307+ else (aP >= aW))
308+ then true
309+ else u(), if (if (ao(ap))
310+ then true
311+ else (aQ == getInteger(U())))
312+ then true
313+ else v()]
314+ if ((bc == bc))
260315 then {
261- let aR = if (if (an(ao))
262- then true
263- else if (containsElement(aP, aK))
264- then at(aH)
265- else false)
266- then $Tuple4(aH, aD.amount, aK, aE.amount)
267- else if (if (containsElement(aP, aH))
268- then at(aK)
269- else false)
270- then $Tuple4(aK, aE.amount, aH, aD.amount)
271- else w()
272- let B = aR._1
273- let aS = aR._2
274- let C = aR._3
275- let aT = aR._4
276- let aU = 1
277- let aV = if (an(ao))
278- then aU
279- else {
280- let aW = valueOrErrorMessage(indexOf(aP, C), f)
281- value(parseInt(aa(getString(W()))[aW]))
282- }
283- let aX = valueOrElse(getInteger(H()), 0)
284- let aY = (aX + 1)
285- let aZ = addressFromStringValue(Y(F()))
286- let ba = {
287- let bb = invoke(ae, "poolExistsREADONLY", [B, C], nil)
288- if ($isInstanceOf(bb, "Boolean"))
289- then bb
290- else throw(($getType(bb) + " couldn't be cast to Boolean"))
291- }
292- let bc = [if (!(aj(B, C)))
293- then true
294- else m(), if (!(ba))
295- then true
296- else m(), if (if (an(ao))
297- then true
298- else (getString(T()) == aN))
299- then true
300- else p(), if (if (an(ao))
301- then true
302- else (aS >= getIntegerValue(V())))
303- then true
304- else q(), if (if (an(ao))
305- then true
306- else (aT >= aV))
307- then true
308- else u(), if (if (an(ao))
309- then true
310- else (aF.amount == getInteger(U())))
311- then true
312- else v()]
313- if ((bc == bc))
314- then {
315- let bd = 3
316- let be = if ((size(ao.payments) >= bd))
317- then invoke(aZ, "burn", nil, [AttachedPayment(fromBase58String(aN), aF.amount)])
318- else unit
319- if ((be == be))
320- then [BooleanEntry(N(B, C), true), StringEntry(O(B, C), toString(ao.caller)), IntegerEntry(H(), aY), StringEntry(G(B, C), (toString(aY) + I)), IntegerEntry(R(B, C), height), StringEntry(A(B, C), J), IntegerEntry(P(B, C), aS), IntegerEntry(Q(B, C), aT), StringEntry(S(B, C), aC)]
321- else throw("Strict value is not equal to itself.")
322- }
316+ let bd = 3
317+ let be = if ((size(ap.payments) >= bd))
318+ then invoke(aZ, "burn", nil, [AttachedPayment(fromBase58String(aM), aQ)])
319+ else unit
320+ if ((be == be))
321+ then [BooleanEntry(N(B, C), true), StringEntry(O(B, C), toString(ap.caller)), IntegerEntry(H(), aY), StringEntry(G(B, C), (toString(aY) + I)), IntegerEntry(R(B, C), height), StringEntry(A(B, C), J), IntegerEntry(P(B, C), aO), IntegerEntry(Q(B, C), aP), StringEntry(S(B, C), aD)]
323322 else throw("Strict value is not equal to itself.")
324323 }
325324 else throw("Strict value is not equal to itself.")
326325 }
327326
328327
329-@Callable(ao)
330-func constructor (bf,bg,bh,bi,bj,aN,bk) = {
331- let bl = aq(ao)
332- if ((bl == bl))
333- then [StringEntry(D(), bf), StringEntry(E(), bg), StringEntry(F(), bh), StringEntry(W(), makeString(bi, b)), IntegerEntry(V(), bj), StringEntry(T(), aN), IntegerEntry(U(), bk)]
328+@Callable(ap)
329+func constructor (bf,bg,bh,bi,aU,aM,bj) = {
330+ let bk = ar(ap)
331+ if ((bk == bk))
332+ then [StringEntry(D(), bf), StringEntry(E(), bg), StringEntry(F(), bh), StringEntry(W(), makeString(bi, b)), IntegerEntry(V(), aU), StringEntry(T(), aM), IntegerEntry(U(), bj)]
334333 else throw("Strict value is not equal to itself.")
335334 }
336335
337336
338337
339-@Callable(ao)
340-func create () = aB(ao, d)
338+@Callable(ap)
339+func create () = aC(ap, d)
341340
342341
343342
344-@Callable(ao)
343+@Callable(ap)
345344 func createStable () = {
346- let bl = aq(ao)
347- if ((bl == bl))
348- then aB(ao, e)
345+ let bk = ar(ap)
346+ if ((bk == bk))
347+ then aC(ap, e)
349348 else throw("Strict value is not equal to itself.")
350349 }
351350
352351
353352
354-@Callable(ao)
355-func activate (bm,B,bn,C,bo,bp) = {
356- let bc = [ar(ao), if (aj(B, C))
353+@Callable(ap)
354+func activate (bl,B,bm,C,bn,bo) = {
355+ let bc = [as(ap), if (ak(B, C))
357356 then true
358357 else k(), if ((value(getString(A(B, C))) == J))
359358 then true
360359 else s()]
361360 if ((bc == bc))
362361 then {
363- let bq = getString(this, S(B, C))
364- let br = invoke(ae, "activateNewPool", [bm, B, C, ((bn + bo) + "LP"), (((bn + "/") + bo) + " pool liquidity provider token"), 0, if ((bq == unit))
362+ let bp = getString(this, S(B, C))
363+ let bq = invoke(af, "activateNewPool", [bl, B, C, ((bm + bn) + "LP"), (((bm + "/") + bn) + " pool liquidity provider token"), 0, if ((bp == unit))
365364 then "VLTPOOL"
366- else value(bq), bp], nil)
367- if ((br == br))
365+ else value(bp), bo], nil)
366+ if ((bq == bq))
368367 then {
369- let bs = {
370- let ac = br
371- if ($isInstanceOf(ac, "String"))
368+ let br = {
369+ let Z = bq
370+ if ($isInstanceOf(Z, "String"))
372371 then {
373- let ax = ac
374- ax
372+ let ay = Z
373+ ay
375374 }
376375 else t()
377376 }
378- if ((bs == bs))
377+ if ((br == br))
379378 then {
380- let bt = assetBalance(this, fromBase58String(bs))
381- if ((bt == bt))
379+ let bs = assetBalance(this, fromBase58String(br))
380+ if ((bs == bs))
382381 then {
383- let bu = invoke(addressFromStringValue(bm), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
382+ let bt = invoke(addressFromStringValue(bl), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
384383 then unit
385384 else fromBase58String(B), value(getInteger(P(B, C)))), AttachedPayment(if ((C == "WAVES"))
386385 then unit
387386 else fromBase58String(C), value(getInteger(Q(B, C))))])
388- if ((bu == bu))
387+ if ((bt == bt))
389388 then {
390- let bv = assetBalance(this, fromBase58String(bs))
391- if ((bv == bv))
389+ let bu = assetBalance(this, fromBase58String(br))
390+ if ((bu == bu))
392391 then {
393- let bw = value(addressFromString(value(getString(O(B, C)))))
394- let bx = invoke(ai, "approve", [B, C], nil)
395- if ((bx == bx))
396- then [StringEntry(A(B, C), L), ScriptTransfer(bw, (bv - bt), fromBase58String(bs))]
392+ let bv = value(addressFromString(value(getString(O(B, C)))))
393+ let bw = invoke(aj, "approve", [B, C], nil)
394+ if ((bw == bw))
395+ then [StringEntry(A(B, C), L), ScriptTransfer(bv, (bu - bs), fromBase58String(br))]
397396 else throw("Strict value is not equal to itself.")
398397 }
399398 else throw("Strict value is not equal to itself.")
411410
412411
413412
414-@Callable(ao)
415-func setAdmins (by) = {
416- let bl = aq(ao)
417- if ((bl == bl))
418- then [StringEntry(z(), makeString(by, b))]
413+@Callable(ap)
414+func setAdmins (bx) = {
415+ let bk = ar(ap)
416+ if ((bk == bk))
417+ then [StringEntry(z(), makeString(bx, b))]
419418 else throw("Strict value is not equal to itself.")
420419 }
421420
422421
423422
424-@Callable(ao)
425-func setManager (bz) = {
426- let bl = aq(ao)
427- if ((bl == bl))
428- then {
429- let bA = fromBase58String(bz)
430- if ((bA == bA))
431- then [StringEntry(y(), bz)]
432- else throw("Strict value is not equal to itself.")
433- }
434- else throw("Strict value is not equal to itself.")
423+@Callable(ap)
424+func priceAssetsREADONLY () = $Tuple2(nil, ad(getString(X())))
425+
426+
427+
428+@Callable(ap)
429+func statusREADONLY (B,C) = {
430+ let aB = {
431+ let Z = getString(A(B, C))
432+ if ($isInstanceOf(Z, "String"))
433+ then {
434+ let aa = Z
435+ aa
436+ }
437+ else unit
438+ }
439+ $Tuple2(nil, aB)
435440 }
436441
437442
438-
439-@Callable(ao)
440-func confirmManager () = {
441- let bB = am()
442- let bC = if (isDefined(bB))
443- then true
444- else throw("No pending manager")
445- if ((bC == bC))
446- then {
447- let bD = if ((ao.callerPublicKey == value(bB)))
448- then true
449- else throw("You are not pending manager")
450- if ((bD == bD))
451- then [StringEntry(x(), toBase58String(value(bB))), DeleteEntry(y())]
452- else throw("Strict value is not equal to itself.")
453- }
454- else throw("Strict value is not equal to itself.")
455- }
456-
457-
458-
459-@Callable(ao)
460-func priceAssetsREADONLY () = $Tuple2(nil, aa(getString(X())))
461-
462-
463-
464-@Callable(ao)
465-func statusREADONLY (B,C) = {
466- let aA = {
467- let ac = getString(A(B, C))
468- if ($isInstanceOf(ac, "String"))
443+@Verifier(by)
444+func bz () = {
445+ let bA = {
446+ let Z = am()
447+ if ($isInstanceOf(Z, "ByteVector"))
469448 then {
470- let ad = ac
471- ad
449+ let aq = Z
450+ aq
472451 }
473- else unit
474- }
475- $Tuple2(nil, aA)
476- }
477-
478-
479-@Verifier(bE)
480-func bF () = {
481- let bG = {
482- let ac = al()
483- if ($isInstanceOf(ac, "ByteVector"))
484- then {
485- let ap = ac
486- ap
487- }
488- else if ($isInstanceOf(ac, "Unit"))
489- then bE.senderPublicKey
452+ else if ($isInstanceOf(Z, "Unit"))
453+ then by.senderPublicKey
490454 else throw("Match error")
491455 }
492- sigVerify(bE.bodyBytes, bE.proofs[0], bG)
456+ sigVerify(by.bodyBytes, by.proofs[0], bA)
493457 }
494458
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "user_pools.ride"
55
66 let b = "__"
77
88 let c = "WAVES"
99
1010 let d = "VLTPOOL"
1111
1212 let e = "STBLPOOL"
1313
1414 let f = "Invalid price asset"
1515
1616 func g (h) = makeString([a, ": ", h], "")
1717
1818
1919 func i (h) = throw(g(h))
2020
2121
2222 func j () = i("Permission denied")
2323
2424
2525 func k () = i("Create is not called for assets pair")
2626
2727
2828 func l () = i("You are not amountAsset issuer")
2929
3030
3131 func m () = i("Pool with such assets already exists")
3232
3333
3434 func n () = i("Asset is not verified")
3535
3636
3737 func o () = i(f)
3838
3939
4040 func p () = i("Invalid fee asset")
4141
4242
4343 func q () = i("Invalid amount asset attached")
4444
4545
4646 func r () = i("Invalid status")
4747
4848
4949 func s () = i("Can activate pool only in 'pending' status")
5050
5151
5252 func t () = i("FactoryV2 returned not string")
5353
5454
5555 func u () = i("invalid price asset amount")
5656
5757
5858 func v () = i("invalid fee")
5959
6060
6161 func w () = i("invalid asset pair")
6262
6363
6464 func x () = makeString(["%s", "managerPublicKey"], b)
6565
6666
67-func y () = makeString(["%s", "pendingManagerPublicKey"], b)
67+func y () = "%s__managerVaultAddress"
6868
6969
7070 func z () = makeString(["%s", "adminPubKeys"], b)
7171
7272
7373 func A (B,C) = makeString(["%s%s%s", "status", B, C], b)
7474
7575
7676 func D () = makeString(["%s", "factoryContract"], b)
7777
7878
7979 func E () = makeString(["%s", "assetsStoreContract"], b)
8080
8181
8282 func F () = makeString(["%s", "emissionContract"], b)
8383
8484
8585 func G (B,C) = makeString(["%s%s%s", "suffix", B, C], b)
8686
8787
8888 func H () = makeString(["%s", "lastIndex"], b)
8989
9090
9191 let I = "u"
9292
9393 let J = "pending"
9494
9595 let K = "declined"
9696
9797 let L = "active"
9898
9999 let M = [J, K, L]
100100
101101 func N (B,C) = makeString(["%s%s%s", "createCalled", B, C], b)
102102
103103
104104 func O (B,C) = makeString(["%s%s%s", "createCaller", B, C], b)
105105
106106
107107 func P (B,C) = makeString(["%s%s%s", "amountAssetAmount", B, C], b)
108108
109109
110110 func Q (B,C) = makeString(["%s%s%s", "priceAssetAmount", B, C], b)
111111
112112
113113 func R (B,C) = makeString(["%s%s%s", "height", B, C], b)
114114
115115
116116 func S (B,C) = makeString(["%s%s%s", "poolType", B, C], b)
117117
118118
119119 func T () = makeString(["%s", "feeAssetId"], b)
120120
121121
122122 func U () = makeString(["%s", "feeAmount"], b)
123123
124124
125125 func V () = makeString(["%s", "amountAssetMinAmount"], b)
126126
127127
128128 func W () = makeString(["%s", "priceAssetsMinAmount"], b)
129129
130130
131131 func X () = makeString(["%s", "priceAssets"], b)
132132
133133
134-func Y (Z) = valueOrErrorMessage(getString(this, Z), (Z + " is not defined"))
134+func Y () = {
135+ let Z = getString(y())
136+ if ($isInstanceOf(Z, "String"))
137+ then {
138+ let aa = Z
139+ addressFromStringValue(aa)
140+ }
141+ else this
142+ }
135143
136144
137-func aa (ab) = {
138- let ac = ab
139- if ($isInstanceOf(ac, "String"))
145+func ab (ac) = valueOrErrorMessage(getString(this, ac), (ac + " is not defined"))
146+
147+
148+func ad (ae) = {
149+ let Z = ae
150+ if ($isInstanceOf(Z, "String"))
140151 then {
141- let ad = ac
142- if ((size(ad) == 0))
152+ let aa = Z
153+ if ((size(aa) == 0))
143154 then nil
144- else split(ad, b)
155+ else split(aa, b)
145156 }
146- else if ($isInstanceOf(ac, "Unit"))
157+ else if ($isInstanceOf(Z, "Unit"))
147158 then nil
148159 else throw("Match error")
149160 }
150161
151162
152-let ae = addressFromStringValue(Y(D()))
163+let af = addressFromStringValue(ab(D()))
153164
154-let af = makeString(["%s", "votingEmissionContract"], b)
165+let ag = makeString(["%s", "votingEmissionContract"], b)
155166
156-let ag = addressFromStringValue(valueOrErrorMessage(getString(ae, af), g("voting emission contract address is required")))
167+let ah = addressFromStringValue(valueOrErrorMessage(getString(af, ag), g("voting emission contract address is required")))
157168
158-let ah = makeString(["%s", "votingEmissionCandidateContract"], b)
169+let ai = makeString(["%s", "votingEmissionCandidateContract"], b)
159170
160-let ai = addressFromStringValue(valueOrErrorMessage(getString(ag, ah), g("voting emission candidate contract address is required")))
171+let aj = addressFromStringValue(valueOrErrorMessage(getString(ah, ai), g("voting emission candidate contract address is required")))
161172
162-func aj (B,C) = valueOrElse(getBoolean(N(B, C)), false)
173+func ak (B,C) = valueOrElse(getBoolean(N(B, C)), false)
163174
164175
165-func ak (B,C) = if (aj(B, C))
176+func al (B,C) = if (ak(B, C))
166177 then true
167178 else k()
168179
169180
170-func al () = {
171- let ac = getString(x())
172- if ($isInstanceOf(ac, "String"))
181+func am () = {
182+ let an = Y()
183+ let Z = getString(an, x())
184+ if ($isInstanceOf(Z, "String"))
173185 then {
174- let ad = ac
175- fromBase58String(ad)
186+ let aa = Z
187+ fromBase58String(aa)
176188 }
177- else if ($isInstanceOf(ac, "Unit"))
189+ else if ($isInstanceOf(Z, "Unit"))
178190 then unit
179191 else throw("Match error")
180192 }
181193
182194
183-func am () = {
184- let ac = getString(y())
185- if ($isInstanceOf(ac, "String"))
195+func ao (ap) = {
196+ let Z = am()
197+ if ($isInstanceOf(Z, "ByteVector"))
186198 then {
187- let ad = ac
188- fromBase58String(ad)
199+ let aq = Z
200+ (ap.callerPublicKey == aq)
189201 }
190- else if ($isInstanceOf(ac, "Unit"))
191- then unit
202+ else if ($isInstanceOf(Z, "Unit"))
203+ then (ap.caller == this)
192204 else throw("Match error")
193205 }
194206
195207
196-func an (ao) = {
197- let ac = al()
198- if ($isInstanceOf(ac, "ByteVector"))
199- then {
200- let ap = ac
201- (ao.callerPublicKey == ap)
202- }
203- else if ($isInstanceOf(ac, "Unit"))
204- then (ao.caller == this)
205- else throw("Match error")
206- }
207-
208-
209-func aq (ao) = if (an(ao))
208+func ar (ap) = if (ao(ap))
210209 then true
211210 else j()
212211
213212
214-func ar (ao) = {
215- let as = aa(getString(z()))
216- if (containsElement(as, toBase58String(ao.callerPublicKey)))
213+func as (ap) = {
214+ let at = ad(getString(z()))
215+ if (containsElement(at, toBase58String(ap.callerPublicKey)))
217216 then true
218- else aq(ao)
217+ else ar(ap)
219218 }
220219
221220
222-func at (au) = (valueOrElse(getInteger(addressFromStringValue(Y(E())), (("status_<" + au) + ">")), 0) == 2)
221+func au (av) = (valueOrElse(getInteger(addressFromStringValue(ab(E())), (("status_<" + av) + ">")), 0) == 2)
223222
224223
225-func av (aw) = {
226- let ac = aw.assetId
227- if ($isInstanceOf(ac, "ByteVector"))
224+func aw (ax) = {
225+ let Z = ax.assetId
226+ if ($isInstanceOf(Z, "ByteVector"))
228227 then {
229- let ax = ac
230- let ay = value(assetInfo(ax))
231- $Tuple2(toBase58String(ax), ay)
228+ let ay = Z
229+ let az = value(assetInfo(ay))
230+ $Tuple2(toBase58String(ay), az)
232231 }
233- else if ($isInstanceOf(ac, "Unit"))
232+ else if ($isInstanceOf(Z, "Unit"))
234233 then $Tuple2(c, unit)
235234 else throw("Match error")
236235 }
237236
238237
239-func az (aA) = containsElement(M, aA)
238+func aA (aB) = containsElement(M, aB)
240239
241240
242-func aB (ao,aC) = {
243- let aD = value(ao.payments[0])
244- let aE = value(ao.payments[1])
245- let aF = value(ao.payments[2])
246- let aG = av(aD)
247- let aH = aG._1
248- let aI = aG._2
249- let aJ = av(aE)
250- let aK = aJ._1
251- let aL = aJ._2
252- let aM = av(aF)
253- let aN = aM._1
254- let aO = aM._2
255- let aP = aa(getString(ae, X()))
256- let aQ = if ((aH != aK))
241+func aC (ap,aD) = {
242+ let aE = value(ap.payments[0])
243+ let aF = value(ap.payments[1])
244+ let aG = value(ap.payments[2])
245+ let aH = aw(aE)
246+ let B = aH._1
247+ let aI = aH._2
248+ let aJ = aw(aF)
249+ let C = aJ._1
250+ let aK = aJ._2
251+ let aL = aw(aG)
252+ let aM = aL._1
253+ let aN = aL._2
254+ let aO = aE.amount
255+ let aP = aF.amount
256+ let aQ = aG.amount
257+ let aR = ad(getString(af, X()))
258+ let aS = getIntegerValue(V())
259+ let aT = ad(getString(W()))
260+ let aU = if (containsElement(aR, B))
261+ then {
262+ let aV = valueOrErrorMessage(indexOf(aR, B), f)
263+ value(parseInt(aT[aV]))
264+ }
265+ else aS
266+ let aW = if (containsElement(aR, C))
267+ then {
268+ let aV = valueOrErrorMessage(indexOf(aR, C), f)
269+ value(parseInt(aT[aV]))
270+ }
271+ else aS
272+ let aX = valueOrElse(getInteger(H()), 0)
273+ let aY = (aX + 1)
274+ let aZ = addressFromStringValue(ab(F()))
275+ let ba = {
276+ let bb = invoke(af, "poolExistsREADONLY", [B, C], nil)
277+ if ($isInstanceOf(bb, "Boolean"))
278+ then bb
279+ else throw(($getType(bb) + " couldn't be cast to Boolean"))
280+ }
281+ let bc = [if (!(ak(B, C)))
257282 then true
258- else w()
259- if ((aQ == aQ))
283+ else m(), if (!(ba))
284+ then true
285+ else m(), if ((B != C))
286+ then true
287+ else w(), if (if (ao(ap))
288+ then true
289+ else if (au(B))
290+ then au(C)
291+ else false)
292+ then true
293+ else w(), if (if (containsElement(aR, B))
294+ then true
295+ else containsElement(aR, C))
296+ then true
297+ else w(), if (if (ao(ap))
298+ then true
299+ else (getString(T()) == aM))
300+ then true
301+ else p(), if (if (ao(ap))
302+ then true
303+ else (aO >= getIntegerValue(V())))
304+ then true
305+ else q(), if (if (ao(ap))
306+ then true
307+ else (aP >= aW))
308+ then true
309+ else u(), if (if (ao(ap))
310+ then true
311+ else (aQ == getInteger(U())))
312+ then true
313+ else v()]
314+ if ((bc == bc))
260315 then {
261- let aR = if (if (an(ao))
262- then true
263- else if (containsElement(aP, aK))
264- then at(aH)
265- else false)
266- then $Tuple4(aH, aD.amount, aK, aE.amount)
267- else if (if (containsElement(aP, aH))
268- then at(aK)
269- else false)
270- then $Tuple4(aK, aE.amount, aH, aD.amount)
271- else w()
272- let B = aR._1
273- let aS = aR._2
274- let C = aR._3
275- let aT = aR._4
276- let aU = 1
277- let aV = if (an(ao))
278- then aU
279- else {
280- let aW = valueOrErrorMessage(indexOf(aP, C), f)
281- value(parseInt(aa(getString(W()))[aW]))
282- }
283- let aX = valueOrElse(getInteger(H()), 0)
284- let aY = (aX + 1)
285- let aZ = addressFromStringValue(Y(F()))
286- let ba = {
287- let bb = invoke(ae, "poolExistsREADONLY", [B, C], nil)
288- if ($isInstanceOf(bb, "Boolean"))
289- then bb
290- else throw(($getType(bb) + " couldn't be cast to Boolean"))
291- }
292- let bc = [if (!(aj(B, C)))
293- then true
294- else m(), if (!(ba))
295- then true
296- else m(), if (if (an(ao))
297- then true
298- else (getString(T()) == aN))
299- then true
300- else p(), if (if (an(ao))
301- then true
302- else (aS >= getIntegerValue(V())))
303- then true
304- else q(), if (if (an(ao))
305- then true
306- else (aT >= aV))
307- then true
308- else u(), if (if (an(ao))
309- then true
310- else (aF.amount == getInteger(U())))
311- then true
312- else v()]
313- if ((bc == bc))
314- then {
315- let bd = 3
316- let be = if ((size(ao.payments) >= bd))
317- then invoke(aZ, "burn", nil, [AttachedPayment(fromBase58String(aN), aF.amount)])
318- else unit
319- if ((be == be))
320- then [BooleanEntry(N(B, C), true), StringEntry(O(B, C), toString(ao.caller)), IntegerEntry(H(), aY), StringEntry(G(B, C), (toString(aY) + I)), IntegerEntry(R(B, C), height), StringEntry(A(B, C), J), IntegerEntry(P(B, C), aS), IntegerEntry(Q(B, C), aT), StringEntry(S(B, C), aC)]
321- else throw("Strict value is not equal to itself.")
322- }
316+ let bd = 3
317+ let be = if ((size(ap.payments) >= bd))
318+ then invoke(aZ, "burn", nil, [AttachedPayment(fromBase58String(aM), aQ)])
319+ else unit
320+ if ((be == be))
321+ then [BooleanEntry(N(B, C), true), StringEntry(O(B, C), toString(ap.caller)), IntegerEntry(H(), aY), StringEntry(G(B, C), (toString(aY) + I)), IntegerEntry(R(B, C), height), StringEntry(A(B, C), J), IntegerEntry(P(B, C), aO), IntegerEntry(Q(B, C), aP), StringEntry(S(B, C), aD)]
323322 else throw("Strict value is not equal to itself.")
324323 }
325324 else throw("Strict value is not equal to itself.")
326325 }
327326
328327
329-@Callable(ao)
330-func constructor (bf,bg,bh,bi,bj,aN,bk) = {
331- let bl = aq(ao)
332- if ((bl == bl))
333- then [StringEntry(D(), bf), StringEntry(E(), bg), StringEntry(F(), bh), StringEntry(W(), makeString(bi, b)), IntegerEntry(V(), bj), StringEntry(T(), aN), IntegerEntry(U(), bk)]
328+@Callable(ap)
329+func constructor (bf,bg,bh,bi,aU,aM,bj) = {
330+ let bk = ar(ap)
331+ if ((bk == bk))
332+ then [StringEntry(D(), bf), StringEntry(E(), bg), StringEntry(F(), bh), StringEntry(W(), makeString(bi, b)), IntegerEntry(V(), aU), StringEntry(T(), aM), IntegerEntry(U(), bj)]
334333 else throw("Strict value is not equal to itself.")
335334 }
336335
337336
338337
339-@Callable(ao)
340-func create () = aB(ao, d)
338+@Callable(ap)
339+func create () = aC(ap, d)
341340
342341
343342
344-@Callable(ao)
343+@Callable(ap)
345344 func createStable () = {
346- let bl = aq(ao)
347- if ((bl == bl))
348- then aB(ao, e)
345+ let bk = ar(ap)
346+ if ((bk == bk))
347+ then aC(ap, e)
349348 else throw("Strict value is not equal to itself.")
350349 }
351350
352351
353352
354-@Callable(ao)
355-func activate (bm,B,bn,C,bo,bp) = {
356- let bc = [ar(ao), if (aj(B, C))
353+@Callable(ap)
354+func activate (bl,B,bm,C,bn,bo) = {
355+ let bc = [as(ap), if (ak(B, C))
357356 then true
358357 else k(), if ((value(getString(A(B, C))) == J))
359358 then true
360359 else s()]
361360 if ((bc == bc))
362361 then {
363- let bq = getString(this, S(B, C))
364- let br = invoke(ae, "activateNewPool", [bm, B, C, ((bn + bo) + "LP"), (((bn + "/") + bo) + " pool liquidity provider token"), 0, if ((bq == unit))
362+ let bp = getString(this, S(B, C))
363+ let bq = invoke(af, "activateNewPool", [bl, B, C, ((bm + bn) + "LP"), (((bm + "/") + bn) + " pool liquidity provider token"), 0, if ((bp == unit))
365364 then "VLTPOOL"
366- else value(bq), bp], nil)
367- if ((br == br))
365+ else value(bp), bo], nil)
366+ if ((bq == bq))
368367 then {
369- let bs = {
370- let ac = br
371- if ($isInstanceOf(ac, "String"))
368+ let br = {
369+ let Z = bq
370+ if ($isInstanceOf(Z, "String"))
372371 then {
373- let ax = ac
374- ax
372+ let ay = Z
373+ ay
375374 }
376375 else t()
377376 }
378- if ((bs == bs))
377+ if ((br == br))
379378 then {
380- let bt = assetBalance(this, fromBase58String(bs))
381- if ((bt == bt))
379+ let bs = assetBalance(this, fromBase58String(br))
380+ if ((bs == bs))
382381 then {
383- let bu = invoke(addressFromStringValue(bm), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
382+ let bt = invoke(addressFromStringValue(bl), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
384383 then unit
385384 else fromBase58String(B), value(getInteger(P(B, C)))), AttachedPayment(if ((C == "WAVES"))
386385 then unit
387386 else fromBase58String(C), value(getInteger(Q(B, C))))])
388- if ((bu == bu))
387+ if ((bt == bt))
389388 then {
390- let bv = assetBalance(this, fromBase58String(bs))
391- if ((bv == bv))
389+ let bu = assetBalance(this, fromBase58String(br))
390+ if ((bu == bu))
392391 then {
393- let bw = value(addressFromString(value(getString(O(B, C)))))
394- let bx = invoke(ai, "approve", [B, C], nil)
395- if ((bx == bx))
396- then [StringEntry(A(B, C), L), ScriptTransfer(bw, (bv - bt), fromBase58String(bs))]
392+ let bv = value(addressFromString(value(getString(O(B, C)))))
393+ let bw = invoke(aj, "approve", [B, C], nil)
394+ if ((bw == bw))
395+ then [StringEntry(A(B, C), L), ScriptTransfer(bv, (bu - bs), fromBase58String(br))]
397396 else throw("Strict value is not equal to itself.")
398397 }
399398 else throw("Strict value is not equal to itself.")
400399 }
401400 else throw("Strict value is not equal to itself.")
402401 }
403402 else throw("Strict value is not equal to itself.")
404403 }
405404 else throw("Strict value is not equal to itself.")
406405 }
407406 else throw("Strict value is not equal to itself.")
408407 }
409408 else throw("Strict value is not equal to itself.")
410409 }
411410
412411
413412
414-@Callable(ao)
415-func setAdmins (by) = {
416- let bl = aq(ao)
417- if ((bl == bl))
418- then [StringEntry(z(), makeString(by, b))]
413+@Callable(ap)
414+func setAdmins (bx) = {
415+ let bk = ar(ap)
416+ if ((bk == bk))
417+ then [StringEntry(z(), makeString(bx, b))]
419418 else throw("Strict value is not equal to itself.")
420419 }
421420
422421
423422
424-@Callable(ao)
425-func setManager (bz) = {
426- let bl = aq(ao)
427- if ((bl == bl))
428- then {
429- let bA = fromBase58String(bz)
430- if ((bA == bA))
431- then [StringEntry(y(), bz)]
432- else throw("Strict value is not equal to itself.")
433- }
434- else throw("Strict value is not equal to itself.")
423+@Callable(ap)
424+func priceAssetsREADONLY () = $Tuple2(nil, ad(getString(X())))
425+
426+
427+
428+@Callable(ap)
429+func statusREADONLY (B,C) = {
430+ let aB = {
431+ let Z = getString(A(B, C))
432+ if ($isInstanceOf(Z, "String"))
433+ then {
434+ let aa = Z
435+ aa
436+ }
437+ else unit
438+ }
439+ $Tuple2(nil, aB)
435440 }
436441
437442
438-
439-@Callable(ao)
440-func confirmManager () = {
441- let bB = am()
442- let bC = if (isDefined(bB))
443- then true
444- else throw("No pending manager")
445- if ((bC == bC))
446- then {
447- let bD = if ((ao.callerPublicKey == value(bB)))
448- then true
449- else throw("You are not pending manager")
450- if ((bD == bD))
451- then [StringEntry(x(), toBase58String(value(bB))), DeleteEntry(y())]
452- else throw("Strict value is not equal to itself.")
453- }
454- else throw("Strict value is not equal to itself.")
455- }
456-
457-
458-
459-@Callable(ao)
460-func priceAssetsREADONLY () = $Tuple2(nil, aa(getString(X())))
461-
462-
463-
464-@Callable(ao)
465-func statusREADONLY (B,C) = {
466- let aA = {
467- let ac = getString(A(B, C))
468- if ($isInstanceOf(ac, "String"))
443+@Verifier(by)
444+func bz () = {
445+ let bA = {
446+ let Z = am()
447+ if ($isInstanceOf(Z, "ByteVector"))
469448 then {
470- let ad = ac
471- ad
449+ let aq = Z
450+ aq
472451 }
473- else unit
474- }
475- $Tuple2(nil, aA)
476- }
477-
478-
479-@Verifier(bE)
480-func bF () = {
481- let bG = {
482- let ac = al()
483- if ($isInstanceOf(ac, "ByteVector"))
484- then {
485- let ap = ac
486- ap
487- }
488- else if ($isInstanceOf(ac, "Unit"))
489- then bE.senderPublicKey
452+ else if ($isInstanceOf(Z, "Unit"))
453+ then by.senderPublicKey
490454 else throw("Match error")
491455 }
492- sigVerify(bE.bodyBytes, bE.proofs[0], bG)
456+ sigVerify(by.bodyBytes, by.proofs[0], bA)
493457 }
494458

github/deemru/w8io/169f3d6 
99.00 ms