tx · 99xvwiCRZuGRxvnpiKojzLnXsUF4hjyv5Fdi3VKfq7qK

3P2ipa5bg2WU6UGCxymmZg1daPyn53fKfkA:  -0.01000000 Waves

2022.04.14 10:58 [3073265] smart account 3P2ipa5bg2WU6UGCxymmZg1daPyn53fKfkA > SELF 0.00000000 Waves

{ "type": 13, "id": "99xvwiCRZuGRxvnpiKojzLnXsUF4hjyv5Fdi3VKfq7qK", "fee": 1000000, "feeAssetId": null, "timestamp": 1649923144809, "version": 2, "chainId": 87, "sender": "3P2ipa5bg2WU6UGCxymmZg1daPyn53fKfkA", "senderPublicKey": "BjFAazPHLVZtoyPt3kUMp9bwDY5VyxUBcQptP3pu9S1b", "proofs": [ "4GzE22ATQtQfgpmABvYSWEuea12dugtcd4iAAYyTVCmYcyRZayaboZMM7DsVCnxS6iofWSd8VMBr1WpBpCRHEpU1" ], "script": "base64:AAIFAAAAAAAAABgIAhIECgIBARIECgIBARIAEgASBAoCAQQAAAALAAAAAAVhZG1pbgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1AyaXBhNWJnMldVNlVHQ3h5bW1aZzFkYVB5bjUzZktma0EAAAAAAlZGCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEFadjl0Z0sxUFg3ZEtSN2I0a2NocTVxZHBVUzNHNXNZVAAAAAAEVVNEQwEAAAAgUjPZ4ZeIJuXiH8L96og0uId2o4yxg+/IYBx+ChJUJiUAAAAADGFzc2V0U3RyaW5ncwkABEwAAAACAgAAACw2WHRIanBYYnM5UlJKUDJTcjlHVXlWcXpBQ2NieTlUa1RoSFhualZDNUNESgkABEwAAAACAgAAACwzNE45WWNFRVRMV245M3FZUTY0RXNQMXg4OXRTcnVKVTQ0UnJFTVNYWEVQSgkABEwAAAACAgAAACxERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAUAAAADbmlsAAAAAAhWVVNEVF9MUAEAAAAgHAxZwvoTCyvlpCZYUeFnq83Psi0cFt/SujO+pW3Gn54AAAAACFZVU0RDX0xQAQAAACDWhppxa2HBN0LfTH7jKtUZdP/zSfmSIL9MMDvimAKRsQAAAAAJVVNEQ19wb29sCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEdDa3JIQnhGTWk3dHoxeHFueGdCcGVOdm41RTRNNGc4UwAAAAAJVVNEVF9wb29sCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEVpRDF6SldUTVpOV1NDeXpodkJ3OXB4eEFXZUV3YWdoUgAAAAAIcmVzZXJ2ZXMJAARMAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BHQ2tySEJ4Rk1pN3R6MXhxbnhnQnBlTnZuNUU0TTRnOFMJAARMAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BFaUQxekpXVE1aTldTQ3l6aHZCdzlweHhBV2VFd2FnaFIJAARMAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BD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", "height": 3073265, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DcNUJ37rdnZqtj92RQK4CsXEf8VPwurEd63m5RdbRCF1 Next: 74w6fmrBYEMugpU94M1yAxT2mS8jZXQJr4fJpVDaYiam Diff:
OldNewDifferences
132132
133133
134134 @Callable(i)
135-func w (bb,p) = if ((i.caller != admin))
135+func w (bb,p) = if (false)
136136 then throw("!")
137137 else {
138138 let assetIdString = assetStrings[bb]
139139 let assetId = fromBase58String(assetIdString)
140140 let reserve = reserves[bb]
141141 let available = assetBalance(reserve, assetId)
142- let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil))
142+ let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(i.caller)], nil))
143143 let lp = userbalancedata._1
144144 let maxAmount = userbalancedata._2
145145 let depositUsd = userbalancedata._3
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let admin = addressFromStringValue("3P2ipa5bg2WU6UGCxymmZg1daPyn53fKfkA")
55
66 let VF = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
77
88 let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
99
1010 let assetStrings = ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ", "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"]
1111
1212 let VUSDT_LP = base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ'
1313
1414 let VUSDC_LP = base58'FSRHtSyXRXQjzQLRtmaqFpBDDCNjY8PU8KNtwoGXVBmr'
1515
1616 let USDC_pool = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S")
1717
1818 let USDT_pool = addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR")
1919
2020 let reserves = [addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR"), addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce")]
2121
2222 func asInt (x) = match x {
2323 case int: Int =>
2424 int
2525 case _ =>
2626 throw("wrong type, expected: Int")
2727 }
2828
2929
3030 func asUserBalanceData (x) = match x {
3131 case x: (Int, Int, Int, Int, Int, Boolean) =>
3232 x
3333 case t =>
3434 throw("expected int5&boolean")
3535 }
3636
3737
3838 @Callable(i)
3939 func b (amnt,a2) = if ((i.caller != admin))
4040 then throw("!")
4141 else {
4242 let b = assetBalance(USDT_pool, base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ')
4343 if ((b == b))
4444 then if ((a2 > b))
4545 then throw("!")
4646 else {
4747 let c = assetBalance(this, base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ')
4848 if ((c == c))
4949 then {
5050 let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDT_LP, amnt)])
5151 if ((swap1 == swap1))
5252 then 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
6060
6161
6262 @Callable(i)
6363 func c (amnt,a2) = if ((i.caller != admin))
6464 then throw("!")
6565 else {
6666 let b = assetBalance(USDT_pool, USDC)
6767 if ((b == b))
6868 then if ((a2 > b))
6969 then throw("!")
7070 else {
7171 let c = assetBalance(this, VUSDC_LP)
7272 if ((c == c))
7373 then {
7474 let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDC_LP, amnt)])
7575 if ((swap1 == swap1))
7676 then nil
7777 else throw("Strict value is not equal to itself.")
7878 }
7979 else throw("Strict value is not equal to itself.")
8080 }
8181 else throw("Strict value is not equal to itself.")
8282 }
8383
8484
8585
8686 @Callable(i)
8787 func a () = if ((i.caller != admin))
8888 then throw("!")
8989 else {
9090 let b = assetBalance(USDT_pool, base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ')
9191 if ((b == b))
9292 then if ((100000000 > b))
9393 then throw("!")
9494 else {
9595 let c = assetBalance(this, base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ')
9696 if ((c == c))
9797 then {
9898 let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDT_LP, min([fraction(b, 100, 119), c]))])
9999 if ((swap1 == swap1))
100100 then nil
101101 else throw("Strict value is not equal to itself.")
102102 }
103103 else throw("Strict value is not equal to itself.")
104104 }
105105 else throw("Strict value is not equal to itself.")
106106 }
107107
108108
109109
110110 @Callable(i)
111111 func aa () = if ((i.caller != admin))
112112 then throw("!")
113113 else {
114114 let b = assetBalance(USDC_pool, base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ')
115115 if ((b == b))
116116 then if ((100000000 > b))
117117 then throw("!")
118118 else {
119119 let c = assetBalance(this, VUSDC_LP)
120120 if ((c == c))
121121 then {
122122 let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDC_LP, min([fraction(b, 100, 121), c]))])
123123 if ((swap1 == swap1))
124124 then nil
125125 else throw("Strict value is not equal to itself.")
126126 }
127127 else throw("Strict value is not equal to itself.")
128128 }
129129 else throw("Strict value is not equal to itself.")
130130 }
131131
132132
133133
134134 @Callable(i)
135-func w (bb,p) = if ((i.caller != admin))
135+func w (bb,p) = if (false)
136136 then throw("!")
137137 else {
138138 let assetIdString = assetStrings[bb]
139139 let assetId = fromBase58String(assetIdString)
140140 let reserve = reserves[bb]
141141 let available = assetBalance(reserve, assetId)
142- let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(this)], nil))
142+ let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(i.caller)], nil))
143143 let lp = userbalancedata._1
144144 let maxAmount = userbalancedata._2
145145 let depositUsd = userbalancedata._3
146146 let debt = userbalancedata._4
147147 let debtUsd = userbalancedata._5
148148 let asCollateral = userbalancedata._6
149149 let v = if ((available > maxAmount))
150150 then -1
151151 else if ((2 > bb))
152152 then available
153153 else -1
154154 let amount = asInt(invoke(VF, "withdraw", [assetIdString, v], nil))
155155 if (if ((amount > 2000000000))
156156 then true
157157 else p)
158158 then nil
159159 else throw(toString(amount))
160160 }
161161
162162
163163 @Verifier(tx)
164164 func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
165165

github/deemru/w8io/6500d08 
45.04 ms