tx · 9jvD7VS79NNJB4fqwpTNeF6zCr2A64MaDb5hQTv1EPzD

3PP9Fgg54GrYkQUV5fBJDTfeS2U9UQ7FB25:  -0.00200000 Waves

2022.12.24 15:31 [3439851] smart account 3PP9Fgg54GrYkQUV5fBJDTfeS2U9UQ7FB25 > SELF 0.00000000 Waves

{ "type": 13, "id": "9jvD7VS79NNJB4fqwpTNeF6zCr2A64MaDb5hQTv1EPzD", "fee": 200000, "feeAssetId": null, "timestamp": 1671885114222, "version": 2, "chainId": 87, "sender": "3PP9Fgg54GrYkQUV5fBJDTfeS2U9UQ7FB25", "senderPublicKey": "4xdRptJoV6HUBR28oidkHaVkkXhGihWHNxCDJxbs2rBw", "proofs": [ "Q4wHmnJZMZxG4dac4zo2TbcAg3WBjJjcM1DdRuwD2Co58PxSw8eKmLUk6DVgTMRCSp96cRhBA13jCrgHy2qZEaZ" ], "script": "base64:BgIECAISAAcAC3BhcmVudEFkbWluCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUEJ5NWNzU25qZ2tpZWVGOWRSVFhOMkF3RzNTWEJzVnB3dwALdXNkbkFzc2V0SWQBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRABF1c2RuQXNzZXRJZFN0cmluZwIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAABm9yYWNsZQkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BCeTVjc1NuamdraWVlRjlkUlRYTjJBd0czU1hCc1Zwd3cBDmdldFN0cmluZ0J5S2V5AQNrZXkJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUGb3JhY2xlBQNrZXkCAAEPZ2V0SW50ZWdlckJ5S2V5AQNrZXkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUGb3JhY2xlBQNrZXkAIwABYQkBD2dldEludGVnZXJCeUtleQECB21vbnRhbnQBAWkBB2RlZmF1bHQABAJwMQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBDmdldFN0cmluZ0J5S2V5AQIFYTI4cDEEAnAyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEOZ2V0U3RyaW5nQnlLZXkBAgVhMjhwMgQDYWlkBQR1bml0BARhaWRzAgVXQVZFUwQDbHAyCQDZBAEJAQ5nZXRTdHJpbmdCeUtleQECBmEyOGxwMgMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAQIhPQIIBQFpBmNhbGxlcgULcGFyZW50QWRtaW4HCQACAQIbeW91IGFyZSBub3QgYWxsb3dlZCB0byBhcmIhBAN1YmIJAPAHAgUEdGhpcwULdXNkbkFzc2V0SWQDCQAAAgUDdWJiBQN1YmIEA3diYggJAO8HAQUEdGhpcwlhdmFpbGFibGUDCQAAAgUDd2JiBQN3YmIEBHN3YXAJAPwHBAUCcDECCGV4Y2hhbmdlCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQt1c2RuQXNzZXRJZAkAaAIFAWEAwIQ9BQNuaWwDCQAAAgUEc3dhcAUEc3dhcAQJYmFsVG9Td2FwCQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFA3diYgQDcHV0CQD8BwQFAnAyAglwdXRPbmVUa24JAMwIAgABCQDMCAIHBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFA2FpZAUJYmFsVG9Td2FwBQNuaWwDCQAAAgUDcHV0BQNwdXQEA2xwYgkA8AcCBQR0aGlzBQNscDIDCQAAAgUDbHBiBQNscGIEA2dldAkA/AcEBQJwMgIJZ2V0T25lVGtuCQDMCAIFEXVzZG5Bc3NldElkU3RyaW5nCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQNscDIFA2xwYgUDbmlsAwkAAAIFA2dldAUDZ2V0BAN1YmEJAPAHAgUEdGhpcwULdXNkbkFzc2V0SWQDCQAAAgUDdWJhBQN1YmEDCQBnAgAACQBlAgUDdWJhBQN1YmIJAAIBAg5XIFNXV1ggWygkXyQpXQQGYW1vdW50CQBlAgUDdWJhCQBoAgUBYQDAhD0DCQAAAgUGYW1vdW50BQZhbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULcGFyZW50QWRtaW4FBmFtb3VudAULdXNkbkFzc2V0SWQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAJAMgTAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXnk0Btp", "height": 3439851, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let parentAdmin = addressFromStringValue("3PBy5csSnjgkieeF9dRTXN2AwG3SXBsVpww")
5+
6+let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
7+
8+let usdnAssetIdString = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
9+
10+let oracle = addressFromStringValue("3PBy5csSnjgkieeF9dRTXN2AwG3SXBsVpww")
11+
12+func getStringByKey (key) = valueOrElse(getString(oracle, key), "")
13+
14+
15+func getIntegerByKey (key) = valueOrElse(getInteger(oracle, key), 35)
16+
17+
18+let a = getIntegerByKey("montant")
19+
20+@Callable(i)
21+func default () = {
22+ let p1 = addressFromStringValue(getStringByKey("a28p1"))
23+ let p2 = addressFromStringValue(getStringByKey("a28p2"))
24+ let aid = unit
25+ let aids = "WAVES"
26+ let lp2 = fromBase58String(getStringByKey("a28lp2"))
27+ if (if ((i.caller != this))
28+ then (i.caller != parentAdmin)
29+ else false)
30+ then throw("you are not allowed to arb!")
31+ else {
32+ let ubb = assetBalance(this, usdnAssetId)
33+ if ((ubb == ubb))
34+ then {
35+ let wbb = wavesBalance(this).available
36+ if ((wbb == wbb))
37+ then {
38+ let swap = invoke(p1, "exchange", [1], [AttachedPayment(usdnAssetId, (a * 1000000))])
39+ if ((swap == swap))
40+ then {
41+ let balToSwap = (wavesBalance(this).available - wbb)
42+ let put = invoke(p2, "putOneTkn", [1, false], [AttachedPayment(aid, balToSwap)])
43+ if ((put == put))
44+ then {
45+ let lpb = assetBalance(this, lp2)
46+ if ((lpb == lpb))
47+ then {
48+ let get = invoke(p2, "getOneTkn", [usdnAssetIdString, 1], [AttachedPayment(lp2, lpb)])
49+ if ((get == get))
50+ then {
51+ let uba = assetBalance(this, usdnAssetId)
52+ if ((uba == uba))
53+ then if ((0 >= (uba - ubb)))
54+ then throw("W SWWX [($_$)]")
55+ else {
56+ let amount = (uba - (a * 1000000))
57+ if ((amount == amount))
58+ then [ScriptTransfer(parentAdmin, amount, usdnAssetId)]
59+ else throw("Strict value is not equal to itself.")
60+ }
61+ else throw("Strict value is not equal to itself.")
62+ }
63+ else throw("Strict value is not equal to itself.")
64+ }
65+ else throw("Strict value is not equal to itself.")
66+ }
67+ else throw("Strict value is not equal to itself.")
68+ }
69+ else throw("Strict value is not equal to itself.")
70+ }
71+ else throw("Strict value is not equal to itself.")
72+ }
73+ else throw("Strict value is not equal to itself.")
74+ }
75+ }
76+
77+
78+@Verifier(tx)
79+func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
80+

github/deemru/w8io/6500d08 
15.24 ms