tx · FnTjmspUZ6jc1TQsupc1ZwrjtZfkxYQXeCNfRkVArTbs

3N4yYqBkTUq1mDdHhvAd3St7spCbm84DytS:  -0.01600000 Waves

2023.07.28 10:18 [2685405] smart account 3N4yYqBkTUq1mDdHhvAd3St7spCbm84DytS > SELF 0.00000000 Waves

{ "type": 13, "id": "FnTjmspUZ6jc1TQsupc1ZwrjtZfkxYQXeCNfRkVArTbs", "fee": 1600000, "feeAssetId": null, "timestamp": 1690528718998, "version": 2, "chainId": 84, "sender": "3N4yYqBkTUq1mDdHhvAd3St7spCbm84DytS", "senderPublicKey": "8h7G4haeVwXKNHXNHsWkC1miUp5CQtk3WmpBKazQPxRh", "proofs": [ "4DLj6xLosFt9G3t2JdyEnbt4uYMdqP1cdUfbvNUgmRJZi65jYZhiNaB3nsAP8ryvSvUqH8yonK6vooxGHfSJLQjX" ], "script": "base64:BgIfCAISAwoBARIAEgMKAQgSAwoBARIDCgEIEgASAwoBCDIADGNvbnRyYWN0RmlsZQIRbDJtcF9zdGFraW5nLnJpZGUAA1NFUAICX18ABnNjYWxlOACAwtcvAAdzY2FsZTE4AICAkLu61q3wDQANc2NhbGUxOEJpZ0ludAkAtgIBBQdzY2FsZTE4ABJBRERSRVNTX0JZVEVTX1NJWkUAGgANQkxPQ0tTX0lOX0RBWQCgCwEIdGhyb3dFcnIBA21zZwkAAgEJAKwCAgkArAICBQxjb250cmFjdEZpbGUCAjogBQNtc2cACmtleUFzc2V0SWQJALkJAgkAzAgCAgIlcwkAzAgCAgdhc3NldElkBQNuaWwFA1NFUAATa2V5RW1pc3Npb25QZXJCbG9jawkAuQkCCQDMCAICAiVzCQDMCAICEGVtaXNzaW9uUGVyQmxvY2sFA25pbAUDU0VQABlrZXlFbWlzc2lvblBlcmlvZEluQmxvY2tzCQC5CQIJAMwIAgICJXMJAMwIAgIWZW1pc3Npb25QZXJpb2RJbkJsb2NrcwUDbmlsBQNTRVAADWtleVN0YXJ0QmxvY2sJALkJAgkAzAgCAgIlcwkAzAgCAgpzdGFydEJsb2NrBQNuaWwFA1NFUAAQa2V5VG90YWxMcEFtb3VudAkAuQkCCQDMCAICAiVzCQDMCAICDXRvdGFsTHBBbW91bnQFA25pbAUDU0VQABNrZXlUb3RhbEFzc2V0QW1vdW50CQC5CQIJAMwIAgICJXMJAMwIAgIQdG90YWxBc3NldEFtb3VudAUDbmlsBQNTRVABD2tleVVzZXJMcEFtb3VudAELdXNlckFkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAICDHVzZXJMcEFtb3VudAkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsBQNTRVABGmtleVVzZXJUb3RhbEFzc2V0V2l0aGRyYXduAQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgITdG90YWxBc3NldFdpdGhkcmF3bgkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsBQNTRVABF2tleVVzZXJUb3RhbEFzc2V0U3Rha2VkAQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgIQdG90YWxBc3NldFN0YWtlZAkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsBQNTRVABCmtleUhpc3RvcnkDBHR5cGULdXNlckFkZHJlc3MEdHhJZAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCBQR0eXBlCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIJANgEAQUEdHhJZAUDbmlsBQNTRVABDWZvcm1hdEhpc3RvcnkEC3RvdGFsUHJvZml0BXByaWNlEHRvdGFsQXNzZXRBbW91bnQNdG90YWxMcEFtb3VudAkAuQkCCQDMCAICBCVkJWQJAMwIAgkApAMBBQt0b3RhbFByb2ZpdAkAzAgCCQCmAwEFBXByaWNlCQDMCAIJAKQDAQUQdG90YWxBc3NldEFtb3VudAkAzAgCCQCkAwEFDXRvdGFsTHBBbW91bnQFA25pbAUDU0VQAA10b3RhbExwQW1vdW50CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFEGtleVRvdGFsTHBBbW91bnQAAAAQdG90YWxBc3NldEFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBRNrZXlUb3RhbEFzc2V0QW1vdW50AAAADWFzc2V0SWRTdHJpbmcJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUKa2V5QXNzZXRJZAIFV0FWRVMADGFzc2V0SWRCeXRlcwMJAAACBQ1hc3NldElkU3RyaW5nAgVXQVZFUwUEdW5pdAkA2QQBBQ1hc3NldElkU3RyaW5nABZlbWlzc2lvblBlcmlvZEluQmxvY2tzCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFGWtleUVtaXNzaW9uUGVyaW9kSW5CbG9ja3MFDUJMT0NLU19JTl9EQVkAEWVtaXNzaW9uUGVyUGVyaW9kCQBoAgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBRNrZXlFbWlzc2lvblBlckJsb2NrAAAFFmVtaXNzaW9uUGVyaW9kSW5CbG9ja3MAD0FETUlOX0xJU1RfU0laRQAFAAZRVU9SVU0AAwARVFhJRF9CWVRFU19MRU5HVEgAIAEYa2V5QWxsb3dlZFR4SWRWb3RlUHJlZml4AQR0eElkCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICCWFsbG93VHhJZAkAzAgCBQR0eElkBQNuaWwFA1NFUAEQa2V5RnVsbEFkbWluVm90ZQIGcHJlZml4DGFkbWluQWRkcmVzcwkAuQkCCQDMCAIFBnByZWZpeAkAzAgCBQxhZG1pbkFkZHJlc3MFA25pbAUDU0VQARNrZXlBZG1pbkFkZHJlc3NMaXN0AAkAuQkCCQDMCAICAiVzCQDMCAICEGFkbWluQWRkcmVzc0xpc3QFA25pbAUDU0VQAQ5rZXlBbGxvd2VkVHhJZAAJALkJAgkAzAgCAgIlcwkAzAgCAgR0eElkBQNuaWwFA1NFUAEMZ2V0QWRtaW5Wb3RlAgZwcmVmaXgFYWRtaW4EB3ZvdGVLZXkJARBrZXlGdWxsQWRtaW5Wb3RlAgUGcHJlZml4BQVhZG1pbgkBC3ZhbHVlT3JFbHNlAgkAnwgBBQd2b3RlS2V5AAABDWdldEFkbWluc0xpc3QABAckbWF0Y2gwCQCdCAIFBHRoaXMJARNrZXlBZG1pbkFkZHJlc3NMaXN0AAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJALUJAgUBcwUDU0VQBQNuaWwBDWlzSW5BZG1pbkxpc3QBB2FkZHJlc3MJAQ9jb250YWluc0VsZW1lbnQCCQENZ2V0QWRtaW5zTGlzdAAFB2FkZHJlc3MBEmdlblZvdGVzS2V5c0hlbHBlcgIBYQxhZG1pbkFkZHJlc3MECyR0MDMwNDUzMDY5BQFhBAZyZXN1bHQIBQskdDAzMDQ1MzA2OQJfMQQGcHJlZml4CAULJHQwMzA0NTMwNjkCXzIJAJQKAgkAzQgCBQZyZXN1bHQJARBrZXlGdWxsQWRtaW5Wb3RlAgUGcHJlZml4BQxhZG1pbkFkZHJlc3MFBnByZWZpeAEMZ2VuVm90ZXNLZXlzAQlrZXlQcmVmaXgECWFkbWluTGlzdAkBE2tleUFkbWluQWRkcmVzc0xpc3QABAskdDAzMjE2MzMwMAoAAiRsCQENZ2V0QWRtaW5zTGlzdAAKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIFA25pbAUJa2V5UHJlZml4CgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARJnZW5Wb3Rlc0tleXNIZWxwZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDUJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFBAZyZXN1bHQIBQskdDAzMjE2MzMwMAJfMQQGcHJlZml4CAULJHQwMzIxNjMzMDACXzIFBnJlc3VsdAEQY291bnRWb3Rlc0hlbHBlcgIGcmVzdWx0B3ZvdGVLZXkJAGQCBQZyZXN1bHQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUHdm90ZUtleQAAAQpjb3VudFZvdGVzAQZwcmVmaXgEBXZvdGVzCQEMZ2VuVm90ZXNLZXlzAQUGcHJlZml4CgACJGwFBXZvdGVzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARBjb3VudFZvdGVzSGVscGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA1CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQEQY2xlYXJWb3Rlc0hlbHBlcgIGcmVzdWx0A2tleQkAzQgCBQZyZXN1bHQJAQtEZWxldGVFbnRyeQEFA2tleQETZ2V0Q2xlYXJWb3RlRW50cmllcwEGcHJlZml4BAV2b3RlcwkBDGdlblZvdGVzS2V5cwEFBnByZWZpeAoAAiRsBQV2b3RlcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEQY2xlYXJWb3Rlc0hlbHBlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUBDHZvdGVJTlRFUk5BTAQTY2FsbGVyQWRkcmVzc1N0cmluZwlrZXlQcmVmaXgIbWluVm90ZXMKdm90ZVJlc3VsdAQHdm90ZUtleQkBEGtleUZ1bGxBZG1pblZvdGUCBQlrZXlQcmVmaXgFE2NhbGxlckFkZHJlc3NTdHJpbmcEEGFkbWluQ3VycmVudFZvdGUJAQxnZXRBZG1pblZvdGUCBQlrZXlQcmVmaXgFE2NhbGxlckFkZHJlc3NTdHJpbmcEA2VycgMJAQEhAQkBDWlzSW5BZG1pbkxpc3QBBRNjYWxsZXJBZGRyZXNzU3RyaW5nCQEIdGhyb3dFcnIBCQCsAgIJAKwCAgIJQWRkcmVzczogBRNjYWxsZXJBZGRyZXNzU3RyaW5nAhIgbm90IGluIEFkbWluIGxpc3QDCQAAAgUQYWRtaW5DdXJyZW50Vm90ZQABCQEIdGhyb3dFcnIBCQCsAgIFB3ZvdGVLZXkCEiB5b3UgYWxyZWFkeSB2b3RlZAUEdW5pdAMJAAACBQNlcnIFA2VycgQFdm90ZXMJAQpjb3VudFZvdGVzAQUJa2V5UHJlZml4AwkAZwIJAGQCBQV2b3RlcwABBQhtaW5Wb3RlcwQQY2xlYXJWb3RlRW50cmllcwkBE2dldENsZWFyVm90ZUVudHJpZXMBBQlrZXlQcmVmaXgJAM4IAgUQY2xlYXJWb3RlRW50cmllcwUKdm90ZVJlc3VsdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUHdm90ZUtleQABBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BGGNhbGNUb3RhbFByb2ZpdEZvckhlaWdodAEBaAQKc3RhcnRCbG9jawkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQ1rZXlTdGFydEJsb2NrAAAEC3N0YXJ0UGVyaW9kCQBrAwUKc3RhcnRCbG9jawABBRZlbWlzc2lvblBlcmlvZEluQmxvY2tzBA5lbGFwc2VkUGVyaW9kcwkAZQIJAGkCBQFoBRZlbWlzc2lvblBlcmlvZEluQmxvY2tzBQtzdGFydFBlcmlvZAkAlgMBCQDMCAIAAAkAzAgCCQBoAgURZW1pc3Npb25QZXJQZXJpb2QFDmVsYXBzZWRQZXJpb2RzBQNuaWwBD2NhbGNUb3RhbFByb2ZpdAAJARhjYWxjVG90YWxQcm9maXRGb3JIZWlnaHQBBQZoZWlnaHQBK2dldFRvdGFsQXNzZXRBbW91bnRXaXRoUHJvZml0T3JNYXhBdmFpbGFibGUABBp0b3RhbEFzc2V0QW1vdW50V2l0aFByb2ZpdAkAZAIFEHRvdGFsQXNzZXRBbW91bnQJAQ9jYWxjVG90YWxQcm9maXQABAt0b3RhbEFtb3VudAQHJG1hdGNoMAUMYXNzZXRJZEJ5dGVzAwkAAQIFByRtYXRjaDACBFVuaXQEAXUFByRtYXRjaDAJAJcDAQkAzAgCBRp0b3RhbEFzc2V0QW1vdW50V2l0aFByb2ZpdAkAzAgCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQUDbmlsAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJAJcDAQkAzAgCBRp0b3RhbEFzc2V0QW1vdW50V2l0aFByb2ZpdAkAzAgCCQDwBwIFBHRoaXMFAWIFA25pbAkAAgECC01hdGNoIGVycm9yAwkAAAIFDXRvdGFsTHBBbW91bnQAAAAABQt0b3RhbEFtb3VudAEPZ2V0Q3VycmVudFByaWNlAAMJAQIhPQIFDXRvdGFsTHBBbW91bnQAAAkAvAIDCQC2AgEJAStnZXRUb3RhbEFzc2V0QW1vdW50V2l0aFByb2ZpdE9yTWF4QXZhaWxhYmxlAAUNc2NhbGUxOEJpZ0ludAkAtgIBBQ10b3RhbExwQW1vdW50BQ1zY2FsZTE4QmlnSW50AQ9nZXRVc2VyTHBBbW91bnQBC3VzZXJBZGRyZXNzCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQ9rZXlVc2VyTHBBbW91bnQBBQt1c2VyQWRkcmVzcwAAASBnZXRVc2VyQXZhaWxhYmxlQXNzZXRzVG9XaXRoZHJhdwELdXNlckFkZHJlc3MEDHVzZXJMcEFtb3VudAkBD2dldFVzZXJMcEFtb3VudAEFC3VzZXJBZGRyZXNzBBx1c2VyQXZhaWxhYmxlQXNzZXRUb1dpdGhkcmF3CQCgAwEJALwCAwkAtgIBBQx1c2VyTHBBbW91bnQJAQ9nZXRDdXJyZW50UHJpY2UABQ1zY2FsZTE4QmlnSW50AwkAZgIAAAUcdXNlckF2YWlsYWJsZUFzc2V0VG9XaXRoZHJhdwAABRx1c2VyQXZhaWxhYmxlQXNzZXRUb1dpdGhkcmF3AQ9nZXRTdGFrZUFjdGlvbnMCAWkLdXNlckFkZHJlc3MEBmNoZWNrcwkAzAgCAwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQYJAQh0aHJvd0VycgECGHNob3VsZCBpbmNsdWRlIDEgcGF5bWVudAkAzAgCAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUMYXNzZXRJZEJ5dGVzBgkBCHRocm93RXJyAQkArAICAhVwYXltZW50IHNob3VsZCBiZSBpbiAFDWFzc2V0SWRTdHJpbmcJAMwIAgMJAGYCCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAABgIncGF5bWVudCBhbW91bnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwBQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MEDXBheW1lbnRBbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BA9wYXltZW50THBBbW91bnQJAKADAQkAvAIDCQC2AgEFDXBheW1lbnRBbW91bnQFDXNjYWxlMThCaWdJbnQJAQ9nZXRDdXJyZW50UHJpY2UABAx1c2VyTHBBbW91bnQJAQ9nZXRVc2VyTHBBbW91bnQBBQt1c2VyQWRkcmVzcwQVdXNlclRvdGFsU3Rha2VkQW1vdW50CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJARdrZXlVc2VyVG90YWxBc3NldFN0YWtlZAEFC3VzZXJBZGRyZXNzAAAEEG5ld1RvdGFsTHBBbW91bnQJAGQCBQ10b3RhbExwQW1vdW50BQ9wYXltZW50THBBbW91bnQEE25ld1RvdGFsQXNzZXRBbW91bnQJAGQCBRB0b3RhbEFzc2V0QW1vdW50BQ1wYXltZW50QW1vdW50BA9uZXdVc2VyTHBBbW91bnQJAGQCBQx1c2VyTHBBbW91bnQFD3BheW1lbnRMcEFtb3VudAQYbmV3VXNlclRvdGFsU3Rha2VkQW1vdW50CQBkAgUVdXNlclRvdGFsU3Rha2VkQW1vdW50BQ1wYXltZW50QW1vdW50BBd1cGRhdGVTdGFydEhlaWdodEFjdGlvbgMJAAACBQ10b3RhbExwQW1vdW50AAAJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleVN0YXJ0QmxvY2sFBmhlaWdodAUDbmlsBQNuaWwJAM4IAgkAzAgCCQELU3RyaW5nRW50cnkCCQEKa2V5SGlzdG9yeQMCBXN0YWtlBQt1c2VyQWRkcmVzcwgFAWkNdHJhbnNhY3Rpb25JZAkBDWZvcm1hdEhpc3RvcnkECQEPY2FsY1RvdGFsUHJvZml0AAkBD2dldEN1cnJlbnRQcmljZQAFDXRvdGFsTHBBbW91bnQFEHRvdGFsQXNzZXRBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFEGtleVRvdGFsTHBBbW91bnQFEG5ld1RvdGFsTHBBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFE2tleVRvdGFsQXNzZXRBbW91bnQFE25ld1RvdGFsQXNzZXRBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9rZXlVc2VyTHBBbW91bnQBBQt1c2VyQWRkcmVzcwUPbmV3VXNlckxwQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEXa2V5VXNlclRvdGFsQXNzZXRTdGFrZWQBBQt1c2VyQWRkcmVzcwUYbmV3VXNlclRvdGFsU3Rha2VkQW1vdW50BQNuaWwFF3VwZGF0ZVN0YXJ0SGVpZ2h0QWN0aW9uCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARJnZXRXaXRoZHJhd0FjdGlvbnMCAWkVbHBBc3NldFdpdGhkcmF3QW1vdW50BAt1c2VyQWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEDHVzZXJMcEFtb3VudAkBD2dldFVzZXJMcEFtb3VudAEFC3VzZXJBZGRyZXNzBAVjaGVjawkAzAgCAwkAZgIFFWxwQXNzZXRXaXRoZHJhd0Ftb3VudAAABgkBCHRocm93RXJyAQIfTFAgYW1vdW50IHNob3VsZCBiZSBtb3JlIHRoYW4gMAkAzAgCAwkAZwIFDHVzZXJMcEFtb3VudAUVbHBBc3NldFdpdGhkcmF3QW1vdW50BgkBCHRocm93RXJyAQkArAICCQCsAgICKGNhbm5vdCB3aXRoZHJhdyBtb3JlIHRoYW4gYXZhaWxhYmxlIExQICgJAKQDAQUMdXNlckxwQW1vdW50AgEpBQNuaWwDCQAAAgUFY2hlY2sFBWNoZWNrBA9uZXdVc2VyTHBBbW91bnQJAGUCBQx1c2VyTHBBbW91bnQFFWxwQXNzZXRXaXRoZHJhd0Ftb3VudAQTd2l0aGRyYXdBc3NldEFtb3VudAkAoAMBCQC8AgMJALYCAQUVbHBBc3NldFdpdGhkcmF3QW1vdW50CQEPZ2V0Q3VycmVudFByaWNlAAUNc2NhbGUxOEJpZ0ludAQQbmV3VG90YWxMcEFtb3VudAkAZQIFDXRvdGFsTHBBbW91bnQFFWxwQXNzZXRXaXRoZHJhd0Ftb3VudAQTbmV3VG90YWxBc3NldEFtb3VudAkAoAMBCQC8AgMJALYCAQUQbmV3VG90YWxMcEFtb3VudAkBD2dldEN1cnJlbnRQcmljZQAFDXNjYWxlMThCaWdJbnQEF3VzZXJUb3RhbEFzc2V0V2l0aGRyYXduCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJARprZXlVc2VyVG90YWxBc3NldFdpdGhkcmF3bgEFC3VzZXJBZGRyZXNzAAAEGm5ld1VzZXJUb3RhbEFzc2V0V2l0aGRyYXduCQBkAgUXdXNlclRvdGFsQXNzZXRXaXRoZHJhd24FE3dpdGhkcmF3QXNzZXRBbW91bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmtleUhpc3RvcnkDAgh3aXRoZHJhdwULdXNlckFkZHJlc3MIBQFpDXRyYW5zYWN0aW9uSWQJAQ1mb3JtYXRIaXN0b3J5BAkBD2NhbGNUb3RhbFByb2ZpdAAJAQ9nZXRDdXJyZW50UHJpY2UABRB0b3RhbEFzc2V0QW1vdW50BQ10b3RhbExwQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBrZXlUb3RhbExwQW1vdW50BRBuZXdUb3RhbExwQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRNrZXlUb3RhbEFzc2V0QW1vdW50BRNuZXdUb3RhbEFzc2V0QW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPa2V5VXNlckxwQW1vdW50AQULdXNlckFkZHJlc3MFD25ld1VzZXJMcEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGmtleVVzZXJUb3RhbEFzc2V0V2l0aGRyYXduAQULdXNlckFkZHJlc3MFGm5ld1VzZXJUb3RhbEFzc2V0V2l0aGRyYXduCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlTdGFydEJsb2NrBQZoZWlnaHQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBRN3aXRoZHJhd0Fzc2V0QW1vdW50BQxhc3NldElkQnl0ZXMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgcBaQETc2V0RW1pc3Npb25QZXJCbG9jawEQZW1pc3Npb25QZXJCbG9jawQFY2hlY2sJAMwIAgMJAAACCAUBaQZjYWxsZXIFBHRoaXMGCQEIdGhyb3dFcnIBAhFwZXJtaXNzaW9uIGRlbmllZAUDbmlsAwkAAAIFBWNoZWNrBQVjaGVjawkAzAgCCQEMSW50ZWdlckVudHJ5AgUTa2V5VG90YWxBc3NldEFtb3VudAkBK2dldFRvdGFsQXNzZXRBbW91bnRXaXRoUHJvZml0T3JNYXhBdmFpbGFibGUACQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlTdGFydEJsb2NrBQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFE2tleUVtaXNzaW9uUGVyQmxvY2sJAJYDAQkAzAgCAAAJAMwIAgUQZW1pc3Npb25QZXJCbG9jawUDbmlsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFc3Rha2UACQEPZ2V0U3Rha2VBY3Rpb25zAgUBaQkApQgBCAUBaQZjYWxsZXIBaQEIc3Rha2VGb3IBC3VzZXJBZGRyZXNzBAVjaGVjawkAzAgCAwkAAAIJAMgBAQkA2QQBBQt1c2VyQWRkcmVzcwUSQUREUkVTU19CWVRFU19TSVpFBgkBCHRocm93RXJyAQIUYWRkcmVzcyBpcyBub3QgdmFsaWQFA25pbAMJAAACBQVjaGVjawUFY2hlY2sJAQ9nZXRTdGFrZUFjdGlvbnMCBQFpBQt1c2VyQWRkcmVzcwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQh3aXRoZHJhdwETd2l0aGRyYXdBc3NldEFtb3VudAQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBAx1c2VyTHBBbW91bnQJAQ9nZXRVc2VyTHBBbW91bnQBBQt1c2VyQWRkcmVzcwQSbHBBbW91bnRUb1dpdGhkcmF3CQCgAwEJALwCAwkAtgIBBRN3aXRoZHJhd0Fzc2V0QW1vdW50BQ1zY2FsZTE4QmlnSW50CQEPZ2V0Q3VycmVudFByaWNlAAQcdXNlckF2YWlsYWJsZUFzc2V0VG9XaXRoZHJhdwkBIGdldFVzZXJBdmFpbGFibGVBc3NldHNUb1dpdGhkcmF3AQULdXNlckFkZHJlc3MEFm1pbldpdGhkcmF3QXNzZXRBbW91bnQJAKADAQkAvQIECQEPZ2V0Q3VycmVudFByaWNlAAkAtgIBAAEFDXNjYWxlMThCaWdJbnQFB0NFSUxJTkcEBWNoZWNrCQDMCAIDCQBmAgUTd2l0aGRyYXdBc3NldEFtb3VudAAABgkBCHRocm93RXJyAQIld2l0aGRyYXcgYW1vdW50IHNob3VsZCBiZSBtb3JlIHRoYW4gMAkAzAgCAwkAZwIFHHVzZXJBdmFpbGFibGVBc3NldFRvV2l0aGRyYXcFE3dpdGhkcmF3QXNzZXRBbW91bnQGCQEIdGhyb3dFcnIBCQCsAgIJAKwCAgIlY2Fubm90IHdpdGhkcmF3IG1vcmUgdGhhbiBhdmFpbGFibGUgKAkApAMBBRx1c2VyQXZhaWxhYmxlQXNzZXRUb1dpdGhkcmF3AgEpCQDMCAIDCQBnAgUTd2l0aGRyYXdBc3NldEFtb3VudAUWbWluV2l0aGRyYXdBc3NldEFtb3VudAYJAQh0aHJvd0VycgEJAKwCAgkArAICAiR3aXRoZHJhdyBhbW91bnQgaXMgdG9vIHNtYWxsLiBNaW46ICgJAKQDAQUWbWluV2l0aGRyYXdBc3NldEFtb3VudAIBKQUDbmlsAwkAAAIFBWNoZWNrBQVjaGVjawkBEmdldFdpdGhkcmF3QWN0aW9ucwIFAWkFEmxwQW1vdW50VG9XaXRoZHJhdwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARVnZXRVc2VyQXNzZXRzUkVBRE9OTFkBC3VzZXJBZGRyZXNzBAx1c2VyTHBBbW91bnQJAQ9nZXRVc2VyTHBBbW91bnQBBQt1c2VyQWRkcmVzcwQcdXNlckF2YWlsYWJsZUFzc2V0VG9XaXRoZHJhdwkBIGdldFVzZXJBdmFpbGFibGVBc3NldHNUb1dpdGhkcmF3AQULdXNlckFkZHJlc3MEFXVzZXJUb3RhbFN0YWtlZEFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEXa2V5VXNlclRvdGFsQXNzZXRTdGFrZWQBBQt1c2VyQWRkcmVzcwAABBd1c2VyVG90YWxBc3NldFdpdGhkcmF3bgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEaa2V5VXNlclRvdGFsQXNzZXRXaXRoZHJhd24BBQt1c2VyQWRkcmVzcwAACQCUCgIFA25pbAkAlwoFBQx1c2VyTHBBbW91bnQFHHVzZXJBdmFpbGFibGVBc3NldFRvV2l0aGRyYXcJAQ9nZXRDdXJyZW50UHJpY2UABRV1c2VyVG90YWxTdGFrZWRBbW91bnQFF3VzZXJUb3RhbEFzc2V0V2l0aGRyYXduAWkBFmdldFRvdGFsQXNzZXRzUkVBRE9OTFkACQCUCgIFA25pbAkAlQoDBQ10b3RhbExwQW1vdW50CQErZ2V0VG90YWxBc3NldEFtb3VudFdpdGhQcm9maXRPck1heEF2YWlsYWJsZQAJAQ9nZXRDdXJyZW50UHJpY2UAAWkBC3ZvdGVGb3JUeElkAQR0eElkBBNjYWxsZXJBZGRyZXNzU3RyaW5nCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMECWtleVByZWZpeAkBGGtleUFsbG93ZWRUeElkVm90ZVByZWZpeAEFBHR4SWQEBnJlc3VsdAkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5QWxsb3dlZFR4SWQABQR0eElkBQNuaWwEEWFsbG93ZWRUeElkT3B0aW9uCQCdCAIFBHRoaXMJAQ5rZXlBbGxvd2VkVHhJZAAEA2VycgkAzAgCAwkAAAIJAMgBAQkA2QQBBQR0eElkBRFUWElEX0JZVEVTX0xFTkdUSAYJAQh0aHJvd0VycgEJAKwCAgUEdHhJZAISIGlzIG5vdCB2YWxpZCB0eElkCQDMCAIDAwkAAAIFEWFsbG93ZWRUeElkT3B0aW9uBQR1bml0BgkBAiE9AgkBBXZhbHVlAQURYWxsb3dlZFR4SWRPcHRpb24FBHR4SWQGCQEIdGhyb3dFcnIBCQCsAgIFBHR4SWQCEyBpcyBhbHJlYWR5IGFsbG93ZWQFA25pbAMJAAACBQNlcnIFA2VycgkBDHZvdGVJTlRFUk5BTAQFE2NhbGxlckFkZHJlc3NTdHJpbmcFCWtleVByZWZpeAUGUVVPUlVNBQZyZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAhieUFkbWlucwkAAAIIBQJ0eAJpZAkA2QQBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ5rZXlBbGxvd2VkVHhJZAACAAQHYnlPd25lcgMJAGcCCQCQAwEJAQ1nZXRBZG1pbnNMaXN0AAUGUVVPUlVNBwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQMFCGJ5QWRtaW5zBgUHYnlPd25lcnkSETs=", "height": 2685405, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8rvLBMe4H7H1KYnkRLw6wCCTPSGzADDoMX6DVNnx3No4 Next: GwY8ni9MGY3Vmj3bvYihiGcQWLeiJkohEMVoV11CA9nW Diff:
OldNewDifferences
4242 func t (u,q,v) = makeString(["%s%s%s", u, q, toBase58String(v)], b)
4343
4444
45-func w (x,y) = makeString(["%d%d", toString(x), toString(y)], b)
45+func w (x,y,z,A) = makeString(["%d%d", toString(x), toString(y), toString(z), toString(A)], b)
4646
4747
48-let z = valueOrElse(getInteger(this, n), 0)
48+let A = valueOrElse(getInteger(this, n), 0)
4949
50-let A = valueOrElse(getInteger(this, o), 0)
50+let z = valueOrElse(getInteger(this, o), 0)
5151
5252 let B = valueOrElse(getString(this, j), "WAVES")
5353
201201
202202
203203 func aE () = {
204- let aF = (A + aD())
204+ let aF = (z + aD())
205205 let aG = {
206206 let S = C
207207 if ($isInstanceOf(S, "Unit"))
216216 }
217217 else throw("Match error")
218218 }
219- if ((z == 0))
219+ if ((A == 0))
220220 then 0
221221 else aG
222222 }
223223
224224
225-func aJ () = if ((z != 0))
226- then fraction(toBigInt(aE()), e, toBigInt(z))
225+func aJ () = if ((A != 0))
226+ then fraction(toBigInt(aE()), e, toBigInt(A))
227227 else e
228228
229229
253253 let aS = toInt(fraction(toBigInt(aR), e, aJ()))
254254 let aM = aK(q)
255255 let aT = valueOrElse(getInteger(this, s(q)), 0)
256- let aU = (z + aS)
257- let aV = (A + aR)
256+ let aU = (A + aS)
257+ let aV = (z + aR)
258258 let aW = (aM + aS)
259259 let aX = (aT + aR)
260- let aY = if ((z == 0))
260+ let aY = if ((A == 0))
261261 then [IntegerEntry(m, height)]
262262 else nil
263- ([StringEntry(t("stake", q, aP.transactionId), w(aD(), aJ())), IntegerEntry(n, aU), IntegerEntry(o, aV), IntegerEntry(p(q), aW), IntegerEntry(s(q), aX)] ++ aY)
263+ ([StringEntry(t("stake", q, aP.transactionId), w(aD(), aJ(), A, z)), IntegerEntry(n, aU), IntegerEntry(o, aV), IntegerEntry(p(q), aW), IntegerEntry(s(q), aX)] ++ aY)
264264 }
265265 else throw("Strict value is not equal to itself.")
266266 }
278278 then {
279279 let aW = (aM - ba)
280280 let bc = toInt(fraction(toBigInt(ba), aJ(), e))
281- let aU = (z - ba)
281+ let aU = (A - ba)
282282 let aV = toInt(fraction(toBigInt(aU), aJ(), e))
283283 let bd = valueOrElse(getInteger(this, r(q)), 0)
284284 let be = (bd + bc)
285-[StringEntry(t("withdraw", q, aP.transactionId), w(aD(), aJ())), IntegerEntry(n, aU), IntegerEntry(o, aV), IntegerEntry(p(q), aW), IntegerEntry(r(q), be), IntegerEntry(m, height), ScriptTransfer(aP.caller, bc, C)]
285+[StringEntry(t("withdraw", q, aP.transactionId), w(aD(), aJ(), z, A)), IntegerEntry(n, aU), IntegerEntry(o, aV), IntegerEntry(p(q), aW), IntegerEntry(r(q), be), IntegerEntry(m, height), ScriptTransfer(aP.caller, bc, C)]
286286 }
287287 else throw("Strict value is not equal to itself.")
288288 }
350350
351351
352352 @Callable(aP)
353-func getTotalAssetsREADONLY () = $Tuple2(nil, $Tuple3(z, aE(), aJ()))
353+func getTotalAssetsREADONLY () = $Tuple2(nil, $Tuple3(A, aE(), aJ()))
354354
355355
356356
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "l2mp_staking.ride"
55
66 let b = "__"
77
88 let c = 100000000
99
1010 let d = 1000000000000000000
1111
1212 let e = toBigInt(d)
1313
1414 let f = 26
1515
1616 let g = 1440
1717
1818 func h (i) = throw(((a + ": ") + i))
1919
2020
2121 let j = makeString(["%s", "assetId"], b)
2222
2323 let k = makeString(["%s", "emissionPerBlock"], b)
2424
2525 let l = makeString(["%s", "emissionPeriodInBlocks"], b)
2626
2727 let m = makeString(["%s", "startBlock"], b)
2828
2929 let n = makeString(["%s", "totalLpAmount"], b)
3030
3131 let o = makeString(["%s", "totalAssetAmount"], b)
3232
3333 func p (q) = makeString(["%s%s", "userLpAmount", q], b)
3434
3535
3636 func r (q) = makeString(["%s%s", "totalAssetWithdrawn", q], b)
3737
3838
3939 func s (q) = makeString(["%s%s", "totalAssetStaked", q], b)
4040
4141
4242 func t (u,q,v) = makeString(["%s%s%s", u, q, toBase58String(v)], b)
4343
4444
45-func w (x,y) = makeString(["%d%d", toString(x), toString(y)], b)
45+func w (x,y,z,A) = makeString(["%d%d", toString(x), toString(y), toString(z), toString(A)], b)
4646
4747
48-let z = valueOrElse(getInteger(this, n), 0)
48+let A = valueOrElse(getInteger(this, n), 0)
4949
50-let A = valueOrElse(getInteger(this, o), 0)
50+let z = valueOrElse(getInteger(this, o), 0)
5151
5252 let B = valueOrElse(getString(this, j), "WAVES")
5353
5454 let C = if ((B == "WAVES"))
5555 then unit
5656 else fromBase58String(B)
5757
5858 let D = valueOrElse(getInteger(this, l), g)
5959
6060 let E = (valueOrElse(getInteger(this, k), 0) * D)
6161
6262 let F = 5
6363
6464 let G = 3
6565
6666 let H = 32
6767
6868 func I (v) = makeString(["%s%s%s", "allowTxId", v], b)
6969
7070
7171 func J (K,L) = makeString([K, L], b)
7272
7373
7474 func M () = makeString(["%s", "adminAddressList"], b)
7575
7676
7777 func N () = makeString(["%s", "txId"], b)
7878
7979
8080 func O (K,P) = {
8181 let Q = J(K, P)
8282 valueOrElse(getInteger(Q), 0)
8383 }
8484
8585
8686 func R () = {
8787 let S = getString(this, M())
8888 if ($isInstanceOf(S, "String"))
8989 then {
9090 let T = S
9191 split(T, b)
9292 }
9393 else nil
9494 }
9595
9696
9797 func U (V) = containsElement(R(), V)
9898
9999
100100 func W (X,L) = {
101101 let Y = X
102102 let Z = Y._1
103103 let K = Y._2
104104 $Tuple2((Z :+ J(K, L)), K)
105105 }
106106
107107
108108 func aa (ab) = {
109109 let ac = M()
110110 let ad = {
111111 let ae = R()
112112 let af = size(ae)
113113 let ag = $Tuple2(nil, ab)
114114 func ah (ai,aj) = if ((aj >= af))
115115 then ai
116116 else W(ai, ae[aj])
117117
118118 func ak (ai,aj) = if ((aj >= af))
119119 then ai
120120 else throw("List size exceeds 5")
121121
122122 ak(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5)
123123 }
124124 let Z = ad._1
125125 let K = ad._2
126126 Z
127127 }
128128
129129
130130 func al (Z,Q) = (Z + valueOrElse(getInteger(Q), 0))
131131
132132
133133 func am (K) = {
134134 let an = aa(K)
135135 let ae = an
136136 let af = size(ae)
137137 let ag = 0
138138 func ah (ai,aj) = if ((aj >= af))
139139 then ai
140140 else al(ai, ae[aj])
141141
142142 func ak (ai,aj) = if ((aj >= af))
143143 then ai
144144 else throw("List size exceeds 5")
145145
146146 ak(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5)
147147 }
148148
149149
150150 func ao (Z,ap) = (Z :+ DeleteEntry(ap))
151151
152152
153153 func aq (K) = {
154154 let an = aa(K)
155155 let ae = an
156156 let af = size(ae)
157157 let ag = nil
158158 func ah (ai,aj) = if ((aj >= af))
159159 then ai
160160 else ao(ai, ae[aj])
161161
162162 func ak (ai,aj) = if ((aj >= af))
163163 then ai
164164 else throw("List size exceeds 5")
165165
166166 ak(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5)
167167 }
168168
169169
170170 func ar (as,ab,at,au) = {
171171 let Q = J(ab, as)
172172 let av = O(ab, as)
173173 let aw = if (!(U(as)))
174174 then h((("Address: " + as) + " not in Admin list"))
175175 else if ((av == 1))
176176 then h((Q + " you already voted"))
177177 else unit
178178 if ((aw == aw))
179179 then {
180180 let an = am(ab)
181181 if (((an + 1) >= at))
182182 then {
183183 let ax = aq(ab)
184184 (ax ++ au)
185185 }
186186 else [IntegerEntry(Q, 1)]
187187 }
188188 else throw("Strict value is not equal to itself.")
189189 }
190190
191191
192192 func ay (az) = {
193193 let aA = valueOrElse(getInteger(this, m), 0)
194194 let aB = fraction(aA, 1, D)
195195 let aC = ((az / D) - aB)
196196 max([0, (E * aC)])
197197 }
198198
199199
200200 func aD () = ay(height)
201201
202202
203203 func aE () = {
204- let aF = (A + aD())
204+ let aF = (z + aD())
205205 let aG = {
206206 let S = C
207207 if ($isInstanceOf(S, "Unit"))
208208 then {
209209 let aH = S
210210 min([aF, wavesBalance(this).available])
211211 }
212212 else if ($isInstanceOf(S, "ByteVector"))
213213 then {
214214 let aI = S
215215 min([aF, assetBalance(this, aI)])
216216 }
217217 else throw("Match error")
218218 }
219- if ((z == 0))
219+ if ((A == 0))
220220 then 0
221221 else aG
222222 }
223223
224224
225-func aJ () = if ((z != 0))
226- then fraction(toBigInt(aE()), e, toBigInt(z))
225+func aJ () = if ((A != 0))
226+ then fraction(toBigInt(aE()), e, toBigInt(A))
227227 else e
228228
229229
230230 func aK (q) = valueOrElse(getInteger(this, p(q)), 0)
231231
232232
233233 func aL (q) = {
234234 let aM = aK(q)
235235 let aN = toInt(fraction(toBigInt(aM), aJ(), e))
236236 if ((0 > aN))
237237 then 0
238238 else aN
239239 }
240240
241241
242242 func aO (aP,q) = {
243243 let aQ = [if ((size(aP.payments) == 1))
244244 then true
245245 else h("should include 1 payment"), if ((aP.payments[0].assetId == C))
246246 then true
247247 else h(("payment should be in " + B)), if ((aP.payments[0].amount > 0))
248248 then true
249249 else "payment amount should be greater than 0"]
250250 if ((aQ == aQ))
251251 then {
252252 let aR = aP.payments[0].amount
253253 let aS = toInt(fraction(toBigInt(aR), e, aJ()))
254254 let aM = aK(q)
255255 let aT = valueOrElse(getInteger(this, s(q)), 0)
256- let aU = (z + aS)
257- let aV = (A + aR)
256+ let aU = (A + aS)
257+ let aV = (z + aR)
258258 let aW = (aM + aS)
259259 let aX = (aT + aR)
260- let aY = if ((z == 0))
260+ let aY = if ((A == 0))
261261 then [IntegerEntry(m, height)]
262262 else nil
263- ([StringEntry(t("stake", q, aP.transactionId), w(aD(), aJ())), IntegerEntry(n, aU), IntegerEntry(o, aV), IntegerEntry(p(q), aW), IntegerEntry(s(q), aX)] ++ aY)
263+ ([StringEntry(t("stake", q, aP.transactionId), w(aD(), aJ(), A, z)), IntegerEntry(n, aU), IntegerEntry(o, aV), IntegerEntry(p(q), aW), IntegerEntry(s(q), aX)] ++ aY)
264264 }
265265 else throw("Strict value is not equal to itself.")
266266 }
267267
268268
269269 func aZ (aP,ba) = {
270270 let q = toString(aP.caller)
271271 let aM = aK(q)
272272 let bb = [if ((ba > 0))
273273 then true
274274 else h("LP amount should be more than 0"), if ((aM >= ba))
275275 then true
276276 else h((("cannot withdraw more than available LP (" + toString(aM)) + ")"))]
277277 if ((bb == bb))
278278 then {
279279 let aW = (aM - ba)
280280 let bc = toInt(fraction(toBigInt(ba), aJ(), e))
281- let aU = (z - ba)
281+ let aU = (A - ba)
282282 let aV = toInt(fraction(toBigInt(aU), aJ(), e))
283283 let bd = valueOrElse(getInteger(this, r(q)), 0)
284284 let be = (bd + bc)
285-[StringEntry(t("withdraw", q, aP.transactionId), w(aD(), aJ())), IntegerEntry(n, aU), IntegerEntry(o, aV), IntegerEntry(p(q), aW), IntegerEntry(r(q), be), IntegerEntry(m, height), ScriptTransfer(aP.caller, bc, C)]
285+[StringEntry(t("withdraw", q, aP.transactionId), w(aD(), aJ(), z, A)), IntegerEntry(n, aU), IntegerEntry(o, aV), IntegerEntry(p(q), aW), IntegerEntry(r(q), be), IntegerEntry(m, height), ScriptTransfer(aP.caller, bc, C)]
286286 }
287287 else throw("Strict value is not equal to itself.")
288288 }
289289
290290
291291 @Callable(aP)
292292 func setEmissionPerBlock (bf) = {
293293 let bb = [if ((aP.caller == this))
294294 then true
295295 else h("permission denied")]
296296 if ((bb == bb))
297297 then [IntegerEntry(o, aE()), IntegerEntry(m, height), IntegerEntry(k, max([0, bf]))]
298298 else throw("Strict value is not equal to itself.")
299299 }
300300
301301
302302
303303 @Callable(aP)
304304 func stake () = aO(aP, toString(aP.caller))
305305
306306
307307
308308 @Callable(aP)
309309 func stakeFor (q) = {
310310 let bb = [if ((size(fromBase58String(q)) == f))
311311 then true
312312 else h("address is not valid")]
313313 if ((bb == bb))
314314 then aO(aP, q)
315315 else throw("Strict value is not equal to itself.")
316316 }
317317
318318
319319
320320 @Callable(aP)
321321 func withdraw (bc) = {
322322 let q = toString(aP.caller)
323323 let aM = aK(q)
324324 let bg = toInt(fraction(toBigInt(bc), e, aJ()))
325325 let aN = aL(q)
326326 let bh = toInt(fraction(aJ(), toBigInt(1), e, CEILING))
327327 let bb = [if ((bc > 0))
328328 then true
329329 else h("withdraw amount should be more than 0"), if ((aN >= bc))
330330 then true
331331 else h((("cannot withdraw more than available (" + toString(aN)) + ")")), if ((bc >= bh))
332332 then true
333333 else h((("withdraw amount is too small. Min: (" + toString(bh)) + ")"))]
334334 if ((bb == bb))
335335 then aZ(aP, bg)
336336 else throw("Strict value is not equal to itself.")
337337 }
338338
339339
340340
341341 @Callable(aP)
342342 func getUserAssetsREADONLY (q) = {
343343 let aM = aK(q)
344344 let aN = aL(q)
345345 let aT = valueOrElse(getInteger(this, s(q)), 0)
346346 let bd = valueOrElse(getInteger(this, r(q)), 0)
347347 $Tuple2(nil, $Tuple5(aM, aN, aJ(), aT, bd))
348348 }
349349
350350
351351
352352 @Callable(aP)
353-func getTotalAssetsREADONLY () = $Tuple2(nil, $Tuple3(z, aE(), aJ()))
353+func getTotalAssetsREADONLY () = $Tuple2(nil, $Tuple3(A, aE(), aJ()))
354354
355355
356356
357357 @Callable(aP)
358358 func voteForTxId (v) = {
359359 let as = toBase58String(aP.caller.bytes)
360360 let ab = I(v)
361361 let Z = [StringEntry(N(), v)]
362362 let bi = getString(this, N())
363363 let aw = [if ((size(fromBase58String(v)) == H))
364364 then true
365365 else h((v + " is not valid txId")), if (if ((bi == unit))
366366 then true
367367 else (value(bi) != v))
368368 then true
369369 else h((v + " is already allowed"))]
370370 if ((aw == aw))
371371 then ar(as, ab, G, Z)
372372 else throw("Strict value is not equal to itself.")
373373 }
374374
375375
376376 @Verifier(bj)
377377 func bk () = {
378378 let bl = (bj.id == fromBase58String(valueOrElse(getString(this, N()), "")))
379379 let bm = if ((size(R()) >= G))
380380 then false
381381 else sigVerify(bj.bodyBytes, bj.proofs[0], bj.senderPublicKey)
382382 if (bl)
383383 then true
384384 else bm
385385 }
386386

github/deemru/w8io/873ac7e 
63.06 ms