tx · cYtdDP9cP222n2bY9fyS51hHKHzSL1VSkoUzdSb4FyH

3Muytcv8u3SKC8Nc76tUXTfq26nD3Mu5Vax:  -0.03400000 Waves

2022.11.10 12:51 [2310897] smart account 3Muytcv8u3SKC8Nc76tUXTfq26nD3Mu5Vax > SELF 0.00000000 Waves

{ "type": 13, "id": "cYtdDP9cP222n2bY9fyS51hHKHzSL1VSkoUzdSb4FyH", "fee": 3400000, "feeAssetId": null, "timestamp": 1668073879178, "version": 2, "chainId": 84, "sender": "3Muytcv8u3SKC8Nc76tUXTfq26nD3Mu5Vax", "senderPublicKey": "2nfPSXMHiTFAPhqiE41GL52Ld7jy6D1wjZdhUmgfLNzk", "proofs": [ "387xWRCqeGHsaG4KQSctjAPJL4eLbmFyXP2xqGQy8AmoavWqg9HjQu2Qqiy4UMJ8QV6VLgwSg6dhrpyud2yYhd3G" ], "script": "base64:BgIgCAISBAoCCAgSAwoBCBIECgIICBIECgIICBIFCgMICAEfABJrX2Fzc2V0X2NvbGxhdGVyYWwCEmtfYXNzZXRfY29sbGF0ZXJhbAAga190cmFkZXJfbWFya2V0X2Fzc2V0X2NvbGxhdGVyYWwCIGtfdHJhZGVyX21hcmtldF9hc3NldF9jb2xsYXRlcmFsABFrX3doaXRlbGlzdF9hc3NldAIRa193aGl0ZWxpc3RfYXNzZXQADWtfaW5pdGlhbGl6ZWQCDWtfaW5pdGlhbGl6ZWQAFGtfY29vcmRpbmF0b3JBZGRyZXNzAhRrX2Nvb3JkaW5hdG9yQWRkcmVzcwASa19nb3Zlcm5hbmNlX2Fzc2V0AgtrX2dvdl9hc3NldAANa19xdW90ZV9hc3NldAINa19xdW90ZV9hc3NldAASa19hZG1pbl9wdWJsaWNfa2V5AhJrX2FkbWluX3B1YmxpY19rZXkAEWtfbWFuYWdlcl9hZGRyZXNzAhFrX21hbmFnZXJfYWRkcmVzcwAFa19hbW0CBWtfYW1tABNrX2luc3VyYW5jZV9hZGRyZXNzAhNrX2luc3VyYW5jZV9hZGRyZXNzABJrX2V4Y2hhbmdlX2FkZHJlc3MCEmtfZXhjaGFuZ2VfYWRkcmVzcwEOdG9Db21wb3NpdGVLZXkCBF9rZXkIX2FkZHJlc3MJAKwCAgkArAICBQRfa2V5AgFfBQhfYWRkcmVzcwELY29vcmRpbmF0b3IACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUUa19jb29yZGluYXRvckFkZHJlc3MCE0Nvb3JkaW5hdG9yIG5vdCBzZXQBDmFkbWluUHVibGljS2V5AAkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCCQELY29vcmRpbmF0b3IABRJrX2FkbWluX3B1YmxpY19rZXkBD2dvdmVybmFuY2VBc3NldAAJANkEAQkBEUBleHRyTmF0aXZlKDEwNTMpAgkBC2Nvb3JkaW5hdG9yAAUSa19nb3Zlcm5hbmNlX2Fzc2V0AQpxdW90ZUFzc2V0AAkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCCQELY29vcmRpbmF0b3IABQ1rX3F1b3RlX2Fzc2V0AQ5tYW5hZ2VyQWRkcmVzcwAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQERQGV4dHJOYXRpdmUoMTA1MykCCQELY29vcmRpbmF0b3IABRFrX21hbmFnZXJfYWRkcmVzcwIPTWFuYWdlciBub3Qgc2V0AQtpc1doaXRlbGlzdAEIX2FkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAJsIAgkBC2Nvb3JkaW5hdG9yAAkBDnRvQ29tcG9zaXRlS2V5AgUFa19hbW0FCF9hZGRyZXNzBwEQaXNXaGl0ZWxpc3RBc3NldAEIX2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwkBDnRvQ29tcG9zaXRlS2V5AgURa193aGl0ZWxpc3RfYXNzZXQFCF9hc3NldElkBwEQaW5zdXJhbmNlQWRkcmVzcwAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQERQGV4dHJOYXRpdmUoMTA1MykCCQELY29vcmRpbmF0b3IABRNrX2luc3VyYW5jZV9hZGRyZXNzAhFJbnN1cmFuY2Ugbm90IHNldAELc3dhcEFkZHJlc3MACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIJAQtjb29yZGluYXRvcgAFEmtfZXhjaGFuZ2VfYWRkcmVzcwIPTm8gc3dhcCBhZGRyZXNzAhRJbnZhbGlkIHN3YXAgYWRkcmVzcwAMREVDSU1BTF9VTklUCQBoAgABCQBoAgkAaAIJAGgCCQBoAgkAaAIJAGgCCQBoAgAKAAoACgAKAAoACgAKAAoACERVUkFUSU9OCQBoAgkAaAIAPAA8ABgACk5PX0FERFJFU1MCAAAJTk9fU1RBS0VSAAABEHVzZG5Gcm9tRGVjaW1hbHMBB19hbW91bnQJAGkCBQdfYW1vdW50AGQBDnVzZG5Ub0RlY2ltYWxzAQdfYW1vdW50CQBoAgUHX2Ftb3VudABkAQtpbml0aWFsaXplZAAJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwUNa19pbml0aWFsaXplZAcBHmdldEJvcnJvd2VkQnlUcmFkZXJJbk1hcmtldEtleQMEX2FtbQhfYXNzZXRJZAdfdHJhZGVyCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICBSBrX3RyYWRlcl9tYXJrZXRfYXNzZXRfY29sbGF0ZXJhbAIBXwUEX2FtbQIBXwUIX2Fzc2V0SWQCAV8FB190cmFkZXIBG2dldEJvcnJvd2VkQnlUcmFkZXJJbk1hcmtldAMEX2FtbQhfYXNzZXRJZAdfdHJhZGVyBANrZXkJAR5nZXRCb3Jyb3dlZEJ5VHJhZGVySW5NYXJrZXRLZXkDBQRfYW1tBQhfYXNzZXRJZAUHX3RyYWRlcgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQNrZXkAAAUBaQEKaW5pdGlhbGl6ZQIMX2Nvb3JkaW5hdG9yCl93aGl0ZWxpc3QDCQELaW5pdGlhbGl6ZWQACQACAQITQWxyZWFkeSBpbml0aWFsaXplZAQPaW5pdGlhbEFzc2V0SWRzCQC1CQIFCl93aGl0ZWxpc3QCASwKAQtkb1doaXRlbGlzdAIEX2FjYwhfYXNzZXRJZAkAzQgCBQRfYWNjCQEMQm9vbGVhbkVudHJ5AgkBDnRvQ29tcG9zaXRlS2V5AgURa193aGl0ZWxpc3RfYXNzZXQFCF9hc3NldElkBgkAzggCCgACJGwFD2luaXRpYWxBc3NldElkcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQELZG9XaGl0ZWxpc3QCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDIwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAkAzAgCCQELU3RyaW5nRW50cnkCBRRrX2Nvb3JkaW5hdG9yQWRkcmVzcwUMX2Nvb3JkaW5hdG9yCQDMCAIJAQxCb29sZWFuRW50cnkCBQ1rX2luaXRpYWxpemVkBgUDbmlsAWkBBmJvcnJvdwEHX3RyYWRlcgQGYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQHYXNzZXRJZAkA2AQBCQETdmFsdWVPckVycm9yTWVzc2FnZQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAIQSW52YWxpZCBhc3NldCBpZAQDYW1tCQClCAEIBQFpBmNhbGxlcgMDCQEBIQEJAQtpc1doaXRlbGlzdAEFA2FtbQYJAQEhAQkBEGlzV2hpdGVsaXN0QXNzZXQBBQdhc3NldElkCQACAQIZSW52YWxpZCBib3Jyb3cgcGFyYW1ldGVycwQRd2l0aGRyYXdJbnN1cmFuY2UJAPwHBAkBEGluc3VyYW5jZUFkZHJlc3MAAgh3aXRoZHJhdwkAzAgCBQZhbW91bnQFA25pbAUDbmlsAwkAAAIFEXdpdGhkcmF3SW5zdXJhbmNlBRF3aXRoZHJhd0luc3VyYW5jZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAkBCnF1b3RlQXNzZXQACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEeZ2V0Qm9ycm93ZWRCeVRyYWRlckluTWFya2V0S2V5AwUDYW1tBQdhc3NldElkBQdfdHJhZGVyCQBkAgkBG2dldEJvcnJvd2VkQnlUcmFkZXJJbk1hcmtldAMFA2FtbQUHYXNzZXRJZAUHX3RyYWRlcgUGYW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFcmVwYXkCB190cmFkZXIIX2Fzc2V0SWQEBmFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEA2FtbQkApQgBCAUBaQZjYWxsZXIDAwkBASEBCQELaXNXaGl0ZWxpc3QBBQNhbW0GCQEBIQEJARBpc1doaXRlbGlzdEFzc2V0AQUIX2Fzc2V0SWQJAAIBAhhJbnZhbGlkIHJlcGF5IHBhcmFtZXRlcnMEEXdpdGhkcmF3SW5zdXJhbmNlCQD8BwQJARBpbnN1cmFuY2VBZGRyZXNzAAIHZGVwb3NpdAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQEKcXVvdGVBc3NldAAFBmFtb3VudAUDbmlsAwkAAAIFEXdpdGhkcmF3SW5zdXJhbmNlBRF3aXRoZHJhd0luc3VyYW5jZQQHbmV3RGVidAkAZQIJARtnZXRCb3Jyb3dlZEJ5VHJhZGVySW5NYXJrZXQDBQNhbW0FCF9hc3NldElkBQdfdHJhZGVyBQZhbW91bnQJAM4IAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAkA2QQBBQhfYXNzZXRJZAUDbmlsAwkAZgIFB25ld0RlYnQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHmdldEJvcnJvd2VkQnlUcmFkZXJJbk1hcmtldEtleQMFA2FtbQUIX2Fzc2V0SWQFB190cmFkZXIFB25ld0RlYnQFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBCQEeZ2V0Qm9ycm93ZWRCeVRyYWRlckluTWFya2V0S2V5AwUDYW1tBQhfYXNzZXRJZAUHX3RyYWRlcgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBGHJlYWxpemVQYXJ0aWFsbHlBbmRDbG9zZQIHX3RyYWRlcghfYXNzZXRJZAQGYW1vdW50AwkAZgIJAJADAQgFAWkIcGF5bWVudHMAAAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQAAAQDYW1tCQClCAEIBQFpBmNhbGxlcgQEZGVidAkBG2dldEJvcnJvd2VkQnlUcmFkZXJJbk1hcmtldAMFA2FtbQUIX2Fzc2V0SWQFB190cmFkZXIEBnRvU2VsbAkAZQIFBGRlYnQFBmFtb3VudAQLc2FuaXR5Q2hlY2sDCQBnAgAABQZ0b1NlbGwJAAIBAhFVc2UgcmVwYXkgaW5zdGVhZAUDbmlsAwkAAAIFC3Nhbml0eUNoZWNrBQtzYW5pdHlDaGVjawMDCQEBIQEJAQtpc1doaXRlbGlzdAEFA2FtbQYJAQEhAQkBEGlzV2hpdGVsaXN0QXNzZXQBBQhfYXNzZXRJZAkAAgECK0ludmFsaWQgcmVhbGl6ZVBhcnRpYWxseUFuZENsb3NlIHBhcmFtZXRlcnMEDGFtb3VudEJlZm9yZQkA8AcCBQR0aGlzCQEKcXVvdGVBc3NldAADCQAAAgUMYW1vdW50QmVmb3JlBQxhbW91bnRCZWZvcmUEBmRvU3dhcAkA/AcECQELc3dhcEFkZHJlc3MAAgRzd2FwCQDMCAIJANgEAQkBCnF1b3RlQXNzZXQACQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQDZBAEFCF9hc3NldElkBQZ0b1NlbGwFA25pbAMJAAACBQZkb1N3YXAFBmRvU3dhcAQLYW1vdW50QWZ0ZXIJAPAHAgUEdGhpcwkBCnF1b3RlQXNzZXQAAwkAAAIFC2Ftb3VudEFmdGVyBQthbW91bnRBZnRlcgQNc29sZEZvckFtb3VudAkAZQIFC2Ftb3VudEFmdGVyBQxhbW91bnRCZWZvcmUDCQAAAgUNc29sZEZvckFtb3VudAUNc29sZEZvckFtb3VudAQRd2l0aGRyYXdJbnN1cmFuY2UJAPwHBAkBEGluc3VyYW5jZUFkZHJlc3MAAgdkZXBvc2l0BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQpxdW90ZUFzc2V0AAkAZAIFBmFtb3VudAUNc29sZEZvckFtb3VudAUDbmlsAwkAAAIFEXdpdGhkcmF3SW5zdXJhbmNlBRF3aXRoZHJhd0luc3VyYW5jZQQJdG9HZXRCYWNrCQBlAgUEZGVidAUGdG9TZWxsAwkAZgIFCXRvR2V0QmFjawAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgkAZQIFBGRlYnQFBnRvU2VsbAkA2QQBBQhfYXNzZXRJZAUDbmlsCQDOCAIFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBCQEeZ2V0Qm9ycm93ZWRCeVRyYWRlckluTWFya2V0S2V5AwUDYW1tBQhfYXNzZXRJZAUHX3RyYWRlcgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEHJlYWxpemVQYXJ0aWFsbHkDB190cmFkZXIIX2Fzc2V0SWQHX3RvU2VsbAQDYW1tCQClCAEIBQFpBmNhbGxlcgQEZGVidAkBG2dldEJvcnJvd2VkQnlUcmFkZXJJbk1hcmtldAMFA2FtbQUIX2Fzc2V0SWQFB190cmFkZXIEC3Nhbml0eUNoZWNrAwMJAGcCAAAFB190b1NlbGwGCQBmAgUHX3RvU2VsbAUEZGVidAkAAgECK0ludmFsaWQgcmVhbGl6ZVBhcnRpYWxseUFuZENsb3NlIHBhcmFtZXRlcnMFA25pbAMJAAACBQtzYW5pdHlDaGVjawULc2FuaXR5Q2hlY2sDAwkBASEBCQELaXNXaGl0ZWxpc3QBBQNhbW0GCQEBIQEJARBpc1doaXRlbGlzdEFzc2V0AQUIX2Fzc2V0SWQJAAIBAitJbnZhbGlkIHJlYWxpemVQYXJ0aWFsbHlBbmRDbG9zZSBwYXJhbWV0ZXJzBAxhbW91bnRCZWZvcmUJAPAHAgUEdGhpcwkBCnF1b3RlQXNzZXQAAwkAAAIFDGFtb3VudEJlZm9yZQUMYW1vdW50QmVmb3JlBAZkb1N3YXAJAPwHBAkBC3N3YXBBZGRyZXNzAAIEc3dhcAkAzAgCCQDYBAEJAQpxdW90ZUFzc2V0AAkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBBQhfYXNzZXRJZAUHX3RvU2VsbAUDbmlsAwkAAAIFBmRvU3dhcAUGZG9Td2FwBAthbW91bnRBZnRlcgkA8AcCBQR0aGlzCQEKcXVvdGVBc3NldAADCQAAAgULYW1vdW50QWZ0ZXIFC2Ftb3VudEFmdGVyBA1zb2xkRm9yQW1vdW50CQBlAgULYW1vdW50QWZ0ZXIFDGFtb3VudEJlZm9yZQMJAAACBQ1zb2xkRm9yQW1vdW50BQ1zb2xkRm9yQW1vdW50BBF3aXRoZHJhd0luc3VyYW5jZQkA/AcECQEQaW5zdXJhbmNlQWRkcmVzcwACB2RlcG9zaXQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBCnF1b3RlQXNzZXQABQ1zb2xkRm9yQW1vdW50BQNuaWwDCQAAAgURd2l0aGRyYXdJbnN1cmFuY2UFEXdpdGhkcmF3SW5zdXJhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEeZ2V0Qm9ycm93ZWRCeVRyYWRlckluTWFya2V0S2V5AwUDYW1tBQhfYXNzZXRJZAUHX3RyYWRlcgkAZQIJARtnZXRCb3Jyb3dlZEJ5VHJhZGVySW5NYXJrZXQDBQNhbW0FCF9hc3NldElkBQdfdHJhZGVyBQdfdG9TZWxsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACQEOYWRtaW5QdWJsaWNLZXkAaxX5PQ==", "height": 2310897, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: HjkeEFcA6VXRaiEKKwb8c9hY7wWSAe6Rpq3R2B6pYvMk Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "k_asset_collateral"
5+
6+let b = "k_trader_market_asset_collateral"
7+
8+let c = "k_whitelist_asset"
9+
10+let d = "k_initialized"
11+
12+let e = "k_coordinatorAddress"
13+
14+let f = "k_gov_asset"
15+
16+let g = "k_quote_asset"
17+
18+let h = "k_admin_public_key"
19+
20+let i = "k_manager_address"
21+
22+let j = "k_amm"
23+
24+let k = "k_insurance_address"
25+
26+let l = "k_exchange_address"
27+
28+func m (n,o) = ((n + "_") + o)
29+
30+
31+func p () = valueOrErrorMessage(addressFromString(getStringValue(this, e)), "Coordinator not set")
32+
33+
34+func q () = fromBase58String(getStringValue(p(), h))
35+
36+
37+func r () = fromBase58String(getStringValue(p(), f))
38+
39+
40+func s () = fromBase58String(getStringValue(p(), g))
41+
42+
43+func t () = valueOrErrorMessage(addressFromString(getStringValue(p(), i)), "Manager not set")
44+
45+
46+func u (o) = valueOrElse(getBoolean(p(), m(j, o)), false)
47+
48+
49+func v (w) = valueOrElse(getBoolean(this, m(c, w)), false)
50+
51+
52+func x () = valueOrErrorMessage(addressFromString(getStringValue(p(), k)), "Insurance not set")
53+
54+
55+func y () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(p(), l), "No swap address")), "Invalid swap address")
56+
57+
58+let z = (1 * (((((((10 * 10) * 10) * 10) * 10) * 10) * 10) * 10))
59+
60+let A = ((60 * 60) * 24)
61+
62+let B = ""
63+
64+let C = 0
65+
66+func D (E) = (E / 100)
67+
68+
69+func F (E) = (E * 100)
70+
71+
72+func G () = valueOrElse(getBoolean(this, d), false)
73+
74+
75+func H (I,w,J) = ((((((b + "_") + I) + "_") + w) + "_") + J)
76+
77+
78+func K (I,w,J) = {
79+ let L = H(I, w, J)
80+ valueOrElse(getInteger(this, L), 0)
81+ }
82+
83+
84+@Callable(M)
85+func initialize (N,O) = if (G())
86+ then throw("Already initialized")
87+ else {
88+ let P = split(O, ",")
89+ func Q (R,w) = (R :+ BooleanEntry(m(c, w), true))
90+
91+ ({
92+ let S = P
93+ let T = size(S)
94+ let U = nil
95+ func V (W,X) = if ((X >= T))
96+ then W
97+ else Q(W, S[X])
98+
99+ func Y (W,X) = if ((X >= T))
100+ then W
101+ else throw("List size exceeds 20")
102+
103+ Y(V(V(V(V(V(V(V(V(V(V(V(V(V(V(V(V(V(V(V(V(U, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
104+ } ++ [StringEntry(e, N), BooleanEntry(d, true)])
105+ }
106+
107+
108+
109+@Callable(M)
110+func borrow (J) = {
111+ let Z = M.payments[0].amount
112+ let aa = toBase58String(valueOrErrorMessage(M.payments[0].assetId, "Invalid asset id"))
113+ let ab = toString(M.caller)
114+ if (if (!(u(ab)))
115+ then true
116+ else !(v(aa)))
117+ then throw("Invalid borrow parameters")
118+ else {
119+ let ac = invoke(x(), "withdraw", [Z], nil)
120+ if ((ac == ac))
121+ then [ScriptTransfer(M.caller, Z, s()), IntegerEntry(H(ab, aa, J), (K(ab, aa, J) + Z))]
122+ else throw("Strict value is not equal to itself.")
123+ }
124+ }
125+
126+
127+
128+@Callable(M)
129+func repay (J,w) = {
130+ let Z = M.payments[0].amount
131+ let ab = toString(M.caller)
132+ if (if (!(u(ab)))
133+ then true
134+ else !(v(w)))
135+ then throw("Invalid repay parameters")
136+ else {
137+ let ac = invoke(x(), "deposit", nil, [AttachedPayment(s(), Z)])
138+ if ((ac == ac))
139+ then {
140+ let ad = (K(ab, w, J) - Z)
141+ ([ScriptTransfer(M.caller, Z, fromBase58String(w))] ++ (if ((ad > 0))
142+ then [IntegerEntry(H(ab, w, J), ad)]
143+ else [DeleteEntry(H(ab, w, J))]))
144+ }
145+ else throw("Strict value is not equal to itself.")
146+ }
147+ }
148+
149+
150+
151+@Callable(M)
152+func realizePartiallyAndClose (J,w) = {
153+ let Z = if ((size(M.payments) > 0))
154+ then M.payments[0].amount
155+ else 0
156+ let ab = toString(M.caller)
157+ let ae = K(ab, w, J)
158+ let af = (ae - Z)
159+ let ag = if ((0 >= af))
160+ then throw("Use repay instead")
161+ else nil
162+ if ((ag == ag))
163+ then if (if (!(u(ab)))
164+ then true
165+ else !(v(w)))
166+ then throw("Invalid realizePartiallyAndClose parameters")
167+ else {
168+ let ah = assetBalance(this, s())
169+ if ((ah == ah))
170+ then {
171+ let ai = invoke(y(), "swap", [toBase58String(s()), 0], [AttachedPayment(fromBase58String(w), af)])
172+ if ((ai == ai))
173+ then {
174+ let aj = assetBalance(this, s())
175+ if ((aj == aj))
176+ then {
177+ let ak = (aj - ah)
178+ if ((ak == ak))
179+ then {
180+ let ac = invoke(x(), "deposit", nil, [AttachedPayment(s(), (Z + ak))])
181+ if ((ac == ac))
182+ then {
183+ let al = (ae - af)
184+ if ((al > 0))
185+ then [ScriptTransfer(M.caller, (ae - af), fromBase58String(w))]
186+ else (nil ++ [DeleteEntry(H(ab, w, J))])
187+ }
188+ else throw("Strict value is not equal to itself.")
189+ }
190+ else throw("Strict value is not equal to itself.")
191+ }
192+ else throw("Strict value is not equal to itself.")
193+ }
194+ else throw("Strict value is not equal to itself.")
195+ }
196+ else throw("Strict value is not equal to itself.")
197+ }
198+ else throw("Strict value is not equal to itself.")
199+ }
200+
201+
202+
203+@Callable(M)
204+func realizePartially (J,w,am) = {
205+ let ab = toString(M.caller)
206+ let ae = K(ab, w, J)
207+ let ag = if (if ((0 >= am))
208+ then true
209+ else (am > ae))
210+ then throw("Invalid realizePartiallyAndClose parameters")
211+ else nil
212+ if ((ag == ag))
213+ then if (if (!(u(ab)))
214+ then true
215+ else !(v(w)))
216+ then throw("Invalid realizePartiallyAndClose parameters")
217+ else {
218+ let ah = assetBalance(this, s())
219+ if ((ah == ah))
220+ then {
221+ let ai = invoke(y(), "swap", [toBase58String(s()), 0], [AttachedPayment(fromBase58String(w), am)])
222+ if ((ai == ai))
223+ then {
224+ let aj = assetBalance(this, s())
225+ if ((aj == aj))
226+ then {
227+ let ak = (aj - ah)
228+ if ((ak == ak))
229+ then {
230+ let ac = invoke(x(), "deposit", nil, [AttachedPayment(s(), ak)])
231+ if ((ac == ac))
232+ then [IntegerEntry(H(ab, w, J), (K(ab, w, J) - am))]
233+ else throw("Strict value is not equal to itself.")
234+ }
235+ else throw("Strict value is not equal to itself.")
236+ }
237+ else throw("Strict value is not equal to itself.")
238+ }
239+ else throw("Strict value is not equal to itself.")
240+ }
241+ else throw("Strict value is not equal to itself.")
242+ }
243+ else throw("Strict value is not equal to itself.")
244+ }
245+
246+
247+@Verifier(an)
248+func ao () = sigVerify(an.bodyBytes, an.proofs[0], q())
249+

github/deemru/w8io/873ac7e 
22.73 ms