tx · CdYmp3hKfgYL4Yz3htjZugafbRLoSLkcqS2hfMT5MoQF

3PCuReXkig8yRhe6Crozb3cgXzpQywKTmBt:  -0.01000000 Waves

2022.04.19 03:52 [3080050] smart account 3PCuReXkig8yRhe6Crozb3cgXzpQywKTmBt > SELF 0.00000000 Waves

{ "type": 13, "id": "CdYmp3hKfgYL4Yz3htjZugafbRLoSLkcqS2hfMT5MoQF", "fee": 1000000, "feeAssetId": null, "timestamp": 1650329567317, "version": 1, "sender": "3PCuReXkig8yRhe6Crozb3cgXzpQywKTmBt", "senderPublicKey": "HAgEwmYpUeD1qxEBMy2fVTc8NWbFF33SStR2QGVgrrGS", "proofs": [ "4rbgFdokQuSktQx5kKGhYhj6i48t4V88gptvAevXrDQ3QXLYYuJ6pQKeTFzyWBMYGGiffJwe3ChDw6EQRCwjcedL" ], "script": null, "chainId": 87, "height": 3080050, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3XzU3s9rqii6jYCQDtwZtDSWw2ixL2Cy7bvHkjsifXN4 Next: none Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
2-{-# SCRIPT_TYPE ACCOUNT #-}
3-{-# CONTENT_TYPE DAPP #-}
4-let admin = addressFromStringValue("3PCuReXkig8yRhe6Crozb3cgXzpQywKTmBt")
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 w (bb,p,min) = if ((i.caller != admin))
70- then throw("!")
71- else {
72- let assetIdString = assetStrings[bb]
73- let assetId = fromBase58String(assetIdString)
74- let reserve = reserves[bb]
75- let available = assetBalance(reserve, assetId)
76- let userbalancedata = asUserBalanceData(invoke(reserve, "userBalance", [toString(i.caller)], nil))
77- let lp = userbalancedata._1
78- let maxAmount = userbalancedata._2
79- let depositUsd = userbalancedata._3
80- let debt = userbalancedata._4
81- let debtUsd = userbalancedata._5
82- let asCollateral = userbalancedata._6
83- let v = if ((available > maxAmount))
84- then -1
85- else if ((2 > bb))
86- then available
87- else -1
88- let amount = asInt(invoke(VF, "withdraw", [assetIdString, v], nil), "result of Vires invoke")
89- if (if ((amount > min))
90- then true
91- else p)
92- then nil
93- else throw((((((" onPool: " + toString(available)) + ", myBalance:") + toString(maxAmount)) + " vf_resp: ") + toString(amount)))
94- }
95-
96-
97-@Verifier(tx)
98-func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
99-
1+# no script

github/deemru/w8io/3ef1775 
32.98 ms