tx · C1WDv6ANK9MfpBf6GG3xXmP7H2tEPibczdoYiuDT8Am2

3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh:  -0.01400000 Waves

2023.10.16 12:15 [2800981] smart account 3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh > SELF 0.00000000 Waves

{ "type": 13, "id": "C1WDv6ANK9MfpBf6GG3xXmP7H2tEPibczdoYiuDT8Am2", "fee": 1400000, "feeAssetId": null, "timestamp": 1697447732021, "version": 2, "chainId": 84, "sender": "3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh", "senderPublicKey": "Ap7CkWd6fzBU34kGo4GJJzC5q4qWXuLVunzE25PchdGS", "proofs": [ "4qJAuzWEU7mCVVGfjV9aqmV8kvEDhUtfE5kyFiPCW9YjjifoFfxUuUoH3JyDXdbCN77BGze1c26MF7QuyDc8fAGe" ], "script": "base64:BgL9DwgCEgcKBQgICAgBEgASABIICgYICAgICAgSAwoBGBIAEgQKAggIEgQKAggIEgQKAggIIhBjb250cmFjdEZpbGVuYW1lIgNTRVAiDHdhdmVzQXNzZXRJZCIHVkxUUE9PTCIIU1RCTFBPT0wiEWludmFsaWRQcmljZUFzc2V0Igd3cmFwRXJyIgNtc2ciCHRocm93RXJyIgd0aHJvd1BEIhR0aHJvd0NyZWF0ZU5vdENhbGxlZCIRdGhyb3dZb3VOb3RJc3N1ZXIiD3Rocm93UG9vbEV4aXN0cyIVdGhyb3dBc3NldE5vdFZlcmlmaWVkIhZ0aHJvd0ludmFsaWRQcmljZUFzc2V0IhR0aHJvd0ludmFsaWRGZWVBc3NldCIXdGhyb3dJbnZhbGlkQW1vdW50QXNzZXQiEnRocm93SW52YWxpZFN0YXR1cyIfdGhyb3dDYW5BY3RpdmF0ZU9ubHlQZW5kaW5nUG9vbCIddGhyb3dGYWN0b3J5UmV0dXJuZWROb3RTdHJpbmciHHRocm93SW52YWxpZFByaWNlQXNzZXRBbW91bnQiD3Rocm93SW52YWxpZEZlZSIVdGhyb3dJbnZhbGlkQXNzZXRQYWlyIhNrZXlNYW5hZ2VyUHVibGljS2V5IhZrZXlNYW5hZ2VyVmF1bHRBZGRyZXNzIg9rZXlBZG1pblB1YktleXMiCWtleVN0YXR1cyINYW1vdW50QXNzZXRJZCIMcHJpY2VBc3NldElkIhJrZXlGYWN0b3J5Q29udHJhY3QiFmtleUFzc2V0c1N0b3JlQ29udHJhY3QiE2tleUVtaXNzaW9uQ29udHJhY3QiCWtleVN1ZmZpeCIMa2V5TGFzdEluZGV4IgtpbmRleFN1ZmZpeCINc3RhdHVzUGVuZGluZyIOc3RhdHVzRGVjbGluZWQiDHN0YXR1c0FjdGl2ZSIIc3RhdHVzZXMiD2tleUNyZWF0ZUNhbGxlZCIPa2V5Q3JlYXRlQ2FsbGVyIhRrZXlBbW91bnRBc3NldEFtb3VudCITa2V5UHJpY2VBc3NldEFtb3VudCIJa2V5SGVpZ2h0IgtrZXlQb29sVHlwZSINa2V5RmVlQXNzZXRJZCIMa2V5RmVlQW1vdW50IhxrZXlQb29sQXNzZXREZWZhdWx0TWluQW1vdW50IhZrZXlQb29sQXNzZXRzTWluQW1vdW50Igdhc3NldElkIg5rZXlQcmljZUFzc2V0cyIcZ2V0TWFuYWdlclZhdWx0QWRkcmVzc09yVGhpcyIHJG1hdGNoMCIBcyIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiEnN0cmluZ09wdGlvblRvTGlzdCIMc3RyaW5nT3JVbml0Ig9mYWN0b3J5Q29udHJhY3QiGWtleVZvdGluZ0VtaXNzaW9uQ29udHJhY3QiFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QiImtleVZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiDmlzQ3JlYXRlQ2FsbGVkIhBtdXN0Q3JlYXRlQ2FsbGVkIhZtYW5hZ2VyUHVibGljS2V5T3JVbml0IhNtYW5hZ2VyVmF1bHRBZGRyZXNzIglpc01hbmFnZXIiAWkiAnBrIgttdXN0TWFuYWdlciIJbXVzdEFkbWluIghhZG1pblBLcyIKaXNWZXJpZmllZCIMZ2V0SWRBbmRJbmZvIgdwYXltZW50IgJpZCIEaW5mbyILdmFsaWRTdGF0dXMiBnN0YXR1cyIHX2NyZWF0ZSIIcG9vbFR5cGUiEmFtb3VudEFzc2V0UGF5bWVudCIRcHJpY2VBc3NldFBheW1lbnQiD2ZlZUFzc2V0UGF5bWVudCILJHQwNjUxOTY1OTEiD2Ftb3VudEFzc2V0SW5mbyILJHQwNjU5NDY2NjMiDnByaWNlQXNzZXRJbmZvIgskdDA2NjY2NjcyOSIKZmVlQXNzZXRJZCIMZmVlQXNzZXRJbmZvIhFhbW91bnRBc3NldEFtb3VudCIQcHJpY2VBc3NldEFtb3VudCIOZmVlQXNzZXRBbW91bnQiD3ByaWNlQXNzZXRzTGlzdCIVYXNzZXRNaW5BbW91bnREZWZhdWx0IhRhbW91bnRBc3NldE1pbkFtb3VudCITcHJpY2VBc3NldE1pbkFtb3VudCIJbGFzdEluZGV4IghjdXJJbmRleCIQZW1pc3Npb25Db250cmFjdCIKcG9vbEV4aXN0cyIBQCIGY2hlY2tzIhNwYXltZW50c1dpdGhGZWVTaXplIg9idXJuRW1pc3Npb25JbnYiEGZhY3RvcnlWMkFkZHJlc3MiEmFzc2V0c1N0b3JlQWRkcmVzcyIPZW1pc3Npb25BZGRyZXNzIglmZWVBbW91bnQiC2NoZWNrQ2FsbGVyIgtwb29sQWRkcmVzcyIRYW1vdW50QXNzZXRUaWNrZXIiEHByaWNlQXNzZXRUaWNrZXIiBGxvZ28iDnBvb2xUeXBlT3B0aW9uIhJhY3RpdmF0ZU5ld1Bvb2xJbnYiCWxwQXNzZXRJZCIJYmVmb3JlUHV0IgNwdXQiCGFmdGVyUHV0IgR1c2VyIgNyZXMiDGFkbWluUHViS2V5cyIHY3JlYXRvciICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5QQABYQIPdXNlcl9wb29scy5yaWRlAAFiAgJfXwABYwIFV0FWRVMAAWQCB1ZMVFBPT0wAAWUCCFNUQkxQT09MAAFmAhNJbnZhbGlkIHByaWNlIGFzc2V0AQFnAQFoCQC5CQIJAMwIAgUBYQkAzAgCAgI6IAkAzAgCBQFoBQNuaWwCAAEBaQEBaAkAAgEJAQFnAQUBaAEBagAJAQFpAQIRUGVybWlzc2lvbiBkZW5pZWQBAWsACQEBaQECJENyZWF0ZSBpcyBub3QgY2FsbGVkIGZvciBhc3NldHMgcGFpcgEBbAAJAQFpAQIeWW91IGFyZSBub3QgYW1vdW50QXNzZXQgaXNzdWVyAQFtAAkBAWkBAiRQb29sIHdpdGggc3VjaCBhc3NldHMgYWxyZWFkeSBleGlzdHMBAW4ACQEBaQECFUFzc2V0IGlzIG5vdCB2ZXJpZmllZAEBbwAJAQFpAQUBZgEBcAAJAQFpAQIRSW52YWxpZCBmZWUgYXNzZXQBAXEACQEBaQECHUludmFsaWQgYW1vdW50IGFzc2V0IGF0dGFjaGVkAQFyAAkBAWkBAg5JbnZhbGlkIHN0YXR1cwEBcwAJAQFpAQIqQ2FuIGFjdGl2YXRlIHBvb2wgb25seSBpbiAncGVuZGluZycgc3RhdHVzAQF0AAkBAWkBAh1GYWN0b3J5VjIgcmV0dXJuZWQgbm90IHN0cmluZwEBdQAJAQFpAQIaaW52YWxpZCBwcmljZSBhc3NldCBhbW91bnQBAXYACQEBaQECC2ludmFsaWQgZmVlAQF3AAkBAWkBAhJpbnZhbGlkIGFzc2V0IHBhaXIBAXgACQC5CQIJAMwIAgICJXMJAMwIAgIQbWFuYWdlclB1YmxpY0tleQUDbmlsBQFiAQF5AAIXJXNfX21hbmFnZXJWYXVsdEFkZHJlc3MBAXoACQC5CQIJAMwIAgICJXMJAMwIAgIMYWRtaW5QdWJLZXlzBQNuaWwFAWIBAUECAUIBQwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgZzdGF0dXMJAMwIAgUBQgkAzAgCBQFDBQNuaWwFAWIBAUQACQC5CQIJAMwIAgICJXMJAMwIAgIPZmFjdG9yeUNvbnRyYWN0BQNuaWwFAWIBAUUACQC5CQIJAMwIAgICJXMJAMwIAgITYXNzZXRzU3RvcmVDb250cmFjdAUDbmlsBQFiAQFGAAkAuQkCCQDMCAICAiVzCQDMCAICEGVtaXNzaW9uQ29udHJhY3QFA25pbAUBYgEBRwIBQgFDCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICBnN1ZmZpeAkAzAgCBQFCCQDMCAIFAUMFA25pbAUBYgEBSAAJALkJAgkAzAgCAgIlcwkAzAgCAglsYXN0SW5kZXgFA25pbAUBYgABSQIBdQABSgIHcGVuZGluZwABSwIIZGVjbGluZWQAAUwCBmFjdGl2ZQABTQkAzAgCBQFKCQDMCAIFAUsJAMwIAgUBTAUDbmlsAQFOAgFCAUMJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIMY3JlYXRlQ2FsbGVkCQDMCAIFAUIJAMwIAgUBQwUDbmlsBQFiAQFPAgFCAUMJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIMY3JlYXRlQ2FsbGVyCQDMCAIFAUIJAMwIAgUBQwUDbmlsBQFiAQFQAgFCAUMJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIRYW1vdW50QXNzZXRBbW91bnQJAMwIAgUBQgkAzAgCBQFDBQNuaWwFAWIBAVECAUIBQwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhBwcmljZUFzc2V0QW1vdW50CQDMCAIFAUIJAMwIAgUBQwUDbmlsBQFiAQFSAgFCAUMJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIGaGVpZ2h0CQDMCAIFAUIJAMwIAgUBQwUDbmlsBQFiAQFTAgFCAUMJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIIcG9vbFR5cGUJAMwIAgUBQgkAzAgCBQFDBQNuaWwFAWIBAVQACQC5CQIJAMwIAgICJXMJAMwIAgIKZmVlQXNzZXRJZAUDbmlsBQFiAQFVAAkAuQkCCQDMCAICAiVzCQDMCAICCWZlZUFtb3VudAUDbmlsBQFiAQFWAAkAuQkCCQDMCAICAiVzCQDMCAICGXBvb2xBc3NldERlZmF1bHRNaW5BbW91bnQFA25pbAUBYgEBVwEBWAkAuQkCCQDMCAICBCVzJXMJAMwIAgIScG9vbEFzc2V0TWluQW1vdW50CQDMCAIFAVgFA25pbAUBYgEBWQAJALkJAgkAzAgCAgIlcwkAzAgCAgtwcmljZUFzc2V0cwUDbmlsBQFiAQFaAAQCYWEJAKIIAQkBAXkAAwkAAQIFAmFhAgZTdHJpbmcEAmFiBQJhYQkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYWIFBHRoaXMBAmFjAQJhZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMFAmFkCQCsAgIFAmFkAg8gaXMgbm90IGRlZmluZWQBAmFlAQJhZgQCYWEFAmFmAwkAAQIFAmFhAgZTdHJpbmcEAmFiBQJhYQMJAAACCQCxAgEFAmFiAAAFA25pbAkAvAkCBQJhYgUBYgMJAAECBQJhYQIEVW5pdAUDbmlsCQACAQILTWF0Y2ggZXJyb3IAAmFnCQERQGV4dHJOYXRpdmUoMTA2MikBCQECYWMBCQEBRAAAAmFoCQC5CQIJAMwIAgICJXMJAMwIAgIWdm90aW5nRW1pc3Npb25Db250cmFjdAUDbmlsBQFiAAJhaQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFAmFnBQJhaAkBAWcBAix2b3RpbmcgZW1pc3Npb24gY29udHJhY3QgYWRkcmVzcyBpcyByZXF1aXJlZAACYWoJALkJAgkAzAgCAgIlcwkAzAgCAh92b3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0BQNuaWwFAWIAAmFrCQERQGV4dHJOYXRpdmUoMTA2MikBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUCYWkFAmFqCQEBZwECNnZvdGluZyBlbWlzc2lvbiBjYW5kaWRhdGUgY29udHJhY3QgYWRkcmVzcyBpcyByZXF1aXJlZAECYWwCAUIBQwkBC3ZhbHVlT3JFbHNlAgkAoAgBCQEBTgIFAUIFAUMHAQJhbQIBQgFDAwkBAmFsAgUBQgUBQwYJAQFrAAECYW4ABAJhbwkBAVoABAJhYQkAnQgCBQJhbwkBAXgAAwkAAQIFAmFhAgZTdHJpbmcEAmFiBQJhYQkA2QQBBQJhYgMJAAECBQJhYQIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJhcAECYXEEAmFhCQECYW4AAwkAAQIFAmFhAgpCeXRlVmVjdG9yBAJhcgUCYWEJAAACCAUCYXEPY2FsbGVyUHVibGljS2V5BQJhcgMJAAECBQJhYQIEVW5pdAkAAAIIBQJhcQZjYWxsZXIFBHRoaXMJAAIBAgtNYXRjaCBlcnJvcgECYXMBAmFxAwkBAmFwAQUCYXEGCQEBagABAmF0AQJhcQQCYXUJAQJhZQEJAKIIAQkBAXoAAwkBD2NvbnRhaW5zRWxlbWVudAIFAmF1CQDYBAEIBQJhcQ9jYWxsZXJQdWJsaWNLZXkGCQECYXMBBQJhcQECYXYBAVgJAAACCQELdmFsdWVPckVsc2UCCQCaCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQJhYwEJAQFFAAkArAICCQCsAgICCHN0YXR1c188BQFYAgE+AAAAAgECYXcBAmF4BAJhYQgFAmF4B2Fzc2V0SWQDCQABAgUCYWECCkJ5dGVWZWN0b3IEAmF5BQJhYQQCYXoJAQV2YWx1ZQEJAOwHAQUCYXkJAJQKAgkA2AQBBQJheQUCYXoDCQABAgUCYWECBFVuaXQJAJQKAgUBYwUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJhQQECYUIJAQ9jb250YWluc0VsZW1lbnQCBQFNBQJhQgECYUMCAmFxAmFEBAJhRQkBBXZhbHVlAQkAkQMCCAUCYXEIcGF5bWVudHMAAAQCYUYJAQV2YWx1ZQEJAJEDAggFAmFxCHBheW1lbnRzAAEEAmFHCQEFdmFsdWUBCQCRAwIIBQJhcQhwYXltZW50cwACBAJhSAkBAmF3AQUCYUUEAUIIBQJhSAJfMQQCYUkIBQJhSAJfMgQCYUoJAQJhdwEFAmFGBAFDCAUCYUoCXzEEAmFLCAUCYUoCXzIEAmFMCQECYXcBBQJhRwQCYU0IBQJhTAJfMQQCYU4IBQJhTAJfMgQCYU8IBQJhRQZhbW91bnQEAmFQCAUCYUYGYW1vdW50BAJhUQgFAmFHBmFtb3VudAQCYVIJAQJhZQEJAJ0IAgUCYWcJAQFZAAQCYVMJARFAZXh0ck5hdGl2ZSgxMDUwKQIFAmFnCQEBVgAEAmFUCQELdmFsdWVPckVsc2UCCQCaCAIFAmFnCQEBVwEFAUIFAmFTBAJhVQkBC3ZhbHVlT3JFbHNlAgkAmggCBQJhZwkBAVcBBQFDBQJhUwQCYVYJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBAUgAAAAEAmFXCQBkAgUCYVYAAQQCYVgJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQJhYwEJAQFGAAQCYVkKAAJhWgkA/AcEBQJhZwIScG9vbEV4aXN0c1JFQURPTkxZCQDMCAIFAUIJAMwIAgUBQwUDbmlsBQNuaWwDCQABAgUCYVoCB0Jvb2xlYW4FAmFaCQACAQkArAICCQADAQUCYVoCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4EAmJhCQDMCAIDCQEBIQEJAQJhbAIFAUIFAUMGCQEBbQAJAMwIAgMJAQEhAQUCYVkGCQEBbQAJAMwIAgMJAQIhPQIFAUIFAUMGCQEBdwAJAMwIAgMDCQECYXABBQJhcQYDCQECYXYBBQFCCQECYXYBBQFDBwYJAQF3AAkAzAgCAwMJAQ9jb250YWluc0VsZW1lbnQCBQJhUgUBQgYJAQ9jb250YWluc0VsZW1lbnQCBQJhUgUBQwYJAQF3AAkAzAgCAwMJAQJhcAEFAmFxBgkAAAIJAKIIAQkBAVQABQJhTQYJAQFwAAkAzAgCAwMJAQJhcAEFAmFxBgkAZwIFAmFPBQJhVAYJAQFxAAkAzAgCAwMJAQJhcAEFAmFxBgkAZwIFAmFQBQJhVQYJAQF1AAkAzAgCAwMJAQJhcAEFAmFxBgkAAAIFAmFRCQCfCAEJAQFVAAYJAQF2AAUDbmlsAwkAAAIFAmJhBQJiYQQCYmIAAwQCYmMDCQBnAgkAkAMBCAUCYXEIcGF5bWVudHMFAmJiCQD8BwQFAmFYAgRidXJuBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQUCYU0FAmFRBQNuaWwFBHVuaXQDCQAAAgUCYmMFAmJjCQDMCAIJAQxCb29sZWFuRW50cnkCCQEBTgIFAUIFAUMGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFPAgUBQgUBQwkApQgBCAUCYXEGY2FsbGVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBSAAFAmFXCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFHAgUBQgUBQwkArAICCQCkAwEFAmFXBQFJCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBUgIFAUIFAUMFBmhlaWdodAkAzAgCCQELU3RyaW5nRW50cnkCCQEBQQIFAUIFAUMFAUoJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFQAgUBQgUBQwUCYU8JAMwIAgkBDEludGVnZXJFbnRyeQIJAQFRAgUBQgUBQwUCYVAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVMCBQFCBQFDBQJhRAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQJhcQELY29uc3RydWN0b3IFAmJkAmJlAmJmAmFNAmJnBAJiaAkBAmFzAQUCYXEDCQAAAgUCYmgFAmJoCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFEAAUCYmQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUUABQJiZQkAzAgCCQELU3RyaW5nRW50cnkCCQEBRgAFAmJmCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFUAAUCYU0JAMwIAgkBDEludGVnZXJFbnRyeQIJAQFVAAUCYmcFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhcQEGY3JlYXRlAAkBAmFDAgUCYXEFAWQCYXEBDGNyZWF0ZVN0YWJsZQAEAmJoCQECYXMBBQJhcQMJAAACBQJiaAUCYmgJAQJhQwIFAmFxBQFlCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFxAQhhY3RpdmF0ZQYCYmkBQgJiagFDAmJrAmJsBAJiYQkAzAgCCQECYXQBBQJhcQkAzAgCAwkBAmFsAgUBQgUBQwYJAQFrAAkAzAgCAwkAAAIJAQV2YWx1ZQEJAKIIAQkBAUECBQFCBQFDBQFKBgkBAXMABQNuaWwDCQAAAgUCYmEFAmJhBAJibQkAnQgCBQR0aGlzCQEBUwIFAUIFAUMEAmJuCQD8BwQFAmFnAg9hY3RpdmF0ZU5ld1Bvb2wJAMwIAgUCYmkJAMwIAgUBQgkAzAgCBQFDCQDMCAIJAKwCAgkArAICBQJiagUCYmsCAkxQCQDMCAIJAKwCAgkArAICCQCsAgIFAmJqAgEvBQJiawIeIHBvb2wgbGlxdWlkaXR5IHByb3ZpZGVyIHRva2VuCQDMCAIAAAkAzAgCAwkAAAIFAmJtBQR1bml0AgdWTFRQT09MCQEFdmFsdWUBBQJibQkAzAgCBQJibAUDbmlsBQNuaWwDCQAAAgUCYm4FAmJuBAJibwQCYWEFAmJuAwkAAQIFAmFhAgZTdHJpbmcEAmF5BQJhYQUCYXkJAQF0AAMJAAACBQJibwUCYm8EAmJwCQDwBwIFBHRoaXMJANkEAQUCYm8DCQAAAgUCYnAFAmJwBAJicQkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQJiaQIDcHV0CQDMCAIAAAkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCAwkAAAIFAUICBVdBVkVTBQR1bml0CQDZBAEFAUIJAQV2YWx1ZQEJAJ8IAQkBAVACBQFCBQFDCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCAwkAAAIFAUMCBVdBVkVTBQR1bml0CQDZBAEFAUMJAQV2YWx1ZQEJAJ8IAQkBAVECBQFCBQFDBQNuaWwDCQAAAgUCYnEFAmJxBAJicgkA8AcCBQR0aGlzCQDZBAEFAmJvAwkAAAIFAmJyBQJicgQCYnMJAQV2YWx1ZQEJAKYIAQkBBXZhbHVlAQkAoggBCQEBTwIFAUIFAUMEAmJ0CQD8BwQFAmFrAgdhcHByb3ZlCQDMCAIFAUIJAMwIAgUBQwUDbmlsBQNuaWwDCQAAAgUCYnQFAmJ0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFBAgUBQgUBQwUBTAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQJicwkAZQIFAmJyBQJicAkA2QQBBQJibwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFxAQlzZXRBZG1pbnMBAmJ1BAJiaAkBAmFzAQUCYXEDCQAAAgUCYmgFAmJoCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQF6AAkAuQkCBQJidQUBYgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFxARNwcmljZUFzc2V0c1JFQURPTkxZAAkAlAoCBQNuaWwJAQJhZQEJAKIIAQkBAVkAAmFxAQ5zdGF0dXNSRUFET05MWQIBQgFDBAJhQgQCYWEJAKIIAQkBAUECBQFCBQFDAwkAAQIFAmFhAgZTdHJpbmcEAmFiBQJhYQUCYWIFBHVuaXQJAJQKAgUDbmlsBQJhQgJhcQEWZ2V0UG9vbENyZWF0b3JSRUFET05MWQIBQgFDBAJidgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEBTwIFAUIFAUMCAAkAlAoCBQNuaWwFAmJ2AmFxAQpkZWxldGVQb29sAgFCAUMEAmJoAwMJAAACCAUCYXEGY2FsbGVyBQJhZwYJAQJhcwEFAmFxBgkBAWkBAhFQZXJtaXNzaW9uIGRlbmllZAMJAAACBQJiaAUCYmgJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAU4CBQFCBQFDCQDMCAIJAQtEZWxldGVFbnRyeQEJAQFPAgUBQgUBQwkAzAgCCQELRGVsZXRlRW50cnkBCQEBRwIFAUIFAUMJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAVICBQFCBQFDCQDMCAIJAQtEZWxldGVFbnRyeQEJAQFBAgUBQgUBQwkAzAgCCQELRGVsZXRlRW50cnkBCQEBUAIFAUIFAUMJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAVECBQFCBQFDCQDMCAIJAQtEZWxldGVFbnRyeQEJAQFTAgUBQgUBQwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJidwECYngABAJieQQCYWEJAQJhbgADCQABAgUCYWECCkJ5dGVWZWN0b3IEAmFyBQJhYQUCYXIDCQABAgUCYWECBFVuaXQIBQJidw9zZW5kZXJQdWJsaWNLZXkJAAIBAgtNYXRjaCBlcnJvcgkA9AMDCAUCYncJYm9keUJ5dGVzCQCRAwIIBQJidwZwcm9vZnMAAAUCYnkKF6YT", "height": 2800981, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EyaCuH3qBuzELXSdNZ4cccKJb2hmznJknsrLmrSByGCu Next: none Diff:
OldNewDifferences
122122 func U () = makeString(["%s", "feeAmount"], b)
123123
124124
125-func V () = makeString(["%s", "amountAssetMinAmount"], b)
125+func V () = makeString(["%s", "poolAssetDefaultMinAmount"], b)
126126
127127
128-func W () = makeString(["%s", "priceAssetsMinAmount"], b)
128+func W (X) = makeString(["%s%s", "poolAssetMinAmount", X], b)
129129
130130
131-func X () = makeString(["%s", "priceAssets"], b)
131+func Y () = makeString(["%s", "priceAssets"], b)
132132
133133
134-func Y () = {
135- let Z = getString(y())
136- if ($isInstanceOf(Z, "String"))
134+func Z () = {
135+ let aa = getString(y())
136+ if ($isInstanceOf(aa, "String"))
137137 then {
138- let aa = Z
139- addressFromStringValue(aa)
138+ let ab = aa
139+ addressFromStringValue(ab)
140140 }
141141 else this
142142 }
143143
144144
145-func ab (ac) = valueOrErrorMessage(getString(this, ac), (ac + " is not defined"))
145+func ac (ad) = valueOrErrorMessage(getString(this, ad), (ad + " is not defined"))
146146
147147
148-func ad (ae) = {
149- let Z = ae
150- if ($isInstanceOf(Z, "String"))
148+func ae (af) = {
149+ let aa = af
150+ if ($isInstanceOf(aa, "String"))
151151 then {
152- let aa = Z
153- if ((size(aa) == 0))
152+ let ab = aa
153+ if ((size(ab) == 0))
154154 then nil
155- else split_4C(aa, b)
155+ else split_4C(ab, b)
156156 }
157- else if ($isInstanceOf(Z, "Unit"))
157+ else if ($isInstanceOf(aa, "Unit"))
158158 then nil
159159 else throw("Match error")
160160 }
161161
162162
163-let af = addressFromStringValue(ab(D()))
163+let ag = addressFromStringValue(ac(D()))
164164
165-let ag = makeString(["%s", "votingEmissionContract"], b)
165+let ah = makeString(["%s", "votingEmissionContract"], b)
166166
167-let ah = addressFromStringValue(valueOrErrorMessage(getString(af, ag), g("voting emission contract address is required")))
167+let ai = addressFromStringValue(valueOrErrorMessage(getString(ag, ah), g("voting emission contract address is required")))
168168
169-let ai = makeString(["%s", "votingEmissionCandidateContract"], b)
169+let aj = makeString(["%s", "votingEmissionCandidateContract"], b)
170170
171-let aj = addressFromStringValue(valueOrErrorMessage(getString(ah, ai), g("voting emission candidate contract address is required")))
171+let ak = addressFromStringValue(valueOrErrorMessage(getString(ai, aj), g("voting emission candidate contract address is required")))
172172
173-func ak (B,C) = valueOrElse(getBoolean(N(B, C)), false)
173+func al (B,C) = valueOrElse(getBoolean(N(B, C)), false)
174174
175175
176-func al (B,C) = if (ak(B, C))
176+func am (B,C) = if (al(B, C))
177177 then true
178178 else k()
179179
180180
181-func am () = {
182- let an = Y()
183- let Z = getString(an, x())
184- if ($isInstanceOf(Z, "String"))
181+func an () = {
182+ let ao = Z()
183+ let aa = getString(ao, x())
184+ if ($isInstanceOf(aa, "String"))
185185 then {
186- let aa = Z
187- fromBase58String(aa)
186+ let ab = aa
187+ fromBase58String(ab)
188188 }
189- else if ($isInstanceOf(Z, "Unit"))
189+ else if ($isInstanceOf(aa, "Unit"))
190190 then unit
191191 else throw("Match error")
192192 }
193193
194194
195-func ao (ap) = {
196- let Z = am()
197- if ($isInstanceOf(Z, "ByteVector"))
195+func ap (aq) = {
196+ let aa = an()
197+ if ($isInstanceOf(aa, "ByteVector"))
198198 then {
199- let aq = Z
200- (ap.callerPublicKey == aq)
199+ let ar = aa
200+ (aq.callerPublicKey == ar)
201201 }
202- else if ($isInstanceOf(Z, "Unit"))
203- then (ap.caller == this)
202+ else if ($isInstanceOf(aa, "Unit"))
203+ then (aq.caller == this)
204204 else throw("Match error")
205205 }
206206
207207
208-func ar (ap) = if (ao(ap))
208+func as (aq) = if (ap(aq))
209209 then true
210210 else j()
211211
212212
213-func as (ap) = {
214- let at = ad(getString(z()))
215- if (containsElement(at, toBase58String(ap.callerPublicKey)))
213+func at (aq) = {
214+ let au = ae(getString(z()))
215+ if (containsElement(au, toBase58String(aq.callerPublicKey)))
216216 then true
217- else ar(ap)
217+ else as(aq)
218218 }
219219
220220
221-func au (av) = (valueOrElse(getInteger(addressFromStringValue(ab(E())), (("status_<" + av) + ">")), 0) == 2)
221+func av (X) = (valueOrElse(getInteger(addressFromStringValue(ac(E())), (("status_<" + X) + ">")), 0) == 2)
222222
223223
224224 func aw (ax) = {
225- let Z = ax.assetId
226- if ($isInstanceOf(Z, "ByteVector"))
225+ let aa = ax.assetId
226+ if ($isInstanceOf(aa, "ByteVector"))
227227 then {
228- let ay = Z
228+ let ay = aa
229229 let az = value(assetInfo(ay))
230230 $Tuple2(toBase58String(ay), az)
231231 }
232- else if ($isInstanceOf(Z, "Unit"))
232+ else if ($isInstanceOf(aa, "Unit"))
233233 then $Tuple2(c, unit)
234234 else throw("Match error")
235235 }
238238 func aA (aB) = containsElement(M, aB)
239239
240240
241-func aC (ap,aD) = {
242- let aE = value(ap.payments[0])
243- let aF = value(ap.payments[1])
244- let aG = value(ap.payments[2])
241+func aC (aq,aD) = {
242+ let aE = value(aq.payments[0])
243+ let aF = value(aq.payments[1])
244+ let aG = value(aq.payments[2])
245245 let aH = aw(aE)
246246 let B = aH._1
247247 let aI = aH._2
254254 let aO = aE.amount
255255 let aP = aF.amount
256256 let aQ = aG.amount
257- let aR = ad(getString(af, X()))
258- let aS = getIntegerValue(V())
259- let aT = ad(getString(W()))
260- let aU = if (containsElement(aR, B))
261- then {
262- let aV = valueOrErrorMessage(indexOf(aR, B), f)
263- value(parseInt(aT[aV]))
264- }
265- else aS
266- let aW = if (containsElement(aR, C))
267- then {
268- let aV = valueOrErrorMessage(indexOf(aR, C), f)
269- value(parseInt(aT[aV]))
270- }
271- else aS
272- let aX = valueOrElse(getInteger(H()), 0)
273- let aY = (aX + 1)
274- let aZ = addressFromStringValue(ab(F()))
275- let ba = {
276- let bb = invoke(af, "poolExistsREADONLY", [B, C], nil)
277- if ($isInstanceOf(bb, "Boolean"))
278- then bb
279- else throw(($getType(bb) + " couldn't be cast to Boolean"))
257+ let aR = ae(getString(ag, Y()))
258+ let aS = getIntegerValue(ag, V())
259+ let aT = valueOrElse(getInteger(ag, W(B)), aS)
260+ let aU = valueOrElse(getInteger(ag, W(C)), aS)
261+ let aV = valueOrElse(getInteger(H()), 0)
262+ let aW = (aV + 1)
263+ let aX = addressFromStringValue(ac(F()))
264+ let aY = {
265+ let aZ = invoke(ag, "poolExistsREADONLY", [B, C], nil)
266+ if ($isInstanceOf(aZ, "Boolean"))
267+ then aZ
268+ else throw(($getType(aZ) + " couldn't be cast to Boolean"))
280269 }
281- let bc = [if (!(ak(B, C)))
270+ let ba = [if (!(al(B, C)))
282271 then true
283- else m(), if (!(ba))
272+ else m(), if (!(aY))
284273 then true
285274 else m(), if ((B != C))
286275 then true
287- else w(), if (if (ao(ap))
276+ else w(), if (if (ap(aq))
288277 then true
289- else if (au(B))
290- then au(C)
278+ else if (av(B))
279+ then av(C)
291280 else false)
292281 then true
293282 else w(), if (if (containsElement(aR, B))
294283 then true
295284 else containsElement(aR, C))
296285 then true
297- else w(), if (if (ao(ap))
286+ else w(), if (if (ap(aq))
298287 then true
299288 else (getString(T()) == aM))
300289 then true
301- else p(), if (if (ao(ap))
290+ else p(), if (if (ap(aq))
302291 then true
303- else (aO >= getIntegerValue(V())))
292+ else (aO >= aT))
304293 then true
305- else q(), if (if (ao(ap))
294+ else q(), if (if (ap(aq))
306295 then true
307- else (aP >= aW))
296+ else (aP >= aU))
308297 then true
309- else u(), if (if (ao(ap))
298+ else u(), if (if (ap(aq))
310299 then true
311300 else (aQ == getInteger(U())))
312301 then true
313302 else v()]
314- if ((bc == bc))
303+ if ((ba == ba))
315304 then {
316- let bd = 3
317- let be = if ((size(ap.payments) >= bd))
318- then invoke(aZ, "burn", nil, [AttachedPayment(fromBase58String(aM), aQ)])
305+ let bb = 3
306+ let bc = if ((size(aq.payments) >= bb))
307+ then invoke(aX, "burn", nil, [AttachedPayment(fromBase58String(aM), aQ)])
319308 else unit
320- if ((be == be))
321- then [BooleanEntry(N(B, C), true), StringEntry(O(B, C), toString(ap.caller)), IntegerEntry(H(), aY), StringEntry(G(B, C), (toString(aY) + I)), IntegerEntry(R(B, C), height), StringEntry(A(B, C), J), IntegerEntry(P(B, C), aO), IntegerEntry(Q(B, C), aP), StringEntry(S(B, C), aD)]
309+ if ((bc == bc))
310+ then [BooleanEntry(N(B, C), true), StringEntry(O(B, C), toString(aq.caller)), IntegerEntry(H(), aW), StringEntry(G(B, C), (toString(aW) + I)), IntegerEntry(R(B, C), height), StringEntry(A(B, C), J), IntegerEntry(P(B, C), aO), IntegerEntry(Q(B, C), aP), StringEntry(S(B, C), aD)]
322311 else throw("Strict value is not equal to itself.")
323312 }
324313 else throw("Strict value is not equal to itself.")
325314 }
326315
327316
328-@Callable(ap)
329-func constructor (bf,bg,bh,bi,aU,aM,bj) = {
330- let bk = ar(ap)
331- if ((bk == bk))
332- then [StringEntry(D(), bf), StringEntry(E(), bg), StringEntry(F(), bh), StringEntry(W(), makeString(bi, b)), IntegerEntry(V(), aU), StringEntry(T(), aM), IntegerEntry(U(), bj)]
317+@Callable(aq)
318+func constructor (bd,be,bf,aM,bg) = {
319+ let bh = as(aq)
320+ if ((bh == bh))
321+ then [StringEntry(D(), bd), StringEntry(E(), be), StringEntry(F(), bf), StringEntry(T(), aM), IntegerEntry(U(), bg)]
333322 else throw("Strict value is not equal to itself.")
334323 }
335324
336325
337326
338-@Callable(ap)
339-func create () = aC(ap, d)
327+@Callable(aq)
328+func create () = aC(aq, d)
340329
341330
342331
343-@Callable(ap)
332+@Callable(aq)
344333 func createStable () = {
345- let bk = ar(ap)
346- if ((bk == bk))
347- then aC(ap, e)
334+ let bh = as(aq)
335+ if ((bh == bh))
336+ then aC(aq, e)
348337 else throw("Strict value is not equal to itself.")
349338 }
350339
351340
352341
353-@Callable(ap)
354-func activate (bl,B,bm,C,bn,bo) = {
355- let bc = [as(ap), if (ak(B, C))
342+@Callable(aq)
343+func activate (bi,B,bj,C,bk,bl) = {
344+ let ba = [at(aq), if (al(B, C))
356345 then true
357346 else k(), if ((value(getString(A(B, C))) == J))
358347 then true
359348 else s()]
360- if ((bc == bc))
349+ if ((ba == ba))
361350 then {
362- let bp = getString(this, S(B, C))
363- let bq = invoke(af, "activateNewPool", [bl, B, C, ((bm + bn) + "LP"), (((bm + "/") + bn) + " pool liquidity provider token"), 0, if ((bp == unit))
351+ let bm = getString(this, S(B, C))
352+ let bn = invoke(ag, "activateNewPool", [bi, B, C, ((bj + bk) + "LP"), (((bj + "/") + bk) + " pool liquidity provider token"), 0, if ((bm == unit))
364353 then "VLTPOOL"
365- else value(bp), bo], nil)
366- if ((bq == bq))
354+ else value(bm), bl], nil)
355+ if ((bn == bn))
367356 then {
368- let br = {
369- let Z = bq
370- if ($isInstanceOf(Z, "String"))
357+ let bo = {
358+ let aa = bn
359+ if ($isInstanceOf(aa, "String"))
371360 then {
372- let ay = Z
361+ let ay = aa
373362 ay
374363 }
375364 else t()
376365 }
377- if ((br == br))
366+ if ((bo == bo))
378367 then {
379- let bs = assetBalance(this, fromBase58String(br))
380- if ((bs == bs))
368+ let bp = assetBalance(this, fromBase58String(bo))
369+ if ((bp == bp))
381370 then {
382- let bt = invoke(addressFromStringValue(bl), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
371+ let bq = invoke(addressFromStringValue(bi), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
383372 then unit
384373 else fromBase58String(B), value(getInteger(P(B, C)))), AttachedPayment(if ((C == "WAVES"))
385374 then unit
386375 else fromBase58String(C), value(getInteger(Q(B, C))))])
387- if ((bt == bt))
376+ if ((bq == bq))
388377 then {
389- let bu = assetBalance(this, fromBase58String(br))
390- if ((bu == bu))
378+ let br = assetBalance(this, fromBase58String(bo))
379+ if ((br == br))
391380 then {
392- let bv = value(addressFromString(value(getString(O(B, C)))))
393- let bw = invoke(aj, "approve", [B, C], nil)
394- if ((bw == bw))
395- then [StringEntry(A(B, C), L), ScriptTransfer(bv, (bu - bs), fromBase58String(br))]
381+ let bs = value(addressFromString(value(getString(O(B, C)))))
382+ let bt = invoke(ak, "approve", [B, C], nil)
383+ if ((bt == bt))
384+ then [StringEntry(A(B, C), L), ScriptTransfer(bs, (br - bp), fromBase58String(bo))]
396385 else throw("Strict value is not equal to itself.")
397386 }
398387 else throw("Strict value is not equal to itself.")
410399
411400
412401
413-@Callable(ap)
414-func setAdmins (bx) = {
415- let bk = ar(ap)
416- if ((bk == bk))
417- then [StringEntry(z(), makeString(bx, b))]
402+@Callable(aq)
403+func setAdmins (bu) = {
404+ let bh = as(aq)
405+ if ((bh == bh))
406+ then [StringEntry(z(), makeString(bu, b))]
418407 else throw("Strict value is not equal to itself.")
419408 }
420409
421410
422411
423-@Callable(ap)
424-func priceAssetsREADONLY () = $Tuple2(nil, ad(getString(X())))
412+@Callable(aq)
413+func priceAssetsREADONLY () = $Tuple2(nil, ae(getString(Y())))
425414
426415
427416
428-@Callable(ap)
417+@Callable(aq)
429418 func statusREADONLY (B,C) = {
430419 let aB = {
431- let Z = getString(A(B, C))
432- if ($isInstanceOf(Z, "String"))
420+ let aa = getString(A(B, C))
421+ if ($isInstanceOf(aa, "String"))
433422 then {
434- let aa = Z
435- aa
423+ let ab = aa
424+ ab
436425 }
437426 else unit
438427 }
441430
442431
443432
444-@Callable(ap)
433+@Callable(aq)
445434 func getPoolCreatorREADONLY (B,C) = {
446- let by = valueOrElse(getString(O(B, C)), "")
447- $Tuple2(nil, by)
435+ let bv = valueOrElse(getString(O(B, C)), "")
436+ $Tuple2(nil, bv)
448437 }
449438
450439
451440
452-@Callable(ap)
441+@Callable(aq)
453442 func deletePool (B,C) = {
454- let bk = if (if ((ap.caller == af))
443+ let bh = if (if ((aq.caller == ag))
455444 then true
456- else ar(ap))
445+ else as(aq))
457446 then true
458447 else i("Permission denied")
459- if ((bk == bk))
448+ if ((bh == bh))
460449 then [DeleteEntry(N(B, C)), DeleteEntry(O(B, C)), DeleteEntry(G(B, C)), DeleteEntry(R(B, C)), DeleteEntry(A(B, C)), DeleteEntry(P(B, C)), DeleteEntry(Q(B, C)), DeleteEntry(S(B, C))]
461450 else throw("Strict value is not equal to itself.")
462451 }
463452
464453
465-@Verifier(bz)
466-func bA () = {
467- let bB = {
468- let Z = am()
469- if ($isInstanceOf(Z, "ByteVector"))
454+@Verifier(bw)
455+func bx () = {
456+ let by = {
457+ let aa = an()
458+ if ($isInstanceOf(aa, "ByteVector"))
470459 then {
471- let aq = Z
472- aq
460+ let ar = aa
461+ ar
473462 }
474- else if ($isInstanceOf(Z, "Unit"))
475- then bz.senderPublicKey
463+ else if ($isInstanceOf(aa, "Unit"))
464+ then bw.senderPublicKey
476465 else throw("Match error")
477466 }
478- sigVerify(bz.bodyBytes, bz.proofs[0], bB)
467+ sigVerify(bw.bodyBytes, bw.proofs[0], by)
479468 }
480469
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "user_pools.ride"
55
66 let b = "__"
77
88 let c = "WAVES"
99
1010 let d = "VLTPOOL"
1111
1212 let e = "STBLPOOL"
1313
1414 let f = "Invalid price asset"
1515
1616 func g (h) = makeString([a, ": ", h], "")
1717
1818
1919 func i (h) = throw(g(h))
2020
2121
2222 func j () = i("Permission denied")
2323
2424
2525 func k () = i("Create is not called for assets pair")
2626
2727
2828 func l () = i("You are not amountAsset issuer")
2929
3030
3131 func m () = i("Pool with such assets already exists")
3232
3333
3434 func n () = i("Asset is not verified")
3535
3636
3737 func o () = i(f)
3838
3939
4040 func p () = i("Invalid fee asset")
4141
4242
4343 func q () = i("Invalid amount asset attached")
4444
4545
4646 func r () = i("Invalid status")
4747
4848
4949 func s () = i("Can activate pool only in 'pending' status")
5050
5151
5252 func t () = i("FactoryV2 returned not string")
5353
5454
5555 func u () = i("invalid price asset amount")
5656
5757
5858 func v () = i("invalid fee")
5959
6060
6161 func w () = i("invalid asset pair")
6262
6363
6464 func x () = makeString(["%s", "managerPublicKey"], b)
6565
6666
6767 func y () = "%s__managerVaultAddress"
6868
6969
7070 func z () = makeString(["%s", "adminPubKeys"], b)
7171
7272
7373 func A (B,C) = makeString(["%s%s%s", "status", B, C], b)
7474
7575
7676 func D () = makeString(["%s", "factoryContract"], b)
7777
7878
7979 func E () = makeString(["%s", "assetsStoreContract"], b)
8080
8181
8282 func F () = makeString(["%s", "emissionContract"], b)
8383
8484
8585 func G (B,C) = makeString(["%s%s%s", "suffix", B, C], b)
8686
8787
8888 func H () = makeString(["%s", "lastIndex"], b)
8989
9090
9191 let I = "u"
9292
9393 let J = "pending"
9494
9595 let K = "declined"
9696
9797 let L = "active"
9898
9999 let M = [J, K, L]
100100
101101 func N (B,C) = makeString(["%s%s%s", "createCalled", B, C], b)
102102
103103
104104 func O (B,C) = makeString(["%s%s%s", "createCaller", B, C], b)
105105
106106
107107 func P (B,C) = makeString(["%s%s%s", "amountAssetAmount", B, C], b)
108108
109109
110110 func Q (B,C) = makeString(["%s%s%s", "priceAssetAmount", B, C], b)
111111
112112
113113 func R (B,C) = makeString(["%s%s%s", "height", B, C], b)
114114
115115
116116 func S (B,C) = makeString(["%s%s%s", "poolType", B, C], b)
117117
118118
119119 func T () = makeString(["%s", "feeAssetId"], b)
120120
121121
122122 func U () = makeString(["%s", "feeAmount"], b)
123123
124124
125-func V () = makeString(["%s", "amountAssetMinAmount"], b)
125+func V () = makeString(["%s", "poolAssetDefaultMinAmount"], b)
126126
127127
128-func W () = makeString(["%s", "priceAssetsMinAmount"], b)
128+func W (X) = makeString(["%s%s", "poolAssetMinAmount", X], b)
129129
130130
131-func X () = makeString(["%s", "priceAssets"], b)
131+func Y () = makeString(["%s", "priceAssets"], b)
132132
133133
134-func Y () = {
135- let Z = getString(y())
136- if ($isInstanceOf(Z, "String"))
134+func Z () = {
135+ let aa = getString(y())
136+ if ($isInstanceOf(aa, "String"))
137137 then {
138- let aa = Z
139- addressFromStringValue(aa)
138+ let ab = aa
139+ addressFromStringValue(ab)
140140 }
141141 else this
142142 }
143143
144144
145-func ab (ac) = valueOrErrorMessage(getString(this, ac), (ac + " is not defined"))
145+func ac (ad) = valueOrErrorMessage(getString(this, ad), (ad + " is not defined"))
146146
147147
148-func ad (ae) = {
149- let Z = ae
150- if ($isInstanceOf(Z, "String"))
148+func ae (af) = {
149+ let aa = af
150+ if ($isInstanceOf(aa, "String"))
151151 then {
152- let aa = Z
153- if ((size(aa) == 0))
152+ let ab = aa
153+ if ((size(ab) == 0))
154154 then nil
155- else split_4C(aa, b)
155+ else split_4C(ab, b)
156156 }
157- else if ($isInstanceOf(Z, "Unit"))
157+ else if ($isInstanceOf(aa, "Unit"))
158158 then nil
159159 else throw("Match error")
160160 }
161161
162162
163-let af = addressFromStringValue(ab(D()))
163+let ag = addressFromStringValue(ac(D()))
164164
165-let ag = makeString(["%s", "votingEmissionContract"], b)
165+let ah = makeString(["%s", "votingEmissionContract"], b)
166166
167-let ah = addressFromStringValue(valueOrErrorMessage(getString(af, ag), g("voting emission contract address is required")))
167+let ai = addressFromStringValue(valueOrErrorMessage(getString(ag, ah), g("voting emission contract address is required")))
168168
169-let ai = makeString(["%s", "votingEmissionCandidateContract"], b)
169+let aj = makeString(["%s", "votingEmissionCandidateContract"], b)
170170
171-let aj = addressFromStringValue(valueOrErrorMessage(getString(ah, ai), g("voting emission candidate contract address is required")))
171+let ak = addressFromStringValue(valueOrErrorMessage(getString(ai, aj), g("voting emission candidate contract address is required")))
172172
173-func ak (B,C) = valueOrElse(getBoolean(N(B, C)), false)
173+func al (B,C) = valueOrElse(getBoolean(N(B, C)), false)
174174
175175
176-func al (B,C) = if (ak(B, C))
176+func am (B,C) = if (al(B, C))
177177 then true
178178 else k()
179179
180180
181-func am () = {
182- let an = Y()
183- let Z = getString(an, x())
184- if ($isInstanceOf(Z, "String"))
181+func an () = {
182+ let ao = Z()
183+ let aa = getString(ao, x())
184+ if ($isInstanceOf(aa, "String"))
185185 then {
186- let aa = Z
187- fromBase58String(aa)
186+ let ab = aa
187+ fromBase58String(ab)
188188 }
189- else if ($isInstanceOf(Z, "Unit"))
189+ else if ($isInstanceOf(aa, "Unit"))
190190 then unit
191191 else throw("Match error")
192192 }
193193
194194
195-func ao (ap) = {
196- let Z = am()
197- if ($isInstanceOf(Z, "ByteVector"))
195+func ap (aq) = {
196+ let aa = an()
197+ if ($isInstanceOf(aa, "ByteVector"))
198198 then {
199- let aq = Z
200- (ap.callerPublicKey == aq)
199+ let ar = aa
200+ (aq.callerPublicKey == ar)
201201 }
202- else if ($isInstanceOf(Z, "Unit"))
203- then (ap.caller == this)
202+ else if ($isInstanceOf(aa, "Unit"))
203+ then (aq.caller == this)
204204 else throw("Match error")
205205 }
206206
207207
208-func ar (ap) = if (ao(ap))
208+func as (aq) = if (ap(aq))
209209 then true
210210 else j()
211211
212212
213-func as (ap) = {
214- let at = ad(getString(z()))
215- if (containsElement(at, toBase58String(ap.callerPublicKey)))
213+func at (aq) = {
214+ let au = ae(getString(z()))
215+ if (containsElement(au, toBase58String(aq.callerPublicKey)))
216216 then true
217- else ar(ap)
217+ else as(aq)
218218 }
219219
220220
221-func au (av) = (valueOrElse(getInteger(addressFromStringValue(ab(E())), (("status_<" + av) + ">")), 0) == 2)
221+func av (X) = (valueOrElse(getInteger(addressFromStringValue(ac(E())), (("status_<" + X) + ">")), 0) == 2)
222222
223223
224224 func aw (ax) = {
225- let Z = ax.assetId
226- if ($isInstanceOf(Z, "ByteVector"))
225+ let aa = ax.assetId
226+ if ($isInstanceOf(aa, "ByteVector"))
227227 then {
228- let ay = Z
228+ let ay = aa
229229 let az = value(assetInfo(ay))
230230 $Tuple2(toBase58String(ay), az)
231231 }
232- else if ($isInstanceOf(Z, "Unit"))
232+ else if ($isInstanceOf(aa, "Unit"))
233233 then $Tuple2(c, unit)
234234 else throw("Match error")
235235 }
236236
237237
238238 func aA (aB) = containsElement(M, aB)
239239
240240
241-func aC (ap,aD) = {
242- let aE = value(ap.payments[0])
243- let aF = value(ap.payments[1])
244- let aG = value(ap.payments[2])
241+func aC (aq,aD) = {
242+ let aE = value(aq.payments[0])
243+ let aF = value(aq.payments[1])
244+ let aG = value(aq.payments[2])
245245 let aH = aw(aE)
246246 let B = aH._1
247247 let aI = aH._2
248248 let aJ = aw(aF)
249249 let C = aJ._1
250250 let aK = aJ._2
251251 let aL = aw(aG)
252252 let aM = aL._1
253253 let aN = aL._2
254254 let aO = aE.amount
255255 let aP = aF.amount
256256 let aQ = aG.amount
257- let aR = ad(getString(af, X()))
258- let aS = getIntegerValue(V())
259- let aT = ad(getString(W()))
260- let aU = if (containsElement(aR, B))
261- then {
262- let aV = valueOrErrorMessage(indexOf(aR, B), f)
263- value(parseInt(aT[aV]))
264- }
265- else aS
266- let aW = if (containsElement(aR, C))
267- then {
268- let aV = valueOrErrorMessage(indexOf(aR, C), f)
269- value(parseInt(aT[aV]))
270- }
271- else aS
272- let aX = valueOrElse(getInteger(H()), 0)
273- let aY = (aX + 1)
274- let aZ = addressFromStringValue(ab(F()))
275- let ba = {
276- let bb = invoke(af, "poolExistsREADONLY", [B, C], nil)
277- if ($isInstanceOf(bb, "Boolean"))
278- then bb
279- else throw(($getType(bb) + " couldn't be cast to Boolean"))
257+ let aR = ae(getString(ag, Y()))
258+ let aS = getIntegerValue(ag, V())
259+ let aT = valueOrElse(getInteger(ag, W(B)), aS)
260+ let aU = valueOrElse(getInteger(ag, W(C)), aS)
261+ let aV = valueOrElse(getInteger(H()), 0)
262+ let aW = (aV + 1)
263+ let aX = addressFromStringValue(ac(F()))
264+ let aY = {
265+ let aZ = invoke(ag, "poolExistsREADONLY", [B, C], nil)
266+ if ($isInstanceOf(aZ, "Boolean"))
267+ then aZ
268+ else throw(($getType(aZ) + " couldn't be cast to Boolean"))
280269 }
281- let bc = [if (!(ak(B, C)))
270+ let ba = [if (!(al(B, C)))
282271 then true
283- else m(), if (!(ba))
272+ else m(), if (!(aY))
284273 then true
285274 else m(), if ((B != C))
286275 then true
287- else w(), if (if (ao(ap))
276+ else w(), if (if (ap(aq))
288277 then true
289- else if (au(B))
290- then au(C)
278+ else if (av(B))
279+ then av(C)
291280 else false)
292281 then true
293282 else w(), if (if (containsElement(aR, B))
294283 then true
295284 else containsElement(aR, C))
296285 then true
297- else w(), if (if (ao(ap))
286+ else w(), if (if (ap(aq))
298287 then true
299288 else (getString(T()) == aM))
300289 then true
301- else p(), if (if (ao(ap))
290+ else p(), if (if (ap(aq))
302291 then true
303- else (aO >= getIntegerValue(V())))
292+ else (aO >= aT))
304293 then true
305- else q(), if (if (ao(ap))
294+ else q(), if (if (ap(aq))
306295 then true
307- else (aP >= aW))
296+ else (aP >= aU))
308297 then true
309- else u(), if (if (ao(ap))
298+ else u(), if (if (ap(aq))
310299 then true
311300 else (aQ == getInteger(U())))
312301 then true
313302 else v()]
314- if ((bc == bc))
303+ if ((ba == ba))
315304 then {
316- let bd = 3
317- let be = if ((size(ap.payments) >= bd))
318- then invoke(aZ, "burn", nil, [AttachedPayment(fromBase58String(aM), aQ)])
305+ let bb = 3
306+ let bc = if ((size(aq.payments) >= bb))
307+ then invoke(aX, "burn", nil, [AttachedPayment(fromBase58String(aM), aQ)])
319308 else unit
320- if ((be == be))
321- then [BooleanEntry(N(B, C), true), StringEntry(O(B, C), toString(ap.caller)), IntegerEntry(H(), aY), StringEntry(G(B, C), (toString(aY) + I)), IntegerEntry(R(B, C), height), StringEntry(A(B, C), J), IntegerEntry(P(B, C), aO), IntegerEntry(Q(B, C), aP), StringEntry(S(B, C), aD)]
309+ if ((bc == bc))
310+ then [BooleanEntry(N(B, C), true), StringEntry(O(B, C), toString(aq.caller)), IntegerEntry(H(), aW), StringEntry(G(B, C), (toString(aW) + I)), IntegerEntry(R(B, C), height), StringEntry(A(B, C), J), IntegerEntry(P(B, C), aO), IntegerEntry(Q(B, C), aP), StringEntry(S(B, C), aD)]
322311 else throw("Strict value is not equal to itself.")
323312 }
324313 else throw("Strict value is not equal to itself.")
325314 }
326315
327316
328-@Callable(ap)
329-func constructor (bf,bg,bh,bi,aU,aM,bj) = {
330- let bk = ar(ap)
331- if ((bk == bk))
332- then [StringEntry(D(), bf), StringEntry(E(), bg), StringEntry(F(), bh), StringEntry(W(), makeString(bi, b)), IntegerEntry(V(), aU), StringEntry(T(), aM), IntegerEntry(U(), bj)]
317+@Callable(aq)
318+func constructor (bd,be,bf,aM,bg) = {
319+ let bh = as(aq)
320+ if ((bh == bh))
321+ then [StringEntry(D(), bd), StringEntry(E(), be), StringEntry(F(), bf), StringEntry(T(), aM), IntegerEntry(U(), bg)]
333322 else throw("Strict value is not equal to itself.")
334323 }
335324
336325
337326
338-@Callable(ap)
339-func create () = aC(ap, d)
327+@Callable(aq)
328+func create () = aC(aq, d)
340329
341330
342331
343-@Callable(ap)
332+@Callable(aq)
344333 func createStable () = {
345- let bk = ar(ap)
346- if ((bk == bk))
347- then aC(ap, e)
334+ let bh = as(aq)
335+ if ((bh == bh))
336+ then aC(aq, e)
348337 else throw("Strict value is not equal to itself.")
349338 }
350339
351340
352341
353-@Callable(ap)
354-func activate (bl,B,bm,C,bn,bo) = {
355- let bc = [as(ap), if (ak(B, C))
342+@Callable(aq)
343+func activate (bi,B,bj,C,bk,bl) = {
344+ let ba = [at(aq), if (al(B, C))
356345 then true
357346 else k(), if ((value(getString(A(B, C))) == J))
358347 then true
359348 else s()]
360- if ((bc == bc))
349+ if ((ba == ba))
361350 then {
362- let bp = getString(this, S(B, C))
363- let bq = invoke(af, "activateNewPool", [bl, B, C, ((bm + bn) + "LP"), (((bm + "/") + bn) + " pool liquidity provider token"), 0, if ((bp == unit))
351+ let bm = getString(this, S(B, C))
352+ let bn = invoke(ag, "activateNewPool", [bi, B, C, ((bj + bk) + "LP"), (((bj + "/") + bk) + " pool liquidity provider token"), 0, if ((bm == unit))
364353 then "VLTPOOL"
365- else value(bp), bo], nil)
366- if ((bq == bq))
354+ else value(bm), bl], nil)
355+ if ((bn == bn))
367356 then {
368- let br = {
369- let Z = bq
370- if ($isInstanceOf(Z, "String"))
357+ let bo = {
358+ let aa = bn
359+ if ($isInstanceOf(aa, "String"))
371360 then {
372- let ay = Z
361+ let ay = aa
373362 ay
374363 }
375364 else t()
376365 }
377- if ((br == br))
366+ if ((bo == bo))
378367 then {
379- let bs = assetBalance(this, fromBase58String(br))
380- if ((bs == bs))
368+ let bp = assetBalance(this, fromBase58String(bo))
369+ if ((bp == bp))
381370 then {
382- let bt = invoke(addressFromStringValue(bl), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
371+ let bq = invoke(addressFromStringValue(bi), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
383372 then unit
384373 else fromBase58String(B), value(getInteger(P(B, C)))), AttachedPayment(if ((C == "WAVES"))
385374 then unit
386375 else fromBase58String(C), value(getInteger(Q(B, C))))])
387- if ((bt == bt))
376+ if ((bq == bq))
388377 then {
389- let bu = assetBalance(this, fromBase58String(br))
390- if ((bu == bu))
378+ let br = assetBalance(this, fromBase58String(bo))
379+ if ((br == br))
391380 then {
392- let bv = value(addressFromString(value(getString(O(B, C)))))
393- let bw = invoke(aj, "approve", [B, C], nil)
394- if ((bw == bw))
395- then [StringEntry(A(B, C), L), ScriptTransfer(bv, (bu - bs), fromBase58String(br))]
381+ let bs = value(addressFromString(value(getString(O(B, C)))))
382+ let bt = invoke(ak, "approve", [B, C], nil)
383+ if ((bt == bt))
384+ then [StringEntry(A(B, C), L), ScriptTransfer(bs, (br - bp), fromBase58String(bo))]
396385 else throw("Strict value is not equal to itself.")
397386 }
398387 else throw("Strict value is not equal to itself.")
399388 }
400389 else throw("Strict value is not equal to itself.")
401390 }
402391 else throw("Strict value is not equal to itself.")
403392 }
404393 else throw("Strict value is not equal to itself.")
405394 }
406395 else throw("Strict value is not equal to itself.")
407396 }
408397 else throw("Strict value is not equal to itself.")
409398 }
410399
411400
412401
413-@Callable(ap)
414-func setAdmins (bx) = {
415- let bk = ar(ap)
416- if ((bk == bk))
417- then [StringEntry(z(), makeString(bx, b))]
402+@Callable(aq)
403+func setAdmins (bu) = {
404+ let bh = as(aq)
405+ if ((bh == bh))
406+ then [StringEntry(z(), makeString(bu, b))]
418407 else throw("Strict value is not equal to itself.")
419408 }
420409
421410
422411
423-@Callable(ap)
424-func priceAssetsREADONLY () = $Tuple2(nil, ad(getString(X())))
412+@Callable(aq)
413+func priceAssetsREADONLY () = $Tuple2(nil, ae(getString(Y())))
425414
426415
427416
428-@Callable(ap)
417+@Callable(aq)
429418 func statusREADONLY (B,C) = {
430419 let aB = {
431- let Z = getString(A(B, C))
432- if ($isInstanceOf(Z, "String"))
420+ let aa = getString(A(B, C))
421+ if ($isInstanceOf(aa, "String"))
433422 then {
434- let aa = Z
435- aa
423+ let ab = aa
424+ ab
436425 }
437426 else unit
438427 }
439428 $Tuple2(nil, aB)
440429 }
441430
442431
443432
444-@Callable(ap)
433+@Callable(aq)
445434 func getPoolCreatorREADONLY (B,C) = {
446- let by = valueOrElse(getString(O(B, C)), "")
447- $Tuple2(nil, by)
435+ let bv = valueOrElse(getString(O(B, C)), "")
436+ $Tuple2(nil, bv)
448437 }
449438
450439
451440
452-@Callable(ap)
441+@Callable(aq)
453442 func deletePool (B,C) = {
454- let bk = if (if ((ap.caller == af))
443+ let bh = if (if ((aq.caller == ag))
455444 then true
456- else ar(ap))
445+ else as(aq))
457446 then true
458447 else i("Permission denied")
459- if ((bk == bk))
448+ if ((bh == bh))
460449 then [DeleteEntry(N(B, C)), DeleteEntry(O(B, C)), DeleteEntry(G(B, C)), DeleteEntry(R(B, C)), DeleteEntry(A(B, C)), DeleteEntry(P(B, C)), DeleteEntry(Q(B, C)), DeleteEntry(S(B, C))]
461450 else throw("Strict value is not equal to itself.")
462451 }
463452
464453
465-@Verifier(bz)
466-func bA () = {
467- let bB = {
468- let Z = am()
469- if ($isInstanceOf(Z, "ByteVector"))
454+@Verifier(bw)
455+func bx () = {
456+ let by = {
457+ let aa = an()
458+ if ($isInstanceOf(aa, "ByteVector"))
470459 then {
471- let aq = Z
472- aq
460+ let ar = aa
461+ ar
473462 }
474- else if ($isInstanceOf(Z, "Unit"))
475- then bz.senderPublicKey
463+ else if ($isInstanceOf(aa, "Unit"))
464+ then bw.senderPublicKey
476465 else throw("Match error")
477466 }
478- sigVerify(bz.bodyBytes, bz.proofs[0], bB)
467+ sigVerify(bw.bodyBytes, bw.proofs[0], by)
479468 }
480469

github/deemru/w8io/873ac7e 
161.02 ms