tx · 45PA7HiQFQQV2GAypZfmRixbKnBiTCW5HfmD9ySYUZPt

3PEqQuC5xU2hYZBvrRWPerJoX3VtrgnasUY:  -0.05000000 Waves

2022.12.12 12:09 [3422399] smart account 3PEqQuC5xU2hYZBvrRWPerJoX3VtrgnasUY > SELF 0.00000000 Waves

{ "type": 13, "id": "45PA7HiQFQQV2GAypZfmRixbKnBiTCW5HfmD9ySYUZPt", "fee": 5000000, "feeAssetId": null, "timestamp": 1670836144837, "version": 2, "chainId": 87, "sender": "3PEqQuC5xU2hYZBvrRWPerJoX3VtrgnasUY", "senderPublicKey": "DyByD5dCgZnqXXXejiSRnHSvYC6Zs9ap633k8jqE4b69", "proofs": [ "3rPK5QanbbJT6XVktqZCgq1VgGmogcktXBu7Jnd8FH6puaT5TsxafRLBZmc7yyzvUZnttKHA3X31ArrZcy5QgvzW" ], "script": "base64:BgIaCAISBAoCCAESBAoCCAESBAoCCAESBAoCCAEABAFpAQdhcmJVU0RDAgRwYXRoBmFtb3VudAQLcG9vbEFkZHJlc3MCIzNQQzNIdHVwQnhCbXk0V3RaZjFUeW0xdnJ4ZzlNd2JaUksxBARwb29sCQERQGV4dHJOYXRpdmUoMTA2MikBBQtwb29sQWRkcmVzcwQLdXNkbkFzc2V0SWQBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRBBF1c2RuQXNzZXRJZFN0cmluZwIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAEEXVzZGNBc3NldElkU3RyaW5nAiw2WHRIanBYYnM5UlJKUDJTcjlHVXlWcXpBQ2NieTlUa1RoSFhualZDNUNESgQLdXNkY0Fzc2V0SWQBIFIz2eGXiCbl4h/C/eqINLiHdqOMsYPvyGAcfgoSVCYlBBZ1c2RuVXNkY0xQVG9rZW5Bc3NldElkASADaQH8GwqYCojNj/4RWYWFJpEys1qS/CbpSF3Tn95cdgQRcHV6emxlUG9vbEFkZHJlc3MCIzNQR0ZIelZHVDROVGlnd0NLUDFOY3dvWGtvZFZad3ZCdXVVBApwdXp6bGVQb29sCQERQGV4dHJOYXRpdmUoMTA2MikBBRFwdXp6bGVQb29sQWRkcmVzcwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECG3lvdSBhcmUgbm90IGFsbG93ZWQgdG8gYXJiIQQNaW5pdGlhbEFtb3VudAkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBQ1pbml0aWFsQW1vdW50BQ1pbml0aWFsQW1vdW50BAtidXlPblB1enpsZQkA/AcEBQpwdXp6bGVQb29sAgRzd2FwCQDMCAIFBHBhdGgJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFC3VzZG5Bc3NldElkCQBoAgUGYW1vdW50AMCEPQUDbmlsAwkAAAIFC2J1eU9uUHV6emxlBQtidXlPblB1enpsZQQQdXNkY1Rva2VuQmFsYW5jZQkA8AcCBQR0aGlzBQt1c2RjQXNzZXRJZAMJAAACBRB1c2RjVG9rZW5CYWxhbmNlBRB1c2RjVG9rZW5CYWxhbmNlBBRwdXRUaGVUb2tlbkluVGhlUG9vbAkA/AcEBQRwb29sAgtwdXRPbmVUa25WMgkAzAgCAAEJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgULdXNkY0Fzc2V0SWQFEHVzZGNUb2tlbkJhbGFuY2UFA25pbAMJAAACBRRwdXRUaGVUb2tlbkluVGhlUG9vbAUUcHV0VGhlVG9rZW5JblRoZVBvb2wEDmxwVG9rZW5CYWxhbmNlCQDwBwIFBHRoaXMFFnVzZG5Vc2RjTFBUb2tlbkFzc2V0SWQDCQAAAgUObHBUb2tlbkJhbGFuY2UFDmxwVG9rZW5CYWxhbmNlBA1zZWxsUG9vbFRva2VuCQD8BwQFBHBvb2wCC2dldE9uZVRrblYyCQDMCAIFEXVzZG5Bc3NldElkU3RyaW5nCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBRZ1c2RuVXNkY0xQVG9rZW5Bc3NldElkBQ5scFRva2VuQmFsYW5jZQUDbmlsAwkAAAIFDXNlbGxQb29sVG9rZW4FDXNlbGxQb29sVG9rZW4EC2ZpbmFsQW1vdW50CQDwBwIFBHRoaXMFC3VzZG5Bc3NldElkAwkAAAIFC2ZpbmFsQW1vdW50BQtmaW5hbEFtb3VudAMJAGcCBQ1pbml0aWFsQW1vdW50BQtmaW5hbEFtb3VudAkAAgECE2FyYiBub3Qgc3VjY2Vzc2Z1bCEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQhhcmJVU0RDMgIEcGF0aAZhbW91bnQEC3Bvb2xBZGRyZXNzAiMzUEMzSHR1cEJ4Qm15NFd0WmYxVHltMXZyeGc5TXdiWlJLMQQEcG9vbAkBEUBleHRyTmF0aXZlKDEwNjIpAQULcG9vbEFkZHJlc3MEC3VzZG5Bc3NldElkASC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QQRdXNkbkFzc2V0SWRTdHJpbmcCLERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwBBF1c2RjQXNzZXRJZFN0cmluZwIsNlh0SGpwWGJzOVJSSlAyU3I5R1V5VnF6QUNjYnk5VGtUaEhYbmpWQzVDREoEC3VzZGNBc3NldElkASBSM9nhl4gm5eIfwv3qiDS4h3ajjLGD78hgHH4KElQmJQQWdXNkblVzZGNMUFRva2VuQXNzZXRJZAEgA2kB/BsKmAqIzY/+EVmFhSaRMrNakvwm6Uhd05/eXHYEEXB1enpsZVBvb2xBZGRyZXNzAiMzUEdGSHpWR1Q0TlRpZ3dDS1AxTmN3b1hrb2RWWnd2QnV1VQQKcHV6emxlUG9vbAkBEUBleHRyTmF0aXZlKDEwNjIpAQURcHV6emxlUG9vbEFkZHJlc3MDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAht5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGFyYiEEDWluaXRpYWxBbW91bnQJAPAHAgUEdGhpcwULdXNkbkFzc2V0SWQDCQAAAgUNaW5pdGlhbEFtb3VudAUNaW5pdGlhbEFtb3VudAQUcHV0VGhlVG9rZW5JblRoZVBvb2wJAPwHBAUEcG9vbAILcHV0T25lVGtuVjIJAMwIAgABCQDMCAIHBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFC3VzZG5Bc3NldElkCQBoAgUGYW1vdW50AMCEPQUDbmlsAwkAAAIFFHB1dFRoZVRva2VuSW5UaGVQb29sBRRwdXRUaGVUb2tlbkluVGhlUG9vbAQObHBUb2tlbkJhbGFuY2UJAPAHAgUEdGhpcwUWdXNkblVzZGNMUFRva2VuQXNzZXRJZAMJAAACBQ5scFRva2VuQmFsYW5jZQUObHBUb2tlbkJhbGFuY2UEDXNlbGxQb29sVG9rZW4JAPwHBAUEcG9vbAILZ2V0T25lVGtuVjIJAMwIAgURdXNkY0Fzc2V0SWRTdHJpbmcJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFFnVzZG5Vc2RjTFBUb2tlbkFzc2V0SWQFDmxwVG9rZW5CYWxhbmNlBQNuaWwDCQAAAgUNc2VsbFBvb2xUb2tlbgUNc2VsbFBvb2xUb2tlbgQQdXNkY1Rva2VuQmFsYW5jZQkA8AcCBQR0aGlzBQt1c2RjQXNzZXRJZAMJAAACBRB1c2RjVG9rZW5CYWxhbmNlBRB1c2RjVG9rZW5CYWxhbmNlBAxzZWxsT25QdXp6bGUJAPwHBAUKcHV6emxlUG9vbAIEc3dhcAkAzAgCBQRwYXRoCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQt1c2RjQXNzZXRJZAUQdXNkY1Rva2VuQmFsYW5jZQUDbmlsAwkAAAIFDHNlbGxPblB1enpsZQUMc2VsbE9uUHV6emxlBAtmaW5hbEFtb3VudAkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBQtmaW5hbEFtb3VudAULZmluYWxBbW91bnQDCQBnAgUNaW5pdGlhbEFtb3VudAULZmluYWxBbW91bnQJAAIBAhNhcmIgbm90IHN1Y2Nlc3NmdWwhBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEGYXJiVFNOAgRwYXRoBmFtb3VudAQLcG9vbEFkZHJlc3MCIzNQSDgzMmVLbnc2N1BGdkpmVWc5S256NkJITTg3UXZqTWVMBARwb29sCQERQGV4dHJOYXRpdmUoMTA2MikBBQtwb29sQWRkcmVzcwQLdXNkbkFzc2V0SWQBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRBBF1c2RuQXNzZXRJZFN0cmluZwIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAECnRzbkFzc2V0SWQBIHUWEDiAdg1VZX5J866x2+YZnGoQaB/JVWH6SkZadzAcBBV1c2RuVHNuTFBUb2tlbkFzc2V0SWQBIMobqxDlBb4Btze0E871/oNWTcbB9LmeGtGidutsomByBBFwdXp6bGVQb29sQWRkcmVzcwIjM1BHRkh6VkdUNE5UaWd3Q0tQMU5jd29Ya29kVlp3dkJ1dVUECnB1enpsZVBvb2wJARFAZXh0ck5hdGl2ZSgxMDYyKQEFEXB1enpsZVBvb2xBZGRyZXNzAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIbeW91IGFyZSBub3QgYWxsb3dlZCB0byBhcmIhBA1pbml0aWFsQW1vdW50CQDwBwIFBHRoaXMFC3VzZG5Bc3NldElkAwkAAAIFDWluaXRpYWxBbW91bnQFDWluaXRpYWxBbW91bnQEC2J1eU9uUHV6emxlCQD8BwQFCnB1enpsZVBvb2wCBHN3YXAJAMwIAgUEcGF0aAkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgULdXNkbkFzc2V0SWQJAGgCBQZhbW91bnQAwIQ9BQNuaWwDCQAAAgULYnV5T25QdXp6bGUFC2J1eU9uUHV6emxlBA90c25Ub2tlbkJhbGFuY2UJAPAHAgUEdGhpcwUKdHNuQXNzZXRJZAMJAAACBQ90c25Ub2tlbkJhbGFuY2UFD3RzblRva2VuQmFsYW5jZQQUcHV0VGhlVG9rZW5JblRoZVBvb2wJAPwHBAUEcG9vbAIJcHV0T25lVGtuCQDMCAIAAQkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQp0c25Bc3NldElkBQ90c25Ub2tlbkJhbGFuY2UFA25pbAMJAAACBRRwdXRUaGVUb2tlbkluVGhlUG9vbAUUcHV0VGhlVG9rZW5JblRoZVBvb2wEDmxwVG9rZW5CYWxhbmNlCQDwBwIFBHRoaXMFFXVzZG5Uc25MUFRva2VuQXNzZXRJZAMJAAACBQ5scFRva2VuQmFsYW5jZQUObHBUb2tlbkJhbGFuY2UEDXNlbGxQb29sVG9rZW4JAPwHBAUEcG9vbAIJZ2V0T25lVGtuCQDMCAIFEXVzZG5Bc3NldElkU3RyaW5nCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBRV1c2RuVHNuTFBUb2tlbkFzc2V0SWQFDmxwVG9rZW5CYWxhbmNlBQNuaWwDCQAAAgUNc2VsbFBvb2xUb2tlbgUNc2VsbFBvb2xUb2tlbgQLZmluYWxBbW91bnQJAPAHAgUEdGhpcwULdXNkbkFzc2V0SWQDCQAAAgULZmluYWxBbW91bnQFC2ZpbmFsQW1vdW50AwkAZwIFDWluaXRpYWxBbW91bnQFC2ZpbmFsQW1vdW50CQACAQITYXJiIG5vdCBzdWNjZXNzZnVsIQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB2FyYlRTTjICBHBhdGgGYW1vdW50BAtwb29sQWRkcmVzcwIjM1BIODMyZUtudzY3UEZ2SmZVZzlLbno2QkhNODdRdmpNZUwEBHBvb2wJARFAZXh0ck5hdGl2ZSgxMDYyKQEFC3Bvb2xBZGRyZXNzBAt1c2RuQXNzZXRJZAEgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEEEXVzZG5Bc3NldElkU3RyaW5nAixERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAQKdHNuQXNzZXRJZAEgdRYQOIB2DVVlfknzrrHb5hmcahBoH8lVYfpKRlp3MBwEEHRzbkFzc2V0SWRTdHJpbmcCLDh0NERQV1R3UHpwYXRIQTlBa1R4V0FCNDdUSG5ZekJzRG5vWTdmUXFiRzkxBBV1c2RuVHNuTFBUb2tlbkFzc2V0SWQBIMobqxDlBb4Btze0E871/oNWTcbB9LmeGtGidutsomByBBFwdXp6bGVQb29sQWRkcmVzcwIjM1BHRkh6VkdUNE5UaWd3Q0tQMU5jd29Ya29kVlp3dkJ1dVUECnB1enpsZVBvb2wJARFAZXh0ck5hdGl2ZSgxMDYyKQEFEXB1enpsZVBvb2xBZGRyZXNzAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIbeW91IGFyZSBub3QgYWxsb3dlZCB0byBhcmIhBA1pbml0aWFsQW1vdW50CQDwBwIFBHRoaXMFC3VzZG5Bc3NldElkAwkAAAIFDWluaXRpYWxBbW91bnQFDWluaXRpYWxBbW91bnQEFHB1dFRoZVRva2VuSW5UaGVQb29sCQD8BwQFBHBvb2wCCXB1dE9uZVRrbgkAzAgCAAEJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgULdXNkbkFzc2V0SWQJAGgCBQZhbW91bnQAwIQ9BQNuaWwDCQAAAgUUcHV0VGhlVG9rZW5JblRoZVBvb2wFFHB1dFRoZVRva2VuSW5UaGVQb29sBA5scFRva2VuQmFsYW5jZQkA8AcCBQR0aGlzBRV1c2RuVHNuTFBUb2tlbkFzc2V0SWQDCQAAAgUObHBUb2tlbkJhbGFuY2UFDmxwVG9rZW5CYWxhbmNlBA1zZWxsUG9vbFRva2VuCQD8BwQFBHBvb2wCCWdldE9uZVRrbgkAzAgCBRB0c25Bc3NldElkU3RyaW5nCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBRV1c2RuVHNuTFBUb2tlbkFzc2V0SWQFDmxwVG9rZW5CYWxhbmNlBQNuaWwDCQAAAgUNc2VsbFBvb2xUb2tlbgUNc2VsbFBvb2xUb2tlbgQPdHNuVG9rZW5CYWxhbmNlCQDwBwIFBHRoaXMFCnRzbkFzc2V0SWQDCQAAAgUPdHNuVG9rZW5CYWxhbmNlBQ90c25Ub2tlbkJhbGFuY2UEDHNlbGxPblB1enpsZQkA/AcEBQpwdXp6bGVQb29sAgRzd2FwCQDMCAIFBHBhdGgJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFCnRzbkFzc2V0SWQFD3RzblRva2VuQmFsYW5jZQUDbmlsAwkAAAIFDHNlbGxPblB1enpsZQUMc2VsbE9uUHV6emxlBAtmaW5hbEFtb3VudAkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBQtmaW5hbEFtb3VudAULZmluYWxBbW91bnQDCQBnAgUNaW5pdGlhbEFtb3VudAULZmluYWxBbW91bnQJAAIBAhNhcmIgbm90IHN1Y2Nlc3NmdWwhBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5xejzFQ==", "height": 3422399, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Aopi1VS4F8pCWxZSLWeSAymDsjppxqJ35b9i7iYLaiqj Next: FjT1x4JdTEWg9kcqELinDai3KbiQNGqvto9FcdpZJJG2 Diff:
OldNewDifferences
3434 then {
3535 let sellPoolToken = invoke(pool, "getOneTknV2", [usdnAssetIdString, 1], [AttachedPayment(usdnUsdcLPTokenAssetId, lpTokenBalance)])
3636 if ((sellPoolToken == sellPoolToken))
37+ then {
38+ let finalAmount = assetBalance(this, usdnAssetId)
39+ if ((finalAmount == finalAmount))
40+ then if ((initialAmount >= finalAmount))
41+ then throw("arb not successful!")
42+ else nil
43+ else throw("Strict value is not equal to itself.")
44+ }
45+ else throw("Strict value is not equal to itself.")
46+ }
47+ else throw("Strict value is not equal to itself.")
48+ }
49+ else throw("Strict value is not equal to itself.")
50+ }
51+ else throw("Strict value is not equal to itself.")
52+ }
53+ else throw("Strict value is not equal to itself.")
54+ }
55+ else throw("Strict value is not equal to itself.")
56+ }
57+ }
58+
59+
60+
61+@Callable(i)
62+func arbUSDC2 (path,amount) = {
63+ let poolAddress = "3PC3HtupBxBmy4WtZf1Tym1vrxg9MwbZRK1"
64+ let pool = addressFromStringValue(poolAddress)
65+ let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
66+ let usdnAssetIdString = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
67+ let usdcAssetIdString = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
68+ let usdcAssetId = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
69+ let usdnUsdcLPTokenAssetId = base58'EK6N7S38xbtBT3SxAqoGdDLCiX6rojX6G169CnSyuE5'
70+ let puzzlePoolAddress = "3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU"
71+ let puzzlePool = addressFromStringValue(puzzlePoolAddress)
72+ if ((i.caller != this))
73+ then throw("you are not allowed to arb!")
74+ else {
75+ let initialAmount = assetBalance(this, usdnAssetId)
76+ if ((initialAmount == initialAmount))
77+ then {
78+ let putTheTokenInThePool = invoke(pool, "putOneTknV2", [1, false], [AttachedPayment(usdnAssetId, (amount * 1000000))])
79+ if ((putTheTokenInThePool == putTheTokenInThePool))
80+ then {
81+ let lpTokenBalance = assetBalance(this, usdnUsdcLPTokenAssetId)
82+ if ((lpTokenBalance == lpTokenBalance))
83+ then {
84+ let sellPoolToken = invoke(pool, "getOneTknV2", [usdcAssetIdString, 1], [AttachedPayment(usdnUsdcLPTokenAssetId, lpTokenBalance)])
85+ if ((sellPoolToken == sellPoolToken))
86+ then {
87+ let usdcTokenBalance = assetBalance(this, usdcAssetId)
88+ if ((usdcTokenBalance == usdcTokenBalance))
89+ then {
90+ let sellOnPuzzle = invoke(puzzlePool, "swap", [path, 1], [AttachedPayment(usdcAssetId, usdcTokenBalance)])
91+ if ((sellOnPuzzle == sellOnPuzzle))
3792 then {
3893 let finalAmount = assetBalance(this, usdnAssetId)
3994 if ((finalAmount == finalAmount))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func arbUSDC (path,amount) = {
88 let poolAddress = "3PC3HtupBxBmy4WtZf1Tym1vrxg9MwbZRK1"
99 let pool = addressFromStringValue(poolAddress)
1010 let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1111 let usdnAssetIdString = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
1212 let usdcAssetIdString = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
1313 let usdcAssetId = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
1414 let usdnUsdcLPTokenAssetId = base58'EK6N7S38xbtBT3SxAqoGdDLCiX6rojX6G169CnSyuE5'
1515 let puzzlePoolAddress = "3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU"
1616 let puzzlePool = addressFromStringValue(puzzlePoolAddress)
1717 if ((i.caller != this))
1818 then throw("you are not allowed to arb!")
1919 else {
2020 let initialAmount = assetBalance(this, usdnAssetId)
2121 if ((initialAmount == initialAmount))
2222 then {
2323 let buyOnPuzzle = invoke(puzzlePool, "swap", [path, 1], [AttachedPayment(usdnAssetId, (amount * 1000000))])
2424 if ((buyOnPuzzle == buyOnPuzzle))
2525 then {
2626 let usdcTokenBalance = assetBalance(this, usdcAssetId)
2727 if ((usdcTokenBalance == usdcTokenBalance))
2828 then {
2929 let putTheTokenInThePool = invoke(pool, "putOneTknV2", [1, false], [AttachedPayment(usdcAssetId, usdcTokenBalance)])
3030 if ((putTheTokenInThePool == putTheTokenInThePool))
3131 then {
3232 let lpTokenBalance = assetBalance(this, usdnUsdcLPTokenAssetId)
3333 if ((lpTokenBalance == lpTokenBalance))
3434 then {
3535 let sellPoolToken = invoke(pool, "getOneTknV2", [usdnAssetIdString, 1], [AttachedPayment(usdnUsdcLPTokenAssetId, lpTokenBalance)])
3636 if ((sellPoolToken == sellPoolToken))
37+ then {
38+ let finalAmount = assetBalance(this, usdnAssetId)
39+ if ((finalAmount == finalAmount))
40+ then if ((initialAmount >= finalAmount))
41+ then throw("arb not successful!")
42+ else nil
43+ else throw("Strict value is not equal to itself.")
44+ }
45+ else throw("Strict value is not equal to itself.")
46+ }
47+ else throw("Strict value is not equal to itself.")
48+ }
49+ else throw("Strict value is not equal to itself.")
50+ }
51+ else throw("Strict value is not equal to itself.")
52+ }
53+ else throw("Strict value is not equal to itself.")
54+ }
55+ else throw("Strict value is not equal to itself.")
56+ }
57+ }
58+
59+
60+
61+@Callable(i)
62+func arbUSDC2 (path,amount) = {
63+ let poolAddress = "3PC3HtupBxBmy4WtZf1Tym1vrxg9MwbZRK1"
64+ let pool = addressFromStringValue(poolAddress)
65+ let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
66+ let usdnAssetIdString = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
67+ let usdcAssetIdString = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
68+ let usdcAssetId = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
69+ let usdnUsdcLPTokenAssetId = base58'EK6N7S38xbtBT3SxAqoGdDLCiX6rojX6G169CnSyuE5'
70+ let puzzlePoolAddress = "3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU"
71+ let puzzlePool = addressFromStringValue(puzzlePoolAddress)
72+ if ((i.caller != this))
73+ then throw("you are not allowed to arb!")
74+ else {
75+ let initialAmount = assetBalance(this, usdnAssetId)
76+ if ((initialAmount == initialAmount))
77+ then {
78+ let putTheTokenInThePool = invoke(pool, "putOneTknV2", [1, false], [AttachedPayment(usdnAssetId, (amount * 1000000))])
79+ if ((putTheTokenInThePool == putTheTokenInThePool))
80+ then {
81+ let lpTokenBalance = assetBalance(this, usdnUsdcLPTokenAssetId)
82+ if ((lpTokenBalance == lpTokenBalance))
83+ then {
84+ let sellPoolToken = invoke(pool, "getOneTknV2", [usdcAssetIdString, 1], [AttachedPayment(usdnUsdcLPTokenAssetId, lpTokenBalance)])
85+ if ((sellPoolToken == sellPoolToken))
86+ then {
87+ let usdcTokenBalance = assetBalance(this, usdcAssetId)
88+ if ((usdcTokenBalance == usdcTokenBalance))
89+ then {
90+ let sellOnPuzzle = invoke(puzzlePool, "swap", [path, 1], [AttachedPayment(usdcAssetId, usdcTokenBalance)])
91+ if ((sellOnPuzzle == sellOnPuzzle))
3792 then {
3893 let finalAmount = assetBalance(this, usdnAssetId)
3994 if ((finalAmount == finalAmount))
4095 then if ((initialAmount >= finalAmount))
4196 then throw("arb not successful!")
4297 else nil
4398 else throw("Strict value is not equal to itself.")
4499 }
45100 else throw("Strict value is not equal to itself.")
46101 }
47102 else throw("Strict value is not equal to itself.")
48103 }
49104 else throw("Strict value is not equal to itself.")
50105 }
51106 else throw("Strict value is not equal to itself.")
52107 }
53108 else throw("Strict value is not equal to itself.")
54109 }
55110 else throw("Strict value is not equal to itself.")
56111 }
57112 }
58113
59114
60115
61116 @Callable(i)
62117 func arbTSN (path,amount) = {
63118 let poolAddress = "3PH832eKnw67PFvJfUg9Knz6BHM87QvjMeL"
64119 let pool = addressFromStringValue(poolAddress)
65120 let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
66121 let usdnAssetIdString = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
67122 let tsnAssetId = base58'8t4DPWTwPzpatHA9AkTxWAB47THnYzBsDnoY7fQqbG91'
68123 let usdnTsnLPTokenAssetId = base58'EbwpqrZjrvi7XLowkM5Z2rg7xVdzfg6S5ec9asarpAU9'
69124 let puzzlePoolAddress = "3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU"
70125 let puzzlePool = addressFromStringValue(puzzlePoolAddress)
71126 if ((i.caller != this))
72127 then throw("you are not allowed to arb!")
73128 else {
74129 let initialAmount = assetBalance(this, usdnAssetId)
75130 if ((initialAmount == initialAmount))
76131 then {
77132 let buyOnPuzzle = invoke(puzzlePool, "swap", [path, 1], [AttachedPayment(usdnAssetId, (amount * 1000000))])
78133 if ((buyOnPuzzle == buyOnPuzzle))
79134 then {
80135 let tsnTokenBalance = assetBalance(this, tsnAssetId)
81136 if ((tsnTokenBalance == tsnTokenBalance))
82137 then {
83138 let putTheTokenInThePool = invoke(pool, "putOneTkn", [1, false], [AttachedPayment(tsnAssetId, tsnTokenBalance)])
84139 if ((putTheTokenInThePool == putTheTokenInThePool))
85140 then {
86141 let lpTokenBalance = assetBalance(this, usdnTsnLPTokenAssetId)
87142 if ((lpTokenBalance == lpTokenBalance))
88143 then {
89144 let sellPoolToken = invoke(pool, "getOneTkn", [usdnAssetIdString, 1], [AttachedPayment(usdnTsnLPTokenAssetId, lpTokenBalance)])
90145 if ((sellPoolToken == sellPoolToken))
91146 then {
92147 let finalAmount = assetBalance(this, usdnAssetId)
93148 if ((finalAmount == finalAmount))
94149 then if ((initialAmount >= finalAmount))
95150 then throw("arb not successful!")
96151 else nil
97152 else throw("Strict value is not equal to itself.")
98153 }
99154 else throw("Strict value is not equal to itself.")
100155 }
101156 else throw("Strict value is not equal to itself.")
102157 }
103158 else throw("Strict value is not equal to itself.")
104159 }
105160 else throw("Strict value is not equal to itself.")
106161 }
107162 else throw("Strict value is not equal to itself.")
108163 }
109164 else throw("Strict value is not equal to itself.")
110165 }
111166 }
112167
113168
114169
115170 @Callable(i)
116171 func arbTSN2 (path,amount) = {
117172 let poolAddress = "3PH832eKnw67PFvJfUg9Knz6BHM87QvjMeL"
118173 let pool = addressFromStringValue(poolAddress)
119174 let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
120175 let usdnAssetIdString = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
121176 let tsnAssetId = base58'8t4DPWTwPzpatHA9AkTxWAB47THnYzBsDnoY7fQqbG91'
122177 let tsnAssetIdString = "8t4DPWTwPzpatHA9AkTxWAB47THnYzBsDnoY7fQqbG91"
123178 let usdnTsnLPTokenAssetId = base58'EbwpqrZjrvi7XLowkM5Z2rg7xVdzfg6S5ec9asarpAU9'
124179 let puzzlePoolAddress = "3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU"
125180 let puzzlePool = addressFromStringValue(puzzlePoolAddress)
126181 if ((i.caller != this))
127182 then throw("you are not allowed to arb!")
128183 else {
129184 let initialAmount = assetBalance(this, usdnAssetId)
130185 if ((initialAmount == initialAmount))
131186 then {
132187 let putTheTokenInThePool = invoke(pool, "putOneTkn", [1, false], [AttachedPayment(usdnAssetId, (amount * 1000000))])
133188 if ((putTheTokenInThePool == putTheTokenInThePool))
134189 then {
135190 let lpTokenBalance = assetBalance(this, usdnTsnLPTokenAssetId)
136191 if ((lpTokenBalance == lpTokenBalance))
137192 then {
138193 let sellPoolToken = invoke(pool, "getOneTkn", [tsnAssetIdString, 1], [AttachedPayment(usdnTsnLPTokenAssetId, lpTokenBalance)])
139194 if ((sellPoolToken == sellPoolToken))
140195 then {
141196 let tsnTokenBalance = assetBalance(this, tsnAssetId)
142197 if ((tsnTokenBalance == tsnTokenBalance))
143198 then {
144199 let sellOnPuzzle = invoke(puzzlePool, "swap", [path, 1], [AttachedPayment(tsnAssetId, tsnTokenBalance)])
145200 if ((sellOnPuzzle == sellOnPuzzle))
146201 then {
147202 let finalAmount = assetBalance(this, usdnAssetId)
148203 if ((finalAmount == finalAmount))
149204 then if ((initialAmount >= finalAmount))
150205 then throw("arb not successful!")
151206 else nil
152207 else throw("Strict value is not equal to itself.")
153208 }
154209 else throw("Strict value is not equal to itself.")
155210 }
156211 else throw("Strict value is not equal to itself.")
157212 }
158213 else throw("Strict value is not equal to itself.")
159214 }
160215 else throw("Strict value is not equal to itself.")
161216 }
162217 else throw("Strict value is not equal to itself.")
163218 }
164219 else throw("Strict value is not equal to itself.")
165220 }
166221 }
167222
168223
169224 @Verifier(tx)
170225 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
171226

github/deemru/w8io/3ef1775 
45.20 ms