tx · GkjZUyBJNWL3LJGd6TD1hgVXrQVg28kkgqhX5TA2c9g

3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh:  -0.01400000 Waves

2023.04.24 13:30 [2548511] smart account 3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh > SELF 0.00000000 Waves

{ "type": 13, "id": "GkjZUyBJNWL3LJGd6TD1hgVXrQVg28kkgqhX5TA2c9g", "fee": 1400000, "feeAssetId": null, "timestamp": 1682332239446, "version": 2, "chainId": 84, "sender": "3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh", "senderPublicKey": "Ap7CkWd6fzBU34kGo4GJJzC5q4qWXuLVunzE25PchdGS", "proofs": [ "3sDN2qpgdudjUtQMira7kxwRiJutM7HxT7YDk5rbyd9y54qAE9qQ7b232gPEwAS82bqGvM5dEmpLwHzmTDjC6Kfn" ], "script": "base64:BgKIEAgCEgkKBwgICBgBCAESABIICgYICAgICAgSAwoBGBIDCgEIEgASABIECgIICCIQY29udHJhY3RGaWxlbmFtZSIDU0VQIgx3YXZlc0Fzc2V0SWQiEWludmFsaWRQcmljZUFzc2V0Igd3cmFwRXJyIgNtc2ciCHRocm93RXJyIgd0aHJvd1BEIhR0aHJvd0NyZWF0ZU5vdENhbGxlZCIRdGhyb3dZb3VOb3RJc3N1ZXIiD3Rocm93UG9vbEV4aXN0cyIVdGhyb3dBc3NldE5vdFZlcmlmaWVkIhZ0aHJvd0ludmFsaWRQcmljZUFzc2V0IhR0aHJvd0ludmFsaWRGZWVBc3NldCIXdGhyb3dJbnZhbGlkQW1vdW50QXNzZXQiEnRocm93SW52YWxpZFN0YXR1cyIfdGhyb3dDYW5BY3RpdmF0ZU9ubHlQZW5kaW5nUG9vbCIddGhyb3dGYWN0b3J5UmV0dXJuZWROb3RTdHJpbmciHHRocm93SW52YWxpZFByaWNlQXNzZXRBbW91bnQiD3Rocm93SW52YWxpZEZlZSIVdGhyb3dJbnZhbGlkQXNzZXRQYWlyIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIPa2V5QWRtaW5QdWJLZXlzIglrZXlTdGF0dXMiDWFtb3VudEFzc2V0SWQiDHByaWNlQXNzZXRJZCISa2V5RmFjdG9yeUNvbnRyYWN0IhZrZXlBc3NldHNTdG9yZUNvbnRyYWN0IhNrZXlFbWlzc2lvbkNvbnRyYWN0IglrZXlTdWZmaXgiDGtleUxhc3RJbmRleCILaW5kZXhTdWZmaXgiDXN0YXR1c1BlbmRpbmciDnN0YXR1c0RlY2xpbmVkIgxzdGF0dXNBY3RpdmUiCHN0YXR1c2VzIg9rZXlDcmVhdGVDYWxsZWQiD2tleUNyZWF0ZUNhbGxlciIUa2V5QW1vdW50QXNzZXRBbW91bnQiE2tleVByaWNlQXNzZXRBbW91bnQiCWtleUhlaWdodCINa2V5RmVlQXNzZXRJZCIMa2V5RmVlQW1vdW50IhdrZXlBbW91bnRBc3NldE1pbkFtb3VudCIXa2V5UHJpY2VBc3NldHNNaW5BbW91bnQiDmtleVByaWNlQXNzZXRzIg9nZXRTdHJpbmdPckZhaWwiA2tleSISc3RyaW5nT3B0aW9uVG9MaXN0IgxzdHJpbmdPclVuaXQiByRtYXRjaDAiAXMiD2ZhY3RvcnlDb250cmFjdCIZa2V5Vm90aW5nRW1pc3Npb25Db250cmFjdCIWdm90aW5nRW1pc3Npb25Db250cmFjdCIia2V5Vm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdCIfdm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdCIOaXNDcmVhdGVDYWxsZWQiEG11c3RDcmVhdGVDYWxsZWQiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0Iglpc01hbmFnZXIiAWkiAnBrIgttdXN0TWFuYWdlciIJbXVzdEFkbWluIghhZG1pblBLcyIKaXNWZXJpZmllZCIHYXNzZXRJZCIMZ2V0SWRBbmRJbmZvIgdwYXltZW50IgJpZCIEaW5mbyILdmFsaWRTdGF0dXMiBnN0YXR1cyIQZmFjdG9yeVYyQWRkcmVzcyISYXNzZXRzU3RvcmVBZGRyZXNzIg9lbWlzc2lvbkFkZHJlc3MiFHByaWNlQXNzZXRzTWluQW1vdW50IhRhbW91bnRBc3NldE1pbkFtb3VudCIKZmVlQXNzZXRJZCIJZmVlQW1vdW50IgtjaGVja0NhbGxlciINYXNzZXQxUGF5bWVudCINYXNzZXQyUGF5bWVudCIPZmVlQXNzZXRQYXltZW50IgskdDA3NDY0NzUyMSIIYXNzZXQxSWQiCmFzc2V0MUluZm8iCyR0MDc1MjQ3NTgxIghhc3NldDJJZCIKYXNzZXQySW5mbyILJHQwNzU4NDc2NDciDGZlZUFzc2V0SW5mbyIPcHJpY2VBc3NldHNMaXN0IhNjaGVja0Fzc2V0c05vdEVxdWFsIgskdDA3ODIxODI2MyIRYW1vdW50QXNzZXRBbW91bnQiEHByaWNlQXNzZXRBbW91bnQiGm1hbmFnZXJQcmljZUFzc2V0TWluQW1vdW50IhNwcmljZUFzc2V0TWluQW1vdW50IhBwcmljZUFzc2V0c0luZGV4IglsYXN0SW5kZXgiCGN1ckluZGV4IhBlbWlzc2lvbkNvbnRyYWN0Igpwb29sRXhpc3RzIgFAIgZjaGVja3MiD2J1cm5FbWlzc2lvbkludiILcG9vbEFkZHJlc3MiEWFtb3VudEFzc2V0VGlja2VyIhBwcmljZUFzc2V0VGlja2VyIgRsb2dvIhJhY3RpdmF0ZU5ld1Bvb2xJbnYiCWxwQXNzZXRJZCIJYmVmb3JlUHV0IgNwdXQiCGFmdGVyUHV0IgR1c2VyIgNyZXMiDGFkbWluUHViS2V5cyIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXk9AAFhAg91c2VyX3Bvb2xzLnJpZGUAAWICAl9fAAFjAgVXQVZFUwABZAITSW52YWxpZCBwcmljZSBhc3NldAEBZQEBZgkAuQkCCQDMCAIFAWEJAMwIAgICOiAJAMwIAgUBZgUDbmlsAgABAWcBAWYJAAIBCQEBZQEFAWYBAWgACQEBZwECEVBlcm1pc3Npb24gZGVuaWVkAQFpAAkBAWcBAiRDcmVhdGUgaXMgbm90IGNhbGxlZCBmb3IgYXNzZXRzIHBhaXIBAWoACQEBZwECHllvdSBhcmUgbm90IGFtb3VudEFzc2V0IGlzc3VlcgEBawAJAQFnAQIkUG9vbCB3aXRoIHN1Y2ggYXNzZXRzIGFscmVhZHkgZXhpc3RzAQFsAAkBAWcBAhVBc3NldCBpcyBub3QgdmVyaWZpZWQBAW0ACQEBZwEFAWQBAW4ACQEBZwECEUludmFsaWQgZmVlIGFzc2V0AQFvAAkBAWcBAh1JbnZhbGlkIGFtb3VudCBhc3NldCBhdHRhY2hlZAEBcAAJAQFnAQIOSW52YWxpZCBzdGF0dXMBAXEACQEBZwECKkNhbiBhY3RpdmF0ZSBwb29sIG9ubHkgaW4gJ3BlbmRpbmcnIHN0YXR1cwEBcgAJAQFnAQIdRmFjdG9yeVYyIHJldHVybmVkIG5vdCBzdHJpbmcBAXMACQEBZwECGmludmFsaWQgcHJpY2UgYXNzZXQgYW1vdW50AQF0AAkBAWcBAgtpbnZhbGlkIGZlZQEBdQAJAQFnAQISaW52YWxpZCBhc3NldCBwYWlyAQF2AAkAuQkCCQDMCAICAiVzCQDMCAICEG1hbmFnZXJQdWJsaWNLZXkFA25pbAUBYgEBdwAJALkJAgkAzAgCAgIlcwkAzAgCAhdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQUDbmlsBQFiAQF4AAkAuQkCCQDMCAICAiVzCQDMCAICDGFkbWluUHViS2V5cwUDbmlsBQFiAQF5AgF6AUEJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIGc3RhdHVzCQDMCAIFAXoJAMwIAgUBQQUDbmlsBQFiAQFCAAkAuQkCCQDMCAICAiVzCQDMCAICD2ZhY3RvcnlDb250cmFjdAUDbmlsBQFiAQFDAAkAuQkCCQDMCAICAiVzCQDMCAICE2Fzc2V0c1N0b3JlQ29udHJhY3QFA25pbAUBYgEBRAAJALkJAgkAzAgCAgIlcwkAzAgCAhBlbWlzc2lvbkNvbnRyYWN0BQNuaWwFAWIBAUUCAXoBQQkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgZzdWZmaXgJAMwIAgUBegkAzAgCBQFBBQNuaWwFAWIBAUYACQC5CQIJAMwIAgICJXMJAMwIAgIJbGFzdEluZGV4BQNuaWwFAWIAAUcCAXUAAUgCB3BlbmRpbmcAAUkCCGRlY2xpbmVkAAFKAgZhY3RpdmUAAUsJAMwIAgUBSAkAzAgCBQFJCQDMCAIFAUoFA25pbAEBTAIBegFBCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICDGNyZWF0ZUNhbGxlZAkAzAgCBQF6CQDMCAIFAUEFA25pbAUBYgEBTQIBegFBCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICDGNyZWF0ZUNhbGxlcgkAzAgCBQF6CQDMCAIFAUEFA25pbAUBYgEBTgIBegFBCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEWFtb3VudEFzc2V0QW1vdW50CQDMCAIFAXoJAMwIAgUBQQUDbmlsBQFiAQFPAgF6AUEJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIQcHJpY2VBc3NldEFtb3VudAkAzAgCBQF6CQDMCAIFAUEFA25pbAUBYgEBUAIBegFBCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICBmhlaWdodAkAzAgCBQF6CQDMCAIFAUEFA25pbAUBYgEBUQAJALkJAgkAzAgCAgIlcwkAzAgCAgpmZWVBc3NldElkBQNuaWwFAWIBAVIACQC5CQIJAMwIAgICJXMJAMwIAgIJZmVlQW1vdW50BQNuaWwFAWIBAVMACQC5CQIJAMwIAgICJXMJAMwIAgIUYW1vdW50QXNzZXRNaW5BbW91bnQFA25pbAUBYgEBVAAJALkJAgkAzAgCAgIlcwkAzAgCAhRwcmljZUFzc2V0c01pbkFtb3VudAUDbmlsBQFiAQFVAAkAuQkCCQDMCAICAiVzCQDMCAICC3ByaWNlQXNzZXRzBQNuaWwFAWIBAVYBAVcJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQR0aGlzBQFXCQCsAgIFAVcCDyBpcyBub3QgZGVmaW5lZAEBWAEBWQQBWgUBWQMJAAECBQFaAgZTdHJpbmcEAmFhBQFaAwkAAAIJALECAQUCYWEAAAUDbmlsCQC1CQIFAmFhBQFiAwkAAQIFAVoCBFVuaXQFA25pbAkAAgECC01hdGNoIGVycm9yAAJhYgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAVYBCQEBQgAAAmFjCQC5CQIJAMwIAgICJXMJAMwIAgIWdm90aW5nRW1pc3Npb25Db250cmFjdAUDbmlsBQFiAAJhZAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFAmFiBQJhYwkBAWUBAix2b3RpbmcgZW1pc3Npb24gY29udHJhY3QgYWRkcmVzcyBpcyByZXF1aXJlZAACYWUJALkJAgkAzAgCAgIlcwkAzAgCAh92b3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0BQNuaWwFAWIAAmFmCQERQGV4dHJOYXRpdmUoMTA2MikBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUCYWQFAmFlCQEBZQECNnZvdGluZyBlbWlzc2lvbiBjYW5kaWRhdGUgY29udHJhY3QgYWRkcmVzcyBpcyByZXF1aXJlZAECYWcCAXoBQQkBC3ZhbHVlT3JFbHNlAgkAoAgBCQEBTAIFAXoFAUEHAQJhaAIBegFBAwkBAmFnAgUBegUBQQYJAQFpAAECYWkABAFaCQCiCAEJAQF2AAMJAAECBQFaAgZTdHJpbmcEAmFhBQFaCQDZBAEFAmFhAwkAAQIFAVoCBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgECYWoABAFaCQCiCAEJAQF3AAMJAAECBQFaAgZTdHJpbmcEAmFhBQFaCQDZBAEFAmFhAwkAAQIFAVoCBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgECYWsBAmFsBAFaCQECYWkAAwkAAQIFAVoCCkJ5dGVWZWN0b3IEAmFtBQFaCQAAAggFAmFsD2NhbGxlclB1YmxpY0tleQUCYW0DCQABAgUBWgIEVW5pdAkAAAIIBQJhbAZjYWxsZXIFBHRoaXMJAAIBAgtNYXRjaCBlcnJvcgECYW4BAmFsAwkBAmFrAQUCYWwGCQEBaAABAmFvAQJhbAQCYXAJAQFYAQkAoggBCQEBeAADCQEPY29udGFpbnNFbGVtZW50AgUCYXAJANgEAQgFAmFsD2NhbGxlclB1YmxpY0tleQYJAQJhbgEFAmFsAQJhcQECYXIJAAACCQELdmFsdWVPckVsc2UCCQCaCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQFWAQkBAUMACQCsAgIJAKwCAgIIc3RhdHVzXzwFAmFyAgE+AAAAAgECYXMBAmF0BAFaCAUCYXQHYXNzZXRJZAMJAAECBQFaAgpCeXRlVmVjdG9yBAJhdQUBWgQCYXYJAQV2YWx1ZQEJAOwHAQUCYXUJAJQKAgkA2AQBBQJhdQUCYXYDCQABAgUBWgIEVW5pdAkAlAoCBQFjBQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmF3AQJheAkBD2NvbnRhaW5zRWxlbWVudAIFAUsFAmF4CAJhbAELY29uc3RydWN0b3IHAmF5AmF6AmFBAmFCAmFDAmFEAmFFBAJhRgkBAmFuAQUCYWwDCQAAAgUCYUYFAmFGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFCAAUCYXkJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUMABQJhegkAzAgCCQELU3RyaW5nRW50cnkCCQEBRAAFAmFBCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFUAAkAuQkCBQJhQgUBYgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVMABQJhQwkAzAgCCQELU3RyaW5nRW50cnkCCQEBUQAFAmFECQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBUgAFAmFFBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYWwBBmNyZWF0ZQAEAmFHCQEFdmFsdWUBCQCRAwIIBQJhbAhwYXltZW50cwAABAJhSAkBBXZhbHVlAQkAkQMCCAUCYWwIcGF5bWVudHMAAQQCYUkJAQV2YWx1ZQEJAJEDAggFAmFsCHBheW1lbnRzAAIEAmFKCQECYXMBBQJhRwQCYUsIBQJhSgJfMQQCYUwIBQJhSgJfMgQCYU0JAQJhcwEFAmFIBAJhTggFAmFNAl8xBAJhTwgFAmFNAl8yBAJhUAkBAmFzAQUCYUkEAmFECAUCYVACXzEEAmFRCAUCYVACXzIEAmFSCQEBWAEJAJ0IAgUCYWIJAQFVAAQCYVMDCQECIT0CBQJhSwUCYU4GCQEBdQADCQAAAgUCYVMFAmFTBAJhVAMDCQEPY29udGFpbnNFbGVtZW50AgUCYVIFAmFOCQECYXEBBQJhSwcJAJYKBAUCYUsIBQJhRwZhbW91bnQFAmFOCAUCYUgGYW1vdW50AwMJAQ9jb250YWluc0VsZW1lbnQCBQJhUgUCYUsJAQJhcQEFAmFOBwkAlgoEBQJhTggFAmFIBmFtb3VudAUCYUsIBQJhRwZhbW91bnQJAQF1AAQBeggFAmFUAl8xBAJhVQgFAmFUAl8yBAFBCAUCYVQCXzMEAmFWCAUCYVQCXzQEAmFXAAEEAmFYAwkBAmFrAQUCYWwFAmFXBAJhWQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDPCAIFAmFSBQFBBQFkCQEFdmFsdWUBCQC2CQEJAJEDAgkBAVgBCQCiCAEJAQFUAAUCYVkEAmFaCQELdmFsdWVPckVsc2UCCQCfCAEJAQFGAAAABAJiYQkAZAIFAmFaAAEEAmJiCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBVgEJAQFEAAQCYmMKAAJiZAkA/AcEBQJhYgIScG9vbEV4aXN0c1JFQURPTkxZCQDMCAIFAXoJAMwIAgUBQQUDbmlsBQNuaWwDCQABAgUCYmQCB0Jvb2xlYW4FAmJkCQACAQkArAICCQADAQUCYmQCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4EAmJlCQDMCAIDCQEBIQEJAQJhZwIFAXoFAUEGCQEBawAJAMwIAgMJAQEhAQUCYmMGCQEBawAJAMwIAgMJAAACCQCiCAEJAQFRAAUCYUQGCQEBbgAJAMwIAgMDCQECYWsBBQJhbAYJAGcCBQJhVQkBEUBleHRyTmF0aXZlKDEwNTUpAQkBAVMABgkBAW8ACQDMCAIDAwkBAmFrAQUCYWwGCQBnAgUCYVYFAmFYBgkBAXMACQDMCAIDCQAAAggFAmFJBmFtb3VudAkAnwgBCQEBUgAGCQEBdAAFA25pbAMJAAACBQJiZQUCYmUEAmJmCQD8BwQFAmJiAgRidXJuBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQUCYUQIBQJhSQZhbW91bnQFA25pbAMJAAACBQJiZgUCYmYJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQFMAgUBegUBQQYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAU0CBQF6BQFBCQClCAEIBQJhbAZjYWxsZXIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFGAAUCYmEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUUCBQF6BQFBCQCsAgIJAKQDAQUCYmEFAUcJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFQAgUBegUBQQUGaGVpZ2h0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQF5AgUBegUBQQUBSAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAU4CBQF6BQFBBQJhVQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAU8CBQF6BQFBBQJhVgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFsAQhhY3RpdmF0ZQYCYmcBegJiaAFBAmJpAmJqBAJiZQkAzAgCCQECYW8BBQJhbAkAzAgCAwkBAmFnAgUBegUBQQYJAQFpAAkAzAgCAwkAAAIJAQV2YWx1ZQEJAKIIAQkBAXkCBQF6BQFBBQFIBgkBAXEABQNuaWwDCQAAAgUCYmUFAmJlBAJiawkA/AcEBQJhYgIPYWN0aXZhdGVOZXdQb29sCQDMCAIFAmJnCQDMCAIFAXoJAMwIAgUBQQkAzAgCCQCsAgIJAKwCAgUCYmgFAmJpAgJMUAkAzAgCCQCsAgIJAKwCAgkArAICBQJiaAIBLwUCYmkCHiBwb29sIGxpcXVpZGl0eSBwcm92aWRlciB0b2tlbgkAzAgCAAAJAMwIAgIHVkxUUE9PTAkAzAgCBQJiagUDbmlsBQNuaWwDCQAAAgUCYmsFAmJrBAJibAQBWgUCYmsDCQABAgUBWgIGU3RyaW5nBAJhdQUBWgUCYXUJAQFyAAMJAAACBQJibAUCYmwEAmJtCQDwBwIFBHRoaXMJANkEAQUCYmwDCQAAAgUCYm0FAmJtBAJibgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQJiZwIDcHV0CQDMCAIAAAkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCAwkAAAIFAXoCBVdBVkVTBQR1bml0CQDZBAEFAXoJAQV2YWx1ZQEJAJ8IAQkBAU4CBQF6BQFBCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCAwkAAAIFAUECBVdBVkVTBQR1bml0CQDZBAEFAUEJAQV2YWx1ZQEJAJ8IAQkBAU8CBQF6BQFBBQNuaWwDCQAAAgUCYm4FAmJuBAJibwkA8AcCBQR0aGlzCQDZBAEFAmJsAwkAAAIFAmJvBQJibwQCYnAJAQV2YWx1ZQEJAKYIAQkBBXZhbHVlAQkAoggBCQEBTQIFAXoFAUEEAmJxCQD8BwQFAmFmAgdhcHByb3ZlCQDMCAIFAXoJAMwIAgUBQQUDbmlsBQNuaWwDCQAAAgUCYnEFAmJxCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQF5AgUBegUBQQUBSgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQJicAkAZQIFAmJvBQJibQkA2QQBBQJibAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFsAQlzZXRBZG1pbnMBAmJyBAJhRgkBAmFuAQUCYWwDCQAAAgUCYUYFAmFGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQF4AAkAuQkCBQJicgUBYgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFsAQpzZXRNYW5hZ2VyAQJicwQCYUYJAQJhbgEFAmFsAwkAAAIFAmFGBQJhRgQCYnQJANkEAQUCYnMDCQAAAgUCYnQFAmJ0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQF3AAUCYnMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhbAEOY29uZmlybU1hbmFnZXIABAJidQkBAmFqAAQCYnYDCQEJaXNEZWZpbmVkAQUCYnUGCQACAQISTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmJ2BQJidgQCYncDCQAAAggFAmFsD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCYnUGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmJ3BQJidwkAzAgCCQELU3RyaW5nRW50cnkCCQEBdgAJANgEAQkBBXZhbHVlAQUCYnUJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAXcABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYWwBE3ByaWNlQXNzZXRzUkVBRE9OTFkACQCUCgIFA25pbAkBAVgBCQCiCAEJAQFVAAJhbAEOc3RhdHVzUkVBRE9OTFkCAXoBQQQCYXgEAVoJAKIIAQkBAXkCBQF6BQFBAwkAAQIFAVoCBlN0cmluZwQCYWEFAVoFAmFhBQR1bml0CQCUCgIFA25pbAUCYXgBAmJ4AQJieQAEAmJ6BAFaCQECYWkAAwkAAQIFAVoCCkJ5dGVWZWN0b3IEAmFtBQFaBQJhbQMJAAECBQFaAgRVbml0CAUCYngPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmJ4CWJvZHlCeXRlcwkAkQMCCAUCYngGcHJvb2ZzAAAFAmJ6MewqeQ==", "height": 2548511, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4mxuGq5uWxUJ8vLPHGSTLsHrPCnicNcpaTC3oSs7Q1Gy Next: Ea32eC29rPLKgGsdNAzU1pGQqq6z88yrJ6Sj8AMF8mYZ Diff:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "__"
4+let a = "user_pools.ride"
55
6-let b = "WAVES"
6+let b = "__"
77
8-let c = "Invalid price asset"
8+let c = "WAVES"
99
10-func d (e) = throw(makeString(["user_pools.ride:", e], " "))
10+let d = "Invalid price asset"
11+
12+func e (f) = makeString([a, ": ", f], "")
1113
1214
13-func f () = d("Permission denied")
15+func g (f) = throw(e(f))
1416
1517
16-func g () = d("Create is not called for assets pair")
18+func h () = g("Permission denied")
1719
1820
19-func h () = d("You are not amountAsset issuer")
21+func i () = g("Create is not called for assets pair")
2022
2123
22-func i () = d("Pool with such assets already exists")
24+func j () = g("You are not amountAsset issuer")
2325
2426
25-func j () = d("Asset is not verified")
27+func k () = g("Pool with such assets already exists")
2628
2729
28-func k () = d(c)
30+func l () = g("Asset is not verified")
2931
3032
31-func l () = d("Invalid fee asset")
33+func m () = g(d)
3234
3335
34-func m () = d("Invalid amount asset attached")
36+func n () = g("Invalid fee asset")
3537
3638
37-func n () = d("Invalid status")
39+func o () = g("Invalid amount asset attached")
3840
3941
40-func o () = d("Can activate pool only in 'pending' status")
42+func p () = g("Invalid status")
4143
4244
43-func p () = d("FactoryV2 returned not string")
45+func q () = g("Can activate pool only in 'pending' status")
4446
4547
46-func q () = d("invalid price asset amount")
48+func r () = g("FactoryV2 returned not string")
4749
4850
49-func r () = d("invalid fee")
51+func s () = g("invalid price asset amount")
5052
5153
52-func s () = d("invalid asset pair")
54+func t () = g("invalid fee")
5355
5456
55-func t () = makeString(["%s", "managerPublicKey"], a)
57+func u () = g("invalid asset pair")
5658
5759
58-func u () = makeString(["%s", "pendingManagerPublicKey"], a)
60+func v () = makeString(["%s", "managerPublicKey"], b)
5961
6062
61-func v () = makeString(["%s", "adminPubKeys"], a)
63+func w () = makeString(["%s", "pendingManagerPublicKey"], b)
6264
6365
64-func w (x,y) = makeString(["%s%s%s", "status", x, y], a)
66+func x () = makeString(["%s", "adminPubKeys"], b)
6567
6668
67-func z () = makeString(["%s", "factoryContract"], a)
69+func y (z,A) = makeString(["%s%s%s", "status", z, A], b)
6870
6971
70-func A () = makeString(["%s", "assetsStoreContract"], a)
72+func B () = makeString(["%s", "factoryContract"], b)
7173
7274
73-func B () = makeString(["%s", "emissionContract"], a)
75+func C () = makeString(["%s", "assetsStoreContract"], b)
7476
7577
76-func C (x,y) = makeString(["%s%s%s", "suffix", x, y], a)
78+func D () = makeString(["%s", "emissionContract"], b)
7779
7880
79-func D () = makeString(["%s", "lastIndex"], a)
81+func E (z,A) = makeString(["%s%s%s", "suffix", z, A], b)
8082
8183
82-let E = "u"
83-
84-let F = "pending"
85-
86-let G = "declined"
87-
88-let H = "active"
89-
90-let I = [F, G, H]
91-
92-func J (x,y) = makeString(["%s%s%s", "createCalled", x, y], a)
84+func F () = makeString(["%s", "lastIndex"], b)
9385
9486
95-func K (x,y) = makeString(["%s%s%s", "createCaller", x, y], a)
87+let G = "u"
88+
89+let H = "pending"
90+
91+let I = "declined"
92+
93+let J = "active"
94+
95+let K = [H, I, J]
96+
97+func L (z,A) = makeString(["%s%s%s", "createCalled", z, A], b)
9698
9799
98-func L (x,y) = makeString(["%s%s%s", "amountAssetAmount", x, y], a)
100+func M (z,A) = makeString(["%s%s%s", "createCaller", z, A], b)
99101
100102
101-func M (x,y) = makeString(["%s%s%s", "priceAssetAmount", x, y], a)
103+func N (z,A) = makeString(["%s%s%s", "amountAssetAmount", z, A], b)
102104
103105
104-func N (x,y) = makeString(["%s%s%s", "height", x, y], a)
106+func O (z,A) = makeString(["%s%s%s", "priceAssetAmount", z, A], b)
105107
106108
107-func O () = makeString(["%s", "feeAssetId"], a)
109+func P (z,A) = makeString(["%s%s%s", "height", z, A], b)
108110
109111
110-func P () = makeString(["%s", "feeAmount"], a)
112+func Q () = makeString(["%s", "feeAssetId"], b)
111113
112114
113-func Q () = makeString(["%s", "amountAssetMinAmount"], a)
115+func R () = makeString(["%s", "feeAmount"], b)
114116
115117
116-func R () = makeString(["%s", "priceAssetsMinAmount"], a)
118+func S () = makeString(["%s", "amountAssetMinAmount"], b)
117119
118120
119-func S () = makeString(["%s", "priceAssets"], a)
121+func T () = makeString(["%s", "priceAssetsMinAmount"], b)
120122
121123
122-func T (U) = valueOrErrorMessage(getString(this, U), (U + " is not defined"))
124+func U () = makeString(["%s", "priceAssets"], b)
123125
124126
125-func V (W) = {
126- let X = W
127- if ($isInstanceOf(X, "String"))
127+func V (W) = valueOrErrorMessage(getString(this, W), (W + " is not defined"))
128+
129+
130+func X (Y) = {
131+ let Z = Y
132+ if ($isInstanceOf(Z, "String"))
128133 then {
129- let Y = X
130- if ((size(Y) == 0))
134+ let aa = Z
135+ if ((size(aa) == 0))
131136 then nil
132- else split(Y, a)
137+ else split(aa, b)
133138 }
134- else if ($isInstanceOf(X, "Unit"))
139+ else if ($isInstanceOf(Z, "Unit"))
135140 then nil
136141 else throw("Match error")
137142 }
138143
139144
140-let Z = addressFromStringValue(T(z()))
145+let ab = addressFromStringValue(V(B()))
141146
142-func aa (x,y) = valueOrElse(getBoolean(J(x, y)), false)
147+let ac = makeString(["%s", "votingEmissionContract"], b)
148+
149+let ad = addressFromStringValue(valueOrErrorMessage(getString(ab, ac), e("voting emission contract address is required")))
150+
151+let ae = makeString(["%s", "votingEmissionCandidateContract"], b)
152+
153+let af = addressFromStringValue(valueOrErrorMessage(getString(ad, ae), e("voting emission candidate contract address is required")))
154+
155+func ag (z,A) = valueOrElse(getBoolean(L(z, A)), false)
143156
144157
145-func ab (x,y) = if (aa(x, y))
158+func ah (z,A) = if (ag(z, A))
146159 then true
147- else g()
160+ else i()
148161
149162
150-func ac () = {
151- let X = getString(t())
152- if ($isInstanceOf(X, "String"))
163+func ai () = {
164+ let Z = getString(v())
165+ if ($isInstanceOf(Z, "String"))
153166 then {
154- let Y = X
155- fromBase58String(Y)
167+ let aa = Z
168+ fromBase58String(aa)
156169 }
157- else if ($isInstanceOf(X, "Unit"))
170+ else if ($isInstanceOf(Z, "Unit"))
158171 then unit
159172 else throw("Match error")
160173 }
161174
162175
163-func ad () = {
164- let X = getString(u())
165- if ($isInstanceOf(X, "String"))
176+func aj () = {
177+ let Z = getString(w())
178+ if ($isInstanceOf(Z, "String"))
166179 then {
167- let Y = X
168- fromBase58String(Y)
180+ let aa = Z
181+ fromBase58String(aa)
169182 }
170- else if ($isInstanceOf(X, "Unit"))
183+ else if ($isInstanceOf(Z, "Unit"))
171184 then unit
172185 else throw("Match error")
173186 }
174187
175188
176-func ae (af) = {
177- let X = ac()
178- if ($isInstanceOf(X, "ByteVector"))
189+func ak (al) = {
190+ let Z = ai()
191+ if ($isInstanceOf(Z, "ByteVector"))
179192 then {
180- let ag = X
181- (af.callerPublicKey == ag)
193+ let am = Z
194+ (al.callerPublicKey == am)
182195 }
183- else if ($isInstanceOf(X, "Unit"))
184- then (af.caller == this)
196+ else if ($isInstanceOf(Z, "Unit"))
197+ then (al.caller == this)
185198 else throw("Match error")
186199 }
187200
188201
189-func ah (af) = if (ae(af))
202+func an (al) = if (ak(al))
190203 then true
191- else f()
204+ else h()
192205
193206
194-func ai (af) = {
195- let aj = V(getString(v()))
196- if (containsElement(aj, toBase58String(af.callerPublicKey)))
207+func ao (al) = {
208+ let ap = X(getString(x()))
209+ if (containsElement(ap, toBase58String(al.callerPublicKey)))
197210 then true
198- else ah(af)
211+ else an(al)
199212 }
200213
201214
202-func ak (al) = (valueOrElse(getInteger(addressFromStringValue(T(A())), (("status_<" + al) + ">")), 0) == 2)
215+func aq (ar) = (valueOrElse(getInteger(addressFromStringValue(V(C())), (("status_<" + ar) + ">")), 0) == 2)
203216
204217
205-func am (an) = {
206- let X = an.assetId
207- if ($isInstanceOf(X, "ByteVector"))
218+func as (at) = {
219+ let Z = at.assetId
220+ if ($isInstanceOf(Z, "ByteVector"))
208221 then {
209- let ao = X
210- let ap = value(assetInfo(ao))
211- $Tuple2(toBase58String(ao), ap)
222+ let au = Z
223+ let av = value(assetInfo(au))
224+ $Tuple2(toBase58String(au), av)
212225 }
213- else if ($isInstanceOf(X, "Unit"))
214- then $Tuple2(b, unit)
226+ else if ($isInstanceOf(Z, "Unit"))
227+ then $Tuple2(c, unit)
215228 else throw("Match error")
216229 }
217230
218231
219-func aq (ar) = containsElement(I, ar)
232+func aw (ax) = containsElement(K, ax)
220233
221234
222-@Callable(af)
223-func constructor (as,at,au,av,aw,ax,ay) = {
224- let az = ah(af)
225- if ((az == az))
226- then [StringEntry(z(), as), StringEntry(A(), at), StringEntry(B(), au), StringEntry(R(), makeString(av, a)), IntegerEntry(Q(), aw), StringEntry(O(), ax), IntegerEntry(P(), ay)]
235+@Callable(al)
236+func constructor (ay,az,aA,aB,aC,aD,aE) = {
237+ let aF = an(al)
238+ if ((aF == aF))
239+ then [StringEntry(B(), ay), StringEntry(C(), az), StringEntry(D(), aA), StringEntry(T(), makeString(aB, b)), IntegerEntry(S(), aC), StringEntry(Q(), aD), IntegerEntry(R(), aE)]
227240 else throw("Strict value is not equal to itself.")
228241 }
229242
230243
231244
232-@Callable(af)
245+@Callable(al)
233246 func create () = {
234- let aA = value(af.payments[0])
235- let aB = value(af.payments[1])
236- let aC = value(af.payments[2])
237- let aD = am(aA)
238- let aE = aD._1
239- let aF = aD._2
240- let aG = am(aB)
241- let aH = aG._1
242- let aI = aG._2
243- let aJ = am(aC)
244- let ax = aJ._1
245- let aK = aJ._2
246- let aL = V(getString(Z, S()))
247- let aM = if ((aE != aH))
247+ let aG = value(al.payments[0])
248+ let aH = value(al.payments[1])
249+ let aI = value(al.payments[2])
250+ let aJ = as(aG)
251+ let aK = aJ._1
252+ let aL = aJ._2
253+ let aM = as(aH)
254+ let aN = aM._1
255+ let aO = aM._2
256+ let aP = as(aI)
257+ let aD = aP._1
258+ let aQ = aP._2
259+ let aR = X(getString(ab, U()))
260+ let aS = if ((aK != aN))
248261 then true
249- else s()
250- if ((aM == aM))
262+ else u()
263+ if ((aS == aS))
251264 then {
252- let aN = if (if (containsElement(aL, aH))
253- then ak(aE)
265+ let aT = if (if (containsElement(aR, aN))
266+ then aq(aK)
254267 else false)
255- then $Tuple4(aE, aA.amount, aH, aB.amount)
256- else if (if (containsElement(aL, aE))
257- then ak(aH)
268+ then $Tuple4(aK, aG.amount, aN, aH.amount)
269+ else if (if (containsElement(aR, aK))
270+ then aq(aN)
258271 else false)
259- then $Tuple4(aH, aB.amount, aE, aA.amount)
260- else s()
261- let x = aN._1
262- let aO = aN._2
263- let y = aN._3
264- let aP = aN._4
265- let aQ = 1
266- let aR = if (ae(af))
267- then aQ
272+ then $Tuple4(aN, aH.amount, aK, aG.amount)
273+ else u()
274+ let z = aT._1
275+ let aU = aT._2
276+ let A = aT._3
277+ let aV = aT._4
278+ let aW = 1
279+ let aX = if (ak(al))
280+ then aW
268281 else {
269- let aS = valueOrErrorMessage(indexOf(aL, y), c)
270- value(parseInt(V(getString(R()))[aS]))
282+ let aY = valueOrErrorMessage(indexOf(aR, A), d)
283+ value(parseInt(X(getString(T()))[aY]))
271284 }
272- let aT = valueOrElse(getInteger(D()), 0)
273- let aU = (aT + 1)
274- let aV = addressFromStringValue(T(B()))
275- let aW = {
276- let aX = invoke(Z, "poolExistsREADONLY", [x, y], nil)
277- if ($isInstanceOf(aX, "Boolean"))
278- then aX
279- else throw("Couldn't cast Any to Boolean")
285+ let aZ = valueOrElse(getInteger(F()), 0)
286+ let ba = (aZ + 1)
287+ let bb = addressFromStringValue(V(D()))
288+ let bc = {
289+ let bd = invoke(ab, "poolExistsREADONLY", [z, A], nil)
290+ if ($isInstanceOf(bd, "Boolean"))
291+ then bd
292+ else throw(($getType(bd) + " couldn't be cast to Boolean"))
280293 }
281- let aY = [if (!(aa(x, y)))
294+ let be = [if (!(ag(z, A)))
282295 then true
283- else i(), if (!(aW))
296+ else k(), if (!(bc))
284297 then true
285- else i(), if ((getString(O()) == ax))
298+ else k(), if ((getString(Q()) == aD))
286299 then true
287- else l(), if (if (ae(af))
300+ else n(), if (if (ak(al))
288301 then true
289- else (aO >= getIntegerValue(Q())))
302+ else (aU >= getIntegerValue(S())))
290303 then true
291- else m(), if (if (ae(af))
304+ else o(), if (if (ak(al))
292305 then true
293- else (aP >= aR))
306+ else (aV >= aX))
294307 then true
295- else q(), if ((aC.amount == getInteger(P())))
308+ else s(), if ((aI.amount == getInteger(R())))
296309 then true
297- else r()]
298- if ((aY == aY))
310+ else t()]
311+ if ((be == be))
299312 then {
300- let aZ = invoke(aV, "burn", nil, [AttachedPayment(fromBase58String(ax), aC.amount)])
301- if ((aZ == aZ))
302- then [BooleanEntry(J(x, y), true), StringEntry(K(x, y), toString(af.caller)), IntegerEntry(D(), aU), StringEntry(C(x, y), (toString(aU) + E)), IntegerEntry(N(x, y), height), StringEntry(w(x, y), F), IntegerEntry(L(x, y), aO), IntegerEntry(M(x, y), aP)]
313+ let bf = invoke(bb, "burn", nil, [AttachedPayment(fromBase58String(aD), aI.amount)])
314+ if ((bf == bf))
315+ then [BooleanEntry(L(z, A), true), StringEntry(M(z, A), toString(al.caller)), IntegerEntry(F(), ba), StringEntry(E(z, A), (toString(ba) + G)), IntegerEntry(P(z, A), height), StringEntry(y(z, A), H), IntegerEntry(N(z, A), aU), IntegerEntry(O(z, A), aV)]
303316 else throw("Strict value is not equal to itself.")
304317 }
305318 else throw("Strict value is not equal to itself.")
309322
310323
311324
312-@Callable(af)
313-func activate (ba,x,bb,y,bc,bd) = {
314- let aY = [ai(af), if (aa(x, y))
325+@Callable(al)
326+func activate (bg,z,bh,A,bi,bj) = {
327+ let be = [ao(al), if (ag(z, A))
315328 then true
316- else g(), if ((value(getString(w(x, y))) == F))
329+ else i(), if ((value(getString(y(z, A))) == H))
317330 then true
318- else o()]
319- if ((aY == aY))
331+ else q()]
332+ if ((be == be))
320333 then {
321- let be = invoke(Z, "activateNewPool", [ba, x, y, ((bb + bc) + "LP"), (((bb + "/") + bc) + " pool liquidity provider token"), 0, "VLTPOOL", bd], nil)
322- if ((be == be))
334+ let bk = invoke(ab, "activateNewPool", [bg, z, A, ((bh + bi) + "LP"), (((bh + "/") + bi) + " pool liquidity provider token"), 0, "VLTPOOL", bj], nil)
335+ if ((bk == bk))
323336 then {
324- let bf = {
325- let X = be
326- if ($isInstanceOf(X, "String"))
337+ let bl = {
338+ let Z = bk
339+ if ($isInstanceOf(Z, "String"))
327340 then {
328- let ao = X
329- ao
341+ let au = Z
342+ au
330343 }
331- else p()
344+ else r()
332345 }
333- if ((bf == bf))
346+ if ((bl == bl))
334347 then {
335- let bg = assetBalance(this, fromBase58String(bf))
336- if ((bg == bg))
348+ let bm = assetBalance(this, fromBase58String(bl))
349+ if ((bm == bm))
337350 then {
338- let bh = invoke(addressFromStringValue(ba), "put", [0, false], [AttachedPayment(if ((x == "WAVES"))
351+ let bn = invoke(addressFromStringValue(bg), "put", [0, false], [AttachedPayment(if ((z == "WAVES"))
339352 then unit
340- else fromBase58String(x), value(getInteger(L(x, y)))), AttachedPayment(if ((y == "WAVES"))
353+ else fromBase58String(z), value(getInteger(N(z, A)))), AttachedPayment(if ((A == "WAVES"))
341354 then unit
342- else fromBase58String(y), value(getInteger(M(x, y))))])
343- if ((bh == bh))
355+ else fromBase58String(A), value(getInteger(O(z, A))))])
356+ if ((bn == bn))
344357 then {
345- let bi = assetBalance(this, fromBase58String(bf))
346- if ((bi == bi))
358+ let bo = assetBalance(this, fromBase58String(bl))
359+ if ((bo == bo))
347360 then {
348- let bj = value(addressFromString(value(getString(K(x, y)))))
349-[StringEntry(w(x, y), H), ScriptTransfer(bj, (bi - bg), fromBase58String(bf))]
361+ let bp = value(addressFromString(value(getString(M(z, A)))))
362+ let bq = invoke(af, "approve", [z, A], nil)
363+ if ((bq == bq))
364+ then [StringEntry(y(z, A), J), ScriptTransfer(bp, (bo - bm), fromBase58String(bl))]
365+ else throw("Strict value is not equal to itself.")
350366 }
351367 else throw("Strict value is not equal to itself.")
352368 }
363379
364380
365381
366-@Callable(af)
367-func setAdmins (bk) = {
368- let az = ah(af)
369- if ((az == az))
370- then [StringEntry(v(), makeString(bk, a))]
382+@Callable(al)
383+func setAdmins (br) = {
384+ let aF = an(al)
385+ if ((aF == aF))
386+ then [StringEntry(x(), makeString(br, b))]
371387 else throw("Strict value is not equal to itself.")
372388 }
373389
374390
375391
376-@Callable(af)
377-func setManager (bl) = {
378- let az = ah(af)
379- if ((az == az))
392+@Callable(al)
393+func setManager (bs) = {
394+ let aF = an(al)
395+ if ((aF == aF))
380396 then {
381- let bm = fromBase58String(bl)
382- if ((bm == bm))
383- then [StringEntry(u(), bl)]
397+ let bt = fromBase58String(bs)
398+ if ((bt == bt))
399+ then [StringEntry(w(), bs)]
384400 else throw("Strict value is not equal to itself.")
385401 }
386402 else throw("Strict value is not equal to itself.")
388404
389405
390406
391-@Callable(af)
407+@Callable(al)
392408 func confirmManager () = {
393- let bn = ad()
394- let bo = if (isDefined(bn))
409+ let bu = aj()
410+ let bv = if (isDefined(bu))
395411 then true
396412 else throw("No pending manager")
397- if ((bo == bo))
413+ if ((bv == bv))
398414 then {
399- let bp = if ((af.callerPublicKey == value(bn)))
415+ let bw = if ((al.callerPublicKey == value(bu)))
400416 then true
401417 else throw("You are not pending manager")
402- if ((bp == bp))
403- then [StringEntry(t(), toBase58String(value(bn))), DeleteEntry(u())]
418+ if ((bw == bw))
419+ then [StringEntry(v(), toBase58String(value(bu))), DeleteEntry(w())]
404420 else throw("Strict value is not equal to itself.")
405421 }
406422 else throw("Strict value is not equal to itself.")
408424
409425
410426
411-@Callable(af)
412-func priceAssetsREADONLY () = $Tuple2(nil, V(getString(S())))
427+@Callable(al)
428+func priceAssetsREADONLY () = $Tuple2(nil, X(getString(U())))
413429
414430
415431
416-@Callable(af)
417-func statusREADONLY (x,y) = {
418- let ar = {
419- let X = getString(w(x, y))
420- if ($isInstanceOf(X, "String"))
432+@Callable(al)
433+func statusREADONLY (z,A) = {
434+ let ax = {
435+ let Z = getString(y(z, A))
436+ if ($isInstanceOf(Z, "String"))
421437 then {
422- let Y = X
423- Y
438+ let aa = Z
439+ aa
424440 }
425441 else unit
426442 }
427- $Tuple2(nil, ar)
443+ $Tuple2(nil, ax)
428444 }
429445
430446
431-@Verifier(bq)
432-func br () = {
433- let bs = {
434- let X = ac()
435- if ($isInstanceOf(X, "ByteVector"))
447+@Verifier(bx)
448+func by () = {
449+ let bz = {
450+ let Z = ai()
451+ if ($isInstanceOf(Z, "ByteVector"))
436452 then {
437- let ag = X
438- ag
453+ let am = Z
454+ am
439455 }
440- else if ($isInstanceOf(X, "Unit"))
441- then bq.senderPublicKey
456+ else if ($isInstanceOf(Z, "Unit"))
457+ then bx.senderPublicKey
442458 else throw("Match error")
443459 }
444- sigVerify(bq.bodyBytes, bq.proofs[0], bs)
460+ sigVerify(bx.bodyBytes, bx.proofs[0], bz)
445461 }
446462
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "__"
4+let a = "user_pools.ride"
55
6-let b = "WAVES"
6+let b = "__"
77
8-let c = "Invalid price asset"
8+let c = "WAVES"
99
10-func d (e) = throw(makeString(["user_pools.ride:", e], " "))
10+let d = "Invalid price asset"
11+
12+func e (f) = makeString([a, ": ", f], "")
1113
1214
13-func f () = d("Permission denied")
15+func g (f) = throw(e(f))
1416
1517
16-func g () = d("Create is not called for assets pair")
18+func h () = g("Permission denied")
1719
1820
19-func h () = d("You are not amountAsset issuer")
21+func i () = g("Create is not called for assets pair")
2022
2123
22-func i () = d("Pool with such assets already exists")
24+func j () = g("You are not amountAsset issuer")
2325
2426
25-func j () = d("Asset is not verified")
27+func k () = g("Pool with such assets already exists")
2628
2729
28-func k () = d(c)
30+func l () = g("Asset is not verified")
2931
3032
31-func l () = d("Invalid fee asset")
33+func m () = g(d)
3234
3335
34-func m () = d("Invalid amount asset attached")
36+func n () = g("Invalid fee asset")
3537
3638
37-func n () = d("Invalid status")
39+func o () = g("Invalid amount asset attached")
3840
3941
40-func o () = d("Can activate pool only in 'pending' status")
42+func p () = g("Invalid status")
4143
4244
43-func p () = d("FactoryV2 returned not string")
45+func q () = g("Can activate pool only in 'pending' status")
4446
4547
46-func q () = d("invalid price asset amount")
48+func r () = g("FactoryV2 returned not string")
4749
4850
49-func r () = d("invalid fee")
51+func s () = g("invalid price asset amount")
5052
5153
52-func s () = d("invalid asset pair")
54+func t () = g("invalid fee")
5355
5456
55-func t () = makeString(["%s", "managerPublicKey"], a)
57+func u () = g("invalid asset pair")
5658
5759
58-func u () = makeString(["%s", "pendingManagerPublicKey"], a)
60+func v () = makeString(["%s", "managerPublicKey"], b)
5961
6062
61-func v () = makeString(["%s", "adminPubKeys"], a)
63+func w () = makeString(["%s", "pendingManagerPublicKey"], b)
6264
6365
64-func w (x,y) = makeString(["%s%s%s", "status", x, y], a)
66+func x () = makeString(["%s", "adminPubKeys"], b)
6567
6668
67-func z () = makeString(["%s", "factoryContract"], a)
69+func y (z,A) = makeString(["%s%s%s", "status", z, A], b)
6870
6971
70-func A () = makeString(["%s", "assetsStoreContract"], a)
72+func B () = makeString(["%s", "factoryContract"], b)
7173
7274
73-func B () = makeString(["%s", "emissionContract"], a)
75+func C () = makeString(["%s", "assetsStoreContract"], b)
7476
7577
76-func C (x,y) = makeString(["%s%s%s", "suffix", x, y], a)
78+func D () = makeString(["%s", "emissionContract"], b)
7779
7880
79-func D () = makeString(["%s", "lastIndex"], a)
81+func E (z,A) = makeString(["%s%s%s", "suffix", z, A], b)
8082
8183
82-let E = "u"
83-
84-let F = "pending"
85-
86-let G = "declined"
87-
88-let H = "active"
89-
90-let I = [F, G, H]
91-
92-func J (x,y) = makeString(["%s%s%s", "createCalled", x, y], a)
84+func F () = makeString(["%s", "lastIndex"], b)
9385
9486
95-func K (x,y) = makeString(["%s%s%s", "createCaller", x, y], a)
87+let G = "u"
88+
89+let H = "pending"
90+
91+let I = "declined"
92+
93+let J = "active"
94+
95+let K = [H, I, J]
96+
97+func L (z,A) = makeString(["%s%s%s", "createCalled", z, A], b)
9698
9799
98-func L (x,y) = makeString(["%s%s%s", "amountAssetAmount", x, y], a)
100+func M (z,A) = makeString(["%s%s%s", "createCaller", z, A], b)
99101
100102
101-func M (x,y) = makeString(["%s%s%s", "priceAssetAmount", x, y], a)
103+func N (z,A) = makeString(["%s%s%s", "amountAssetAmount", z, A], b)
102104
103105
104-func N (x,y) = makeString(["%s%s%s", "height", x, y], a)
106+func O (z,A) = makeString(["%s%s%s", "priceAssetAmount", z, A], b)
105107
106108
107-func O () = makeString(["%s", "feeAssetId"], a)
109+func P (z,A) = makeString(["%s%s%s", "height", z, A], b)
108110
109111
110-func P () = makeString(["%s", "feeAmount"], a)
112+func Q () = makeString(["%s", "feeAssetId"], b)
111113
112114
113-func Q () = makeString(["%s", "amountAssetMinAmount"], a)
115+func R () = makeString(["%s", "feeAmount"], b)
114116
115117
116-func R () = makeString(["%s", "priceAssetsMinAmount"], a)
118+func S () = makeString(["%s", "amountAssetMinAmount"], b)
117119
118120
119-func S () = makeString(["%s", "priceAssets"], a)
121+func T () = makeString(["%s", "priceAssetsMinAmount"], b)
120122
121123
122-func T (U) = valueOrErrorMessage(getString(this, U), (U + " is not defined"))
124+func U () = makeString(["%s", "priceAssets"], b)
123125
124126
125-func V (W) = {
126- let X = W
127- if ($isInstanceOf(X, "String"))
127+func V (W) = valueOrErrorMessage(getString(this, W), (W + " is not defined"))
128+
129+
130+func X (Y) = {
131+ let Z = Y
132+ if ($isInstanceOf(Z, "String"))
128133 then {
129- let Y = X
130- if ((size(Y) == 0))
134+ let aa = Z
135+ if ((size(aa) == 0))
131136 then nil
132- else split(Y, a)
137+ else split(aa, b)
133138 }
134- else if ($isInstanceOf(X, "Unit"))
139+ else if ($isInstanceOf(Z, "Unit"))
135140 then nil
136141 else throw("Match error")
137142 }
138143
139144
140-let Z = addressFromStringValue(T(z()))
145+let ab = addressFromStringValue(V(B()))
141146
142-func aa (x,y) = valueOrElse(getBoolean(J(x, y)), false)
147+let ac = makeString(["%s", "votingEmissionContract"], b)
148+
149+let ad = addressFromStringValue(valueOrErrorMessage(getString(ab, ac), e("voting emission contract address is required")))
150+
151+let ae = makeString(["%s", "votingEmissionCandidateContract"], b)
152+
153+let af = addressFromStringValue(valueOrErrorMessage(getString(ad, ae), e("voting emission candidate contract address is required")))
154+
155+func ag (z,A) = valueOrElse(getBoolean(L(z, A)), false)
143156
144157
145-func ab (x,y) = if (aa(x, y))
158+func ah (z,A) = if (ag(z, A))
146159 then true
147- else g()
160+ else i()
148161
149162
150-func ac () = {
151- let X = getString(t())
152- if ($isInstanceOf(X, "String"))
163+func ai () = {
164+ let Z = getString(v())
165+ if ($isInstanceOf(Z, "String"))
153166 then {
154- let Y = X
155- fromBase58String(Y)
167+ let aa = Z
168+ fromBase58String(aa)
156169 }
157- else if ($isInstanceOf(X, "Unit"))
170+ else if ($isInstanceOf(Z, "Unit"))
158171 then unit
159172 else throw("Match error")
160173 }
161174
162175
163-func ad () = {
164- let X = getString(u())
165- if ($isInstanceOf(X, "String"))
176+func aj () = {
177+ let Z = getString(w())
178+ if ($isInstanceOf(Z, "String"))
166179 then {
167- let Y = X
168- fromBase58String(Y)
180+ let aa = Z
181+ fromBase58String(aa)
169182 }
170- else if ($isInstanceOf(X, "Unit"))
183+ else if ($isInstanceOf(Z, "Unit"))
171184 then unit
172185 else throw("Match error")
173186 }
174187
175188
176-func ae (af) = {
177- let X = ac()
178- if ($isInstanceOf(X, "ByteVector"))
189+func ak (al) = {
190+ let Z = ai()
191+ if ($isInstanceOf(Z, "ByteVector"))
179192 then {
180- let ag = X
181- (af.callerPublicKey == ag)
193+ let am = Z
194+ (al.callerPublicKey == am)
182195 }
183- else if ($isInstanceOf(X, "Unit"))
184- then (af.caller == this)
196+ else if ($isInstanceOf(Z, "Unit"))
197+ then (al.caller == this)
185198 else throw("Match error")
186199 }
187200
188201
189-func ah (af) = if (ae(af))
202+func an (al) = if (ak(al))
190203 then true
191- else f()
204+ else h()
192205
193206
194-func ai (af) = {
195- let aj = V(getString(v()))
196- if (containsElement(aj, toBase58String(af.callerPublicKey)))
207+func ao (al) = {
208+ let ap = X(getString(x()))
209+ if (containsElement(ap, toBase58String(al.callerPublicKey)))
197210 then true
198- else ah(af)
211+ else an(al)
199212 }
200213
201214
202-func ak (al) = (valueOrElse(getInteger(addressFromStringValue(T(A())), (("status_<" + al) + ">")), 0) == 2)
215+func aq (ar) = (valueOrElse(getInteger(addressFromStringValue(V(C())), (("status_<" + ar) + ">")), 0) == 2)
203216
204217
205-func am (an) = {
206- let X = an.assetId
207- if ($isInstanceOf(X, "ByteVector"))
218+func as (at) = {
219+ let Z = at.assetId
220+ if ($isInstanceOf(Z, "ByteVector"))
208221 then {
209- let ao = X
210- let ap = value(assetInfo(ao))
211- $Tuple2(toBase58String(ao), ap)
222+ let au = Z
223+ let av = value(assetInfo(au))
224+ $Tuple2(toBase58String(au), av)
212225 }
213- else if ($isInstanceOf(X, "Unit"))
214- then $Tuple2(b, unit)
226+ else if ($isInstanceOf(Z, "Unit"))
227+ then $Tuple2(c, unit)
215228 else throw("Match error")
216229 }
217230
218231
219-func aq (ar) = containsElement(I, ar)
232+func aw (ax) = containsElement(K, ax)
220233
221234
222-@Callable(af)
223-func constructor (as,at,au,av,aw,ax,ay) = {
224- let az = ah(af)
225- if ((az == az))
226- then [StringEntry(z(), as), StringEntry(A(), at), StringEntry(B(), au), StringEntry(R(), makeString(av, a)), IntegerEntry(Q(), aw), StringEntry(O(), ax), IntegerEntry(P(), ay)]
235+@Callable(al)
236+func constructor (ay,az,aA,aB,aC,aD,aE) = {
237+ let aF = an(al)
238+ if ((aF == aF))
239+ then [StringEntry(B(), ay), StringEntry(C(), az), StringEntry(D(), aA), StringEntry(T(), makeString(aB, b)), IntegerEntry(S(), aC), StringEntry(Q(), aD), IntegerEntry(R(), aE)]
227240 else throw("Strict value is not equal to itself.")
228241 }
229242
230243
231244
232-@Callable(af)
245+@Callable(al)
233246 func create () = {
234- let aA = value(af.payments[0])
235- let aB = value(af.payments[1])
236- let aC = value(af.payments[2])
237- let aD = am(aA)
238- let aE = aD._1
239- let aF = aD._2
240- let aG = am(aB)
241- let aH = aG._1
242- let aI = aG._2
243- let aJ = am(aC)
244- let ax = aJ._1
245- let aK = aJ._2
246- let aL = V(getString(Z, S()))
247- let aM = if ((aE != aH))
247+ let aG = value(al.payments[0])
248+ let aH = value(al.payments[1])
249+ let aI = value(al.payments[2])
250+ let aJ = as(aG)
251+ let aK = aJ._1
252+ let aL = aJ._2
253+ let aM = as(aH)
254+ let aN = aM._1
255+ let aO = aM._2
256+ let aP = as(aI)
257+ let aD = aP._1
258+ let aQ = aP._2
259+ let aR = X(getString(ab, U()))
260+ let aS = if ((aK != aN))
248261 then true
249- else s()
250- if ((aM == aM))
262+ else u()
263+ if ((aS == aS))
251264 then {
252- let aN = if (if (containsElement(aL, aH))
253- then ak(aE)
265+ let aT = if (if (containsElement(aR, aN))
266+ then aq(aK)
254267 else false)
255- then $Tuple4(aE, aA.amount, aH, aB.amount)
256- else if (if (containsElement(aL, aE))
257- then ak(aH)
268+ then $Tuple4(aK, aG.amount, aN, aH.amount)
269+ else if (if (containsElement(aR, aK))
270+ then aq(aN)
258271 else false)
259- then $Tuple4(aH, aB.amount, aE, aA.amount)
260- else s()
261- let x = aN._1
262- let aO = aN._2
263- let y = aN._3
264- let aP = aN._4
265- let aQ = 1
266- let aR = if (ae(af))
267- then aQ
272+ then $Tuple4(aN, aH.amount, aK, aG.amount)
273+ else u()
274+ let z = aT._1
275+ let aU = aT._2
276+ let A = aT._3
277+ let aV = aT._4
278+ let aW = 1
279+ let aX = if (ak(al))
280+ then aW
268281 else {
269- let aS = valueOrErrorMessage(indexOf(aL, y), c)
270- value(parseInt(V(getString(R()))[aS]))
282+ let aY = valueOrErrorMessage(indexOf(aR, A), d)
283+ value(parseInt(X(getString(T()))[aY]))
271284 }
272- let aT = valueOrElse(getInteger(D()), 0)
273- let aU = (aT + 1)
274- let aV = addressFromStringValue(T(B()))
275- let aW = {
276- let aX = invoke(Z, "poolExistsREADONLY", [x, y], nil)
277- if ($isInstanceOf(aX, "Boolean"))
278- then aX
279- else throw("Couldn't cast Any to Boolean")
285+ let aZ = valueOrElse(getInteger(F()), 0)
286+ let ba = (aZ + 1)
287+ let bb = addressFromStringValue(V(D()))
288+ let bc = {
289+ let bd = invoke(ab, "poolExistsREADONLY", [z, A], nil)
290+ if ($isInstanceOf(bd, "Boolean"))
291+ then bd
292+ else throw(($getType(bd) + " couldn't be cast to Boolean"))
280293 }
281- let aY = [if (!(aa(x, y)))
294+ let be = [if (!(ag(z, A)))
282295 then true
283- else i(), if (!(aW))
296+ else k(), if (!(bc))
284297 then true
285- else i(), if ((getString(O()) == ax))
298+ else k(), if ((getString(Q()) == aD))
286299 then true
287- else l(), if (if (ae(af))
300+ else n(), if (if (ak(al))
288301 then true
289- else (aO >= getIntegerValue(Q())))
302+ else (aU >= getIntegerValue(S())))
290303 then true
291- else m(), if (if (ae(af))
304+ else o(), if (if (ak(al))
292305 then true
293- else (aP >= aR))
306+ else (aV >= aX))
294307 then true
295- else q(), if ((aC.amount == getInteger(P())))
308+ else s(), if ((aI.amount == getInteger(R())))
296309 then true
297- else r()]
298- if ((aY == aY))
310+ else t()]
311+ if ((be == be))
299312 then {
300- let aZ = invoke(aV, "burn", nil, [AttachedPayment(fromBase58String(ax), aC.amount)])
301- if ((aZ == aZ))
302- then [BooleanEntry(J(x, y), true), StringEntry(K(x, y), toString(af.caller)), IntegerEntry(D(), aU), StringEntry(C(x, y), (toString(aU) + E)), IntegerEntry(N(x, y), height), StringEntry(w(x, y), F), IntegerEntry(L(x, y), aO), IntegerEntry(M(x, y), aP)]
313+ let bf = invoke(bb, "burn", nil, [AttachedPayment(fromBase58String(aD), aI.amount)])
314+ if ((bf == bf))
315+ then [BooleanEntry(L(z, A), true), StringEntry(M(z, A), toString(al.caller)), IntegerEntry(F(), ba), StringEntry(E(z, A), (toString(ba) + G)), IntegerEntry(P(z, A), height), StringEntry(y(z, A), H), IntegerEntry(N(z, A), aU), IntegerEntry(O(z, A), aV)]
303316 else throw("Strict value is not equal to itself.")
304317 }
305318 else throw("Strict value is not equal to itself.")
306319 }
307320 else throw("Strict value is not equal to itself.")
308321 }
309322
310323
311324
312-@Callable(af)
313-func activate (ba,x,bb,y,bc,bd) = {
314- let aY = [ai(af), if (aa(x, y))
325+@Callable(al)
326+func activate (bg,z,bh,A,bi,bj) = {
327+ let be = [ao(al), if (ag(z, A))
315328 then true
316- else g(), if ((value(getString(w(x, y))) == F))
329+ else i(), if ((value(getString(y(z, A))) == H))
317330 then true
318- else o()]
319- if ((aY == aY))
331+ else q()]
332+ if ((be == be))
320333 then {
321- let be = invoke(Z, "activateNewPool", [ba, x, y, ((bb + bc) + "LP"), (((bb + "/") + bc) + " pool liquidity provider token"), 0, "VLTPOOL", bd], nil)
322- if ((be == be))
334+ let bk = invoke(ab, "activateNewPool", [bg, z, A, ((bh + bi) + "LP"), (((bh + "/") + bi) + " pool liquidity provider token"), 0, "VLTPOOL", bj], nil)
335+ if ((bk == bk))
323336 then {
324- let bf = {
325- let X = be
326- if ($isInstanceOf(X, "String"))
337+ let bl = {
338+ let Z = bk
339+ if ($isInstanceOf(Z, "String"))
327340 then {
328- let ao = X
329- ao
341+ let au = Z
342+ au
330343 }
331- else p()
344+ else r()
332345 }
333- if ((bf == bf))
346+ if ((bl == bl))
334347 then {
335- let bg = assetBalance(this, fromBase58String(bf))
336- if ((bg == bg))
348+ let bm = assetBalance(this, fromBase58String(bl))
349+ if ((bm == bm))
337350 then {
338- let bh = invoke(addressFromStringValue(ba), "put", [0, false], [AttachedPayment(if ((x == "WAVES"))
351+ let bn = invoke(addressFromStringValue(bg), "put", [0, false], [AttachedPayment(if ((z == "WAVES"))
339352 then unit
340- else fromBase58String(x), value(getInteger(L(x, y)))), AttachedPayment(if ((y == "WAVES"))
353+ else fromBase58String(z), value(getInteger(N(z, A)))), AttachedPayment(if ((A == "WAVES"))
341354 then unit
342- else fromBase58String(y), value(getInteger(M(x, y))))])
343- if ((bh == bh))
355+ else fromBase58String(A), value(getInteger(O(z, A))))])
356+ if ((bn == bn))
344357 then {
345- let bi = assetBalance(this, fromBase58String(bf))
346- if ((bi == bi))
358+ let bo = assetBalance(this, fromBase58String(bl))
359+ if ((bo == bo))
347360 then {
348- let bj = value(addressFromString(value(getString(K(x, y)))))
349-[StringEntry(w(x, y), H), ScriptTransfer(bj, (bi - bg), fromBase58String(bf))]
361+ let bp = value(addressFromString(value(getString(M(z, A)))))
362+ let bq = invoke(af, "approve", [z, A], nil)
363+ if ((bq == bq))
364+ then [StringEntry(y(z, A), J), ScriptTransfer(bp, (bo - bm), fromBase58String(bl))]
365+ else throw("Strict value is not equal to itself.")
350366 }
351367 else throw("Strict value is not equal to itself.")
352368 }
353369 else throw("Strict value is not equal to itself.")
354370 }
355371 else throw("Strict value is not equal to itself.")
356372 }
357373 else throw("Strict value is not equal to itself.")
358374 }
359375 else throw("Strict value is not equal to itself.")
360376 }
361377 else throw("Strict value is not equal to itself.")
362378 }
363379
364380
365381
366-@Callable(af)
367-func setAdmins (bk) = {
368- let az = ah(af)
369- if ((az == az))
370- then [StringEntry(v(), makeString(bk, a))]
382+@Callable(al)
383+func setAdmins (br) = {
384+ let aF = an(al)
385+ if ((aF == aF))
386+ then [StringEntry(x(), makeString(br, b))]
371387 else throw("Strict value is not equal to itself.")
372388 }
373389
374390
375391
376-@Callable(af)
377-func setManager (bl) = {
378- let az = ah(af)
379- if ((az == az))
392+@Callable(al)
393+func setManager (bs) = {
394+ let aF = an(al)
395+ if ((aF == aF))
380396 then {
381- let bm = fromBase58String(bl)
382- if ((bm == bm))
383- then [StringEntry(u(), bl)]
397+ let bt = fromBase58String(bs)
398+ if ((bt == bt))
399+ then [StringEntry(w(), bs)]
384400 else throw("Strict value is not equal to itself.")
385401 }
386402 else throw("Strict value is not equal to itself.")
387403 }
388404
389405
390406
391-@Callable(af)
407+@Callable(al)
392408 func confirmManager () = {
393- let bn = ad()
394- let bo = if (isDefined(bn))
409+ let bu = aj()
410+ let bv = if (isDefined(bu))
395411 then true
396412 else throw("No pending manager")
397- if ((bo == bo))
413+ if ((bv == bv))
398414 then {
399- let bp = if ((af.callerPublicKey == value(bn)))
415+ let bw = if ((al.callerPublicKey == value(bu)))
400416 then true
401417 else throw("You are not pending manager")
402- if ((bp == bp))
403- then [StringEntry(t(), toBase58String(value(bn))), DeleteEntry(u())]
418+ if ((bw == bw))
419+ then [StringEntry(v(), toBase58String(value(bu))), DeleteEntry(w())]
404420 else throw("Strict value is not equal to itself.")
405421 }
406422 else throw("Strict value is not equal to itself.")
407423 }
408424
409425
410426
411-@Callable(af)
412-func priceAssetsREADONLY () = $Tuple2(nil, V(getString(S())))
427+@Callable(al)
428+func priceAssetsREADONLY () = $Tuple2(nil, X(getString(U())))
413429
414430
415431
416-@Callable(af)
417-func statusREADONLY (x,y) = {
418- let ar = {
419- let X = getString(w(x, y))
420- if ($isInstanceOf(X, "String"))
432+@Callable(al)
433+func statusREADONLY (z,A) = {
434+ let ax = {
435+ let Z = getString(y(z, A))
436+ if ($isInstanceOf(Z, "String"))
421437 then {
422- let Y = X
423- Y
438+ let aa = Z
439+ aa
424440 }
425441 else unit
426442 }
427- $Tuple2(nil, ar)
443+ $Tuple2(nil, ax)
428444 }
429445
430446
431-@Verifier(bq)
432-func br () = {
433- let bs = {
434- let X = ac()
435- if ($isInstanceOf(X, "ByteVector"))
447+@Verifier(bx)
448+func by () = {
449+ let bz = {
450+ let Z = ai()
451+ if ($isInstanceOf(Z, "ByteVector"))
436452 then {
437- let ag = X
438- ag
453+ let am = Z
454+ am
439455 }
440- else if ($isInstanceOf(X, "Unit"))
441- then bq.senderPublicKey
456+ else if ($isInstanceOf(Z, "Unit"))
457+ then bx.senderPublicKey
442458 else throw("Match error")
443459 }
444- sigVerify(bq.bodyBytes, bq.proofs[0], bs)
460+ sigVerify(bx.bodyBytes, bx.proofs[0], bz)
445461 }
446462

github/deemru/w8io/026f985 
150.40 ms