tx · Ct67PDjTPyaoDKUgRHKsGS8Jn8h4VupAcRXgusdQUZZE

3N73DhhaUS4SqrhtddAZ3onBZ1iJMuJF5xg:  -0.01000000 Waves

2022.08.31 12:23 [2208437] smart account 3N73DhhaUS4SqrhtddAZ3onBZ1iJMuJF5xg > SELF 0.00000000 Waves

{ "type": 13, "id": "Ct67PDjTPyaoDKUgRHKsGS8Jn8h4VupAcRXgusdQUZZE", "fee": 1000000, "feeAssetId": null, "timestamp": 1661937864139, "version": 2, "chainId": 84, "sender": "3N73DhhaUS4SqrhtddAZ3onBZ1iJMuJF5xg", "senderPublicKey": "CcnYfmJGKz7fPxmn6wwCdXDeSFyjrum1mRWJf8xJEvMN", "proofs": [ "PBNJ93b7V48MR3dTPS226JpSHEaz76EQwURDTdL8zniCJvqiym3kQzmFt35ZLt1XUKYCLuBS7E9HBK8kYKYvjDo" ], "script": "base64:BgIjCAISABIAEgASAwoBBBIAEgASBAoCAQQSAwoBBBIDCgEIEgAlAAtrZXlNQWNjUEtleQIJbWFzdGVyX3BrAQxnZXRDRkFkZHJlc3MACQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAgpDRl9BRERSRVNTAAhtQWNjUEtleQkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCCQEMZ2V0Q0ZBZGRyZXNzAAULa2V5TUFjY1BLZXkACG1BY2NBZGRyCQCnCAEFCG1BY2NQS2V5ARFnZXRDb3Vwb25zQWRkcmVzcwAJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFCG1BY2NBZGRyAg9DT1VQT05TX0FERFJFU1MAEGtleVRvdGFsQ29tcG91bmQCDnRvdGFsX2NvbXBvdW5kABFrZXlTdGFrZWRDb21wb3VuZAIPc3Rha2VkX2NvbXBvdW5kAAlrZXlMYXN0VlACEmxhc3RfdmlydHVhbF9wcmljZQAHVlBTY2FsZQCAwtcvARVrZXlTdGFrZWRDb21wb3VuZFVzZXIBBHVzZXIJAKwCAgkArAICCQClCAEFBHVzZXICAV8FEWtleVN0YWtlZENvbXBvdW5kARBjYWxjVmlydHVhbFByaWNlAgt0b3RhbFN0YWtlZAV0b3RhbAMJAAACBQV0b3RhbAAAAAEDCQAAAgULdG90YWxTdGFrZWQAAAABCQBrAwUFdG90YWwFB1ZQU2NhbGUFC3RvdGFsU3Rha2VkAAVTY2FsZQCAwtcvAQ9rZXlTdGFrZWRBbW91bnQBB2FkZHJlc3MJAKwCAgkApQgBBQdhZGRyZXNzAgxfZmFybV9zdGFrZWQBFGtleUxhc3RDaGVja0ludGVyZXN0AQdhZGRyZXNzCQCsAgIJAKUIAQUHYWRkcmVzcwITX2xhc3RDaGVja19pbnRlcmVzdAENa2V5RWdnQ2xhaW1lZAEHYWRkcmVzcwkArAICCQClCAEFB2FkZHJlc3MCCF9jbGFpbWVkABVrZXlHbG9iYWxMYXN0SW50ZXJlc3QCGWdsb2JhbF9sYXN0Q2hlY2tfaW50ZXJlc3QAD2tleUdsb2JhbFN0YWtlZAINZ2xvYmFsX3N0YWtlZAASa2V5R2xvYmFsRWdnRWFybmVkAg9nbG9iYWxfZWFybmluZ3MAEmtMb2NrZWRJbnZlc3RtZW50cwISbG9ja2VkX2ludmVzdG1lbnRzARZpc0NvbGxlY3RpdmVGYXJtTG9ja2VkAAQHJG1hdGNoMAkAmwgCCQEMZ2V0Q0ZBZGRyZXNzAAUSa0xvY2tlZEludmVzdG1lbnRzAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWIFByRtYXRjaDAFAWIHAQhnZXRFZ2dJZAAJANkEAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUIbUFjY0FkZHICDEVHR19BU1NFVF9JRAEXc2V0Q0ZBZGRyZXNzQW5kSW5pdGlhdGUBB2FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgIKQ0ZfQUREUkVTUwUHYWRkcmVzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgUVa2V5R2xvYmFsTGFzdEludGVyZXN0AAEFA25pbAEPZ2V0U2hhcmVBc3NldElkAAkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCCQEMZ2V0Q0ZBZGRyZXNzAAIOU0hBUkVfQVNTRVRfSUQBDXRyeUdldEludGVnZXIBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAABDHRyeUdldFN0cmluZwEDa2V5BAckbWF0Y2gwCQCdCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAEQZ2V0Vm90ZUhlaWdodEtleQACEVZPVEVfSEVJR0hUX1NUQVJUAQtnZXREdXJhdGlvbgAAkE4BEGdldFZvdGVCeVVzZXJLZXkCBHVzZXIGaGVpZ2h0CQCsAgIJAKwCAgkArAICAgVWT1RFXwUEdXNlcgIBXwUGaGVpZ2h0ARVnZXRUb3RhbFZvdGVCeVR5cGVLZXkCBHR5cGUGaGVpZ2h0CQCsAgIJAKwCAgkArAICAgtWT1RFX1RPVEFMXwUEdHlwZQIBXwUGaGVpZ2h0AQ9nZXRUb3RhbFZvdGVLZXkBBmhlaWdodAkArAICAgtWT1RFX1RPVEFMXwUGaGVpZ2h0AQ1yZXN1bHRWb3RlS2V5AQZoZWlnaHQJAKwCAgILTElRVUlEQVRFRF8FBmhlaWdodAENcXVvcnVtVm90ZUtleQEGaGVpZ2h0CQCsAgICB1FVT1JVTV8FBmhlaWdodAESY2xhaW1TdGFraW5nUmVzdWx0AQdhZGRyZXNzBA9jdXJyZW50SW50ZXJlc3QJAQ10cnlHZXRJbnRlZ2VyAQUVa2V5R2xvYmFsTGFzdEludGVyZXN0BBFsYXN0Q2hlY2tJbnRlcmVzdAkBDXRyeUdldEludGVnZXIBCQEUa2V5TGFzdENoZWNrSW50ZXJlc3QBBQdhZGRyZXNzBAxzdGFrZWRBbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQkBD2tleVN0YWtlZEFtb3VudAEFB2FkZHJlc3MEBnJld2FyZAMJAGYCBRFsYXN0Q2hlY2tJbnRlcmVzdAAACQBrAwkAZQIFD2N1cnJlbnRJbnRlcmVzdAURbGFzdENoZWNrSW50ZXJlc3QFDHN0YWtlZEFtb3VudAUFU2NhbGUAAAQIdHJhbnNmZXIDCQBmAgUGcmV3YXJkAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUHYWRkcmVzcwUGcmV3YXJkCQEIZ2V0RWdnSWQABQNuaWwFA25pbAkAzggCBQh0cmFuc2ZlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleUxhc3RDaGVja0ludGVyZXN0AQUHYWRkcmVzcwUPY3VycmVudEludGVyZXN0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQENa2V5RWdnQ2xhaW1lZAEFB2FkZHJlc3MJAGQCCQENdHJ5R2V0SW50ZWdlcgEJAQ1rZXlFZ2dDbGFpbWVkAQUHYWRkcmVzcwUGcmV3YXJkBQNuaWwBEmhhbmRsZVN0YWtpbmdUb3BVcAEGYW1vdW50BA9jdXJyZW50SW50ZXJlc3QJAQ10cnlHZXRJbnRlZ2VyAQUVa2V5R2xvYmFsTGFzdEludGVyZXN0BBF0b3RhbFN0YWtlZEFtb3VudAkBDXRyeUdldEludGVnZXIBBQ9rZXlHbG9iYWxTdGFrZWQEDWludGVyZXN0RGVsdGEDCQBmAgURdG90YWxTdGFrZWRBbW91bnQAAAkAawMFBmFtb3VudAUFU2NhbGUFEXRvdGFsU3Rha2VkQW1vdW50AAAJAMwIAgkBDEludGVnZXJFbnRyeQIFEmtleUdsb2JhbEVnZ0Vhcm5lZAkAZAIJAQ10cnlHZXRJbnRlZ2VyAQUSa2V5R2xvYmFsRWdnRWFybmVkBQZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFFWtleUdsb2JhbExhc3RJbnRlcmVzdAkAZAIFD2N1cnJlbnRJbnRlcmVzdAUNaW50ZXJlc3REZWx0YQUDbmlsAQxhZGRWb3RlUG93ZXIEBmNhbGxlcgFoBHZvdGUJdm90ZVBvd2VyAwMJAAACBQFoAAAJAQIhPQIFBHZvdGUCAAcFA25pbAMJAGYCBQZoZWlnaHQJAGQCBQFoCQELZ2V0RHVyYXRpb24ACQACAQIxQ1Y6IFZvdGluZyBpcyBmaW5pc2hlZCwgcGxlYXNlIGZpbmFsaXplIHRoZSB2b3RlIQQPdm90ZVRvdGFsQnlUeXBlCQENdHJ5R2V0SW50ZWdlcgEJARVnZXRUb3RhbFZvdGVCeVR5cGVLZXkCBQR2b3RlCQCkAwEFAWgECXRvdGFsVm90ZQkBDXRyeUdldEludGVnZXIBCQEPZ2V0VG90YWxWb3RlS2V5AQkApAMBBQFoCQDMCAIJAQtTdHJpbmdFbnRyeQIJARBnZXRWb3RlQnlVc2VyS2V5AgUGY2FsbGVyCQCkAwEFAWgFBHZvdGUJAMwIAgkBDEludGVnZXJFbnRyeQIJARVnZXRUb3RhbFZvdGVCeVR5cGVLZXkCBQR2b3RlCQCkAwEFAWgJAGQCBQ92b3RlVG90YWxCeVR5cGUFCXZvdGVQb3dlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBD2dldFRvdGFsVm90ZUtleQEJAKQDAQUBaAkAZAIFCXRvdGFsVm90ZQUJdm90ZVBvd2VyBQNuaWwBE2FkYXB0Vm90ZVBvd2VyU3Rha2UCBmNhbGxlcgl2b3RlUG93ZXIECnZvdGVIZWlnaHQJAQ10cnlHZXRJbnRlZ2VyAQkBEGdldFZvdGVIZWlnaHRLZXkABBB2b3RlQnlVc2VyU3RyaW5nCQEMdHJ5R2V0U3RyaW5nAQkBEGdldFZvdGVCeVVzZXJLZXkCBQZjYWxsZXIJAKQDAQUKdm90ZUhlaWdodAkBDGFkZFZvdGVQb3dlcgQFBmNhbGxlcgUKdm90ZUhlaWdodAUQdm90ZUJ5VXNlclN0cmluZwUJdm90ZVBvd2VyAQxpc0xpcXVpZGF0ZWQABAp2b3RlSGVpZ2h0CQENdHJ5R2V0SW50ZWdlcgEJARBnZXRWb3RlSGVpZ2h0S2V5AAMJAAACBQp2b3RlSGVpZ2h0AAAHCQERQGV4dHJOYXRpdmUoMTA1NikBCQENcmVzdWx0Vm90ZUtleQEJAKQDAQUKdm90ZUhlaWdodAoBaQERY2xhaW1SZWZ1bmRTdGFrZWQABAphZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgQMc3Rha2VkQW1vdW50CQENdHJ5R2V0SW50ZWdlcgEJAQ9rZXlTdGFrZWRBbW91bnQBCAUBaQZjYWxsZXIECnZvdGVIZWlnaHQJAQ10cnlHZXRJbnRlZ2VyAQkBEGdldFZvdGVIZWlnaHRLZXkABBB2b3RlQnlVc2VyU3RyaW5nCQEMdHJ5R2V0U3RyaW5nAQkBEGdldFZvdGVCeVVzZXJLZXkCBQphZGRyZXNzU3RyCQCkAwEFCnZvdGVIZWlnaHQECm11bHRpcGxpZXIDCQAAAgUQdm90ZUJ5VXNlclN0cmluZwIAAAcACgQGcmVmdW5kCQBoAgkAaQIFDHN0YWtlZEFtb3VudAAKBQptdWx0aXBsaWVyBAtjb3Vwb25zQ2FsbAkA/AcECQERZ2V0Q291cG9uc0FkZHJlc3MAAghDRlJlZnVuZAkAzAgCBQphZGRyZXNzU3RyCQDMCAIFBnJlZnVuZAUDbmlsBQNuaWwDCQAAAgULY291cG9uc0NhbGwFC2NvdXBvbnNDYWxsCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPa2V5U3Rha2VkQW1vdW50AQgFAWkGY2FsbGVyAAAJAMwIAgkBBEJ1cm4CCQEPZ2V0U2hhcmVBc3NldElkAAUMc3Rha2VkQW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQETY2xhaW1SZWZ1bmRVbnN0YWtlZAAEDHNoYXJlVG9rZW5JZAkBD2dldFNoYXJlQXNzZXRJZAADCQBmAgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIcQ1NGVDogVG8gbWFueSBwYXltZW50cyBhZGRlZAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUMc2hhcmVUb2tlbklkCQACAQITQ1NGVDogV3JvbmcgYXNzZXRJZAQGYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAMJAAACBQZhbW91bnQAAAkAAgECKkNTRlQ6IFBsZWFzZSBhdHRhY2ggcG9zaXRpdmUgYXNzZXQgYW1vdW50IQQKYWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIECm11bHRpcGxpZXIABwQGcmVmdW5kCQBoAgkAaQIFBmFtb3VudAAKBQptdWx0aXBsaWVyBAtjb3Vwb25zQ2FsbAkA/AcECQERZ2V0Q291cG9uc0FkZHJlc3MAAghDRlJlZnVuZAkAzAgCBQphZGRyZXNzU3RyCQDMCAIFBnJlZnVuZAUDbmlsBQNuaWwDCQAAAgULY291cG9uc0NhbGwFC2NvdXBvbnNDYWxsCQDMCAIJAQRCdXJuAgkBD2dldFNoYXJlQXNzZXRJZAAFBmFtb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCXN0YXJ0Vm90ZQADCQECIT0CCAUBaQZjYWxsZXIFCG1BY2NBZGRyCQACAQI5Q1NWOiBPbmx5IHRoZSBhZG1pbiBjYW4gc3RhcnQgYSBsaXF1aWRhdGlvbiB2b3RlIGZvciBub3chAwkBAiE9AgkBDXRyeUdldEludGVnZXIBCQEQZ2V0Vm90ZUhlaWdodEtleQAAAAkAAgECJUNTVjogVGhlcmUgaXMgYWxyZWFkeSBhIHZvdGUgcnVubmluZyEJAMwIAgkBDEludGVnZXJFbnRyeQICEVZPVEVfSEVJR0hUX1NUQVJUBQZoZWlnaHQFA25pbAFpAQ92b3RlVG9MaXF1aWRhdGUBBHZvdGUECXZvdGVQb3dlcgkBDXRyeUdldEludGVnZXIBCQEPa2V5U3Rha2VkQW1vdW50AQgFAWkGY2FsbGVyAwkAAAIFCXZvdGVQb3dlcgAACQACAQIzQ1ZUTDogUGxlYXNlIHN0YWtlIHNvbWUgdG9rZW5zIGJlZm9yZSB5b3UgY2FuIHZvdGUhBAx2b3RlQXNTdHJpbmcJAKUDAQUEdm90ZQQKdm90ZUhlaWdodAkBDXRyeUdldEludGVnZXIBCQEQZ2V0Vm90ZUhlaWdodEtleQADCQBmAgUGaGVpZ2h0CQBkAgUKdm90ZUhlaWdodAkBC2dldER1cmF0aW9uAAkAAgECMUNWOiBWb3RpbmcgaXMgZmluaXNoZWQsIHBsZWFzZSBmaW5hbGl6ZSB0aGUgdm90ZSEEEHZvdGVCeVVzZXJTdHJpbmcJAQx0cnlHZXRTdHJpbmcBCQEQZ2V0Vm90ZUJ5VXNlcktleQIJAKUIAQgFAWkGY2FsbGVyCQCkAwEFCnZvdGVIZWlnaHQDCQECIT0CBRB2b3RlQnlVc2VyU3RyaW5nAgAJAAIBAiFDVjogWW91IGNhbiBub3QgY2hhbmdlIHlvdXIgdm90ZSEJAQxhZGRWb3RlUG93ZXIECQClCAEIBQFpBmNhbGxlcgUKdm90ZUhlaWdodAUMdm90ZUFzU3RyaW5nBQl2b3RlUG93ZXIBaQEMZmluYWxpemVWb3RlAAQKdm90ZUhlaWdodAkBDXRyeUdldEludGVnZXIBCQEQZ2V0Vm90ZUhlaWdodEtleQADCQBmAgkAZAIFCnZvdGVIZWlnaHQJAQtnZXREdXJhdGlvbgAFBmhlaWdodAkAAgECHENGVjogVm90aW5nIGlzIG5vdCBmaW5pc2hlZCEEEXRvdGFsU3Rha2VkQW1vdW50CQENdHJ5R2V0SW50ZWdlcgEFD2tleUdsb2JhbFN0YWtlZAQJdG90YWxWb3RlCQENdHJ5R2V0SW50ZWdlcgEJAQ9nZXRUb3RhbFZvdGVLZXkBCQCkAwEFCnZvdGVIZWlnaHQEBnF1b3J1bQkAaAIJAGkCBQl0b3RhbFZvdGUFEXRvdGFsU3Rha2VkQW1vdW50AGQEDnZvdGVUb3RhbEJ5WWVzCQENdHJ5R2V0SW50ZWdlcgEJARVnZXRUb3RhbFZvdGVCeVR5cGVLZXkCAgR0cnVlCQCkAwEFCnZvdGVIZWlnaHQEDXZvdGVUb3RhbEJ5Tm8JAQ10cnlHZXRJbnRlZ2VyAQkBFWdldFRvdGFsVm90ZUJ5VHlwZUtleQICBWZhbHNlCQCkAwEFCnZvdGVIZWlnaHQECmxpcXVpZGF0ZWQDCQBmAgAUBQZxdW9ydW0GAwkAZgIFDnZvdGVUb3RhbEJ5WWVzBQ12b3RlVG90YWxCeU5vBgcECHJlc2V0S2V5AwUKbGlxdWlkYXRlZAUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEQZ2V0Vm90ZUhlaWdodEtleQAAAAUDbmlsCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ1xdW9ydW1Wb3RlS2V5AQkApAMBBQp2b3RlSGVpZ2h0BQZxdW9ydW0JAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQ1yZXN1bHRWb3RlS2V5AQkApAMBBQp2b3RlSGVpZ2h0BQpsaXF1aWRhdGVkBQNuaWwFCHJlc2V0S2V5AWkBC3RvcFVwUmV3YXJkAAMJAQxpc0xpcXVpZGF0ZWQACQACAQIXQ1RVUjogQ0YgaXMgbGlxdWlkYXRlZCEECmVnZ0Fzc2V0SWQJAQhnZXRFZ2dJZAAEDHNoYXJlVG9rZW5JZAkBD2dldFNoYXJlQXNzZXRJZAADCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFCmVnZ0Fzc2V0SWQJAAIBAjBDVFVQOiBXcm9uZyBhc3NldElkLCBmaXJzdCBwYXltZW50IHNob3VsZCBiZSBFR0cEEHJlc0hhbmRsZVN0YWtpbmcJARJoYW5kbGVTdGFraW5nVG9wVXABCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAlAoCBRByZXNIYW5kbGVTdGFraW5nBgFpARJ3aXRoZHJhd0Zhcm1Ub2tlbnMCBmFtb3VudAhjb21wb3VuZAMJAQxpc0xpcXVpZGF0ZWQACQACAQIXQ1RVUjogQ0YgaXMgbGlxdWlkYXRlZCEDCQBmAgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIfQ1dGVDogUGxlYXNlIGRvbid0IGFkZCBwYXltZW50cwQMc2hhcmVUb2tlbklkCQEPZ2V0U2hhcmVBc3NldElkAAMFCGNvbXBvdW5kBAZzdGFrZWQJAQ10cnlHZXRJbnRlZ2VyAQURa2V5U3Rha2VkQ29tcG91bmQEBXRvdGFsCQENdHJ5R2V0SW50ZWdlcgEFEGtleVRvdGFsQ29tcG91bmQEAnZwCQEQY2FsY1ZpcnR1YWxQcmljZQIFBnN0YWtlZAUFdG90YWwEEmtleVN0YWtlZENvbXBvdW5kVQkBFWtleVN0YWtlZENvbXBvdW5kVXNlcgEIBQFpBmNhbGxlcgQOcGVyc29uYWxTdGFrZWQJAQ10cnlHZXRJbnRlZ2VyAQUSa2V5U3Rha2VkQ29tcG91bmRVBAl2aXJ0dWFsV2QDCQAAAgUGYW1vdW50AP///////////wEFDnBlcnNvbmFsU3Rha2VkCQBrAwUGYW1vdW50BQdWUFNjYWxlBQJ2cAQIYW1vdW50V2QDCQAAAgUGYW1vdW50AP///////////wEJAGsDBQl2aXJ0dWFsV2QFAnZwBQdWUFNjYWxlBQZhbW91bnQDCQBmAgUJdmlydHVhbFdkBQ5wZXJzb25hbFN0YWtlZAkAAgECLkNXRlQ6IFlvdSBkb24ndCBoYXZlIHNvIG11Y2ggZnVuZHMgdG8gd2l0aGRyYXcJAMwIAgkBDEludGVnZXJFbnRyeQIFEmtleVN0YWtlZENvbXBvdW5kVQkAZQIFDnBlcnNvbmFsU3Rha2VkBQl2aXJ0dWFsV2QJAMwIAgkBDEludGVnZXJFbnRyeQIFEWtleVN0YWtlZENvbXBvdW5kCQBlAgUGc3Rha2VkBQl2aXJ0dWFsV2QJAMwIAgkBDEludGVnZXJFbnRyeQIFEGtleVRvdGFsQ29tcG91bmQJAGUCBQV0b3RhbAUIYW1vdW50V2QJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQhhbW91bnRXZAUMc2hhcmVUb2tlbklkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQlrZXlMYXN0VlAFAnZwCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhVsYXN0X3ZpcnRfY29tcG91bmRfd2QFCXZpcnR1YWxXZAkAzAgCCQEMSW50ZWdlckVudHJ5AgIXbGFzdF9hbW91bnRfY29tcG91bmRfd2QFCGFtb3VudFdkBQNuaWwECmFkZHJlc3NTdHIJAKUIAQgFAWkGY2FsbGVyBAxzdGFrZWRBbW91bnQJAQ10cnlHZXRJbnRlZ2VyAQkBD2tleVN0YWtlZEFtb3VudAEIBQFpBmNhbGxlcgQId2RBbW91bnQDCQAAAgUGYW1vdW50AP///////////wEFDHN0YWtlZEFtb3VudAUGYW1vdW50AwkAZgIFCHdkQW1vdW50BQxzdGFrZWRBbW91bnQJAAIBAiVDV0ZUOiB5b3UgZG9uJ3QgaGF2ZSB0b2tlbnMgYXZhaWxhYmxlBAl2b3RlUG93ZXIJARNhZGFwdFZvdGVQb3dlclN0YWtlAgkApQgBCAUBaQZjYWxsZXIJAQEtAQUId2RBbW91bnQJAM4IAgkAzggCCQESY2xhaW1TdGFraW5nUmVzdWx0AQgFAWkGY2FsbGVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPa2V5U3Rha2VkQW1vdW50AQgFAWkGY2FsbGVyCQBlAgUMc3Rha2VkQW1vdW50BQh3ZEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUPa2V5R2xvYmFsU3Rha2VkCQBlAgkBDXRyeUdldEludGVnZXIBBQ9rZXlHbG9iYWxTdGFrZWQFCHdkQW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUId2RBbW91bnQFDHNoYXJlVG9rZW5JZAkAzAgCCQEMSW50ZWdlckVudHJ5AgIPbGFzdF9zdGFraW5nX3dkBQh3ZEFtb3VudAUDbmlsBQl2b3RlUG93ZXIBaQEPc3Rha2VGYXJtVG9rZW5zAQhjb21wb3VuZAMJAQxpc0xpcXVpZGF0ZWQACQACAQIXQ1NGVDogQ0YgaXMgbGlxdWlkYXRlZCEEDHNoYXJlVG9rZW5JZAkBD2dldFNoYXJlQXNzZXRJZAADCQBmAgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIcQ1NGVDogVG8gbWFueSBwYXltZW50cyBhZGRlZAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUMc2hhcmVUb2tlbklkCQACAQITQ1NGVDogV3JvbmcgYXNzZXRJZAQGYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAMJAAACBQZhbW91bnQAAAkAAgECKkNTRlQ6IFBsZWFzZSBhdHRhY2ggcG9zaXRpdmUgYXNzZXQgYW1vdW50IQMFCGNvbXBvdW5kCQACAQIcQ1NGVDogQ29tcG91bmQgd2FzIGRpc2FibGVkIQQKYWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIEEXRvdGFsU3Rha2VkQW1vdW50CQENdHJ5R2V0SW50ZWdlcgEFD2tleUdsb2JhbFN0YWtlZAMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUMc2hhcmVUb2tlbklkCQACAQIaQ1NGVDogd3JvbmcgYXNzZXQgYXR0YWNoZWQECXZvdGVQb3dlcgkBE2FkYXB0Vm90ZVBvd2VyU3Rha2UCCQClCAEIBQFpBmNhbGxlcgUGYW1vdW50CQDOCAIJAM4IAgkBEmNsYWltU3Rha2luZ1Jlc3VsdAEIBQFpBmNhbGxlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgUPa2V5R2xvYmFsU3Rha2VkCQBkAgURdG90YWxTdGFrZWRBbW91bnQFBmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBD2tleVN0YWtlZEFtb3VudAEIBQFpBmNhbGxlcgkAZAIJAQ10cnlHZXRJbnRlZ2VyAQkBD2tleVN0YWtlZEFtb3VudAEIBQFpBmNhbGxlcgUGYW1vdW50BQNuaWwFCXZvdGVQb3dlcgFpAQxpbml0aWF0ZURhcHABB2FkZHJlc3MDCQEMaXNMaXF1aWRhdGVkAAkAAgECFkNJRDogQ0YgaXMgbGlxdWlkYXRlZCEDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAitDSUQ6IENhbiBiZSBjYWxsZWQgb25seSBieSB0aGUgZGFwcC1hY2NvdW50CQEXc2V0Q0ZBZGRyZXNzQW5kSW5pdGlhdGUBBQdhZGRyZXNzAWkBC2NsYWltUmV3YXJkAAMJAQxpc0xpcXVpZGF0ZWQACQACAQIWQ0NSOiBDRiBpcyBsaXF1aWRhdGVkIQMJAGYCCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAh5DQ1I6IFBsZWFzZSBkb24ndCBhZGQgcGF5bWVudHMJARJjbGFpbVN0YWtpbmdSZXN1bHQBCAUBaQZjYWxsZXIA4rH+nQ==", "height": 2208437, "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(getStringValue(this, "CF_ADDRESS"))
7+
8+
9+let c = fromBase58String(getStringValue(b(), a))
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 (ad != "")
142+ else false)
143+ then nil
144+ else if ((height > (ac + I())))
145+ then throw("CV: Voting is finished, please finalize the vote!")
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/169f3d6 
33.37 ms