tx · zW2PW8MLZuACT52u9w7FsurykWxCiXKPVPGd8EJSTnC

3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5:  -0.01300000 Waves

2022.09.15 15:51 [2230247] smart account 3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5 > SELF 0.00000000 Waves

{ "type": 13, "id": "zW2PW8MLZuACT52u9w7FsurykWxCiXKPVPGd8EJSTnC", "fee": 1300000, "feeAssetId": null, "timestamp": 1663246325633, "version": 1, "sender": "3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5", "senderPublicKey": "GSAhb4fdky75LiCZ4p4DDK4rmWpmsgGBg1ZVdtPfmRES", "proofs": [ "57S1X1HHLwJUc13nw9d25pW2U9nuQ8RtbxHi9ogd2BueTUfKS6cmB5mEkv3HEcaiCdVoCLPfTMDpf5giU19Zho4c" ], "script": "base64:BgIsCAISCgoICAgBAQEBAQESAwoBCBIDCgEIEgUKAwgIARIECgIICBIDCgEIEgATAANTRVACAl9fARNrZXlNYW5hZ2VyUHVibGljS2V5AAIUJXNfX21hbmFnZXJQdWJsaWNLZXkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAIbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5ARBrZXlXaXRoZHJhd0RlbGF5AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICDXdpdGhkcmF3RGVsYXkJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFWtleURlcG9zaXRGZWVQZXJtaWxsZQIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhJkZXBvc2l0RmVlUGVybWlsbGUJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFmtleVdpdGhkcmF3RmVlUGVybWlsbGUCBmFzc2V0QQZhc3NldEIJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgITd2l0aGRyYXdGZWVQZXJtaWxsZQkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCBQNuaWwFA1NFUAETa2V5TWluQW1vdW50RGVwb3NpdAIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhBtaW5BbW91bnREZXBvc2l0CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQARNrZXlBc3NldHNQYWlyU3RhdHVzAgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEGFzc2V0c1BhaXJTdGF0dXMJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFGtleU1pbkFtb3VudFdpdGhkcmF3AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEW1pbkFtb3VudFdpdGhkcmF3CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQAQprZXlCYWxhbmNlAwZhc3NldEEGYXNzZXRCC3VzZXJBZGRyZXNzCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgIHYmFsYW5jZQkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCCQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgIRdG90YWxGZWVDb2xsZWN0ZWQJAMwIAgIHZGVwb3NpdAkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCBQNuaWwFA1NFUAEca2V5VG90YWxGZWVDb2xsZWN0ZWRXaXRoZHJhdwIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICCCVzJXMlcyVzCQDMCAICEXRvdGFsRmVlQ29sbGVjdGVkCQDMCAICCHdpdGhkcmF3CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQARBrZXlBc3NldExvY2tUaW1lAwZhc3NldEEGYXNzZXRCC3VzZXJBZGRyZXNzCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgINYXNzZXRMb2NrVGltZQkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCCQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAEUa2V5UHJvY2Vzc0luUHJvZ3Jlc3MEC3VzZXJBZGRyZXNzBmFzc2V0QQZhc3NldEILaGVpZ2h0SW5LZXkJALkJAgkAzAgCAgwlcyVzJXMlcyVzJXMJAMwIAgIPd2l0aGRyYXdQcm9jZXNzCQDMCAICCmluUHJvZ3Jlc3MJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgkAzAgCCQCkAwEFC2hlaWdodEluS2V5BQNuaWwFA1NFUAEOa2V5UHJvY2Vzc0RvbmUEC3VzZXJBZGRyZXNzBmFzc2V0QQZhc3NldEILaGVpZ2h0SW5LZXkJALkJAgkAzAgCAgwlcyVzJXMlcyVzJXMJAMwIAgIPd2l0aGRyYXdQcm9jZXNzCQDMCAICBGRvbmUJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgkAzAgCCQCkAwEFC2hlaWdodEluS2V5BQNuaWwFA1NFUAEWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAEByRtYXRjaDAJAKIIAQkBE2tleU1hbmFnZXJQdWJsaWNLZXkAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkA2QQBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgEdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQABAckbWF0Y2gwCQCiCAEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQDZBAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQttdXN0TWFuYWdlcgEBaQQCcGQJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwAwkAAAIIBQFpD2NhbGxlclB1YmxpY0tleQUCcGsGBQJwZAMJAAECBQckbWF0Y2gwAgRVbml0AwkAAAIIBQFpBmNhbGxlcgUEdGhpcwYFAnBkCQACAQILTWF0Y2ggZXJyb3IBCHRocm93RXJyAQNtc2cJAAIBCQC5CQIJAMwIAgIUb3RjX211bHRpYXNzZXQucmlkZToJAMwIAgUDbXNnBQNuaWwCASAHAWkBDXJlZ2lzdGVyQXNzZXQIBmFzc2V0QQZhc3NldEINd2l0aGRyYXdEZWxheQpkZXBvc2l0RmVlC3dpdGhkcmF3RmVlEG1pbkFtb3VudERlcG9zaXQRbWluQW1vdW50V2l0aGRyYXcKcGFpclN0YXR1cwQLY2hlY2tDYWxsZXIJAQttdXN0TWFuYWdlcgEFAWkDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBBB3aXRoZHJhd0RlbGF5S2V5CQEQa2V5V2l0aGRyYXdEZWxheQIFBmFzc2V0QQUGYXNzZXRCBBVkZXBvc2l0RmVlUGVybWlsbGVLZXkJARVrZXlEZXBvc2l0RmVlUGVybWlsbGUCBQZhc3NldEEFBmFzc2V0QgQWd2l0aGRyYXdGZWVQZXJtaWxsZUtleQkBFmtleVdpdGhkcmF3RmVlUGVybWlsbGUCBQZhc3NldEEFBmFzc2V0QgQTbWluQW1vdW50RGVwb3NpdEtleQkBE2tleU1pbkFtb3VudERlcG9zaXQCBQZhc3NldEEFBmFzc2V0QgQUbWluQW1vdW50V2l0aGRyYXdLZXkJARRrZXlNaW5BbW91bnRXaXRoZHJhdwIFBmFzc2V0QQUGYXNzZXRCBA1wYWlyU3RhdHVzS2V5CQETa2V5QXNzZXRzUGFpclN0YXR1cwIFBmFzc2V0QQUGYXNzZXRCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRB3aXRoZHJhd0RlbGF5S2V5BQ13aXRoZHJhd0RlbGF5CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRVkZXBvc2l0RmVlUGVybWlsbGVLZXkFCmRlcG9zaXRGZWUJAMwIAgkBDEludGVnZXJFbnRyeQIFFndpdGhkcmF3RmVlUGVybWlsbGVLZXkFC3dpdGhkcmF3RmVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRNtaW5BbW91bnREZXBvc2l0S2V5BRBtaW5BbW91bnREZXBvc2l0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRRtaW5BbW91bnRXaXRoZHJhd0tleQURbWluQW1vdW50V2l0aGRyYXcJAMwIAgkBDEludGVnZXJFbnRyeQIFDXBhaXJTdGF0dXNLZXkFCnBhaXJTdGF0dXMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ5zd2FwQXNzZXRzQVRvQgEGYXNzZXRCBAdwYXltZW50CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAEBmFzc2V0QQkA2AQBCQEFdmFsdWUBCAUHcGF5bWVudAdhc3NldElkBAVhc3NldAkA2QQBCQEFdmFsdWUBBQZhc3NldEIEC3VzZXJBZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQQbWluQW1vdW50RGVwb3NpdAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEJARNrZXlNaW5BbW91bnREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEICH1RoaXMgYXNzZXQgcGFpciBkb2VzIG5vdCBleGlzdC4ECXRvRGVwb3NpdAgFB3BheW1lbnQGYW1vdW50BApkZXBvc2l0RmVlCQELdmFsdWVPckVsc2UCCQCfCAEJARVrZXlEZXBvc2l0RmVlUGVybWlsbGUCBQZhc3NldEEFBmFzc2V0QgAABANmZWUJAGgCCQBpAgUJdG9EZXBvc2l0AOgHBQpkZXBvc2l0RmVlBBJjdXJyZW50VXNlckJhbGFuY2UJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBCmtleUJhbGFuY2UDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MAAAQQdG90YWxDb21taXNzaW9ucwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEIAAAQJcGFpclN0YXVzCQEFdmFsdWUBCQCfCAEJARNrZXlBc3NldHNQYWlyU3RhdHVzAgUGYXNzZXRBBQZhc3NldEIED2NoZWNrUGFpclN0YXR1cwMJAAACBQlwYWlyU3RhdXMAAAYJAQh0aHJvd0VycgECIFRoZSBjb3VwbGUncyBkZXBvc2l0IGlzIGJsb2NrZWQuAwkAAAIFD2NoZWNrUGFpclN0YXR1cwUPY2hlY2tQYWlyU3RhdHVzBAxjaGVja1BheW1lbnQDCQBmAgUJdG9EZXBvc2l0BRBtaW5BbW91bnREZXBvc2l0BgkBCHRocm93RXJyAQIlU3dhcCBhbW91bnQgZmFpbCwgYW1vdW50IGlzIHRvIHNtYWxsLgMJAAACBQxjaGVja1BheW1lbnQFDGNoZWNrUGF5bWVudAQKbmV3QmFsYW5jZQkAZQIJAGQCBRJjdXJyZW50VXNlckJhbGFuY2UFCXRvRGVwb3NpdAUDZmVlBAxjaGVja0JhbGFuY2UDCQBmAgUKbmV3QmFsYW5jZQAABgkBCHRocm93RXJyAQIlU3dhcCBhbW91bnQgZmFpbCwgYW1vdW50IGlzIHRvIHNtYWxsLgMJAAACBQxjaGVja0JhbGFuY2UFDGNoZWNrQmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBCmtleUJhbGFuY2UDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MFCm5ld0JhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJARtrZXlUb3RhbEZlZUNvbGxlY3RlZERlcG9zaXQCBQZhc3NldEEFBmFzc2V0QgkAZAIFEHRvdGFsQ29tbWlzc2lvbnMFA2ZlZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFCXRvRGVwb3NpdAUFYXNzZXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARxpbml0aWFsaXphdGlvblN3YXBBc3NldHNCVG9BAQZhc3NldEEEB3BheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQGYW1vdW50CAUHcGF5bWVudAZhbW91bnQEBmFzc2V0QgkA2AQBCQEFdmFsdWUBCAUHcGF5bWVudAdhc3NldElkBAt1c2VyQWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEEG1pbkFtb3VudERlcG9zaXQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQEUa2V5TWluQW1vdW50V2l0aGRyYXcCBQZhc3NldEEFBmFzc2V0QgIfVGhpcyBhc3NldCBwYWlyIGRvZXMgbm90IGV4aXN0LgQPYXNzZXRMb2NrSGVpZ2h0CQBkAgUGaGVpZ2h0CQELdmFsdWVPckVsc2UCCQCfCAEJARBrZXlXaXRoZHJhd0RlbGF5AgUGYXNzZXRBBQZhc3NldEIAAAQSY3VycmVudFVzZXJCYWxhbmNlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBCmtleUJhbGFuY2UDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MCIVRoaXMgdXNlciBiYWxhbmNlIGRvZXMgbm90IGV4aXN0LgQQdG90YWxDb21taXNzaW9ucwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEIAAAQWd2l0aGRyYXdGZWVQZXJtaWxsZUtleQkBFmtleVdpdGhkcmF3RmVlUGVybWlsbGUCBQZhc3NldEEFBmFzc2V0QgQLd2l0aGRyYXdGZWUJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUWd2l0aGRyYXdGZWVQZXJtaWxsZUtleQAABANmZWUJAGgCCQBpAgUGYW1vdW50AOgHBQt3aXRoZHJhd0ZlZQQKbmV3QmFsYW5jZQkAZQIJAGUCBRJjdXJyZW50VXNlckJhbGFuY2UFBmFtb3VudAUDZmVlBAxjaGVja0JhbGFuY2UDCQBmAgUKbmV3QmFsYW5jZQAABgkBCHRocm93RXJyAQIlU3dhcCBhbW91bnQgZmFpbCwgYW1vdW50IGlzIHRvIHNtYWxsLgMJAAACBQxjaGVja0JhbGFuY2UFDGNoZWNrQmFsYW5jZQQMY2hlY2tQcm9jZXNzAwkAAAIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFGtleVByb2Nlc3NJblByb2dyZXNzBAULdXNlckFkZHJlc3MFBmFzc2V0QQUGYXNzZXRCBQ9hc3NldExvY2tIZWlnaHQAAAAABgkBCHRocm93RXJyAQI6QXQgdGhpcyBoZWlnaHQsIHRoZXJlIGlzIGFscmVhZHkgYW4gZXhjaGFuZ2Ugb2YgdGhpcyBwYWlyLgMJAAACBQxjaGVja1Byb2Nlc3MFDGNoZWNrUHJvY2VzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEGtleUFzc2V0TG9ja1RpbWUDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MFD2Fzc2V0TG9ja0hlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBCmtleUJhbGFuY2UDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MFCm5ld0JhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlQcm9jZXNzSW5Qcm9ncmVzcwQFC3VzZXJBZGRyZXNzBQZhc3NldEEFBmFzc2V0QgUPYXNzZXRMb2NrSGVpZ2h0CQBlAgUGYW1vdW50BQNmZWUJAMwIAgkBDEludGVnZXJFbnRyeQIJARxrZXlUb3RhbEZlZUNvbGxlY3RlZFdpdGhkcmF3AgUGYXNzZXRBBQZhc3NldEIJAGQCBRB0b3RhbENvbW1pc3Npb25zBQNmZWUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ13aXRoZHJhd0Fzc2V0AwZhc3NldEEGYXNzZXRCC2hlaWdodEluS2V5BAt1c2VyQWRkcmVzcwkApQgBCAUBaQZjYWxsZXIED2Fzc2V0TG9ja0hlaWdodAkBBXZhbHVlAQkAnwgBCQEQa2V5QXNzZXRMb2NrVGltZQMFBmFzc2V0QQUGYXNzZXRCBQt1c2VyQWRkcmVzcwQKdG9XaXRoZHJhdwkBBXZhbHVlAQkAnwgBCQEUa2V5UHJvY2Vzc0luUHJvZ3Jlc3MEBQt1c2VyQWRkcmVzcwUGYXNzZXRBBQZhc3NldEIFC2hlaWdodEluS2V5BAVhc3NldAkA2QQBCQEFdmFsdWUBBQZhc3NldEEEC2NoZWNrSGVpZ2h0AwkAZwIFBmhlaWdodAUPYXNzZXRMb2NrSGVpZ2h0BgkBCHRocm93RXJyAQkArAICCQCsAgICHVdpdGhkcmF3YWwgaXMgcG9zc2libGUgYWZ0ZXIgCQCkAwEFC2hlaWdodEluS2V5AiYgaGVpZ2h0IG9yIHlvdSBoYXZlIGFscmVhZHkgd2l0aGRyYXduLgMJAAACBQtjaGVja0hlaWdodAULY2hlY2tIZWlnaHQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBFGtleVByb2Nlc3NJblByb2dyZXNzBAULdXNlckFkZHJlc3MFBmFzc2V0QQUGYXNzZXRCBQtoZWlnaHRJbktleQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDmtleVByb2Nlc3NEb25lBAULdXNlckFkZHJlc3MFBmFzc2V0QQUGYXNzZXRCBQtoZWlnaHRJbktleQUKdG9XaXRoZHJhdwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBCmtleUJhbGFuY2UDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MFCnRvV2l0aGRyYXcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQp0b1dpdGhkcmF3BQVhc3NldAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC3dpdGhkcmF3RmVlAgZhc3NldEEGYXNzZXRCBAtjaGVja0NhbGxlcgkBC211c3RNYW5hZ2VyAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEC3RvV2l0aGRyYXdBCQELdmFsdWVPckVsc2UCCQCfCAEJARtrZXlUb3RhbEZlZUNvbGxlY3RlZERlcG9zaXQCBQZhc3NldEEFBmFzc2V0QgAABA53aXRoZHJhd0Fzc2V0QQkA2QQBCQEFdmFsdWUBBQZhc3NldEEEC3RvV2l0aGRyYXdCCQELdmFsdWVPckVsc2UCCQCfCAEJARxrZXlUb3RhbEZlZUNvbGxlY3RlZFdpdGhkcmF3AgUGYXNzZXRBBQZhc3NldEIAAAQOd2l0aGRyYXdBc3NldEIJANkEAQkBBXZhbHVlAQUGYXNzZXRCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC3RvV2l0aGRyYXdBBQ53aXRoZHJhd0Fzc2V0QQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHGtleVRvdGFsRmVlQ29sbGVjdGVkV2l0aGRyYXcCBQZhc3NldEEFBmFzc2V0QgAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgULdG9XaXRoZHJhd0IFDndpdGhkcmF3QXNzZXRCBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKc2V0TWFuYWdlcgEXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkEC2NoZWNrQ2FsbGVyCQELbXVzdE1hbmFnZXIBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgQVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQDZBAEFF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AwkAAAIFFWNoZWNrTWFuYWdlclB1YmxpY0tleQUVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQDMCAIJAQtTdHJpbmdFbnRyeQIJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAFF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEOY29uZmlybU1hbmFnZXIABAJwbQkBHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0AAQFaGFzUE0DCQEJaXNEZWZpbmVkAQUCcG0GCQEIdGhyb3dFcnIBAhJubyBwZW5kaW5nIG1hbmFnZXIDCQAAAgUFaGFzUE0FBWhhc1BNBAdjaGVja1BNAwkAAAIIBQFpD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCcG0GCQEIdGhyb3dFcnIBAht5b3UgYXJlIG5vdCBwZW5kaW5nIG1hbmFnZXIDCQAAAgUHY2hlY2tQTQUHY2hlY2tQTQkAzAgCCQELU3RyaW5nRW50cnkCCQETa2V5TWFuYWdlclB1YmxpY0tleQAJANgEAQkBBXZhbHVlAQUCcG0JAMwIAgkBC0RlbGV0ZUVudHJ5AQkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAQPdGFyZ2V0UHVibGljS2V5BAckbWF0Y2gwCQEWbWFuYWdlclB1YmxpY0tleU9yVW5pdAADCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQCcGsFByRtYXRjaDAFAnBrAwkAAQIFByRtYXRjaDACBFVuaXQIBQJ0eA9zZW5kZXJQdWJsaWNLZXkJAAIBAgtNYXRjaCBlcnJvcgkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUPdGFyZ2V0UHVibGljS2V5MSfnAw==", "chainId": 84, "height": 2230247, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AyvHf53oAhd9xGmjEpdmTPbpRPDdc5VkPoxrs5NMKyvo Next: 88Q9PZWhruvsXjkn5kzxLGt7NHAMuhFccib1Tfr58XbS Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func a () = "%s__managerPublicKey"
4+let a = "__"
5+
6+func b () = "%s__managerPublicKey"
57
68
7-func b (c,d) = makeString(["%s%s%s__withdrawDelay", c, d], "__")
9+func c () = "%s__pendingManagerPublicKey"
810
911
10-func e (c,d) = makeString(["%s%s%s__depositFeePermille", c, d], "__")
12+func d (e,f) = makeString(["%s%s%s", "withdrawDelay", e, f], a)
1113
1214
13-func f (c,d) = makeString(["%s%s%s__withdrawFeePermille", c, d], "__")
15+func g (e,f) = makeString(["%s%s%s", "depositFeePermille", e, f], a)
1416
1517
16-func g (c,d) = makeString(["%s%s%s__minAmountDeposit", c, d], "__")
18+func h (e,f) = makeString(["%s%s%s", "withdrawFeePermille", e, f], a)
1719
1820
19-func h (c,d) = makeString(["%s%s%s__assetsPairStatus", c, d], "__")
21+func i (e,f) = makeString(["%s%s%s", "minAmountDeposit", e, f], a)
2022
2123
22-func i (c,d) = makeString(["%s%s%s__minAmountWithdraw", c, d], "__")
24+func j (e,f) = makeString(["%s%s%s", "assetsPairStatus", e, f], a)
2325
2426
25-func j (c,d,k) = makeString(["%s%s%s%s__balance", c, d, k], "__")
27+func k (e,f) = makeString(["%s%s%s", "minAmountWithdraw", e, f], a)
2628
2729
28-func l (c,d) = makeString(["%s%s%s%s__totalCommissionsCollected__deposit", c, d], "__")
30+func l (e,f,m) = makeString(["%s%s%s%s", "balance", e, f, m], a)
2931
3032
31-func m (c,d) = makeString(["%s%s%s%s__totalCommissionsCollected__withdraw", c, d], "__")
33+func n (e,f) = makeString(["%s%s%s%s", "totalFeeCollected", "deposit", e, f], a)
3234
3335
34-func n (c,d,k) = makeString(["%s%s%s%s__assetLockTime", c, d, k], "__")
36+func o (e,f) = makeString(["%s%s%s%s", "totalFeeCollected", "withdraw", e, f], a)
3537
3638
37-func o (k,c,d,p) = makeString(["%s%s%s%s__withdrawProcess__inProgress", k, c, d, toString(p)], "__")
39+func p (e,f,m) = makeString(["%s%s%s%s", "assetLockTime", e, f, m], a)
3840
3941
40-func q (k,c,d,p) = makeString(["%s%s%s%s__withdrawProcess__done", k, c, d, toString(p)], "__")
42+func q (m,e,f,r) = makeString(["%s%s%s%s%s%s", "withdrawProcess", "inProgress", m, e, f, toString(r)], a)
4143
4244
43-func r () = {
44- let s = getString(a())
45- if ($isInstanceOf(s, "String"))
45+func s (m,e,f,r) = makeString(["%s%s%s%s%s%s", "withdrawProcess", "done", m, e, f, toString(r)], a)
46+
47+
48+func t () = {
49+ let u = getString(b())
50+ if ($isInstanceOf(u, "String"))
4651 then {
47- let t = s
48- fromBase58String(t)
52+ let v = u
53+ fromBase58String(v)
4954 }
50- else if ($isInstanceOf(s, "Unit"))
55+ else if ($isInstanceOf(u, "Unit"))
5156 then unit
5257 else throw("Match error")
5358 }
5459
5560
56-func u (v) = {
57- let w = throw("Permission denied")
58- let s = r()
59- if ($isInstanceOf(s, "ByteVector"))
61+func w () = {
62+ let u = getString(c())
63+ if ($isInstanceOf(u, "String"))
6064 then {
61- let x = s
62- if ((v.callerPublicKey == x))
63- then true
64- else w
65+ let v = u
66+ fromBase58String(v)
6567 }
66- else if ($isInstanceOf(s, "Unit"))
67- then if ((v.caller == this))
68- then true
69- else w
68+ else if ($isInstanceOf(u, "Unit"))
69+ then unit
7070 else throw("Match error")
7171 }
7272
7373
74-@Callable(v)
75-func registerAsset (c,d,y,z,A,B,C,D) = {
76- let E = u(v)
77- if ((E == E))
74+func x (y) = {
75+ let z = throw("Permission denied")
76+ let u = t()
77+ if ($isInstanceOf(u, "ByteVector"))
7878 then {
79- let F = b(c, d)
80- let G = e(c, d)
81- let H = f(c, d)
82- let I = g(c, d)
83- let J = i(c, d)
84- let K = h(c, d)
85-[IntegerEntry(F, y), IntegerEntry(G, z), IntegerEntry(H, A), IntegerEntry(I, B), IntegerEntry(J, C), IntegerEntry(K, D)]
79+ let A = u
80+ if ((y.callerPublicKey == A))
81+ then true
82+ else z
83+ }
84+ else if ($isInstanceOf(u, "Unit"))
85+ then if ((y.caller == this))
86+ then true
87+ else z
88+ else throw("Match error")
89+ }
90+
91+
92+func B (C) = throw(makeString(["otc_multiasset.ride:", C], " "))
93+
94+
95+@Callable(y)
96+func registerAsset (e,f,D,E,F,G,H,I) = {
97+ let J = x(y)
98+ if ((J == J))
99+ then {
100+ let K = d(e, f)
101+ let L = g(e, f)
102+ let M = h(e, f)
103+ let N = i(e, f)
104+ let O = k(e, f)
105+ let P = j(e, f)
106+[IntegerEntry(K, D), IntegerEntry(L, E), IntegerEntry(M, F), IntegerEntry(N, G), IntegerEntry(O, H), IntegerEntry(P, I)]
86107 }
87108 else throw("Strict value is not equal to itself.")
88109 }
89110
90111
91112
92-@Callable(v)
93-func swapAssetsAToB (d) = {
94- let L = value(v.payments[0])
95- let c = toBase58String(value(L.assetId))
96- let k = toString(v.caller)
97- let B = valueOrErrorMessage(getInteger(g(c, d)), "This asset pair does not exist.")
98- let M = L.amount
99- let G = e(c, d)
100- let z = valueOrElse(getInteger(this, G), 0)
101- let N = ((M / 1000) * z)
102- let O = valueOrElse(getInteger(j(c, d, k)), 0)
103- let P = valueOrElse(getInteger(l(c, d)), 0)
104- let Q = fromBase58String(value(d))
105- if ((value(getInteger(h(c, d))) != 0))
106- then throw("The couple's deposit is blocked.")
107- else if ((B > L.amount))
108- then throw("Swap amount fail, amount is to small.")
109- else [IntegerEntry(j(c, d, k), ((O + L.amount) - N)), IntegerEntry(l(c, d), (P + N)), ScriptTransfer(v.caller, M, Q)]
110- }
111-
112-
113-
114-@Callable(v)
115-func initializationSwapAssetsBToA (c,d) = {
116- let L = value(v.payments[0])
117- let R = L.amount
118- let k = toString(v.caller)
119- let B = valueOrErrorMessage(getInteger(i(c, d)), "This asset pair does not exist.")
120- let S = (height + valueOrElse(getInteger(b(c, d)), 0))
121- let O = valueOrErrorMessage(getInteger(j(c, d, k)), "This user balance does not exist.")
122- let P = valueOrElse(getInteger(l(c, d)), 0)
123- let H = f(c, d)
124- let A = valueOrElse(getInteger(H), 0)
125- let N = ((R / 1000) * A)
126-[IntegerEntry(n(c, d, k), S), IntegerEntry(j(c, d, k), ((O - R) - N)), IntegerEntry(o(k, c, d, S), (R - N)), IntegerEntry(m(c, d), (P + N))]
127- }
128-
129-
130-
131-@Callable(v)
132-func withdrawAsset (c,d,p) = {
133- let k = toString(v.caller)
134- let T = valueOrElse(getInteger(n(c, d, k)), 0)
135- let U = valueOrElse(getInteger(o(k, c, d, p)), 0)
136- let Q = fromBase58String(value(c))
137- if ((height > T))
138- then throw((("Withdrawal is possible after " + toString(p)) + " height or you have already withdrawn."))
139- else [DeleteEntry(o(k, c, d, p)), IntegerEntry(q(k, c, d, p), U), IntegerEntry(j(c, d, k), U), ScriptTransfer(v.caller, U, Q)]
140- }
141-
142-
143-
144-@Callable(v)
145-func withdrawFee (c,d) = {
146- let E = u(v)
147- if ((E == E))
113+@Callable(y)
114+func swapAssetsAToB (f) = {
115+ let Q = value(y.payments[0])
116+ let e = toBase58String(value(Q.assetId))
117+ let R = fromBase58String(value(f))
118+ let m = toString(y.caller)
119+ let G = valueOrErrorMessage(getInteger(i(e, f)), "This asset pair does not exist.")
120+ let S = Q.amount
121+ let E = valueOrElse(getInteger(g(e, f)), 0)
122+ let T = ((S / 1000) * E)
123+ let U = valueOrElse(getInteger(l(e, f, m)), 0)
124+ let V = valueOrElse(getInteger(n(e, f)), 0)
125+ let W = value(getInteger(j(e, f)))
126+ let X = if ((W == 0))
127+ then true
128+ else B("The couple's deposit is blocked.")
129+ if ((X == X))
148130 then {
149- let V = valueOrElse(getInteger(l(c, d)), 0)
150- let W = fromBase58String(value(c))
151- let X = valueOrElse(getInteger(m(c, d)), 0)
152- let Y = fromBase58String(value(d))
153-[IntegerEntry(l(c, d), 0), ScriptTransfer(v.caller, V, W), IntegerEntry(m(c, d), 0), ScriptTransfer(v.caller, X, Y)]
131+ let Y = if ((S > G))
132+ then true
133+ else B("Swap amount fail, amount is to small.")
134+ if ((Y == Y))
135+ then {
136+ let Z = ((U + S) - T)
137+ let aa = if ((Z > 0))
138+ then true
139+ else B("Swap amount fail, amount is to small.")
140+ if ((aa == aa))
141+ then [IntegerEntry(l(e, f, m), Z), IntegerEntry(n(e, f), (V + T)), ScriptTransfer(y.caller, S, R)]
142+ else throw("Strict value is not equal to itself.")
143+ }
144+ else throw("Strict value is not equal to itself.")
154145 }
155146 else throw("Strict value is not equal to itself.")
156147 }
157148
158149
159-@Verifier(Z)
160-func aa () = {
161- let ab = {
162- let s = r()
163- if ($isInstanceOf(s, "ByteVector"))
150+
151+@Callable(y)
152+func initializationSwapAssetsBToA (e) = {
153+ let Q = value(y.payments[0])
154+ let ab = Q.amount
155+ let f = toBase58String(value(Q.assetId))
156+ let m = toString(y.caller)
157+ let G = valueOrErrorMessage(getInteger(k(e, f)), "This asset pair does not exist.")
158+ let ac = (height + valueOrElse(getInteger(d(e, f)), 0))
159+ let U = valueOrErrorMessage(getInteger(l(e, f, m)), "This user balance does not exist.")
160+ let V = valueOrElse(getInteger(n(e, f)), 0)
161+ let M = h(e, f)
162+ let F = valueOrElse(getInteger(M), 0)
163+ let T = ((ab / 1000) * F)
164+ let Z = ((U - ab) - T)
165+ let aa = if ((Z > 0))
166+ then true
167+ else B("Swap amount fail, amount is to small.")
168+ if ((aa == aa))
169+ then {
170+ let ad = if ((valueOrElse(getInteger(q(m, e, f, ac)), 0) == 0))
171+ then true
172+ else B("At this height, there is already an exchange of this pair.")
173+ if ((ad == ad))
174+ then [IntegerEntry(p(e, f, m), ac), IntegerEntry(l(e, f, m), Z), IntegerEntry(q(m, e, f, ac), (ab - T)), IntegerEntry(o(e, f), (V + T))]
175+ else throw("Strict value is not equal to itself.")
176+ }
177+ else throw("Strict value is not equal to itself.")
178+ }
179+
180+
181+
182+@Callable(y)
183+func withdrawAsset (e,f,r) = {
184+ let m = toString(y.caller)
185+ let ac = value(getInteger(p(e, f, m)))
186+ let ae = value(getInteger(q(m, e, f, r)))
187+ let R = fromBase58String(value(e))
188+ let af = if ((height >= ac))
189+ then true
190+ else B((("Withdrawal is possible after " + toString(r)) + " height or you have already withdrawn."))
191+ if ((af == af))
192+ then [DeleteEntry(q(m, e, f, r)), IntegerEntry(s(m, e, f, r), ae), IntegerEntry(l(e, f, m), ae), ScriptTransfer(y.caller, ae, R)]
193+ else throw("Strict value is not equal to itself.")
194+ }
195+
196+
197+
198+@Callable(y)
199+func withdrawFee (e,f) = {
200+ let J = x(y)
201+ if ((J == J))
202+ then {
203+ let ag = valueOrElse(getInteger(n(e, f)), 0)
204+ let ah = fromBase58String(value(e))
205+ let ai = valueOrElse(getInteger(o(e, f)), 0)
206+ let aj = fromBase58String(value(f))
207+[IntegerEntry(n(e, f), 0), ScriptTransfer(y.caller, ag, ah), IntegerEntry(o(e, f), 0), ScriptTransfer(y.caller, ai, aj)]
208+ }
209+ else throw("Strict value is not equal to itself.")
210+ }
211+
212+
213+
214+@Callable(y)
215+func setManager (ak) = {
216+ let J = x(y)
217+ if ((J == J))
218+ then {
219+ let al = fromBase58String(ak)
220+ if ((al == al))
221+ then [StringEntry(c(), ak)]
222+ else throw("Strict value is not equal to itself.")
223+ }
224+ else throw("Strict value is not equal to itself.")
225+ }
226+
227+
228+
229+@Callable(y)
230+func confirmManager () = {
231+ let am = w()
232+ let an = if (isDefined(am))
233+ then true
234+ else B("no pending manager")
235+ if ((an == an))
236+ then {
237+ let ao = if ((y.callerPublicKey == value(am)))
238+ then true
239+ else B("you are not pending manager")
240+ if ((ao == ao))
241+ then [StringEntry(b(), toBase58String(value(am))), DeleteEntry(c())]
242+ else throw("Strict value is not equal to itself.")
243+ }
244+ else throw("Strict value is not equal to itself.")
245+ }
246+
247+
248+@Verifier(ap)
249+func aq () = {
250+ let ar = {
251+ let u = t()
252+ if ($isInstanceOf(u, "ByteVector"))
164253 then {
165- let x = s
166- x
254+ let A = u
255+ A
167256 }
168- else if ($isInstanceOf(s, "Unit"))
169- then Z.senderPublicKey
257+ else if ($isInstanceOf(u, "Unit"))
258+ then ap.senderPublicKey
170259 else throw("Match error")
171260 }
172- sigVerify(Z.bodyBytes, Z.proofs[0], ab)
261+ sigVerify(ap.bodyBytes, ap.proofs[0], ar)
173262 }
174263

github/deemru/w8io/169f3d6 
81.22 ms