tx · 7NJyi4p1ccz8rvKqxjCmf1LjKaznZ1Rm5PwBCxgb3oCS

3PNjTd61hrMczLCGbsEZC2Kyb44RMXm65ez:  -0.00400000 Waves

2023.05.21 17:32 [3653340] smart account 3PNjTd61hrMczLCGbsEZC2Kyb44RMXm65ez > SELF 0.00000000 Waves

{ "type": 13, "id": "7NJyi4p1ccz8rvKqxjCmf1LjKaznZ1Rm5PwBCxgb3oCS", "fee": 400000, "feeAssetId": null, "timestamp": 1684679610577, "version": 2, "chainId": 87, "sender": "3PNjTd61hrMczLCGbsEZC2Kyb44RMXm65ez", "senderPublicKey": "D5eTVuTxKqH6iQ3XN8BQYJMKoXCFT7C3jvkvboyq7b5k", "proofs": [ "2Cs4RZqJ8NC86CQiUBQRAsX78WG6J4NQoK1GrLuzFNY1BpwFWofQVHxSvNp8sSWLse3NkYH4EdZ4n9r8RiLAADSU" ], "script": "base64:BgIgCAISCQoHCAEICAgIBBIJCgcIAQgICAgEEgYKBAgBCAgOAApydWxlcl90ZXN0AixCZ3hwQ200d3hiVzhTS0xQS1puZjRLVTJENlpVMjlvdjhNZ1pya2FTQXFwWQAFcnVsZXICLDd6TlVKQlZvUE1CQ1JzdFAzUjFBdnhoeHJONTFTUWtuNUJNaTJpSjljaUFkAAZydWxlcjICLDlmZTY3ZXd6eHRhTG96ZVBaMlUzU0c3MVpRRnlHTEFYV21tbUhSRXBGZU1DAAZydWxlcjMCLEZlTVg2aFFhUktzTHNraTc3eFZISERHUmtqOVZ1SnptUDJNQUNiQVdEakRLAAZydWxlcjQCLDNQU0s3YjZiTWYxZ0JEdmpIUmJHUTl6R2M2OFVpcmVxQmoyZXViVmkxcTVyAAZydWxlcjUCLDY2ckN2OWRmZG91cVEzU1JHOVhyS25SaUZtTWJ3a1pRZ21oUzFmdG5DdHFtAAZydWxlcjYCLEZlTVg2aFFhUktzTHNraTc3eFZISERHUmtqOVZ1SnptUDJNQUNiQVdEakRLAAphYnJhY2FkYnJhASCEw4RMq+J8AgneosFzaAks62toFxJJXbpWEJovtolzAQEDdmlwAQNra2sDAwMDAwMJAAACBQNra2sFBXJ1bGVyBgkAAAIFA2trawUGcnVsZXIyBgkAAAIFA2trawUGcnVsZXIzBgkAAAIFA2trawUGcnVsZXI0BgkAAAIFA2trawUGcnVsZXI1BgkAAAIFA2trawUGcnVsZXI2BgcBCmdldEFzc2V0SWQBA3BtdAQHJG1hdGNoMAUDcG10AwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAXAFByRtYXRjaDAFA3BtdAUEdW5pdAEOZ2V0QXNzZXRTdHJpbmcBB2Fzc2V0SWQEByRtYXRjaDAFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAkA2AQBBQFiAgVXQVZFUwENZ2V0QWNjQmFsYW5jZQEHYXNzZXRJZAMJAAACBQdhc3NldElkAgVXQVZFUwgJAO8HAQUEdGhpcwlhdmFpbGFibGUJAPAHAgUEdGhpcwkA2QQBBQdhc3NldElkAQ1nZXRBc3NldEJ5dGVzAQdhc3NldElkAwkAAAIFB2Fzc2V0SWQCBVdBVkVTBQR1bml0CQDZBAEFB2Fzc2V0SWQBCW15QmFsYW5jZQEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDwBwIFBHRoaXMFAWIICQDvBwEFBHRoaXMJYXZhaWxhYmxlAwFpAQRmYWtlBwRhX2luBmFtb3VudAVhX291dAJwbwVwb190eQ53eF9scF9hc3NldF9pZAlpc19zdGFibGUEB2Fzc2V0SW4JAQ1nZXRBc3NldEJ5dGVzAQUEYV9pbgQIYW1vdW50SW4FBmFtb3VudAQFcHV0T3ADBQlpc19zdGFibGUCC3B1dE9uZVRrblYyAglwdXRPbmVUa24EBWdldE9wAwUJaXNfc3RhYmxlAgtnZXRPbmVUa25WMgIJZ2V0T25lVGtuBBRhbW91bnRfYmVmX2Fzc2V0X291dAkBCW15QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUFYV9vdXQDCQAAAgUUYW1vdW50X2JlZl9hc3NldF9vdXQFFGFtb3VudF9iZWZfYXNzZXRfb3V0BAZlbnRyeTEDCQAAAgUFcG9fdHkCAXAJAPwHBAkBB0FkZHJlc3MBCQDZBAEFAnBvAgRzd2FwCQDMCAIFBWFfb3V0CQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQdhc3NldEluBQhhbW91bnRJbgUDbmlsAwkAAAIFBXBvX3R5AgFzCQD8BwQJAQdBZGRyZXNzAQkA2QQBBQJwbwIIZXhjaGFuZ2UJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB2Fzc2V0SW4FCGFtb3VudEluBQNuaWwEA3B1dAkA/AcECQEHQWRkcmVzcwEJANkEAQUCcG8FBXB1dE9wCQDMCAIAAQkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQdhc3NldEluBQhhbW91bnRJbgUDbmlsAwkAAAIFA3B1dAUDcHV0BAt3eF9scF9hc3NldAkBDWdldEFzc2V0Qnl0ZXMBBQ53eF9scF9hc3NldF9pZAQJbHBCYWxhbmNlCQEJbXlCYWxhbmNlAQULd3hfbHBfYXNzZXQJAPwHBAkBB0FkZHJlc3MBCQDZBAEFAnBvBQVnZXRPcAkAzAgCBQVhX291dAkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgULd3hfbHBfYXNzZXQFCWxwQmFsYW5jZQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAIFBmVudHJ5MQUGZW50cnkxBBZhbW91bnRfYWZ0ZXJfYXNzZXRfb3V0CQEJbXlCYWxhbmNlAQkBDWdldEFzc2V0Qnl0ZXMBBQVhX291dAMJAAACBRZhbW91bnRfYWZ0ZXJfYXNzZXRfb3V0BRZhbW91bnRfYWZ0ZXJfYXNzZXRfb3V0BARyZXN1CQBlAgUWYW1vdW50X2FmdGVyX2Fzc2V0X291dAUUYW1vdW50X2JlZl9hc3NldF9vdXQJAAIBCQCsAgIJAKQDAQUEcmVzdQIDLCAwCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB2Zha2Vfd3gHBGFfaW4GYW1vdW50BWFfb3V0AnBvBXBvX3R5Dnd4X2xwX2Fzc2V0X2lkCWlzX3N0YWJsZQQHYXNzZXRJbgkBDWdldEFzc2V0Qnl0ZXMBBQRhX2luBAhhbW91bnRJbgUGYW1vdW50BAVwdXRPcAMFCWlzX3N0YWJsZQILcHV0T25lVGtuVjICCXB1dE9uZVRrbgQFZ2V0T3ADBQlpc19zdGFibGUCC2dldE9uZVRrblYyAglnZXRPbmVUa24EFGFtb3VudF9iZWZfYXNzZXRfb3V0CQEJbXlCYWxhbmNlAQkBDWdldEFzc2V0Qnl0ZXMBBQVhX291dAMJAAACBRRhbW91bnRfYmVmX2Fzc2V0X291dAUUYW1vdW50X2JlZl9hc3NldF9vdXQEBnN1cHBseQgJAQV2YWx1ZQEJAOwHAQkA2QQBBQ53eF9scF9hc3NldF9pZAhxdWFudGl0eQMJAAACBQZzdXBwbHkFBnN1cHBseQQDcHV0CQD8BwQJAQdBZGRyZXNzAQkA2QQBBQJwbwUFcHV0T3AJAMwIAgABCQDMCAIHBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB2Fzc2V0SW4FCGFtb3VudEluBQNuaWwDCQAAAgUDcHV0BQNwdXQEC3d4X2xwX2Fzc2V0CQENZ2V0QXNzZXRCeXRlcwEFDnd4X2xwX2Fzc2V0X2lkBAlscEJhbGFuY2UJAQlteUJhbGFuY2UBBQt3eF9scF9hc3NldAMJAAACBQlscEJhbGFuY2UFCWxwQmFsYW5jZQQDZ2V0CQD8BwQJAQdBZGRyZXNzAQkA2QQBBQJwbwUFZ2V0T3AJAMwIAgUFYV9vdXQJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFC3d4X2xwX2Fzc2V0BQlscEJhbGFuY2UFA25pbAMJAAACBQNnZXQFA2dldAQWYW1vdW50X2FmdGVyX2Fzc2V0X291dAkBCW15QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUFYV9vdXQDCQAAAgUWYW1vdW50X2FmdGVyX2Fzc2V0X291dAUWYW1vdW50X2FmdGVyX2Fzc2V0X291dAQEcmVzdQkAZQIFFmFtb3VudF9hZnRlcl9hc3NldF9vdXQFFGFtb3VudF9iZWZfYXNzZXRfb3V0CQACAQkArAICCQCsAgIJAKwCAgkArAICCQCkAwEFBHJlc3UCASwJAKQDAQUJbHBCYWxhbmNlAgEsCQCkAwEFBnN1cHBseQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQhmYWtlX3d4MgQEYV9pbgZhbW91bnQFYV9vdXQCcG8EB2Fzc2V0SW4JAQ1nZXRBc3NldEJ5dGVzAQUEYV9pbgQIYW1vdW50SW4FBmFtb3VudAQUYW1vdW50X2JlZl9hc3NldF9vdXQJAQlteUJhbGFuY2UBCQENZ2V0QXNzZXRCeXRlcwEFBWFfb3V0AwkAAAIFFGFtb3VudF9iZWZfYXNzZXRfb3V0BRRhbW91bnRfYmVmX2Fzc2V0X291dAQBcgkA/AcECQEHQWRkcmVzcwEBGgFXLio1NbENt/F5PuG3RtCedFJNezHQg64GAgRzd2FwCQDMCAIAAQkAzAgCBQVhX291dAkAzAgCCQClCAEFBHRoaXMFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHYXNzZXRJbgUGYW1vdW50BQNuaWwDCQAAAgUBcgUBcgQEcmVzdQkAZQIJAQlteUJhbGFuY2UBCQENZ2V0QXNzZXRCeXRlcwEFBWFfb3V0BRRhbW91bnRfYmVmX2Fzc2V0X291dAMJAAACBQRyZXN1BQRyZXN1CQACAQkApAMBBQRyZXN1CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAlacE8=", "height": 3653340, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6kvDBw3S9rrFpTBfSbyr4gDiL1YTWvkgSx1CqPeLAahJ Next: J23jLicmE5UvRJor6Xru9tYwaQ5ZekcZ45FFvNLCH8H1 Diff:
OldNewDifferences
156156 }
157157
158158
159+
160+@Callable(i)
161+func fake_wx2 (a_in,amount,a_out,po) = {
162+ let assetIn = getAssetBytes(a_in)
163+ let amountIn = amount
164+ let amount_bef_asset_out = myBalance(getAssetBytes(a_out))
165+ if ((amount_bef_asset_out == amount_bef_asset_out))
166+ then {
167+ let r = invoke(Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93'), "swap", [1, a_out, toString(this)], [AttachedPayment(assetIn, amount)])
168+ if ((r == r))
169+ then {
170+ let resu = (myBalance(getAssetBytes(a_out)) - amount_bef_asset_out)
171+ if ((resu == resu))
172+ then throw(toString(resu))
173+ else throw("Strict value is not equal to itself.")
174+ }
175+ else throw("Strict value is not equal to itself.")
176+ }
177+ else throw("Strict value is not equal to itself.")
178+ }
179+
180+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let ruler_test = "BgxpCm4wxbW8SKLPKZnf4KU2D6ZU29ov8MgZrkaSAqpY"
55
66 let ruler = "7zNUJBVoPMBCRstP3R1AvxhxrN51SQkn5BMi2iJ9ciAd"
77
88 let ruler2 = "9fe67ewzxtaLozePZ2U3SG71ZQFyGLAXWmmmHREpFeMC"
99
1010 let ruler3 = "FeMX6hQaRKsLski77xVHHDGRkj9VuJzmP2MACbAWDjDK"
1111
1212 let ruler4 = "3PSK7b6bMf1gBDvjHRbGQ9zGc68UireqBj2eubVi1q5r"
1313
1414 let ruler5 = "66rCv9dfdouqQ3SRG9XrKnRiFmMbwkZQgmhS1ftnCtqm"
1515
1616 let ruler6 = "FeMX6hQaRKsLski77xVHHDGRkj9VuJzmP2MACbAWDjDK"
1717
1818 let abracadbra = base58'9wFjTx4rK6ZxfHa3z65BHhP6A7gkZLioxVrD4p2Frjjn'
1919
2020 func vip (kkk) = if (if (if (if (if (if ((kkk == ruler))
2121 then true
2222 else (kkk == ruler2))
2323 then true
2424 else (kkk == ruler3))
2525 then true
2626 else (kkk == ruler4))
2727 then true
2828 else (kkk == ruler5))
2929 then true
3030 else (kkk == ruler6))
3131 then true
3232 else false
3333
3434
3535 func getAssetId (pmt) = match pmt {
3636 case p: ByteVector =>
3737 pmt
3838 case _ =>
3939 unit
4040 }
4141
4242
4343 func getAssetString (assetId) = match assetId {
4444 case b: ByteVector =>
4545 toBase58String(b)
4646 case _ =>
4747 "WAVES"
4848 }
4949
5050
5151 func getAccBalance (assetId) = if ((assetId == "WAVES"))
5252 then wavesBalance(this).available
5353 else assetBalance(this, fromBase58String(assetId))
5454
5555
5656 func getAssetBytes (assetId) = if ((assetId == "WAVES"))
5757 then unit
5858 else fromBase58String(assetId)
5959
6060
6161 func myBalance (assetId) = match assetId {
6262 case b: ByteVector =>
6363 assetBalance(this, b)
6464 case _ =>
6565 wavesBalance(this).available
6666 }
6767
6868
6969 @Callable(i)
7070 func fake (a_in,amount,a_out,po,po_ty,wx_lp_asset_id,is_stable) = {
7171 let assetIn = getAssetBytes(a_in)
7272 let amountIn = amount
7373 let putOp = if (is_stable)
7474 then "putOneTknV2"
7575 else "putOneTkn"
7676 let getOp = if (is_stable)
7777 then "getOneTknV2"
7878 else "getOneTkn"
7979 let amount_bef_asset_out = myBalance(getAssetBytes(a_out))
8080 if ((amount_bef_asset_out == amount_bef_asset_out))
8181 then {
8282 let entry1 = if ((po_ty == "p"))
8383 then invoke(Address(fromBase58String(po)), "swap", [a_out, 1], [AttachedPayment(assetIn, amountIn)])
8484 else if ((po_ty == "s"))
8585 then invoke(Address(fromBase58String(po)), "exchange", [1], [AttachedPayment(assetIn, amountIn)])
8686 else {
8787 let put = invoke(Address(fromBase58String(po)), putOp, [1, false], [AttachedPayment(assetIn, amountIn)])
8888 if ((put == put))
8989 then {
9090 let wx_lp_asset = getAssetBytes(wx_lp_asset_id)
9191 let lpBalance = myBalance(wx_lp_asset)
9292 invoke(Address(fromBase58String(po)), getOp, [a_out, 1], [AttachedPayment(wx_lp_asset, lpBalance)])
9393 }
9494 else throw("Strict value is not equal to itself.")
9595 }
9696 if ((entry1 == entry1))
9797 then {
9898 let amount_after_asset_out = myBalance(getAssetBytes(a_out))
9999 if ((amount_after_asset_out == amount_after_asset_out))
100100 then {
101101 let resu = (amount_after_asset_out - amount_bef_asset_out)
102102 throw((toString(resu) + ", 0"))
103103 }
104104 else throw("Strict value is not equal to itself.")
105105 }
106106 else throw("Strict value is not equal to itself.")
107107 }
108108 else throw("Strict value is not equal to itself.")
109109 }
110110
111111
112112
113113 @Callable(i)
114114 func fake_wx (a_in,amount,a_out,po,po_ty,wx_lp_asset_id,is_stable) = {
115115 let assetIn = getAssetBytes(a_in)
116116 let amountIn = amount
117117 let putOp = if (is_stable)
118118 then "putOneTknV2"
119119 else "putOneTkn"
120120 let getOp = if (is_stable)
121121 then "getOneTknV2"
122122 else "getOneTkn"
123123 let amount_bef_asset_out = myBalance(getAssetBytes(a_out))
124124 if ((amount_bef_asset_out == amount_bef_asset_out))
125125 then {
126126 let supply = value(assetInfo(fromBase58String(wx_lp_asset_id))).quantity
127127 if ((supply == supply))
128128 then {
129129 let put = invoke(Address(fromBase58String(po)), putOp, [1, false], [AttachedPayment(assetIn, amountIn)])
130130 if ((put == put))
131131 then {
132132 let wx_lp_asset = getAssetBytes(wx_lp_asset_id)
133133 let lpBalance = myBalance(wx_lp_asset)
134134 if ((lpBalance == lpBalance))
135135 then {
136136 let get = invoke(Address(fromBase58String(po)), getOp, [a_out, 1], [AttachedPayment(wx_lp_asset, lpBalance)])
137137 if ((get == get))
138138 then {
139139 let amount_after_asset_out = myBalance(getAssetBytes(a_out))
140140 if ((amount_after_asset_out == amount_after_asset_out))
141141 then {
142142 let resu = (amount_after_asset_out - amount_bef_asset_out)
143143 throw(((((toString(resu) + ",") + toString(lpBalance)) + ",") + toString(supply)))
144144 }
145145 else throw("Strict value is not equal to itself.")
146146 }
147147 else throw("Strict value is not equal to itself.")
148148 }
149149 else throw("Strict value is not equal to itself.")
150150 }
151151 else throw("Strict value is not equal to itself.")
152152 }
153153 else throw("Strict value is not equal to itself.")
154154 }
155155 else throw("Strict value is not equal to itself.")
156156 }
157157
158158
159+
160+@Callable(i)
161+func fake_wx2 (a_in,amount,a_out,po) = {
162+ let assetIn = getAssetBytes(a_in)
163+ let amountIn = amount
164+ let amount_bef_asset_out = myBalance(getAssetBytes(a_out))
165+ if ((amount_bef_asset_out == amount_bef_asset_out))
166+ then {
167+ let r = invoke(Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93'), "swap", [1, a_out, toString(this)], [AttachedPayment(assetIn, amount)])
168+ if ((r == r))
169+ then {
170+ let resu = (myBalance(getAssetBytes(a_out)) - amount_bef_asset_out)
171+ if ((resu == resu))
172+ then throw(toString(resu))
173+ else throw("Strict value is not equal to itself.")
174+ }
175+ else throw("Strict value is not equal to itself.")
176+ }
177+ else throw("Strict value is not equal to itself.")
178+ }
179+
180+

github/deemru/w8io/6500d08 
31.00 ms