tx · dHmWccVV24gUFnqycf5Mkma6NsgHntaad9Z5ZjjwpRm

3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5:  -0.01400000 Waves

2022.10.05 13:35 [2258915] smart account 3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5 > SELF 0.00000000 Waves

{ "type": 13, "id": "dHmWccVV24gUFnqycf5Mkma6NsgHntaad9Z5ZjjwpRm", "fee": 1400000, "feeAssetId": null, "timestamp": 1664966174098, "version": 1, "sender": "3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5", "senderPublicKey": "GSAhb4fdky75LiCZ4p4DDK4rmWpmsgGBg1ZVdtPfmRES", "proofs": [ "4TAMrAxJ7yKyNwajBmLTSSCxXZvYLoKMGYpWASCPEEfZAv7hxUYkawVQUq8FvyKoXmqbeq9N97MPAN1sMyVm2vrQ" ], "script": "base64:BgIsCAISCgoICAgBAQEBAQESAwoBCBIDCgEIEgUKAwgIARIECgIICBIDCgEIEgATAANTRVACAl9fARNrZXlNYW5hZ2VyUHVibGljS2V5AAIUJXNfX21hbmFnZXJQdWJsaWNLZXkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAIbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5ARBrZXlXaXRoZHJhd0RlbGF5AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICDXdpdGhkcmF3RGVsYXkJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFWtleURlcG9zaXRGZWVQZXJtaWxsZQIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhJkZXBvc2l0RmVlUGVybWlsbGUJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFmtleVdpdGhkcmF3RmVlUGVybWlsbGUCBmFzc2V0QQZhc3NldEIJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgITd2l0aGRyYXdGZWVQZXJtaWxsZQkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCBQNuaWwFA1NFUAETa2V5TWluQW1vdW50RGVwb3NpdAIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhBtaW5BbW91bnREZXBvc2l0CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQARNrZXlBc3NldHNQYWlyU3RhdHVzAgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEGFzc2V0c1BhaXJTdGF0dXMJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFGtleU1pbkFtb3VudFdpdGhkcmF3AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEW1pbkFtb3VudFdpdGhkcmF3CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQAQprZXlCYWxhbmNlAwZhc3NldEEGYXNzZXRCC3VzZXJBZGRyZXNzCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgIHYmFsYW5jZQkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCCQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgIRdG90YWxGZWVDb2xsZWN0ZWQJAMwIAgIHZGVwb3NpdAkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCBQNuaWwFA1NFUAEca2V5VG90YWxGZWVDb2xsZWN0ZWRXaXRoZHJhdwIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICCCVzJXMlcyVzCQDMCAICEXRvdGFsRmVlQ29sbGVjdGVkCQDMCAICCHdpdGhkcmF3CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQARRrZXlQcm9jZXNzSW5Qcm9ncmVzcwQLdXNlckFkZHJlc3MGYXNzZXRBBmFzc2V0QgtoZWlnaHRJbktleQkAuQkCCQDMCAICDCVzJXMlcyVzJXMlZAkAzAgCAg93aXRoZHJhd1Byb2Nlc3MJAMwIAgIKaW5Qcm9ncmVzcwkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCCQDMCAIJAKQDAQULaGVpZ2h0SW5LZXkFA25pbAUDU0VQAQ5rZXlQcm9jZXNzRG9uZQQLdXNlckFkZHJlc3MGYXNzZXRBBmFzc2V0QgtoZWlnaHRJbktleQkAuQkCCQDMCAICDCVzJXMlcyVzJXMlZAkAzAgCAg93aXRoZHJhd1Byb2Nlc3MJAMwIAgIEZG9uZQkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCCQDMCAIJAKQDAQULaGVpZ2h0SW5LZXkFA25pbAUDU0VQARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAQHJG1hdGNoMAkAoggBCQETa2V5TWFuYWdlclB1YmxpY0tleQADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQDZBAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAR1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAEByRtYXRjaDAJAKIIAQkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJANkEAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBC211c3RNYW5hZ2VyAQFpBAJwZAkAAgECElBlcm1pc3Npb24gZGVuaWVkLgQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwAwkAAAIIBQFpD2NhbGxlclB1YmxpY0tleQUCcGsGBQJwZAMJAAECBQckbWF0Y2gwAgRVbml0AwkAAAIIBQFpBmNhbGxlcgUEdGhpcwYFAnBkCQACAQILTWF0Y2ggZXJyb3IBBmZtdEVycgEDbXNnCQC5CQIJAMwIAgIUb3RjX211bHRpYXNzZXQucmlkZToJAMwIAgUDbXNnBQNuaWwCASABCHRocm93RXJyAQNtc2cJAAIBCQEGZm10RXJyAQUDbXNnBwFpAQ1yZWdpc3RlckFzc2V0CAZhc3NldEEGYXNzZXRCDXdpdGhkcmF3RGVsYXkKZGVwb3NpdEZlZQt3aXRoZHJhd0ZlZRBtaW5BbW91bnREZXBvc2l0EW1pbkFtb3VudFdpdGhkcmF3CnBhaXJTdGF0dXMEC2NoZWNrQ2FsbGVyCQELbXVzdE1hbmFnZXIBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgQQd2l0aGRyYXdEZWxheUtleQkBEGtleVdpdGhkcmF3RGVsYXkCBQZhc3NldEEFBmFzc2V0QgQVZGVwb3NpdEZlZVBlcm1pbGxlS2V5CQEVa2V5RGVwb3NpdEZlZVBlcm1pbGxlAgUGYXNzZXRBBQZhc3NldEIEFndpdGhkcmF3RmVlUGVybWlsbGVLZXkJARZrZXlXaXRoZHJhd0ZlZVBlcm1pbGxlAgUGYXNzZXRBBQZhc3NldEIEE21pbkFtb3VudERlcG9zaXRLZXkJARNrZXlNaW5BbW91bnREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEIEFG1pbkFtb3VudFdpdGhkcmF3S2V5CQEUa2V5TWluQW1vdW50V2l0aGRyYXcCBQZhc3NldEEFBmFzc2V0QgQNcGFpclN0YXR1c0tleQkBE2tleUFzc2V0c1BhaXJTdGF0dXMCBQZhc3NldEEFBmFzc2V0QgkAzAgCCQEMSW50ZWdlckVudHJ5AgUQd2l0aGRyYXdEZWxheUtleQUNd2l0aGRyYXdEZWxheQkAzAgCCQEMSW50ZWdlckVudHJ5AgUVZGVwb3NpdEZlZVBlcm1pbGxlS2V5BQpkZXBvc2l0RmVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRZ3aXRoZHJhd0ZlZVBlcm1pbGxlS2V5BQt3aXRoZHJhd0ZlZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUTbWluQW1vdW50RGVwb3NpdEtleQUQbWluQW1vdW50RGVwb3NpdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUbWluQW1vdW50V2l0aGRyYXdLZXkFEW1pbkFtb3VudFdpdGhkcmF3CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1wYWlyU3RhdHVzS2V5BQpwYWlyU3RhdHVzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEOc3dhcEFzc2V0c0FUb0IBBmFzc2V0QgQHcGF5bWVudAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABAZhc3NldEEJANgEAQkBBXZhbHVlAQgFB3BheW1lbnQHYXNzZXRJZAQFYXNzZXQJANkEAQkBBXZhbHVlAQUGYXNzZXRCBAt1c2VyQWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEEG1pbkFtb3VudERlcG9zaXQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQETa2V5TWluQW1vdW50RGVwb3NpdAIFBmFzc2V0QQUGYXNzZXRCCQEGZm10RXJyAQIfVGhpcyBhc3NldCBwYWlyIGRvZXMgbm90IGV4aXN0LgQJdG9EZXBvc2l0CAUHcGF5bWVudAZhbW91bnQECmRlcG9zaXRGZWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQEVa2V5RGVwb3NpdEZlZVBlcm1pbGxlAgUGYXNzZXRBBQZhc3NldEIJAQZmbXRFcnIBAjNUaGUgZGVwb3NpdCBmZWUgZm9yIHRoaXMgcGFpciBvZiBhc3NldHMgaXMgbm90IHNldC4EA2ZlZQkAaAIJAGkCBQl0b0RlcG9zaXQA6AcFCmRlcG9zaXRGZWUEEmN1cnJlbnRVc2VyQmFsYW5jZQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEKa2V5QmFsYW5jZQMFBmFzc2V0QQUGYXNzZXRCBQt1c2VyQWRkcmVzcwAABBB0b3RhbENvbW1pc3Npb25zCQELdmFsdWVPckVsc2UCCQCfCAEJARtrZXlUb3RhbEZlZUNvbGxlY3RlZERlcG9zaXQCBQZhc3NldEEFBmFzc2V0QgAABApwYWlyU3RhdHVzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBE2tleUFzc2V0c1BhaXJTdGF0dXMCBQZhc3NldEEFBmFzc2V0QgkBBmZtdEVycgECOVRoZSBhc3NldCBwYWlyIHN0YXR1cyBmb3IgdGhpcyBwYWlyIG9mIGFzc2V0cyBpcyBub3Qgc2V0LgQPY2hlY2tQYWlyU3RhdHVzAwkAAAIFCnBhaXJTdGF0dXMAAAYJAQh0aHJvd0VycgECIFRoZSBjb3VwbGUncyBkZXBvc2l0IGlzIGJsb2NrZWQuAwkAAAIFD2NoZWNrUGFpclN0YXR1cwUPY2hlY2tQYWlyU3RhdHVzBAxjaGVja1BheW1lbnQDCQBnAgUJdG9EZXBvc2l0BRBtaW5BbW91bnREZXBvc2l0BgkBCHRocm93RXJyAQIsVGhlIGRlcG9zaXQgYW1vdW50IGlzIGxlc3MgdGhhbiB0aGUgbWluaW11bS4DCQAAAgUMY2hlY2tQYXltZW50BQxjaGVja1BheW1lbnQECm5ld0JhbGFuY2UJAGUCCQBkAgUSY3VycmVudFVzZXJCYWxhbmNlBQl0b0RlcG9zaXQFA2ZlZQQMY2hlY2tCYWxhbmNlAwkAZgIFCm5ld0JhbGFuY2UAAAYJAQh0aHJvd0VycgECLVRoZSBmaW5hbCBiYWxhbmNlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLgMJAAACBQxjaGVja0JhbGFuY2UFDGNoZWNrQmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBCmtleUJhbGFuY2UDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MFCm5ld0JhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJARtrZXlUb3RhbEZlZUNvbGxlY3RlZERlcG9zaXQCBQZhc3NldEEFBmFzc2V0QgkAZAIFEHRvdGFsQ29tbWlzc2lvbnMFA2ZlZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIJAGUCBQl0b0RlcG9zaXQFA2ZlZQUFYXNzZXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARxpbml0aWFsaXphdGlvblN3YXBBc3NldHNCVG9BAQZhc3NldEEEB3BheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQKdG9XaXRoZHJhdwgFB3BheW1lbnQGYW1vdW50BAZhc3NldEIJANgEAQkBBXZhbHVlAQgFB3BheW1lbnQHYXNzZXRJZAQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBBFtaW5BbW91bnRXaXRoZHJhdwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEJARRrZXlNaW5BbW91bnRXaXRoZHJhdwIFBmFzc2V0QQUGYXNzZXRCCQEGZm10RXJyAQJBVGhlIG1pbmltdW0gd2l0aGRyYXdhbCBhbW91bnQgZm9yIHRoaXMgcGFpciBvZiBhc3NldHMgaXMgbm90IHNldC4ED2Fzc2V0TG9ja0hlaWdodAkAZAIFBmhlaWdodAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEJARBrZXlXaXRoZHJhd0RlbGF5AgUGYXNzZXRBBQZhc3NldEIJAQZmbXRFcnIBAjNXaXRoZHJhd2FsIGRlbGF5IGlzIG5vdCBzZXQgZm9yIHRoZSBzcGVjaWZpZWQgcGFpci4EEmN1cnJlbnRVc2VyQmFsYW5jZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEJAQprZXlCYWxhbmNlAwUGYXNzZXRBBQZhc3NldEIFC3VzZXJBZGRyZXNzCQEGZm10RXJyAQIhVGhpcyB1c2VyIGJhbGFuY2UgZG9lcyBub3QgZXhpc3QuBBB0b3RhbENvbW1pc3Npb25zCQELdmFsdWVPckVsc2UCCQCfCAEJARxrZXlUb3RhbEZlZUNvbGxlY3RlZFdpdGhkcmF3AgUGYXNzZXRBBQZhc3NldEIAAAQWd2l0aGRyYXdGZWVQZXJtaWxsZUtleQkBFmtleVdpdGhkcmF3RmVlUGVybWlsbGUCBQZhc3NldEEFBmFzc2V0QgQLd2l0aGRyYXdGZWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBBRZ3aXRoZHJhd0ZlZVBlcm1pbGxlS2V5CQEGZm10RXJyAQI2VGhlIHdpdGhkcmF3YWwgZmVlIGZvciB0aGlzIHBhaXIgb2YgYXNzZXRzIGlzIG5vdCBzZXQuBANmZWUJAGgCCQBpAgUKdG9XaXRoZHJhdwDoBwULd2l0aGRyYXdGZWUECm5ld0JhbGFuY2UJAGUCBRJjdXJyZW50VXNlckJhbGFuY2UFCnRvV2l0aGRyYXcEDGNoZWNrQmFsYW5jZQMJAGcCBQpuZXdCYWxhbmNlAAAGCQEIdGhyb3dFcnIBAiVTd2FwIGFtb3VudCBmYWlsLCBhbW91bnQgaXMgdG8gc21hbGwuAwkAAAIFDGNoZWNrQmFsYW5jZQUMY2hlY2tCYWxhbmNlBAxjaGVja1BheW1lbnQDCQBnAgUKdG9XaXRoZHJhdwURbWluQW1vdW50V2l0aGRyYXcGCQEIdGhyb3dFcnIBAi1UaGUgd2l0aGRyYXcgYW1vdW50IGlzIGxlc3MgdGhhbiB0aGUgbWluaW11bS4DCQAAAgUMY2hlY2tQYXltZW50BQxjaGVja1BheW1lbnQEFmNoZWNrUHJvY2Vzc0luUHJvZ3Jlc3MDCQAAAgkAnwgBCQEUa2V5UHJvY2Vzc0luUHJvZ3Jlc3MEBQt1c2VyQWRkcmVzcwUGYXNzZXRBBQZhc3NldEIFD2Fzc2V0TG9ja0hlaWdodAUEdW5pdAYJAQh0aHJvd0VycgECOkF0IHRoaXMgaGVpZ2h0LCB0aGVyZSBpcyBhbHJlYWR5IGFuIGV4Y2hhbmdlIG9mIHRoaXMgcGFpci4DCQAAAgUWY2hlY2tQcm9jZXNzSW5Qcm9ncmVzcwUWY2hlY2tQcm9jZXNzSW5Qcm9ncmVzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBCmtleUJhbGFuY2UDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MFCm5ld0JhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlQcm9jZXNzSW5Qcm9ncmVzcwQFC3VzZXJBZGRyZXNzBQZhc3NldEEFBmFzc2V0QgUPYXNzZXRMb2NrSGVpZ2h0CQBlAgUKdG9XaXRoZHJhdwUDZmVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEca2V5VG90YWxGZWVDb2xsZWN0ZWRXaXRoZHJhdwIFBmFzc2V0QQUGYXNzZXRCCQBkAgUQdG90YWxDb21taXNzaW9ucwUDZmVlBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQENd2l0aGRyYXdBc3NldAMGYXNzZXRBBmFzc2V0QgtoZWlnaHRJbktleQQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBAp0b1dpdGhkcmF3CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBFGtleVByb2Nlc3NJblByb2dyZXNzBAULdXNlckFkZHJlc3MFBmFzc2V0QQUGYXNzZXRCBQtoZWlnaHRJbktleQkBBmZtdEVycgECRkF0IHRoaXMgaGVpZ2h0LCB3aXRoZHJhdyB3YXMgbm90IGluaXRpYWxpemVkIHdpdGggdGhpcyBwYWlyIG9mIGFzc2V0cy4EBWFzc2V0CQDZBAEJAQV2YWx1ZQEFBmFzc2V0QQQLY2hlY2tIZWlnaHQDCQBnAgUGaGVpZ2h0BQtoZWlnaHRJbktleQYJAQh0aHJvd0VycgEJAKwCAgkArAICAh1XaXRoZHJhd2FsIGlzIHBvc3NpYmxlIGFmdGVyIAkApAMBBQtoZWlnaHRJbktleQImIGhlaWdodCBvciB5b3UgaGF2ZSBhbHJlYWR5IHdpdGhkcmF3bi4DCQAAAgULY2hlY2tIZWlnaHQFC2NoZWNrSGVpZ2h0CQDMCAIJAQtEZWxldGVFbnRyeQEJARRrZXlQcm9jZXNzSW5Qcm9ncmVzcwQFC3VzZXJBZGRyZXNzBQZhc3NldEEFBmFzc2V0QgULaGVpZ2h0SW5LZXkJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ5rZXlQcm9jZXNzRG9uZQQFC3VzZXJBZGRyZXNzBQZhc3NldEEFBmFzc2V0QgULaGVpZ2h0SW5LZXkFCnRvV2l0aGRyYXcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQp0b1dpdGhkcmF3BQVhc3NldAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC3dpdGhkcmF3RmVlAgZhc3NldEEGYXNzZXRCBAtjaGVja0NhbGxlcgkBC211c3RNYW5hZ2VyAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEC3RvV2l0aGRyYXdCCQELdmFsdWVPckVsc2UCCQCfCAEJARtrZXlUb3RhbEZlZUNvbGxlY3RlZERlcG9zaXQCBQZhc3NldEEFBmFzc2V0QgAABA53aXRoZHJhd0Fzc2V0QgkA2QQBCQEFdmFsdWUBBQZhc3NldEIEC3RvV2l0aGRyYXdBCQELdmFsdWVPckVsc2UCCQCfCAEJARxrZXlUb3RhbEZlZUNvbGxlY3RlZFdpdGhkcmF3AgUGYXNzZXRBBQZhc3NldEIAAAQOd2l0aGRyYXdBc3NldEEJANkEAQkBBXZhbHVlAQUGYXNzZXRBCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC3RvV2l0aGRyYXdBBQ53aXRoZHJhd0Fzc2V0QQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHGtleVRvdGFsRmVlQ29sbGVjdGVkV2l0aGRyYXcCBQZhc3NldEEFBmFzc2V0QgAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgULdG9XaXRoZHJhd0IFDndpdGhkcmF3QXNzZXRCBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKc2V0TWFuYWdlcgEXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkEC2NoZWNrQ2FsbGVyCQELbXVzdE1hbmFnZXIBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgQVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQDZBAEFF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AwkAAAIFFWNoZWNrTWFuYWdlclB1YmxpY0tleQUVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQDMCAIJAQtTdHJpbmdFbnRyeQIJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAFF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEOY29uZmlybU1hbmFnZXIABAJwbQkBHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0AAQFaGFzUE0DCQEJaXNEZWZpbmVkAQUCcG0GCQEIdGhyb3dFcnIBAhNObyBwZW5kaW5nIG1hbmFnZXIuAwkAAAIFBWhhc1BNBQVoYXNQTQQHY2hlY2tQTQMJAAACCAUBaQ9jYWxsZXJQdWJsaWNLZXkJAQV2YWx1ZQEFAnBtBgkBCHRocm93RXJyAQIcWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyLgMJAAACBQdjaGVja1BNBQdjaGVja1BNCQDMCAIJAQtTdHJpbmdFbnRyeQIJARNrZXlNYW5hZ2VyUHVibGljS2V5AAkA2AQBCQEFdmFsdWUBBQJwbQkAzAgCCQELRGVsZXRlRW50cnkBCQEaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABA90YXJnZXRQdWJsaWNLZXkEByRtYXRjaDAJARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAJwawUHJG1hdGNoMAUCcGsDCQABAgUHJG1hdGNoMAIEVW5pdAgFAnR4D3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQ90YXJnZXRQdWJsaWNLZXk8CZi+", "chainId": 84, "height": 2258915, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7d516jzASdtgMp6yZLMqSNvbu1PVy2Kgdmnpgm4pye5g Next: FecnB2t2t1tnm7CExkFGJSt9vGjZCS3Uoqzo8Sy1nELb Diff:
OldNewDifferences
3636 func o (e,f) = makeString(["%s%s%s%s", "totalFeeCollected", "withdraw", e, f], a)
3737
3838
39-func p (e,f,m) = makeString(["%s%s%s%s", "assetLockTime", e, f, m], a)
39+func p (m,e,f,q) = makeString(["%s%s%s%s%s%d", "withdrawProcess", "inProgress", m, e, f, toString(q)], a)
4040
4141
42-func q (m,e,f,r) = makeString(["%s%s%s%s%s%d", "withdrawProcess", "inProgress", m, e, f, toString(r)], a)
42+func r (m,e,f,q) = makeString(["%s%s%s%s%s%d", "withdrawProcess", "done", m, e, f, toString(q)], a)
4343
4444
45-func s (m,e,f,r) = makeString(["%s%s%s%s%s%d", "withdrawProcess", "done", m, e, f, toString(r)], a)
46-
47-
48-func t () = {
49- let u = getString(b())
50- if ($isInstanceOf(u, "String"))
45+func s () = {
46+ let t = getString(b())
47+ if ($isInstanceOf(t, "String"))
5148 then {
52- let v = u
53- fromBase58String(v)
49+ let u = t
50+ fromBase58String(u)
5451 }
55- else if ($isInstanceOf(u, "Unit"))
52+ else if ($isInstanceOf(t, "Unit"))
5653 then unit
5754 else throw("Match error")
5855 }
5956
6057
61-func w () = {
62- let u = getString(c())
63- if ($isInstanceOf(u, "String"))
58+func v () = {
59+ let t = getString(c())
60+ if ($isInstanceOf(t, "String"))
6461 then {
65- let v = u
66- fromBase58String(v)
62+ let u = t
63+ fromBase58String(u)
6764 }
68- else if ($isInstanceOf(u, "Unit"))
65+ else if ($isInstanceOf(t, "Unit"))
6966 then unit
7067 else throw("Match error")
7168 }
7269
7370
74-func x (y) = {
75- let z = throw("Permission denied.")
76- let u = t()
77- if ($isInstanceOf(u, "ByteVector"))
71+func w (x) = {
72+ let y = throw("Permission denied.")
73+ let t = s()
74+ if ($isInstanceOf(t, "ByteVector"))
7875 then {
79- let A = u
80- if ((y.callerPublicKey == A))
76+ let z = t
77+ if ((x.callerPublicKey == z))
8178 then true
82- else z
79+ else y
8380 }
84- else if ($isInstanceOf(u, "Unit"))
85- then if ((y.caller == this))
81+ else if ($isInstanceOf(t, "Unit"))
82+ then if ((x.caller == this))
8683 then true
87- else z
84+ else y
8885 else throw("Match error")
8986 }
9087
9188
92-func B (C) = makeString(["otc_multiasset.ride:", C], " ")
89+func A (B) = makeString(["otc_multiasset.ride:", B], " ")
9390
9491
95-func D (C) = throw(B(C))
92+func C (B) = throw(A(B))
9693
9794
98-@Callable(y)
99-func registerAsset (e,f,E,F,G,H,I,J) = {
100- let K = x(y)
101- if ((K == K))
95+@Callable(x)
96+func registerAsset (e,f,D,E,F,G,H,I) = {
97+ let J = w(x)
98+ if ((J == J))
10299 then {
103- let L = d(e, f)
104- let M = g(e, f)
105- let N = h(e, f)
106- let O = i(e, f)
107- let P = k(e, f)
108- let Q = j(e, f)
109-[IntegerEntry(L, E), IntegerEntry(M, F), IntegerEntry(N, G), IntegerEntry(O, H), IntegerEntry(P, I), IntegerEntry(Q, J)]
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)]
110107 }
111108 else throw("Strict value is not equal to itself.")
112109 }
113110
114111
115112
116-@Callable(y)
113+@Callable(x)
117114 func swapAssetsAToB (f) = {
118- let R = value(y.payments[0])
119- let e = toBase58String(value(R.assetId))
120- let S = fromBase58String(value(f))
121- let m = toString(y.caller)
122- let H = valueOrErrorMessage(getInteger(i(e, f)), B("This asset pair does not exist."))
123- let T = R.amount
124- let F = valueOrErrorMessage(getInteger(g(e, f)), B("The deposit fee for this pair of assets is not set."))
125- let U = ((T / 1000) * F)
126- let V = valueOrElse(getInteger(l(e, f, m)), 0)
127- let W = valueOrElse(getInteger(n(e, f)), 0)
128- let J = valueOrErrorMessage(getInteger(j(e, f)), B("The asset pair status for this pair of assets is not set."))
129- let X = if ((J == 0))
115+ let Q = value(x.payments[0])
116+ let e = toBase58String(value(Q.assetId))
117+ let R = fromBase58String(value(f))
118+ let m = toString(x.caller)
119+ let G = valueOrErrorMessage(getInteger(i(e, f)), A("This asset pair does not exist."))
120+ let S = Q.amount
121+ let E = valueOrErrorMessage(getInteger(g(e, f)), A("The deposit fee for this pair of assets is not set."))
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 I = valueOrErrorMessage(getInteger(j(e, f)), A("The asset pair status for this pair of assets is not set."))
126+ let W = if ((I == 0))
130127 then true
131- else D("The couple's deposit is blocked.")
132- if ((X == X))
128+ else C("The couple's deposit is blocked.")
129+ if ((W == W))
133130 then {
134- let Y = if ((T >= H))
131+ let X = if ((S >= G))
135132 then true
136- else D("The deposit amount is less than the minimum.")
137- if ((Y == Y))
133+ else C("The deposit amount is less than the minimum.")
134+ if ((X == X))
138135 then {
139- let Z = ((V + T) - U)
140- let aa = if ((Z > 0))
136+ let Y = ((U + S) - T)
137+ let Z = if ((Y > 0))
141138 then true
142- else D("The final balance is less than or equal to 0.")
143- if ((aa == aa))
144- then [IntegerEntry(l(e, f, m), Z), IntegerEntry(n(e, f), (W + U)), ScriptTransfer(y.caller, (T - U), S)]
139+ else C("The final balance is less than or equal to 0.")
140+ if ((Z == Z))
141+ then [IntegerEntry(l(e, f, m), Y), IntegerEntry(n(e, f), (V + T)), ScriptTransfer(x.caller, (S - T), R)]
145142 else throw("Strict value is not equal to itself.")
146143 }
147144 else throw("Strict value is not equal to itself.")
151148
152149
153150
154-@Callable(y)
151+@Callable(x)
155152 func initializationSwapAssetsBToA (e) = {
156- let R = value(y.payments[0])
157- let ab = R.amount
158- let f = toBase58String(value(R.assetId))
159- let m = toString(y.caller)
160- let I = valueOrErrorMessage(getInteger(k(e, f)), B("The minimum withdrawal amount for this pair of assets is not set."))
161- let ac = (height + valueOrErrorMessage(getInteger(d(e, f)), B("Withdrawal delay is not set for the specified pair.")))
162- let V = valueOrErrorMessage(getInteger(l(e, f, m)), B("This user balance does not exist."))
163- let W = valueOrElse(getInteger(o(e, f)), 0)
164- let N = h(e, f)
165- let G = valueOrErrorMessage(getInteger(N), B("The withdrawal fee for this pair of assets is not set."))
166- let U = ((ab / 1000) * G)
167- let Z = (V - ab)
168- let aa = if ((Z >= 0))
153+ let Q = value(x.payments[0])
154+ let aa = Q.amount
155+ let f = toBase58String(value(Q.assetId))
156+ let m = toString(x.caller)
157+ let H = valueOrErrorMessage(getInteger(k(e, f)), A("The minimum withdrawal amount for this pair of assets is not set."))
158+ let ab = (height + valueOrErrorMessage(getInteger(d(e, f)), A("Withdrawal delay is not set for the specified pair.")))
159+ let U = valueOrErrorMessage(getInteger(l(e, f, m)), A("This user balance does not exist."))
160+ let V = valueOrElse(getInteger(o(e, f)), 0)
161+ let M = h(e, f)
162+ let F = valueOrErrorMessage(getInteger(M), A("The withdrawal fee for this pair of assets is not set."))
163+ let T = ((aa / 1000) * F)
164+ let Y = (U - aa)
165+ let Z = if ((Y >= 0))
169166 then true
170- else D("Swap amount fail, amount is to small.")
171- if ((aa == aa))
167+ else C("Swap amount fail, amount is to small.")
168+ if ((Z == Z))
172169 then {
173- let Y = if ((ab >= I))
170+ let X = if ((aa >= H))
174171 then true
175- else D("The withdraw amount is less than the minimum.")
176- if ((Y == Y))
172+ else C("The withdraw amount is less than the minimum.")
173+ if ((X == X))
177174 then {
178- let ad = if ((getInteger(q(m, e, f, ac)) == unit))
175+ let ac = if ((getInteger(p(m, e, f, ab)) == unit))
179176 then true
180- else D("At this height, there is already an exchange of this pair.")
181- if ((ad == ad))
182- then [IntegerEntry(l(e, f, m), Z), IntegerEntry(q(m, e, f, ac), (ab - U)), IntegerEntry(o(e, f), (W + U))]
177+ else C("At this height, there is already an exchange of this pair.")
178+ if ((ac == ac))
179+ then [IntegerEntry(l(e, f, m), Y), IntegerEntry(p(m, e, f, ab), (aa - T)), IntegerEntry(o(e, f), (V + T))]
183180 else throw("Strict value is not equal to itself.")
184181 }
185182 else throw("Strict value is not equal to itself.")
189186
190187
191188
192-@Callable(y)
193-func withdrawAsset (e,f,r) = {
194- let m = toString(y.caller)
195- let ab = valueOrErrorMessage(getInteger(q(m, e, f, r)), B("At this height, withdraw was not initialized with this pair of assets."))
196- let S = fromBase58String(value(e))
197- let ae = if ((height >= r))
189+@Callable(x)
190+func withdrawAsset (e,f,q) = {
191+ let m = toString(x.caller)
192+ let aa = valueOrErrorMessage(getInteger(p(m, e, f, q)), A("At this height, withdraw was not initialized with this pair of assets."))
193+ let R = fromBase58String(value(e))
194+ let ad = if ((height >= q))
198195 then true
199- else D((("Withdrawal is possible after " + toString(r)) + " height or you have already withdrawn."))
200- if ((ae == ae))
201- then [DeleteEntry(q(m, e, f, r)), IntegerEntry(s(m, e, f, r), ab), ScriptTransfer(y.caller, ab, S)]
196+ else C((("Withdrawal is possible after " + toString(q)) + " height or you have already withdrawn."))
197+ if ((ad == ad))
198+ then [DeleteEntry(p(m, e, f, q)), IntegerEntry(r(m, e, f, q), aa), ScriptTransfer(x.caller, aa, R)]
202199 else throw("Strict value is not equal to itself.")
203200 }
204201
205202
206203
207-@Callable(y)
204+@Callable(x)
208205 func withdrawFee (e,f) = {
209- let K = x(y)
210- if ((K == K))
206+ let J = w(x)
207+ if ((J == J))
211208 then {
212- let af = valueOrElse(getInteger(n(e, f)), 0)
213- let ag = fromBase58String(value(f))
214- let ah = valueOrElse(getInteger(o(e, f)), 0)
215- let ai = fromBase58String(value(e))
216-[IntegerEntry(n(e, f), 0), ScriptTransfer(y.caller, ah, ai), IntegerEntry(o(e, f), 0), ScriptTransfer(y.caller, af, ag)]
209+ let ae = valueOrElse(getInteger(n(e, f)), 0)
210+ let af = fromBase58String(value(f))
211+ let ag = valueOrElse(getInteger(o(e, f)), 0)
212+ let ah = fromBase58String(value(e))
213+[IntegerEntry(n(e, f), 0), ScriptTransfer(x.caller, ag, ah), IntegerEntry(o(e, f), 0), ScriptTransfer(x.caller, ae, af)]
217214 }
218215 else throw("Strict value is not equal to itself.")
219216 }
220217
221218
222219
223-@Callable(y)
224-func setManager (aj) = {
225- let K = x(y)
226- if ((K == K))
220+@Callable(x)
221+func setManager (ai) = {
222+ let J = w(x)
223+ if ((J == J))
227224 then {
228- let ak = fromBase58String(aj)
229- if ((ak == ak))
230- then [StringEntry(c(), aj)]
225+ let aj = fromBase58String(ai)
226+ if ((aj == aj))
227+ then [StringEntry(c(), ai)]
231228 else throw("Strict value is not equal to itself.")
232229 }
233230 else throw("Strict value is not equal to itself.")
235232
236233
237234
238-@Callable(y)
235+@Callable(x)
239236 func confirmManager () = {
240- let al = w()
241- let am = if (isDefined(al))
237+ let ak = v()
238+ let al = if (isDefined(ak))
242239 then true
243- else D("No pending manager.")
244- if ((am == am))
240+ else C("No pending manager.")
241+ if ((al == al))
245242 then {
246- let an = if ((y.callerPublicKey == value(al)))
243+ let am = if ((x.callerPublicKey == value(ak)))
247244 then true
248- else D("You are not pending manager.")
249- if ((an == an))
250- then [StringEntry(b(), toBase58String(value(al))), DeleteEntry(c())]
245+ else C("You are not pending manager.")
246+ if ((am == am))
247+ then [StringEntry(b(), toBase58String(value(ak))), DeleteEntry(c())]
251248 else throw("Strict value is not equal to itself.")
252249 }
253250 else throw("Strict value is not equal to itself.")
254251 }
255252
256253
257-@Verifier(ao)
258-func ap () = {
259- let aq = {
260- let u = t()
261- if ($isInstanceOf(u, "ByteVector"))
254+@Verifier(an)
255+func ao () = {
256+ let ap = {
257+ let t = s()
258+ if ($isInstanceOf(t, "ByteVector"))
262259 then {
263- let A = u
264- A
260+ let z = t
261+ z
265262 }
266- else if ($isInstanceOf(u, "Unit"))
267- then ao.senderPublicKey
263+ else if ($isInstanceOf(t, "Unit"))
264+ then an.senderPublicKey
268265 else throw("Match error")
269266 }
270- sigVerify(ao.bodyBytes, ao.proofs[0], aq)
267+ sigVerify(an.bodyBytes, an.proofs[0], ap)
271268 }
272269
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
39-func p (e,f,m) = makeString(["%s%s%s%s", "assetLockTime", e, f, m], a)
39+func p (m,e,f,q) = makeString(["%s%s%s%s%s%d", "withdrawProcess", "inProgress", m, e, f, toString(q)], a)
4040
4141
42-func q (m,e,f,r) = makeString(["%s%s%s%s%s%d", "withdrawProcess", "inProgress", m, e, f, toString(r)], a)
42+func r (m,e,f,q) = makeString(["%s%s%s%s%s%d", "withdrawProcess", "done", m, e, f, toString(q)], a)
4343
4444
45-func s (m,e,f,r) = makeString(["%s%s%s%s%s%d", "withdrawProcess", "done", m, e, f, toString(r)], a)
46-
47-
48-func t () = {
49- let u = getString(b())
50- if ($isInstanceOf(u, "String"))
45+func s () = {
46+ let t = getString(b())
47+ if ($isInstanceOf(t, "String"))
5148 then {
52- let v = u
53- fromBase58String(v)
49+ let u = t
50+ fromBase58String(u)
5451 }
55- else if ($isInstanceOf(u, "Unit"))
52+ else if ($isInstanceOf(t, "Unit"))
5653 then unit
5754 else throw("Match error")
5855 }
5956
6057
61-func w () = {
62- let u = getString(c())
63- if ($isInstanceOf(u, "String"))
58+func v () = {
59+ let t = getString(c())
60+ if ($isInstanceOf(t, "String"))
6461 then {
65- let v = u
66- fromBase58String(v)
62+ let u = t
63+ fromBase58String(u)
6764 }
68- else if ($isInstanceOf(u, "Unit"))
65+ else if ($isInstanceOf(t, "Unit"))
6966 then unit
7067 else throw("Match error")
7168 }
7269
7370
74-func x (y) = {
75- let z = throw("Permission denied.")
76- let u = t()
77- if ($isInstanceOf(u, "ByteVector"))
71+func w (x) = {
72+ let y = throw("Permission denied.")
73+ let t = s()
74+ if ($isInstanceOf(t, "ByteVector"))
7875 then {
79- let A = u
80- if ((y.callerPublicKey == A))
76+ let z = t
77+ if ((x.callerPublicKey == z))
8178 then true
82- else z
79+ else y
8380 }
84- else if ($isInstanceOf(u, "Unit"))
85- then if ((y.caller == this))
81+ else if ($isInstanceOf(t, "Unit"))
82+ then if ((x.caller == this))
8683 then true
87- else z
84+ else y
8885 else throw("Match error")
8986 }
9087
9188
92-func B (C) = makeString(["otc_multiasset.ride:", C], " ")
89+func A (B) = makeString(["otc_multiasset.ride:", B], " ")
9390
9491
95-func D (C) = throw(B(C))
92+func C (B) = throw(A(B))
9693
9794
98-@Callable(y)
99-func registerAsset (e,f,E,F,G,H,I,J) = {
100- let K = x(y)
101- if ((K == K))
95+@Callable(x)
96+func registerAsset (e,f,D,E,F,G,H,I) = {
97+ let J = w(x)
98+ if ((J == J))
10299 then {
103- let L = d(e, f)
104- let M = g(e, f)
105- let N = h(e, f)
106- let O = i(e, f)
107- let P = k(e, f)
108- let Q = j(e, f)
109-[IntegerEntry(L, E), IntegerEntry(M, F), IntegerEntry(N, G), IntegerEntry(O, H), IntegerEntry(P, I), IntegerEntry(Q, J)]
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)]
110107 }
111108 else throw("Strict value is not equal to itself.")
112109 }
113110
114111
115112
116-@Callable(y)
113+@Callable(x)
117114 func swapAssetsAToB (f) = {
118- let R = value(y.payments[0])
119- let e = toBase58String(value(R.assetId))
120- let S = fromBase58String(value(f))
121- let m = toString(y.caller)
122- let H = valueOrErrorMessage(getInteger(i(e, f)), B("This asset pair does not exist."))
123- let T = R.amount
124- let F = valueOrErrorMessage(getInteger(g(e, f)), B("The deposit fee for this pair of assets is not set."))
125- let U = ((T / 1000) * F)
126- let V = valueOrElse(getInteger(l(e, f, m)), 0)
127- let W = valueOrElse(getInteger(n(e, f)), 0)
128- let J = valueOrErrorMessage(getInteger(j(e, f)), B("The asset pair status for this pair of assets is not set."))
129- let X = if ((J == 0))
115+ let Q = value(x.payments[0])
116+ let e = toBase58String(value(Q.assetId))
117+ let R = fromBase58String(value(f))
118+ let m = toString(x.caller)
119+ let G = valueOrErrorMessage(getInteger(i(e, f)), A("This asset pair does not exist."))
120+ let S = Q.amount
121+ let E = valueOrErrorMessage(getInteger(g(e, f)), A("The deposit fee for this pair of assets is not set."))
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 I = valueOrErrorMessage(getInteger(j(e, f)), A("The asset pair status for this pair of assets is not set."))
126+ let W = if ((I == 0))
130127 then true
131- else D("The couple's deposit is blocked.")
132- if ((X == X))
128+ else C("The couple's deposit is blocked.")
129+ if ((W == W))
133130 then {
134- let Y = if ((T >= H))
131+ let X = if ((S >= G))
135132 then true
136- else D("The deposit amount is less than the minimum.")
137- if ((Y == Y))
133+ else C("The deposit amount is less than the minimum.")
134+ if ((X == X))
138135 then {
139- let Z = ((V + T) - U)
140- let aa = if ((Z > 0))
136+ let Y = ((U + S) - T)
137+ let Z = if ((Y > 0))
141138 then true
142- else D("The final balance is less than or equal to 0.")
143- if ((aa == aa))
144- then [IntegerEntry(l(e, f, m), Z), IntegerEntry(n(e, f), (W + U)), ScriptTransfer(y.caller, (T - U), S)]
139+ else C("The final balance is less than or equal to 0.")
140+ if ((Z == Z))
141+ then [IntegerEntry(l(e, f, m), Y), IntegerEntry(n(e, f), (V + T)), ScriptTransfer(x.caller, (S - T), R)]
145142 else throw("Strict value is not equal to itself.")
146143 }
147144 else throw("Strict value is not equal to itself.")
148145 }
149146 else throw("Strict value is not equal to itself.")
150147 }
151148
152149
153150
154-@Callable(y)
151+@Callable(x)
155152 func initializationSwapAssetsBToA (e) = {
156- let R = value(y.payments[0])
157- let ab = R.amount
158- let f = toBase58String(value(R.assetId))
159- let m = toString(y.caller)
160- let I = valueOrErrorMessage(getInteger(k(e, f)), B("The minimum withdrawal amount for this pair of assets is not set."))
161- let ac = (height + valueOrErrorMessage(getInteger(d(e, f)), B("Withdrawal delay is not set for the specified pair.")))
162- let V = valueOrErrorMessage(getInteger(l(e, f, m)), B("This user balance does not exist."))
163- let W = valueOrElse(getInteger(o(e, f)), 0)
164- let N = h(e, f)
165- let G = valueOrErrorMessage(getInteger(N), B("The withdrawal fee for this pair of assets is not set."))
166- let U = ((ab / 1000) * G)
167- let Z = (V - ab)
168- let aa = if ((Z >= 0))
153+ let Q = value(x.payments[0])
154+ let aa = Q.amount
155+ let f = toBase58String(value(Q.assetId))
156+ let m = toString(x.caller)
157+ let H = valueOrErrorMessage(getInteger(k(e, f)), A("The minimum withdrawal amount for this pair of assets is not set."))
158+ let ab = (height + valueOrErrorMessage(getInteger(d(e, f)), A("Withdrawal delay is not set for the specified pair.")))
159+ let U = valueOrErrorMessage(getInteger(l(e, f, m)), A("This user balance does not exist."))
160+ let V = valueOrElse(getInteger(o(e, f)), 0)
161+ let M = h(e, f)
162+ let F = valueOrErrorMessage(getInteger(M), A("The withdrawal fee for this pair of assets is not set."))
163+ let T = ((aa / 1000) * F)
164+ let Y = (U - aa)
165+ let Z = if ((Y >= 0))
169166 then true
170- else D("Swap amount fail, amount is to small.")
171- if ((aa == aa))
167+ else C("Swap amount fail, amount is to small.")
168+ if ((Z == Z))
172169 then {
173- let Y = if ((ab >= I))
170+ let X = if ((aa >= H))
174171 then true
175- else D("The withdraw amount is less than the minimum.")
176- if ((Y == Y))
172+ else C("The withdraw amount is less than the minimum.")
173+ if ((X == X))
177174 then {
178- let ad = if ((getInteger(q(m, e, f, ac)) == unit))
175+ let ac = if ((getInteger(p(m, e, f, ab)) == unit))
179176 then true
180- else D("At this height, there is already an exchange of this pair.")
181- if ((ad == ad))
182- then [IntegerEntry(l(e, f, m), Z), IntegerEntry(q(m, e, f, ac), (ab - U)), IntegerEntry(o(e, f), (W + U))]
177+ else C("At this height, there is already an exchange of this pair.")
178+ if ((ac == ac))
179+ then [IntegerEntry(l(e, f, m), Y), IntegerEntry(p(m, e, f, ab), (aa - T)), IntegerEntry(o(e, f), (V + T))]
183180 else throw("Strict value is not equal to itself.")
184181 }
185182 else throw("Strict value is not equal to itself.")
186183 }
187184 else throw("Strict value is not equal to itself.")
188185 }
189186
190187
191188
192-@Callable(y)
193-func withdrawAsset (e,f,r) = {
194- let m = toString(y.caller)
195- let ab = valueOrErrorMessage(getInteger(q(m, e, f, r)), B("At this height, withdraw was not initialized with this pair of assets."))
196- let S = fromBase58String(value(e))
197- let ae = if ((height >= r))
189+@Callable(x)
190+func withdrawAsset (e,f,q) = {
191+ let m = toString(x.caller)
192+ let aa = valueOrErrorMessage(getInteger(p(m, e, f, q)), A("At this height, withdraw was not initialized with this pair of assets."))
193+ let R = fromBase58String(value(e))
194+ let ad = if ((height >= q))
198195 then true
199- else D((("Withdrawal is possible after " + toString(r)) + " height or you have already withdrawn."))
200- if ((ae == ae))
201- then [DeleteEntry(q(m, e, f, r)), IntegerEntry(s(m, e, f, r), ab), ScriptTransfer(y.caller, ab, S)]
196+ else C((("Withdrawal is possible after " + toString(q)) + " height or you have already withdrawn."))
197+ if ((ad == ad))
198+ then [DeleteEntry(p(m, e, f, q)), IntegerEntry(r(m, e, f, q), aa), ScriptTransfer(x.caller, aa, R)]
202199 else throw("Strict value is not equal to itself.")
203200 }
204201
205202
206203
207-@Callable(y)
204+@Callable(x)
208205 func withdrawFee (e,f) = {
209- let K = x(y)
210- if ((K == K))
206+ let J = w(x)
207+ if ((J == J))
211208 then {
212- let af = valueOrElse(getInteger(n(e, f)), 0)
213- let ag = fromBase58String(value(f))
214- let ah = valueOrElse(getInteger(o(e, f)), 0)
215- let ai = fromBase58String(value(e))
216-[IntegerEntry(n(e, f), 0), ScriptTransfer(y.caller, ah, ai), IntegerEntry(o(e, f), 0), ScriptTransfer(y.caller, af, ag)]
209+ let ae = valueOrElse(getInteger(n(e, f)), 0)
210+ let af = fromBase58String(value(f))
211+ let ag = valueOrElse(getInteger(o(e, f)), 0)
212+ let ah = fromBase58String(value(e))
213+[IntegerEntry(n(e, f), 0), ScriptTransfer(x.caller, ag, ah), IntegerEntry(o(e, f), 0), ScriptTransfer(x.caller, ae, af)]
217214 }
218215 else throw("Strict value is not equal to itself.")
219216 }
220217
221218
222219
223-@Callable(y)
224-func setManager (aj) = {
225- let K = x(y)
226- if ((K == K))
220+@Callable(x)
221+func setManager (ai) = {
222+ let J = w(x)
223+ if ((J == J))
227224 then {
228- let ak = fromBase58String(aj)
229- if ((ak == ak))
230- then [StringEntry(c(), aj)]
225+ let aj = fromBase58String(ai)
226+ if ((aj == aj))
227+ then [StringEntry(c(), ai)]
231228 else throw("Strict value is not equal to itself.")
232229 }
233230 else throw("Strict value is not equal to itself.")
234231 }
235232
236233
237234
238-@Callable(y)
235+@Callable(x)
239236 func confirmManager () = {
240- let al = w()
241- let am = if (isDefined(al))
237+ let ak = v()
238+ let al = if (isDefined(ak))
242239 then true
243- else D("No pending manager.")
244- if ((am == am))
240+ else C("No pending manager.")
241+ if ((al == al))
245242 then {
246- let an = if ((y.callerPublicKey == value(al)))
243+ let am = if ((x.callerPublicKey == value(ak)))
247244 then true
248- else D("You are not pending manager.")
249- if ((an == an))
250- then [StringEntry(b(), toBase58String(value(al))), DeleteEntry(c())]
245+ else C("You are not pending manager.")
246+ if ((am == am))
247+ then [StringEntry(b(), toBase58String(value(ak))), DeleteEntry(c())]
251248 else throw("Strict value is not equal to itself.")
252249 }
253250 else throw("Strict value is not equal to itself.")
254251 }
255252
256253
257-@Verifier(ao)
258-func ap () = {
259- let aq = {
260- let u = t()
261- if ($isInstanceOf(u, "ByteVector"))
254+@Verifier(an)
255+func ao () = {
256+ let ap = {
257+ let t = s()
258+ if ($isInstanceOf(t, "ByteVector"))
262259 then {
263- let A = u
264- A
260+ let z = t
261+ z
265262 }
266- else if ($isInstanceOf(u, "Unit"))
267- then ao.senderPublicKey
263+ else if ($isInstanceOf(t, "Unit"))
264+ then an.senderPublicKey
268265 else throw("Match error")
269266 }
270- sigVerify(ao.bodyBytes, ao.proofs[0], aq)
267+ sigVerify(an.bodyBytes, an.proofs[0], ap)
271268 }
272269

github/deemru/w8io/169f3d6 
98.21 ms