@aurigami/sdk 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/priceFetcher.d.ts +4 -1
- package/dist/sdk.cjs.development.js +8 -11
- package/dist/sdk.cjs.development.js.map +1 -1
- package/dist/sdk.cjs.production.min.js +1 -1
- package/dist/sdk.cjs.production.min.js.map +1 -1
- package/dist/sdk.esm.js +8 -11
- package/dist/sdk.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/MoneyMarket.ts +1 -1
- package/src/SDK.ts +12 -4
- package/src/dummy.ts +1 -0
- package/src/priceFetcher.ts +6 -3
package/src/MoneyMarket.ts
CHANGED
|
@@ -32,7 +32,7 @@ export class MoneyMarketRead extends BlockchainEntityRead {
|
|
|
32
32
|
constructor(networkConnection: NetworkConnection, auToken: Address, underlyingAsset: Address) {
|
|
33
33
|
super(networkConnection);
|
|
34
34
|
if (isSameAddress(underlyingAsset, ETHAddress)) {
|
|
35
|
-
this.auToken = new Contract(auToken, AuETHABI.abi, networkConnection.provider) as AuETH
|
|
35
|
+
this.auToken = new Contract(auToken, AuETHABI.abi, networkConnection.provider) as AuETH;
|
|
36
36
|
} else {
|
|
37
37
|
this.auToken = new Contract(auToken, AuErc20ABI.abi, networkConnection.provider) as AuErc20;
|
|
38
38
|
}
|
package/src/SDK.ts
CHANGED
|
@@ -103,6 +103,7 @@ export class SdkRead extends BlockchainEntityRead {
|
|
|
103
103
|
accountLiquidity = values[0]; rewardBalancesMetadata = values[1]; lockedAmount = values[2];
|
|
104
104
|
const borrowedvaluation: BigNumber = totalBorrowLimit.minus(new BigNumber(accountLiquidity[1].toString()).div(decimalFactor(18)));
|
|
105
105
|
const bufferedBorrowLimit: BigNumber = totalBorrowLimit.multipliedBy(BORROW_LIMIT_BUFFER);
|
|
106
|
+
const minimumBorrowLimitAllowed = borrowedvaluation.div(BORROW_LIMIT_BUFFER);
|
|
106
107
|
|
|
107
108
|
var borrowableAmount: BigNumber;
|
|
108
109
|
if (bufferedBorrowLimit.lte(borrowedvaluation)) {
|
|
@@ -114,10 +115,17 @@ export class SdkRead extends BlockchainEntityRead {
|
|
|
114
115
|
for (var i = 0; i < marketCount; i ++) {
|
|
115
116
|
const auToken = networkAddresses.auTokens[i];
|
|
116
117
|
const moneyMarket: MoneyMarketRead = new MoneyMarketRead(this._networkConnection, auToken.address, auToken.underlying);
|
|
117
|
-
userMarketDetails[i].
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
const maxWithdrawCap: BigNumber = (totalBorrowLimit.minus(minimumBorrowLimitAllowed)).div(userMarketDetails[i].collateralRatio).div(underlyingPrices[i]);
|
|
119
|
+
userMarketDetails[i].maxWithdrawableAmount = userMarketDetails[i].isCollateral && maxWithdrawCap.lt(userMarketDetails[i].depositBalance.formattedAmount())
|
|
120
|
+
? new TokenAmount(
|
|
121
|
+
moneyMarket.underlying,
|
|
122
|
+
maxWithdrawCap.toFixed(24),
|
|
123
|
+
false
|
|
124
|
+
)
|
|
125
|
+
: new TokenAmount(
|
|
126
|
+
moneyMarket.underlying,
|
|
127
|
+
userMarketDetails[i].depositBalance.rawAmount()
|
|
128
|
+
);
|
|
121
129
|
}
|
|
122
130
|
|
|
123
131
|
return {
|
package/src/dummy.ts
CHANGED
package/src/priceFetcher.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { PriceOracle } from "@aurigami/contracts/typechain";
|
|
|
7
7
|
import { TokenAmount } from "./tokenAmount";
|
|
8
8
|
import { Address } from "./types";
|
|
9
9
|
import IUniswapV2PairABI from './abis/IUniswapV2Pair.json';
|
|
10
|
-
import
|
|
10
|
+
import AuriLensABI from '@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json';
|
|
11
11
|
|
|
12
12
|
const axios = require('axios')
|
|
13
13
|
|
|
@@ -78,8 +78,11 @@ export async function fetchPriceFromOracle(auTokenAddress: Address, underlyingDe
|
|
|
78
78
|
return processPriceFromOracle(rawPrice, underlyingDecimal)
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
export async function fetchUnderlyingTokensPrices(provider: providers.Provider) {
|
|
82
|
-
|
|
81
|
+
export async function fetchUnderlyingTokensPrices(provider: providers.Provider): Promise<{
|
|
82
|
+
auToken: string,
|
|
83
|
+
underlyingPrice: BigNumber
|
|
84
|
+
}[]> {
|
|
85
|
+
const auriLens: Contract = new Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, provider);
|
|
83
86
|
const auTokenAddresses = networkAddresses.auTokens.map((auToken) => auToken.address);
|
|
84
87
|
const underlyingDecimals = networkAddresses.auTokens.map((auToken) => getDecimal(auToken.underlying));
|
|
85
88
|
const rawPrices = await auriLens.auTokenUnderlyingPriceAll(auTokenAddresses);
|