tx · DGecdSHjdG1GaWE3gzw87i9fhzp2LrhjbqZdoSuECG7r

3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5:  -0.01400000 Waves

2022.09.19 11:05 [2235748] smart account 3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5 > SELF 0.00000000 Waves

{ "type": 13, "id": "DGecdSHjdG1GaWE3gzw87i9fhzp2LrhjbqZdoSuECG7r", "fee": 1400000, "feeAssetId": null, "timestamp": 1663574734928, "version": 1, "sender": "3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5", "senderPublicKey": "GSAhb4fdky75LiCZ4p4DDK4rmWpmsgGBg1ZVdtPfmRES", "proofs": [ "28GCage8E1MCRnc9DBxFTStgbczor57RTx3LQmwkacEP7RvpnCnqxLQpAhen9hgkKQSpSVNtLNUatnA9zDsV3gjs" ], "script": "base64:BgIsCAISCgoICAgBAQEBAQESAwoBCBIDCgEIEgUKAwgIARIECgIICBIDCgEIEgAUAANTRVACAl9fARNrZXlNYW5hZ2VyUHVibGljS2V5AAIUJXNfX21hbmFnZXJQdWJsaWNLZXkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAIbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5ARBrZXlXaXRoZHJhd0RlbGF5AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICDXdpdGhkcmF3RGVsYXkJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFWtleURlcG9zaXRGZWVQZXJtaWxsZQIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhJkZXBvc2l0RmVlUGVybWlsbGUJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFmtleVdpdGhkcmF3RmVlUGVybWlsbGUCBmFzc2V0QQZhc3NldEIJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgITd2l0aGRyYXdGZWVQZXJtaWxsZQkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCBQNuaWwFA1NFUAETa2V5TWluQW1vdW50RGVwb3NpdAIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhBtaW5BbW91bnREZXBvc2l0CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQARNrZXlBc3NldHNQYWlyU3RhdHVzAgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEGFzc2V0c1BhaXJTdGF0dXMJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFGtleU1pbkFtb3VudFdpdGhkcmF3AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEW1pbkFtb3VudFdpdGhkcmF3CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQAQprZXlCYWxhbmNlAwZhc3NldEEGYXNzZXRCC3VzZXJBZGRyZXNzCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgIHYmFsYW5jZQkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCCQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgIRdG90YWxGZWVDb2xsZWN0ZWQJAMwIAgIHZGVwb3NpdAkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCBQNuaWwFA1NFUAEca2V5VG90YWxGZWVDb2xsZWN0ZWRXaXRoZHJhdwIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICCCVzJXMlcyVzCQDMCAICEXRvdGFsRmVlQ29sbGVjdGVkCQDMCAICCHdpdGhkcmF3CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQARBrZXlBc3NldExvY2tUaW1lAwZhc3NldEEGYXNzZXRCC3VzZXJBZGRyZXNzCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgINYXNzZXRMb2NrVGltZQkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCCQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAEUa2V5UHJvY2Vzc0luUHJvZ3Jlc3MEC3VzZXJBZGRyZXNzBmFzc2V0QQZhc3NldEILaGVpZ2h0SW5LZXkJALkJAgkAzAgCAgwlcyVzJXMlcyVzJWQJAMwIAgIPd2l0aGRyYXdQcm9jZXNzCQDMCAICCmluUHJvZ3Jlc3MJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgkAzAgCCQCkAwEFC2hlaWdodEluS2V5BQNuaWwFA1NFUAEOa2V5UHJvY2Vzc0RvbmUEC3VzZXJBZGRyZXNzBmFzc2V0QQZhc3NldEILaGVpZ2h0SW5LZXkJALkJAgkAzAgCAgwlcyVzJXMlcyVzJWQJAMwIAgIPd2l0aGRyYXdQcm9jZXNzCQDMCAICBGRvbmUJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgkAzAgCCQCkAwEFC2hlaWdodEluS2V5BQNuaWwFA1NFUAEWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAEByRtYXRjaDAJAKIIAQkBE2tleU1hbmFnZXJQdWJsaWNLZXkAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkA2QQBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgEdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQABAckbWF0Y2gwCQCiCAEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQDZBAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQttdXN0TWFuYWdlcgEBaQQCcGQJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwAwkAAAIIBQFpD2NhbGxlclB1YmxpY0tleQUCcGsGBQJwZAMJAAECBQckbWF0Y2gwAgRVbml0AwkAAAIIBQFpBmNhbGxlcgUEdGhpcwYFAnBkCQACAQILTWF0Y2ggZXJyb3IBBmZtdEVycgEDbXNnCQC5CQIJAMwIAgIUb3RjX211bHRpYXNzZXQucmlkZToJAMwIAgUDbXNnBQNuaWwCASABCHRocm93RXJyAQNtc2cJAAIBCQEGZm10RXJyAQUDbXNnBwFpAQ1yZWdpc3RlckFzc2V0CAZhc3NldEEGYXNzZXRCDXdpdGhkcmF3RGVsYXkKZGVwb3NpdEZlZQt3aXRoZHJhd0ZlZRBtaW5BbW91bnREZXBvc2l0EW1pbkFtb3VudFdpdGhkcmF3CnBhaXJTdGF0dXMEC2NoZWNrQ2FsbGVyCQELbXVzdE1hbmFnZXIBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgQQd2l0aGRyYXdEZWxheUtleQkBEGtleVdpdGhkcmF3RGVsYXkCBQZhc3NldEEFBmFzc2V0QgQVZGVwb3NpdEZlZVBlcm1pbGxlS2V5CQEVa2V5RGVwb3NpdEZlZVBlcm1pbGxlAgUGYXNzZXRBBQZhc3NldEIEFndpdGhkcmF3RmVlUGVybWlsbGVLZXkJARZrZXlXaXRoZHJhd0ZlZVBlcm1pbGxlAgUGYXNzZXRBBQZhc3NldEIEE21pbkFtb3VudERlcG9zaXRLZXkJARNrZXlNaW5BbW91bnREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEIEFG1pbkFtb3VudFdpdGhkcmF3S2V5CQEUa2V5TWluQW1vdW50V2l0aGRyYXcCBQZhc3NldEEFBmFzc2V0QgQNcGFpclN0YXR1c0tleQkBE2tleUFzc2V0c1BhaXJTdGF0dXMCBQZhc3NldEEFBmFzc2V0QgkAzAgCCQEMSW50ZWdlckVudHJ5AgUQd2l0aGRyYXdEZWxheUtleQUNd2l0aGRyYXdEZWxheQkAzAgCCQEMSW50ZWdlckVudHJ5AgUVZGVwb3NpdEZlZVBlcm1pbGxlS2V5BQpkZXBvc2l0RmVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRZ3aXRoZHJhd0ZlZVBlcm1pbGxlS2V5BQt3aXRoZHJhd0ZlZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUTbWluQW1vdW50RGVwb3NpdEtleQUQbWluQW1vdW50RGVwb3NpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUbWluQW1vdW50V2l0aGRyYXdLZXkFEW1pbkFtb3VudFdpdGhkcmF3CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1wYWlyU3RhdHVzS2V5BQpwYWlyU3RhdHVzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEOc3dhcEFzc2V0c0FUb0IBBmFzc2V0QgQHcGF5bWVudAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABAZhc3NldEEJANgEAQkBBXZhbHVlAQgFB3BheW1lbnQHYXNzZXRJZAQFYXNzZXQJANkEAQkBBXZhbHVlAQUGYXNzZXRCBAt1c2VyQWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEEG1pbkFtb3VudERlcG9zaXQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQETa2V5TWluQW1vdW50RGVwb3NpdAIFBmFzc2V0QQUGYXNzZXRCCQEGZm10RXJyAQIfVGhpcyBhc3NldCBwYWlyIGRvZXMgbm90IGV4aXN0LgQJdG9EZXBvc2l0CAUHcGF5bWVudAZhbW91bnQECmRlcG9zaXRGZWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQEVa2V5RGVwb3NpdEZlZVBlcm1pbGxlAgUGYXNzZXRBBQZhc3NldEIJAQZmbXRFcnIBAjNUaGUgZGVwb3NpdCBmZWUgZm9yIHRoaXMgcGFpciBvZiBhc3NldHMgaXMgbm90IHNldC4EA2ZlZQkAaAIJAGkCBQl0b0RlcG9zaXQA6AcFCmRlcG9zaXRGZWUEEmN1cnJlbnRVc2VyQmFsYW5jZQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEKa2V5QmFsYW5jZQMFBmFzc2V0QQUGYXNzZXRCBQt1c2VyQWRkcmVzcwAABBB0b3RhbENvbW1pc3Npb25zCQELdmFsdWVPckVsc2UCCQCfCAEJARtrZXlUb3RhbEZlZUNvbGxlY3RlZERlcG9zaXQCBQZhc3NldEEFBmFzc2V0QgAABAlwYWlyU3RhdXMJAQV2YWx1ZQEJAJ8IAQkBE2tleUFzc2V0c1BhaXJTdGF0dXMCBQZhc3NldEEFBmFzc2V0QgQPY2hlY2tQYWlyU3RhdHVzAwkAAAIFCXBhaXJTdGF1cwAABgkBCHRocm93RXJyAQIgVGhlIGNvdXBsZSdzIGRlcG9zaXQgaXMgYmxvY2tlZC4DCQAAAgUPY2hlY2tQYWlyU3RhdHVzBQ9jaGVja1BhaXJTdGF0dXMEDGNoZWNrUGF5bWVudAMJAGcCBQl0b0RlcG9zaXQFEG1pbkFtb3VudERlcG9zaXQGCQEIdGhyb3dFcnIBAixUaGUgZGVwb3NpdCBhbW91bnQgaXMgbGVzcyB0aGFuIHRoZSBtaW5pbXVtLgMJAAACBQxjaGVja1BheW1lbnQFDGNoZWNrUGF5bWVudAQKbmV3QmFsYW5jZQkAZQIJAGQCBRJjdXJyZW50VXNlckJhbGFuY2UFCXRvRGVwb3NpdAUDZmVlBAxjaGVja0JhbGFuY2UDCQBmAgUKbmV3QmFsYW5jZQAABgkBCHRocm93RXJyAQItVGhlIGZpbmFsIGJhbGFuY2UgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuAwkAAAIFDGNoZWNrQmFsYW5jZQUMY2hlY2tCYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEKa2V5QmFsYW5jZQMFBmFzc2V0QQUGYXNzZXRCBQt1c2VyQWRkcmVzcwUKbmV3QmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBG2tleVRvdGFsRmVlQ29sbGVjdGVkRGVwb3NpdAIFBmFzc2V0QQUGYXNzZXRCCQBkAgUQdG90YWxDb21taXNzaW9ucwUDZmVlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgkAZQIFCXRvRGVwb3NpdAUDZmVlBQVhc3NldAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBHGluaXRpYWxpemF0aW9uU3dhcEFzc2V0c0JUb0EBBmFzc2V0QQQHcGF5bWVudAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABAp0b1dpdGhkcmF3CAUHcGF5bWVudAZhbW91bnQEBmFzc2V0QgkA2AQBCQEFdmFsdWUBCAUHcGF5bWVudAdhc3NldElkBAt1c2VyQWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEEW1pbkFtb3VudFdpdGhkcmF3CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBFGtleU1pbkFtb3VudFdpdGhkcmF3AgUGYXNzZXRBBQZhc3NldEIJAQZmbXRFcnIBAkFUaGUgbWluaW11bSB3aXRoZHJhd2FsIGFtb3VudCBmb3IgdGhpcyBwYWlyIG9mIGFzc2V0cyBpcyBub3Qgc2V0LgQPYXNzZXRMb2NrSGVpZ2h0CQBkAgUGaGVpZ2h0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBEGtleVdpdGhkcmF3RGVsYXkCBQZhc3NldEEFBmFzc2V0QgkBBmZtdEVycgECM1dpdGhkcmF3YWwgZGVsYXkgaXMgbm90IHNldCBmb3IgdGhlIHNwZWNpZmllZCBwYWlyLgQSY3VycmVudFVzZXJCYWxhbmNlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBCmtleUJhbGFuY2UDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MJAQZmbXRFcnIBAiFUaGlzIHVzZXIgYmFsYW5jZSBkb2VzIG5vdCBleGlzdC4EEHRvdGFsQ29tbWlzc2lvbnMJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBG2tleVRvdGFsRmVlQ29sbGVjdGVkRGVwb3NpdAIFBmFzc2V0QQUGYXNzZXRCAAAEFndpdGhkcmF3RmVlUGVybWlsbGVLZXkJARZrZXlXaXRoZHJhd0ZlZVBlcm1pbGxlAgUGYXNzZXRBBQZhc3NldEIEC3dpdGhkcmF3RmVlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQUWd2l0aGRyYXdGZWVQZXJtaWxsZUtleQkBBmZtdEVycgECNlRoZSB3aXRoZHJhd2FsIGZlZSBmb3IgdGhpcyBwYWlyIG9mIGFzc2V0cyBpcyBub3Qgc2V0LgQDZmVlCQBoAgkAaQIFCnRvV2l0aGRyYXcA6AcFC3dpdGhkcmF3RmVlBApuZXdCYWxhbmNlCQBlAgUSY3VycmVudFVzZXJCYWxhbmNlBQp0b1dpdGhkcmF3BAxjaGVja0JhbGFuY2UDCQBnAgUKbmV3QmFsYW5jZQAABgkBCHRocm93RXJyAQIlU3dhcCBhbW91bnQgZmFpbCwgYW1vdW50IGlzIHRvIHNtYWxsLgMJAAACBQxjaGVja0JhbGFuY2UFDGNoZWNrQmFsYW5jZQQMY2hlY2tQYXltZW50AwkAZwIFCnRvV2l0aGRyYXcFEW1pbkFtb3VudFdpdGhkcmF3BgkBCHRocm93RXJyAQItVGhlIHdpdGhkcmF3IGFtb3VudCBpcyBsZXNzIHRoYW4gdGhlIG1pbmltdW0uAwkAAAIFDGNoZWNrUGF5bWVudAUMY2hlY2tQYXltZW50BBRjaGVja0Fzc2V0TG9ja0hlaWdodAMJAQIhPQIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBEGtleUFzc2V0TG9ja1RpbWUDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MAAAUPYXNzZXRMb2NrSGVpZ2h0BgkBCHRocm93RXJyAQI6QXQgdGhpcyBoZWlnaHQsIHRoZXJlIGlzIGFscmVhZHkgYW4gZXhjaGFuZ2Ugb2YgdGhpcyBwYWlyLgMJAAACBRRjaGVja0Fzc2V0TG9ja0hlaWdodAUUY2hlY2tBc3NldExvY2tIZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIJARBrZXlBc3NldExvY2tUaW1lAwUGYXNzZXRBBQZhc3NldEIFC3VzZXJBZGRyZXNzBQ9hc3NldExvY2tIZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQprZXlCYWxhbmNlAwUGYXNzZXRBBQZhc3NldEIFC3VzZXJBZGRyZXNzBQpuZXdCYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEUa2V5UHJvY2Vzc0luUHJvZ3Jlc3MEBQt1c2VyQWRkcmVzcwUGYXNzZXRBBQZhc3NldEIFD2Fzc2V0TG9ja0hlaWdodAkAZQIFCnRvV2l0aGRyYXcFA2ZlZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHGtleVRvdGFsRmVlQ29sbGVjdGVkV2l0aGRyYXcCBQZhc3NldEEFBmFzc2V0QgkAZAIFEHRvdGFsQ29tbWlzc2lvbnMFA2ZlZQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDXdpdGhkcmF3QXNzZXQDBmFzc2V0QQZhc3NldEILaGVpZ2h0SW5LZXkEC3VzZXJBZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQPYXNzZXRMb2NrSGVpZ2h0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBEGtleUFzc2V0TG9ja1RpbWUDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MJAQZmbXRFcnIBAjFBbiBhc3NldCBwYWlyIG9yIGhlaWdodCBpcyBzcGVjaWZpZWQgaW5jb3JyZWN0bHkuBAp0b1dpdGhkcmF3CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBFGtleVByb2Nlc3NJblByb2dyZXNzBAULdXNlckFkZHJlc3MFBmFzc2V0QQUGYXNzZXRCBQtoZWlnaHRJbktleQkBBmZtdEVycgECRkF0IHRoaXMgaGVpZ2h0LCB3aXRoZHJhdyB3YXMgbm90IGluaXRpYWxpemVkIHdpdGggdGhpcyBwYWlyIG9mIGFzc2V0cy4EBWFzc2V0CQDZBAEJAQV2YWx1ZQEFBmFzc2V0QQQLY2hlY2tIZWlnaHQDCQBnAgUGaGVpZ2h0BQ9hc3NldExvY2tIZWlnaHQGCQEIdGhyb3dFcnIBCQCsAgIJAKwCAgIdV2l0aGRyYXdhbCBpcyBwb3NzaWJsZSBhZnRlciAJAKQDAQULaGVpZ2h0SW5LZXkCJiBoZWlnaHQgb3IgeW91IGhhdmUgYWxyZWFkeSB3aXRoZHJhd24uAwkAAAIFC2NoZWNrSGVpZ2h0BQtjaGVja0hlaWdodAkAzAgCCQELRGVsZXRlRW50cnkBCQEUa2V5UHJvY2Vzc0luUHJvZ3Jlc3MEBQt1c2VyQWRkcmVzcwUGYXNzZXRBBQZhc3NldEIFC2hlaWdodEluS2V5CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEOa2V5UHJvY2Vzc0RvbmUEBQt1c2VyQWRkcmVzcwUGYXNzZXRBBQZhc3NldEIFC2hlaWdodEluS2V5BQp0b1dpdGhkcmF3CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUKdG9XaXRoZHJhdwUFYXNzZXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQt3aXRoZHJhd0ZlZQIGYXNzZXRBBmFzc2V0QgQLY2hlY2tDYWxsZXIJAQttdXN0TWFuYWdlcgEFAWkDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBAt0b1dpdGhkcmF3QQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEIAAAQOd2l0aGRyYXdBc3NldEEJANkEAQkBBXZhbHVlAQUGYXNzZXRBBAt0b1dpdGhkcmF3QgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEca2V5VG90YWxGZWVDb2xsZWN0ZWRXaXRoZHJhdwIFBmFzc2V0QQUGYXNzZXRCAAAEDndpdGhkcmF3QXNzZXRCCQDZBAEJAQV2YWx1ZQEFBmFzc2V0QgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBG2tleVRvdGFsRmVlQ29sbGVjdGVkRGVwb3NpdAIFBmFzc2V0QQUGYXNzZXRCAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQt0b1dpdGhkcmF3QQUOd2l0aGRyYXdBc3NldEEJAMwIAgkBDEludGVnZXJFbnRyeQIJARxrZXlUb3RhbEZlZUNvbGxlY3RlZFdpdGhkcmF3AgUGYXNzZXRBBQZhc3NldEIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC3RvV2l0aGRyYXdCBQ53aXRoZHJhd0Fzc2V0QgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCnNldE1hbmFnZXIBF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5BAtjaGVja0NhbGxlcgkBC211c3RNYW5hZ2VyAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEFWNoZWNrTWFuYWdlclB1YmxpY0tleQkA2QQBBRdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQMJAAACBRVjaGVja01hbmFnZXJQdWJsaWNLZXkFFWNoZWNrTWFuYWdlclB1YmxpY0tleQkAzAgCCQELU3RyaW5nRW50cnkCCQEaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkABRdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDmNvbmZpcm1NYW5hZ2VyAAQCcG0JAR1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAEBWhhc1BNAwkBCWlzRGVmaW5lZAEFAnBtBgkBCHRocm93RXJyAQISbm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFBWhhc1BNBQVoYXNQTQQHY2hlY2tQTQMJAAACCAUBaQ9jYWxsZXJQdWJsaWNLZXkJAQV2YWx1ZQEFAnBtBgkBCHRocm93RXJyAQIbeW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFB2NoZWNrUE0FB2NoZWNrUE0JAMwIAgkBC1N0cmluZ0VudHJ5AgkBE2tleU1hbmFnZXJQdWJsaWNLZXkACQDYBAEJAQV2YWx1ZQEFAnBtCQDMCAIJAQtEZWxldGVFbnRyeQEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAED3RhcmdldFB1YmxpY0tleQQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwBQJwawMJAAECBQckbWF0Y2gwAgRVbml0CAUCdHgPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFD3RhcmdldFB1YmxpY0tleeq8j/E=", "chainId": 84, "height": 2235748, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7bXPjVxo5UJkRzws11vR8Bc4rQNnx6Emo7JLHGRmnUK3 Next: 663UfavYENmNrk38YSPcYHgJ7qctRZJYztRuhWYN2b1N Diff:
OldNewDifferences
199199 then true
200200 else D((("Withdrawal is possible after " + toString(r)) + " height or you have already withdrawn."))
201201 if ((af == af))
202- then [DeleteEntry(q(m, e, f, r)), IntegerEntry(s(m, e, f, r), ac), IntegerEntry(l(e, f, m), ac), ScriptTransfer(y.caller, ac, S)]
202+ then [DeleteEntry(q(m, e, f, r)), IntegerEntry(s(m, e, f, r), ac), ScriptTransfer(y.caller, ac, S)]
203203 else throw("Strict value is not equal to itself.")
204204 }
205205
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 func b () = "%s__managerPublicKey"
77
88
99 func c () = "%s__pendingManagerPublicKey"
1010
1111
1212 func d (e,f) = makeString(["%s%s%s", "withdrawDelay", e, f], a)
1313
1414
1515 func g (e,f) = makeString(["%s%s%s", "depositFeePermille", e, f], a)
1616
1717
1818 func h (e,f) = makeString(["%s%s%s", "withdrawFeePermille", e, f], a)
1919
2020
2121 func i (e,f) = makeString(["%s%s%s", "minAmountDeposit", e, f], a)
2222
2323
2424 func j (e,f) = makeString(["%s%s%s", "assetsPairStatus", e, f], a)
2525
2626
2727 func k (e,f) = makeString(["%s%s%s", "minAmountWithdraw", e, f], a)
2828
2929
3030 func l (e,f,m) = makeString(["%s%s%s%s", "balance", e, f, m], a)
3131
3232
3333 func n (e,f) = makeString(["%s%s%s%s", "totalFeeCollected", "deposit", e, f], a)
3434
3535
3636 func o (e,f) = makeString(["%s%s%s%s", "totalFeeCollected", "withdraw", e, f], a)
3737
3838
3939 func p (e,f,m) = makeString(["%s%s%s%s", "assetLockTime", e, f, m], a)
4040
4141
4242 func q (m,e,f,r) = makeString(["%s%s%s%s%s%d", "withdrawProcess", "inProgress", m, e, f, toString(r)], a)
4343
4444
4545 func s (m,e,f,r) = makeString(["%s%s%s%s%s%d", "withdrawProcess", "done", m, e, f, toString(r)], a)
4646
4747
4848 func t () = {
4949 let u = getString(b())
5050 if ($isInstanceOf(u, "String"))
5151 then {
5252 let v = u
5353 fromBase58String(v)
5454 }
5555 else if ($isInstanceOf(u, "Unit"))
5656 then unit
5757 else throw("Match error")
5858 }
5959
6060
6161 func w () = {
6262 let u = getString(c())
6363 if ($isInstanceOf(u, "String"))
6464 then {
6565 let v = u
6666 fromBase58String(v)
6767 }
6868 else if ($isInstanceOf(u, "Unit"))
6969 then unit
7070 else throw("Match error")
7171 }
7272
7373
7474 func x (y) = {
7575 let z = throw("Permission denied")
7676 let u = t()
7777 if ($isInstanceOf(u, "ByteVector"))
7878 then {
7979 let A = u
8080 if ((y.callerPublicKey == A))
8181 then true
8282 else z
8383 }
8484 else if ($isInstanceOf(u, "Unit"))
8585 then if ((y.caller == this))
8686 then true
8787 else z
8888 else throw("Match error")
8989 }
9090
9191
9292 func B (C) = makeString(["otc_multiasset.ride:", C], " ")
9393
9494
9595 func D (C) = throw(B(C))
9696
9797
9898 @Callable(y)
9999 func registerAsset (e,f,E,F,G,H,I,J) = {
100100 let K = x(y)
101101 if ((K == K))
102102 then {
103103 let L = d(e, f)
104104 let M = g(e, f)
105105 let N = h(e, f)
106106 let O = i(e, f)
107107 let P = k(e, f)
108108 let Q = j(e, f)
109109 [IntegerEntry(L, E), IntegerEntry(M, F), IntegerEntry(N, G), IntegerEntry(O, H), IntegerEntry(P, I), IntegerEntry(Q, J)]
110110 }
111111 else throw("Strict value is not equal to itself.")
112112 }
113113
114114
115115
116116 @Callable(y)
117117 func swapAssetsAToB (f) = {
118118 let R = value(y.payments[0])
119119 let e = toBase58String(value(R.assetId))
120120 let S = fromBase58String(value(f))
121121 let m = toString(y.caller)
122122 let H = valueOrErrorMessage(getInteger(i(e, f)), B("This asset pair does not exist."))
123123 let T = R.amount
124124 let F = valueOrErrorMessage(getInteger(g(e, f)), B("The deposit fee for this pair of assets is not set."))
125125 let U = ((T / 1000) * F)
126126 let V = valueOrElse(getInteger(l(e, f, m)), 0)
127127 let W = valueOrElse(getInteger(n(e, f)), 0)
128128 let X = value(getInteger(j(e, f)))
129129 let Y = if ((X == 0))
130130 then true
131131 else D("The couple's deposit is blocked.")
132132 if ((Y == Y))
133133 then {
134134 let Z = if ((T >= H))
135135 then true
136136 else D("The deposit amount is less than the minimum.")
137137 if ((Z == Z))
138138 then {
139139 let aa = ((V + T) - U)
140140 let ab = if ((aa > 0))
141141 then true
142142 else D("The final balance is less than or equal to 0.")
143143 if ((ab == ab))
144144 then [IntegerEntry(l(e, f, m), aa), IntegerEntry(n(e, f), (W + U)), ScriptTransfer(y.caller, (T - U), S)]
145145 else throw("Strict value is not equal to itself.")
146146 }
147147 else throw("Strict value is not equal to itself.")
148148 }
149149 else throw("Strict value is not equal to itself.")
150150 }
151151
152152
153153
154154 @Callable(y)
155155 func initializationSwapAssetsBToA (e) = {
156156 let R = value(y.payments[0])
157157 let ac = R.amount
158158 let f = toBase58String(value(R.assetId))
159159 let m = toString(y.caller)
160160 let I = valueOrErrorMessage(getInteger(k(e, f)), B("The minimum withdrawal amount for this pair of assets is not set."))
161161 let ad = (height + valueOrErrorMessage(getInteger(d(e, f)), B("Withdrawal delay is not set for the specified pair.")))
162162 let V = valueOrErrorMessage(getInteger(l(e, f, m)), B("This user balance does not exist."))
163163 let W = valueOrElse(getInteger(n(e, f)), 0)
164164 let N = h(e, f)
165165 let G = valueOrErrorMessage(getInteger(N), B("The withdrawal fee for this pair of assets is not set."))
166166 let U = ((ac / 1000) * G)
167167 let aa = (V - ac)
168168 let ab = if ((aa >= 0))
169169 then true
170170 else D("Swap amount fail, amount is to small.")
171171 if ((ab == ab))
172172 then {
173173 let Z = if ((ac >= I))
174174 then true
175175 else D("The withdraw amount is less than the minimum.")
176176 if ((Z == Z))
177177 then {
178178 let ae = if ((valueOrElse(getInteger(p(e, f, m)), 0) != ad))
179179 then true
180180 else D("At this height, there is already an exchange of this pair.")
181181 if ((ae == ae))
182182 then [IntegerEntry(p(e, f, m), ad), IntegerEntry(l(e, f, m), aa), IntegerEntry(q(m, e, f, ad), (ac - U)), IntegerEntry(o(e, f), (W + U))]
183183 else throw("Strict value is not equal to itself.")
184184 }
185185 else throw("Strict value is not equal to itself.")
186186 }
187187 else throw("Strict value is not equal to itself.")
188188 }
189189
190190
191191
192192 @Callable(y)
193193 func withdrawAsset (e,f,r) = {
194194 let m = toString(y.caller)
195195 let ad = valueOrErrorMessage(getInteger(p(e, f, m)), B("An asset pair or height is specified incorrectly."))
196196 let ac = valueOrErrorMessage(getInteger(q(m, e, f, r)), B("At this height, withdraw was not initialized with this pair of assets."))
197197 let S = fromBase58String(value(e))
198198 let af = if ((height >= ad))
199199 then true
200200 else D((("Withdrawal is possible after " + toString(r)) + " height or you have already withdrawn."))
201201 if ((af == af))
202- then [DeleteEntry(q(m, e, f, r)), IntegerEntry(s(m, e, f, r), ac), IntegerEntry(l(e, f, m), ac), ScriptTransfer(y.caller, ac, S)]
202+ then [DeleteEntry(q(m, e, f, r)), IntegerEntry(s(m, e, f, r), ac), ScriptTransfer(y.caller, ac, S)]
203203 else throw("Strict value is not equal to itself.")
204204 }
205205
206206
207207
208208 @Callable(y)
209209 func withdrawFee (e,f) = {
210210 let K = x(y)
211211 if ((K == K))
212212 then {
213213 let ag = valueOrElse(getInteger(n(e, f)), 0)
214214 let ah = fromBase58String(value(e))
215215 let ai = valueOrElse(getInteger(o(e, f)), 0)
216216 let aj = fromBase58String(value(f))
217217 [IntegerEntry(n(e, f), 0), ScriptTransfer(y.caller, ag, ah), IntegerEntry(o(e, f), 0), ScriptTransfer(y.caller, ai, aj)]
218218 }
219219 else throw("Strict value is not equal to itself.")
220220 }
221221
222222
223223
224224 @Callable(y)
225225 func setManager (ak) = {
226226 let K = x(y)
227227 if ((K == K))
228228 then {
229229 let al = fromBase58String(ak)
230230 if ((al == al))
231231 then [StringEntry(c(), ak)]
232232 else throw("Strict value is not equal to itself.")
233233 }
234234 else throw("Strict value is not equal to itself.")
235235 }
236236
237237
238238
239239 @Callable(y)
240240 func confirmManager () = {
241241 let am = w()
242242 let an = if (isDefined(am))
243243 then true
244244 else D("no pending manager")
245245 if ((an == an))
246246 then {
247247 let ao = if ((y.callerPublicKey == value(am)))
248248 then true
249249 else D("you are not pending manager")
250250 if ((ao == ao))
251251 then [StringEntry(b(), toBase58String(value(am))), DeleteEntry(c())]
252252 else throw("Strict value is not equal to itself.")
253253 }
254254 else throw("Strict value is not equal to itself.")
255255 }
256256
257257
258258 @Verifier(ap)
259259 func aq () = {
260260 let ar = {
261261 let u = t()
262262 if ($isInstanceOf(u, "ByteVector"))
263263 then {
264264 let A = u
265265 A
266266 }
267267 else if ($isInstanceOf(u, "Unit"))
268268 then ap.senderPublicKey
269269 else throw("Match error")
270270 }
271271 sigVerify(ap.bodyBytes, ap.proofs[0], ar)
272272 }
273273

github/deemru/w8io/873ac7e 
55.34 ms