tx · BtnTiNXjsYNRhmyuTipCERAFpK6KpFVX22yUVaVmrcBr

3PBy5csSnjgkieeF9dRTXN2AwG3SXBsVpww:  -0.01200000 Waves

2022.12.24 22:12 [3440249] smart account 3PBy5csSnjgkieeF9dRTXN2AwG3SXBsVpww > SELF 0.00000000 Waves

{ "type": 13, "id": "BtnTiNXjsYNRhmyuTipCERAFpK6KpFVX22yUVaVmrcBr", "fee": 1200000, "feeAssetId": null, "timestamp": 1671909194632, "version": 2, "chainId": 87, "sender": "3PBy5csSnjgkieeF9dRTXN2AwG3SXBsVpww", "senderPublicKey": "ACUCrsKGyXXF5qHMFHPnQRbm5dQ619jBk5r4xWgex9TE", "proofs": [ "3z5nSCKVgXMnYEtysaEeBaC41b7KpZenPLuncvmTfAzMX6wZxzzHEe7CaVaagtkStqvba91WJW5sjLPCsayWnR5k" ], "script": "base64:BgJJCAISAwoBARIECgIICBIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASAA4AC3BhcmVudEFkbWluCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUFJFNUtIOW9QR2ZGUHM3ZkduUWNKNHdOc2hFRFVQR2oxdAALdXNkbkFzc2V0SWQBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRABF1c2RuQXNzZXRJZFN0cmluZwIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAAEXVzZHRBc3NldElkU3RyaW5nAiwzNE45WWNFRVRMV245M3FZUTY0RXNQMXg4OXRTcnVKVTQ0UnJFTVNYWEVQSgARdXNkY0Fzc2V0SWRTdHJpbmcCLDZYdEhqcFhiczlSUkpQMlNyOUdVeVZxekFDY2J5OVRrVGhIWG5qVkM1Q0RKAQ5nZXRTdHJpbmdCeUtleQEDa2V5CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFA2tleQIAAQ9nZXRJbnRlZ2VyQnlLZXkBA2tleQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQNrZXkAIwABYQkBD2dldEludGVnZXJCeUtleQECB21vbnRhbnQBAnB3BgFpBnAxX3N0cgZwMl9zdHIGbHBfc3RyB2FpZF9zdHIHZXJyX3N0cgQCcDEJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQ5nZXRTdHJpbmdCeUtleQEFBnAxX3N0cgQCcDIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQ5nZXRTdHJpbmdCeUtleQEFBnAyX3N0cgQDbHAyCQDZBAEJAQ5nZXRTdHJpbmdCeUtleQEFBmxwX3N0cgQDYWlkCQDZBAEJAQ5nZXRTdHJpbmdCeUtleQEFB2FpZF9zdHIEBHdhaWQFBHVuaXQEBGFpZHMDCQAAAgUHYWlkX3N0cgIFV0FWRVMCBVdBVkVTCQEOZ2V0U3RyaW5nQnlLZXkBBQdhaWRfc3RyAwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkBAiE9AggFAWkGY2FsbGVyBQtwYXJlbnRBZG1pbgcJAAIBAht5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGFyYiEEA3ViYgkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBQN1YmIFA3ViYgQDd2JiCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQMJAAACBQN3YmIFA3diYgQEc3dhcAkA/AcEBQJwMQIEc3dhcAkAzAgCBQRhaWRzCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQt1c2RuQXNzZXRJZAkAaAIFAWEAwIQ9BQNuaWwDCQAAAgUEc3dhcAUEc3dhcAQJYmFsVG9Td2FwAwkAAAIFB2FpZF9zdHICBVdBVkVTCQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFA3diYgkA8AcCBQR0aGlzBQNhaWQEB3B1dEZ1bmMDAwkAAAIFEXVzZHRBc3NldElkU3RyaW5nBQdhaWRfc3RyBgkAAAIFEXVzZGNBc3NldElkU3RyaW5nBQdhaWRfc3RyAgtwdXRPbmVUa25WMgIJcHV0T25lVGtuBAdnZXRGdW5jAwMJAAACBRF1c2R0QXNzZXRJZFN0cmluZwUHYWlkX3N0cgYJAAACBRF1c2RjQXNzZXRJZFN0cmluZwUHYWlkX3N0cgILZ2V0T25lVGtuVjICCWdldE9uZVRrbgQDcHV0CQD8BwQFAnAyBQdwdXRGdW5jCQDMCAIAAQkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCAwkAAAIFB2FpZF9zdHICBVdBVkVTBQR3YWlkBQNhaWQFCWJhbFRvU3dhcAUDbmlsAwkAAAIFA3B1dAUDcHV0BANscGIJAPAHAgUEdGhpcwUDbHAyAwkAAAIFA2xwYgUDbHBiBANnZXQJAPwHBAUCcDIFB2dldEZ1bmMJAMwIAgURdXNkbkFzc2V0SWRTdHJpbmcJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFA2xwMgUDbHBiBQNuaWwDCQAAAgUDZ2V0BQNnZXQEA3ViYQkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBQN1YmEFA3ViYQMJAGcCAAAJAGUCBQN1YmEFA3ViYgkAAgEFB2Vycl9zdHIEBmFtb3VudAkAZQIFA3ViYQkAaAIFAWEAwIQ9AwkAAAIFBmFtb3VudAUGYW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFC3BhcmVudEFkbWluBQZhbW91bnQFC3VzZG5Bc3NldElkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAndwBgFpBnAxX3N0cgZwMl9zdHIGbHBfc3RyB2FpZF9zdHIHZXJyX3N0cgQCcDEJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQ5nZXRTdHJpbmdCeUtleQEFBnAxX3N0cgQCcDIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQ5nZXRTdHJpbmdCeUtleQEFBnAyX3N0cgQDbHAyCQDZBAEJAQ5nZXRTdHJpbmdCeUtleQEFBmxwX3N0cgQDYWlkCQDZBAEJAQ5nZXRTdHJpbmdCeUtleQEFB2FpZF9zdHIEBHdhaWQFBHVuaXQEBGFpZHMDCQAAAgUHYWlkX3N0cgIFV0FWRVMCBVdBVkVTCQEOZ2V0U3RyaW5nQnlLZXkBBQdhaWRfc3RyAwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkBAiE9AggFAWkGY2FsbGVyBQtwYXJlbnRBZG1pbgcJAAIBAht5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGFyYiEEA3ViYgkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBQN1YmIFA3ViYgQDd2JiCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQMJAAACBQN3YmIFA3diYgQHcHV0RnVuYwMDCQAAAgURdXNkdEFzc2V0SWRTdHJpbmcFB2FpZF9zdHIGCQAAAgURdXNkY0Fzc2V0SWRTdHJpbmcFB2FpZF9zdHICC3B1dE9uZVRrblYyAglwdXRPbmVUa24EB2dldEZ1bmMDAwkAAAIFEXVzZHRBc3NldElkU3RyaW5nBQdhaWRfc3RyBgkAAAIFEXVzZGNBc3NldElkU3RyaW5nBQdhaWRfc3RyAgtnZXRPbmVUa25WMgIJZ2V0T25lVGtuBANwdXQJAPwHBAUCcDIFB3B1dEZ1bmMJAMwIAgABCQDMCAIHBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFC3VzZG5Bc3NldElkCQBoAgUBYQDAhD0FA25pbAMJAAACBQNwdXQFA3B1dAQDbHBiCQDwBwIFBHRoaXMFA2xwMgMJAAACBQNscGIFA2xwYgQDZ2V0CQD8BwQFAnAyBQdnZXRGdW5jCQDMCAIFBGFpZHMJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFA2xwMgUDbHBiBQNuaWwDCQAAAgUDZ2V0BQNnZXQECWJhbFRvU3dhcAMJAAACBQdhaWRfc3RyAgVXQVZFUwkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlBQN3YmIJAPAHAgUEdGhpcwUDYWlkBARzd2FwCQD8BwQFAnAxAgRzd2FwCQDMCAIFEXVzZG5Bc3NldElkU3RyaW5nCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCAwkAAAIFB2FpZF9zdHICBVdBVkVTBQR3YWlkBQNhaWQFCWJhbFRvU3dhcAUDbmlsAwkAAAIFBHN3YXAFBHN3YXAEA3ViYQkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBQN1YmEFA3ViYQMJAGcCAAAJAGUCBQN1YmEFA3ViYgkAAgEFB2Vycl9zdHIEBmFtb3VudAkAZQIFA3ViYQkAaAIFAWEAwIQ9AwkAAAIFBmFtb3VudAUGYW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFC3BhcmVudEFkbWluBQZhbW91bnQFC3VzZG5Bc3NldElkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnBzBgFpBnAxX3N0cgZwMl9zdHIGbHBfc3RyB2FpZF9zdHIHZXJyX3N0cgQCcDEJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQ5nZXRTdHJpbmdCeUtleQEFBnAxX3N0cgQDYWlkCQDZBAEJAQ5nZXRTdHJpbmdCeUtleQEFB2FpZF9zdHIEBHdhaWQFBHVuaXQEBGFpZHMDCQAAAgUHYWlkX3N0cgIFV0FWRVMCBVdBVkVTCQEOZ2V0U3RyaW5nQnlLZXkBBQdhaWRfc3RyBAJwMgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBDmdldFN0cmluZ0J5S2V5AQUGcDJfc3RyAwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkBAiE9AggFAWkGY2FsbGVyBQtwYXJlbnRBZG1pbgcJAAIBAht5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGFyYiEEA3ViYgkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBQN1YmIFA3ViYgQDd2JiCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQMJAAACBQN3YmIFA3diYgQEc3dhcAkA/AcEBQJwMQIEc3dhcAkAzAgCBQRhaWRzCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQt1c2RuQXNzZXRJZAkAaAIFAWEAwIQ9BQNuaWwDCQAAAgUEc3dhcAUEc3dhcAQJYmFsVG9Td2FwAwkAAAIFB2FpZF9zdHICBVdBVkVTCQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFA3diYgkA8AcCBQR0aGlzBQNhaWQEBXN3YXAyCQD8BwQFAnAyAghleGNoYW5nZQkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgMJAAACBQdhaWRfc3RyAgVXQVZFUwUEd2FpZAUDYWlkBQliYWxUb1N3YXAFA25pbAMJAAACBQVzd2FwMgUFc3dhcDIEA3ViYQkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBQN1YmEFA3ViYQMJAGcCAAAJAGUCBQN1YmEFA3ViYgkAAgEFB2Vycl9zdHIEBmFtb3VudAkAZQIFA3ViYQkAaAIFAWEAwIQ9AwkAAAIFBmFtb3VudAUGYW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFC3BhcmVudEFkbWluBQZhbW91bnQFC3VzZG5Bc3NldElkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnNwBgFpBnAxX3N0cgZwMl9zdHIGbHBfc3RyB2FpZF9zdHIHZXJyX3N0cgQCcDEJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQ5nZXRTdHJpbmdCeUtleQEFBnAxX3N0cgQCcDIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQ5nZXRTdHJpbmdCeUtleQEFBnAyX3N0cgQDYWlkCQDZBAEJAQ5nZXRTdHJpbmdCeUtleQEFB2FpZF9zdHIEBHdhaWQFBHVuaXQEBGFpZHMDCQAAAgUHYWlkX3N0cgIFV0FWRVMCBVdBVkVTCQEOZ2V0U3RyaW5nQnlLZXkBBQdhaWRfc3RyAwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkBAiE9AggFAWkGY2FsbGVyBQtwYXJlbnRBZG1pbgcJAAIBAht5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGFyYiEEA3ViYgkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBQN1YmIFA3ViYgQDd2JiCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQMJAAACBQN3YmIFA3diYgQEc3dhcAkA/AcEBQJwMQIIZXhjaGFuZ2UJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFC3VzZG5Bc3NldElkCQBoAgUBYQDAhD0FA25pbAMJAAACBQRzd2FwBQRzd2FwBAliYWxUb1N3YXADCQAAAgUHYWlkX3N0cgIFV0FWRVMJAGUCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQUDd2JiCQDwBwIFBHRoaXMFA2FpZAQFc3dhcDIJAPwHBAUCcDICBHN3YXAJAMwIAgURdXNkbkFzc2V0SWRTdHJpbmcJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIDCQAAAgUHYWlkX3N0cgIFV0FWRVMFBHdhaWQFA2FpZAUJYmFsVG9Td2FwBQNuaWwDCQAAAgUFc3dhcDIFBXN3YXAyBAN1YmEJAPAHAgUEdGhpcwULdXNkbkFzc2V0SWQDCQAAAgUDdWJhBQN1YmEDCQBnAgAACQBlAgUDdWJhBQN1YmIJAAIBBQdlcnJfc3RyBAZhbW91bnQJAGUCBQN1YmEJAGgCBQFhAMCEPQMJAAACBQZhbW91bnQFBmFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQtwYXJlbnRBZG1pbgUGYW1vdW50BQt1c2RuQXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ3cwYBaQZwMV9zdHIGcDJfc3RyBmxwX3N0cgdhaWRfc3RyB2Vycl9zdHIEAnAxCQERQGV4dHJOYXRpdmUoMTA2MikBCQEOZ2V0U3RyaW5nQnlLZXkBBQZwMV9zdHIEAnAyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEOZ2V0U3RyaW5nQnlLZXkBBQZwMl9zdHIEA2xwMQkA2QQBCQEOZ2V0U3RyaW5nQnlLZXkBBQZscF9zdHIEA2FpZAkA2QQBCQEOZ2V0U3RyaW5nQnlLZXkBBQdhaWRfc3RyBAR3YWlkBQR1bml0BARhaWRzAwkAAAIFB2FpZF9zdHICBVdBVkVTAgVXQVZFUwkBDmdldFN0cmluZ0J5S2V5AQUHYWlkX3N0cgMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAQIhPQIIBQFpBmNhbGxlcgULcGFyZW50QWRtaW4HCQACAQIbeW91IGFyZSBub3QgYWxsb3dlZCB0byBhcmIhBAN1YmIJAPAHAgUEdGhpcwULdXNkbkFzc2V0SWQDCQAAAgUDdWJiBQN1YmIEA3diYggJAO8HAQUEdGhpcwlhdmFpbGFibGUDCQAAAgUDd2JiBQN3YmIEB3B1dEZ1bmMDAwkAAAIFEXVzZHRBc3NldElkU3RyaW5nBQdhaWRfc3RyBgkAAAIFEXVzZGNBc3NldElkU3RyaW5nBQdhaWRfc3RyAgtwdXRPbmVUa25WMgIJcHV0T25lVGtuBAdnZXRGdW5jAwMJAAACBRF1c2R0QXNzZXRJZFN0cmluZwUHYWlkX3N0cgYJAAACBRF1c2RjQXNzZXRJZFN0cmluZwUHYWlkX3N0cgILZ2V0T25lVGtuVjICCWdldE9uZVRrbgQDcHV0CQD8BwQFAnAxBQdwdXRGdW5jCQDMCAIAAQkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQt1c2RuQXNzZXRJZAkAaAIFAWEAwIQ9BQNuaWwDCQAAAgUDcHV0BQNwdXQEA2xwYgkA8AcCBQR0aGlzBQNscDEDCQAAAgUDbHBiBQNscGIEA2dldAkA/AcEBQJwMQUHZ2V0RnVuYwkAzAgCBQRhaWRzCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQNscDEFA2xwYgUDbmlsAwkAAAIFA2dldAUDZ2V0BAliYWxUb1N3YXADCQAAAgUHYWlkX3N0cgIFV0FWRVMJAGUCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQUDd2JiCQDwBwIFBHRoaXMFA2FpZAQEc3dhcAkA/AcEBQJwMgIIZXhjaGFuZ2UJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIDCQAAAgUHYWlkX3N0cgIFV0FWRVMFBHdhaWQFA2FpZAUJYmFsVG9Td2FwBQNuaWwDCQAAAgUEc3dhcAUEc3dhcAQDdWJhCQDwBwIFBHRoaXMFC3VzZG5Bc3NldElkAwkAAAIFA3ViYQUDdWJhAwkAZwIAAAkAZQIFA3ViYQUDdWJiCQACAQUHZXJyX3N0cgQGYW1vdW50CQBlAgUDdWJhCQBoAgUBYQDAhD0DCQAAAgUGYW1vdW50BQZhbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULcGFyZW50QWRtaW4FBmFtb3VudAULdXNkbkFzc2V0SWQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECc3cGAWkGcDFfc3RyBnAyX3N0cgZscF9zdHIHYWlkX3N0cgdlcnJfc3RyBAJwMQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBDmdldFN0cmluZ0J5S2V5AQUGcDFfc3RyBAJwMgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBDmdldFN0cmluZ0J5S2V5AQUGcDJfc3RyBANscDIJANkEAQkBDmdldFN0cmluZ0J5S2V5AQUGbHBfc3RyBANhaWQJANkEAQkBDmdldFN0cmluZ0J5S2V5AQUHYWlkX3N0cgQEd2FpZAUEdW5pdAQEYWlkcwMJAAACBQdhaWRfc3RyAgVXQVZFUwIFV0FWRVMJAQ5nZXRTdHJpbmdCeUtleQEFB2FpZF9zdHIDAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQECIT0CCAUBaQZjYWxsZXIFC3BhcmVudEFkbWluBwkAAgECG3lvdSBhcmUgbm90IGFsbG93ZWQgdG8gYXJiIQQDdWJiCQDwBwIFBHRoaXMFC3VzZG5Bc3NldElkAwkAAAIFA3ViYgUDdWJiBAN3YmIICQDvBwEFBHRoaXMJYXZhaWxhYmxlAwkAAAIFA3diYgUDd2JiBAdwdXRGdW5jAwMJAAACBRF1c2R0QXNzZXRJZFN0cmluZwUHYWlkX3N0cgYJAAACBRF1c2RjQXNzZXRJZFN0cmluZwUHYWlkX3N0cgILcHV0T25lVGtuVjICCXB1dE9uZVRrbgQHZ2V0RnVuYwMDCQAAAgURdXNkdEFzc2V0SWRTdHJpbmcFB2FpZF9zdHIGCQAAAgURdXNkY0Fzc2V0SWRTdHJpbmcFB2FpZF9zdHICC2dldE9uZVRrblYyAglnZXRPbmVUa24EBHN3YXAJAPwHBAUCcDECCGV4Y2hhbmdlCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQt1c2RuQXNzZXRJZAkAaAIFAWEAwIQ9BQNuaWwDCQAAAgUEc3dhcAUEc3dhcAQJYmFsVG9Td2FwAwkAAAIFB2FpZF9zdHICBVdBVkVTCQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFA3diYgkA8AcCBQR0aGlzBQNhaWQEA3B1dAkA/AcEBQJwMgUHcHV0RnVuYwkAzAgCAAEJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgMJAAACBQdhaWRfc3RyAgVXQVZFUwUEd2FpZAUDYWlkBQliYWxUb1N3YXAFA25pbAMJAAACBQNwdXQFA3B1dAQDbHBiCQDwBwIFBHRoaXMFA2xwMgMJAAACBQNscGIFA2xwYgQDZ2V0CQD8BwQFAnAyBQdnZXRGdW5jCQDMCAIFEXVzZG5Bc3NldElkU3RyaW5nCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQNscDIFA2xwYgUDbmlsAwkAAAIFA2dldAUDZ2V0BAN1YmEJAPAHAgUEdGhpcwULdXNkbkFzc2V0SWQDCQAAAgUDdWJhBQN1YmEDCQBnAgAACQBlAgUDdWJhBQN1YmIJAAIBBQdlcnJfc3RyBAZhbW91bnQJAGUCBQN1YmEJAGgCBQFhAMCEPQMJAAACBQZhbW91bnQFBmFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQtwYXJlbnRBZG1pbgUGYW1vdW50BQt1c2RuQXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuIAFpAQhzZXRBbW91dAEBYQMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECG3lvdSBhcmUgbm90IGFsbG93ZWQgdG8gc2V0IQkAzAgCCQEMSW50ZWdlckVudHJ5AgIHbW9udGFudAUBYQUDbmlsAWkBD3NldEtleVZhbFN0cmluZwIDa2V5A3ZhbAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECG3lvdSBhcmUgbm90IGFsbG93ZWQgdG8gc2V0IQkAzAgCCQELU3RyaW5nRW50cnkCBQNrZXkFA3ZhbAUDbmlsAWkBAmExAAkBAnB3BgUBaQIEYTFwMQIEYTFwMgIFYTFscDICBVdBVkVTAg9XVSBQV1ggIFsoJF8kKV0BaQECYTIACQECd3AGBQFpAgRhMnAxAgRhMnAyAgVhMmxwMgIFV0FWRVMCDldVIFdYUCBbKCRfJCld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", "height": 3440249, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9LMcLJhSkXVJ2TTzrP2cFTLZBtJgD1rFW6FChy9maCgK Next: 47wCzgofb8H9RD44M3Zhtpf3fEtA8YTgowJF9Db9b8Gp Diff:
OldNewDifferences
66 let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
88 let usdnAssetIdString = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
9+
10+let usdtAssetIdString = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"
11+
12+let usdcAssetIdString = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
913
1014 func getStringByKey (key) = valueOrElse(getString(this, key), "")
1115
4145 let balToSwap = if ((aid_str == "WAVES"))
4246 then (wavesBalance(this).available - wbb)
4347 else assetBalance(this, aid)
44- let put = invoke(p2, "putOneTkn", [1, false], [AttachedPayment(if ((aid_str == "WAVES"))
48+ let putFunc = if (if ((usdtAssetIdString == aid_str))
49+ then true
50+ else (usdcAssetIdString == aid_str))
51+ then "putOneTknV2"
52+ else "putOneTkn"
53+ let getFunc = if (if ((usdtAssetIdString == aid_str))
54+ then true
55+ else (usdcAssetIdString == aid_str))
56+ then "getOneTknV2"
57+ else "getOneTkn"
58+ let put = invoke(p2, putFunc, [1, false], [AttachedPayment(if ((aid_str == "WAVES"))
4559 then waid
4660 else aid, balToSwap)])
4761 if ((put == put))
4963 let lpb = assetBalance(this, lp2)
5064 if ((lpb == lpb))
5165 then {
52- let get = invoke(p2, "getOneTkn", [usdnAssetIdString, 1], [AttachedPayment(lp2, lpb)])
66+ let get = invoke(p2, getFunc, [usdnAssetIdString, 1], [AttachedPayment(lp2, lpb)])
5367 if ((get == get))
5468 then {
5569 let uba = assetBalance(this, usdnAssetId)
99113 let wbb = wavesBalance(this).available
100114 if ((wbb == wbb))
101115 then {
102- let put = invoke(p2, "putOneTkn", [1, false], [AttachedPayment(usdnAssetId, (a * 1000000))])
116+ let putFunc = if (if ((usdtAssetIdString == aid_str))
117+ then true
118+ else (usdcAssetIdString == aid_str))
119+ then "putOneTknV2"
120+ else "putOneTkn"
121+ let getFunc = if (if ((usdtAssetIdString == aid_str))
122+ then true
123+ else (usdcAssetIdString == aid_str))
124+ then "getOneTknV2"
125+ else "getOneTkn"
126+ let put = invoke(p2, putFunc, [1, false], [AttachedPayment(usdnAssetId, (a * 1000000))])
103127 if ((put == put))
104128 then {
105129 let lpb = assetBalance(this, lp2)
106130 if ((lpb == lpb))
107131 then {
108- let get = invoke(p2, "getOneTkn", [aids, 1], [AttachedPayment(lp2, lpb)])
132+ let get = invoke(p2, getFunc, [aids, 1], [AttachedPayment(lp2, lpb)])
109133 if ((get == get))
110134 then {
111135 let balToSwap = if ((aid_str == "WAVES"))
269293 let wbb = wavesBalance(this).available
270294 if ((wbb == wbb))
271295 then {
272- let put = invoke(p1, "putOneTkn", [1, false], [AttachedPayment(usdnAssetId, (a * 1000000))])
296+ let putFunc = if (if ((usdtAssetIdString == aid_str))
297+ then true
298+ else (usdcAssetIdString == aid_str))
299+ then "putOneTknV2"
300+ else "putOneTkn"
301+ let getFunc = if (if ((usdtAssetIdString == aid_str))
302+ then true
303+ else (usdcAssetIdString == aid_str))
304+ then "getOneTknV2"
305+ else "getOneTkn"
306+ let put = invoke(p1, putFunc, [1, false], [AttachedPayment(usdnAssetId, (a * 1000000))])
273307 if ((put == put))
274308 then {
275309 let lpb = assetBalance(this, lp1)
276310 if ((lpb == lpb))
277311 then {
278- let get = invoke(p1, "getOneTkn", [aids, 1], [AttachedPayment(lp1, lpb)])
312+ let get = invoke(p1, getFunc, [aids, 1], [AttachedPayment(lp1, lpb)])
279313 if ((get == get))
280314 then {
281315 let balToSwap = if ((aid_str == "WAVES"))
333367 let wbb = wavesBalance(this).available
334368 if ((wbb == wbb))
335369 then {
370+ let putFunc = if (if ((usdtAssetIdString == aid_str))
371+ then true
372+ else (usdcAssetIdString == aid_str))
373+ then "putOneTknV2"
374+ else "putOneTkn"
375+ let getFunc = if (if ((usdtAssetIdString == aid_str))
376+ then true
377+ else (usdcAssetIdString == aid_str))
378+ then "getOneTknV2"
379+ else "getOneTkn"
336380 let swap = invoke(p1, "exchange", [1], [AttachedPayment(usdnAssetId, (a * 1000000))])
337381 if ((swap == swap))
338382 then {
339383 let balToSwap = if ((aid_str == "WAVES"))
340384 then (wavesBalance(this).available - wbb)
341385 else assetBalance(this, aid)
342- let put = invoke(p2, "putOneTkn", [1, false], [AttachedPayment(if ((aid_str == "WAVES"))
386+ let put = invoke(p2, putFunc, [1, false], [AttachedPayment(if ((aid_str == "WAVES"))
343387 then waid
344388 else aid, balToSwap)])
345389 if ((put == put))
347391 let lpb = assetBalance(this, lp2)
348392 if ((lpb == lpb))
349393 then {
350- let get = invoke(p2, "getOneTkn", [usdnAssetIdString, 1], [AttachedPayment(lp2, lpb)])
394+ let get = invoke(p2, getFunc, [usdnAssetIdString, 1], [AttachedPayment(lp2, lpb)])
351395 if ((get == get))
352396 then {
353397 let uba = assetBalance(this, usdnAssetId)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let parentAdmin = addressFromStringValue("3PRE5KH9oPGfFPs7fGnQcJ4wNshEDUPGj1t")
55
66 let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
88 let usdnAssetIdString = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
9+
10+let usdtAssetIdString = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"
11+
12+let usdcAssetIdString = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
913
1014 func getStringByKey (key) = valueOrElse(getString(this, key), "")
1115
1216
1317 func getIntegerByKey (key) = valueOrElse(getInteger(this, key), 35)
1418
1519
1620 let a = getIntegerByKey("montant")
1721
1822 func pw (i,p1_str,p2_str,lp_str,aid_str,err_str) = {
1923 let p1 = addressFromStringValue(getStringByKey(p1_str))
2024 let p2 = addressFromStringValue(getStringByKey(p2_str))
2125 let lp2 = fromBase58String(getStringByKey(lp_str))
2226 let aid = fromBase58String(getStringByKey(aid_str))
2327 let waid = unit
2428 let aids = if ((aid_str == "WAVES"))
2529 then "WAVES"
2630 else getStringByKey(aid_str)
2731 if (if ((i.caller != this))
2832 then (i.caller != parentAdmin)
2933 else false)
3034 then throw("you are not allowed to arb!")
3135 else {
3236 let ubb = assetBalance(this, usdnAssetId)
3337 if ((ubb == ubb))
3438 then {
3539 let wbb = wavesBalance(this).available
3640 if ((wbb == wbb))
3741 then {
3842 let swap = invoke(p1, "swap", [aids, 1], [AttachedPayment(usdnAssetId, (a * 1000000))])
3943 if ((swap == swap))
4044 then {
4145 let balToSwap = if ((aid_str == "WAVES"))
4246 then (wavesBalance(this).available - wbb)
4347 else assetBalance(this, aid)
44- let put = invoke(p2, "putOneTkn", [1, false], [AttachedPayment(if ((aid_str == "WAVES"))
48+ let putFunc = if (if ((usdtAssetIdString == aid_str))
49+ then true
50+ else (usdcAssetIdString == aid_str))
51+ then "putOneTknV2"
52+ else "putOneTkn"
53+ let getFunc = if (if ((usdtAssetIdString == aid_str))
54+ then true
55+ else (usdcAssetIdString == aid_str))
56+ then "getOneTknV2"
57+ else "getOneTkn"
58+ let put = invoke(p2, putFunc, [1, false], [AttachedPayment(if ((aid_str == "WAVES"))
4559 then waid
4660 else aid, balToSwap)])
4761 if ((put == put))
4862 then {
4963 let lpb = assetBalance(this, lp2)
5064 if ((lpb == lpb))
5165 then {
52- let get = invoke(p2, "getOneTkn", [usdnAssetIdString, 1], [AttachedPayment(lp2, lpb)])
66+ let get = invoke(p2, getFunc, [usdnAssetIdString, 1], [AttachedPayment(lp2, lpb)])
5367 if ((get == get))
5468 then {
5569 let uba = assetBalance(this, usdnAssetId)
5670 if ((uba == uba))
5771 then if ((0 >= (uba - ubb)))
5872 then throw(err_str)
5973 else {
6074 let amount = (uba - (a * 1000000))
6175 if ((amount == amount))
6276 then [ScriptTransfer(parentAdmin, amount, usdnAssetId)]
6377 else throw("Strict value is not equal to itself.")
6478 }
6579 else throw("Strict value is not equal to itself.")
6680 }
6781 else throw("Strict value is not equal to itself.")
6882 }
6983 else throw("Strict value is not equal to itself.")
7084 }
7185 else throw("Strict value is not equal to itself.")
7286 }
7387 else throw("Strict value is not equal to itself.")
7488 }
7589 else throw("Strict value is not equal to itself.")
7690 }
7791 else throw("Strict value is not equal to itself.")
7892 }
7993 }
8094
8195
8296 func wp (i,p1_str,p2_str,lp_str,aid_str,err_str) = {
8397 let p1 = addressFromStringValue(getStringByKey(p1_str))
8498 let p2 = addressFromStringValue(getStringByKey(p2_str))
8599 let lp2 = fromBase58String(getStringByKey(lp_str))
86100 let aid = fromBase58String(getStringByKey(aid_str))
87101 let waid = unit
88102 let aids = if ((aid_str == "WAVES"))
89103 then "WAVES"
90104 else getStringByKey(aid_str)
91105 if (if ((i.caller != this))
92106 then (i.caller != parentAdmin)
93107 else false)
94108 then throw("you are not allowed to arb!")
95109 else {
96110 let ubb = assetBalance(this, usdnAssetId)
97111 if ((ubb == ubb))
98112 then {
99113 let wbb = wavesBalance(this).available
100114 if ((wbb == wbb))
101115 then {
102- let put = invoke(p2, "putOneTkn", [1, false], [AttachedPayment(usdnAssetId, (a * 1000000))])
116+ let putFunc = if (if ((usdtAssetIdString == aid_str))
117+ then true
118+ else (usdcAssetIdString == aid_str))
119+ then "putOneTknV2"
120+ else "putOneTkn"
121+ let getFunc = if (if ((usdtAssetIdString == aid_str))
122+ then true
123+ else (usdcAssetIdString == aid_str))
124+ then "getOneTknV2"
125+ else "getOneTkn"
126+ let put = invoke(p2, putFunc, [1, false], [AttachedPayment(usdnAssetId, (a * 1000000))])
103127 if ((put == put))
104128 then {
105129 let lpb = assetBalance(this, lp2)
106130 if ((lpb == lpb))
107131 then {
108- let get = invoke(p2, "getOneTkn", [aids, 1], [AttachedPayment(lp2, lpb)])
132+ let get = invoke(p2, getFunc, [aids, 1], [AttachedPayment(lp2, lpb)])
109133 if ((get == get))
110134 then {
111135 let balToSwap = if ((aid_str == "WAVES"))
112136 then (wavesBalance(this).available - wbb)
113137 else assetBalance(this, aid)
114138 let swap = invoke(p1, "swap", [usdnAssetIdString, 1], [AttachedPayment(if ((aid_str == "WAVES"))
115139 then waid
116140 else aid, balToSwap)])
117141 if ((swap == swap))
118142 then {
119143 let uba = assetBalance(this, usdnAssetId)
120144 if ((uba == uba))
121145 then if ((0 >= (uba - ubb)))
122146 then throw(err_str)
123147 else {
124148 let amount = (uba - (a * 1000000))
125149 if ((amount == amount))
126150 then [ScriptTransfer(parentAdmin, amount, usdnAssetId)]
127151 else throw("Strict value is not equal to itself.")
128152 }
129153 else throw("Strict value is not equal to itself.")
130154 }
131155 else throw("Strict value is not equal to itself.")
132156 }
133157 else throw("Strict value is not equal to itself.")
134158 }
135159 else throw("Strict value is not equal to itself.")
136160 }
137161 else throw("Strict value is not equal to itself.")
138162 }
139163 else throw("Strict value is not equal to itself.")
140164 }
141165 else throw("Strict value is not equal to itself.")
142166 }
143167 }
144168
145169
146170 func ps (i,p1_str,p2_str,lp_str,aid_str,err_str) = {
147171 let p1 = addressFromStringValue(getStringByKey(p1_str))
148172 let aid = fromBase58String(getStringByKey(aid_str))
149173 let waid = unit
150174 let aids = if ((aid_str == "WAVES"))
151175 then "WAVES"
152176 else getStringByKey(aid_str)
153177 let p2 = addressFromStringValue(getStringByKey(p2_str))
154178 if (if ((i.caller != this))
155179 then (i.caller != parentAdmin)
156180 else false)
157181 then throw("you are not allowed to arb!")
158182 else {
159183 let ubb = assetBalance(this, usdnAssetId)
160184 if ((ubb == ubb))
161185 then {
162186 let wbb = wavesBalance(this).available
163187 if ((wbb == wbb))
164188 then {
165189 let swap = invoke(p1, "swap", [aids, 1], [AttachedPayment(usdnAssetId, (a * 1000000))])
166190 if ((swap == swap))
167191 then {
168192 let balToSwap = if ((aid_str == "WAVES"))
169193 then (wavesBalance(this).available - wbb)
170194 else assetBalance(this, aid)
171195 let swap2 = invoke(p2, "exchange", [1], [AttachedPayment(if ((aid_str == "WAVES"))
172196 then waid
173197 else aid, balToSwap)])
174198 if ((swap2 == swap2))
175199 then {
176200 let uba = assetBalance(this, usdnAssetId)
177201 if ((uba == uba))
178202 then if ((0 >= (uba - ubb)))
179203 then throw(err_str)
180204 else {
181205 let amount = (uba - (a * 1000000))
182206 if ((amount == amount))
183207 then [ScriptTransfer(parentAdmin, amount, usdnAssetId)]
184208 else throw("Strict value is not equal to itself.")
185209 }
186210 else throw("Strict value is not equal to itself.")
187211 }
188212 else throw("Strict value is not equal to itself.")
189213 }
190214 else throw("Strict value is not equal to itself.")
191215 }
192216 else throw("Strict value is not equal to itself.")
193217 }
194218 else throw("Strict value is not equal to itself.")
195219 }
196220 }
197221
198222
199223 func sp (i,p1_str,p2_str,lp_str,aid_str,err_str) = {
200224 let p1 = addressFromStringValue(getStringByKey(p1_str))
201225 let p2 = addressFromStringValue(getStringByKey(p2_str))
202226 let aid = fromBase58String(getStringByKey(aid_str))
203227 let waid = unit
204228 let aids = if ((aid_str == "WAVES"))
205229 then "WAVES"
206230 else getStringByKey(aid_str)
207231 if (if ((i.caller != this))
208232 then (i.caller != parentAdmin)
209233 else false)
210234 then throw("you are not allowed to arb!")
211235 else {
212236 let ubb = assetBalance(this, usdnAssetId)
213237 if ((ubb == ubb))
214238 then {
215239 let wbb = wavesBalance(this).available
216240 if ((wbb == wbb))
217241 then {
218242 let swap = invoke(p1, "exchange", [1], [AttachedPayment(usdnAssetId, (a * 1000000))])
219243 if ((swap == swap))
220244 then {
221245 let balToSwap = if ((aid_str == "WAVES"))
222246 then (wavesBalance(this).available - wbb)
223247 else assetBalance(this, aid)
224248 let swap2 = invoke(p2, "swap", [usdnAssetIdString, 1], [AttachedPayment(if ((aid_str == "WAVES"))
225249 then waid
226250 else aid, balToSwap)])
227251 if ((swap2 == swap2))
228252 then {
229253 let uba = assetBalance(this, usdnAssetId)
230254 if ((uba == uba))
231255 then if ((0 >= (uba - ubb)))
232256 then throw(err_str)
233257 else {
234258 let amount = (uba - (a * 1000000))
235259 if ((amount == amount))
236260 then [ScriptTransfer(parentAdmin, amount, usdnAssetId)]
237261 else throw("Strict value is not equal to itself.")
238262 }
239263 else throw("Strict value is not equal to itself.")
240264 }
241265 else throw("Strict value is not equal to itself.")
242266 }
243267 else throw("Strict value is not equal to itself.")
244268 }
245269 else throw("Strict value is not equal to itself.")
246270 }
247271 else throw("Strict value is not equal to itself.")
248272 }
249273 }
250274
251275
252276 func ws (i,p1_str,p2_str,lp_str,aid_str,err_str) = {
253277 let p1 = addressFromStringValue(getStringByKey(p1_str))
254278 let p2 = addressFromStringValue(getStringByKey(p2_str))
255279 let lp1 = fromBase58String(getStringByKey(lp_str))
256280 let aid = fromBase58String(getStringByKey(aid_str))
257281 let waid = unit
258282 let aids = if ((aid_str == "WAVES"))
259283 then "WAVES"
260284 else getStringByKey(aid_str)
261285 if (if ((i.caller != this))
262286 then (i.caller != parentAdmin)
263287 else false)
264288 then throw("you are not allowed to arb!")
265289 else {
266290 let ubb = assetBalance(this, usdnAssetId)
267291 if ((ubb == ubb))
268292 then {
269293 let wbb = wavesBalance(this).available
270294 if ((wbb == wbb))
271295 then {
272- let put = invoke(p1, "putOneTkn", [1, false], [AttachedPayment(usdnAssetId, (a * 1000000))])
296+ let putFunc = if (if ((usdtAssetIdString == aid_str))
297+ then true
298+ else (usdcAssetIdString == aid_str))
299+ then "putOneTknV2"
300+ else "putOneTkn"
301+ let getFunc = if (if ((usdtAssetIdString == aid_str))
302+ then true
303+ else (usdcAssetIdString == aid_str))
304+ then "getOneTknV2"
305+ else "getOneTkn"
306+ let put = invoke(p1, putFunc, [1, false], [AttachedPayment(usdnAssetId, (a * 1000000))])
273307 if ((put == put))
274308 then {
275309 let lpb = assetBalance(this, lp1)
276310 if ((lpb == lpb))
277311 then {
278- let get = invoke(p1, "getOneTkn", [aids, 1], [AttachedPayment(lp1, lpb)])
312+ let get = invoke(p1, getFunc, [aids, 1], [AttachedPayment(lp1, lpb)])
279313 if ((get == get))
280314 then {
281315 let balToSwap = if ((aid_str == "WAVES"))
282316 then (wavesBalance(this).available - wbb)
283317 else assetBalance(this, aid)
284318 let swap = invoke(p2, "exchange", [1], [AttachedPayment(if ((aid_str == "WAVES"))
285319 then waid
286320 else aid, balToSwap)])
287321 if ((swap == swap))
288322 then {
289323 let uba = assetBalance(this, usdnAssetId)
290324 if ((uba == uba))
291325 then if ((0 >= (uba - ubb)))
292326 then throw(err_str)
293327 else {
294328 let amount = (uba - (a * 1000000))
295329 if ((amount == amount))
296330 then [ScriptTransfer(parentAdmin, amount, usdnAssetId)]
297331 else throw("Strict value is not equal to itself.")
298332 }
299333 else throw("Strict value is not equal to itself.")
300334 }
301335 else throw("Strict value is not equal to itself.")
302336 }
303337 else throw("Strict value is not equal to itself.")
304338 }
305339 else throw("Strict value is not equal to itself.")
306340 }
307341 else throw("Strict value is not equal to itself.")
308342 }
309343 else throw("Strict value is not equal to itself.")
310344 }
311345 else throw("Strict value is not equal to itself.")
312346 }
313347 }
314348
315349
316350 func sw (i,p1_str,p2_str,lp_str,aid_str,err_str) = {
317351 let p1 = addressFromStringValue(getStringByKey(p1_str))
318352 let p2 = addressFromStringValue(getStringByKey(p2_str))
319353 let lp2 = fromBase58String(getStringByKey(lp_str))
320354 let aid = fromBase58String(getStringByKey(aid_str))
321355 let waid = unit
322356 let aids = if ((aid_str == "WAVES"))
323357 then "WAVES"
324358 else getStringByKey(aid_str)
325359 if (if ((i.caller != this))
326360 then (i.caller != parentAdmin)
327361 else false)
328362 then throw("you are not allowed to arb!")
329363 else {
330364 let ubb = assetBalance(this, usdnAssetId)
331365 if ((ubb == ubb))
332366 then {
333367 let wbb = wavesBalance(this).available
334368 if ((wbb == wbb))
335369 then {
370+ let putFunc = if (if ((usdtAssetIdString == aid_str))
371+ then true
372+ else (usdcAssetIdString == aid_str))
373+ then "putOneTknV2"
374+ else "putOneTkn"
375+ let getFunc = if (if ((usdtAssetIdString == aid_str))
376+ then true
377+ else (usdcAssetIdString == aid_str))
378+ then "getOneTknV2"
379+ else "getOneTkn"
336380 let swap = invoke(p1, "exchange", [1], [AttachedPayment(usdnAssetId, (a * 1000000))])
337381 if ((swap == swap))
338382 then {
339383 let balToSwap = if ((aid_str == "WAVES"))
340384 then (wavesBalance(this).available - wbb)
341385 else assetBalance(this, aid)
342- let put = invoke(p2, "putOneTkn", [1, false], [AttachedPayment(if ((aid_str == "WAVES"))
386+ let put = invoke(p2, putFunc, [1, false], [AttachedPayment(if ((aid_str == "WAVES"))
343387 then waid
344388 else aid, balToSwap)])
345389 if ((put == put))
346390 then {
347391 let lpb = assetBalance(this, lp2)
348392 if ((lpb == lpb))
349393 then {
350- let get = invoke(p2, "getOneTkn", [usdnAssetIdString, 1], [AttachedPayment(lp2, lpb)])
394+ let get = invoke(p2, getFunc, [usdnAssetIdString, 1], [AttachedPayment(lp2, lpb)])
351395 if ((get == get))
352396 then {
353397 let uba = assetBalance(this, usdnAssetId)
354398 if ((uba == uba))
355399 then if ((0 >= (uba - ubb)))
356400 then throw(err_str)
357401 else {
358402 let amount = (uba - (a * 1000000))
359403 if ((amount == amount))
360404 then [ScriptTransfer(parentAdmin, amount, usdnAssetId)]
361405 else throw("Strict value is not equal to itself.")
362406 }
363407 else throw("Strict value is not equal to itself.")
364408 }
365409 else throw("Strict value is not equal to itself.")
366410 }
367411 else throw("Strict value is not equal to itself.")
368412 }
369413 else throw("Strict value is not equal to itself.")
370414 }
371415 else throw("Strict value is not equal to itself.")
372416 }
373417 else throw("Strict value is not equal to itself.")
374418 }
375419 else throw("Strict value is not equal to itself.")
376420 }
377421 }
378422
379423
380424 @Callable(i)
381425 func setAmout (a) = if ((i.caller != this))
382426 then throw("you are not allowed to set!")
383427 else [IntegerEntry("montant", a)]
384428
385429
386430
387431 @Callable(i)
388432 func setKeyValString (key,val) = if ((i.caller != this))
389433 then throw("you are not allowed to set!")
390434 else [StringEntry(key, val)]
391435
392436
393437
394438 @Callable(i)
395439 func a1 () = pw(i, "a1p1", "a1p2", "a1lp2", "WAVES", "WU PWX [($_$)]")
396440
397441
398442
399443 @Callable(i)
400444 func a2 () = wp(i, "a2p1", "a2p2", "a2lp2", "WAVES", "WU WXP [($_$)]")
401445
402446
403447
404448 @Callable(i)
405449 func a3 () = ps(i, "a3p1", "a3p2", "", "a3aid", "SU PSW [($_$)]")
406450
407451
408452
409453 @Callable(i)
410454 func a4 () = sp(i, "a4p1", "a4p2", "", "a4aid", "SU SWP [($_$)]")
411455
412456
413457
414458 @Callable(i)
415459 func a5 () = ws(i, "a5p1", "a5p2", "a5lp1", "a5aid", "WXU WXSW [($_$)]")
416460
417461
418462
419463 @Callable(i)
420464 func a6 () = sw(i, "a6p1", "a6p2", "a6lp2", "a6aid", "WXU SWWX [($_$)]")
421465
422466
423467
424468 @Callable(i)
425469 func a7 () = pw(i, "a7p1", "a7p2", "a7lp2", "a7aid", "UC PWX [($_$)]")
426470
427471
428472
429473 @Callable(i)
430474 func a8 () = wp(i, "a8p1", "a8p2", "a8lp1", "a8aid", "UC WXP [($_$)]")
431475
432476
433477
434478 @Callable(i)
435479 func a9 () = pw(i, "a9p1", "a9p2", "a9lp2", "a9aid", "UT PWX [($_$)]")
436480
437481
438482
439483 @Callable(i)
440484 func a10 () = wp(i, "a10p1", "a10p2", "a10lp2", "a10aid", "UT WXP [($_$)]")
441485
442486
443487
444488 @Callable(i)
445489 func a11 () = pw(i, "a11p1", "a11p2", "a11lp2", "a11aid", "TS PWX [($_$)]")
446490
447491
448492
449493 @Callable(i)
450494 func a12 () = wp(i, "a12p1", "a12p2", "a12lp1", "a12aid", "TS WXP [($_$)]")
451495
452496
453497
454498 @Callable(i)
455499 func a13 () = ws(i, "a13p1", "a13p2", "a13lp1", "a13aid", "BC WXSW [($_$)]")
456500
457501
458502
459503 @Callable(i)
460504 func a14 () = sw(i, "a14p1", "a14p2", "a14lp2", "a14aid", "BC SWWX [($_$)]")
461505
462506
463507
464508 @Callable(i)
465509 func a15 () = ws(i, "a15p1", "a15p2", "a15lp1", "a15aid", "EH WXSW [($_$)]")
466510
467511
468512
469513 @Callable(i)
470514 func a16 () = sw(i, "a16p1", "a16p2", "a16lp2", "a16aid", "EH SWWX [($_$)]")
471515
472516
473517
474518 @Callable(i)
475519 func a17 () = ws(i, "a17p1", "a17p2", "a17lp1", "a17aid", "LC WXSW [($_$)]")
476520
477521
478522
479523 @Callable(i)
480524 func a18 () = sw(i, "a18p1", "a18p2", "a18lp2", "a18aid", "LC SWWX [($_$)]")
481525
482526
483527
484528 @Callable(i)
485529 func a19 () = ws(i, "a19p1", "a19p2", "a19lp1", "a19aid", "WE WXSW [($_$)]")
486530
487531
488532
489533 @Callable(i)
490534 func a20 () = sw(i, "a20p1", "a20p2", "a20lp2", "a20aid", "WE SWWX [($_$)]")
491535
492536
493537
494538 @Callable(i)
495539 func a21 () = ws(i, "a21p1", "a21p2", "a21lp1", "a21aid", "EG WXSW [($_$)]")
496540
497541
498542
499543 @Callable(i)
500544 func a22 () = sw(i, "a22p1", "a22p2", "a22lp2", "a22aid", "EG SWWX [($_$)]")
501545
502546
503547
504548 @Callable(i)
505549 func a23 () = ps(i, "a23p1", "a23p2", "", "a23aid", "PL PSW [($_$)]")
506550
507551
508552
509553 @Callable(i)
510554 func a24 () = sp(i, "a24p1", "a24p2", "", "a24aid", "PL SWP [($_$)]")
511555
512556
513557
514558 @Callable(i)
515559 func a25 () = ps(i, "a25p1", "a25p2", "", "WAVES", "W PSW [($_$)]")
516560
517561
518562
519563 @Callable(i)
520564 func a26 () = sp(i, "a26p1", "a26p2", "", "WAVES", "W SWP [($_$)]")
521565
522566
523567
524568 @Callable(i)
525569 func a27 () = ws(i, "a27p1", "a27p2", "a27lp1", "WAVES", "W WXSW [($_$)]")
526570
527571
528572
529573 @Callable(i)
530574 func a28 () = sw(i, "a28p1", "a28p2", "a28lp2", "WAVES", "W SWWX [($_$)]")
531575
532576
533577
534578 @Callable(i)
535579 func a29 () = ps(i, "a29p1", "a29p2", "", "a29aid", "PZ PSW [($_$)]")
536580
537581
538582
539583 @Callable(i)
540584 func a30 () = sp(i, "a30p1", "a30p2", "", "a30aid", "PZ SWP [($_$)]")
541585
542586
543587 @Verifier(tx)
544588 func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
545589

github/deemru/w8io/3ef1775 
76.69 ms