tx · 5LWRgKxspmWRZ5VApBsmk7A3vWPYYNiVPVnfrbFocqcg

3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh:  -0.01400000 Waves

2023.05.04 12:23 [2562827] smart account 3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh > SELF 0.00000000 Waves

{ "type": 13, "id": "5LWRgKxspmWRZ5VApBsmk7A3vWPYYNiVPVnfrbFocqcg", "fee": 1400000, "feeAssetId": null, "timestamp": 1683192278603, "version": 2, "chainId": 84, "sender": "3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh", "senderPublicKey": "Ap7CkWd6fzBU34kGo4GJJzC5q4qWXuLVunzE25PchdGS", "proofs": [ "667g779y62Cz61LkXWvF2GbYF9t5rmZzCHUokaqiUrwMBTkpzAu9krNM6fsZrzdyz2ctWZb54oF3XhDMyfDbT7Y2" ], "script": "base64:BgLiEAgCEgkKBwgICBgBCAESABIAEggKBggICAgICBIDCgEYEgMKAQgSABIAEgQKAggIIhBjb250cmFjdEZpbGVuYW1lIgNTRVAiDHdhdmVzQXNzZXRJZCIHVkxUUE9PTCIIU1RCTFBPT0wiEWludmFsaWRQcmljZUFzc2V0Igd3cmFwRXJyIgNtc2ciCHRocm93RXJyIgd0aHJvd1BEIhR0aHJvd0NyZWF0ZU5vdENhbGxlZCIRdGhyb3dZb3VOb3RJc3N1ZXIiD3Rocm93UG9vbEV4aXN0cyIVdGhyb3dBc3NldE5vdFZlcmlmaWVkIhZ0aHJvd0ludmFsaWRQcmljZUFzc2V0IhR0aHJvd0ludmFsaWRGZWVBc3NldCIXdGhyb3dJbnZhbGlkQW1vdW50QXNzZXQiEnRocm93SW52YWxpZFN0YXR1cyIfdGhyb3dDYW5BY3RpdmF0ZU9ubHlQZW5kaW5nUG9vbCIddGhyb3dGYWN0b3J5UmV0dXJuZWROb3RTdHJpbmciHHRocm93SW52YWxpZFByaWNlQXNzZXRBbW91bnQiD3Rocm93SW52YWxpZEZlZSIVdGhyb3dJbnZhbGlkQXNzZXRQYWlyIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIPa2V5QWRtaW5QdWJLZXlzIglrZXlTdGF0dXMiDWFtb3VudEFzc2V0SWQiDHByaWNlQXNzZXRJZCISa2V5RmFjdG9yeUNvbnRyYWN0IhZrZXlBc3NldHNTdG9yZUNvbnRyYWN0IhNrZXlFbWlzc2lvbkNvbnRyYWN0IglrZXlTdWZmaXgiDGtleUxhc3RJbmRleCILaW5kZXhTdWZmaXgiDXN0YXR1c1BlbmRpbmciDnN0YXR1c0RlY2xpbmVkIgxzdGF0dXNBY3RpdmUiCHN0YXR1c2VzIg9rZXlDcmVhdGVDYWxsZWQiD2tleUNyZWF0ZUNhbGxlciIUa2V5QW1vdW50QXNzZXRBbW91bnQiE2tleVByaWNlQXNzZXRBbW91bnQiCWtleUhlaWdodCILa2V5UG9vbFR5cGUiDWtleUZlZUFzc2V0SWQiDGtleUZlZUFtb3VudCIXa2V5QW1vdW50QXNzZXRNaW5BbW91bnQiF2tleVByaWNlQXNzZXRzTWluQW1vdW50Ig5rZXlQcmljZUFzc2V0cyIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiEnN0cmluZ09wdGlvblRvTGlzdCIMc3RyaW5nT3JVbml0IgckbWF0Y2gwIgFzIg9mYWN0b3J5Q29udHJhY3QiGWtleVZvdGluZ0VtaXNzaW9uQ29udHJhY3QiFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QiImtleVZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiDmlzQ3JlYXRlQ2FsbGVkIhBtdXN0Q3JlYXRlQ2FsbGVkIhZtYW5hZ2VyUHVibGljS2V5T3JVbml0Ih1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdCIJaXNNYW5hZ2VyIgFpIgJwayILbXVzdE1hbmFnZXIiCW11c3RBZG1pbiIIYWRtaW5QS3MiCmlzVmVyaWZpZWQiB2Fzc2V0SWQiDGdldElkQW5kSW5mbyIHcGF5bWVudCICaWQiBGluZm8iC3ZhbGlkU3RhdHVzIgZzdGF0dXMiB19jcmVhdGUiCHBvb2xUeXBlIg1hc3NldDFQYXltZW50Ig1hc3NldDJQYXltZW50Ig9mZWVBc3NldFBheW1lbnQiCyR0MDY0MDc2NDY0Ighhc3NldDFJZCIKYXNzZXQxSW5mbyILJHQwNjQ2NzY1MjQiCGFzc2V0MklkIgphc3NldDJJbmZvIgskdDA2NTI3NjU5MCIKZmVlQXNzZXRJZCIMZmVlQXNzZXRJbmZvIg9wcmljZUFzc2V0c0xpc3QiE2NoZWNrQXNzZXRzTm90RXF1YWwiCyR0MDY3NjQ3MjI1IhFhbW91bnRBc3NldEFtb3VudCIQcHJpY2VBc3NldEFtb3VudCIabWFuYWdlclByaWNlQXNzZXRNaW5BbW91bnQiE3ByaWNlQXNzZXRNaW5BbW91bnQiEHByaWNlQXNzZXRzSW5kZXgiCWxhc3RJbmRleCIIY3VySW5kZXgiEGVtaXNzaW9uQ29udHJhY3QiCnBvb2xFeGlzdHMiAUAiBmNoZWNrcyITcGF5bWVudHNXaXRoRmVlU2l6ZSIPYnVybkVtaXNzaW9uSW52IhBmYWN0b3J5VjJBZGRyZXNzIhJhc3NldHNTdG9yZUFkZHJlc3MiD2VtaXNzaW9uQWRkcmVzcyIUcHJpY2VBc3NldHNNaW5BbW91bnQiFGFtb3VudEFzc2V0TWluQW1vdW50IglmZWVBbW91bnQiC2NoZWNrQ2FsbGVyIgtwb29sQWRkcmVzcyIRYW1vdW50QXNzZXRUaWNrZXIiEHByaWNlQXNzZXRUaWNrZXIiBGxvZ28iDnBvb2xUeXBlT3B0aW9uIhJhY3RpdmF0ZU5ld1Bvb2xJbnYiCWxwQXNzZXRJZCIJYmVmb3JlUHV0IgNwdXQiCGFmdGVyUHV0IgR1c2VyIgNyZXMiDGFkbWluUHViS2V5cyIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXlBAAFhAg91c2VyX3Bvb2xzLnJpZGUAAWICAl9fAAFjAgVXQVZFUwABZAIHVkxUUE9PTAABZQIIU1RCTFBPT0wAAWYCE0ludmFsaWQgcHJpY2UgYXNzZXQBAWcBAWgJALkJAgkAzAgCBQFhCQDMCAICAjogCQDMCAIFAWgFA25pbAIAAQFpAQFoCQACAQkBAWcBBQFoAQFqAAkBAWkBAhFQZXJtaXNzaW9uIGRlbmllZAEBawAJAQFpAQIkQ3JlYXRlIGlzIG5vdCBjYWxsZWQgZm9yIGFzc2V0cyBwYWlyAQFsAAkBAWkBAh5Zb3UgYXJlIG5vdCBhbW91bnRBc3NldCBpc3N1ZXIBAW0ACQEBaQECJFBvb2wgd2l0aCBzdWNoIGFzc2V0cyBhbHJlYWR5IGV4aXN0cwEBbgAJAQFpAQIVQXNzZXQgaXMgbm90IHZlcmlmaWVkAQFvAAkBAWkBBQFmAQFwAAkBAWkBAhFJbnZhbGlkIGZlZSBhc3NldAEBcQAJAQFpAQIdSW52YWxpZCBhbW91bnQgYXNzZXQgYXR0YWNoZWQBAXIACQEBaQECDkludmFsaWQgc3RhdHVzAQFzAAkBAWkBAipDYW4gYWN0aXZhdGUgcG9vbCBvbmx5IGluICdwZW5kaW5nJyBzdGF0dXMBAXQACQEBaQECHUZhY3RvcnlWMiByZXR1cm5lZCBub3Qgc3RyaW5nAQF1AAkBAWkBAhppbnZhbGlkIHByaWNlIGFzc2V0IGFtb3VudAEBdgAJAQFpAQILaW52YWxpZCBmZWUBAXcACQEBaQECEmludmFsaWQgYXNzZXQgcGFpcgEBeAAJALkJAgkAzAgCAgIlcwkAzAgCAhBtYW5hZ2VyUHVibGljS2V5BQNuaWwFAWIBAXkACQC5CQIJAMwIAgICJXMJAMwIAgIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkFA25pbAUBYgEBegAJALkJAgkAzAgCAgIlcwkAzAgCAgxhZG1pblB1YktleXMFA25pbAUBYgEBQQIBQgFDCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICBnN0YXR1cwkAzAgCBQFCCQDMCAIFAUMFA25pbAUBYgEBRAAJALkJAgkAzAgCAgIlcwkAzAgCAg9mYWN0b3J5Q29udHJhY3QFA25pbAUBYgEBRQAJALkJAgkAzAgCAgIlcwkAzAgCAhNhc3NldHNTdG9yZUNvbnRyYWN0BQNuaWwFAWIBAUYACQC5CQIJAMwIAgICJXMJAMwIAgIQZW1pc3Npb25Db250cmFjdAUDbmlsBQFiAQFHAgFCAUMJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIGc3VmZml4CQDMCAIFAUIJAMwIAgUBQwUDbmlsBQFiAQFIAAkAuQkCCQDMCAICAiVzCQDMCAICCWxhc3RJbmRleAUDbmlsBQFiAAFJAgF1AAFKAgdwZW5kaW5nAAFLAghkZWNsaW5lZAABTAIGYWN0aXZlAAFNCQDMCAIFAUoJAMwIAgUBSwkAzAgCBQFMBQNuaWwBAU4CAUIBQwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgxjcmVhdGVDYWxsZWQJAMwIAgUBQgkAzAgCBQFDBQNuaWwFAWIBAU8CAUIBQwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgxjcmVhdGVDYWxsZXIJAMwIAgUBQgkAzAgCBQFDBQNuaWwFAWIBAVACAUIBQwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhFhbW91bnRBc3NldEFtb3VudAkAzAgCBQFCCQDMCAIFAUMFA25pbAUBYgEBUQIBQgFDCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEHByaWNlQXNzZXRBbW91bnQJAMwIAgUBQgkAzAgCBQFDBQNuaWwFAWIBAVICAUIBQwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgZoZWlnaHQJAMwIAgUBQgkAzAgCBQFDBQNuaWwFAWIBAVMCAUIBQwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAghwb29sVHlwZQkAzAgCBQFCCQDMCAIFAUMFA25pbAUBYgEBVAAJALkJAgkAzAgCAgIlcwkAzAgCAgpmZWVBc3NldElkBQNuaWwFAWIBAVUACQC5CQIJAMwIAgICJXMJAMwIAgIJZmVlQW1vdW50BQNuaWwFAWIBAVYACQC5CQIJAMwIAgICJXMJAMwIAgIUYW1vdW50QXNzZXRNaW5BbW91bnQFA25pbAUBYgEBVwAJALkJAgkAzAgCAgIlcwkAzAgCAhRwcmljZUFzc2V0c01pbkFtb3VudAUDbmlsBQFiAQFYAAkAuQkCCQDMCAICAiVzCQDMCAICC3ByaWNlQXNzZXRzBQNuaWwFAWIBAVkBAVoJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQR0aGlzBQFaCQCsAgIFAVoCDyBpcyBub3QgZGVmaW5lZAECYWEBAmFiBAJhYwUCYWIDCQABAgUCYWMCBlN0cmluZwQCYWQFAmFjAwkAAAIJALECAQUCYWQAAAUDbmlsCQC1CQIFAmFkBQFiAwkAAQIFAmFjAgRVbml0BQNuaWwJAAIBAgtNYXRjaCBlcnJvcgACYWUJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQFZAQkBAUQAAAJhZgkAuQkCCQDMCAICAiVzCQDMCAICFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QFA25pbAUBYgACYWcJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQJhZQUCYWYJAQFnAQIsdm90aW5nIGVtaXNzaW9uIGNvbnRyYWN0IGFkZHJlc3MgaXMgcmVxdWlyZWQAAmFoCQC5CQIJAMwIAgICJXMJAMwIAgIfdm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdAUDbmlsBQFiAAJhaQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFAmFnBQJhaAkBAWcBAjZ2b3RpbmcgZW1pc3Npb24gY2FuZGlkYXRlIGNvbnRyYWN0IGFkZHJlc3MgaXMgcmVxdWlyZWQBAmFqAgFCAUMJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBAU4CBQFCBQFDBwECYWsCAUIBQwMJAQJhagIFAUIFAUMGCQEBawABAmFsAAQCYWMJAKIIAQkBAXgAAwkAAQIFAmFjAgZTdHJpbmcEAmFkBQJhYwkA2QQBBQJhZAMJAAECBQJhYwIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJhbQAEAmFjCQCiCAEJAQF5AAMJAAECBQJhYwIGU3RyaW5nBAJhZAUCYWMJANkEAQUCYWQDCQABAgUCYWMCBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgECYW4BAmFvBAJhYwkBAmFsAAMJAAECBQJhYwIKQnl0ZVZlY3RvcgQCYXAFAmFjCQAAAggFAmFvD2NhbGxlclB1YmxpY0tleQUCYXADCQABAgUCYWMCBFVuaXQJAAACCAUCYW8GY2FsbGVyBQR0aGlzCQACAQILTWF0Y2ggZXJyb3IBAmFxAQJhbwMJAQJhbgEFAmFvBgkBAWoAAQJhcgECYW8EAmFzCQECYWEBCQCiCAEJAQF6AAMJAQ9jb250YWluc0VsZW1lbnQCBQJhcwkA2AQBCAUCYW8PY2FsbGVyUHVibGljS2V5BgkBAmFxAQUCYW8BAmF0AQJhdQkAAAIJAQt2YWx1ZU9yRWxzZQIJAJoIAgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAVkBCQEBRQAJAKwCAgkArAICAghzdGF0dXNfPAUCYXUCAT4AAAACAQJhdgECYXcEAmFjCAUCYXcHYXNzZXRJZAMJAAECBQJhYwIKQnl0ZVZlY3RvcgQCYXgFAmFjBAJheQkBBXZhbHVlAQkA7AcBBQJheAkAlAoCCQDYBAEFAmF4BQJheQMJAAECBQJhYwIEVW5pdAkAlAoCBQFjBQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmF6AQJhQQkBD2NvbnRhaW5zRWxlbWVudAIFAU0FAmFBAQJhQgICYW8CYUMEAmFECQEFdmFsdWUBCQCRAwIIBQJhbwhwYXltZW50cwAABAJhRQkBBXZhbHVlAQkAkQMCCAUCYW8IcGF5bWVudHMAAQQCYUYJAQV2YWx1ZQEJAJEDAggFAmFvCHBheW1lbnRzAAIEAmFHCQECYXYBBQJhRAQCYUgIBQJhRwJfMQQCYUkIBQJhRwJfMgQCYUoJAQJhdgEFAmFFBAJhSwgFAmFKAl8xBAJhTAgFAmFKAl8yBAJhTQkBAmF2AQUCYUYEAmFOCAUCYU0CXzEEAmFPCAUCYU0CXzIEAmFQCQECYWEBCQCdCAIFAmFlCQEBWAAEAmFRAwkBAiE9AgUCYUgFAmFLBgkBAXcAAwkAAAIFAmFRBQJhUQQCYVIDAwkBAmFuAQUCYW8GAwkBD2NvbnRhaW5zRWxlbWVudAIFAmFQBQJhSwkBAmF0AQUCYUgHCQCWCgQFAmFICAUCYUQGYW1vdW50BQJhSwgFAmFFBmFtb3VudAMDCQEPY29udGFpbnNFbGVtZW50AgUCYVAFAmFICQECYXQBBQJhSwcJAJYKBAUCYUsIBQJhRQZhbW91bnQFAmFICAUCYUQGYW1vdW50CQEBdwAEAUIIBQJhUgJfMQQCYVMIBQJhUgJfMgQBQwgFAmFSAl8zBAJhVAgFAmFSAl80BAJhVQABBAJhVgMJAQJhbgEFAmFvBQJhVQQCYVcJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAzwgCBQJhUAUBQwUBZgkBBXZhbHVlAQkAtgkBCQCRAwIJAQJhYQEJAKIIAQkBAVcABQJhVwQCYVgJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAUgAAAAEAmFZCQBkAgUCYVgAAQQCYVoJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQFZAQkBAUYABAJiYQoAAmJiCQD8BwQFAmFlAhJwb29sRXhpc3RzUkVBRE9OTFkJAMwIAgUBQgkAzAgCBQFDBQNuaWwFA25pbAMJAAECBQJiYgIHQm9vbGVhbgUCYmIJAAIBCQCsAgIJAAMBBQJiYgIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgQCYmMJAMwIAgMJAQEhAQkBAmFqAgUBQgUBQwYJAQFtAAkAzAgCAwkBASEBBQJiYQYJAQFtAAkAzAgCAwMJAQJhbgEFAmFvBgkAAAIJAKIIAQkBAVQABQJhTgYJAQFwAAkAzAgCAwMJAQJhbgEFAmFvBgkAZwIFAmFTCQERQGV4dHJOYXRpdmUoMTA1NSkBCQEBVgAGCQEBcQAJAMwIAgMDCQECYW4BBQJhbwYJAGcCBQJhVAUCYVYGCQEBdQAJAMwIAgMDCQECYW4BBQJhbwYJAAACCAUCYUYGYW1vdW50CQCfCAEJAQFVAAYJAQF2AAUDbmlsAwkAAAIFAmJjBQJiYwQCYmQAAwQCYmUDCQBnAgkAkAMBCAUCYW8IcGF5bWVudHMFAmJkCQD8BwQFAmFaAgRidXJuBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQUCYU4IBQJhRgZhbW91bnQFA25pbAUEdW5pdAMJAAACBQJiZQUCYmUJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQFOAgUBQgUBQwYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAU8CBQFCBQFDCQClCAEIBQJhbwZjYWxsZXIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFIAAUCYVkJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUcCBQFCBQFDCQCsAgIJAKQDAQUCYVkFAUkJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFSAgUBQgUBQwUGaGVpZ2h0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFBAgUBQgUBQwUBSgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVACBQFCBQFDBQJhUwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVECBQFCBQFDBQJhVAkAzAgCCQELU3RyaW5nRW50cnkCCQEBUwIFAUIFAUMFAmFDBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAmFvAQtjb25zdHJ1Y3RvcgcCYmYCYmcCYmgCYmkCYmoCYU4CYmsEAmJsCQECYXEBBQJhbwMJAAACBQJibAUCYmwJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUQABQJiZgkAzAgCCQELU3RyaW5nRW50cnkCCQEBRQAFAmJnCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFGAAUCYmgJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVcACQC5CQIFAmJpBQFiCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBVgAFAmJqCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFUAAUCYU4JAMwIAgkBDEludGVnZXJFbnRyeQIJAQFVAAUCYmsFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhbwEGY3JlYXRlAAkBAmFCAgUCYW8FAWQCYW8BDGNyZWF0ZVN0YWJsZQAJAQJhQgIFAmFvBQFlAmFvAQhhY3RpdmF0ZQYCYm0BQgJibgFDAmJvAmJwBAJiYwkAzAgCCQECYXIBBQJhbwkAzAgCAwkBAmFqAgUBQgUBQwYJAQFrAAkAzAgCAwkAAAIJAQV2YWx1ZQEJAKIIAQkBAUECBQFCBQFDBQFKBgkBAXMABQNuaWwDCQAAAgUCYmMFAmJjBAJicQkAnQgCBQR0aGlzCQEBUwIFAUIFAUMEAmJyCQD8BwQFAmFlAg9hY3RpdmF0ZU5ld1Bvb2wJAMwIAgUCYm0JAMwIAgUBQgkAzAgCBQFDCQDMCAIJAKwCAgkArAICBQJibgUCYm8CAkxQCQDMCAIJAKwCAgkArAICCQCsAgIFAmJuAgEvBQJibwIeIHBvb2wgbGlxdWlkaXR5IHByb3ZpZGVyIHRva2VuCQDMCAIAAAkAzAgCAwkAAAIFAmJxBQR1bml0AgdWTFRQT09MCQEFdmFsdWUBBQJicQkAzAgCBQJicAUDbmlsBQNuaWwDCQAAAgUCYnIFAmJyBAJicwQCYWMFAmJyAwkAAQIFAmFjAgZTdHJpbmcEAmF4BQJhYwUCYXgJAQF0AAMJAAACBQJicwUCYnMEAmJ0CQDwBwIFBHRoaXMJANkEAQUCYnMDCQAAAgUCYnQFAmJ0BAJidQkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQJibQIDcHV0CQDMCAIAAAkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCAwkAAAIFAUICBVdBVkVTBQR1bml0CQDZBAEFAUIJAQV2YWx1ZQEJAJ8IAQkBAVACBQFCBQFDCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCAwkAAAIFAUMCBVdBVkVTBQR1bml0CQDZBAEFAUMJAQV2YWx1ZQEJAJ8IAQkBAVECBQFCBQFDBQNuaWwDCQAAAgUCYnUFAmJ1BAJidgkA8AcCBQR0aGlzCQDZBAEFAmJzAwkAAAIFAmJ2BQJidgQCYncJAQV2YWx1ZQEJAKYIAQkBBXZhbHVlAQkAoggBCQEBTwIFAUIFAUMEAmJ4CQD8BwQFAmFpAgdhcHByb3ZlCQDMCAIFAUIJAMwIAgUBQwUDbmlsBQNuaWwDCQAAAgUCYngFAmJ4CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFBAgUBQgUBQwUBTAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQJidwkAZQIFAmJ2BQJidAkA2QQBBQJicwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFvAQlzZXRBZG1pbnMBAmJ5BAJibAkBAmFxAQUCYW8DCQAAAgUCYmwFAmJsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQF6AAkAuQkCBQJieQUBYgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFvAQpzZXRNYW5hZ2VyAQJiegQCYmwJAQJhcQEFAmFvAwkAAAIFAmJsBQJibAQCYkEJANkEAQUCYnoDCQAAAgUCYkEFAmJBCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQF5AAUCYnoFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhbwEOY29uZmlybU1hbmFnZXIABAJiQgkBAmFtAAQCYkMDCQEJaXNEZWZpbmVkAQUCYkIGCQACAQISTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmJDBQJiQwQCYkQDCQAAAggFAmFvD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCYkIGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmJEBQJiRAkAzAgCCQELU3RyaW5nRW50cnkCCQEBeAAJANgEAQkBBXZhbHVlAQUCYkIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAXkABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYW8BE3ByaWNlQXNzZXRzUkVBRE9OTFkACQCUCgIFA25pbAkBAmFhAQkAoggBCQEBWAACYW8BDnN0YXR1c1JFQURPTkxZAgFCAUMEAmFBBAJhYwkAoggBCQEBQQIFAUIFAUMDCQABAgUCYWMCBlN0cmluZwQCYWQFAmFjBQJhZAUEdW5pdAkAlAoCBQNuaWwFAmFBAQJiRQECYkYABAJiRwQCYWMJAQJhbAADCQABAgUCYWMCCkJ5dGVWZWN0b3IEAmFwBQJhYwUCYXADCQABAgUCYWMCBFVuaXQIBQJiRQ9zZW5kZXJQdWJsaWNLZXkJAAIBAgtNYXRjaCBlcnJvcgkA9AMDCAUCYkUJYm9keUJ5dGVzCQCRAwIIBQJiRQZwcm9vZnMAAAUCYkd7GB8p", "height": 2562827, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Ea32eC29rPLKgGsdNAzU1pGQqq6z88yrJ6Sj8AMF8mYZ Next: 5ifMM8dPiZ7dWFGqw4TSnFr2dnkDQrVkRAbNxZVp7YsU Diff:
OldNewDifferences
77
88 let c = "WAVES"
99
10-let d = "Invalid price asset"
10+let d = "VLTPOOL"
1111
12-func e (f) = makeString([a, ": ", f], "")
12+let e = "STBLPOOL"
13+
14+let f = "Invalid price asset"
15+
16+func g (h) = makeString([a, ": ", h], "")
1317
1418
15-func g (f) = throw(e(f))
19+func i (h) = throw(g(h))
1620
1721
18-func h () = g("Permission denied")
22+func j () = i("Permission denied")
1923
2024
21-func i () = g("Create is not called for assets pair")
25+func k () = i("Create is not called for assets pair")
2226
2327
24-func j () = g("You are not amountAsset issuer")
28+func l () = i("You are not amountAsset issuer")
2529
2630
27-func k () = g("Pool with such assets already exists")
31+func m () = i("Pool with such assets already exists")
2832
2933
30-func l () = g("Asset is not verified")
34+func n () = i("Asset is not verified")
3135
3236
33-func m () = g(d)
37+func o () = i(f)
3438
3539
36-func n () = g("Invalid fee asset")
40+func p () = i("Invalid fee asset")
3741
3842
39-func o () = g("Invalid amount asset attached")
43+func q () = i("Invalid amount asset attached")
4044
4145
42-func p () = g("Invalid status")
46+func r () = i("Invalid status")
4347
4448
45-func q () = g("Can activate pool only in 'pending' status")
49+func s () = i("Can activate pool only in 'pending' status")
4650
4751
48-func r () = g("FactoryV2 returned not string")
52+func t () = i("FactoryV2 returned not string")
4953
5054
51-func s () = g("invalid price asset amount")
55+func u () = i("invalid price asset amount")
5256
5357
54-func t () = g("invalid fee")
58+func v () = i("invalid fee")
5559
5660
57-func u () = g("invalid asset pair")
61+func w () = i("invalid asset pair")
5862
5963
60-func v () = makeString(["%s", "managerPublicKey"], b)
64+func x () = makeString(["%s", "managerPublicKey"], b)
6165
6266
63-func w () = makeString(["%s", "pendingManagerPublicKey"], b)
67+func y () = makeString(["%s", "pendingManagerPublicKey"], b)
6468
6569
66-func x () = makeString(["%s", "adminPubKeys"], b)
70+func z () = makeString(["%s", "adminPubKeys"], b)
6771
6872
69-func y (z,A) = makeString(["%s%s%s", "status", z, A], b)
73+func A (B,C) = makeString(["%s%s%s", "status", B, C], b)
7074
7175
72-func B () = makeString(["%s", "factoryContract"], b)
76+func D () = makeString(["%s", "factoryContract"], b)
7377
7478
75-func C () = makeString(["%s", "assetsStoreContract"], b)
79+func E () = makeString(["%s", "assetsStoreContract"], b)
7680
7781
78-func D () = makeString(["%s", "emissionContract"], b)
82+func F () = makeString(["%s", "emissionContract"], b)
7983
8084
81-func E (z,A) = makeString(["%s%s%s", "suffix", z, A], b)
85+func G (B,C) = makeString(["%s%s%s", "suffix", B, C], b)
8286
8387
84-func F () = makeString(["%s", "lastIndex"], b)
88+func H () = makeString(["%s", "lastIndex"], b)
8589
8690
87-let G = "u"
91+let I = "u"
8892
89-let H = "pending"
93+let J = "pending"
9094
91-let I = "declined"
95+let K = "declined"
9296
93-let J = "active"
97+let L = "active"
9498
95-let K = [H, I, J]
99+let M = [J, K, L]
96100
97-func L (z,A) = makeString(["%s%s%s", "createCalled", z, A], b)
101+func N (B,C) = makeString(["%s%s%s", "createCalled", B, C], b)
98102
99103
100-func M (z,A) = makeString(["%s%s%s", "createCaller", z, A], b)
104+func O (B,C) = makeString(["%s%s%s", "createCaller", B, C], b)
101105
102106
103-func N (z,A) = makeString(["%s%s%s", "amountAssetAmount", z, A], b)
107+func P (B,C) = makeString(["%s%s%s", "amountAssetAmount", B, C], b)
104108
105109
106-func O (z,A) = makeString(["%s%s%s", "priceAssetAmount", z, A], b)
110+func Q (B,C) = makeString(["%s%s%s", "priceAssetAmount", B, C], b)
107111
108112
109-func P (z,A) = makeString(["%s%s%s", "height", z, A], b)
113+func R (B,C) = makeString(["%s%s%s", "height", B, C], b)
110114
111115
112-func Q () = makeString(["%s", "feeAssetId"], b)
116+func S (B,C) = makeString(["%s%s%s", "poolType", B, C], b)
113117
114118
115-func R () = makeString(["%s", "feeAmount"], b)
119+func T () = makeString(["%s", "feeAssetId"], b)
116120
117121
118-func S () = makeString(["%s", "amountAssetMinAmount"], b)
122+func U () = makeString(["%s", "feeAmount"], b)
119123
120124
121-func T () = makeString(["%s", "priceAssetsMinAmount"], b)
125+func V () = makeString(["%s", "amountAssetMinAmount"], b)
122126
123127
124-func U () = makeString(["%s", "priceAssets"], b)
128+func W () = makeString(["%s", "priceAssetsMinAmount"], b)
125129
126130
127-func V (W) = valueOrErrorMessage(getString(this, W), (W + " is not defined"))
131+func X () = makeString(["%s", "priceAssets"], b)
128132
129133
130-func X (Y) = {
131- let Z = Y
132- if ($isInstanceOf(Z, "String"))
134+func Y (Z) = valueOrErrorMessage(getString(this, Z), (Z + " is not defined"))
135+
136+
137+func aa (ab) = {
138+ let ac = ab
139+ if ($isInstanceOf(ac, "String"))
133140 then {
134- let aa = Z
135- if ((size(aa) == 0))
141+ let ad = ac
142+ if ((size(ad) == 0))
136143 then nil
137- else split(aa, b)
144+ else split(ad, b)
138145 }
139- else if ($isInstanceOf(Z, "Unit"))
146+ else if ($isInstanceOf(ac, "Unit"))
140147 then nil
141148 else throw("Match error")
142149 }
143150
144151
145-let ab = addressFromStringValue(V(B()))
152+let ae = addressFromStringValue(Y(D()))
146153
147-let ac = makeString(["%s", "votingEmissionContract"], b)
154+let af = makeString(["%s", "votingEmissionContract"], b)
148155
149-let ad = addressFromStringValue(valueOrErrorMessage(getString(ab, ac), e("voting emission contract address is required")))
156+let ag = addressFromStringValue(valueOrErrorMessage(getString(ae, af), g("voting emission contract address is required")))
150157
151-let ae = makeString(["%s", "votingEmissionCandidateContract"], b)
158+let ah = makeString(["%s", "votingEmissionCandidateContract"], b)
152159
153-let af = addressFromStringValue(valueOrErrorMessage(getString(ad, ae), e("voting emission candidate contract address is required")))
160+let ai = addressFromStringValue(valueOrErrorMessage(getString(ag, ah), g("voting emission candidate contract address is required")))
154161
155-func ag (z,A) = valueOrElse(getBoolean(L(z, A)), false)
162+func aj (B,C) = valueOrElse(getBoolean(N(B, C)), false)
156163
157164
158-func ah (z,A) = if (ag(z, A))
165+func ak (B,C) = if (aj(B, C))
159166 then true
160- else i()
167+ else k()
161168
162169
163-func ai () = {
164- let Z = getString(v())
165- if ($isInstanceOf(Z, "String"))
170+func al () = {
171+ let ac = getString(x())
172+ if ($isInstanceOf(ac, "String"))
166173 then {
167- let aa = Z
168- fromBase58String(aa)
174+ let ad = ac
175+ fromBase58String(ad)
169176 }
170- else if ($isInstanceOf(Z, "Unit"))
177+ else if ($isInstanceOf(ac, "Unit"))
171178 then unit
172179 else throw("Match error")
173180 }
174181
175182
176-func aj () = {
177- let Z = getString(w())
178- if ($isInstanceOf(Z, "String"))
183+func am () = {
184+ let ac = getString(y())
185+ if ($isInstanceOf(ac, "String"))
179186 then {
180- let aa = Z
181- fromBase58String(aa)
187+ let ad = ac
188+ fromBase58String(ad)
182189 }
183- else if ($isInstanceOf(Z, "Unit"))
190+ else if ($isInstanceOf(ac, "Unit"))
184191 then unit
185192 else throw("Match error")
186193 }
187194
188195
189-func ak (al) = {
190- let Z = ai()
191- if ($isInstanceOf(Z, "ByteVector"))
196+func an (ao) = {
197+ let ac = al()
198+ if ($isInstanceOf(ac, "ByteVector"))
192199 then {
193- let am = Z
194- (al.callerPublicKey == am)
200+ let ap = ac
201+ (ao.callerPublicKey == ap)
195202 }
196- else if ($isInstanceOf(Z, "Unit"))
197- then (al.caller == this)
203+ else if ($isInstanceOf(ac, "Unit"))
204+ then (ao.caller == this)
198205 else throw("Match error")
199206 }
200207
201208
202-func an (al) = if (ak(al))
209+func aq (ao) = if (an(ao))
203210 then true
204- else h()
211+ else j()
205212
206213
207-func ao (al) = {
208- let ap = X(getString(x()))
209- if (containsElement(ap, toBase58String(al.callerPublicKey)))
214+func ar (ao) = {
215+ let as = aa(getString(z()))
216+ if (containsElement(as, toBase58String(ao.callerPublicKey)))
210217 then true
211- else an(al)
218+ else aq(ao)
212219 }
213220
214221
215-func aq (ar) = (valueOrElse(getInteger(addressFromStringValue(V(C())), (("status_<" + ar) + ">")), 0) == 2)
222+func at (au) = (valueOrElse(getInteger(addressFromStringValue(Y(E())), (("status_<" + au) + ">")), 0) == 2)
216223
217224
218-func as (at) = {
219- let Z = at.assetId
220- if ($isInstanceOf(Z, "ByteVector"))
225+func av (aw) = {
226+ let ac = aw.assetId
227+ if ($isInstanceOf(ac, "ByteVector"))
221228 then {
222- let au = Z
223- let av = value(assetInfo(au))
224- $Tuple2(toBase58String(au), av)
229+ let ax = ac
230+ let ay = value(assetInfo(ax))
231+ $Tuple2(toBase58String(ax), ay)
225232 }
226- else if ($isInstanceOf(Z, "Unit"))
233+ else if ($isInstanceOf(ac, "Unit"))
227234 then $Tuple2(c, unit)
228235 else throw("Match error")
229236 }
230237
231238
232-func aw (ax) = containsElement(K, ax)
239+func az (aA) = containsElement(M, aA)
233240
234241
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)]
240- else throw("Strict value is not equal to itself.")
241- }
242-
243-
244-
245-@Callable(al)
246-func create () = {
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)
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)
251250 let aK = aJ._1
252251 let aL = aJ._2
253- let aM = as(aH)
252+ let aM = av(aF)
254253 let aN = aM._1
255254 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))
255+ let aP = aa(getString(ae, X()))
256+ let aQ = if ((aH != aK))
261257 then true
262- else u()
263- if ((aS == aS))
258+ else w()
259+ if ((aQ == aQ))
264260 then {
265- let aT = if (if (ak(al))
261+ let aR = if (if (an(ao))
266262 then true
267- else if (containsElement(aR, aN))
268- then aq(aK)
263+ else if (containsElement(aP, aK))
264+ then at(aH)
269265 else false)
270- then $Tuple4(aK, aG.amount, aN, aH.amount)
271- else if (if (containsElement(aR, aK))
272- then aq(aN)
266+ then $Tuple4(aH, aD.amount, aK, aE.amount)
267+ else if (if (containsElement(aP, aH))
268+ then at(aK)
273269 else false)
274- then $Tuple4(aN, aH.amount, aK, aG.amount)
275- else u()
276- let z = aT._1
277- let aU = aT._2
278- let A = aT._3
279- let aV = aT._4
280- let aW = 1
281- let aX = if (ak(al))
282- then aW
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
283279 else {
284- let aY = valueOrErrorMessage(indexOf(aR, A), d)
285- value(parseInt(X(getString(T()))[aY]))
280+ let aW = valueOrErrorMessage(indexOf(aP, C), f)
281+ value(parseInt(aa(getString(W()))[aW]))
286282 }
287- let aZ = valueOrElse(getInteger(F()), 0)
288- let ba = (aZ + 1)
289- let bb = addressFromStringValue(V(D()))
290- let bc = {
291- let bd = invoke(ab, "poolExistsREADONLY", [z, A], nil)
292- if ($isInstanceOf(bd, "Boolean"))
293- then bd
294- else throw(($getType(bd) + " couldn't be cast to Boolean"))
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"))
295291 }
296- let be = [if (!(ag(z, A)))
292+ let bc = [if (!(aj(B, C)))
297293 then true
298- else k(), if (!(bc))
294+ else m(), if (!(ba))
299295 then true
300- else k(), if (if (ak(al))
296+ else m(), if (if (an(ao))
301297 then true
302- else (getString(Q()) == aD))
298+ else (getString(T()) == aN))
303299 then true
304- else n(), if (if (ak(al))
300+ else p(), if (if (an(ao))
305301 then true
306- else (aU >= getIntegerValue(S())))
302+ else (aS >= getIntegerValue(V())))
307303 then true
308- else o(), if (if (ak(al))
304+ else q(), if (if (an(ao))
309305 then true
310- else (aV >= aX))
306+ else (aT >= aV))
311307 then true
312- else s(), if (if (ak(al))
308+ else u(), if (if (an(ao))
313309 then true
314- else (aI.amount == getInteger(R())))
310+ else (aF.amount == getInteger(U())))
315311 then true
316- else t()]
317- if ((be == be))
312+ else v()]
313+ if ((bc == bc))
318314 then {
319- let bf = 3
320- let bg = if ((size(al.payments) >= bf))
321- then invoke(bb, "burn", nil, [AttachedPayment(fromBase58String(aD), aI.amount)])
315+ let bd = 3
316+ let be = if ((size(ao.payments) >= bd))
317+ then invoke(aZ, "burn", nil, [AttachedPayment(fromBase58String(aN), aF.amount)])
322318 else unit
323- if ((bg == bg))
324- 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)]
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)]
325321 else throw("Strict value is not equal to itself.")
326322 }
327323 else throw("Strict value is not equal to itself.")
330326 }
331327
332328
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)]
334+ else throw("Strict value is not equal to itself.")
335+ }
333336
334-@Callable(al)
335-func activate (bh,z,bi,A,bj,bk) = {
336- let be = [ao(al), if (ag(z, A))
337+
338+
339+@Callable(ao)
340+func create () = aB(ao, d)
341+
342+
343+
344+@Callable(ao)
345+func createStable () = aB(ao, e)
346+
347+
348+
349+@Callable(ao)
350+func activate (bm,B,bn,C,bo,bp) = {
351+ let bc = [ar(ao), if (aj(B, C))
337352 then true
338- else i(), if ((value(getString(y(z, A))) == H))
353+ else k(), if ((value(getString(A(B, C))) == J))
339354 then true
340- else q()]
341- if ((be == be))
355+ else s()]
356+ if ((bc == bc))
342357 then {
343- let bl = invoke(ab, "activateNewPool", [bh, z, A, ((bi + bj) + "LP"), (((bi + "/") + bj) + " pool liquidity provider token"), 0, "VLTPOOL", bk], nil)
344- if ((bl == bl))
358+ let bq = getString(this, S(B, C))
359+ let br = invoke(ae, "activateNewPool", [bm, B, C, ((bn + bo) + "LP"), (((bn + "/") + bo) + " pool liquidity provider token"), 0, if ((bq == unit))
360+ then "VLTPOOL"
361+ else value(bq), bp], nil)
362+ if ((br == br))
345363 then {
346- let bm = {
347- let Z = bl
348- if ($isInstanceOf(Z, "String"))
364+ let bs = {
365+ let ac = br
366+ if ($isInstanceOf(ac, "String"))
349367 then {
350- let au = Z
351- au
368+ let ax = ac
369+ ax
352370 }
353- else r()
371+ else t()
354372 }
355- if ((bm == bm))
373+ if ((bs == bs))
356374 then {
357- let bn = assetBalance(this, fromBase58String(bm))
358- if ((bn == bn))
375+ let bt = assetBalance(this, fromBase58String(bs))
376+ if ((bt == bt))
359377 then {
360- let bo = invoke(addressFromStringValue(bh), "put", [0, false], [AttachedPayment(if ((z == "WAVES"))
378+ let bu = invoke(addressFromStringValue(bm), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
361379 then unit
362- else fromBase58String(z), value(getInteger(N(z, A)))), AttachedPayment(if ((A == "WAVES"))
380+ else fromBase58String(B), value(getInteger(P(B, C)))), AttachedPayment(if ((C == "WAVES"))
363381 then unit
364- else fromBase58String(A), value(getInteger(O(z, A))))])
365- if ((bo == bo))
382+ else fromBase58String(C), value(getInteger(Q(B, C))))])
383+ if ((bu == bu))
366384 then {
367- let bp = assetBalance(this, fromBase58String(bm))
368- if ((bp == bp))
385+ let bv = assetBalance(this, fromBase58String(bs))
386+ if ((bv == bv))
369387 then {
370- let bq = value(addressFromString(value(getString(M(z, A)))))
371- let br = invoke(af, "approve", [z, A], nil)
372- if ((br == br))
373- then [StringEntry(y(z, A), J), ScriptTransfer(bq, (bp - bn), fromBase58String(bm))]
388+ let bw = value(addressFromString(value(getString(O(B, C)))))
389+ let bx = invoke(ai, "approve", [B, C], nil)
390+ if ((bx == bx))
391+ then [StringEntry(A(B, C), L), ScriptTransfer(bw, (bv - bt), fromBase58String(bs))]
374392 else throw("Strict value is not equal to itself.")
375393 }
376394 else throw("Strict value is not equal to itself.")
388406
389407
390408
391-@Callable(al)
392-func setAdmins (bs) = {
393- let aF = an(al)
394- if ((aF == aF))
395- then [StringEntry(x(), makeString(bs, b))]
409+@Callable(ao)
410+func setAdmins (by) = {
411+ let bl = aq(ao)
412+ if ((bl == bl))
413+ then [StringEntry(z(), makeString(by, b))]
396414 else throw("Strict value is not equal to itself.")
397415 }
398416
399417
400418
401-@Callable(al)
402-func setManager (bt) = {
403- let aF = an(al)
404- if ((aF == aF))
419+@Callable(ao)
420+func setManager (bz) = {
421+ let bl = aq(ao)
422+ if ((bl == bl))
405423 then {
406- let bu = fromBase58String(bt)
407- if ((bu == bu))
408- then [StringEntry(w(), bt)]
424+ let bA = fromBase58String(bz)
425+ if ((bA == bA))
426+ then [StringEntry(y(), bz)]
409427 else throw("Strict value is not equal to itself.")
410428 }
411429 else throw("Strict value is not equal to itself.")
413431
414432
415433
416-@Callable(al)
434+@Callable(ao)
417435 func confirmManager () = {
418- let bv = aj()
419- let bw = if (isDefined(bv))
436+ let bB = am()
437+ let bC = if (isDefined(bB))
420438 then true
421439 else throw("No pending manager")
422- if ((bw == bw))
440+ if ((bC == bC))
423441 then {
424- let bx = if ((al.callerPublicKey == value(bv)))
442+ let bD = if ((ao.callerPublicKey == value(bB)))
425443 then true
426444 else throw("You are not pending manager")
427- if ((bx == bx))
428- then [StringEntry(v(), toBase58String(value(bv))), DeleteEntry(w())]
445+ if ((bD == bD))
446+ then [StringEntry(x(), toBase58String(value(bB))), DeleteEntry(y())]
429447 else throw("Strict value is not equal to itself.")
430448 }
431449 else throw("Strict value is not equal to itself.")
433451
434452
435453
436-@Callable(al)
437-func priceAssetsREADONLY () = $Tuple2(nil, X(getString(U())))
454+@Callable(ao)
455+func priceAssetsREADONLY () = $Tuple2(nil, aa(getString(X())))
438456
439457
440458
441-@Callable(al)
442-func statusREADONLY (z,A) = {
443- let ax = {
444- let Z = getString(y(z, A))
445- if ($isInstanceOf(Z, "String"))
459+@Callable(ao)
460+func statusREADONLY (B,C) = {
461+ let aA = {
462+ let ac = getString(A(B, C))
463+ if ($isInstanceOf(ac, "String"))
446464 then {
447- let aa = Z
448- aa
465+ let ad = ac
466+ ad
449467 }
450468 else unit
451469 }
452- $Tuple2(nil, ax)
470+ $Tuple2(nil, aA)
453471 }
454472
455473
456-@Verifier(by)
457-func bz () = {
458- let bA = {
459- let Z = ai()
460- if ($isInstanceOf(Z, "ByteVector"))
474+@Verifier(bE)
475+func bF () = {
476+ let bG = {
477+ let ac = al()
478+ if ($isInstanceOf(ac, "ByteVector"))
461479 then {
462- let am = Z
463- am
480+ let ap = ac
481+ ap
464482 }
465- else if ($isInstanceOf(Z, "Unit"))
466- then by.senderPublicKey
483+ else if ($isInstanceOf(ac, "Unit"))
484+ then bE.senderPublicKey
467485 else throw("Match error")
468486 }
469- sigVerify(by.bodyBytes, by.proofs[0], bA)
487+ sigVerify(bE.bodyBytes, bE.proofs[0], bG)
470488 }
471489
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
10-let d = "Invalid price asset"
10+let d = "VLTPOOL"
1111
12-func e (f) = makeString([a, ": ", f], "")
12+let e = "STBLPOOL"
13+
14+let f = "Invalid price asset"
15+
16+func g (h) = makeString([a, ": ", h], "")
1317
1418
15-func g (f) = throw(e(f))
19+func i (h) = throw(g(h))
1620
1721
18-func h () = g("Permission denied")
22+func j () = i("Permission denied")
1923
2024
21-func i () = g("Create is not called for assets pair")
25+func k () = i("Create is not called for assets pair")
2226
2327
24-func j () = g("You are not amountAsset issuer")
28+func l () = i("You are not amountAsset issuer")
2529
2630
27-func k () = g("Pool with such assets already exists")
31+func m () = i("Pool with such assets already exists")
2832
2933
30-func l () = g("Asset is not verified")
34+func n () = i("Asset is not verified")
3135
3236
33-func m () = g(d)
37+func o () = i(f)
3438
3539
36-func n () = g("Invalid fee asset")
40+func p () = i("Invalid fee asset")
3741
3842
39-func o () = g("Invalid amount asset attached")
43+func q () = i("Invalid amount asset attached")
4044
4145
42-func p () = g("Invalid status")
46+func r () = i("Invalid status")
4347
4448
45-func q () = g("Can activate pool only in 'pending' status")
49+func s () = i("Can activate pool only in 'pending' status")
4650
4751
48-func r () = g("FactoryV2 returned not string")
52+func t () = i("FactoryV2 returned not string")
4953
5054
51-func s () = g("invalid price asset amount")
55+func u () = i("invalid price asset amount")
5256
5357
54-func t () = g("invalid fee")
58+func v () = i("invalid fee")
5559
5660
57-func u () = g("invalid asset pair")
61+func w () = i("invalid asset pair")
5862
5963
60-func v () = makeString(["%s", "managerPublicKey"], b)
64+func x () = makeString(["%s", "managerPublicKey"], b)
6165
6266
63-func w () = makeString(["%s", "pendingManagerPublicKey"], b)
67+func y () = makeString(["%s", "pendingManagerPublicKey"], b)
6468
6569
66-func x () = makeString(["%s", "adminPubKeys"], b)
70+func z () = makeString(["%s", "adminPubKeys"], b)
6771
6872
69-func y (z,A) = makeString(["%s%s%s", "status", z, A], b)
73+func A (B,C) = makeString(["%s%s%s", "status", B, C], b)
7074
7175
72-func B () = makeString(["%s", "factoryContract"], b)
76+func D () = makeString(["%s", "factoryContract"], b)
7377
7478
75-func C () = makeString(["%s", "assetsStoreContract"], b)
79+func E () = makeString(["%s", "assetsStoreContract"], b)
7680
7781
78-func D () = makeString(["%s", "emissionContract"], b)
82+func F () = makeString(["%s", "emissionContract"], b)
7983
8084
81-func E (z,A) = makeString(["%s%s%s", "suffix", z, A], b)
85+func G (B,C) = makeString(["%s%s%s", "suffix", B, C], b)
8286
8387
84-func F () = makeString(["%s", "lastIndex"], b)
88+func H () = makeString(["%s", "lastIndex"], b)
8589
8690
87-let G = "u"
91+let I = "u"
8892
89-let H = "pending"
93+let J = "pending"
9094
91-let I = "declined"
95+let K = "declined"
9296
93-let J = "active"
97+let L = "active"
9498
95-let K = [H, I, J]
99+let M = [J, K, L]
96100
97-func L (z,A) = makeString(["%s%s%s", "createCalled", z, A], b)
101+func N (B,C) = makeString(["%s%s%s", "createCalled", B, C], b)
98102
99103
100-func M (z,A) = makeString(["%s%s%s", "createCaller", z, A], b)
104+func O (B,C) = makeString(["%s%s%s", "createCaller", B, C], b)
101105
102106
103-func N (z,A) = makeString(["%s%s%s", "amountAssetAmount", z, A], b)
107+func P (B,C) = makeString(["%s%s%s", "amountAssetAmount", B, C], b)
104108
105109
106-func O (z,A) = makeString(["%s%s%s", "priceAssetAmount", z, A], b)
110+func Q (B,C) = makeString(["%s%s%s", "priceAssetAmount", B, C], b)
107111
108112
109-func P (z,A) = makeString(["%s%s%s", "height", z, A], b)
113+func R (B,C) = makeString(["%s%s%s", "height", B, C], b)
110114
111115
112-func Q () = makeString(["%s", "feeAssetId"], b)
116+func S (B,C) = makeString(["%s%s%s", "poolType", B, C], b)
113117
114118
115-func R () = makeString(["%s", "feeAmount"], b)
119+func T () = makeString(["%s", "feeAssetId"], b)
116120
117121
118-func S () = makeString(["%s", "amountAssetMinAmount"], b)
122+func U () = makeString(["%s", "feeAmount"], b)
119123
120124
121-func T () = makeString(["%s", "priceAssetsMinAmount"], b)
125+func V () = makeString(["%s", "amountAssetMinAmount"], b)
122126
123127
124-func U () = makeString(["%s", "priceAssets"], b)
128+func W () = makeString(["%s", "priceAssetsMinAmount"], b)
125129
126130
127-func V (W) = valueOrErrorMessage(getString(this, W), (W + " is not defined"))
131+func X () = makeString(["%s", "priceAssets"], b)
128132
129133
130-func X (Y) = {
131- let Z = Y
132- if ($isInstanceOf(Z, "String"))
134+func Y (Z) = valueOrErrorMessage(getString(this, Z), (Z + " is not defined"))
135+
136+
137+func aa (ab) = {
138+ let ac = ab
139+ if ($isInstanceOf(ac, "String"))
133140 then {
134- let aa = Z
135- if ((size(aa) == 0))
141+ let ad = ac
142+ if ((size(ad) == 0))
136143 then nil
137- else split(aa, b)
144+ else split(ad, b)
138145 }
139- else if ($isInstanceOf(Z, "Unit"))
146+ else if ($isInstanceOf(ac, "Unit"))
140147 then nil
141148 else throw("Match error")
142149 }
143150
144151
145-let ab = addressFromStringValue(V(B()))
152+let ae = addressFromStringValue(Y(D()))
146153
147-let ac = makeString(["%s", "votingEmissionContract"], b)
154+let af = makeString(["%s", "votingEmissionContract"], b)
148155
149-let ad = addressFromStringValue(valueOrErrorMessage(getString(ab, ac), e("voting emission contract address is required")))
156+let ag = addressFromStringValue(valueOrErrorMessage(getString(ae, af), g("voting emission contract address is required")))
150157
151-let ae = makeString(["%s", "votingEmissionCandidateContract"], b)
158+let ah = makeString(["%s", "votingEmissionCandidateContract"], b)
152159
153-let af = addressFromStringValue(valueOrErrorMessage(getString(ad, ae), e("voting emission candidate contract address is required")))
160+let ai = addressFromStringValue(valueOrErrorMessage(getString(ag, ah), g("voting emission candidate contract address is required")))
154161
155-func ag (z,A) = valueOrElse(getBoolean(L(z, A)), false)
162+func aj (B,C) = valueOrElse(getBoolean(N(B, C)), false)
156163
157164
158-func ah (z,A) = if (ag(z, A))
165+func ak (B,C) = if (aj(B, C))
159166 then true
160- else i()
167+ else k()
161168
162169
163-func ai () = {
164- let Z = getString(v())
165- if ($isInstanceOf(Z, "String"))
170+func al () = {
171+ let ac = getString(x())
172+ if ($isInstanceOf(ac, "String"))
166173 then {
167- let aa = Z
168- fromBase58String(aa)
174+ let ad = ac
175+ fromBase58String(ad)
169176 }
170- else if ($isInstanceOf(Z, "Unit"))
177+ else if ($isInstanceOf(ac, "Unit"))
171178 then unit
172179 else throw("Match error")
173180 }
174181
175182
176-func aj () = {
177- let Z = getString(w())
178- if ($isInstanceOf(Z, "String"))
183+func am () = {
184+ let ac = getString(y())
185+ if ($isInstanceOf(ac, "String"))
179186 then {
180- let aa = Z
181- fromBase58String(aa)
187+ let ad = ac
188+ fromBase58String(ad)
182189 }
183- else if ($isInstanceOf(Z, "Unit"))
190+ else if ($isInstanceOf(ac, "Unit"))
184191 then unit
185192 else throw("Match error")
186193 }
187194
188195
189-func ak (al) = {
190- let Z = ai()
191- if ($isInstanceOf(Z, "ByteVector"))
196+func an (ao) = {
197+ let ac = al()
198+ if ($isInstanceOf(ac, "ByteVector"))
192199 then {
193- let am = Z
194- (al.callerPublicKey == am)
200+ let ap = ac
201+ (ao.callerPublicKey == ap)
195202 }
196- else if ($isInstanceOf(Z, "Unit"))
197- then (al.caller == this)
203+ else if ($isInstanceOf(ac, "Unit"))
204+ then (ao.caller == this)
198205 else throw("Match error")
199206 }
200207
201208
202-func an (al) = if (ak(al))
209+func aq (ao) = if (an(ao))
203210 then true
204- else h()
211+ else j()
205212
206213
207-func ao (al) = {
208- let ap = X(getString(x()))
209- if (containsElement(ap, toBase58String(al.callerPublicKey)))
214+func ar (ao) = {
215+ let as = aa(getString(z()))
216+ if (containsElement(as, toBase58String(ao.callerPublicKey)))
210217 then true
211- else an(al)
218+ else aq(ao)
212219 }
213220
214221
215-func aq (ar) = (valueOrElse(getInteger(addressFromStringValue(V(C())), (("status_<" + ar) + ">")), 0) == 2)
222+func at (au) = (valueOrElse(getInteger(addressFromStringValue(Y(E())), (("status_<" + au) + ">")), 0) == 2)
216223
217224
218-func as (at) = {
219- let Z = at.assetId
220- if ($isInstanceOf(Z, "ByteVector"))
225+func av (aw) = {
226+ let ac = aw.assetId
227+ if ($isInstanceOf(ac, "ByteVector"))
221228 then {
222- let au = Z
223- let av = value(assetInfo(au))
224- $Tuple2(toBase58String(au), av)
229+ let ax = ac
230+ let ay = value(assetInfo(ax))
231+ $Tuple2(toBase58String(ax), ay)
225232 }
226- else if ($isInstanceOf(Z, "Unit"))
233+ else if ($isInstanceOf(ac, "Unit"))
227234 then $Tuple2(c, unit)
228235 else throw("Match error")
229236 }
230237
231238
232-func aw (ax) = containsElement(K, ax)
239+func az (aA) = containsElement(M, aA)
233240
234241
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)]
240- else throw("Strict value is not equal to itself.")
241- }
242-
243-
244-
245-@Callable(al)
246-func create () = {
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)
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)
251250 let aK = aJ._1
252251 let aL = aJ._2
253- let aM = as(aH)
252+ let aM = av(aF)
254253 let aN = aM._1
255254 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))
255+ let aP = aa(getString(ae, X()))
256+ let aQ = if ((aH != aK))
261257 then true
262- else u()
263- if ((aS == aS))
258+ else w()
259+ if ((aQ == aQ))
264260 then {
265- let aT = if (if (ak(al))
261+ let aR = if (if (an(ao))
266262 then true
267- else if (containsElement(aR, aN))
268- then aq(aK)
263+ else if (containsElement(aP, aK))
264+ then at(aH)
269265 else false)
270- then $Tuple4(aK, aG.amount, aN, aH.amount)
271- else if (if (containsElement(aR, aK))
272- then aq(aN)
266+ then $Tuple4(aH, aD.amount, aK, aE.amount)
267+ else if (if (containsElement(aP, aH))
268+ then at(aK)
273269 else false)
274- then $Tuple4(aN, aH.amount, aK, aG.amount)
275- else u()
276- let z = aT._1
277- let aU = aT._2
278- let A = aT._3
279- let aV = aT._4
280- let aW = 1
281- let aX = if (ak(al))
282- then aW
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
283279 else {
284- let aY = valueOrErrorMessage(indexOf(aR, A), d)
285- value(parseInt(X(getString(T()))[aY]))
280+ let aW = valueOrErrorMessage(indexOf(aP, C), f)
281+ value(parseInt(aa(getString(W()))[aW]))
286282 }
287- let aZ = valueOrElse(getInteger(F()), 0)
288- let ba = (aZ + 1)
289- let bb = addressFromStringValue(V(D()))
290- let bc = {
291- let bd = invoke(ab, "poolExistsREADONLY", [z, A], nil)
292- if ($isInstanceOf(bd, "Boolean"))
293- then bd
294- else throw(($getType(bd) + " couldn't be cast to Boolean"))
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"))
295291 }
296- let be = [if (!(ag(z, A)))
292+ let bc = [if (!(aj(B, C)))
297293 then true
298- else k(), if (!(bc))
294+ else m(), if (!(ba))
299295 then true
300- else k(), if (if (ak(al))
296+ else m(), if (if (an(ao))
301297 then true
302- else (getString(Q()) == aD))
298+ else (getString(T()) == aN))
303299 then true
304- else n(), if (if (ak(al))
300+ else p(), if (if (an(ao))
305301 then true
306- else (aU >= getIntegerValue(S())))
302+ else (aS >= getIntegerValue(V())))
307303 then true
308- else o(), if (if (ak(al))
304+ else q(), if (if (an(ao))
309305 then true
310- else (aV >= aX))
306+ else (aT >= aV))
311307 then true
312- else s(), if (if (ak(al))
308+ else u(), if (if (an(ao))
313309 then true
314- else (aI.amount == getInteger(R())))
310+ else (aF.amount == getInteger(U())))
315311 then true
316- else t()]
317- if ((be == be))
312+ else v()]
313+ if ((bc == bc))
318314 then {
319- let bf = 3
320- let bg = if ((size(al.payments) >= bf))
321- then invoke(bb, "burn", nil, [AttachedPayment(fromBase58String(aD), aI.amount)])
315+ let bd = 3
316+ let be = if ((size(ao.payments) >= bd))
317+ then invoke(aZ, "burn", nil, [AttachedPayment(fromBase58String(aN), aF.amount)])
322318 else unit
323- if ((bg == bg))
324- 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)]
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)]
325321 else throw("Strict value is not equal to itself.")
326322 }
327323 else throw("Strict value is not equal to itself.")
328324 }
329325 else throw("Strict value is not equal to itself.")
330326 }
331327
332328
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)]
334+ else throw("Strict value is not equal to itself.")
335+ }
333336
334-@Callable(al)
335-func activate (bh,z,bi,A,bj,bk) = {
336- let be = [ao(al), if (ag(z, A))
337+
338+
339+@Callable(ao)
340+func create () = aB(ao, d)
341+
342+
343+
344+@Callable(ao)
345+func createStable () = aB(ao, e)
346+
347+
348+
349+@Callable(ao)
350+func activate (bm,B,bn,C,bo,bp) = {
351+ let bc = [ar(ao), if (aj(B, C))
337352 then true
338- else i(), if ((value(getString(y(z, A))) == H))
353+ else k(), if ((value(getString(A(B, C))) == J))
339354 then true
340- else q()]
341- if ((be == be))
355+ else s()]
356+ if ((bc == bc))
342357 then {
343- let bl = invoke(ab, "activateNewPool", [bh, z, A, ((bi + bj) + "LP"), (((bi + "/") + bj) + " pool liquidity provider token"), 0, "VLTPOOL", bk], nil)
344- if ((bl == bl))
358+ let bq = getString(this, S(B, C))
359+ let br = invoke(ae, "activateNewPool", [bm, B, C, ((bn + bo) + "LP"), (((bn + "/") + bo) + " pool liquidity provider token"), 0, if ((bq == unit))
360+ then "VLTPOOL"
361+ else value(bq), bp], nil)
362+ if ((br == br))
345363 then {
346- let bm = {
347- let Z = bl
348- if ($isInstanceOf(Z, "String"))
364+ let bs = {
365+ let ac = br
366+ if ($isInstanceOf(ac, "String"))
349367 then {
350- let au = Z
351- au
368+ let ax = ac
369+ ax
352370 }
353- else r()
371+ else t()
354372 }
355- if ((bm == bm))
373+ if ((bs == bs))
356374 then {
357- let bn = assetBalance(this, fromBase58String(bm))
358- if ((bn == bn))
375+ let bt = assetBalance(this, fromBase58String(bs))
376+ if ((bt == bt))
359377 then {
360- let bo = invoke(addressFromStringValue(bh), "put", [0, false], [AttachedPayment(if ((z == "WAVES"))
378+ let bu = invoke(addressFromStringValue(bm), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
361379 then unit
362- else fromBase58String(z), value(getInteger(N(z, A)))), AttachedPayment(if ((A == "WAVES"))
380+ else fromBase58String(B), value(getInteger(P(B, C)))), AttachedPayment(if ((C == "WAVES"))
363381 then unit
364- else fromBase58String(A), value(getInteger(O(z, A))))])
365- if ((bo == bo))
382+ else fromBase58String(C), value(getInteger(Q(B, C))))])
383+ if ((bu == bu))
366384 then {
367- let bp = assetBalance(this, fromBase58String(bm))
368- if ((bp == bp))
385+ let bv = assetBalance(this, fromBase58String(bs))
386+ if ((bv == bv))
369387 then {
370- let bq = value(addressFromString(value(getString(M(z, A)))))
371- let br = invoke(af, "approve", [z, A], nil)
372- if ((br == br))
373- then [StringEntry(y(z, A), J), ScriptTransfer(bq, (bp - bn), fromBase58String(bm))]
388+ let bw = value(addressFromString(value(getString(O(B, C)))))
389+ let bx = invoke(ai, "approve", [B, C], nil)
390+ if ((bx == bx))
391+ then [StringEntry(A(B, C), L), ScriptTransfer(bw, (bv - bt), fromBase58String(bs))]
374392 else throw("Strict value is not equal to itself.")
375393 }
376394 else throw("Strict value is not equal to itself.")
377395 }
378396 else throw("Strict value is not equal to itself.")
379397 }
380398 else throw("Strict value is not equal to itself.")
381399 }
382400 else throw("Strict value is not equal to itself.")
383401 }
384402 else throw("Strict value is not equal to itself.")
385403 }
386404 else throw("Strict value is not equal to itself.")
387405 }
388406
389407
390408
391-@Callable(al)
392-func setAdmins (bs) = {
393- let aF = an(al)
394- if ((aF == aF))
395- then [StringEntry(x(), makeString(bs, b))]
409+@Callable(ao)
410+func setAdmins (by) = {
411+ let bl = aq(ao)
412+ if ((bl == bl))
413+ then [StringEntry(z(), makeString(by, b))]
396414 else throw("Strict value is not equal to itself.")
397415 }
398416
399417
400418
401-@Callable(al)
402-func setManager (bt) = {
403- let aF = an(al)
404- if ((aF == aF))
419+@Callable(ao)
420+func setManager (bz) = {
421+ let bl = aq(ao)
422+ if ((bl == bl))
405423 then {
406- let bu = fromBase58String(bt)
407- if ((bu == bu))
408- then [StringEntry(w(), bt)]
424+ let bA = fromBase58String(bz)
425+ if ((bA == bA))
426+ then [StringEntry(y(), bz)]
409427 else throw("Strict value is not equal to itself.")
410428 }
411429 else throw("Strict value is not equal to itself.")
412430 }
413431
414432
415433
416-@Callable(al)
434+@Callable(ao)
417435 func confirmManager () = {
418- let bv = aj()
419- let bw = if (isDefined(bv))
436+ let bB = am()
437+ let bC = if (isDefined(bB))
420438 then true
421439 else throw("No pending manager")
422- if ((bw == bw))
440+ if ((bC == bC))
423441 then {
424- let bx = if ((al.callerPublicKey == value(bv)))
442+ let bD = if ((ao.callerPublicKey == value(bB)))
425443 then true
426444 else throw("You are not pending manager")
427- if ((bx == bx))
428- then [StringEntry(v(), toBase58String(value(bv))), DeleteEntry(w())]
445+ if ((bD == bD))
446+ then [StringEntry(x(), toBase58String(value(bB))), DeleteEntry(y())]
429447 else throw("Strict value is not equal to itself.")
430448 }
431449 else throw("Strict value is not equal to itself.")
432450 }
433451
434452
435453
436-@Callable(al)
437-func priceAssetsREADONLY () = $Tuple2(nil, X(getString(U())))
454+@Callable(ao)
455+func priceAssetsREADONLY () = $Tuple2(nil, aa(getString(X())))
438456
439457
440458
441-@Callable(al)
442-func statusREADONLY (z,A) = {
443- let ax = {
444- let Z = getString(y(z, A))
445- if ($isInstanceOf(Z, "String"))
459+@Callable(ao)
460+func statusREADONLY (B,C) = {
461+ let aA = {
462+ let ac = getString(A(B, C))
463+ if ($isInstanceOf(ac, "String"))
446464 then {
447- let aa = Z
448- aa
465+ let ad = ac
466+ ad
449467 }
450468 else unit
451469 }
452- $Tuple2(nil, ax)
470+ $Tuple2(nil, aA)
453471 }
454472
455473
456-@Verifier(by)
457-func bz () = {
458- let bA = {
459- let Z = ai()
460- if ($isInstanceOf(Z, "ByteVector"))
474+@Verifier(bE)
475+func bF () = {
476+ let bG = {
477+ let ac = al()
478+ if ($isInstanceOf(ac, "ByteVector"))
461479 then {
462- let am = Z
463- am
480+ let ap = ac
481+ ap
464482 }
465- else if ($isInstanceOf(Z, "Unit"))
466- then by.senderPublicKey
483+ else if ($isInstanceOf(ac, "Unit"))
484+ then bE.senderPublicKey
467485 else throw("Match error")
468486 }
469- sigVerify(by.bodyBytes, by.proofs[0], bA)
487+ sigVerify(bE.bodyBytes, bE.proofs[0], bG)
470488 }
471489

github/deemru/w8io/873ac7e 
189.38 ms