tx · 9hJgA1qmjJ48xwuRoRXh1S2Wr1UGzsg6ZcjTs6tnF92f

3P2ipa5bg2WU6UGCxymmZg1daPyn53fKfkA:  -0.00100000 Waves

2022.12.08 01:36 [3416004] smart account 3P2ipa5bg2WU6UGCxymmZg1daPyn53fKfkA > SELF 0.00000000 Waves

{ "type": 13, "id": "9hJgA1qmjJ48xwuRoRXh1S2Wr1UGzsg6ZcjTs6tnF92f", "fee": 100000, "feeAssetId": null, "timestamp": 1670452511695, "version": 1, "sender": "3P2ipa5bg2WU6UGCxymmZg1daPyn53fKfkA", "senderPublicKey": "BjFAazPHLVZtoyPt3kUMp9bwDY5VyxUBcQptP3pu9S1b", "proofs": [ "4C7KT8SiDuKJ4JAR1kATqTphW3dizqcA9nYeskNMUSNif1vKRaiLsLQKc7N9ZEpMPpudP8Nzdk4yzHsMBKFPyVbB" ], "script": null, "chainId": 87, "height": 3416004, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BtUESfozSj1WMsGKBbcw2ySSBmhTeFiFWp17RMYVTF1k Next: none Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
2-{-# SCRIPT_TYPE ACCOUNT #-}
3-{-# CONTENT_TYPE DAPP #-}
4-let admin = addressFromStringValue("3P2ipa5bg2WU6UGCxymmZg1daPyn53fKfkA")
5-
6-let VF = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
7-
8-let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
9-
10-let USDT = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'
11-
12-let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
13-
14-let assetStrings = ["6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ", "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ", "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"]
15-
16-let VUSDT_LP = base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ'
17-
18-let VUSDC_LP = base58'FSRHtSyXRXQjzQLRtmaqFpBDDCNjY8PU8KNtwoGXVBmr'
19-
20-let USDC_pool = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S")
21-
22-let USDT_pool = addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR")
23-
24-let USDN_pool = addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce")
25-
26-let reserves = [addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S"), addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR"), addressFromStringValue("3PCwFXSq8vj8iKitA5zrrLRbuqehfmimpce")]
27-
28-func asInt (x,key) = match x {
29- case int: Int =>
30- int
31- case _ =>
32- throw(("wrong type, expected: Int for " + key))
33-}
34-
35-
36-func asUserBalanceData (x) = match x {
37- case x: (Int, Int, Int, Int, Int, Boolean) =>
38- x
39- case t =>
40- throw("expected int5&boolean")
41-}
42-
43-
44-@Callable(i)
45-func b (amnt,a2) = if ((i.caller != admin))
46- then throw("!")
47- else {
48- let b = assetBalance(USDT_pool, base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ')
49- if ((b == b))
50- then if ((a2 > b))
51- then throw("!")
52- else {
53- let c = assetBalance(this, base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ')
54- if ((c == c))
55- then {
56- let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDT_LP, amnt)])
57- if ((swap1 == swap1))
58- then nil
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-
66-
67-
68-@Callable(i)
69-func c (amnt,a2) = if ((i.caller != admin))
70- then throw("!")
71- else {
72- let b = assetBalance(USDT_pool, USDC)
73- if ((b == b))
74- then if ((a2 > b))
75- then throw("!")
76- else {
77- let c = assetBalance(this, VUSDC_LP)
78- if ((c == c))
79- then {
80- let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDC_LP, amnt)])
81- if ((swap1 == swap1))
82- then nil
83- else throw("Strict value is not equal to itself.")
84- }
85- else throw("Strict value is not equal to itself.")
86- }
87- else throw("Strict value is not equal to itself.")
88- }
89-
90-
91-
92-@Callable(i)
93-func a () = if ((i.caller != admin))
94- then throw("!")
95- else {
96- let b = assetBalance(USDT_pool, base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ')
97- if ((b == b))
98- then if ((100000000 > b))
99- then throw("!")
100- else {
101- let c = assetBalance(this, base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ')
102- if ((c == c))
103- then {
104- let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDT_LP, min([fraction(b, 100, 119), c]))])
105- if ((swap1 == swap1))
106- then nil
107- else throw("Strict value is not equal to itself.")
108- }
109- else throw("Strict value is not equal to itself.")
110- }
111- else throw("Strict value is not equal to itself.")
112- }
113-
114-
115-
116-@Callable(i)
117-func aa () = if ((i.caller != admin))
118- then throw("!")
119- else {
120- let b = assetBalance(USDC_pool, base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ')
121- if ((b == b))
122- then if ((100000000 > b))
123- then throw("!")
124- else {
125- let c = assetBalance(this, VUSDC_LP)
126- if ((c == c))
127- then {
128- let swap1 = invoke(VF, "redeemAtokens", nil, [AttachedPayment(VUSDC_LP, min([fraction(b, 100, 121), c]))])
129- if ((swap1 == swap1))
130- then nil
131- else throw("Strict value is not equal to itself.")
132- }
133- else throw("Strict value is not equal to itself.")
134- }
135- else throw("Strict value is not equal to itself.")
136- }
137-
138-
139-
140-@Callable(i)
141-func w (bb,p,min) = if ((i.caller != admin))
142- then throw("!")
143- else {
144- let assetIdString = assetStrings[bb]
145- let assetId = fromBase58String(assetIdString)
146- let reserve = reserves[bb]
147- let available = assetBalance(reserve, assetId)
148- let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(i.caller)], nil))
149- let lp = userbalancedata._1
150- let maxAmount = userbalancedata._2
151- let depositUsd = userbalancedata._3
152- let debt = userbalancedata._4
153- let debtUsd = userbalancedata._5
154- let asCollateral = userbalancedata._6
155- let v = if ((available > maxAmount))
156- then -1
157- else if ((2 > bb))
158- then available
159- else -1
160- let amount = asInt(invoke(VF, "withdraw", [assetIdString, v], nil), "result of Vires invoke")
161- if (if ((amount > min))
162- then true
163- else p)
164- then nil
165- else throw((((((" onPool: " + toString(available)) + ", myBalance:") + toString(maxAmount)) + " vf_resp: ") + toString(amount)))
166- }
167-
168-
169-@Verifier(tx)
170-func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
171-
1+# no script

github/deemru/w8io/3ef1775 
26.34 ms