tx · J5pKTh2i5xGk7cBiKgFGk3u39urCphWkvdPrXobuB1Gd

3PC6TRqKynPrH1swxT5ddcVvLqAhffzUeB7:  -0.01000000 Waves

2023.01.12 17:16 [3467344] smart account 3PC6TRqKynPrH1swxT5ddcVvLqAhffzUeB7 > SELF 0.00000000 Waves

{ "type": 13, "id": "J5pKTh2i5xGk7cBiKgFGk3u39urCphWkvdPrXobuB1Gd", "fee": 1000000, "feeAssetId": null, "timestamp": 1673533027915, "version": 2, "chainId": 87, "sender": "3PC6TRqKynPrH1swxT5ddcVvLqAhffzUeB7", "senderPublicKey": "HVH3suL2dtzEYD9tFe8UvDZLbiWA4onpmHsS6ddjEYnm", "proofs": [ "2uEig8VPehmmb2yrZLbx4vLQPAu5iUuyrFEnCVJBMwuwKAytrHayJu7azrUdsrYXTwcVPqS9jqE6bsgbTShSG4Zu" ], "script": "base64:BgIUCAISBwoFCAgICAESBwoFCAgICAEEAAtiZW5lZmljaWFyeQkBB0FkZHJlc3MBARoBV00kIJ/4b+Qn8IRsPdyH7gd1J2eSJEWLLwAGcHV6emxlCQEHQWRkcmVzcwEBGgFXnQyqxhNRqW7LgPdjfcFkeOLvck2oDLrTAAVhZG1pbgkBB0FkZHJlc3MBARoBV8qYvH6BLp+kb9SOFce3s8pDBApI4pYntQAEdXNkbgEgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtECAWkBBWFyYl93BQZyb3V0ZXMJcG9vbF9hZGRyCHRvX2Fzc2V0CGxwX3Rva2VuB3ZlcnNpb24DCQECIT0CCAUBaQZjYWxsZXIFBWFkbWluCQACAQINQWNjZXNzIGRlbmllZAQEcG9vbAkBB0FkZHJlc3MBCQDZBAEFCXBvb2xfYWRkcgMJAAACBQRwb29sBQRwb29sBAJscAkA2QQBBQhscF90b2tlbgMJAAACBQJscAUCbHAEDHVzZG5fYmFsYW5jZQkA8AcCBQR0aGlzBQR1c2RuAwkAAAIFDHVzZG5fYmFsYW5jZQUMdXNkbl9iYWxhbmNlBAtzd2FwX3Jlc3VsdAkA/AcEBQZwdXp6bGUCBHN3YXAJAMwIAgkArAICCQCkAwEFDHVzZG5fYmFsYW5jZQUGcm91dGVzCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1c2RuBQx1c2RuX2JhbGFuY2UFA25pbAMJAAACBQtzd2FwX3Jlc3VsdAULc3dhcF9yZXN1bHQEGGFzc2V0X2JhbGFuY2VfYWZ0ZXJfc3dhcAkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlAKDCHgMJAAACBRhhc3NldF9iYWxhbmNlX2FmdGVyX3N3YXAFGGFzc2V0X2JhbGFuY2VfYWZ0ZXJfc3dhcAQKcHV0X3Jlc3VsdAMJAAACBQd2ZXJzaW9uAAEJAPwHBAUEcG9vbAIJcHV0T25lVGtuCQDMCAIAAQkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BRhhc3NldF9iYWxhbmNlX2FmdGVyX3N3YXAFA25pbAkA/AcEBQRwb29sAgtwdXRPbmVUa25WMgkAzAgCAAEJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUYYXNzZXRfYmFsYW5jZV9hZnRlcl9zd2FwBQNuaWwDCQAAAgUKcHV0X3Jlc3VsdAUKcHV0X3Jlc3VsdAQKbHBfYmFsYW5jZQkA8AcCBQR0aGlzBQJscAMJAAACBQpscF9iYWxhbmNlBQpscF9iYWxhbmNlBApnZXRfcmVzdWx0AwkAAAIFB3ZlcnNpb24AAQkA/AcEBQRwb29sAglnZXRPbmVUa24JAMwIAgIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAmxwBQpscF9iYWxhbmNlBQNuaWwJAPwHBAUEcG9vbAILZ2V0T25lVGtuVjIJAMwIAgIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAmxwBQpscF9iYWxhbmNlBQNuaWwDCQAAAgUKZ2V0X3Jlc3VsdAUKZ2V0X3Jlc3VsdAQWdXNkbl9iYWxhbmNlX2FmdGVyX2dldAkA8AcCBQR0aGlzBQR1c2RuAwkAAAIFFnVzZG5fYmFsYW5jZV9hZnRlcl9nZXQFFnVzZG5fYmFsYW5jZV9hZnRlcl9nZXQEBnJlc3VsdAkAZQIFFnVzZG5fYmFsYW5jZV9hZnRlcl9nZXQFDHVzZG5fYmFsYW5jZQMJAAACBQZyZXN1bHQFBnJlc3VsdAMJAGYCBQZyZXN1bHQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQtiZW5lZmljaWFyeQUGcmVzdWx0BQR1c2RuBQNuaWwJAAIBCQCsAgICCFJFU1VMVDogCQCkAwEFBnJlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQNhcmIFBnJvdXRlcwlwb29sX2FkZHIIdG9fYXNzZXQIbHBfdG9rZW4HdmVyc2lvbgMJAQIhPQIIBQFpBmNhbGxlcgUFYWRtaW4JAAIBAg1BY2Nlc3MgZGVuaWVkBARwb29sCQEHQWRkcmVzcwEJANkEAQUJcG9vbF9hZGRyAwkAAAIFBHBvb2wFBHBvb2wEBWFzc2V0CQDZBAEFCHRvX2Fzc2V0AwkAAAIFBWFzc2V0BQVhc3NldAQCbHAJANkEAQUIbHBfdG9rZW4DCQAAAgUCbHAFAmxwBAx1c2RuX2JhbGFuY2UJAPAHAgUEdGhpcwUEdXNkbgMJAAACBQx1c2RuX2JhbGFuY2UFDHVzZG5fYmFsYW5jZQQLc3dhcF9yZXN1bHQJAPwHBAUGcHV6emxlAgRzd2FwCQDMCAIJAKwCAgkApAMBBQx1c2RuX2JhbGFuY2UFBnJvdXRlcwkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdXNkbgUMdXNkbl9iYWxhbmNlBQNuaWwDCQAAAgULc3dhcF9yZXN1bHQFC3N3YXBfcmVzdWx0BBhhc3NldF9iYWxhbmNlX2FmdGVyX3N3YXAJAPAHAgUEdGhpcwUFYXNzZXQDCQAAAgUYYXNzZXRfYmFsYW5jZV9hZnRlcl9zd2FwBRhhc3NldF9iYWxhbmNlX2FmdGVyX3N3YXAECnB1dF9yZXN1bHQDCQAAAgUHdmVyc2lvbgABCQD8BwQFBHBvb2wCCXB1dE9uZVRrbgkAzAgCAAEJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUFYXNzZXQFGGFzc2V0X2JhbGFuY2VfYWZ0ZXJfc3dhcAUDbmlsCQD8BwQFBHBvb2wCC3B1dE9uZVRrblYyCQDMCAIAAQkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQVhc3NldAUYYXNzZXRfYmFsYW5jZV9hZnRlcl9zd2FwBQNuaWwDCQAAAgUKcHV0X3Jlc3VsdAUKcHV0X3Jlc3VsdAQKbHBfYmFsYW5jZQkA8AcCBQR0aGlzBQJscAMJAAACBQpscF9iYWxhbmNlBQpscF9iYWxhbmNlBApnZXRfcmVzdWx0AwkAAAIFB3ZlcnNpb24AAQkA/AcEBQRwb29sAglnZXRPbmVUa24JAMwIAgIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAmxwBQpscF9iYWxhbmNlBQNuaWwJAPwHBAUEcG9vbAILZ2V0T25lVGtuVjIJAMwIAgIsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAmxwBQpscF9iYWxhbmNlBQNuaWwDCQAAAgUKZ2V0X3Jlc3VsdAUKZ2V0X3Jlc3VsdAQWdXNkbl9iYWxhbmNlX2FmdGVyX2dldAkA8AcCBQR0aGlzBQR1c2RuAwkAAAIFFnVzZG5fYmFsYW5jZV9hZnRlcl9nZXQFFnVzZG5fYmFsYW5jZV9hZnRlcl9nZXQEBnJlc3VsdAkAZQIFFnVzZG5fYmFsYW5jZV9hZnRlcl9nZXQFDHVzZG5fYmFsYW5jZQMJAAACBQZyZXN1bHQFBnJlc3VsdAMJAGYCBQZyZXN1bHQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQtiZW5lZmljaWFyeQUGcmVzdWx0BQR1c2RuBQNuaWwJAAIBCQCsAgICCFJFU1VMVDogCQCkAwEFBnJlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXlvJ/5K", "height": 3467344, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 6Mo4esTWws8YDtcYuxyAzvxRfVAGBG3wJCRbpenKpqD4 Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let beneficiary = Address(base58'3P8xn3CK6QcPXcSnZm4Qx1d23AxJCc7Bsh8')
5+
6+let puzzle = Address(base58'3PGFHzVGT4NTigwCKP1NcwoXkodVZwvBuuU')
7+
8+let admin = Address(base58'3PLQ8CJPRwHhQkSzzN8JAGWxAQuerZeAuz4')
9+
10+let usdn = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
11+
12+@Callable(i)
13+func arb_w (routes,pool_addr,to_asset,lp_token,version) = if ((i.caller != admin))
14+ then throw("Access denied")
15+ else {
16+ let pool = Address(fromBase58String(pool_addr))
17+ if ((pool == pool))
18+ then {
19+ let lp = fromBase58String(lp_token)
20+ if ((lp == lp))
21+ then {
22+ let usdn_balance = assetBalance(this, usdn)
23+ if ((usdn_balance == usdn_balance))
24+ then {
25+ let swap_result = invoke(puzzle, "swap", [(toString(usdn_balance) + routes), 1], [AttachedPayment(usdn, usdn_balance)])
26+ if ((swap_result == swap_result))
27+ then {
28+ let asset_balance_after_swap = (wavesBalance(this).available - 500000)
29+ if ((asset_balance_after_swap == asset_balance_after_swap))
30+ then {
31+ let put_result = if ((version == 1))
32+ then invoke(pool, "putOneTkn", [1, false], [AttachedPayment(unit, asset_balance_after_swap)])
33+ else invoke(pool, "putOneTknV2", [1, false], [AttachedPayment(unit, asset_balance_after_swap)])
34+ if ((put_result == put_result))
35+ then {
36+ let lp_balance = assetBalance(this, lp)
37+ if ((lp_balance == lp_balance))
38+ then {
39+ let get_result = if ((version == 1))
40+ then invoke(pool, "getOneTkn", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", 1], [AttachedPayment(lp, lp_balance)])
41+ else invoke(pool, "getOneTknV2", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", 1], [AttachedPayment(lp, lp_balance)])
42+ if ((get_result == get_result))
43+ then {
44+ let usdn_balance_after_get = assetBalance(this, usdn)
45+ if ((usdn_balance_after_get == usdn_balance_after_get))
46+ then {
47+ let result = (usdn_balance_after_get - usdn_balance)
48+ if ((result == result))
49+ then if ((result > 0))
50+ then [ScriptTransfer(beneficiary, result, usdn)]
51+ else throw(("RESULT: " + toString(result)))
52+ else throw("Strict value is not equal to itself.")
53+ }
54+ else throw("Strict value is not equal to itself.")
55+ }
56+ else throw("Strict value is not equal to itself.")
57+ }
58+ else throw("Strict value is not equal to itself.")
59+ }
60+ else throw("Strict value is not equal to itself.")
61+ }
62+ else throw("Strict value is not equal to itself.")
63+ }
64+ else throw("Strict value is not equal to itself.")
65+ }
66+ else throw("Strict value is not equal to itself.")
67+ }
68+ else throw("Strict value is not equal to itself.")
69+ }
70+ else throw("Strict value is not equal to itself.")
71+ }
72+
73+
74+
75+@Callable(i)
76+func arb (routes,pool_addr,to_asset,lp_token,version) = if ((i.caller != admin))
77+ then throw("Access denied")
78+ else {
79+ let pool = Address(fromBase58String(pool_addr))
80+ if ((pool == pool))
81+ then {
82+ let asset = fromBase58String(to_asset)
83+ if ((asset == asset))
84+ then {
85+ let lp = fromBase58String(lp_token)
86+ if ((lp == lp))
87+ then {
88+ let usdn_balance = assetBalance(this, usdn)
89+ if ((usdn_balance == usdn_balance))
90+ then {
91+ let swap_result = invoke(puzzle, "swap", [(toString(usdn_balance) + routes), 1], [AttachedPayment(usdn, usdn_balance)])
92+ if ((swap_result == swap_result))
93+ then {
94+ let asset_balance_after_swap = assetBalance(this, asset)
95+ if ((asset_balance_after_swap == asset_balance_after_swap))
96+ then {
97+ let put_result = if ((version == 1))
98+ then invoke(pool, "putOneTkn", [1, false], [AttachedPayment(asset, asset_balance_after_swap)])
99+ else invoke(pool, "putOneTknV2", [1, false], [AttachedPayment(asset, asset_balance_after_swap)])
100+ if ((put_result == put_result))
101+ then {
102+ let lp_balance = assetBalance(this, lp)
103+ if ((lp_balance == lp_balance))
104+ then {
105+ let get_result = if ((version == 1))
106+ then invoke(pool, "getOneTkn", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", 1], [AttachedPayment(lp, lp_balance)])
107+ else invoke(pool, "getOneTknV2", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", 1], [AttachedPayment(lp, lp_balance)])
108+ if ((get_result == get_result))
109+ then {
110+ let usdn_balance_after_get = assetBalance(this, usdn)
111+ if ((usdn_balance_after_get == usdn_balance_after_get))
112+ then {
113+ let result = (usdn_balance_after_get - usdn_balance)
114+ if ((result == result))
115+ then if ((result > 0))
116+ then [ScriptTransfer(beneficiary, result, usdn)]
117+ else throw(("RESULT: " + toString(result)))
118+ else throw("Strict value is not equal to itself.")
119+ }
120+ else throw("Strict value is not equal to itself.")
121+ }
122+ else throw("Strict value is not equal to itself.")
123+ }
124+ else throw("Strict value is not equal to itself.")
125+ }
126+ else throw("Strict value is not equal to itself.")
127+ }
128+ else throw("Strict value is not equal to itself.")
129+ }
130+ else throw("Strict value is not equal to itself.")
131+ }
132+ else throw("Strict value is not equal to itself.")
133+ }
134+ else throw("Strict value is not equal to itself.")
135+ }
136+ else throw("Strict value is not equal to itself.")
137+ }
138+ else throw("Strict value is not equal to itself.")
139+ }
140+
141+
142+@Verifier(tx)
143+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
144+

github/deemru/w8io/3ef1775 
29.08 ms