tx · 5n6aMsiC9MPTFf388Yt21fxz4XVJbWUJyHBxTL7H2Tuw

3MwbacMfNHFETnPDoMLcgoCLtViD6AbvADW:  -0.01000000 Waves

2022.09.01 10:01 [2209737] smart account 3MwbacMfNHFETnPDoMLcgoCLtViD6AbvADW > SELF 0.00000000 Waves

{ "type": 13, "id": "5n6aMsiC9MPTFf388Yt21fxz4XVJbWUJyHBxTL7H2Tuw", "fee": 1000000, "feeAssetId": null, "timestamp": 1662015741429, "version": 2, "chainId": 84, "sender": "3MwbacMfNHFETnPDoMLcgoCLtViD6AbvADW", "senderPublicKey": "GzhhCahUQzbyNKySUYSxeESKbA1vnJ81xPXXFZZgvJzE", "proofs": [ "4WcFDiDxQFV6kH59Sej7wcutDn7iR8zYUivzNHWrT4eojGqCAWNN687XLrE3y98kUyCozd7az29JQcZ8R7C77vbm" ], "script": "base64:BgIjCAISABIAEgASAwoBBBIAEgASBAoCAQQSAwoBBBIDCgEIEgAlAAtrZXlNQWNjUEtleQIJbWFzdGVyX3BrAQxnZXRDRkFkZHJlc3MACQERQGV4dHJOYXRpdmUoMTA2MikBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwIKQ0ZfQUREUkVTUwIUQ0ZfQUREUkVTUyBub3QgZm91bmQACG1BY2NQS2V5CQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCCQEMZ2V0Q0ZBZGRyZXNzAAULa2V5TUFjY1BLZXkJAKwCAgULa2V5TUFjY1BLZXkCCiBub3QgZm91bmQACG1BY2NBZGRyCQCnCAEFCG1BY2NQS2V5ARFnZXRDb3Vwb25zQWRkcmVzcwAJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFCG1BY2NBZGRyAg9DT1VQT05TX0FERFJFU1MAEGtleVRvdGFsQ29tcG91bmQCDnRvdGFsX2NvbXBvdW5kABFrZXlTdGFrZWRDb21wb3VuZAIPc3Rha2VkX2NvbXBvdW5kAAlrZXlMYXN0VlACEmxhc3RfdmlydHVhbF9wcmljZQAHVlBTY2FsZQCAwtcvARVrZXlTdGFrZWRDb21wb3VuZFVzZXIBBHVzZXIJAKwCAgkArAICCQClCAEFBHVzZXICAV8FEWtleVN0YWtlZENvbXBvdW5kARBjYWxjVmlydHVhbFByaWNlAgt0b3RhbFN0YWtlZAV0b3RhbAMJAAACBQV0b3RhbAAAAAEDCQAAAgULdG90YWxTdGFrZWQAAAABCQBrAwUFdG90YWwFB1ZQU2NhbGUFC3RvdGFsU3Rha2VkAAVTY2FsZQCAwtcvAQ9rZXlTdGFrZWRBbW91bnQBB2FkZHJlc3MJAKwCAgkApQgBBQdhZGRyZXNzAgxfZmFybV9zdGFrZWQBFGtleUxhc3RDaGVja0ludGVyZXN0AQdhZGRyZXNzCQCsAgIJAKUIAQUHYWRkcmVzcwITX2xhc3RDaGVja19pbnRlcmVzdAENa2V5RWdnQ2xhaW1lZAEHYWRkcmVzcwkArAICCQClCAEFB2FkZHJlc3MCCF9jbGFpbWVkABVrZXlHbG9iYWxMYXN0SW50ZXJlc3QCGWdsb2JhbF9sYXN0Q2hlY2tfaW50ZXJlc3QAD2tleUdsb2JhbFN0YWtlZAINZ2xvYmFsX3N0YWtlZAASa2V5R2xvYmFsRWdnRWFybmVkAg9nbG9iYWxfZWFybmluZ3MAEmtMb2NrZWRJbnZlc3RtZW50cwISbG9ja2VkX2ludmVzdG1lbnRzARZpc0NvbGxlY3RpdmVGYXJtTG9ja2VkAAQHJG1hdGNoMAkAmwgCCQEMZ2V0Q0ZBZGRyZXNzAAUSa0xvY2tlZEludmVzdG1lbnRzAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWIFByRtYXRjaDAFAWIHAQhnZXRFZ2dJZAAJANkEAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUIbUFjY0FkZHICDEVHR19BU1NFVF9JRAEXc2V0Q0ZBZGRyZXNzQW5kSW5pdGlhdGUBB2FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgIKQ0ZfQUREUkVTUwUHYWRkcmVzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgUVa2V5R2xvYmFsTGFzdEludGVyZXN0AAEFA25pbAEPZ2V0U2hhcmVBc3NldElkAAkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCCQEMZ2V0Q0ZBZGRyZXNzAAIOU0hBUkVfQVNTRVRfSUQBDXRyeUdldEludGVnZXIBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAABDHRyeUdldFN0cmluZwEDa2V5BAckbWF0Y2gwCQCdCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAEQZ2V0Vm90ZUhlaWdodEtleQACEVZPVEVfSEVJR0hUX1NUQVJUAQtnZXREdXJhdGlvbgAAkE4BEGdldFZvdGVCeVVzZXJLZXkCBHVzZXIGaGVpZ2h0CQCsAgIJAKwCAgkArAICAgVWT1RFXwUEdXNlcgIBXwUGaGVpZ2h0ARVnZXRUb3RhbFZvdGVCeVR5cGVLZXkCBHR5cGUGaGVpZ2h0CQCsAgIJAKwCAgkArAICAgtWT1RFX1RPVEFMXwUEdHlwZQIBXwUGaGVpZ2h0AQ9nZXRUb3RhbFZvdGVLZXkBBmhlaWdodAkArAICAgtWT1RFX1RPVEFMXwUGaGVpZ2h0AQ1yZXN1bHRWb3RlS2V5AQZoZWlnaHQJAKwCAgILTElRVUlEQVRFRF8FBmhlaWdodAENcXVvcnVtVm90ZUtleQEGaGVpZ2h0CQCsAgICB1FVT1JVTV8FBmhlaWdodAESY2xhaW1TdGFraW5nUmVzdWx0AQdhZGRyZXNzBA9jdXJyZW50SW50ZXJlc3QJAQ10cnlHZXRJbnRlZ2VyAQUVa2V5R2xvYmFsTGFzdEludGVyZXN0BBFsYXN0Q2hlY2tJbnRlcmVzdAkBDXRyeUdldEludGVnZXIBCQEUa2V5TGFzdENoZWNrSW50ZXJlc3QBBQdhZGRyZXNzBAxzdGFrZWRBbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQkBD2tleVN0YWtlZEFtb3VudAEFB2FkZHJlc3MEBnJld2FyZAMJAGYCBRFsYXN0Q2hlY2tJbnRlcmVzdAAACQBrAwkAZQIFD2N1cnJlbnRJbnRlcmVzdAURbGFzdENoZWNrSW50ZXJlc3QFDHN0YWtlZEFtb3VudAUFU2NhbGUAAAQIdHJhbnNmZXIDCQBmAgUGcmV3YXJkAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUHYWRkcmVzcwUGcmV3YXJkCQEIZ2V0RWdnSWQABQNuaWwFA25pbAkAzggCBQh0cmFuc2ZlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleUxhc3RDaGVja0ludGVyZXN0AQUHYWRkcmVzcwUPY3VycmVudEludGVyZXN0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQENa2V5RWdnQ2xhaW1lZAEFB2FkZHJlc3MJAGQCCQENdHJ5R2V0SW50ZWdlcgEJAQ1rZXlFZ2dDbGFpbWVkAQUHYWRkcmVzcwUGcmV3YXJkBQNuaWwBEmhhbmRsZVN0YWtpbmdUb3BVcAEGYW1vdW50BA9jdXJyZW50SW50ZXJlc3QJAQ10cnlHZXRJbnRlZ2VyAQUVa2V5R2xvYmFsTGFzdEludGVyZXN0BBF0b3RhbFN0YWtlZEFtb3VudAkBDXRyeUdldEludGVnZXIBBQ9rZXlHbG9iYWxTdGFrZWQEDWludGVyZXN0RGVsdGEDCQBmAgURdG90YWxTdGFrZWRBbW91bnQAAAkAawMFBmFtb3VudAUFU2NhbGUFEXRvdGFsU3Rha2VkQW1vdW50AAAJAMwIAgkBDEludGVnZXJFbnRyeQIFEmtleUdsb2JhbEVnZ0Vhcm5lZAkAZAIJAQ10cnlHZXRJbnRlZ2VyAQUSa2V5R2xvYmFsRWdnRWFybmVkBQZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFFWtleUdsb2JhbExhc3RJbnRlcmVzdAkAZAIFD2N1cnJlbnRJbnRlcmVzdAUNaW50ZXJlc3REZWx0YQUDbmlsAQxhZGRWb3RlUG93ZXIEBmNhbGxlcgFoBHZvdGUJdm90ZVBvd2VyAwMJAAACBQFoAAAGCQAAAgUEdm90ZQIABQNuaWwDCQBmAgUGaGVpZ2h0CQBkAgUBaAkBC2dldER1cmF0aW9uAAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAjNDQVZQOiBWb3RpbmcgaXMgZmluaXNoZWQsIHBsZWFzZSBmaW5hbGl6ZSB0aGUgdm90ZTsCDCBBcmd1bWVudHM6IAUGY2FsbGVyAgIsIAkApAMBBQFoAgIsIAUEdm90ZQICLCAJAKQDAQUJdm90ZVBvd2VyBA92b3RlVG90YWxCeVR5cGUJAQ10cnlHZXRJbnRlZ2VyAQkBFWdldFRvdGFsVm90ZUJ5VHlwZUtleQIFBHZvdGUJAKQDAQUBaAQJdG90YWxWb3RlCQENdHJ5R2V0SW50ZWdlcgEJAQ9nZXRUb3RhbFZvdGVLZXkBCQCkAwEFAWgJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEGdldFZvdGVCeVVzZXJLZXkCBQZjYWxsZXIJAKQDAQUBaAUEdm90ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFWdldFRvdGFsVm90ZUJ5VHlwZUtleQIFBHZvdGUJAKQDAQUBaAkAZAIFD3ZvdGVUb3RhbEJ5VHlwZQUJdm90ZVBvd2VyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPZ2V0VG90YWxWb3RlS2V5AQkApAMBBQFoCQBkAgUJdG90YWxWb3RlBQl2b3RlUG93ZXIFA25pbAETYWRhcHRWb3RlUG93ZXJTdGFrZQIGY2FsbGVyCXZvdGVQb3dlcgQKdm90ZUhlaWdodAkBDXRyeUdldEludGVnZXIBCQEQZ2V0Vm90ZUhlaWdodEtleQAEEHZvdGVCeVVzZXJTdHJpbmcJAQx0cnlHZXRTdHJpbmcBCQEQZ2V0Vm90ZUJ5VXNlcktleQIFBmNhbGxlcgkApAMBBQp2b3RlSGVpZ2h0CQEMYWRkVm90ZVBvd2VyBAUGY2FsbGVyBQp2b3RlSGVpZ2h0BRB2b3RlQnlVc2VyU3RyaW5nBQl2b3RlUG93ZXIBDGlzTGlxdWlkYXRlZAAECnZvdGVIZWlnaHQJAQ10cnlHZXRJbnRlZ2VyAQkBEGdldFZvdGVIZWlnaHRLZXkAAwkAAAIFCnZvdGVIZWlnaHQAAAcJARFAZXh0ck5hdGl2ZSgxMDU2KQEJAQ1yZXN1bHRWb3RlS2V5AQkApAMBBQp2b3RlSGVpZ2h0CgFpARFjbGFpbVJlZnVuZFN0YWtlZAAECmFkZHJlc3NTdHIJAKUIAQgFAWkGY2FsbGVyBAxzdGFrZWRBbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQkBD2tleVN0YWtlZEFtb3VudAEIBQFpBmNhbGxlcgQKdm90ZUhlaWdodAkBDXRyeUdldEludGVnZXIBCQEQZ2V0Vm90ZUhlaWdodEtleQAEEHZvdGVCeVVzZXJTdHJpbmcJAQx0cnlHZXRTdHJpbmcBCQEQZ2V0Vm90ZUJ5VXNlcktleQIFCmFkZHJlc3NTdHIJAKQDAQUKdm90ZUhlaWdodAQKbXVsdGlwbGllcgMJAAACBRB2b3RlQnlVc2VyU3RyaW5nAgAABwAKBAZyZWZ1bmQJAGgCCQBpAgUMc3Rha2VkQW1vdW50AAoFCm11bHRpcGxpZXIEC2NvdXBvbnNDYWxsCQD8BwQJARFnZXRDb3Vwb25zQWRkcmVzcwACCENGUmVmdW5kCQDMCAIFCmFkZHJlc3NTdHIJAMwIAgUGcmVmdW5kBQNuaWwFA25pbAMJAAACBQtjb3Vwb25zQ2FsbAULY291cG9uc0NhbGwJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9rZXlTdGFrZWRBbW91bnQBCAUBaQZjYWxsZXIAAAkAzAgCCQEEQnVybgIJAQ9nZXRTaGFyZUFzc2V0SWQABQxzdGFrZWRBbW91bnQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARNjbGFpbVJlZnVuZFVuc3Rha2VkAAQMc2hhcmVUb2tlbklkCQEPZ2V0U2hhcmVBc3NldElkAAMJAGYCCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAhxDU0ZUOiBUbyBtYW55IHBheW1lbnRzIGFkZGVkAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQxzaGFyZVRva2VuSWQJAAIBAhNDU0ZUOiBXcm9uZyBhc3NldElkBAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AwkAAAIFBmFtb3VudAAACQACAQIqQ1NGVDogUGxlYXNlIGF0dGFjaCBwb3NpdGl2ZSBhc3NldCBhbW91bnQhBAphZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgQKbXVsdGlwbGllcgAHBAZyZWZ1bmQJAGgCCQBpAgUGYW1vdW50AAoFCm11bHRpcGxpZXIEC2NvdXBvbnNDYWxsCQD8BwQJARFnZXRDb3Vwb25zQWRkcmVzcwACCENGUmVmdW5kCQDMCAIFCmFkZHJlc3NTdHIJAMwIAgUGcmVmdW5kBQNuaWwFA25pbAMJAAACBQtjb3Vwb25zQ2FsbAULY291cG9uc0NhbGwJAMwIAgkBBEJ1cm4CCQEPZ2V0U2hhcmVBc3NldElkAAUGYW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEJc3RhcnRWb3RlAAMJAQIhPQIIBQFpBmNhbGxlcgUIbUFjY0FkZHIJAAIBAjlDU1Y6IE9ubHkgdGhlIGFkbWluIGNhbiBzdGFydCBhIGxpcXVpZGF0aW9uIHZvdGUgZm9yIG5vdyEDCQECIT0CCQENdHJ5R2V0SW50ZWdlcgEJARBnZXRWb3RlSGVpZ2h0S2V5AAAACQACAQIlQ1NWOiBUaGVyZSBpcyBhbHJlYWR5IGEgdm90ZSBydW5uaW5nIQkAzAgCCQEMSW50ZWdlckVudHJ5AgIRVk9URV9IRUlHSFRfU1RBUlQFBmhlaWdodAUDbmlsAWkBD3ZvdGVUb0xpcXVpZGF0ZQEEdm90ZQQJdm90ZVBvd2VyCQENdHJ5R2V0SW50ZWdlcgEJAQ9rZXlTdGFrZWRBbW91bnQBCAUBaQZjYWxsZXIDCQAAAgUJdm90ZVBvd2VyAAAJAAIBAjNDVlRMOiBQbGVhc2Ugc3Rha2Ugc29tZSB0b2tlbnMgYmVmb3JlIHlvdSBjYW4gdm90ZSEEDHZvdGVBc1N0cmluZwkApQMBBQR2b3RlBAp2b3RlSGVpZ2h0CQENdHJ5R2V0SW50ZWdlcgEJARBnZXRWb3RlSGVpZ2h0S2V5AAMJAGYCBQZoZWlnaHQJAGQCBQp2b3RlSGVpZ2h0CQELZ2V0RHVyYXRpb24ACQACAQIxQ1Y6IFZvdGluZyBpcyBmaW5pc2hlZCwgcGxlYXNlIGZpbmFsaXplIHRoZSB2b3RlIQQQdm90ZUJ5VXNlclN0cmluZwkBDHRyeUdldFN0cmluZwEJARBnZXRWb3RlQnlVc2VyS2V5AgkApQgBCAUBaQZjYWxsZXIJAKQDAQUKdm90ZUhlaWdodAMJAQIhPQIFEHZvdGVCeVVzZXJTdHJpbmcCAAkAAgECIUNWOiBZb3UgY2FuIG5vdCBjaGFuZ2UgeW91ciB2b3RlIQkBDGFkZFZvdGVQb3dlcgQJAKUIAQgFAWkGY2FsbGVyBQp2b3RlSGVpZ2h0BQx2b3RlQXNTdHJpbmcFCXZvdGVQb3dlcgFpAQxmaW5hbGl6ZVZvdGUABAp2b3RlSGVpZ2h0CQENdHJ5R2V0SW50ZWdlcgEJARBnZXRWb3RlSGVpZ2h0S2V5AAMJAGYCCQBkAgUKdm90ZUhlaWdodAkBC2dldER1cmF0aW9uAAUGaGVpZ2h0CQACAQIcQ0ZWOiBWb3RpbmcgaXMgbm90IGZpbmlzaGVkIQQRdG90YWxTdGFrZWRBbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQUPa2V5R2xvYmFsU3Rha2VkBAl0b3RhbFZvdGUJAQ10cnlHZXRJbnRlZ2VyAQkBD2dldFRvdGFsVm90ZUtleQEJAKQDAQUKdm90ZUhlaWdodAQGcXVvcnVtCQBoAgkAaQIFCXRvdGFsVm90ZQURdG90YWxTdGFrZWRBbW91bnQAZAQOdm90ZVRvdGFsQnlZZXMJAQ10cnlHZXRJbnRlZ2VyAQkBFWdldFRvdGFsVm90ZUJ5VHlwZUtleQICBHRydWUJAKQDAQUKdm90ZUhlaWdodAQNdm90ZVRvdGFsQnlObwkBDXRyeUdldEludGVnZXIBCQEVZ2V0VG90YWxWb3RlQnlUeXBlS2V5AgIFZmFsc2UJAKQDAQUKdm90ZUhlaWdodAQKbGlxdWlkYXRlZAMJAGYCABQFBnF1b3J1bQYDCQBmAgUOdm90ZVRvdGFsQnlZZXMFDXZvdGVUb3RhbEJ5Tm8GBwQIcmVzZXRLZXkDBQpsaXF1aWRhdGVkBQNuaWwJAMwIAgkBDEludGVnZXJFbnRyeQIJARBnZXRWb3RlSGVpZ2h0S2V5AAAABQNuaWwJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDXF1b3J1bVZvdGVLZXkBCQCkAwEFCnZvdGVIZWlnaHQFBnF1b3J1bQkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBDXJlc3VsdFZvdGVLZXkBCQCkAwEFCnZvdGVIZWlnaHQFCmxpcXVpZGF0ZWQFA25pbAUIcmVzZXRLZXkBaQELdG9wVXBSZXdhcmQAAwkBDGlzTGlxdWlkYXRlZAAJAAIBAhdDVFVSOiBDRiBpcyBsaXF1aWRhdGVkIQQKZWdnQXNzZXRJZAkBCGdldEVnZ0lkAAQMc2hhcmVUb2tlbklkCQEPZ2V0U2hhcmVBc3NldElkAAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUKZWdnQXNzZXRJZAkAAgECMENUVVA6IFdyb25nIGFzc2V0SWQsIGZpcnN0IHBheW1lbnQgc2hvdWxkIGJlIEVHRwQQcmVzSGFuZGxlU3Rha2luZwkBEmhhbmRsZVN0YWtpbmdUb3BVcAEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50CQCUCgIFEHJlc0hhbmRsZVN0YWtpbmcGAWkBEndpdGhkcmF3RmFybVRva2VucwIGYW1vdW50CGNvbXBvdW5kAwkBDGlzTGlxdWlkYXRlZAAJAAIBAhdDVFVSOiBDRiBpcyBsaXF1aWRhdGVkIQMJAGYCCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAh9DV0ZUOiBQbGVhc2UgZG9uJ3QgYWRkIHBheW1lbnRzBAxzaGFyZVRva2VuSWQJAQ9nZXRTaGFyZUFzc2V0SWQAAwUIY29tcG91bmQEBnN0YWtlZAkBDXRyeUdldEludGVnZXIBBRFrZXlTdGFrZWRDb21wb3VuZAQFdG90YWwJAQ10cnlHZXRJbnRlZ2VyAQUQa2V5VG90YWxDb21wb3VuZAQCdnAJARBjYWxjVmlydHVhbFByaWNlAgUGc3Rha2VkBQV0b3RhbAQSa2V5U3Rha2VkQ29tcG91bmRVCQEVa2V5U3Rha2VkQ29tcG91bmRVc2VyAQgFAWkGY2FsbGVyBA5wZXJzb25hbFN0YWtlZAkBDXRyeUdldEludGVnZXIBBRJrZXlTdGFrZWRDb21wb3VuZFUECXZpcnR1YWxXZAMJAAACBQZhbW91bnQA////////////AQUOcGVyc29uYWxTdGFrZWQJAGsDBQZhbW91bnQFB1ZQU2NhbGUFAnZwBAhhbW91bnRXZAMJAAACBQZhbW91bnQA////////////AQkAawMFCXZpcnR1YWxXZAUCdnAFB1ZQU2NhbGUFBmFtb3VudAMJAGYCBQl2aXJ0dWFsV2QFDnBlcnNvbmFsU3Rha2VkCQACAQIuQ1dGVDogWW91IGRvbid0IGhhdmUgc28gbXVjaCBmdW5kcyB0byB3aXRoZHJhdwkAzAgCCQEMSW50ZWdlckVudHJ5AgUSa2V5U3Rha2VkQ29tcG91bmRVCQBlAgUOcGVyc29uYWxTdGFrZWQFCXZpcnR1YWxXZAkAzAgCCQEMSW50ZWdlckVudHJ5AgURa2V5U3Rha2VkQ29tcG91bmQJAGUCBQZzdGFrZWQFCXZpcnR1YWxXZAkAzAgCCQEMSW50ZWdlckVudHJ5AgUQa2V5VG90YWxDb21wb3VuZAkAZQIFBXRvdGFsBQhhbW91bnRXZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFCGFtb3VudFdkBQxzaGFyZVRva2VuSWQJAMwIAgkBDEludGVnZXJFbnRyeQIFCWtleUxhc3RWUAUCdnAJAMwIAgkBDEludGVnZXJFbnRyeQICFWxhc3RfdmlydF9jb21wb3VuZF93ZAUJdmlydHVhbFdkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhdsYXN0X2Ftb3VudF9jb21wb3VuZF93ZAUIYW1vdW50V2QFA25pbAQKYWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIEDHN0YWtlZEFtb3VudAkBDXRyeUdldEludGVnZXIBCQEPa2V5U3Rha2VkQW1vdW50AQgFAWkGY2FsbGVyBAh3ZEFtb3VudAMJAAACBQZhbW91bnQA////////////AQUMc3Rha2VkQW1vdW50BQZhbW91bnQDCQBmAgUId2RBbW91bnQFDHN0YWtlZEFtb3VudAkAAgECJUNXRlQ6IHlvdSBkb24ndCBoYXZlIHRva2VucyBhdmFpbGFibGUECXZvdGVQb3dlcgkBE2FkYXB0Vm90ZVBvd2VyU3Rha2UCCQClCAEIBQFpBmNhbGxlcgkBAS0BBQh3ZEFtb3VudAkAzggCCQDOCAIJARJjbGFpbVN0YWtpbmdSZXN1bHQBCAUBaQZjYWxsZXIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ9rZXlTdGFrZWRBbW91bnQBCAUBaQZjYWxsZXIJAGUCBQxzdGFrZWRBbW91bnQFCHdkQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ9rZXlHbG9iYWxTdGFrZWQJAGUCCQENdHJ5R2V0SW50ZWdlcgEFD2tleUdsb2JhbFN0YWtlZAUId2RBbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQh3ZEFtb3VudAUMc2hhcmVUb2tlbklkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAg9sYXN0X3N0YWtpbmdfd2QFCHdkQW1vdW50BQNuaWwFCXZvdGVQb3dlcgFpAQ9zdGFrZUZhcm1Ub2tlbnMBCGNvbXBvdW5kAwkBDGlzTGlxdWlkYXRlZAAJAAIBAhdDU0ZUOiBDRiBpcyBsaXF1aWRhdGVkIQQMc2hhcmVUb2tlbklkCQEPZ2V0U2hhcmVBc3NldElkAAMJAGYCCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAhxDU0ZUOiBUbyBtYW55IHBheW1lbnRzIGFkZGVkAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQxzaGFyZVRva2VuSWQJAAIBAhNDU0ZUOiBXcm9uZyBhc3NldElkBAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AwkAAAIFBmFtb3VudAAACQACAQIqQ1NGVDogUGxlYXNlIGF0dGFjaCBwb3NpdGl2ZSBhc3NldCBhbW91bnQhAwUIY29tcG91bmQJAAIBAhxDU0ZUOiBDb21wb3VuZCB3YXMgZGlzYWJsZWQhBAphZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgQRdG90YWxTdGFrZWRBbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQUPa2V5R2xvYmFsU3Rha2VkAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQxzaGFyZVRva2VuSWQJAAIBAhpDU0ZUOiB3cm9uZyBhc3NldCBhdHRhY2hlZAQJdm90ZVBvd2VyCQETYWRhcHRWb3RlUG93ZXJTdGFrZQIJAKUIAQgFAWkGY2FsbGVyBQZhbW91bnQJAM4IAgkAzggCCQESY2xhaW1TdGFraW5nUmVzdWx0AQgFAWkGY2FsbGVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ9rZXlHbG9iYWxTdGFrZWQJAGQCBRF0b3RhbFN0YWtlZEFtb3VudAUGYW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPa2V5U3Rha2VkQW1vdW50AQgFAWkGY2FsbGVyCQBkAgkBDXRyeUdldEludGVnZXIBCQEPa2V5U3Rha2VkQW1vdW50AQgFAWkGY2FsbGVyBQZhbW91bnQFA25pbAUJdm90ZVBvd2VyAWkBDGluaXRpYXRlRGFwcAEHYWRkcmVzcwMJAQxpc0xpcXVpZGF0ZWQACQACAQIWQ0lEOiBDRiBpcyBsaXF1aWRhdGVkIQMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECK0NJRDogQ2FuIGJlIGNhbGxlZCBvbmx5IGJ5IHRoZSBkYXBwLWFjY291bnQJARdzZXRDRkFkZHJlc3NBbmRJbml0aWF0ZQEFB2FkZHJlc3MBaQELY2xhaW1SZXdhcmQAAwkBDGlzTGlxdWlkYXRlZAAJAAIBAhZDQ1I6IENGIGlzIGxpcXVpZGF0ZWQhAwkAZgIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECHkNDUjogUGxlYXNlIGRvbid0IGFkZCBwYXltZW50cwkBEmNsYWltU3Rha2luZ1Jlc3VsdAEIBQFpBmNhbGxlcgBwlYuA", "height": 2209737, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "master_pk"
5+
6+func b () = addressFromStringValue(valueOrErrorMessage(getString(this, "CF_ADDRESS"), "CF_ADDRESS not found"))
7+
8+
9+let c = fromBase58String(valueOrErrorMessage(getString(b(), a), (a + " not found")))
10+
11+let d = addressFromPublicKey(c)
12+
13+func e () = addressFromStringValue(getStringValue(d, "COUPONS_ADDRESS"))
14+
15+
16+let f = "total_compound"
17+
18+let g = "staked_compound"
19+
20+let h = "last_virtual_price"
21+
22+let i = 100000000
23+
24+func j (k) = ((toString(k) + "_") + g)
25+
26+
27+func l (m,n) = if ((n == 0))
28+ then 1
29+ else if ((m == 0))
30+ then 1
31+ else fraction(n, i, m)
32+
33+
34+let o = 100000000
35+
36+func p (q) = (toString(q) + "_farm_staked")
37+
38+
39+func r (q) = (toString(q) + "_lastCheck_interest")
40+
41+
42+func s (q) = (toString(q) + "_claimed")
43+
44+
45+let t = "global_lastCheck_interest"
46+
47+let u = "global_staked"
48+
49+let v = "global_earnings"
50+
51+let w = "locked_investments"
52+
53+func x () = {
54+ let y = getBoolean(b(), w)
55+ if ($isInstanceOf(y, "Boolean"))
56+ then {
57+ let z = y
58+ z
59+ }
60+ else false
61+ }
62+
63+
64+func A () = fromBase58String(getStringValue(d, "EGG_ASSET_ID"))
65+
66+
67+func B (q) = [StringEntry("CF_ADDRESS", q), IntegerEntry(t, 1)]
68+
69+
70+func C () = fromBase58String(getStringValue(b(), "SHARE_ASSET_ID"))
71+
72+
73+func D (E) = {
74+ let y = getInteger(this, E)
75+ if ($isInstanceOf(y, "Int"))
76+ then {
77+ let z = y
78+ z
79+ }
80+ else 0
81+ }
82+
83+
84+func F (E) = {
85+ let y = getString(this, E)
86+ if ($isInstanceOf(y, "String"))
87+ then {
88+ let G = y
89+ G
90+ }
91+ else ""
92+ }
93+
94+
95+func H () = "VOTE_HEIGHT_START"
96+
97+
98+func I () = 10000
99+
100+
101+func J (k,K) = ((("VOTE_" + k) + "_") + K)
102+
103+
104+func L (M,K) = ((("VOTE_TOTAL_" + M) + "_") + K)
105+
106+
107+func N (K) = ("VOTE_TOTAL_" + K)
108+
109+
110+func O (K) = ("LIQUIDATED_" + K)
111+
112+
113+func P (K) = ("QUORUM_" + K)
114+
115+
116+func Q (q) = {
117+ let R = D(t)
118+ let S = D(r(q))
119+ let T = D(p(q))
120+ let U = if ((S > 0))
121+ then fraction((R - S), T, o)
122+ else 0
123+ let V = if ((U > 0))
124+ then [ScriptTransfer(q, U, A())]
125+ else nil
126+ (V ++ [IntegerEntry(r(q), R), IntegerEntry(s(q), (D(s(q)) + U))])
127+ }
128+
129+
130+func W (X) = {
131+ let R = D(t)
132+ let Y = D(u)
133+ let Z = if ((Y > 0))
134+ then fraction(X, o, Y)
135+ else 0
136+[IntegerEntry(v, (D(v) + X)), IntegerEntry(t, (R + Z))]
137+ }
138+
139+
140+func aa (ab,ac,ad,ae) = if (if ((ac == 0))
141+ then true
142+ else (ad == ""))
143+ then nil
144+ else if ((height > (ac + I())))
145+ then throw((((((((("CAVP: Voting is finished, please finalize the vote;" + " Arguments: ") + ab) + ", ") + toString(ac)) + ", ") + ad) + ", ") + toString(ae)))
146+ else {
147+ let af = D(L(ad, toString(ac)))
148+ let ag = D(N(toString(ac)))
149+[StringEntry(J(ab, toString(ac)), ad), IntegerEntry(L(ad, toString(ac)), (af + ae)), IntegerEntry(N(toString(ac)), (ag + ae))]
150+ }
151+
152+
153+func ah (ab,ae) = {
154+ let ai = D(H())
155+ let aj = F(J(ab, toString(ai)))
156+ aa(ab, ai, aj, ae)
157+ }
158+
159+
160+func ak () = {
161+ let ai = D(H())
162+ if ((ai == 0))
163+ then false
164+ else getBooleanValue(O(toString(ai)))
165+ }
166+
167+
168+@Callable(al)
169+func claimRefundStaked () = {
170+ let am = toString(al.caller)
171+ let T = D(p(al.caller))
172+ let ai = D(H())
173+ let aj = F(J(am, toString(ai)))
174+ let an = if ((aj == ""))
175+ then 7
176+ else 10
177+ let ao = ((T / 10) * an)
178+ let ap = invoke(e(), "CFRefund", [am, ao], nil)
179+ if ((ap == ap))
180+ then [IntegerEntry(p(al.caller), 0), Burn(C(), T)]
181+ else throw("Strict value is not equal to itself.")
182+ }
183+
184+
185+
186+@Callable(al)
187+func claimRefundUnstaked () = {
188+ let aq = C()
189+ if ((size(al.payments) > 1))
190+ then throw("CSFT: To many payments added")
191+ else if ((al.payments[0].assetId != aq))
192+ then throw("CSFT: Wrong assetId")
193+ else {
194+ let X = al.payments[0].amount
195+ if ((X == 0))
196+ then throw("CSFT: Please attach positive asset amount!")
197+ else {
198+ let am = toString(al.caller)
199+ let an = 7
200+ let ao = ((X / 10) * an)
201+ let ap = invoke(e(), "CFRefund", [am, ao], nil)
202+ if ((ap == ap))
203+ then [Burn(C(), X)]
204+ else throw("Strict value is not equal to itself.")
205+ }
206+ }
207+ }
208+
209+
210+
211+@Callable(al)
212+func startVote () = if ((al.caller != d))
213+ then throw("CSV: Only the admin can start a liquidation vote for now!")
214+ else if ((D(H()) != 0))
215+ then throw("CSV: There is already a vote running!")
216+ else [IntegerEntry("VOTE_HEIGHT_START", height)]
217+
218+
219+
220+@Callable(al)
221+func voteToLiquidate (ad) = {
222+ let ae = D(p(al.caller))
223+ if ((ae == 0))
224+ then throw("CVTL: Please stake some tokens before you can vote!")
225+ else {
226+ let ar = toString(ad)
227+ let ai = D(H())
228+ if ((height > (ai + I())))
229+ then throw("CV: Voting is finished, please finalize the vote!")
230+ else {
231+ let aj = F(J(toString(al.caller), toString(ai)))
232+ if ((aj != ""))
233+ then throw("CV: You can not change your vote!")
234+ else aa(toString(al.caller), ai, ar, ae)
235+ }
236+ }
237+ }
238+
239+
240+
241+@Callable(al)
242+func finalizeVote () = {
243+ let ai = D(H())
244+ if (((ai + I()) > height))
245+ then throw("CFV: Voting is not finished!")
246+ else {
247+ let Y = D(u)
248+ let ag = D(N(toString(ai)))
249+ let as = ((ag / Y) * 100)
250+ let at = D(L("true", toString(ai)))
251+ let au = D(L("false", toString(ai)))
252+ let av = if ((20 > as))
253+ then true
254+ else if ((at > au))
255+ then true
256+ else false
257+ let aw = if (av)
258+ then nil
259+ else [IntegerEntry(H(), 0)]
260+ ([IntegerEntry(P(toString(ai)), as), BooleanEntry(O(toString(ai)), av)] ++ aw)
261+ }
262+ }
263+
264+
265+
266+@Callable(al)
267+func topUpReward () = if (ak())
268+ then throw("CTUR: CF is liquidated!")
269+ else {
270+ let ax = A()
271+ let aq = C()
272+ if ((al.payments[0].assetId != ax))
273+ then throw("CTUP: Wrong assetId, first payment should be EGG")
274+ else {
275+ let ay = W(al.payments[0].amount)
276+ $Tuple2(ay, true)
277+ }
278+ }
279+
280+
281+
282+@Callable(al)
283+func withdrawFarmTokens (X,az) = if (ak())
284+ then throw("CTUR: CF is liquidated!")
285+ else if ((size(al.payments) > 0))
286+ then throw("CWFT: Please don't add payments")
287+ else {
288+ let aq = C()
289+ if (az)
290+ then {
291+ let aA = D(g)
292+ let n = D(f)
293+ let aB = l(aA, n)
294+ let aC = j(al.caller)
295+ let aD = D(aC)
296+ let aE = if ((X == -1))
297+ then aD
298+ else fraction(X, i, aB)
299+ let aF = if ((X == -1))
300+ then fraction(aE, aB, i)
301+ else X
302+ if ((aE > aD))
303+ then throw("CWFT: You don't have so much funds to withdraw")
304+ else [IntegerEntry(aC, (aD - aE)), IntegerEntry(g, (aA - aE)), IntegerEntry(f, (n - aF)), ScriptTransfer(al.caller, aF, aq), IntegerEntry(h, aB), IntegerEntry("last_virt_compound_wd", aE), IntegerEntry("last_amount_compound_wd", aF)]
305+ }
306+ else {
307+ let am = toString(al.caller)
308+ let T = D(p(al.caller))
309+ let aG = if ((X == -1))
310+ then T
311+ else X
312+ if ((aG > T))
313+ then throw("CWFT: you don't have tokens available")
314+ else {
315+ let ae = ah(toString(al.caller), -(aG))
316+ ((Q(al.caller) ++ [IntegerEntry(p(al.caller), (T - aG)), IntegerEntry(u, (D(u) - aG)), ScriptTransfer(al.caller, aG, aq), IntegerEntry("last_staking_wd", aG)]) ++ ae)
317+ }
318+ }
319+ }
320+
321+
322+
323+@Callable(al)
324+func stakeFarmTokens (az) = if (ak())
325+ then throw("CSFT: CF is liquidated!")
326+ else {
327+ let aq = C()
328+ if ((size(al.payments) > 1))
329+ then throw("CSFT: To many payments added")
330+ else if ((al.payments[0].assetId != aq))
331+ then throw("CSFT: Wrong assetId")
332+ else {
333+ let X = al.payments[0].amount
334+ if ((X == 0))
335+ then throw("CSFT: Please attach positive asset amount!")
336+ else if (az)
337+ then throw("CSFT: Compound was disabled!")
338+ else {
339+ let am = toString(al.caller)
340+ let Y = D(u)
341+ if ((al.payments[0].assetId != aq))
342+ then throw("CSFT: wrong asset attached")
343+ else {
344+ let ae = ah(toString(al.caller), X)
345+ ((Q(al.caller) ++ [IntegerEntry(u, (Y + X)), IntegerEntry(p(al.caller), (D(p(al.caller)) + X))]) ++ ae)
346+ }
347+ }
348+ }
349+ }
350+
351+
352+
353+@Callable(al)
354+func initiateDapp (q) = if (ak())
355+ then throw("CID: CF is liquidated!")
356+ else if ((al.caller != this))
357+ then throw("CID: Can be called only by the dapp-account")
358+ else B(q)
359+
360+
361+
362+@Callable(al)
363+func claimReward () = if (ak())
364+ then throw("CCR: CF is liquidated!")
365+ else if ((size(al.payments) > 0))
366+ then throw("CCR: Please don't add payments")
367+ else Q(al.caller)
368+
369+

github/deemru/w8io/c3f4982 
27.87 ms