tx · 8h5jcAnoPUwjB9JQqe8qKoNbTq8xNB2w5aa7N1AgK2WL

3P2ipa5bg2WU6UGCxymmZg1daPyn53fKfkA:  -0.01000000 Waves

2022.04.14 11:12 [3073281] smart account 3P2ipa5bg2WU6UGCxymmZg1daPyn53fKfkA > SELF 0.00000000 Waves

{ "type": 13, "id": "8h5jcAnoPUwjB9JQqe8qKoNbTq8xNB2w5aa7N1AgK2WL", "fee": 1000000, "feeAssetId": null, "timestamp": 1649924004430, "version": 2, "chainId": 87, "sender": "3P2ipa5bg2WU6UGCxymmZg1daPyn53fKfkA", "senderPublicKey": "BjFAazPHLVZtoyPt3kUMp9bwDY5VyxUBcQptP3pu9S1b", "proofs": [ "5UBp7E8dWoGmRUAU3ciSFFBixRS1upua75hyiu2cMV5AQ1ocYus7VtHXZbhGFAopwZj7TsppDLkM48ajpQZ24WUE" ], "script": "base64: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", "height": 3073281, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 74w6fmrBYEMugpU94M1yAxT2mS8jZXQJr4fJpVDaYiam Next: 21XkXZSeXZ7FsFsYzW5qQAYX3Hhy1uGN3J2Tm4t8DAeb Diff:
OldNewDifferences
158158 then available
159159 else -1
160160 let amount = asInt(invoke(VF, "withdraw", [assetIdString, v], nil))
161- let amount1 = asInt(invoke(VF, "withdraw", [assetIdString, 1], nil))
162161 if (if ((amount > 2000000000))
163162 then true
164163 else p)
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 USDT = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'
1111
1212 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1313
1414 let assetStrings = ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ", "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"]
1515
1616 let VUSDT_LP = base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ'
1717
1818 let VUSDC_LP = base58'FSRHtSyXRXQjzQLRtmaqFpBDDCNjY8PU8KNtwoGXVBmr'
1919
2020 let USDC_pool = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S")
2121
2222 let USDT_pool = addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR")
2323
2424 let USDN_pool = addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce")
2525
2626 let reserves = [addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR"), addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce")]
2727
2828 func asInt (x) = match x {
2929 case int: Int =>
3030 int
3131 case _ =>
3232 throw("wrong type, expected: Int")
3333 }
3434
3535
3636 func asUserBalanceData (x) = match x {
3737 case x: (Int, Int, Int, Int, Int, Boolean) =>
3838 x
3939 case t =>
4040 throw("expected int5&boolean")
4141 }
4242
4343
4444 @Callable(i)
4545 func b (amnt,a2) = if ((i.caller != admin))
4646 then throw("!")
4747 else {
4848 let b = assetBalance(USDT_pool, base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ')
4949 if ((b == b))
5050 then if ((a2 > b))
5151 then throw("!")
5252 else {
5353 let c = assetBalance(this, base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ')
5454 if ((c == c))
5555 then {
5656 let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDT_LP, amnt)])
5757 if ((swap1 == swap1))
5858 then nil
5959 else throw("Strict value is not equal to itself.")
6060 }
6161 else throw("Strict value is not equal to itself.")
6262 }
6363 else throw("Strict value is not equal to itself.")
6464 }
6565
6666
6767
6868 @Callable(i)
6969 func c (amnt,a2) = if ((i.caller != admin))
7070 then throw("!")
7171 else {
7272 let b = assetBalance(USDT_pool, USDC)
7373 if ((b == b))
7474 then if ((a2 > b))
7575 then throw("!")
7676 else {
7777 let c = assetBalance(this, VUSDC_LP)
7878 if ((c == c))
7979 then {
8080 let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDC_LP, amnt)])
8181 if ((swap1 == swap1))
8282 then nil
8383 else throw("Strict value is not equal to itself.")
8484 }
8585 else throw("Strict value is not equal to itself.")
8686 }
8787 else throw("Strict value is not equal to itself.")
8888 }
8989
9090
9191
9292 @Callable(i)
9393 func a () = if ((i.caller != admin))
9494 then throw("!")
9595 else {
9696 let b = assetBalance(USDT_pool, base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ')
9797 if ((b == b))
9898 then if ((100000000 > b))
9999 then throw("!")
100100 else {
101101 let c = assetBalance(this, base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ')
102102 if ((c == c))
103103 then {
104104 let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDT_LP, min([fraction(b, 100, 119), c]))])
105105 if ((swap1 == swap1))
106106 then nil
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
114114
115115
116116 @Callable(i)
117117 func aa () = if ((i.caller != admin))
118118 then throw("!")
119119 else {
120120 let b = assetBalance(USDC_pool, base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ')
121121 if ((b == b))
122122 then if ((100000000 > b))
123123 then throw("!")
124124 else {
125125 let c = assetBalance(this, VUSDC_LP)
126126 if ((c == c))
127127 then {
128128 let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDC_LP, min([fraction(b, 100, 121), c]))])
129129 if ((swap1 == swap1))
130130 then nil
131131 else throw("Strict value is not equal to itself.")
132132 }
133133 else throw("Strict value is not equal to itself.")
134134 }
135135 else throw("Strict value is not equal to itself.")
136136 }
137137
138138
139139
140140 @Callable(i)
141141 func w (bb,p) = if (false)
142142 then throw("!")
143143 else {
144144 let assetIdString = assetStrings[bb]
145145 let assetId = fromBase58String(assetIdString)
146146 let reserve = reserves[bb]
147147 let available = assetBalance(reserve, assetId)
148148 let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(i.caller)], nil))
149149 let lp = userbalancedata._1
150150 let maxAmount = userbalancedata._2
151151 let depositUsd = userbalancedata._3
152152 let debt = userbalancedata._4
153153 let debtUsd = userbalancedata._5
154154 let asCollateral = userbalancedata._6
155155 let v = if ((available > maxAmount))
156156 then -1
157157 else if ((2 > bb))
158158 then available
159159 else -1
160160 let amount = asInt(invoke(VF, "withdraw", [assetIdString, v], nil))
161- let amount1 = asInt(invoke(VF, "withdraw", [assetIdString, 1], nil))
162161 if (if ((amount > 2000000000))
163162 then true
164163 else p)
165164 then nil
166165 else throw(toString(amount))
167166 }
168167
169168
170169 @Verifier(tx)
171170 func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
172171

github/deemru/w8io/3ef1775 
36.30 ms