tx · 35RmjPnFsTychHmYmaGk5YCGMrzjkpCNtM4YzZ36WihX

3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5:  -0.01400000 Waves

2022.09.19 18:37 [2236194] smart account 3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5 > SELF 0.00000000 Waves

{ "type": 13, "id": "35RmjPnFsTychHmYmaGk5YCGMrzjkpCNtM4YzZ36WihX", "fee": 1400000, "feeAssetId": null, "timestamp": 1663601883292, "version": 1, "sender": "3MvXnAcEtL9x3i499UcvTQZPufrT5ZZUEd5", "senderPublicKey": "GSAhb4fdky75LiCZ4p4DDK4rmWpmsgGBg1ZVdtPfmRES", "proofs": [ "3i7y3kuyfSUgxq7uRvQo8gRrMowV3t9K1oW9gtmgjkzdEshmPwzKDBgQbTe91cEn44ymctDvemU7zUu41D9vnZF7" ], "script": "base64:BgIsCAISCgoICAgBAQEBAQESAwoBCBIDCgEIEgUKAwgIARIECgIICBIDCgEIEgAUAANTRVACAl9fARNrZXlNYW5hZ2VyUHVibGljS2V5AAIUJXNfX21hbmFnZXJQdWJsaWNLZXkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAIbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5ARBrZXlXaXRoZHJhd0RlbGF5AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICDXdpdGhkcmF3RGVsYXkJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFWtleURlcG9zaXRGZWVQZXJtaWxsZQIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhJkZXBvc2l0RmVlUGVybWlsbGUJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFmtleVdpdGhkcmF3RmVlUGVybWlsbGUCBmFzc2V0QQZhc3NldEIJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgITd2l0aGRyYXdGZWVQZXJtaWxsZQkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCBQNuaWwFA1NFUAETa2V5TWluQW1vdW50RGVwb3NpdAIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhBtaW5BbW91bnREZXBvc2l0CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQARNrZXlBc3NldHNQYWlyU3RhdHVzAgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEGFzc2V0c1BhaXJTdGF0dXMJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgUDbmlsBQNTRVABFGtleU1pbkFtb3VudFdpdGhkcmF3AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEW1pbkFtb3VudFdpdGhkcmF3CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQAQprZXlCYWxhbmNlAwZhc3NldEEGYXNzZXRCC3VzZXJBZGRyZXNzCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgIHYmFsYW5jZQkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCCQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgZhc3NldEEGYXNzZXRCCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgIRdG90YWxGZWVDb2xsZWN0ZWQJAMwIAgIHZGVwb3NpdAkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCBQNuaWwFA1NFUAEca2V5VG90YWxGZWVDb2xsZWN0ZWRXaXRoZHJhdwIGYXNzZXRBBmFzc2V0QgkAuQkCCQDMCAICCCVzJXMlcyVzCQDMCAICEXRvdGFsRmVlQ29sbGVjdGVkCQDMCAICCHdpdGhkcmF3CQDMCAIFBmFzc2V0QQkAzAgCBQZhc3NldEIFA25pbAUDU0VQARBrZXlBc3NldExvY2tUaW1lAwZhc3NldEEGYXNzZXRCC3VzZXJBZGRyZXNzCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgINYXNzZXRMb2NrVGltZQkAzAgCBQZhc3NldEEJAMwIAgUGYXNzZXRCCQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAEUa2V5UHJvY2Vzc0luUHJvZ3Jlc3MEC3VzZXJBZGRyZXNzBmFzc2V0QQZhc3NldEILaGVpZ2h0SW5LZXkJALkJAgkAzAgCAgwlcyVzJXMlcyVzJWQJAMwIAgIPd2l0aGRyYXdQcm9jZXNzCQDMCAICCmluUHJvZ3Jlc3MJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgkAzAgCCQCkAwEFC2hlaWdodEluS2V5BQNuaWwFA1NFUAEOa2V5UHJvY2Vzc0RvbmUEC3VzZXJBZGRyZXNzBmFzc2V0QQZhc3NldEILaGVpZ2h0SW5LZXkJALkJAgkAzAgCAgwlcyVzJXMlcyVzJWQJAMwIAgIPd2l0aGRyYXdQcm9jZXNzCQDMCAICBGRvbmUJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUGYXNzZXRBCQDMCAIFBmFzc2V0QgkAzAgCCQCkAwEFC2hlaWdodEluS2V5BQNuaWwFA1NFUAEWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAEByRtYXRjaDAJAKIIAQkBE2tleU1hbmFnZXJQdWJsaWNLZXkAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkA2QQBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgEdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQABAckbWF0Y2gwCQCiCAEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQDZBAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQttdXN0TWFuYWdlcgEBaQQCcGQJAAIBAhJQZXJtaXNzaW9uIGRlbmllZC4EByRtYXRjaDAJARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAJwawUHJG1hdGNoMAMJAAACCAUBaQ9jYWxsZXJQdWJsaWNLZXkFAnBrBgUCcGQDCQABAgUHJG1hdGNoMAIEVW5pdAMJAAACCAUBaQZjYWxsZXIFBHRoaXMGBQJwZAkAAgECC01hdGNoIGVycm9yAQZmbXRFcnIBA21zZwkAuQkCCQDMCAICFG90Y19tdWx0aWFzc2V0LnJpZGU6CQDMCAIFA21zZwUDbmlsAgEgAQh0aHJvd0VycgEDbXNnCQACAQkBBmZtdEVycgEFA21zZwcBaQENcmVnaXN0ZXJBc3NldAgGYXNzZXRBBmFzc2V0Qg13aXRoZHJhd0RlbGF5CmRlcG9zaXRGZWULd2l0aGRyYXdGZWUQbWluQW1vdW50RGVwb3NpdBFtaW5BbW91bnRXaXRoZHJhdwpwYWlyU3RhdHVzBAtjaGVja0NhbGxlcgkBC211c3RNYW5hZ2VyAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEEHdpdGhkcmF3RGVsYXlLZXkJARBrZXlXaXRoZHJhd0RlbGF5AgUGYXNzZXRBBQZhc3NldEIEFWRlcG9zaXRGZWVQZXJtaWxsZUtleQkBFWtleURlcG9zaXRGZWVQZXJtaWxsZQIFBmFzc2V0QQUGYXNzZXRCBBZ3aXRoZHJhd0ZlZVBlcm1pbGxlS2V5CQEWa2V5V2l0aGRyYXdGZWVQZXJtaWxsZQIFBmFzc2V0QQUGYXNzZXRCBBNtaW5BbW91bnREZXBvc2l0S2V5CQETa2V5TWluQW1vdW50RGVwb3NpdAIFBmFzc2V0QQUGYXNzZXRCBBRtaW5BbW91bnRXaXRoZHJhd0tleQkBFGtleU1pbkFtb3VudFdpdGhkcmF3AgUGYXNzZXRBBQZhc3NldEIEDXBhaXJTdGF0dXNLZXkJARNrZXlBc3NldHNQYWlyU3RhdHVzAgUGYXNzZXRBBQZhc3NldEIJAMwIAgkBDEludGVnZXJFbnRyeQIFEHdpdGhkcmF3RGVsYXlLZXkFDXdpdGhkcmF3RGVsYXkJAMwIAgkBDEludGVnZXJFbnRyeQIFFWRlcG9zaXRGZWVQZXJtaWxsZUtleQUKZGVwb3NpdEZlZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUWd2l0aGRyYXdGZWVQZXJtaWxsZUtleQULd2l0aGRyYXdGZWUJAMwIAgkBDEludGVnZXJFbnRyeQIFE21pbkFtb3VudERlcG9zaXRLZXkFEG1pbkFtb3VudERlcG9zaXQJAMwIAgkBDEludGVnZXJFbnRyeQIFFG1pbkFtb3VudFdpdGhkcmF3S2V5BRFtaW5BbW91bnRXaXRoZHJhdwkAzAgCCQEMSW50ZWdlckVudHJ5AgUNcGFpclN0YXR1c0tleQUKcGFpclN0YXR1cwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDnN3YXBBc3NldHNBVG9CAQZhc3NldEIEB3BheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQGYXNzZXRBCQDYBAEJAQV2YWx1ZQEIBQdwYXltZW50B2Fzc2V0SWQEBWFzc2V0CQDZBAEJAQV2YWx1ZQEFBmFzc2V0QgQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBBBtaW5BbW91bnREZXBvc2l0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBE2tleU1pbkFtb3VudERlcG9zaXQCBQZhc3NldEEFBmFzc2V0QgkBBmZtdEVycgECH1RoaXMgYXNzZXQgcGFpciBkb2VzIG5vdCBleGlzdC4ECXRvRGVwb3NpdAgFB3BheW1lbnQGYW1vdW50BApkZXBvc2l0RmVlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQkBFWtleURlcG9zaXRGZWVQZXJtaWxsZQIFBmFzc2V0QQUGYXNzZXRCCQEGZm10RXJyAQIzVGhlIGRlcG9zaXQgZmVlIGZvciB0aGlzIHBhaXIgb2YgYXNzZXRzIGlzIG5vdCBzZXQuBANmZWUJAGgCCQBpAgUJdG9EZXBvc2l0AOgHBQpkZXBvc2l0RmVlBBJjdXJyZW50VXNlckJhbGFuY2UJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBCmtleUJhbGFuY2UDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MAAAQQdG90YWxDb21taXNzaW9ucwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEIAAAQKcGFpclN0YXR1cwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEJARNrZXlBc3NldHNQYWlyU3RhdHVzAgUGYXNzZXRBBQZhc3NldEIJAQZmbXRFcnIBAjlUaGUgYXNzZXQgcGFpciBzdGF0dXMgZm9yIHRoaXMgcGFpciBvZiBhc3NldHMgaXMgbm90IHNldC4ED2NoZWNrUGFpclN0YXR1cwMJAAACBQpwYWlyU3RhdHVzAAAGCQEIdGhyb3dFcnIBAiBUaGUgY291cGxlJ3MgZGVwb3NpdCBpcyBibG9ja2VkLgMJAAACBQ9jaGVja1BhaXJTdGF0dXMFD2NoZWNrUGFpclN0YXR1cwQMY2hlY2tQYXltZW50AwkAZwIFCXRvRGVwb3NpdAUQbWluQW1vdW50RGVwb3NpdAYJAQh0aHJvd0VycgECLFRoZSBkZXBvc2l0IGFtb3VudCBpcyBsZXNzIHRoYW4gdGhlIG1pbmltdW0uAwkAAAIFDGNoZWNrUGF5bWVudAUMY2hlY2tQYXltZW50BApuZXdCYWxhbmNlCQBlAgkAZAIFEmN1cnJlbnRVc2VyQmFsYW5jZQUJdG9EZXBvc2l0BQNmZWUEDGNoZWNrQmFsYW5jZQMJAGYCBQpuZXdCYWxhbmNlAAAGCQEIdGhyb3dFcnIBAi1UaGUgZmluYWwgYmFsYW5jZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4DCQAAAgUMY2hlY2tCYWxhbmNlBQxjaGVja0JhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJAQprZXlCYWxhbmNlAwUGYXNzZXRBBQZhc3NldEIFC3VzZXJBZGRyZXNzBQpuZXdCYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEIJAGQCBRB0b3RhbENvbW1pc3Npb25zBQNmZWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyCQBlAgUJdG9EZXBvc2l0BQNmZWUFBWFzc2V0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEcaW5pdGlhbGl6YXRpb25Td2FwQXNzZXRzQlRvQQEGYXNzZXRBBAdwYXltZW50CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAECnRvV2l0aGRyYXcIBQdwYXltZW50BmFtb3VudAQGYXNzZXRCCQDYBAEJAQV2YWx1ZQEIBQdwYXltZW50B2Fzc2V0SWQEC3VzZXJBZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQRbWluQW1vdW50V2l0aGRyYXcJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQEUa2V5TWluQW1vdW50V2l0aGRyYXcCBQZhc3NldEEFBmFzc2V0QgkBBmZtdEVycgECQVRoZSBtaW5pbXVtIHdpdGhkcmF3YWwgYW1vdW50IGZvciB0aGlzIHBhaXIgb2YgYXNzZXRzIGlzIG5vdCBzZXQuBA9hc3NldExvY2tIZWlnaHQJAGQCBQZoZWlnaHQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQEQa2V5V2l0aGRyYXdEZWxheQIFBmFzc2V0QQUGYXNzZXRCCQEGZm10RXJyAQIzV2l0aGRyYXdhbCBkZWxheSBpcyBub3Qgc2V0IGZvciB0aGUgc3BlY2lmaWVkIHBhaXIuBBJjdXJyZW50VXNlckJhbGFuY2UJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQEKa2V5QmFsYW5jZQMFBmFzc2V0QQUGYXNzZXRCBQt1c2VyQWRkcmVzcwkBBmZtdEVycgECIVRoaXMgdXNlciBiYWxhbmNlIGRvZXMgbm90IGV4aXN0LgQQdG90YWxDb21taXNzaW9ucwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEIAAAQWd2l0aGRyYXdGZWVQZXJtaWxsZUtleQkBFmtleVdpdGhkcmF3RmVlUGVybWlsbGUCBQZhc3NldEEFBmFzc2V0QgQLd2l0aGRyYXdGZWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBBRZ3aXRoZHJhd0ZlZVBlcm1pbGxlS2V5CQEGZm10RXJyAQI2VGhlIHdpdGhkcmF3YWwgZmVlIGZvciB0aGlzIHBhaXIgb2YgYXNzZXRzIGlzIG5vdCBzZXQuBANmZWUJAGgCCQBpAgUKdG9XaXRoZHJhdwDoBwULd2l0aGRyYXdGZWUECm5ld0JhbGFuY2UJAGUCBRJjdXJyZW50VXNlckJhbGFuY2UFCnRvV2l0aGRyYXcEDGNoZWNrQmFsYW5jZQMJAGcCBQpuZXdCYWxhbmNlAAAGCQEIdGhyb3dFcnIBAiVTd2FwIGFtb3VudCBmYWlsLCBhbW91bnQgaXMgdG8gc21hbGwuAwkAAAIFDGNoZWNrQmFsYW5jZQUMY2hlY2tCYWxhbmNlBAxjaGVja1BheW1lbnQDCQBnAgUKdG9XaXRoZHJhdwURbWluQW1vdW50V2l0aGRyYXcGCQEIdGhyb3dFcnIBAi1UaGUgd2l0aGRyYXcgYW1vdW50IGlzIGxlc3MgdGhhbiB0aGUgbWluaW11bS4DCQAAAgUMY2hlY2tQYXltZW50BQxjaGVja1BheW1lbnQEFGNoZWNrQXNzZXRMb2NrSGVpZ2h0AwkBAiE9AgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEQa2V5QXNzZXRMb2NrVGltZQMFBmFzc2V0QQUGYXNzZXRCBQt1c2VyQWRkcmVzcwAABQ9hc3NldExvY2tIZWlnaHQGCQEIdGhyb3dFcnIBAjpBdCB0aGlzIGhlaWdodCwgdGhlcmUgaXMgYWxyZWFkeSBhbiBleGNoYW5nZSBvZiB0aGlzIHBhaXIuAwkAAAIFFGNoZWNrQXNzZXRMb2NrSGVpZ2h0BRRjaGVja0Fzc2V0TG9ja0hlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEGtleUFzc2V0TG9ja1RpbWUDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MFD2Fzc2V0TG9ja0hlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBCmtleUJhbGFuY2UDBQZhc3NldEEFBmFzc2V0QgULdXNlckFkZHJlc3MFCm5ld0JhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlQcm9jZXNzSW5Qcm9ncmVzcwQFC3VzZXJBZGRyZXNzBQZhc3NldEEFBmFzc2V0QgUPYXNzZXRMb2NrSGVpZ2h0CQBlAgUKdG9XaXRoZHJhdwUDZmVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEca2V5VG90YWxGZWVDb2xsZWN0ZWRXaXRoZHJhdwIFBmFzc2V0QQUGYXNzZXRCCQBkAgUQdG90YWxDb21taXNzaW9ucwUDZmVlBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQENd2l0aGRyYXdBc3NldAMGYXNzZXRBBmFzc2V0QgtoZWlnaHRJbktleQQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBA9hc3NldExvY2tIZWlnaHQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQEQa2V5QXNzZXRMb2NrVGltZQMFBmFzc2V0QQUGYXNzZXRCBQt1c2VyQWRkcmVzcwkBBmZtdEVycgECMUFuIGFzc2V0IHBhaXIgb3IgaGVpZ2h0IGlzIHNwZWNpZmllZCBpbmNvcnJlY3RseS4ECnRvV2l0aGRyYXcJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQEUa2V5UHJvY2Vzc0luUHJvZ3Jlc3MEBQt1c2VyQWRkcmVzcwUGYXNzZXRBBQZhc3NldEIFC2hlaWdodEluS2V5CQEGZm10RXJyAQJGQXQgdGhpcyBoZWlnaHQsIHdpdGhkcmF3IHdhcyBub3QgaW5pdGlhbGl6ZWQgd2l0aCB0aGlzIHBhaXIgb2YgYXNzZXRzLgQFYXNzZXQJANkEAQkBBXZhbHVlAQUGYXNzZXRBBAtjaGVja0hlaWdodAMJAGcCBQZoZWlnaHQFD2Fzc2V0TG9ja0hlaWdodAYJAQh0aHJvd0VycgEJAKwCAgkArAICAh1XaXRoZHJhd2FsIGlzIHBvc3NpYmxlIGFmdGVyIAkApAMBBQtoZWlnaHRJbktleQImIGhlaWdodCBvciB5b3UgaGF2ZSBhbHJlYWR5IHdpdGhkcmF3bi4DCQAAAgULY2hlY2tIZWlnaHQFC2NoZWNrSGVpZ2h0CQDMCAIJAQtEZWxldGVFbnRyeQEJARRrZXlQcm9jZXNzSW5Qcm9ncmVzcwQFC3VzZXJBZGRyZXNzBQZhc3NldEEFBmFzc2V0QgULaGVpZ2h0SW5LZXkJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ5rZXlQcm9jZXNzRG9uZQQFC3VzZXJBZGRyZXNzBQZhc3NldEEFBmFzc2V0QgULaGVpZ2h0SW5LZXkFCnRvV2l0aGRyYXcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQp0b1dpdGhkcmF3BQVhc3NldAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC3dpdGhkcmF3RmVlAgZhc3NldEEGYXNzZXRCBAtjaGVja0NhbGxlcgkBC211c3RNYW5hZ2VyAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEC3RvV2l0aGRyYXdBCQELdmFsdWVPckVsc2UCCQCfCAEJARtrZXlUb3RhbEZlZUNvbGxlY3RlZERlcG9zaXQCBQZhc3NldEEFBmFzc2V0QgAABA53aXRoZHJhd0Fzc2V0QQkA2QQBCQEFdmFsdWUBBQZhc3NldEEEC3RvV2l0aGRyYXdCCQELdmFsdWVPckVsc2UCCQCfCAEJARxrZXlUb3RhbEZlZUNvbGxlY3RlZFdpdGhkcmF3AgUGYXNzZXRBBQZhc3NldEIAAAQOd2l0aGRyYXdBc3NldEIJANkEAQkBBXZhbHVlAQUGYXNzZXRCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEba2V5VG90YWxGZWVDb2xsZWN0ZWREZXBvc2l0AgUGYXNzZXRBBQZhc3NldEIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC3RvV2l0aGRyYXdBBQ53aXRoZHJhd0Fzc2V0QQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHGtleVRvdGFsRmVlQ29sbGVjdGVkV2l0aGRyYXcCBQZhc3NldEEFBmFzc2V0QgAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgULdG9XaXRoZHJhd0IFDndpdGhkcmF3QXNzZXRCBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKc2V0TWFuYWdlcgEXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkEC2NoZWNrQ2FsbGVyCQELbXVzdE1hbmFnZXIBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgQVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQDZBAEFF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AwkAAAIFFWNoZWNrTWFuYWdlclB1YmxpY0tleQUVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQDMCAIJAQtTdHJpbmdFbnRyeQIJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAFF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEOY29uZmlybU1hbmFnZXIABAJwbQkBHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0AAQFaGFzUE0DCQEJaXNEZWZpbmVkAQUCcG0GCQEIdGhyb3dFcnIBAhNObyBwZW5kaW5nIG1hbmFnZXIuAwkAAAIFBWhhc1BNBQVoYXNQTQQHY2hlY2tQTQMJAAACCAUBaQ9jYWxsZXJQdWJsaWNLZXkJAQV2YWx1ZQEFAnBtBgkBCHRocm93RXJyAQIcWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyLgMJAAACBQdjaGVja1BNBQdjaGVja1BNCQDMCAIJAQtTdHJpbmdFbnRyeQIJARNrZXlNYW5hZ2VyUHVibGljS2V5AAkA2AQBCQEFdmFsdWUBBQJwbQkAzAgCCQELRGVsZXRlRW50cnkBCQEaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABA90YXJnZXRQdWJsaWNLZXkEByRtYXRjaDAJARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAJwawUHJG1hdGNoMAUCcGsDCQABAgUHJG1hdGNoMAIEVW5pdAgFAnR4D3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQ90YXJnZXRQdWJsaWNLZXlwzD2B", "chainId": 84, "height": 2236194, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 663UfavYENmNrk38YSPcYHgJ7qctRZJYztRuhWYN2b1N Next: 14Ss988skoTZAbjK2pcvn3AbZGF76mhAfgJoZN7HEjYM Diff:
OldNewDifferences
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)
128- let X = value(getInteger(j(e, f)))
129- let Y = if ((X == 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))
130130 then true
131131 else D("The couple's deposit is blocked.")
132- if ((Y == Y))
132+ if ((X == X))
133133 then {
134- let Z = if ((T >= H))
134+ let Y = if ((T >= H))
135135 then true
136136 else D("The deposit amount is less than the minimum.")
137- if ((Z == Z))
137+ if ((Y == Y))
138138 then {
139- let aa = ((V + T) - U)
140- let ab = if ((aa > 0))
139+ let Z = ((V + T) - U)
140+ let aa = if ((Z > 0))
141141 then true
142142 else D("The final balance is less than or equal to 0.")
143- if ((ab == ab))
144- then [IntegerEntry(l(e, f, m), aa), IntegerEntry(n(e, f), (W + U)), ScriptTransfer(y.caller, (T - U), S)]
143+ if ((aa == aa))
144+ then [IntegerEntry(l(e, f, m), Z), 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.")
154154 @Callable(y)
155155 func initializationSwapAssetsBToA (e) = {
156156 let R = value(y.payments[0])
157- let ac = R.amount
157+ let ab = 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."))
161- let ad = (height + valueOrErrorMessage(getInteger(d(e, f)), B("Withdrawal delay is not set for the specified pair.")))
161+ let ac = (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."))
166- let U = ((ac / 1000) * G)
167- let aa = (V - ac)
168- let ab = if ((aa >= 0))
166+ let U = ((ab / 1000) * G)
167+ let Z = (V - ab)
168+ let aa = if ((Z >= 0))
169169 then true
170170 else D("Swap amount fail, amount is to small.")
171- if ((ab == ab))
171+ if ((aa == aa))
172172 then {
173- let Z = if ((ac >= I))
173+ let Y = if ((ab >= I))
174174 then true
175175 else D("The withdraw amount is less than the minimum.")
176- if ((Z == Z))
176+ if ((Y == Y))
177177 then {
178- let ae = if ((valueOrElse(getInteger(p(e, f, m)), 0) != ad))
178+ let ad = if ((valueOrElse(getInteger(p(e, f, m)), 0) != ac))
179179 then true
180180 else D("At this height, there is already an exchange of this pair.")
181- if ((ae == ae))
182- 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))]
181+ if ((ad == ad))
182+ then [IntegerEntry(p(e, f, m), ac), IntegerEntry(l(e, f, m), Z), IntegerEntry(q(m, e, f, ac), (ab - 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.")
192192 @Callable(y)
193193 func withdrawAsset (e,f,r) = {
194194 let m = toString(y.caller)
195- let ad = valueOrErrorMessage(getInteger(p(e, f, m)), B("An asset pair or height is specified incorrectly."))
196- let ac = valueOrErrorMessage(getInteger(q(m, e, f, r)), B("At this height, withdraw was not initialized with this pair of assets."))
195+ let ac = valueOrErrorMessage(getInteger(p(e, f, m)), B("An asset pair or height is specified incorrectly."))
196+ let ab = 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))
198- let af = if ((height >= ad))
198+ let ae = if ((height >= ac))
199199 then true
200200 else D((("Withdrawal is possible after " + toString(r)) + " height or you have already withdrawn."))
201- if ((af == af))
202- then [DeleteEntry(q(m, e, f, r)), IntegerEntry(s(m, e, f, r), ac), ScriptTransfer(y.caller, ac, S)]
201+ if ((ae == ae))
202+ then [DeleteEntry(q(m, e, f, r)), IntegerEntry(s(m, e, f, r), ab), ScriptTransfer(y.caller, ab, S)]
203203 else throw("Strict value is not equal to itself.")
204204 }
205205
210210 let K = x(y)
211211 if ((K == K))
212212 then {
213- let ag = valueOrElse(getInteger(n(e, f)), 0)
214- let ah = fromBase58String(value(e))
215- let ai = valueOrElse(getInteger(o(e, f)), 0)
216- let aj = fromBase58String(value(f))
217-[IntegerEntry(n(e, f), 0), ScriptTransfer(y.caller, ag, ah), IntegerEntry(o(e, f), 0), ScriptTransfer(y.caller, ai, aj)]
213+ let af = valueOrElse(getInteger(n(e, f)), 0)
214+ let ag = fromBase58String(value(e))
215+ let ah = valueOrElse(getInteger(o(e, f)), 0)
216+ let ai = fromBase58String(value(f))
217+[IntegerEntry(n(e, f), 0), ScriptTransfer(y.caller, af, ag), IntegerEntry(o(e, f), 0), ScriptTransfer(y.caller, ah, ai)]
218218 }
219219 else throw("Strict value is not equal to itself.")
220220 }
222222
223223
224224 @Callable(y)
225-func setManager (ak) = {
225+func setManager (aj) = {
226226 let K = x(y)
227227 if ((K == K))
228228 then {
229- let al = fromBase58String(ak)
230- if ((al == al))
231- then [StringEntry(c(), ak)]
229+ let ak = fromBase58String(aj)
230+ if ((ak == ak))
231+ then [StringEntry(c(), aj)]
232232 else throw("Strict value is not equal to itself.")
233233 }
234234 else throw("Strict value is not equal to itself.")
238238
239239 @Callable(y)
240240 func confirmManager () = {
241- let am = w()
242- let an = if (isDefined(am))
241+ let al = w()
242+ let am = if (isDefined(al))
243243 then true
244244 else D("No pending manager.")
245- if ((an == an))
245+ if ((am == am))
246246 then {
247- let ao = if ((y.callerPublicKey == value(am)))
247+ let an = if ((y.callerPublicKey == value(al)))
248248 then true
249249 else D("You are not pending manager.")
250- if ((ao == ao))
251- then [StringEntry(b(), toBase58String(value(am))), DeleteEntry(c())]
250+ if ((an == an))
251+ then [StringEntry(b(), toBase58String(value(al))), 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
258-@Verifier(ap)
259-func aq () = {
260- let ar = {
258+@Verifier(ao)
259+func ap () = {
260+ let aq = {
261261 let u = t()
262262 if ($isInstanceOf(u, "ByteVector"))
263263 then {
265265 A
266266 }
267267 else if ($isInstanceOf(u, "Unit"))
268- then ap.senderPublicKey
268+ then ao.senderPublicKey
269269 else throw("Match error")
270270 }
271- sigVerify(ap.bodyBytes, ap.proofs[0], ar)
271+ sigVerify(ao.bodyBytes, ao.proofs[0], aq)
272272 }
273273
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)
128- let X = value(getInteger(j(e, f)))
129- let Y = if ((X == 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))
130130 then true
131131 else D("The couple's deposit is blocked.")
132- if ((Y == Y))
132+ if ((X == X))
133133 then {
134- let Z = if ((T >= H))
134+ let Y = if ((T >= H))
135135 then true
136136 else D("The deposit amount is less than the minimum.")
137- if ((Z == Z))
137+ if ((Y == Y))
138138 then {
139- let aa = ((V + T) - U)
140- let ab = if ((aa > 0))
139+ let Z = ((V + T) - U)
140+ let aa = if ((Z > 0))
141141 then true
142142 else D("The final balance is less than or equal to 0.")
143- if ((ab == ab))
144- then [IntegerEntry(l(e, f, m), aa), IntegerEntry(n(e, f), (W + U)), ScriptTransfer(y.caller, (T - U), S)]
143+ if ((aa == aa))
144+ then [IntegerEntry(l(e, f, m), Z), 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])
157- let ac = R.amount
157+ let ab = 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."))
161- let ad = (height + valueOrErrorMessage(getInteger(d(e, f)), B("Withdrawal delay is not set for the specified pair.")))
161+ let ac = (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."))
166- let U = ((ac / 1000) * G)
167- let aa = (V - ac)
168- let ab = if ((aa >= 0))
166+ let U = ((ab / 1000) * G)
167+ let Z = (V - ab)
168+ let aa = if ((Z >= 0))
169169 then true
170170 else D("Swap amount fail, amount is to small.")
171- if ((ab == ab))
171+ if ((aa == aa))
172172 then {
173- let Z = if ((ac >= I))
173+ let Y = if ((ab >= I))
174174 then true
175175 else D("The withdraw amount is less than the minimum.")
176- if ((Z == Z))
176+ if ((Y == Y))
177177 then {
178- let ae = if ((valueOrElse(getInteger(p(e, f, m)), 0) != ad))
178+ let ad = if ((valueOrElse(getInteger(p(e, f, m)), 0) != ac))
179179 then true
180180 else D("At this height, there is already an exchange of this pair.")
181- if ((ae == ae))
182- 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))]
181+ if ((ad == ad))
182+ then [IntegerEntry(p(e, f, m), ac), IntegerEntry(l(e, f, m), Z), IntegerEntry(q(m, e, f, ac), (ab - 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)
195- let ad = valueOrErrorMessage(getInteger(p(e, f, m)), B("An asset pair or height is specified incorrectly."))
196- let ac = valueOrErrorMessage(getInteger(q(m, e, f, r)), B("At this height, withdraw was not initialized with this pair of assets."))
195+ let ac = valueOrErrorMessage(getInteger(p(e, f, m)), B("An asset pair or height is specified incorrectly."))
196+ let ab = 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))
198- let af = if ((height >= ad))
198+ let ae = if ((height >= ac))
199199 then true
200200 else D((("Withdrawal is possible after " + toString(r)) + " height or you have already withdrawn."))
201- if ((af == af))
202- then [DeleteEntry(q(m, e, f, r)), IntegerEntry(s(m, e, f, r), ac), ScriptTransfer(y.caller, ac, S)]
201+ if ((ae == ae))
202+ then [DeleteEntry(q(m, e, f, r)), IntegerEntry(s(m, e, f, r), ab), ScriptTransfer(y.caller, ab, 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 {
213- let ag = valueOrElse(getInteger(n(e, f)), 0)
214- let ah = fromBase58String(value(e))
215- let ai = valueOrElse(getInteger(o(e, f)), 0)
216- let aj = fromBase58String(value(f))
217-[IntegerEntry(n(e, f), 0), ScriptTransfer(y.caller, ag, ah), IntegerEntry(o(e, f), 0), ScriptTransfer(y.caller, ai, aj)]
213+ let af = valueOrElse(getInteger(n(e, f)), 0)
214+ let ag = fromBase58String(value(e))
215+ let ah = valueOrElse(getInteger(o(e, f)), 0)
216+ let ai = fromBase58String(value(f))
217+[IntegerEntry(n(e, f), 0), ScriptTransfer(y.caller, af, ag), IntegerEntry(o(e, f), 0), ScriptTransfer(y.caller, ah, ai)]
218218 }
219219 else throw("Strict value is not equal to itself.")
220220 }
221221
222222
223223
224224 @Callable(y)
225-func setManager (ak) = {
225+func setManager (aj) = {
226226 let K = x(y)
227227 if ((K == K))
228228 then {
229- let al = fromBase58String(ak)
230- if ((al == al))
231- then [StringEntry(c(), ak)]
229+ let ak = fromBase58String(aj)
230+ if ((ak == ak))
231+ then [StringEntry(c(), aj)]
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 () = {
241- let am = w()
242- let an = if (isDefined(am))
241+ let al = w()
242+ let am = if (isDefined(al))
243243 then true
244244 else D("No pending manager.")
245- if ((an == an))
245+ if ((am == am))
246246 then {
247- let ao = if ((y.callerPublicKey == value(am)))
247+ let an = if ((y.callerPublicKey == value(al)))
248248 then true
249249 else D("You are not pending manager.")
250- if ((ao == ao))
251- then [StringEntry(b(), toBase58String(value(am))), DeleteEntry(c())]
250+ if ((an == an))
251+ then [StringEntry(b(), toBase58String(value(al))), 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
258-@Verifier(ap)
259-func aq () = {
260- let ar = {
258+@Verifier(ao)
259+func ap () = {
260+ let aq = {
261261 let u = t()
262262 if ($isInstanceOf(u, "ByteVector"))
263263 then {
264264 let A = u
265265 A
266266 }
267267 else if ($isInstanceOf(u, "Unit"))
268- then ap.senderPublicKey
268+ then ao.senderPublicKey
269269 else throw("Match error")
270270 }
271- sigVerify(ap.bodyBytes, ap.proofs[0], ar)
271+ sigVerify(ao.bodyBytes, ao.proofs[0], aq)
272272 }
273273

github/deemru/w8io/026f985 
55.38 ms