mirror of
https://github.com/Instadapp/dsa-developers.git
synced 2024-07-29 21:56:57 +00:00
171 lines
4.9 KiB
Markdown
171 lines
4.9 KiB
Markdown
|
# Resolvers
|
||
|
|
||
|
Resolvers functions for Protocols & balances. These function will provide you all the essential protocol details to move forward with the integration. Details like:-
|
||
|
|
||
|
## Balances
|
||
|
|
||
|
### .getBalances()
|
||
|
|
||
|
Get the balances for the tokens of a specific Ethereum address.
|
||
|
|
||
|
```js
|
||
|
dsa.balances.getBalances(address, type)
|
||
|
.then(data => {
|
||
|
return data
|
||
|
})
|
||
|
.catch(error => {
|
||
|
return error
|
||
|
})
|
||
|
```
|
||
|
|
||
|
### Parameters
|
||
|
`address` (optional) - An ethereum address. Eg:- "0xa7...3423". Default:- DSA address selected at the time of setup.
|
||
|
`type` (optional) - Balances of what type of tokens. Default:- "token". List of types of tokens currently available:-
|
||
|
* "token" - Normal Tokens. Eg:- ETH, DAI, USDC, etc.
|
||
|
* "ctoken" - Compound interest bearing CTokens. Eg:- CETH, CDAI, CUSDC, etc.
|
||
|
* "all" - Get Balances of all the tokens in the list.
|
||
|
|
||
|
### Returns
|
||
|
`List` of tokens, where the key is the symbol and the value is the formatted balance {eth: 2, dai: 50.1}
|
||
|
|
||
|
|
||
|
## MakerDAO
|
||
|
|
||
|
### .getVaults()
|
||
|
|
||
|
Get all the vaults details needed for address in one call.
|
||
|
|
||
|
```js
|
||
|
dsa.balances.getVaults(address)
|
||
|
.then(data => {
|
||
|
return data
|
||
|
})
|
||
|
.catch(error => {
|
||
|
return error
|
||
|
})
|
||
|
```
|
||
|
|
||
|
### Parameters
|
||
|
`address` (optional) - An ethereum address. Eg:- "0xa7...3423". Default:- DSA address selected at the time of setup.
|
||
|
|
||
|
### Returns
|
||
|
`List` of all things Compound. Eg:-
|
||
|
* `owner` - Owner of the Vault. Same as address parameter.
|
||
|
* `colName` - Collateral type. Eg:- ETH-A, BAT-A, USDC-A, etc.
|
||
|
* `token` - Collateral token. Eg:- ETH, BAT, USDC, etc.
|
||
|
* `col` - Collateral Deposited.
|
||
|
* `debt` - DAI Borrowed.
|
||
|
* `liquidatedCol` - Remaining colletral after Vault got liquidated. (unlock collateral - still in vault but not being used as collateral)
|
||
|
* `rate` - Borrow APY.
|
||
|
* `price` - Collateral Token Price from Maker's oracle.
|
||
|
* `status` - Debt / Collateral ratio.
|
||
|
* `liquidation` - Point at which vault will break. When `status` > `liquidation` vault breaks.
|
||
|
* `urn` - Vault Ethereum address.
|
||
|
```js
|
||
|
{ '7903':
|
||
|
{ owner: '0x981C549A74Dc36Bd82fEd9097Bc19404E8db14f3',
|
||
|
colName: 'ETH-A',
|
||
|
token: 'ETH',
|
||
|
col: 0.4,
|
||
|
debt: 25.001729254489607,
|
||
|
liquidatedCol: 0,
|
||
|
rate: 0.5001431422658964,
|
||
|
price: 154.168734,
|
||
|
status: 0.4054280106900535,
|
||
|
liquidation: 0.6666666666666667,
|
||
|
urn: '0xcC0e5E76eC81aD472D6Df9fC83eaE22E1000Fe53' },
|
||
|
{ ... } ...
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### .getCollateralInfo()
|
||
|
|
||
|
Get all the Collerals details needed in one call.
|
||
|
|
||
|
```js
|
||
|
dsa.balances.getCollateralInfo()
|
||
|
.then(data => {
|
||
|
return data
|
||
|
})
|
||
|
.catch(error => {
|
||
|
return error
|
||
|
})
|
||
|
```
|
||
|
|
||
|
### Returns
|
||
|
`List` of all Maker's Collateral Types. Eg:-
|
||
|
* `ETH-A'` - Collateral Name. Eg:- ETH-A, BAT-A, USDC-A, etc.
|
||
|
* `token` - Collateral token. Eg:- ETH, BAT, USDC, etc.
|
||
|
* `rate` - Borrow APY.
|
||
|
* `price` - Collateral Price from Maker's oracle.
|
||
|
* `ratio` - Liquidation point.
|
||
|
```js
|
||
|
{ 'ETH-A':
|
||
|
{ token: 'ETH',
|
||
|
rate: 0.5001431422658964,
|
||
|
price: 154.168734,
|
||
|
ratio: 0.6666666666666667 }
|
||
|
{ ... } ...
|
||
|
}
|
||
|
```
|
||
|
|
||
|
|
||
|
## Compound Finanace
|
||
|
|
||
|
### .getPosition()
|
||
|
|
||
|
Get all the details needed for Compound integration in one call.
|
||
|
|
||
|
```js
|
||
|
dsa.balances.getBalances(address, key)
|
||
|
.then(data => {
|
||
|
return data
|
||
|
})
|
||
|
.catch(error => {
|
||
|
return error
|
||
|
})
|
||
|
```
|
||
|
|
||
|
### Parameters
|
||
|
`address` (optional) - An ethereum address. Eg:- "0xa7...3423". Default:- DSA address selected at the time of setup.
|
||
|
`key` (optional) - key for the object is it going to return. Default:- "token". Eg:- {eth: {...}} or {ceth: {...}} or {"0x..23": {...}}. List of key available.
|
||
|
* "token" - key as underlying token symbol of ctoken. For ceth it's eth. Eg:- {eth: {...}}
|
||
|
* "ctoken" - key as ctoken symbol. Eg:- {ceth: {...}}
|
||
|
* "address" - key as underlying token address of ctoken. Eg:- {"0x...24": {...}}
|
||
|
* "caddress" - key as ctoken address. Eg:- {"0x...32": {...}}
|
||
|
|
||
|
### Returns
|
||
|
`List` of all things Compound. Eg:-
|
||
|
* `priceInEth` - Tokens price from Compound oracle contracts. Prices are w.r.t "ETH" not "USD".
|
||
|
* `exchangeRate` - CToken to token conversion rate. `CToken balance` * `exchangeRate` = `token balance`.
|
||
|
* `supply` - token balance supplied/deposited.
|
||
|
* `borrow` - token balance borrowed.
|
||
|
* `supplyRate` - Supply APR.
|
||
|
* `supplyYield` - Supply APY.
|
||
|
* `borrowRate` - Borrow APR.
|
||
|
* `borrowYield` - Borrow APY.
|
||
|
* `borrowYield` - Borrow APY.
|
||
|
* `totalSupplyInEth` - Total supply in ETH not in USD.
|
||
|
* `totalBorrowInEth` - Total borrow in ETH not in USD.
|
||
|
* `maxBorrowLimitInEth` - Max borrow limit in ETH not in USD.
|
||
|
* `status` - `totalBorrowInEth` / `totalSupplyInEth`.
|
||
|
* `liquidation` - `maxBorrowLimitInEth` / `totalSupplyInEth`.
|
||
|
```js
|
||
|
{ eth:
|
||
|
{ priceInEth: 1,
|
||
|
exchangeRate: 200117674.2320281,
|
||
|
supply: 0.20000024558102408,
|
||
|
borrow: 0,
|
||
|
supplyRate: 0.0098989117776,
|
||
|
supplyYield: 0.009899400394752789,
|
||
|
borrowRate: 2.05355820729888,
|
||
|
borrowYield: 2.0747298274359505 },
|
||
|
{ ... } ...,
|
||
|
totalSupplyInEth: 0.20000024558102408,
|
||
|
totalBorrowInEth: 0.08513266988268917,
|
||
|
maxBorrowLimitInEth: 0.15000018418576805,
|
||
|
status: 0.4256628267398813,
|
||
|
liquidation: 0.7499999999999999
|
||
|
}
|
||
|
```
|