tx · EJLspSb7yyEbxUC9rjtAW6t767SsgtqZUCxaEKhJrV3e

3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh:  -0.01400000 Waves

2023.05.05 11:41 [2564285] smart account 3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh > SELF 0.00000000 Waves

{ "type": 13, "id": "EJLspSb7yyEbxUC9rjtAW6t767SsgtqZUCxaEKhJrV3e", "fee": 1400000, "feeAssetId": null, "timestamp": 1683276074102, "version": 2, "chainId": 84, "sender": "3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh", "senderPublicKey": "Ap7CkWd6fzBU34kGo4GJJzC5q4qWXuLVunzE25PchdGS", "proofs": [ "5kA218dCjB5Y2dLhFZTCxSv7JU3cVCjX4XmxGz2fjoQoeR5z2TkCB5ocSLx12DGaijMwQ4rYurm124cNQfuzFsDB" ], "script": "base64:BgKJEAgCEgkKBwgICBgBCAESABIICgYICAgICAgSAwoBGBIDCgEIEgASABIECgIICCIQY29udHJhY3RGaWxlbmFtZSIDU0VQIgx3YXZlc0Fzc2V0SWQiEWludmFsaWRQcmljZUFzc2V0Igd3cmFwRXJyIgNtc2ciCHRocm93RXJyIgd0aHJvd1BEIhR0aHJvd0NyZWF0ZU5vdENhbGxlZCIRdGhyb3dZb3VOb3RJc3N1ZXIiD3Rocm93UG9vbEV4aXN0cyIVdGhyb3dBc3NldE5vdFZlcmlmaWVkIhZ0aHJvd0ludmFsaWRQcmljZUFzc2V0IhR0aHJvd0ludmFsaWRGZWVBc3NldCIXdGhyb3dJbnZhbGlkQW1vdW50QXNzZXQiEnRocm93SW52YWxpZFN0YXR1cyIfdGhyb3dDYW5BY3RpdmF0ZU9ubHlQZW5kaW5nUG9vbCIddGhyb3dGYWN0b3J5UmV0dXJuZWROb3RTdHJpbmciHHRocm93SW52YWxpZFByaWNlQXNzZXRBbW91bnQiD3Rocm93SW52YWxpZEZlZSIVdGhyb3dJbnZhbGlkQXNzZXRQYWlyIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIPa2V5QWRtaW5QdWJLZXlzIglrZXlTdGF0dXMiDWFtb3VudEFzc2V0SWQiDHByaWNlQXNzZXRJZCISa2V5RmFjdG9yeUNvbnRyYWN0IhZrZXlBc3NldHNTdG9yZUNvbnRyYWN0IhNrZXlFbWlzc2lvbkNvbnRyYWN0IglrZXlTdWZmaXgiDGtleUxhc3RJbmRleCILaW5kZXhTdWZmaXgiDXN0YXR1c1BlbmRpbmciDnN0YXR1c0RlY2xpbmVkIgxzdGF0dXNBY3RpdmUiCHN0YXR1c2VzIg9rZXlDcmVhdGVDYWxsZWQiD2tleUNyZWF0ZUNhbGxlciIUa2V5QW1vdW50QXNzZXRBbW91bnQiE2tleVByaWNlQXNzZXRBbW91bnQiCWtleUhlaWdodCINa2V5RmVlQXNzZXRJZCIMa2V5RmVlQW1vdW50IhdrZXlBbW91bnRBc3NldE1pbkFtb3VudCIXa2V5UHJpY2VBc3NldHNNaW5BbW91bnQiDmtleVByaWNlQXNzZXRzIg9nZXRTdHJpbmdPckZhaWwiA2tleSISc3RyaW5nT3B0aW9uVG9MaXN0IgxzdHJpbmdPclVuaXQiByRtYXRjaDAiAXMiD2ZhY3RvcnlDb250cmFjdCIZa2V5Vm90aW5nRW1pc3Npb25Db250cmFjdCIWdm90aW5nRW1pc3Npb25Db250cmFjdCIia2V5Vm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdCIfdm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdCIOaXNDcmVhdGVDYWxsZWQiEG11c3RDcmVhdGVDYWxsZWQiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0Iglpc01hbmFnZXIiAWkiAnBrIgttdXN0TWFuYWdlciIJbXVzdEFkbWluIghhZG1pblBLcyIKaXNWZXJpZmllZCIHYXNzZXRJZCIMZ2V0SWRBbmRJbmZvIgdwYXltZW50IgJpZCIEaW5mbyILdmFsaWRTdGF0dXMiBnN0YXR1cyIQZmFjdG9yeVYyQWRkcmVzcyISYXNzZXRzU3RvcmVBZGRyZXNzIg9lbWlzc2lvbkFkZHJlc3MiFHByaWNlQXNzZXRzTWluQW1vdW50IhRhbW91bnRBc3NldE1pbkFtb3VudCIKZmVlQXNzZXRJZCIJZmVlQW1vdW50IgtjaGVja0NhbGxlciISYW1vdW50QXNzZXRQYXltZW50IhFwcmljZUFzc2V0UGF5bWVudCIPZmVlQXNzZXRQYXltZW50IgskdDA3NDczNzU0NSIPYW1vdW50QXNzZXRJbmZvIgskdDA3NTQ4NzYxNyIOcHJpY2VBc3NldEluZm8iCyR0MDc2MjA3NjgzIgxmZWVBc3NldEluZm8iEWFtb3VudEFzc2V0QW1vdW50IhBwcmljZUFzc2V0QW1vdW50Ig5mZWVBc3NldEFtb3VudCIPcHJpY2VBc3NldHNMaXN0IhptYW5hZ2VyUHJpY2VBc3NldE1pbkFtb3VudCITcHJpY2VBc3NldE1pbkFtb3VudCIQcHJpY2VBc3NldHNJbmRleCIJbGFzdEluZGV4IghjdXJJbmRleCIQZW1pc3Npb25Db250cmFjdCIKcG9vbEV4aXN0cyIBQCIGY2hlY2tzIhNwYXltZW50c1dpdGhGZWVTaXplIg9idXJuRW1pc3Npb25JbnYiC3Bvb2xBZGRyZXNzIhFhbW91bnRBc3NldFRpY2tlciIQcHJpY2VBc3NldFRpY2tlciIEbG9nbyISYWN0aXZhdGVOZXdQb29sSW52IglscEFzc2V0SWQiCWJlZm9yZVB1dCIDcHV0IghhZnRlclB1dCIEdXNlciIDcmVzIgxhZG1pblB1YktleXMiF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5IhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5PQABYQIPdXNlcl9wb29scy5yaWRlAAFiAgJfXwABYwIFV0FWRVMAAWQCE0ludmFsaWQgcHJpY2UgYXNzZXQBAWUBAWYJALkJAgkAzAgCBQFhCQDMCAICAjogCQDMCAIFAWYFA25pbAIAAQFnAQFmCQACAQkBAWUBBQFmAQFoAAkBAWcBAhFQZXJtaXNzaW9uIGRlbmllZAEBaQAJAQFnAQIkQ3JlYXRlIGlzIG5vdCBjYWxsZWQgZm9yIGFzc2V0cyBwYWlyAQFqAAkBAWcBAh5Zb3UgYXJlIG5vdCBhbW91bnRBc3NldCBpc3N1ZXIBAWsACQEBZwECJFBvb2wgd2l0aCBzdWNoIGFzc2V0cyBhbHJlYWR5IGV4aXN0cwEBbAAJAQFnAQIVQXNzZXQgaXMgbm90IHZlcmlmaWVkAQFtAAkBAWcBBQFkAQFuAAkBAWcBAhFJbnZhbGlkIGZlZSBhc3NldAEBbwAJAQFnAQIdSW52YWxpZCBhbW91bnQgYXNzZXQgYXR0YWNoZWQBAXAACQEBZwECDkludmFsaWQgc3RhdHVzAQFxAAkBAWcBAipDYW4gYWN0aXZhdGUgcG9vbCBvbmx5IGluICdwZW5kaW5nJyBzdGF0dXMBAXIACQEBZwECHUZhY3RvcnlWMiByZXR1cm5lZCBub3Qgc3RyaW5nAQFzAAkBAWcBAhppbnZhbGlkIHByaWNlIGFzc2V0IGFtb3VudAEBdAAJAQFnAQILaW52YWxpZCBmZWUBAXUACQEBZwECEmludmFsaWQgYXNzZXQgcGFpcgEBdgAJALkJAgkAzAgCAgIlcwkAzAgCAhBtYW5hZ2VyUHVibGljS2V5BQNuaWwFAWIBAXcACQC5CQIJAMwIAgICJXMJAMwIAgIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkFA25pbAUBYgEBeAAJALkJAgkAzAgCAgIlcwkAzAgCAgxhZG1pblB1YktleXMFA25pbAUBYgEBeQIBegFBCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICBnN0YXR1cwkAzAgCBQF6CQDMCAIFAUEFA25pbAUBYgEBQgAJALkJAgkAzAgCAgIlcwkAzAgCAg9mYWN0b3J5Q29udHJhY3QFA25pbAUBYgEBQwAJALkJAgkAzAgCAgIlcwkAzAgCAhNhc3NldHNTdG9yZUNvbnRyYWN0BQNuaWwFAWIBAUQACQC5CQIJAMwIAgICJXMJAMwIAgIQZW1pc3Npb25Db250cmFjdAUDbmlsBQFiAQFFAgF6AUEJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIGc3VmZml4CQDMCAIFAXoJAMwIAgUBQQUDbmlsBQFiAQFGAAkAuQkCCQDMCAICAiVzCQDMCAICCWxhc3RJbmRleAUDbmlsBQFiAAFHAgF1AAFIAgdwZW5kaW5nAAFJAghkZWNsaW5lZAABSgIGYWN0aXZlAAFLCQDMCAIFAUgJAMwIAgUBSQkAzAgCBQFKBQNuaWwBAUwCAXoBQQkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgxjcmVhdGVDYWxsZWQJAMwIAgUBegkAzAgCBQFBBQNuaWwFAWIBAU0CAXoBQQkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgxjcmVhdGVDYWxsZXIJAMwIAgUBegkAzAgCBQFBBQNuaWwFAWIBAU4CAXoBQQkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhFhbW91bnRBc3NldEFtb3VudAkAzAgCBQF6CQDMCAIFAUEFA25pbAUBYgEBTwIBegFBCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEHByaWNlQXNzZXRBbW91bnQJAMwIAgUBegkAzAgCBQFBBQNuaWwFAWIBAVACAXoBQQkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgZoZWlnaHQJAMwIAgUBegkAzAgCBQFBBQNuaWwFAWIBAVEACQC5CQIJAMwIAgICJXMJAMwIAgIKZmVlQXNzZXRJZAUDbmlsBQFiAQFSAAkAuQkCCQDMCAICAiVzCQDMCAICCWZlZUFtb3VudAUDbmlsBQFiAQFTAAkAuQkCCQDMCAICAiVzCQDMCAICFGFtb3VudEFzc2V0TWluQW1vdW50BQNuaWwFAWIBAVQACQC5CQIJAMwIAgICJXMJAMwIAgIUcHJpY2VBc3NldHNNaW5BbW91bnQFA25pbAUBYgEBVQAJALkJAgkAzAgCAgIlcwkAzAgCAgtwcmljZUFzc2V0cwUDbmlsBQFiAQFWAQFXCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwUBVwkArAICBQFXAg8gaXMgbm90IGRlZmluZWQBAVgBAVkEAVoFAVkDCQABAgUBWgIGU3RyaW5nBAJhYQUBWgMJAAACCQCxAgEFAmFhAAAFA25pbAkAtQkCBQJhYQUBYgMJAAECBQFaAgRVbml0BQNuaWwJAAIBAgtNYXRjaCBlcnJvcgACYWIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQFWAQkBAUIAAAJhYwkAuQkCCQDMCAICAiVzCQDMCAICFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QFA25pbAUBYgACYWQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQJhYgUCYWMJAQFlAQIsdm90aW5nIGVtaXNzaW9uIGNvbnRyYWN0IGFkZHJlc3MgaXMgcmVxdWlyZWQAAmFlCQC5CQIJAMwIAgICJXMJAMwIAgIfdm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdAUDbmlsBQFiAAJhZgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFAmFkBQJhZQkBAWUBAjZ2b3RpbmcgZW1pc3Npb24gY2FuZGlkYXRlIGNvbnRyYWN0IGFkZHJlc3MgaXMgcmVxdWlyZWQBAmFnAgF6AUEJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBAUwCBQF6BQFBBwECYWgCAXoBQQMJAQJhZwIFAXoFAUEGCQEBaQABAmFpAAQBWgkAoggBCQEBdgADCQABAgUBWgIGU3RyaW5nBAJhYQUBWgkA2QQBBQJhYQMJAAECBQFaAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmFqAAQBWgkAoggBCQEBdwADCQABAgUBWgIGU3RyaW5nBAJhYQUBWgkA2QQBBQJhYQMJAAECBQFaAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmFrAQJhbAQBWgkBAmFpAAMJAAECBQFaAgpCeXRlVmVjdG9yBAJhbQUBWgkAAAIIBQJhbA9jYWxsZXJQdWJsaWNLZXkFAmFtAwkAAQIFAVoCBFVuaXQJAAACCAUCYWwGY2FsbGVyBQR0aGlzCQACAQILTWF0Y2ggZXJyb3IBAmFuAQJhbAMJAQJhawEFAmFsBgkBAWgAAQJhbwECYWwEAmFwCQEBWAEJAKIIAQkBAXgAAwkBD2NvbnRhaW5zRWxlbWVudAIFAmFwCQDYBAEIBQJhbA9jYWxsZXJQdWJsaWNLZXkGCQECYW4BBQJhbAECYXEBAmFyCQAAAgkBC3ZhbHVlT3JFbHNlAgkAmggCCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBVgEJAQFDAAkArAICCQCsAgICCHN0YXR1c188BQJhcgIBPgAAAAIBAmFzAQJhdAQBWggFAmF0B2Fzc2V0SWQDCQABAgUBWgIKQnl0ZVZlY3RvcgQCYXUFAVoEAmF2CQEFdmFsdWUBCQDsBwEFAmF1CQCUCgIJANgEAQUCYXUFAmF2AwkAAQIFAVoCBFVuaXQJAJQKAgUBYwUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJhdwECYXgJAQ9jb250YWluc0VsZW1lbnQCBQFLBQJheAgCYWwBC2NvbnN0cnVjdG9yBwJheQJhegJhQQJhQgJhQwJhRAJhRQQCYUYJAQJhbgEFAmFsAwkAAAIFAmFGBQJhRgkAzAgCCQELU3RyaW5nRW50cnkCCQEBQgAFAmF5CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFDAAUCYXoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUQABQJhQQkAzAgCCQELU3RyaW5nRW50cnkCCQEBVAAJALkJAgUCYUIFAWIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFTAAUCYUMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVEABQJhRAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVIABQJhRQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFsAQZjcmVhdGUABAJhRwkBBXZhbHVlAQkAkQMCCAUCYWwIcGF5bWVudHMAAAQCYUgJAQV2YWx1ZQEJAJEDAggFAmFsCHBheW1lbnRzAAEEAmFJCQEFdmFsdWUBCQCRAwIIBQJhbAhwYXltZW50cwACBAJhSgkBAmFzAQUCYUcEAXoIBQJhSgJfMQQCYUsIBQJhSgJfMgQCYUwJAQJhcwEFAmFIBAFBCAUCYUwCXzEEAmFNCAUCYUwCXzIEAmFOCQECYXMBBQJhSQQCYUQIBQJhTgJfMQQCYU8IBQJhTgJfMgQCYVAIBQJhRwZhbW91bnQEAmFRCAUCYUgGYW1vdW50BAJhUggFAmFJBmFtb3VudAQCYVMJAQFYAQkAnQgCBQJhYgkBAVUABAJhVAABBAJhVQMJAQJhawEFAmFsBQJhVAQCYVYJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAzwgCBQJhUwUBQQUBZAkBBXZhbHVlAQkAtgkBCQCRAwIJAQFYAQkAoggBCQEBVAAFAmFWBAJhVwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEBRgAAAAQCYVgJAGQCBQJhVwABBAJhWQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAVYBCQEBRAAEAmFaCgACYmEJAPwHBAUCYWICEnBvb2xFeGlzdHNSRUFET05MWQkAzAgCBQF6CQDMCAIFAUEFA25pbAUDbmlsAwkAAQIFAmJhAgdCb29sZWFuBQJiYQkAAgEJAKwCAgkAAwEFAmJhAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuBAJiYgkAzAgCAwkBASEBCQECYWcCBQF6BQFBBgkBAWsACQDMCAIDCQEBIQEFAmFaBgkBAWsACQDMCAIDCQECIT0CBQF6BQFBBgkBAXUACQDMCAIDAwkBAmFxAQUBegkBAmFxAQUBQQcGCQEBdQAJAMwIAgMDCQEPY29udGFpbnNFbGVtZW50AgUCYVMFAXoGCQEPY29udGFpbnNFbGVtZW50AgUCYVMFAUEGCQEBdQAJAMwIAgMDCQECYWsBBQJhbAYJAAACCQCiCAEJAQFRAAUCYUQGCQEBbgAJAMwIAgMDCQECYWsBBQJhbAYJAGcCBQJhUAkBEUBleHRyTmF0aXZlKDEwNTUpAQkBAVMABgkBAW8ACQDMCAIDAwkBAmFrAQUCYWwGCQBnAgUCYVEFAmFVBgkBAXMACQDMCAIDAwkBAmFrAQUCYWwGCQAAAgUCYVIJAJ8IAQkBAVIABgkBAXQABQNuaWwDCQAAAgUCYmIFAmJiBAJiYwADBAJiZAMJAGcCCQCQAwEIBQJhbAhwYXltZW50cwUCYmMJAPwHBAUCYVkCBGJ1cm4FA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBBQJhRAUCYVIFA25pbAUEdW5pdAMJAAACBQJiZAUCYmQJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQFMAgUBegUBQQYJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAU0CBQF6BQFBCQClCAEIBQJhbAZjYWxsZXIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFGAAUCYVgJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUUCBQF6BQFBCQCsAgIJAKQDAQUCYVgFAUcJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFQAgUBegUBQQUGaGVpZ2h0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQF5AgUBegUBQQUBSAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAU4CBQF6BQFBBQJhUAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAU8CBQF6BQFBBQJhUQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFsAQhhY3RpdmF0ZQYCYmUBegJiZgFBAmJnAmJoBAJiYgkAzAgCCQECYW8BBQJhbAkAzAgCAwkBAmFnAgUBegUBQQYJAQFpAAkAzAgCAwkAAAIJAQV2YWx1ZQEJAKIIAQkBAXkCBQF6BQFBBQFIBgkBAXEABQNuaWwDCQAAAgUCYmIFAmJiBAJiaQkA/AcEBQJhYgIPYWN0aXZhdGVOZXdQb29sCQDMCAIFAmJlCQDMCAIFAXoJAMwIAgUBQQkAzAgCCQCsAgIJAKwCAgUCYmYFAmJnAgJMUAkAzAgCCQCsAgIJAKwCAgkArAICBQJiZgIBLwUCYmcCHiBwb29sIGxpcXVpZGl0eSBwcm92aWRlciB0b2tlbgkAzAgCAAAJAMwIAgIHVkxUUE9PTAkAzAgCBQJiaAUDbmlsBQNuaWwDCQAAAgUCYmkFAmJpBAJiagQBWgUCYmkDCQABAgUBWgIGU3RyaW5nBAJhdQUBWgUCYXUJAQFyAAMJAAACBQJiagUCYmoEAmJrCQDwBwIFBHRoaXMJANkEAQUCYmoDCQAAAgUCYmsFAmJrBAJibAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQJiZQIDcHV0CQDMCAIAAAkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCAwkAAAIFAXoCBVdBVkVTBQR1bml0CQDZBAEFAXoJAQV2YWx1ZQEJAJ8IAQkBAU4CBQF6BQFBCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCAwkAAAIFAUECBVdBVkVTBQR1bml0CQDZBAEFAUEJAQV2YWx1ZQEJAJ8IAQkBAU8CBQF6BQFBBQNuaWwDCQAAAgUCYmwFAmJsBAJibQkA8AcCBQR0aGlzCQDZBAEFAmJqAwkAAAIFAmJtBQJibQQCYm4JAQV2YWx1ZQEJAKYIAQkBBXZhbHVlAQkAoggBCQEBTQIFAXoFAUEEAmJvCQD8BwQFAmFmAgdhcHByb3ZlCQDMCAIFAXoJAMwIAgUBQQUDbmlsBQNuaWwDCQAAAgUCYm8FAmJvCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQF5AgUBegUBQQUBSgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQJibgkAZQIFAmJtBQJiawkA2QQBBQJiagUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFsAQlzZXRBZG1pbnMBAmJwBAJhRgkBAmFuAQUCYWwDCQAAAgUCYUYFAmFGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQF4AAkAuQkCBQJicAUBYgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFsAQpzZXRNYW5hZ2VyAQJicQQCYUYJAQJhbgEFAmFsAwkAAAIFAmFGBQJhRgQCYnIJANkEAQUCYnEDCQAAAgUCYnIFAmJyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQF3AAUCYnEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhbAEOY29uZmlybU1hbmFnZXIABAJicwkBAmFqAAQCYnQDCQEJaXNEZWZpbmVkAQUCYnMGCQACAQISTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmJ0BQJidAQCYnUDCQAAAggFAmFsD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCYnMGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmJ1BQJidQkAzAgCCQELU3RyaW5nRW50cnkCCQEBdgAJANgEAQkBBXZhbHVlAQUCYnMJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAXcABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYWwBE3ByaWNlQXNzZXRzUkVBRE9OTFkACQCUCgIFA25pbAkBAVgBCQCiCAEJAQFVAAJhbAEOc3RhdHVzUkVBRE9OTFkCAXoBQQQCYXgEAVoJAKIIAQkBAXkCBQF6BQFBAwkAAQIFAVoCBlN0cmluZwQCYWEFAVoFAmFhBQR1bml0CQCUCgIFA25pbAUCYXgBAmJ2AQJidwAEAmJ4BAFaCQECYWkAAwkAAQIFAVoCCkJ5dGVWZWN0b3IEAmFtBQFaBQJhbQMJAAECBQFaAgRVbml0CAUCYnYPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmJ2CWJvZHlCeXRlcwkAkQMCCAUCYnYGcHJvb2ZzAAAFAmJ4F+bv1g==", "height": 2564285, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5ifMM8dPiZ7dWFGqw4TSnFr2dnkDQrVkRAbNxZVp7YsU Next: 4pAh3mrJUeHMi8nxU6tiKTbUTDVovY6CR5E5STvVv8sc Diff:
OldNewDifferences
77
88 let c = "WAVES"
99
10-let d = "VLTPOOL"
10+let d = "Invalid price asset"
1111
12-let e = "STBLPOOL"
13-
14-let f = "Invalid price asset"
15-
16-func g (h) = makeString([a, ": ", h], "")
12+func e (f) = makeString([a, ": ", f], "")
1713
1814
19-func i (h) = throw(g(h))
15+func g (f) = throw(e(f))
2016
2117
22-func j () = i("Permission denied")
18+func h () = g("Permission denied")
2319
2420
25-func k () = i("Create is not called for assets pair")
21+func i () = g("Create is not called for assets pair")
2622
2723
28-func l () = i("You are not amountAsset issuer")
24+func j () = g("You are not amountAsset issuer")
2925
3026
31-func m () = i("Pool with such assets already exists")
27+func k () = g("Pool with such assets already exists")
3228
3329
34-func n () = i("Asset is not verified")
30+func l () = g("Asset is not verified")
3531
3632
37-func o () = i(f)
33+func m () = g(d)
3834
3935
40-func p () = i("Invalid fee asset")
36+func n () = g("Invalid fee asset")
4137
4238
43-func q () = i("Invalid amount asset attached")
39+func o () = g("Invalid amount asset attached")
4440
4541
46-func r () = i("Invalid status")
42+func p () = g("Invalid status")
4743
4844
49-func s () = i("Can activate pool only in 'pending' status")
45+func q () = g("Can activate pool only in 'pending' status")
5046
5147
52-func t () = i("FactoryV2 returned not string")
48+func r () = g("FactoryV2 returned not string")
5349
5450
55-func u () = i("invalid price asset amount")
51+func s () = g("invalid price asset amount")
5652
5753
58-func v () = i("invalid fee")
54+func t () = g("invalid fee")
5955
6056
61-func w () = i("invalid asset pair")
57+func u () = g("invalid asset pair")
6258
6359
64-func x () = makeString(["%s", "managerPublicKey"], b)
60+func v () = makeString(["%s", "managerPublicKey"], b)
6561
6662
67-func y () = makeString(["%s", "pendingManagerPublicKey"], b)
63+func w () = makeString(["%s", "pendingManagerPublicKey"], b)
6864
6965
70-func z () = makeString(["%s", "adminPubKeys"], b)
66+func x () = makeString(["%s", "adminPubKeys"], b)
7167
7268
73-func A (B,C) = makeString(["%s%s%s", "status", B, C], b)
69+func y (z,A) = makeString(["%s%s%s", "status", z, A], b)
7470
7571
76-func D () = makeString(["%s", "factoryContract"], b)
72+func B () = makeString(["%s", "factoryContract"], b)
7773
7874
79-func E () = makeString(["%s", "assetsStoreContract"], b)
75+func C () = makeString(["%s", "assetsStoreContract"], b)
8076
8177
82-func F () = makeString(["%s", "emissionContract"], b)
78+func D () = makeString(["%s", "emissionContract"], b)
8379
8480
85-func G (B,C) = makeString(["%s%s%s", "suffix", B, C], b)
81+func E (z,A) = makeString(["%s%s%s", "suffix", z, A], b)
8682
8783
88-func H () = makeString(["%s", "lastIndex"], b)
84+func F () = makeString(["%s", "lastIndex"], b)
8985
9086
91-let I = "u"
87+let G = "u"
9288
93-let J = "pending"
89+let H = "pending"
9490
95-let K = "declined"
91+let I = "declined"
9692
97-let L = "active"
93+let J = "active"
9894
99-let M = [J, K, L]
95+let K = [H, I, J]
10096
101-func N (B,C) = makeString(["%s%s%s", "createCalled", B, C], b)
97+func L (z,A) = makeString(["%s%s%s", "createCalled", z, A], b)
10298
10399
104-func O (B,C) = makeString(["%s%s%s", "createCaller", B, C], b)
100+func M (z,A) = makeString(["%s%s%s", "createCaller", z, A], b)
105101
106102
107-func P (B,C) = makeString(["%s%s%s", "amountAssetAmount", B, C], b)
103+func N (z,A) = makeString(["%s%s%s", "amountAssetAmount", z, A], b)
108104
109105
110-func Q (B,C) = makeString(["%s%s%s", "priceAssetAmount", B, C], b)
106+func O (z,A) = makeString(["%s%s%s", "priceAssetAmount", z, A], b)
111107
112108
113-func R (B,C) = makeString(["%s%s%s", "height", B, C], b)
109+func P (z,A) = makeString(["%s%s%s", "height", z, A], b)
114110
115111
116-func S (B,C) = makeString(["%s%s%s", "poolType", B, C], b)
112+func Q () = makeString(["%s", "feeAssetId"], b)
117113
118114
119-func T () = makeString(["%s", "feeAssetId"], b)
115+func R () = makeString(["%s", "feeAmount"], b)
120116
121117
122-func U () = makeString(["%s", "feeAmount"], b)
118+func S () = makeString(["%s", "amountAssetMinAmount"], b)
123119
124120
125-func V () = makeString(["%s", "amountAssetMinAmount"], b)
121+func T () = makeString(["%s", "priceAssetsMinAmount"], b)
126122
127123
128-func W () = makeString(["%s", "priceAssetsMinAmount"], b)
124+func U () = makeString(["%s", "priceAssets"], b)
129125
130126
131-func X () = makeString(["%s", "priceAssets"], b)
127+func V (W) = valueOrErrorMessage(getString(this, W), (W + " is not defined"))
132128
133129
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"))
130+func X (Y) = {
131+ let Z = Y
132+ if ($isInstanceOf(Z, "String"))
140133 then {
141- let ad = ac
142- if ((size(ad) == 0))
134+ let aa = Z
135+ if ((size(aa) == 0))
143136 then nil
144- else split(ad, b)
137+ else split(aa, b)
145138 }
146- else if ($isInstanceOf(ac, "Unit"))
139+ else if ($isInstanceOf(Z, "Unit"))
147140 then nil
148141 else throw("Match error")
149142 }
150143
151144
152-let ae = addressFromStringValue(Y(D()))
145+let ab = addressFromStringValue(V(B()))
153146
154-let af = makeString(["%s", "votingEmissionContract"], b)
147+let ac = makeString(["%s", "votingEmissionContract"], b)
155148
156-let ag = addressFromStringValue(valueOrErrorMessage(getString(ae, af), g("voting emission contract address is required")))
149+let ad = addressFromStringValue(valueOrErrorMessage(getString(ab, ac), e("voting emission contract address is required")))
157150
158-let ah = makeString(["%s", "votingEmissionCandidateContract"], b)
151+let ae = makeString(["%s", "votingEmissionCandidateContract"], b)
159152
160-let ai = addressFromStringValue(valueOrErrorMessage(getString(ag, ah), g("voting emission candidate contract address is required")))
153+let af = addressFromStringValue(valueOrErrorMessage(getString(ad, ae), e("voting emission candidate contract address is required")))
161154
162-func aj (B,C) = valueOrElse(getBoolean(N(B, C)), false)
155+func ag (z,A) = valueOrElse(getBoolean(L(z, A)), false)
163156
164157
165-func ak (B,C) = if (aj(B, C))
158+func ah (z,A) = if (ag(z, A))
166159 then true
167- else k()
160+ else i()
168161
169162
170-func al () = {
171- let ac = getString(x())
172- if ($isInstanceOf(ac, "String"))
163+func ai () = {
164+ let Z = getString(v())
165+ if ($isInstanceOf(Z, "String"))
173166 then {
174- let ad = ac
175- fromBase58String(ad)
167+ let aa = Z
168+ fromBase58String(aa)
176169 }
177- else if ($isInstanceOf(ac, "Unit"))
170+ else if ($isInstanceOf(Z, "Unit"))
178171 then unit
179172 else throw("Match error")
180173 }
181174
182175
183-func am () = {
184- let ac = getString(y())
185- if ($isInstanceOf(ac, "String"))
176+func aj () = {
177+ let Z = getString(w())
178+ if ($isInstanceOf(Z, "String"))
186179 then {
187- let ad = ac
188- fromBase58String(ad)
180+ let aa = Z
181+ fromBase58String(aa)
189182 }
190- else if ($isInstanceOf(ac, "Unit"))
183+ else if ($isInstanceOf(Z, "Unit"))
191184 then unit
192185 else throw("Match error")
193186 }
194187
195188
196-func an (ao) = {
197- let ac = al()
198- if ($isInstanceOf(ac, "ByteVector"))
189+func ak (al) = {
190+ let Z = ai()
191+ if ($isInstanceOf(Z, "ByteVector"))
199192 then {
200- let ap = ac
201- (ao.callerPublicKey == ap)
193+ let am = Z
194+ (al.callerPublicKey == am)
202195 }
203- else if ($isInstanceOf(ac, "Unit"))
204- then (ao.caller == this)
196+ else if ($isInstanceOf(Z, "Unit"))
197+ then (al.caller == this)
205198 else throw("Match error")
206199 }
207200
208201
209-func aq (ao) = if (an(ao))
202+func an (al) = if (ak(al))
210203 then true
211- else j()
204+ else h()
212205
213206
214-func ar (ao) = {
215- let as = aa(getString(z()))
216- if (containsElement(as, toBase58String(ao.callerPublicKey)))
207+func ao (al) = {
208+ let ap = X(getString(x()))
209+ if (containsElement(ap, toBase58String(al.callerPublicKey)))
217210 then true
218- else aq(ao)
211+ else an(al)
219212 }
220213
221214
222-func at (au) = (valueOrElse(getInteger(addressFromStringValue(Y(E())), (("status_<" + au) + ">")), 0) == 2)
215+func aq (ar) = (valueOrElse(getInteger(addressFromStringValue(V(C())), (("status_<" + ar) + ">")), 0) == 2)
223216
224217
225-func av (aw) = {
226- let ac = aw.assetId
227- if ($isInstanceOf(ac, "ByteVector"))
218+func as (at) = {
219+ let Z = at.assetId
220+ if ($isInstanceOf(Z, "ByteVector"))
228221 then {
229- let ax = ac
230- let ay = value(assetInfo(ax))
231- $Tuple2(toBase58String(ax), ay)
222+ let au = Z
223+ let av = value(assetInfo(au))
224+ $Tuple2(toBase58String(au), av)
232225 }
233- else if ($isInstanceOf(ac, "Unit"))
226+ else if ($isInstanceOf(Z, "Unit"))
234227 then $Tuple2(c, unit)
235228 else throw("Match error")
236229 }
237230
238231
239-func az (aA) = containsElement(M, aA)
232+func aw (ax) = containsElement(K, ax)
240233
241234
242-func aB (ao,aC) = {
243- let aD = value(ao.payments[0])
244- let aE = value(ao.payments[1])
245- let aF = value(ao.payments[2])
246- let aG = av(aD)
247- let aH = aG._1
248- let aI = aG._2
249- let aJ = av(aE)
250- let aK = aJ._1
251- let aL = aJ._2
252- let aM = av(aF)
253- let aN = aM._1
254- let aO = aM._2
255- let aP = aa(getString(ae, X()))
256- let aQ = if ((aH != aK))
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)
251+ let z = aJ._1
252+ let aK = aJ._2
253+ let aL = as(aH)
254+ let A = aL._1
255+ let aM = aL._2
256+ let aN = as(aI)
257+ let aD = aN._1
258+ let aO = aN._2
259+ let aP = aG.amount
260+ let aQ = aH.amount
261+ let aR = aI.amount
262+ let aS = X(getString(ab, U()))
263+ let aT = 1
264+ let aU = if (ak(al))
265+ then aT
266+ else {
267+ let aV = valueOrErrorMessage(indexOf(aS, A), d)
268+ value(parseInt(X(getString(T()))[aV]))
269+ }
270+ let aW = valueOrElse(getInteger(F()), 0)
271+ let aX = (aW + 1)
272+ let aY = addressFromStringValue(V(D()))
273+ let aZ = {
274+ let ba = invoke(ab, "poolExistsREADONLY", [z, A], nil)
275+ if ($isInstanceOf(ba, "Boolean"))
276+ then ba
277+ else throw(($getType(ba) + " couldn't be cast to Boolean"))
278+ }
279+ let bb = [if (!(ag(z, A)))
257280 then true
258- else w()
259- if ((aQ == aQ))
281+ else k(), if (!(aZ))
282+ then true
283+ else k(), if ((z != A))
284+ then true
285+ else u(), if (if (aq(z))
286+ then aq(A)
287+ else false)
288+ then true
289+ else u(), if (if (containsElement(aS, z))
290+ then true
291+ else containsElement(aS, A))
292+ then true
293+ else u(), if (if (ak(al))
294+ then true
295+ else (getString(Q()) == aD))
296+ then true
297+ else n(), if (if (ak(al))
298+ then true
299+ else (aP >= getIntegerValue(S())))
300+ then true
301+ else o(), if (if (ak(al))
302+ then true
303+ else (aQ >= aU))
304+ then true
305+ else s(), if (if (ak(al))
306+ then true
307+ else (aR == getInteger(R())))
308+ then true
309+ else t()]
310+ if ((bb == bb))
260311 then {
261- let aR = if (if (an(ao))
262- then true
263- else if (containsElement(aP, aK))
264- then at(aH)
265- else false)
266- then $Tuple4(aH, aD.amount, aK, aE.amount)
267- else if (if (containsElement(aP, aH))
268- then at(aK)
269- else false)
270- then $Tuple4(aK, aE.amount, aH, aD.amount)
271- else w()
272- let B = aR._1
273- let aS = aR._2
274- let C = aR._3
275- let aT = aR._4
276- let aU = 1
277- let aV = if (an(ao))
278- then aU
279- else {
280- let aW = valueOrErrorMessage(indexOf(aP, C), f)
281- value(parseInt(aa(getString(W()))[aW]))
282- }
283- let aX = valueOrElse(getInteger(H()), 0)
284- let aY = (aX + 1)
285- let aZ = addressFromStringValue(Y(F()))
286- let ba = {
287- let bb = invoke(ae, "poolExistsREADONLY", [B, C], nil)
288- if ($isInstanceOf(bb, "Boolean"))
289- then bb
290- else throw(($getType(bb) + " couldn't be cast to Boolean"))
291- }
292- let bc = [if (!(aj(B, C)))
293- then true
294- else m(), if (!(ba))
295- then true
296- else m(), if (if (an(ao))
297- then true
298- else (getString(T()) == aN))
299- then true
300- else p(), if (if (an(ao))
301- then true
302- else (aS >= getIntegerValue(V())))
303- then true
304- else q(), if (if (an(ao))
305- then true
306- else (aT >= aV))
307- then true
308- else u(), if (if (an(ao))
309- then true
310- else (aF.amount == getInteger(U())))
311- then true
312- else v()]
313- if ((bc == bc))
314- then {
315- let bd = 3
316- let be = if ((size(ao.payments) >= bd))
317- then invoke(aZ, "burn", nil, [AttachedPayment(fromBase58String(aN), aF.amount)])
318- else unit
319- if ((be == be))
320- then [BooleanEntry(N(B, C), true), StringEntry(O(B, C), toString(ao.caller)), IntegerEntry(H(), aY), StringEntry(G(B, C), (toString(aY) + I)), IntegerEntry(R(B, C), height), StringEntry(A(B, C), J), IntegerEntry(P(B, C), aS), IntegerEntry(Q(B, C), aT), StringEntry(S(B, C), aC)]
321- else throw("Strict value is not equal to itself.")
322- }
312+ let bc = 3
313+ let bd = if ((size(al.payments) >= bc))
314+ then invoke(aY, "burn", nil, [AttachedPayment(fromBase58String(aD), aR)])
315+ else unit
316+ if ((bd == bd))
317+ then [BooleanEntry(L(z, A), true), StringEntry(M(z, A), toString(al.caller)), IntegerEntry(F(), aX), StringEntry(E(z, A), (toString(aX) + G)), IntegerEntry(P(z, A), height), StringEntry(y(z, A), H), IntegerEntry(N(z, A), aP), IntegerEntry(O(z, A), aQ)]
323318 else throw("Strict value is not equal to itself.")
324319 }
325320 else throw("Strict value is not equal to itself.")
326321 }
327322
328323
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- }
336324
337-
338-
339-@Callable(ao)
340-func create () = aB(ao, d)
341-
342-
343-
344-@Callable(ao)
345-func createStable () = {
346- let bl = aq(ao)
347- if ((bl == bl))
348- then aB(ao, e)
349- else throw("Strict value is not equal to itself.")
350- }
351-
352-
353-
354-@Callable(ao)
355-func activate (bm,B,bn,C,bo,bp) = {
356- let bc = [ar(ao), if (aj(B, C))
325+@Callable(al)
326+func activate (be,z,bf,A,bg,bh) = {
327+ let bb = [ao(al), if (ag(z, A))
357328 then true
358- else k(), if ((value(getString(A(B, C))) == J))
329+ else i(), if ((value(getString(y(z, A))) == H))
359330 then true
360- else s()]
361- if ((bc == bc))
331+ else q()]
332+ if ((bb == bb))
362333 then {
363- let bq = getString(this, S(B, C))
364- let br = invoke(ae, "activateNewPool", [bm, B, C, ((bn + bo) + "LP"), (((bn + "/") + bo) + " pool liquidity provider token"), 0, if ((bq == unit))
365- then "VLTPOOL"
366- else value(bq), bp], nil)
367- if ((br == br))
334+ let bi = invoke(ab, "activateNewPool", [be, z, A, ((bf + bg) + "LP"), (((bf + "/") + bg) + " pool liquidity provider token"), 0, "VLTPOOL", bh], nil)
335+ if ((bi == bi))
368336 then {
369- let bs = {
370- let ac = br
371- if ($isInstanceOf(ac, "String"))
337+ let bj = {
338+ let Z = bi
339+ if ($isInstanceOf(Z, "String"))
372340 then {
373- let ax = ac
374- ax
341+ let au = Z
342+ au
375343 }
376- else t()
344+ else r()
377345 }
378- if ((bs == bs))
346+ if ((bj == bj))
379347 then {
380- let bt = assetBalance(this, fromBase58String(bs))
381- if ((bt == bt))
348+ let bk = assetBalance(this, fromBase58String(bj))
349+ if ((bk == bk))
382350 then {
383- let bu = invoke(addressFromStringValue(bm), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
351+ let bl = invoke(addressFromStringValue(be), "put", [0, false], [AttachedPayment(if ((z == "WAVES"))
384352 then unit
385- else fromBase58String(B), value(getInteger(P(B, C)))), AttachedPayment(if ((C == "WAVES"))
353+ else fromBase58String(z), value(getInteger(N(z, A)))), AttachedPayment(if ((A == "WAVES"))
386354 then unit
387- else fromBase58String(C), value(getInteger(Q(B, C))))])
388- if ((bu == bu))
355+ else fromBase58String(A), value(getInteger(O(z, A))))])
356+ if ((bl == bl))
389357 then {
390- let bv = assetBalance(this, fromBase58String(bs))
391- if ((bv == bv))
358+ let bm = assetBalance(this, fromBase58String(bj))
359+ if ((bm == bm))
392360 then {
393- let bw = value(addressFromString(value(getString(O(B, C)))))
394- let bx = invoke(ai, "approve", [B, C], nil)
395- if ((bx == bx))
396- then [StringEntry(A(B, C), L), ScriptTransfer(bw, (bv - bt), fromBase58String(bs))]
361+ let bn = value(addressFromString(value(getString(M(z, A)))))
362+ let bo = invoke(af, "approve", [z, A], nil)
363+ if ((bo == bo))
364+ then [StringEntry(y(z, A), J), ScriptTransfer(bn, (bm - bk), fromBase58String(bj))]
397365 else throw("Strict value is not equal to itself.")
398366 }
399367 else throw("Strict value is not equal to itself.")
411379
412380
413381
414-@Callable(ao)
415-func setAdmins (by) = {
416- let bl = aq(ao)
417- if ((bl == bl))
418- then [StringEntry(z(), makeString(by, b))]
382+@Callable(al)
383+func setAdmins (bp) = {
384+ let aF = an(al)
385+ if ((aF == aF))
386+ then [StringEntry(x(), makeString(bp, b))]
419387 else throw("Strict value is not equal to itself.")
420388 }
421389
422390
423391
424-@Callable(ao)
425-func setManager (bz) = {
426- let bl = aq(ao)
427- if ((bl == bl))
392+@Callable(al)
393+func setManager (bq) = {
394+ let aF = an(al)
395+ if ((aF == aF))
428396 then {
429- let bA = fromBase58String(bz)
430- if ((bA == bA))
431- then [StringEntry(y(), bz)]
397+ let br = fromBase58String(bq)
398+ if ((br == br))
399+ then [StringEntry(w(), bq)]
432400 else throw("Strict value is not equal to itself.")
433401 }
434402 else throw("Strict value is not equal to itself.")
436404
437405
438406
439-@Callable(ao)
407+@Callable(al)
440408 func confirmManager () = {
441- let bB = am()
442- let bC = if (isDefined(bB))
409+ let bs = aj()
410+ let bt = if (isDefined(bs))
443411 then true
444412 else throw("No pending manager")
445- if ((bC == bC))
413+ if ((bt == bt))
446414 then {
447- let bD = if ((ao.callerPublicKey == value(bB)))
415+ let bu = if ((al.callerPublicKey == value(bs)))
448416 then true
449417 else throw("You are not pending manager")
450- if ((bD == bD))
451- then [StringEntry(x(), toBase58String(value(bB))), DeleteEntry(y())]
418+ if ((bu == bu))
419+ then [StringEntry(v(), toBase58String(value(bs))), DeleteEntry(w())]
452420 else throw("Strict value is not equal to itself.")
453421 }
454422 else throw("Strict value is not equal to itself.")
456424
457425
458426
459-@Callable(ao)
460-func priceAssetsREADONLY () = $Tuple2(nil, aa(getString(X())))
427+@Callable(al)
428+func priceAssetsREADONLY () = $Tuple2(nil, X(getString(U())))
461429
462430
463431
464-@Callable(ao)
465-func statusREADONLY (B,C) = {
466- let aA = {
467- let ac = getString(A(B, C))
468- if ($isInstanceOf(ac, "String"))
432+@Callable(al)
433+func statusREADONLY (z,A) = {
434+ let ax = {
435+ let Z = getString(y(z, A))
436+ if ($isInstanceOf(Z, "String"))
469437 then {
470- let ad = ac
471- ad
438+ let aa = Z
439+ aa
472440 }
473441 else unit
474442 }
475- $Tuple2(nil, aA)
443+ $Tuple2(nil, ax)
476444 }
477445
478446
479-@Verifier(bE)
480-func bF () = {
481- let bG = {
482- let ac = al()
483- if ($isInstanceOf(ac, "ByteVector"))
447+@Verifier(bv)
448+func bw () = {
449+ let bx = {
450+ let Z = ai()
451+ if ($isInstanceOf(Z, "ByteVector"))
484452 then {
485- let ap = ac
486- ap
453+ let am = Z
454+ am
487455 }
488- else if ($isInstanceOf(ac, "Unit"))
489- then bE.senderPublicKey
456+ else if ($isInstanceOf(Z, "Unit"))
457+ then bv.senderPublicKey
490458 else throw("Match error")
491459 }
492- sigVerify(bE.bodyBytes, bE.proofs[0], bG)
460+ sigVerify(bv.bodyBytes, bv.proofs[0], bx)
493461 }
494462
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 = "VLTPOOL"
10+let d = "Invalid price asset"
1111
12-let e = "STBLPOOL"
13-
14-let f = "Invalid price asset"
15-
16-func g (h) = makeString([a, ": ", h], "")
12+func e (f) = makeString([a, ": ", f], "")
1713
1814
19-func i (h) = throw(g(h))
15+func g (f) = throw(e(f))
2016
2117
22-func j () = i("Permission denied")
18+func h () = g("Permission denied")
2319
2420
25-func k () = i("Create is not called for assets pair")
21+func i () = g("Create is not called for assets pair")
2622
2723
28-func l () = i("You are not amountAsset issuer")
24+func j () = g("You are not amountAsset issuer")
2925
3026
31-func m () = i("Pool with such assets already exists")
27+func k () = g("Pool with such assets already exists")
3228
3329
34-func n () = i("Asset is not verified")
30+func l () = g("Asset is not verified")
3531
3632
37-func o () = i(f)
33+func m () = g(d)
3834
3935
40-func p () = i("Invalid fee asset")
36+func n () = g("Invalid fee asset")
4137
4238
43-func q () = i("Invalid amount asset attached")
39+func o () = g("Invalid amount asset attached")
4440
4541
46-func r () = i("Invalid status")
42+func p () = g("Invalid status")
4743
4844
49-func s () = i("Can activate pool only in 'pending' status")
45+func q () = g("Can activate pool only in 'pending' status")
5046
5147
52-func t () = i("FactoryV2 returned not string")
48+func r () = g("FactoryV2 returned not string")
5349
5450
55-func u () = i("invalid price asset amount")
51+func s () = g("invalid price asset amount")
5652
5753
58-func v () = i("invalid fee")
54+func t () = g("invalid fee")
5955
6056
61-func w () = i("invalid asset pair")
57+func u () = g("invalid asset pair")
6258
6359
64-func x () = makeString(["%s", "managerPublicKey"], b)
60+func v () = makeString(["%s", "managerPublicKey"], b)
6561
6662
67-func y () = makeString(["%s", "pendingManagerPublicKey"], b)
63+func w () = makeString(["%s", "pendingManagerPublicKey"], b)
6864
6965
70-func z () = makeString(["%s", "adminPubKeys"], b)
66+func x () = makeString(["%s", "adminPubKeys"], b)
7167
7268
73-func A (B,C) = makeString(["%s%s%s", "status", B, C], b)
69+func y (z,A) = makeString(["%s%s%s", "status", z, A], b)
7470
7571
76-func D () = makeString(["%s", "factoryContract"], b)
72+func B () = makeString(["%s", "factoryContract"], b)
7773
7874
79-func E () = makeString(["%s", "assetsStoreContract"], b)
75+func C () = makeString(["%s", "assetsStoreContract"], b)
8076
8177
82-func F () = makeString(["%s", "emissionContract"], b)
78+func D () = makeString(["%s", "emissionContract"], b)
8379
8480
85-func G (B,C) = makeString(["%s%s%s", "suffix", B, C], b)
81+func E (z,A) = makeString(["%s%s%s", "suffix", z, A], b)
8682
8783
88-func H () = makeString(["%s", "lastIndex"], b)
84+func F () = makeString(["%s", "lastIndex"], b)
8985
9086
91-let I = "u"
87+let G = "u"
9288
93-let J = "pending"
89+let H = "pending"
9490
95-let K = "declined"
91+let I = "declined"
9692
97-let L = "active"
93+let J = "active"
9894
99-let M = [J, K, L]
95+let K = [H, I, J]
10096
101-func N (B,C) = makeString(["%s%s%s", "createCalled", B, C], b)
97+func L (z,A) = makeString(["%s%s%s", "createCalled", z, A], b)
10298
10399
104-func O (B,C) = makeString(["%s%s%s", "createCaller", B, C], b)
100+func M (z,A) = makeString(["%s%s%s", "createCaller", z, A], b)
105101
106102
107-func P (B,C) = makeString(["%s%s%s", "amountAssetAmount", B, C], b)
103+func N (z,A) = makeString(["%s%s%s", "amountAssetAmount", z, A], b)
108104
109105
110-func Q (B,C) = makeString(["%s%s%s", "priceAssetAmount", B, C], b)
106+func O (z,A) = makeString(["%s%s%s", "priceAssetAmount", z, A], b)
111107
112108
113-func R (B,C) = makeString(["%s%s%s", "height", B, C], b)
109+func P (z,A) = makeString(["%s%s%s", "height", z, A], b)
114110
115111
116-func S (B,C) = makeString(["%s%s%s", "poolType", B, C], b)
112+func Q () = makeString(["%s", "feeAssetId"], b)
117113
118114
119-func T () = makeString(["%s", "feeAssetId"], b)
115+func R () = makeString(["%s", "feeAmount"], b)
120116
121117
122-func U () = makeString(["%s", "feeAmount"], b)
118+func S () = makeString(["%s", "amountAssetMinAmount"], b)
123119
124120
125-func V () = makeString(["%s", "amountAssetMinAmount"], b)
121+func T () = makeString(["%s", "priceAssetsMinAmount"], b)
126122
127123
128-func W () = makeString(["%s", "priceAssetsMinAmount"], b)
124+func U () = makeString(["%s", "priceAssets"], b)
129125
130126
131-func X () = makeString(["%s", "priceAssets"], b)
127+func V (W) = valueOrErrorMessage(getString(this, W), (W + " is not defined"))
132128
133129
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"))
130+func X (Y) = {
131+ let Z = Y
132+ if ($isInstanceOf(Z, "String"))
140133 then {
141- let ad = ac
142- if ((size(ad) == 0))
134+ let aa = Z
135+ if ((size(aa) == 0))
143136 then nil
144- else split(ad, b)
137+ else split(aa, b)
145138 }
146- else if ($isInstanceOf(ac, "Unit"))
139+ else if ($isInstanceOf(Z, "Unit"))
147140 then nil
148141 else throw("Match error")
149142 }
150143
151144
152-let ae = addressFromStringValue(Y(D()))
145+let ab = addressFromStringValue(V(B()))
153146
154-let af = makeString(["%s", "votingEmissionContract"], b)
147+let ac = makeString(["%s", "votingEmissionContract"], b)
155148
156-let ag = addressFromStringValue(valueOrErrorMessage(getString(ae, af), g("voting emission contract address is required")))
149+let ad = addressFromStringValue(valueOrErrorMessage(getString(ab, ac), e("voting emission contract address is required")))
157150
158-let ah = makeString(["%s", "votingEmissionCandidateContract"], b)
151+let ae = makeString(["%s", "votingEmissionCandidateContract"], b)
159152
160-let ai = addressFromStringValue(valueOrErrorMessage(getString(ag, ah), g("voting emission candidate contract address is required")))
153+let af = addressFromStringValue(valueOrErrorMessage(getString(ad, ae), e("voting emission candidate contract address is required")))
161154
162-func aj (B,C) = valueOrElse(getBoolean(N(B, C)), false)
155+func ag (z,A) = valueOrElse(getBoolean(L(z, A)), false)
163156
164157
165-func ak (B,C) = if (aj(B, C))
158+func ah (z,A) = if (ag(z, A))
166159 then true
167- else k()
160+ else i()
168161
169162
170-func al () = {
171- let ac = getString(x())
172- if ($isInstanceOf(ac, "String"))
163+func ai () = {
164+ let Z = getString(v())
165+ if ($isInstanceOf(Z, "String"))
173166 then {
174- let ad = ac
175- fromBase58String(ad)
167+ let aa = Z
168+ fromBase58String(aa)
176169 }
177- else if ($isInstanceOf(ac, "Unit"))
170+ else if ($isInstanceOf(Z, "Unit"))
178171 then unit
179172 else throw("Match error")
180173 }
181174
182175
183-func am () = {
184- let ac = getString(y())
185- if ($isInstanceOf(ac, "String"))
176+func aj () = {
177+ let Z = getString(w())
178+ if ($isInstanceOf(Z, "String"))
186179 then {
187- let ad = ac
188- fromBase58String(ad)
180+ let aa = Z
181+ fromBase58String(aa)
189182 }
190- else if ($isInstanceOf(ac, "Unit"))
183+ else if ($isInstanceOf(Z, "Unit"))
191184 then unit
192185 else throw("Match error")
193186 }
194187
195188
196-func an (ao) = {
197- let ac = al()
198- if ($isInstanceOf(ac, "ByteVector"))
189+func ak (al) = {
190+ let Z = ai()
191+ if ($isInstanceOf(Z, "ByteVector"))
199192 then {
200- let ap = ac
201- (ao.callerPublicKey == ap)
193+ let am = Z
194+ (al.callerPublicKey == am)
202195 }
203- else if ($isInstanceOf(ac, "Unit"))
204- then (ao.caller == this)
196+ else if ($isInstanceOf(Z, "Unit"))
197+ then (al.caller == this)
205198 else throw("Match error")
206199 }
207200
208201
209-func aq (ao) = if (an(ao))
202+func an (al) = if (ak(al))
210203 then true
211- else j()
204+ else h()
212205
213206
214-func ar (ao) = {
215- let as = aa(getString(z()))
216- if (containsElement(as, toBase58String(ao.callerPublicKey)))
207+func ao (al) = {
208+ let ap = X(getString(x()))
209+ if (containsElement(ap, toBase58String(al.callerPublicKey)))
217210 then true
218- else aq(ao)
211+ else an(al)
219212 }
220213
221214
222-func at (au) = (valueOrElse(getInteger(addressFromStringValue(Y(E())), (("status_<" + au) + ">")), 0) == 2)
215+func aq (ar) = (valueOrElse(getInteger(addressFromStringValue(V(C())), (("status_<" + ar) + ">")), 0) == 2)
223216
224217
225-func av (aw) = {
226- let ac = aw.assetId
227- if ($isInstanceOf(ac, "ByteVector"))
218+func as (at) = {
219+ let Z = at.assetId
220+ if ($isInstanceOf(Z, "ByteVector"))
228221 then {
229- let ax = ac
230- let ay = value(assetInfo(ax))
231- $Tuple2(toBase58String(ax), ay)
222+ let au = Z
223+ let av = value(assetInfo(au))
224+ $Tuple2(toBase58String(au), av)
232225 }
233- else if ($isInstanceOf(ac, "Unit"))
226+ else if ($isInstanceOf(Z, "Unit"))
234227 then $Tuple2(c, unit)
235228 else throw("Match error")
236229 }
237230
238231
239-func az (aA) = containsElement(M, aA)
232+func aw (ax) = containsElement(K, ax)
240233
241234
242-func aB (ao,aC) = {
243- let aD = value(ao.payments[0])
244- let aE = value(ao.payments[1])
245- let aF = value(ao.payments[2])
246- let aG = av(aD)
247- let aH = aG._1
248- let aI = aG._2
249- let aJ = av(aE)
250- let aK = aJ._1
251- let aL = aJ._2
252- let aM = av(aF)
253- let aN = aM._1
254- let aO = aM._2
255- let aP = aa(getString(ae, X()))
256- let aQ = if ((aH != aK))
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)
251+ let z = aJ._1
252+ let aK = aJ._2
253+ let aL = as(aH)
254+ let A = aL._1
255+ let aM = aL._2
256+ let aN = as(aI)
257+ let aD = aN._1
258+ let aO = aN._2
259+ let aP = aG.amount
260+ let aQ = aH.amount
261+ let aR = aI.amount
262+ let aS = X(getString(ab, U()))
263+ let aT = 1
264+ let aU = if (ak(al))
265+ then aT
266+ else {
267+ let aV = valueOrErrorMessage(indexOf(aS, A), d)
268+ value(parseInt(X(getString(T()))[aV]))
269+ }
270+ let aW = valueOrElse(getInteger(F()), 0)
271+ let aX = (aW + 1)
272+ let aY = addressFromStringValue(V(D()))
273+ let aZ = {
274+ let ba = invoke(ab, "poolExistsREADONLY", [z, A], nil)
275+ if ($isInstanceOf(ba, "Boolean"))
276+ then ba
277+ else throw(($getType(ba) + " couldn't be cast to Boolean"))
278+ }
279+ let bb = [if (!(ag(z, A)))
257280 then true
258- else w()
259- if ((aQ == aQ))
281+ else k(), if (!(aZ))
282+ then true
283+ else k(), if ((z != A))
284+ then true
285+ else u(), if (if (aq(z))
286+ then aq(A)
287+ else false)
288+ then true
289+ else u(), if (if (containsElement(aS, z))
290+ then true
291+ else containsElement(aS, A))
292+ then true
293+ else u(), if (if (ak(al))
294+ then true
295+ else (getString(Q()) == aD))
296+ then true
297+ else n(), if (if (ak(al))
298+ then true
299+ else (aP >= getIntegerValue(S())))
300+ then true
301+ else o(), if (if (ak(al))
302+ then true
303+ else (aQ >= aU))
304+ then true
305+ else s(), if (if (ak(al))
306+ then true
307+ else (aR == getInteger(R())))
308+ then true
309+ else t()]
310+ if ((bb == bb))
260311 then {
261- let aR = if (if (an(ao))
262- then true
263- else if (containsElement(aP, aK))
264- then at(aH)
265- else false)
266- then $Tuple4(aH, aD.amount, aK, aE.amount)
267- else if (if (containsElement(aP, aH))
268- then at(aK)
269- else false)
270- then $Tuple4(aK, aE.amount, aH, aD.amount)
271- else w()
272- let B = aR._1
273- let aS = aR._2
274- let C = aR._3
275- let aT = aR._4
276- let aU = 1
277- let aV = if (an(ao))
278- then aU
279- else {
280- let aW = valueOrErrorMessage(indexOf(aP, C), f)
281- value(parseInt(aa(getString(W()))[aW]))
282- }
283- let aX = valueOrElse(getInteger(H()), 0)
284- let aY = (aX + 1)
285- let aZ = addressFromStringValue(Y(F()))
286- let ba = {
287- let bb = invoke(ae, "poolExistsREADONLY", [B, C], nil)
288- if ($isInstanceOf(bb, "Boolean"))
289- then bb
290- else throw(($getType(bb) + " couldn't be cast to Boolean"))
291- }
292- let bc = [if (!(aj(B, C)))
293- then true
294- else m(), if (!(ba))
295- then true
296- else m(), if (if (an(ao))
297- then true
298- else (getString(T()) == aN))
299- then true
300- else p(), if (if (an(ao))
301- then true
302- else (aS >= getIntegerValue(V())))
303- then true
304- else q(), if (if (an(ao))
305- then true
306- else (aT >= aV))
307- then true
308- else u(), if (if (an(ao))
309- then true
310- else (aF.amount == getInteger(U())))
311- then true
312- else v()]
313- if ((bc == bc))
314- then {
315- let bd = 3
316- let be = if ((size(ao.payments) >= bd))
317- then invoke(aZ, "burn", nil, [AttachedPayment(fromBase58String(aN), aF.amount)])
318- else unit
319- if ((be == be))
320- then [BooleanEntry(N(B, C), true), StringEntry(O(B, C), toString(ao.caller)), IntegerEntry(H(), aY), StringEntry(G(B, C), (toString(aY) + I)), IntegerEntry(R(B, C), height), StringEntry(A(B, C), J), IntegerEntry(P(B, C), aS), IntegerEntry(Q(B, C), aT), StringEntry(S(B, C), aC)]
321- else throw("Strict value is not equal to itself.")
322- }
312+ let bc = 3
313+ let bd = if ((size(al.payments) >= bc))
314+ then invoke(aY, "burn", nil, [AttachedPayment(fromBase58String(aD), aR)])
315+ else unit
316+ if ((bd == bd))
317+ then [BooleanEntry(L(z, A), true), StringEntry(M(z, A), toString(al.caller)), IntegerEntry(F(), aX), StringEntry(E(z, A), (toString(aX) + G)), IntegerEntry(P(z, A), height), StringEntry(y(z, A), H), IntegerEntry(N(z, A), aP), IntegerEntry(O(z, A), aQ)]
323318 else throw("Strict value is not equal to itself.")
324319 }
325320 else throw("Strict value is not equal to itself.")
326321 }
327322
328323
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- }
336324
337-
338-
339-@Callable(ao)
340-func create () = aB(ao, d)
341-
342-
343-
344-@Callable(ao)
345-func createStable () = {
346- let bl = aq(ao)
347- if ((bl == bl))
348- then aB(ao, e)
349- else throw("Strict value is not equal to itself.")
350- }
351-
352-
353-
354-@Callable(ao)
355-func activate (bm,B,bn,C,bo,bp) = {
356- let bc = [ar(ao), if (aj(B, C))
325+@Callable(al)
326+func activate (be,z,bf,A,bg,bh) = {
327+ let bb = [ao(al), if (ag(z, A))
357328 then true
358- else k(), if ((value(getString(A(B, C))) == J))
329+ else i(), if ((value(getString(y(z, A))) == H))
359330 then true
360- else s()]
361- if ((bc == bc))
331+ else q()]
332+ if ((bb == bb))
362333 then {
363- let bq = getString(this, S(B, C))
364- let br = invoke(ae, "activateNewPool", [bm, B, C, ((bn + bo) + "LP"), (((bn + "/") + bo) + " pool liquidity provider token"), 0, if ((bq == unit))
365- then "VLTPOOL"
366- else value(bq), bp], nil)
367- if ((br == br))
334+ let bi = invoke(ab, "activateNewPool", [be, z, A, ((bf + bg) + "LP"), (((bf + "/") + bg) + " pool liquidity provider token"), 0, "VLTPOOL", bh], nil)
335+ if ((bi == bi))
368336 then {
369- let bs = {
370- let ac = br
371- if ($isInstanceOf(ac, "String"))
337+ let bj = {
338+ let Z = bi
339+ if ($isInstanceOf(Z, "String"))
372340 then {
373- let ax = ac
374- ax
341+ let au = Z
342+ au
375343 }
376- else t()
344+ else r()
377345 }
378- if ((bs == bs))
346+ if ((bj == bj))
379347 then {
380- let bt = assetBalance(this, fromBase58String(bs))
381- if ((bt == bt))
348+ let bk = assetBalance(this, fromBase58String(bj))
349+ if ((bk == bk))
382350 then {
383- let bu = invoke(addressFromStringValue(bm), "put", [0, false], [AttachedPayment(if ((B == "WAVES"))
351+ let bl = invoke(addressFromStringValue(be), "put", [0, false], [AttachedPayment(if ((z == "WAVES"))
384352 then unit
385- else fromBase58String(B), value(getInteger(P(B, C)))), AttachedPayment(if ((C == "WAVES"))
353+ else fromBase58String(z), value(getInteger(N(z, A)))), AttachedPayment(if ((A == "WAVES"))
386354 then unit
387- else fromBase58String(C), value(getInteger(Q(B, C))))])
388- if ((bu == bu))
355+ else fromBase58String(A), value(getInteger(O(z, A))))])
356+ if ((bl == bl))
389357 then {
390- let bv = assetBalance(this, fromBase58String(bs))
391- if ((bv == bv))
358+ let bm = assetBalance(this, fromBase58String(bj))
359+ if ((bm == bm))
392360 then {
393- let bw = value(addressFromString(value(getString(O(B, C)))))
394- let bx = invoke(ai, "approve", [B, C], nil)
395- if ((bx == bx))
396- then [StringEntry(A(B, C), L), ScriptTransfer(bw, (bv - bt), fromBase58String(bs))]
361+ let bn = value(addressFromString(value(getString(M(z, A)))))
362+ let bo = invoke(af, "approve", [z, A], nil)
363+ if ((bo == bo))
364+ then [StringEntry(y(z, A), J), ScriptTransfer(bn, (bm - bk), fromBase58String(bj))]
397365 else throw("Strict value is not equal to itself.")
398366 }
399367 else throw("Strict value is not equal to itself.")
400368 }
401369 else throw("Strict value is not equal to itself.")
402370 }
403371 else throw("Strict value is not equal to itself.")
404372 }
405373 else throw("Strict value is not equal to itself.")
406374 }
407375 else throw("Strict value is not equal to itself.")
408376 }
409377 else throw("Strict value is not equal to itself.")
410378 }
411379
412380
413381
414-@Callable(ao)
415-func setAdmins (by) = {
416- let bl = aq(ao)
417- if ((bl == bl))
418- then [StringEntry(z(), makeString(by, b))]
382+@Callable(al)
383+func setAdmins (bp) = {
384+ let aF = an(al)
385+ if ((aF == aF))
386+ then [StringEntry(x(), makeString(bp, b))]
419387 else throw("Strict value is not equal to itself.")
420388 }
421389
422390
423391
424-@Callable(ao)
425-func setManager (bz) = {
426- let bl = aq(ao)
427- if ((bl == bl))
392+@Callable(al)
393+func setManager (bq) = {
394+ let aF = an(al)
395+ if ((aF == aF))
428396 then {
429- let bA = fromBase58String(bz)
430- if ((bA == bA))
431- then [StringEntry(y(), bz)]
397+ let br = fromBase58String(bq)
398+ if ((br == br))
399+ then [StringEntry(w(), bq)]
432400 else throw("Strict value is not equal to itself.")
433401 }
434402 else throw("Strict value is not equal to itself.")
435403 }
436404
437405
438406
439-@Callable(ao)
407+@Callable(al)
440408 func confirmManager () = {
441- let bB = am()
442- let bC = if (isDefined(bB))
409+ let bs = aj()
410+ let bt = if (isDefined(bs))
443411 then true
444412 else throw("No pending manager")
445- if ((bC == bC))
413+ if ((bt == bt))
446414 then {
447- let bD = if ((ao.callerPublicKey == value(bB)))
415+ let bu = if ((al.callerPublicKey == value(bs)))
448416 then true
449417 else throw("You are not pending manager")
450- if ((bD == bD))
451- then [StringEntry(x(), toBase58String(value(bB))), DeleteEntry(y())]
418+ if ((bu == bu))
419+ then [StringEntry(v(), toBase58String(value(bs))), DeleteEntry(w())]
452420 else throw("Strict value is not equal to itself.")
453421 }
454422 else throw("Strict value is not equal to itself.")
455423 }
456424
457425
458426
459-@Callable(ao)
460-func priceAssetsREADONLY () = $Tuple2(nil, aa(getString(X())))
427+@Callable(al)
428+func priceAssetsREADONLY () = $Tuple2(nil, X(getString(U())))
461429
462430
463431
464-@Callable(ao)
465-func statusREADONLY (B,C) = {
466- let aA = {
467- let ac = getString(A(B, C))
468- if ($isInstanceOf(ac, "String"))
432+@Callable(al)
433+func statusREADONLY (z,A) = {
434+ let ax = {
435+ let Z = getString(y(z, A))
436+ if ($isInstanceOf(Z, "String"))
469437 then {
470- let ad = ac
471- ad
438+ let aa = Z
439+ aa
472440 }
473441 else unit
474442 }
475- $Tuple2(nil, aA)
443+ $Tuple2(nil, ax)
476444 }
477445
478446
479-@Verifier(bE)
480-func bF () = {
481- let bG = {
482- let ac = al()
483- if ($isInstanceOf(ac, "ByteVector"))
447+@Verifier(bv)
448+func bw () = {
449+ let bx = {
450+ let Z = ai()
451+ if ($isInstanceOf(Z, "ByteVector"))
484452 then {
485- let ap = ac
486- ap
453+ let am = Z
454+ am
487455 }
488- else if ($isInstanceOf(ac, "Unit"))
489- then bE.senderPublicKey
456+ else if ($isInstanceOf(Z, "Unit"))
457+ then bv.senderPublicKey
490458 else throw("Match error")
491459 }
492- sigVerify(bE.bodyBytes, bE.proofs[0], bG)
460+ sigVerify(bv.bodyBytes, bv.proofs[0], bx)
493461 }
494462

github/deemru/w8io/873ac7e 
172.15 ms