tx · HjkeEFcA6VXRaiEKKwb8c9hY7wWSAe6Rpq3R2B6pYvMk

3Muytcv8u3SKC8Nc76tUXTfq26nD3Mu5Vax:  -0.03700000 Waves

2023.01.09 11:38 [2397174] smart account 3Muytcv8u3SKC8Nc76tUXTfq26nD3Mu5Vax > SELF 0.00000000 Waves

{ "type": 13, "id": "HjkeEFcA6VXRaiEKKwb8c9hY7wWSAe6Rpq3R2B6pYvMk", "fee": 3700000, "feeAssetId": null, "timestamp": 1673253551866, "version": 2, "chainId": 84, "sender": "3Muytcv8u3SKC8Nc76tUXTfq26nD3Mu5Vax", "senderPublicKey": "2nfPSXMHiTFAPhqiE41GL52Ld7jy6D1wjZdhUmgfLNzk", "proofs": [ "3nf6aNTicAp2Dw5MRhkjUA6w1L8NQCNQWvF9kYqHom5i1RT5o5W9VcwAvqkYr7mZnt2h8VzQHUSfo85S2DnvPP19" ], "script": "base64:BgIiCAISBAoCCAgSAwoBCBIFCgMIAQgSBQoDCAEIEgUKAwgIAR8AEmtfYXNzZXRfY29sbGF0ZXJhbAISa19hc3NldF9jb2xsYXRlcmFsACBrX3RyYWRlcl9tYXJrZXRfYXNzZXRfY29sbGF0ZXJhbAIga190cmFkZXJfbWFya2V0X2Fzc2V0X2NvbGxhdGVyYWwAEWtfd2hpdGVsaXN0X2Fzc2V0AhFrX3doaXRlbGlzdF9hc3NldAANa19pbml0aWFsaXplZAINa19pbml0aWFsaXplZAAUa19jb29yZGluYXRvckFkZHJlc3MCFGtfY29vcmRpbmF0b3JBZGRyZXNzABJrX2dvdmVybmFuY2VfYXNzZXQCC2tfZ292X2Fzc2V0AA1rX3F1b3RlX2Fzc2V0Ag1rX3F1b3RlX2Fzc2V0ABJrX2FkbWluX3B1YmxpY19rZXkCEmtfYWRtaW5fcHVibGljX2tleQARa19tYW5hZ2VyX2FkZHJlc3MCEWtfbWFuYWdlcl9hZGRyZXNzAAVrX2FtbQIFa19hbW0AEmtfZXhjaGFuZ2VfYWRkcmVzcwISa19leGNoYW5nZV9hZGRyZXNzAA9rX3ZhdWx0X2FkZHJlc3MCD2tfdmF1bHRfYWRkcmVzcwEOdG9Db21wb3NpdGVLZXkCBF9rZXkIX2FkZHJlc3MJAKwCAgkArAICBQRfa2V5AgFfBQhfYWRkcmVzcwELY29vcmRpbmF0b3IACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUUa19jb29yZGluYXRvckFkZHJlc3MCE0Nvb3JkaW5hdG9yIG5vdCBzZXQBDmFkbWluUHVibGljS2V5AAkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCCQELY29vcmRpbmF0b3IABRJrX2FkbWluX3B1YmxpY19rZXkBD2dvdmVybmFuY2VBc3NldAAJANkEAQkBEUBleHRyTmF0aXZlKDEwNTMpAgkBC2Nvb3JkaW5hdG9yAAUSa19nb3Zlcm5hbmNlX2Fzc2V0AQpxdW90ZUFzc2V0AAkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCCQELY29vcmRpbmF0b3IABQ1rX3F1b3RlX2Fzc2V0AQ5tYW5hZ2VyQWRkcmVzcwAJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQERQGV4dHJOYXRpdmUoMTA1MykCCQELY29vcmRpbmF0b3IABRFrX21hbmFnZXJfYWRkcmVzcwIPTWFuYWdlciBub3Qgc2V0AQtpc1doaXRlbGlzdAEIX2FkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAJsIAgkBC2Nvb3JkaW5hdG9yAAkBDnRvQ29tcG9zaXRlS2V5AgUFa19hbW0FCF9hZGRyZXNzBwEQaXNXaGl0ZWxpc3RBc3NldAEIX2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwkBDnRvQ29tcG9zaXRlS2V5AgURa193aGl0ZWxpc3RfYXNzZXQFCF9hc3NldElkBwEMdmF1bHRBZGRyZXNzAAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJARFAZXh0ck5hdGl2ZSgxMDUzKQIJAQtjb29yZGluYXRvcgAFD2tfdmF1bHRfYWRkcmVzcwINVmF1bHQgbm90IHNldAELc3dhcEFkZHJlc3MACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIJAQtjb29yZGluYXRvcgAFEmtfZXhjaGFuZ2VfYWRkcmVzcwIPTm8gc3dhcCBhZGRyZXNzAhRJbnZhbGlkIHN3YXAgYWRkcmVzcwAMREVDSU1BTF9VTklUCQBoAgABCQBoAgkAaAIJAGgCCQBoAgkAaAIJAGgCCQBoAgAKAAoACgAKAAoACgAKAAoACERVUkFUSU9OCQBoAgkAaAIAPAA8ABgACk5PX0FERFJFU1MCAAAJTk9fU1RBS0VSAAABEHVzZG5Gcm9tRGVjaW1hbHMBB19hbW91bnQJAGkCBQdfYW1vdW50AGQBDnVzZG5Ub0RlY2ltYWxzAQdfYW1vdW50CQBoAgUHX2Ftb3VudABkAQtpbml0aWFsaXplZAAJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwUNa19pbml0aWFsaXplZAcBHmdldEJvcnJvd2VkQnlUcmFkZXJJbk1hcmtldEtleQMEX2FtbQhfYXNzZXRJZAdfdHJhZGVyCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICBSBrX3RyYWRlcl9tYXJrZXRfYXNzZXRfY29sbGF0ZXJhbAIBXwUEX2FtbQIBXwUIX2Fzc2V0SWQCAV8FB190cmFkZXIBG2dldEJvcnJvd2VkQnlUcmFkZXJJbk1hcmtldAMEX2FtbQhfYXNzZXRJZAdfdHJhZGVyBANrZXkJAR5nZXRCb3Jyb3dlZEJ5VHJhZGVySW5NYXJrZXRLZXkDBQRfYW1tBQhfYXNzZXRJZAUHX3RyYWRlcgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQNrZXkAAAUBaQEKaW5pdGlhbGl6ZQIMX2Nvb3JkaW5hdG9yCl93aGl0ZWxpc3QDCQELaW5pdGlhbGl6ZWQACQACAQITQWxyZWFkeSBpbml0aWFsaXplZAQPaW5pdGlhbEFzc2V0SWRzCQC1CQIFCl93aGl0ZWxpc3QCASwKAQtkb1doaXRlbGlzdAIEX2FjYwhfYXNzZXRJZAkAzQgCBQRfYWNjCQEMQm9vbGVhbkVudHJ5AgkBDnRvQ29tcG9zaXRlS2V5AgURa193aGl0ZWxpc3RfYXNzZXQFCF9hc3NldElkBgkAzggCCgACJGwFD2luaXRpYWxBc3NldElkcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQELZG9XaGl0ZWxpc3QCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDIwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAkAzAgCCQELU3RyaW5nRW50cnkCBRRrX2Nvb3JkaW5hdG9yQWRkcmVzcwUMX2Nvb3JkaW5hdG9yCQDMCAIJAQxCb29sZWFuRW50cnkCBQ1rX2luaXRpYWxpemVkBgUDbmlsAWkBBmJvcnJvdwEHX3RyYWRlcgQGYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQHYXNzZXRJZAkA2AQBCQETdmFsdWVPckVycm9yTWVzc2FnZQIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAIQSW52YWxpZCBhc3NldCBpZAQDYW1tCQClCAEIBQFpBmNhbGxlcgMDCQEBIQEJAQtpc1doaXRlbGlzdAEFA2FtbQYJAQEhAQkBEGlzV2hpdGVsaXN0QXNzZXQBBQdhc3NldElkCQACAQIZSW52YWxpZCBib3Jyb3cgcGFyYW1ldGVycwQRd2l0aGRyYXdJbnN1cmFuY2UJAPwHBAkBDHZhdWx0QWRkcmVzcwACCmFkZExvY2tlZFYJAMwIAgUGYW1vdW50BQNuaWwFA25pbAMJAAACBRF3aXRoZHJhd0luc3VyYW5jZQURd2l0aGRyYXdJbnN1cmFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJAR5nZXRCb3Jyb3dlZEJ5VHJhZGVySW5NYXJrZXRLZXkDBQNhbW0FB2Fzc2V0SWQFB190cmFkZXIJAGQCCQEbZ2V0Qm9ycm93ZWRCeVRyYWRlckluTWFya2V0AwUDYW1tBQdhc3NldElkBQdfdHJhZGVyBQZhbW91bnQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVyZXBheQMHX3RyYWRlcgdfYW1vdW50CF9hc3NldElkBANhbW0JAKUIAQgFAWkGY2FsbGVyAwMJAQEhAQkBC2lzV2hpdGVsaXN0AQUDYW1tBgkBASEBCQEQaXNXaGl0ZWxpc3RBc3NldAEFCF9hc3NldElkCQACAQIYSW52YWxpZCByZXBheSBwYXJhbWV0ZXJzBBF3aXRoZHJhd0luc3VyYW5jZQkA/AcECQEMdmF1bHRBZGRyZXNzAAIPd2l0aGRyYXdMb2NrZWRWCQDMCAIFB19hbW91bnQFA25pbAUDbmlsAwkAAAIFEXdpdGhkcmF3SW5zdXJhbmNlBRF3aXRoZHJhd0luc3VyYW5jZQQHbmV3RGVidAkAZQIJARtnZXRCb3Jyb3dlZEJ5VHJhZGVySW5NYXJrZXQDBQNhbW0FCF9hc3NldElkBQdfdHJhZGVyBQdfYW1vdW50CQDOCAIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQdfYW1vdW50CQDZBAEFCF9hc3NldElkBQNuaWwDCQBmAgUHbmV3RGVidAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEeZ2V0Qm9ycm93ZWRCeVRyYWRlckluTWFya2V0S2V5AwUDYW1tBQhfYXNzZXRJZAUHX3RyYWRlcgUHbmV3RGVidAUDbmlsCQDMCAIJAQtEZWxldGVFbnRyeQEJAR5nZXRCb3Jyb3dlZEJ5VHJhZGVySW5NYXJrZXRLZXkDBQNhbW0FCF9hc3NldElkBQdfdHJhZGVyBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEYcmVhbGl6ZVBhcnRpYWxseUFuZENsb3NlAwdfdHJhZGVyB19hbW91bnQIX2Fzc2V0SWQEA2FtbQkApQgBCAUBaQZjYWxsZXIEBGRlYnQJARtnZXRCb3Jyb3dlZEJ5VHJhZGVySW5NYXJrZXQDBQNhbW0FCF9hc3NldElkBQdfdHJhZGVyBAZ0b1NlbGwJAGUCBQRkZWJ0BQdfYW1vdW50BAtzYW5pdHlDaGVjawMJAGcCAAAFBnRvU2VsbAkAAgECEVVzZSByZXBheSBpbnN0ZWFkBQNuaWwDCQAAAgULc2FuaXR5Q2hlY2sFC3Nhbml0eUNoZWNrAwMJAQEhAQkBC2lzV2hpdGVsaXN0AQUDYW1tBgkBASEBCQEQaXNXaGl0ZWxpc3RBc3NldAEFCF9hc3NldElkCQACAQIrSW52YWxpZCByZWFsaXplUGFydGlhbGx5QW5kQ2xvc2UgcGFyYW1ldGVycwQMYW1vdW50QmVmb3JlCQDwBwIFBHRoaXMJAQpxdW90ZUFzc2V0AAMJAAACBQxhbW91bnRCZWZvcmUFDGFtb3VudEJlZm9yZQQGZG9Td2FwCQD8BwQJAQtzd2FwQWRkcmVzcwACBHN3YXAJAMwIAgkA2AQBCQEKcXVvdGVBc3NldAAJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQUIX2Fzc2V0SWQFBnRvU2VsbAUDbmlsAwkAAAIFBmRvU3dhcAUGZG9Td2FwBAthbW91bnRBZnRlcgkA8AcCBQR0aGlzCQEKcXVvdGVBc3NldAADCQAAAgULYW1vdW50QWZ0ZXIFC2Ftb3VudEFmdGVyBA1zb2xkRm9yQW1vdW50CQBlAgULYW1vdW50QWZ0ZXIFDGFtb3VudEJlZm9yZQMJAAACBQ1zb2xkRm9yQW1vdW50BQ1zb2xkRm9yQW1vdW50BBVkZXBvc2l0U29sZENvbGxhdGVyYWwJAPwHBAkBDHZhdWx0QWRkcmVzcwACCWFkZExvY2tlZAkAzAgCBgUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQEKcXVvdGVBc3NldAAFDXNvbGRGb3JBbW91bnQFA25pbAMJAAACBRVkZXBvc2l0U29sZENvbGxhdGVyYWwFFWRlcG9zaXRTb2xkQ29sbGF0ZXJhbAQPd2l0aGRyYXdMb2NrZWRWCQD8BwQJAQx2YXVsdEFkZHJlc3MAAg93aXRoZHJhd0xvY2tlZFYJAMwIAgUEZGVidAUDbmlsBQNuaWwDCQAAAgUPd2l0aGRyYXdMb2NrZWRWBQ93aXRoZHJhd0xvY2tlZFYECXRvR2V0QmFjawkAZQIFBGRlYnQFBnRvU2VsbAMJAGYCBQl0b0dldEJhY2sAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIJAGUCBQRkZWJ0BQZ0b1NlbGwJANkEAQUIX2Fzc2V0SWQFA25pbAkAzggCBQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBHmdldEJvcnJvd2VkQnlUcmFkZXJJbk1hcmtldEtleQMFA2FtbQUIX2Fzc2V0SWQFB190cmFkZXIFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARByZWFsaXplUGFydGlhbGx5AwdfdHJhZGVyCF9hc3NldElkB190b1NlbGwEA2FtbQkApQgBCAUBaQZjYWxsZXIEBGRlYnQJARtnZXRCb3Jyb3dlZEJ5VHJhZGVySW5NYXJrZXQDBQNhbW0FCF9hc3NldElkBQdfdHJhZGVyBAtzYW5pdHlDaGVjawMDCQBnAgAABQdfdG9TZWxsBgkAZgIFB190b1NlbGwFBGRlYnQJAAIBAiNJbnZhbGlkIHJlYWxpemVQYXJ0aWFsbHkgcGFyYW1ldGVycwUDbmlsAwkAAAIFC3Nhbml0eUNoZWNrBQtzYW5pdHlDaGVjawMDCQEBIQEJAQtpc1doaXRlbGlzdAEFA2FtbQYJAQEhAQkBEGlzV2hpdGVsaXN0QXNzZXQBBQhfYXNzZXRJZAkAAgECK0ludmFsaWQgcmVhbGl6ZVBhcnRpYWxseUFuZENsb3NlIHBhcmFtZXRlcnMEDGFtb3VudEJlZm9yZQkA8AcCBQR0aGlzCQEKcXVvdGVBc3NldAADCQAAAgUMYW1vdW50QmVmb3JlBQxhbW91bnRCZWZvcmUEBmRvU3dhcAkA/AcECQELc3dhcEFkZHJlc3MAAgRzd2FwCQDMCAIJANgEAQkBCnF1b3RlQXNzZXQACQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQDZBAEFCF9hc3NldElkBQdfdG9TZWxsBQNuaWwDCQAAAgUGZG9Td2FwBQZkb1N3YXAEC2Ftb3VudEFmdGVyCQDwBwIFBHRoaXMJAQpxdW90ZUFzc2V0AAMJAAACBQthbW91bnRBZnRlcgULYW1vdW50QWZ0ZXIEDXNvbGRGb3JBbW91bnQJAGUCBQthbW91bnRBZnRlcgUMYW1vdW50QmVmb3JlAwkAAAIFDXNvbGRGb3JBbW91bnQFDXNvbGRGb3JBbW91bnQECWFkZExvY2tlZAkA/AcECQEMdmF1bHRBZGRyZXNzAAIJYWRkTG9ja2VkCQDMCAIGBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQpxdW90ZUFzc2V0AAUNc29sZEZvckFtb3VudAUDbmlsAwkAAAIFCWFkZExvY2tlZAUJYWRkTG9ja2VkBA93aXRoZHJhd0xvY2tlZFYJAPwHBAkBDHZhdWx0QWRkcmVzcwACD3dpdGhkcmF3TG9ja2VkVgkAzAgCBQ1zb2xkRm9yQW1vdW50BQNuaWwFA25pbAMJAAACBQ93aXRoZHJhd0xvY2tlZFYFD3dpdGhkcmF3TG9ja2VkVgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHmdldEJvcnJvd2VkQnlUcmFkZXJJbk1hcmtldEtleQMFA2FtbQUIX2Fzc2V0SWQFB190cmFkZXIJAGUCCQEbZ2V0Qm9ycm93ZWRCeVRyYWRlckluTWFya2V0AwUDYW1tBQhfYXNzZXRJZAUHX3RyYWRlcgUHX3RvU2VsbAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAkBDmFkbWluUHVibGljS2V5AP7eLfY=", "height": 2397174, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: cYtdDP9cP222n2bY9fyS51hHKHzSL1VSkoUzdSb4FyH Next: none Diff:
OldNewDifferences
2121
2222 let j = "k_amm"
2323
24-let k = "k_insurance_address"
24+let k = "k_exchange_address"
2525
26-let l = "k_exchange_address"
26+let l = "k_vault_address"
2727
2828 func m (n,o) = ((n + "_") + o)
2929
4949 func v (w) = valueOrElse(getBoolean(this, m(c, w)), false)
5050
5151
52-func x () = valueOrErrorMessage(addressFromString(getStringValue(p(), k)), "Insurance not set")
52+func x () = valueOrErrorMessage(addressFromString(getStringValue(p(), l)), "Vault not set")
5353
5454
55-func y () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(p(), l), "No swap address")), "Invalid swap address")
55+func y () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(p(), k), "No swap address")), "Invalid swap address")
5656
5757
5858 let z = (1 * (((((((10 * 10) * 10) * 10) * 10) * 10) * 10) * 10))
116116 else !(v(aa)))
117117 then throw("Invalid borrow parameters")
118118 else {
119- let ac = invoke(x(), "withdraw", [Z], nil)
119+ let ac = invoke(x(), "addLockedV", [Z], nil)
120120 if ((ac == ac))
121- then [ScriptTransfer(M.caller, Z, s()), IntegerEntry(H(ab, aa, J), (K(ab, aa, J) + Z))]
121+ then [IntegerEntry(H(ab, aa, J), (K(ab, aa, J) + Z))]
122122 else throw("Strict value is not equal to itself.")
123123 }
124124 }
126126
127127
128128 @Callable(M)
129-func repay (J,w) = {
130- let Z = M.payments[0].amount
129+func repay (J,E,w) = {
131130 let ab = toString(M.caller)
132131 if (if (!(u(ab)))
133132 then true
134133 else !(v(w)))
135134 then throw("Invalid repay parameters")
136135 else {
137- let ac = invoke(x(), "deposit", nil, [AttachedPayment(s(), Z)])
136+ let ac = invoke(x(), "withdrawLockedV", [E], nil)
138137 if ((ac == ac))
139138 then {
140- let ad = (K(ab, w, J) - Z)
141- ([ScriptTransfer(M.caller, Z, fromBase58String(w))] ++ (if ((ad > 0))
139+ let ad = (K(ab, w, J) - E)
140+ ([ScriptTransfer(M.caller, E, fromBase58String(w))] ++ (if ((ad > 0))
142141 then [IntegerEntry(H(ab, w, J), ad)]
143142 else [DeleteEntry(H(ab, w, J))]))
144143 }
149148
150149
151150 @Callable(M)
152-func realizePartiallyAndClose (J,w) = {
153- let Z = if ((size(M.payments) > 0))
154- then M.payments[0].amount
155- else 0
151+func realizePartiallyAndClose (J,E,w) = {
156152 let ab = toString(M.caller)
157153 let ae = K(ab, w, J)
158- let af = (ae - Z)
154+ let af = (ae - E)
159155 let ag = if ((0 >= af))
160156 then throw("Use repay instead")
161157 else nil
177173 let ak = (aj - ah)
178174 if ((ak == ak))
179175 then {
180- let ac = invoke(x(), "deposit", nil, [AttachedPayment(s(), (Z + ak))])
181- if ((ac == ac))
176+ let al = invoke(x(), "addLocked", [true], [AttachedPayment(s(), ak)])
177+ if ((al == al))
182178 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))])
179+ let am = invoke(x(), "withdrawLockedV", [ae], nil)
180+ if ((am == am))
181+ then {
182+ let an = (ae - af)
183+ if ((an > 0))
184+ then [ScriptTransfer(M.caller, (ae - af), fromBase58String(w))]
185+ else (nil ++ [DeleteEntry(H(ab, w, J))])
186+ }
187+ else throw("Strict value is not equal to itself.")
187188 }
188189 else throw("Strict value is not equal to itself.")
189190 }
201202
202203
203204 @Callable(M)
204-func realizePartially (J,w,am) = {
205+func realizePartially (J,w,ao) = {
205206 let ab = toString(M.caller)
206207 let ae = K(ab, w, J)
207- let ag = if (if ((0 >= am))
208+ let ag = if (if ((0 >= ao))
208209 then true
209- else (am > ae))
210- then throw("Invalid realizePartiallyAndClose parameters")
210+ else (ao > ae))
211+ then throw("Invalid realizePartially parameters")
211212 else nil
212213 if ((ag == ag))
213214 then if (if (!(u(ab)))
218219 let ah = assetBalance(this, s())
219220 if ((ah == ah))
220221 then {
221- let ai = invoke(y(), "swap", [toBase58String(s()), 0], [AttachedPayment(fromBase58String(w), am)])
222+ let ai = invoke(y(), "swap", [toBase58String(s()), 0], [AttachedPayment(fromBase58String(w), ao)])
222223 if ((ai == ai))
223224 then {
224225 let aj = assetBalance(this, s())
227228 let ak = (aj - ah)
228229 if ((ak == ak))
229230 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))]
231+ let ap = invoke(x(), "addLocked", [true], [AttachedPayment(s(), ak)])
232+ if ((ap == ap))
233+ then {
234+ let am = invoke(x(), "withdrawLockedV", [ak], nil)
235+ if ((am == am))
236+ then [IntegerEntry(H(ab, w, J), (K(ab, w, J) - ao))]
237+ else throw("Strict value is not equal to itself.")
238+ }
233239 else throw("Strict value is not equal to itself.")
234240 }
235241 else throw("Strict value is not equal to itself.")
244250 }
245251
246252
247-@Verifier(an)
248-func ao () = sigVerify(an.bodyBytes, an.proofs[0], q())
253+@Verifier(aq)
254+func ar () = sigVerify(aq.bodyBytes, aq.proofs[0], q())
249255
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "k_asset_collateral"
55
66 let b = "k_trader_market_asset_collateral"
77
88 let c = "k_whitelist_asset"
99
1010 let d = "k_initialized"
1111
1212 let e = "k_coordinatorAddress"
1313
1414 let f = "k_gov_asset"
1515
1616 let g = "k_quote_asset"
1717
1818 let h = "k_admin_public_key"
1919
2020 let i = "k_manager_address"
2121
2222 let j = "k_amm"
2323
24-let k = "k_insurance_address"
24+let k = "k_exchange_address"
2525
26-let l = "k_exchange_address"
26+let l = "k_vault_address"
2727
2828 func m (n,o) = ((n + "_") + o)
2929
3030
3131 func p () = valueOrErrorMessage(addressFromString(getStringValue(this, e)), "Coordinator not set")
3232
3333
3434 func q () = fromBase58String(getStringValue(p(), h))
3535
3636
3737 func r () = fromBase58String(getStringValue(p(), f))
3838
3939
4040 func s () = fromBase58String(getStringValue(p(), g))
4141
4242
4343 func t () = valueOrErrorMessage(addressFromString(getStringValue(p(), i)), "Manager not set")
4444
4545
4646 func u (o) = valueOrElse(getBoolean(p(), m(j, o)), false)
4747
4848
4949 func v (w) = valueOrElse(getBoolean(this, m(c, w)), false)
5050
5151
52-func x () = valueOrErrorMessage(addressFromString(getStringValue(p(), k)), "Insurance not set")
52+func x () = valueOrErrorMessage(addressFromString(getStringValue(p(), l)), "Vault not set")
5353
5454
55-func y () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(p(), l), "No swap address")), "Invalid swap address")
55+func y () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(p(), k), "No swap address")), "Invalid swap address")
5656
5757
5858 let z = (1 * (((((((10 * 10) * 10) * 10) * 10) * 10) * 10) * 10))
5959
6060 let A = ((60 * 60) * 24)
6161
6262 let B = ""
6363
6464 let C = 0
6565
6666 func D (E) = (E / 100)
6767
6868
6969 func F (E) = (E * 100)
7070
7171
7272 func G () = valueOrElse(getBoolean(this, d), false)
7373
7474
7575 func H (I,w,J) = ((((((b + "_") + I) + "_") + w) + "_") + J)
7676
7777
7878 func K (I,w,J) = {
7979 let L = H(I, w, J)
8080 valueOrElse(getInteger(this, L), 0)
8181 }
8282
8383
8484 @Callable(M)
8585 func initialize (N,O) = if (G())
8686 then throw("Already initialized")
8787 else {
8888 let P = split(O, ",")
8989 func Q (R,w) = (R :+ BooleanEntry(m(c, w), true))
9090
9191 ({
9292 let S = P
9393 let T = size(S)
9494 let U = nil
9595 func V (W,X) = if ((X >= T))
9696 then W
9797 else Q(W, S[X])
9898
9999 func Y (W,X) = if ((X >= T))
100100 then W
101101 else throw("List size exceeds 20")
102102
103103 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)
104104 } ++ [StringEntry(e, N), BooleanEntry(d, true)])
105105 }
106106
107107
108108
109109 @Callable(M)
110110 func borrow (J) = {
111111 let Z = M.payments[0].amount
112112 let aa = toBase58String(valueOrErrorMessage(M.payments[0].assetId, "Invalid asset id"))
113113 let ab = toString(M.caller)
114114 if (if (!(u(ab)))
115115 then true
116116 else !(v(aa)))
117117 then throw("Invalid borrow parameters")
118118 else {
119- let ac = invoke(x(), "withdraw", [Z], nil)
119+ let ac = invoke(x(), "addLockedV", [Z], nil)
120120 if ((ac == ac))
121- then [ScriptTransfer(M.caller, Z, s()), IntegerEntry(H(ab, aa, J), (K(ab, aa, J) + Z))]
121+ then [IntegerEntry(H(ab, aa, J), (K(ab, aa, J) + Z))]
122122 else throw("Strict value is not equal to itself.")
123123 }
124124 }
125125
126126
127127
128128 @Callable(M)
129-func repay (J,w) = {
130- let Z = M.payments[0].amount
129+func repay (J,E,w) = {
131130 let ab = toString(M.caller)
132131 if (if (!(u(ab)))
133132 then true
134133 else !(v(w)))
135134 then throw("Invalid repay parameters")
136135 else {
137- let ac = invoke(x(), "deposit", nil, [AttachedPayment(s(), Z)])
136+ let ac = invoke(x(), "withdrawLockedV", [E], nil)
138137 if ((ac == ac))
139138 then {
140- let ad = (K(ab, w, J) - Z)
141- ([ScriptTransfer(M.caller, Z, fromBase58String(w))] ++ (if ((ad > 0))
139+ let ad = (K(ab, w, J) - E)
140+ ([ScriptTransfer(M.caller, E, fromBase58String(w))] ++ (if ((ad > 0))
142141 then [IntegerEntry(H(ab, w, J), ad)]
143142 else [DeleteEntry(H(ab, w, J))]))
144143 }
145144 else throw("Strict value is not equal to itself.")
146145 }
147146 }
148147
149148
150149
151150 @Callable(M)
152-func realizePartiallyAndClose (J,w) = {
153- let Z = if ((size(M.payments) > 0))
154- then M.payments[0].amount
155- else 0
151+func realizePartiallyAndClose (J,E,w) = {
156152 let ab = toString(M.caller)
157153 let ae = K(ab, w, J)
158- let af = (ae - Z)
154+ let af = (ae - E)
159155 let ag = if ((0 >= af))
160156 then throw("Use repay instead")
161157 else nil
162158 if ((ag == ag))
163159 then if (if (!(u(ab)))
164160 then true
165161 else !(v(w)))
166162 then throw("Invalid realizePartiallyAndClose parameters")
167163 else {
168164 let ah = assetBalance(this, s())
169165 if ((ah == ah))
170166 then {
171167 let ai = invoke(y(), "swap", [toBase58String(s()), 0], [AttachedPayment(fromBase58String(w), af)])
172168 if ((ai == ai))
173169 then {
174170 let aj = assetBalance(this, s())
175171 if ((aj == aj))
176172 then {
177173 let ak = (aj - ah)
178174 if ((ak == ak))
179175 then {
180- let ac = invoke(x(), "deposit", nil, [AttachedPayment(s(), (Z + ak))])
181- if ((ac == ac))
176+ let al = invoke(x(), "addLocked", [true], [AttachedPayment(s(), ak)])
177+ if ((al == al))
182178 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))])
179+ let am = invoke(x(), "withdrawLockedV", [ae], nil)
180+ if ((am == am))
181+ then {
182+ let an = (ae - af)
183+ if ((an > 0))
184+ then [ScriptTransfer(M.caller, (ae - af), fromBase58String(w))]
185+ else (nil ++ [DeleteEntry(H(ab, w, J))])
186+ }
187+ else throw("Strict value is not equal to itself.")
187188 }
188189 else throw("Strict value is not equal to itself.")
189190 }
190191 else throw("Strict value is not equal to itself.")
191192 }
192193 else throw("Strict value is not equal to itself.")
193194 }
194195 else throw("Strict value is not equal to itself.")
195196 }
196197 else throw("Strict value is not equal to itself.")
197198 }
198199 else throw("Strict value is not equal to itself.")
199200 }
200201
201202
202203
203204 @Callable(M)
204-func realizePartially (J,w,am) = {
205+func realizePartially (J,w,ao) = {
205206 let ab = toString(M.caller)
206207 let ae = K(ab, w, J)
207- let ag = if (if ((0 >= am))
208+ let ag = if (if ((0 >= ao))
208209 then true
209- else (am > ae))
210- then throw("Invalid realizePartiallyAndClose parameters")
210+ else (ao > ae))
211+ then throw("Invalid realizePartially parameters")
211212 else nil
212213 if ((ag == ag))
213214 then if (if (!(u(ab)))
214215 then true
215216 else !(v(w)))
216217 then throw("Invalid realizePartiallyAndClose parameters")
217218 else {
218219 let ah = assetBalance(this, s())
219220 if ((ah == ah))
220221 then {
221- let ai = invoke(y(), "swap", [toBase58String(s()), 0], [AttachedPayment(fromBase58String(w), am)])
222+ let ai = invoke(y(), "swap", [toBase58String(s()), 0], [AttachedPayment(fromBase58String(w), ao)])
222223 if ((ai == ai))
223224 then {
224225 let aj = assetBalance(this, s())
225226 if ((aj == aj))
226227 then {
227228 let ak = (aj - ah)
228229 if ((ak == ak))
229230 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))]
231+ let ap = invoke(x(), "addLocked", [true], [AttachedPayment(s(), ak)])
232+ if ((ap == ap))
233+ then {
234+ let am = invoke(x(), "withdrawLockedV", [ak], nil)
235+ if ((am == am))
236+ then [IntegerEntry(H(ab, w, J), (K(ab, w, J) - ao))]
237+ else throw("Strict value is not equal to itself.")
238+ }
233239 else throw("Strict value is not equal to itself.")
234240 }
235241 else throw("Strict value is not equal to itself.")
236242 }
237243 else throw("Strict value is not equal to itself.")
238244 }
239245 else throw("Strict value is not equal to itself.")
240246 }
241247 else throw("Strict value is not equal to itself.")
242248 }
243249 else throw("Strict value is not equal to itself.")
244250 }
245251
246252
247-@Verifier(an)
248-func ao () = sigVerify(an.bodyBytes, an.proofs[0], q())
253+@Verifier(aq)
254+func ar () = sigVerify(aq.bodyBytes, aq.proofs[0], q())
249255

github/deemru/w8io/169f3d6 
49.15 ms