tx · FP46eveqk49MiTCPFBDeQsVV6SQNcp9i5pDsnSVfDs7V

3PBy5csSnjgkieeF9dRTXN2AwG3SXBsVpww:  -0.00600000 Waves

2022.12.14 14:05 [3425373] smart account 3PBy5csSnjgkieeF9dRTXN2AwG3SXBsVpww > SELF 0.00000000 Waves

{ "type": 13, "id": "FP46eveqk49MiTCPFBDeQsVV6SQNcp9i5pDsnSVfDs7V", "fee": 600000, "feeAssetId": null, "timestamp": 1671015961632, "version": 2, "chainId": 87, "sender": "3PBy5csSnjgkieeF9dRTXN2AwG3SXBsVpww", "senderPublicKey": "ACUCrsKGyXXF5qHMFHPnQRbm5dQ619jBk5r4xWgex9TE", "proofs": [ "4QfcLwJ1p9L1unqHsrfi3rAwQfkbeewnGQrDitUMt8oBsNVZqdUc4XDdPcSMYYTHNVDWZCUbGJnPj9auaCf8Uphv" ], "script": "base64:BgIYCAISBAoCCAESBAoCCAESAwoBARIDCgEBCQAGd3hQb29sCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUFBaV2dGTlJLSEx2TTUxcHdTOTM0QzhWWjdkMkY0WjU4ZwALdXNkbkFzc2V0SWQBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRABF1c2RuQXNzZXRJZFN0cmluZwIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAAF3VzZG5XYXZlc0xQVG9rZW5Bc3NldElkASBd521uRqbHObG0riFDU2pol6qZD59bFfq8alENHEkZIAAUbm9uUm91dGluZ1B1enpsZVBvb2wJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQRHJZUEY2aXp6YTJzWFdmZnpUUEY3ZTJGY2lyMkNNcGtpAAtzdXJmQXNzZXRJZAEgktH0SuIRASv0fureIY49xfvJ8n3Oh7LtUhnwOk4kWPUAEXN1cmZBc3NldElkU3RyaW5nAixBdDhENk5GRnBoZUNidktWbmpWb2VMTDg0RW84TlpuNm92TWFueGZMYUZXTAAYbm9uUm91dGluZ1B1enpsZVN1cmZQb29sCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUDdyOTN2WEh1dXNhZ2VOSlZHd3pxYXozV01vdEF1NDlZegAMc3dvcFN1cmZQb29sCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUExwOUtyZHJiV0F2U0ZIR0pWRWFzelV1YnF1ejNNNm1mZQQBaQECYVACAXABYQMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECG3lvdSBhcmUgbm90IGFsbG93ZWQgdG8gYXJiIQQRdXNkbkJhbGFuY2VCZWZvcmUJAPAHAgUEdGhpcwULdXNkbkFzc2V0SWQDCQAAAgURdXNkbkJhbGFuY2VCZWZvcmUFEXVzZG5CYWxhbmNlQmVmb3JlBBJ3YXZlc0JhbGFuY2VCZWZvcmUICQDvBwEFBHRoaXMJYXZhaWxhYmxlAwkAAAIFEndhdmVzQmFsYW5jZUJlZm9yZQUSd2F2ZXNCYWxhbmNlQmVmb3JlBAtidXlPblB1enpsZQkA/AcEBRRub25Sb3V0aW5nUHV6emxlUG9vbAIEc3dhcAkAzAgCBQFwCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQt1c2RuQXNzZXRJZAkAaAIFAWEAwIQ9BQNuaWwDCQAAAgULYnV5T25QdXp6bGUFC2J1eU9uUHV6emxlBA53YXZlc0JhbFRvU3dhcAkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlBRJ3YXZlc0JhbGFuY2VCZWZvcmUDCQBnAgAABQ53YXZlc0JhbFRvU3dhcAkAAgECDm5vdGhpbmcgdG8gYXJiBBRwdXRUaGVUb2tlbkluVGhlUG9vbAkA/AcEBQZ3eFBvb2wCCXB1dE9uZVRrbgkAzAgCAAEJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUOd2F2ZXNCYWxUb1N3YXAFA25pbAMJAAACBRRwdXRUaGVUb2tlbkluVGhlUG9vbAUUcHV0VGhlVG9rZW5JblRoZVBvb2wEDmxwVG9rZW5CYWxhbmNlCQDwBwIFBHRoaXMFF3VzZG5XYXZlc0xQVG9rZW5Bc3NldElkAwkAAAIFDmxwVG9rZW5CYWxhbmNlBQ5scFRva2VuQmFsYW5jZQQNc2VsbFBvb2xUb2tlbgkA/AcEBQZ3eFBvb2wCCWdldE9uZVRrbgkAzAgCBRF1c2RuQXNzZXRJZFN0cmluZwkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUXdXNkbldhdmVzTFBUb2tlbkFzc2V0SWQFDmxwVG9rZW5CYWxhbmNlBQNuaWwDCQAAAgUNc2VsbFBvb2xUb2tlbgUNc2VsbFBvb2xUb2tlbgQQdXNkbkJhbGFuY2VBZnRlcgkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBRB1c2RuQmFsYW5jZUFmdGVyBRB1c2RuQmFsYW5jZUFmdGVyAwkAZwIAAAkAZQIFEHVzZG5CYWxhbmNlQWZ0ZXIFEXVzZG5CYWxhbmNlQmVmb3JlCQACAQIYV1UgUFVaWkxFIC0+IFdYICBbKCRfJCldBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEDYVAyAgFwAWEDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAht5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGFyYiEEEXVzZG5CYWxhbmNlQmVmb3JlCQDwBwIFBHRoaXMFC3VzZG5Bc3NldElkAwkAAAIFEXVzZG5CYWxhbmNlQmVmb3JlBRF1c2RuQmFsYW5jZUJlZm9yZQQSd2F2ZXNCYWxhbmNlQmVmb3JlCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQMJAAACBRJ3YXZlc0JhbGFuY2VCZWZvcmUFEndhdmVzQmFsYW5jZUJlZm9yZQQUcHV0VGhlVG9rZW5JblRoZVBvb2wJAPwHBAUGd3hQb29sAglwdXRPbmVUa24JAMwIAgABCQDMCAIHBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFC3VzZG5Bc3NldElkCQBoAgUBYQDAhD0FA25pbAMJAAACBRRwdXRUaGVUb2tlbkluVGhlUG9vbAUUcHV0VGhlVG9rZW5JblRoZVBvb2wEDmxwVG9rZW5CYWxhbmNlCQDwBwIFBHRoaXMFF3VzZG5XYXZlc0xQVG9rZW5Bc3NldElkAwkAAAIFDmxwVG9rZW5CYWxhbmNlBQ5scFRva2VuQmFsYW5jZQQNc2VsbFBvb2xUb2tlbgkA/AcEBQZ3eFBvb2wCCWdldE9uZVRrbgkAzAgCBQFwCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBRd1c2RuV2F2ZXNMUFRva2VuQXNzZXRJZAUObHBUb2tlbkJhbGFuY2UFA25pbAMJAAACBQ1zZWxsUG9vbFRva2VuBQ1zZWxsUG9vbFRva2VuBA53YXZlc0JhbFRvU3dhcAkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlBRJ3YXZlc0JhbGFuY2VCZWZvcmUDCQBnAgAABQ53YXZlc0JhbFRvU3dhcAkAAgECDm5vdGhpbmcgdG8gYXJiBAtidXlPblB1enpsZQkA/AcEBRRub25Sb3V0aW5nUHV6emxlUG9vbAIEc3dhcAkAzAgCBRF1c2RuQXNzZXRJZFN0cmluZwkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUOd2F2ZXNCYWxUb1N3YXAFA25pbAMJAAACBQtidXlPblB1enpsZQULYnV5T25QdXp6bGUEEHVzZG5CYWxhbmNlQWZ0ZXIJAPAHAgUEdGhpcwULdXNkbkFzc2V0SWQDCQAAAgUQdXNkbkJhbGFuY2VBZnRlcgUQdXNkbkJhbGFuY2VBZnRlcgMJAGcCAAAJAGUCBRB1c2RuQmFsYW5jZUFmdGVyBRF1c2RuQmFsYW5jZUJlZm9yZQkAAgECF1dVIFdYIC0+IFBVWlpMRSBbKCRfJCldBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEDYVBzAQFhAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIbeW91IGFyZSBub3QgYWxsb3dlZCB0byBhcmIhBBF1c2RuQmFsYW5jZUJlZm9yZQkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBRF1c2RuQmFsYW5jZUJlZm9yZQURdXNkbkJhbGFuY2VCZWZvcmUED2J1eVN1cmZPblB1enpsZQkA/AcEBRhub25Sb3V0aW5nUHV6emxlU3VyZlBvb2wCBHN3YXAJAMwIAgURc3VyZkFzc2V0SWRTdHJpbmcJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFC3VzZG5Bc3NldElkCQBoAgUBYQDAhD0FA25pbAMJAAACBQ9idXlTdXJmT25QdXp6bGUFD2J1eVN1cmZPblB1enpsZQQNc3VyZkJhbFRvU3dhcAkA8AcCBQR0aGlzBQtzdXJmQXNzZXRJZAQOc3dhcFN1cmZPblN3b3AJAPwHBAUMc3dvcFN1cmZQb29sAghleGNoYW5nZQkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgULc3VyZkFzc2V0SWQFDXN1cmZCYWxUb1N3YXAFA25pbAMJAAACBQ5zd2FwU3VyZk9uU3dvcAUOc3dhcFN1cmZPblN3b3AEEHVzZG5CYWxhbmNlQWZ0ZXIJAPAHAgUEdGhpcwULdXNkbkFzc2V0SWQDCQAAAgUQdXNkbkJhbGFuY2VBZnRlcgUQdXNkbkJhbGFuY2VBZnRlcgMJAGcCAAAJAGUCBRB1c2RuQmFsYW5jZUFmdGVyBRF1c2RuQmFsYW5jZUJlZm9yZQkAAgECG1NVUkYgUFVaWkxFIC0+IFNXT1AgWygkXyQpXQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBGFQczIBAWEDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAht5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGFyYiEEEXVzZG5CYWxhbmNlQmVmb3JlCQDwBwIFBHRoaXMFC3VzZG5Bc3NldElkAwkAAAIFEXVzZG5CYWxhbmNlQmVmb3JlBRF1c2RuQmFsYW5jZUJlZm9yZQQQc3dhcFRvU3VyZk9uU3dvcAkA/AcEBQxzd29wU3VyZlBvb2wCCGV4Y2hhbmdlCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQt1c2RuQXNzZXRJZAkAaAIFAWEAwIQ9BQNuaWwDCQAAAgUQc3dhcFRvU3VyZk9uU3dvcAUQc3dhcFRvU3VyZk9uU3dvcAQNc3VyZkJhbFRvU3dhcAkA8AcCBQR0aGlzBQtzdXJmQXNzZXRJZAQQc2VsbFN1cmZPblB1enpsZQkA/AcEBRhub25Sb3V0aW5nUHV6emxlU3VyZlBvb2wCBHN3YXAJAMwIAgURdXNkbkFzc2V0SWRTdHJpbmcJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFC3N1cmZBc3NldElkBQ1zdXJmQmFsVG9Td2FwBQNuaWwDCQAAAgUQc2VsbFN1cmZPblB1enpsZQUQc2VsbFN1cmZPblB1enpsZQQQdXNkbkJhbGFuY2VBZnRlcgkA8AcCBQR0aGlzBQt1c2RuQXNzZXRJZAMJAAACBRB1c2RuQmFsYW5jZUFmdGVyBRB1c2RuQmFsYW5jZUFmdGVyAwkAZwIAAAkAZQIFEHVzZG5CYWxhbmNlQWZ0ZXIFEXVzZG5CYWxhbmNlQmVmb3JlCQACAQIbU1VSRiBTV09QIC0+IFBVWlpMRSBbKCRfJCldBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkACQDIEwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5p7IfIA==", "height": 3425373, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FEst8kN5tHy1MaRoz1A9fVnRj1DTV4sZAqM6xmdEXtsn Next: 2AZKaUowPVEoyiRBBAHbdh5hcTVGvowB49gAcrqktn7F Diff:
OldNewDifferences
164164 let usdnBalanceAfter = assetBalance(this, usdnAssetId)
165165 if ((usdnBalanceAfter == usdnBalanceAfter))
166166 then if ((0 >= (usdnBalanceAfter - usdnBalanceBefore)))
167- then throw("SURF PUZZLE -> SWOP [($_$)]")
167+ then throw("SURF SWOP -> PUZZLE [($_$)]")
168168 else nil
169169 else throw("Strict value is not equal to itself.")
170170 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let wxPool = addressFromStringValue("3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g")
55
66 let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
88 let usdnAssetIdString = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
99
1010 let usdnWavesLPTokenAssetId = base58'7KZbJrVopwJhkdwbe1eFDBbex4dkY63MxjTNjqXtrzj1'
1111
1212 let nonRoutingPuzzlePool = addressFromStringValue("3PDrYPF6izza2sXWffzTPF7e2Fcir2CMpki")
1313
1414 let surfAssetId = base58'At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL'
1515
1616 let surfAssetIdString = "At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL"
1717
1818 let nonRoutingPuzzleSurfPool = addressFromStringValue("3P7r93vXHuusageNJVGwzqaz3WMotAu49Yz")
1919
2020 let swopSurfPool = addressFromStringValue("3PLp9KrdrbWAvSFHGJVEaszUubquz3M6mfe")
2121
2222 @Callable(i)
2323 func aP (p,a) = if ((i.caller != this))
2424 then throw("you are not allowed to arb!")
2525 else {
2626 let usdnBalanceBefore = assetBalance(this, usdnAssetId)
2727 if ((usdnBalanceBefore == usdnBalanceBefore))
2828 then {
2929 let wavesBalanceBefore = wavesBalance(this).available
3030 if ((wavesBalanceBefore == wavesBalanceBefore))
3131 then {
3232 let buyOnPuzzle = invoke(nonRoutingPuzzlePool, "swap", [p, 1], [AttachedPayment(usdnAssetId, (a * 1000000))])
3333 if ((buyOnPuzzle == buyOnPuzzle))
3434 then {
3535 let wavesBalToSwap = (wavesBalance(this).available - wavesBalanceBefore)
3636 if ((0 >= wavesBalToSwap))
3737 then throw("nothing to arb")
3838 else {
3939 let putTheTokenInThePool = invoke(wxPool, "putOneTkn", [1, false], [AttachedPayment(unit, wavesBalToSwap)])
4040 if ((putTheTokenInThePool == putTheTokenInThePool))
4141 then {
4242 let lpTokenBalance = assetBalance(this, usdnWavesLPTokenAssetId)
4343 if ((lpTokenBalance == lpTokenBalance))
4444 then {
4545 let sellPoolToken = invoke(wxPool, "getOneTkn", [usdnAssetIdString, 1], [AttachedPayment(usdnWavesLPTokenAssetId, lpTokenBalance)])
4646 if ((sellPoolToken == sellPoolToken))
4747 then {
4848 let usdnBalanceAfter = assetBalance(this, usdnAssetId)
4949 if ((usdnBalanceAfter == usdnBalanceAfter))
5050 then if ((0 >= (usdnBalanceAfter - usdnBalanceBefore)))
5151 then throw("WU PUZZLE -> WX [($_$)]")
5252 else nil
5353 else throw("Strict value is not equal to itself.")
5454 }
5555 else throw("Strict value is not equal to itself.")
5656 }
5757 else throw("Strict value is not equal to itself.")
5858 }
5959 else throw("Strict value is not equal to itself.")
6060 }
6161 }
6262 else throw("Strict value is not equal to itself.")
6363 }
6464 else throw("Strict value is not equal to itself.")
6565 }
6666 else throw("Strict value is not equal to itself.")
6767 }
6868
6969
7070
7171 @Callable(i)
7272 func aP2 (p,a) = if ((i.caller != this))
7373 then throw("you are not allowed to arb!")
7474 else {
7575 let usdnBalanceBefore = assetBalance(this, usdnAssetId)
7676 if ((usdnBalanceBefore == usdnBalanceBefore))
7777 then {
7878 let wavesBalanceBefore = wavesBalance(this).available
7979 if ((wavesBalanceBefore == wavesBalanceBefore))
8080 then {
8181 let putTheTokenInThePool = invoke(wxPool, "putOneTkn", [1, false], [AttachedPayment(usdnAssetId, (a * 1000000))])
8282 if ((putTheTokenInThePool == putTheTokenInThePool))
8383 then {
8484 let lpTokenBalance = assetBalance(this, usdnWavesLPTokenAssetId)
8585 if ((lpTokenBalance == lpTokenBalance))
8686 then {
8787 let sellPoolToken = invoke(wxPool, "getOneTkn", [p, 1], [AttachedPayment(usdnWavesLPTokenAssetId, lpTokenBalance)])
8888 if ((sellPoolToken == sellPoolToken))
8989 then {
9090 let wavesBalToSwap = (wavesBalance(this).available - wavesBalanceBefore)
9191 if ((0 >= wavesBalToSwap))
9292 then throw("nothing to arb")
9393 else {
9494 let buyOnPuzzle = invoke(nonRoutingPuzzlePool, "swap", [usdnAssetIdString, 1], [AttachedPayment(unit, wavesBalToSwap)])
9595 if ((buyOnPuzzle == buyOnPuzzle))
9696 then {
9797 let usdnBalanceAfter = assetBalance(this, usdnAssetId)
9898 if ((usdnBalanceAfter == usdnBalanceAfter))
9999 then if ((0 >= (usdnBalanceAfter - usdnBalanceBefore)))
100100 then throw("WU WX -> PUZZLE [($_$)]")
101101 else nil
102102 else throw("Strict value is not equal to itself.")
103103 }
104104 else throw("Strict value is not equal to itself.")
105105 }
106106 }
107107 else throw("Strict value is not equal to itself.")
108108 }
109109 else throw("Strict value is not equal to itself.")
110110 }
111111 else throw("Strict value is not equal to itself.")
112112 }
113113 else throw("Strict value is not equal to itself.")
114114 }
115115 else throw("Strict value is not equal to itself.")
116116 }
117117
118118
119119
120120 @Callable(i)
121121 func aPs (a) = if ((i.caller != this))
122122 then throw("you are not allowed to arb!")
123123 else {
124124 let usdnBalanceBefore = assetBalance(this, usdnAssetId)
125125 if ((usdnBalanceBefore == usdnBalanceBefore))
126126 then {
127127 let buySurfOnPuzzle = invoke(nonRoutingPuzzleSurfPool, "swap", [surfAssetIdString, 1], [AttachedPayment(usdnAssetId, (a * 1000000))])
128128 if ((buySurfOnPuzzle == buySurfOnPuzzle))
129129 then {
130130 let surfBalToSwap = assetBalance(this, surfAssetId)
131131 let swapSurfOnSwop = invoke(swopSurfPool, "exchange", [1], [AttachedPayment(surfAssetId, surfBalToSwap)])
132132 if ((swapSurfOnSwop == swapSurfOnSwop))
133133 then {
134134 let usdnBalanceAfter = assetBalance(this, usdnAssetId)
135135 if ((usdnBalanceAfter == usdnBalanceAfter))
136136 then if ((0 >= (usdnBalanceAfter - usdnBalanceBefore)))
137137 then throw("SURF PUZZLE -> SWOP [($_$)]")
138138 else nil
139139 else throw("Strict value is not equal to itself.")
140140 }
141141 else throw("Strict value is not equal to itself.")
142142 }
143143 else throw("Strict value is not equal to itself.")
144144 }
145145 else throw("Strict value is not equal to itself.")
146146 }
147147
148148
149149
150150 @Callable(i)
151151 func aPs2 (a) = if ((i.caller != this))
152152 then throw("you are not allowed to arb!")
153153 else {
154154 let usdnBalanceBefore = assetBalance(this, usdnAssetId)
155155 if ((usdnBalanceBefore == usdnBalanceBefore))
156156 then {
157157 let swapToSurfOnSwop = invoke(swopSurfPool, "exchange", [1], [AttachedPayment(usdnAssetId, (a * 1000000))])
158158 if ((swapToSurfOnSwop == swapToSurfOnSwop))
159159 then {
160160 let surfBalToSwap = assetBalance(this, surfAssetId)
161161 let sellSurfOnPuzzle = invoke(nonRoutingPuzzleSurfPool, "swap", [usdnAssetIdString, 1], [AttachedPayment(surfAssetId, surfBalToSwap)])
162162 if ((sellSurfOnPuzzle == sellSurfOnPuzzle))
163163 then {
164164 let usdnBalanceAfter = assetBalance(this, usdnAssetId)
165165 if ((usdnBalanceAfter == usdnBalanceAfter))
166166 then if ((0 >= (usdnBalanceAfter - usdnBalanceBefore)))
167- then throw("SURF PUZZLE -> SWOP [($_$)]")
167+ then throw("SURF SWOP -> PUZZLE [($_$)]")
168168 else nil
169169 else throw("Strict value is not equal to itself.")
170170 }
171171 else throw("Strict value is not equal to itself.")
172172 }
173173 else throw("Strict value is not equal to itself.")
174174 }
175175 else throw("Strict value is not equal to itself.")
176176 }
177177
178178
179179 @Verifier(tx)
180180 func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
181181

github/deemru/w8io/3ef1775 
68.21 ms