@aurigami/sdk 0.3.3 → 0.4.1
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/SDK.d.ts +9 -3
- package/dist/constants.d.ts +0 -6
- package/dist/priceFetcher.d.ts +4 -1
- package/dist/sdk.cjs.development.js +60 -64
- 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 +47 -46
- package/dist/sdk.esm.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/package.json +2 -1
- package/src/MoneyMarket.ts +1 -1
- package/src/SDK.ts +36 -17
- package/src/constants.ts +1 -19
- package/src/dummy.ts +1 -0
- package/src/priceFetcher.ts +7 -5
- package/src/types.ts +9 -2
package/dist/SDK.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BlockchainEntity, BlockchainEntityRead } from './BlockchainEntity';
|
|
2
|
-
import { LockingDetails, PlyAuroraPoolDetails, NetworkConnection, UserDetails, CurrencyAmount } from './types';
|
|
2
|
+
import { LockingDetails, PlyAuroraPoolDetails, NetworkConnection, UserDetails, UserMarketDetails, CurrencyAmount, HypotheticalStats } from './types';
|
|
3
3
|
import { TransactionResponse } from '@ethersproject/abstract-provider';
|
|
4
|
-
import { Contract
|
|
4
|
+
import { Contract } from 'ethers';
|
|
5
5
|
import { AuriFairLaunch, Comptroller, TokenLock } from '@aurigami/contracts/typechain';
|
|
6
6
|
import { TokenAmount } from './tokenAmount';
|
|
7
7
|
import { Token } from './token';
|
|
@@ -16,6 +16,12 @@ export declare class SdkRead extends BlockchainEntityRead {
|
|
|
16
16
|
getPlyAuroraPoolDetails(): Promise<PlyAuroraPoolDetails>;
|
|
17
17
|
getTokenPrice(token: Token): Promise<CurrencyAmount>;
|
|
18
18
|
stakeBalanceOf(user: string): Promise<TokenAmount>;
|
|
19
|
+
calcHypotheticalStats(args: {
|
|
20
|
+
userMarketDetail: UserMarketDetails;
|
|
21
|
+
currentBorrowLimit: CurrencyAmount;
|
|
22
|
+
currentBorrowValuation: CurrencyAmount;
|
|
23
|
+
isEnable: boolean;
|
|
24
|
+
}): HypotheticalStats;
|
|
19
25
|
}
|
|
20
26
|
export declare class SdkReadWrite extends SdkRead {
|
|
21
27
|
claim(): Promise<TransactionResponse>;
|
|
@@ -25,5 +31,5 @@ export declare class SdkReadWrite extends SdkRead {
|
|
|
25
31
|
export declare class SDK extends BlockchainEntity {
|
|
26
32
|
constructor();
|
|
27
33
|
read(networkConnection: NetworkConnection): SdkRead;
|
|
28
|
-
|
|
34
|
+
readWrite(networkConnection: NetworkConnection): SdkReadWrite;
|
|
29
35
|
}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { Signer } from 'ethers';
|
|
3
|
-
export declare const AVAX_DEFAULT_PROVIDER_URL = "https://api.avax.network/ext/bc/C/rpc";
|
|
4
|
-
export declare const AVAX_DEFAULT_PROVIDER: any;
|
|
5
|
-
export declare const AURORA_DEFAULT_PROVIDER_URL = "https://mainnet.aurora.dev";
|
|
6
|
-
export declare const AURORA_DEFAULT_PROVIDER: any;
|
|
7
2
|
export declare const dummyAddress: string;
|
|
8
3
|
export declare const ETHAddress: string;
|
|
9
|
-
export declare const AURORA_DEFAULT_SIGNER: Signer;
|
|
10
4
|
export declare const AURORA_CHAINID = 1313161554;
|
|
11
5
|
export declare const DECIMAL_PRECISION = 6;
|
|
12
6
|
export declare type NetworkAddresses = {
|
package/dist/priceFetcher.d.ts
CHANGED
|
@@ -13,6 +13,9 @@ export declare function fetchLPPositions(LPAddress: Address, provider: providers
|
|
|
13
13
|
}>;
|
|
14
14
|
export declare function fetchLPPrice(address: Address, provider: providers.Provider): Promise<BigNumber>;
|
|
15
15
|
export declare function fetchPriceFromOracle(auTokenAddress: Address, underlyingDecimal: number, provider: providers.Provider): Promise<BigNumber>;
|
|
16
|
-
export declare function fetchUnderlyingTokensPrices(provider: providers.Provider): Promise<
|
|
16
|
+
export declare function fetchUnderlyingTokensPrices(provider: providers.Provider): Promise<{
|
|
17
|
+
auToken: string;
|
|
18
|
+
underlyingPrice: BigNumber;
|
|
19
|
+
}[]>;
|
|
17
20
|
export declare function fetchPrice(address: Address, provider: providers.Provider): Promise<BigNumber>;
|
|
18
21
|
export declare function fetchValuation(tokenAmount: TokenAmount, provider: providers.Provider, price?: BigNumber): Promise<BigNumber>;
|
|
@@ -6,11 +6,12 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
6
6
|
|
|
7
7
|
var abstractSigner = require('@ethersproject/abstract-signer');
|
|
8
8
|
var BigNumber = _interopDefault(require('bignumber.js'));
|
|
9
|
-
var ethers
|
|
9
|
+
var ethers = require('ethers');
|
|
10
10
|
var AuErc20ABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuErc20.sol/AuErc20.json'));
|
|
11
11
|
var AuETHABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json'));
|
|
12
12
|
var ComptrollerABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json'));
|
|
13
13
|
var AuriLensABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json'));
|
|
14
|
+
var axios = _interopDefault(require('axios'));
|
|
14
15
|
var TokenLockABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/TokenLock.sol/TokenLock.json'));
|
|
15
16
|
var AuriFairLaunchABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json'));
|
|
16
17
|
|
|
@@ -896,16 +897,8 @@ var BlockchainEntity = /*#__PURE__*/function () {
|
|
|
896
897
|
return BlockchainEntity;
|
|
897
898
|
}();
|
|
898
899
|
|
|
899
|
-
var ethers = /*#__PURE__*/require('ethers');
|
|
900
|
-
|
|
901
|
-
var AVAX_DEFAULT_PROVIDER_URL = 'https://api.avax.network/ext/bc/C/rpc';
|
|
902
|
-
var AVAX_DEFAULT_PROVIDER = /*#__PURE__*/new ethers.providers.JsonRpcProvider(AVAX_DEFAULT_PROVIDER_URL);
|
|
903
|
-
var AURORA_DEFAULT_PROVIDER_URL = "https://mainnet.aurora.dev";
|
|
904
|
-
var AURORA_DEFAULT_PROVIDER = /*#__PURE__*/new ethers.providers.JsonRpcProvider(AURORA_DEFAULT_PROVIDER_URL);
|
|
905
900
|
var dummyAddress = "0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE";
|
|
906
901
|
var ETHAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
907
|
-
var dummyPrivateKey = '1111111111111111111111111111111111111111111111111111111111111111';
|
|
908
|
-
var AURORA_DEFAULT_SIGNER = /*#__PURE__*/new ethers.Wallet(dummyPrivateKey, AURORA_DEFAULT_PROVIDER);
|
|
909
902
|
var AURORA_CHAINID = 1313161554;
|
|
910
903
|
var DECIMAL_PRECISION = 6;
|
|
911
904
|
var networkAddresses = {
|
|
@@ -977,7 +970,7 @@ function formatObject(object) {
|
|
|
977
970
|
return JSON.stringify(object, null, ' ');
|
|
978
971
|
}
|
|
979
972
|
function decimalFactor(decimal) {
|
|
980
|
-
return ethers
|
|
973
|
+
return ethers.BigNumber.from(10).pow(decimal).toString();
|
|
981
974
|
}
|
|
982
975
|
var isSameAddress = function isSameAddress(address1, address2) {
|
|
983
976
|
return address1.toLowerCase() == address2.toLowerCase();
|
|
@@ -1004,7 +997,7 @@ var getCurrentTimestamp = /*#__PURE__*/function () {
|
|
|
1004
997
|
}();
|
|
1005
998
|
function validateAndParseAddress(address) {
|
|
1006
999
|
try {
|
|
1007
|
-
return ethers
|
|
1000
|
+
return ethers.utils.getAddress(address);
|
|
1008
1001
|
} catch (error) {
|
|
1009
1002
|
throw new Error("Invalid address: " + address);
|
|
1010
1003
|
}
|
|
@@ -2009,14 +2002,6 @@ var IUniswapV2PairABI = {
|
|
|
2009
2002
|
deployedLinkReferences: deployedLinkReferences
|
|
2010
2003
|
};
|
|
2011
2004
|
|
|
2012
|
-
var abi$2 = [
|
|
2013
|
-
];
|
|
2014
|
-
var dummyABI = {
|
|
2015
|
-
abi: abi$2
|
|
2016
|
-
};
|
|
2017
|
-
|
|
2018
|
-
var axios = /*#__PURE__*/require('axios');
|
|
2019
|
-
|
|
2020
2005
|
function fetchPriceFromCoingeckoAPI(_x) {
|
|
2021
2006
|
return _fetchPriceFromCoingeckoAPI.apply(this, arguments);
|
|
2022
2007
|
}
|
|
@@ -2089,7 +2074,7 @@ function _fetchLPPositions() {
|
|
|
2089
2074
|
switch (_context3.prev = _context3.next) {
|
|
2090
2075
|
case 0:
|
|
2091
2076
|
promises = [];
|
|
2092
|
-
LPContract = new ethers
|
|
2077
|
+
LPContract = new ethers.Contract(LPAddress, IUniswapV2PairABI.abi, provider);
|
|
2093
2078
|
promises.push(LPContract.token0());
|
|
2094
2079
|
promises.push(LPContract.toekn1());
|
|
2095
2080
|
promises.push(LPContract.getReserves());
|
|
@@ -2185,7 +2170,7 @@ function _fetchPriceFromOracle() {
|
|
|
2185
2170
|
while (1) {
|
|
2186
2171
|
switch (_context5.prev = _context5.next) {
|
|
2187
2172
|
case 0:
|
|
2188
|
-
oracleContract = new ethers
|
|
2173
|
+
oracleContract = new ethers.Contract(networkAddresses.misc.oracle, OracleABI.abi, provider);
|
|
2189
2174
|
_context5.next = 3;
|
|
2190
2175
|
return oracleContract.getUnderlyingPrice(auTokenAddress);
|
|
2191
2176
|
|
|
@@ -2214,7 +2199,7 @@ function _fetchUnderlyingTokensPrices() {
|
|
|
2214
2199
|
while (1) {
|
|
2215
2200
|
switch (_context6.prev = _context6.next) {
|
|
2216
2201
|
case 0:
|
|
2217
|
-
auriLens = new ethers
|
|
2202
|
+
auriLens = new ethers.Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, provider);
|
|
2218
2203
|
auTokenAddresses = networkAddresses.auTokens.map(function (auToken) {
|
|
2219
2204
|
return auToken.address;
|
|
2220
2205
|
});
|
|
@@ -2329,14 +2314,14 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2329
2314
|
_this = _BlockchainEntityRead.call(this, networkConnection) || this;
|
|
2330
2315
|
|
|
2331
2316
|
if (isSameAddress(underlyingAsset, ETHAddress)) {
|
|
2332
|
-
_this.auToken = new ethers
|
|
2317
|
+
_this.auToken = new ethers.Contract(auToken, AuETHABI.abi, networkConnection.provider);
|
|
2333
2318
|
} else {
|
|
2334
|
-
_this.auToken = new ethers
|
|
2319
|
+
_this.auToken = new ethers.Contract(auToken, AuErc20ABI.abi, networkConnection.provider);
|
|
2335
2320
|
}
|
|
2336
2321
|
|
|
2337
2322
|
_this.underlying = new Token(underlyingAsset, getDecimal(underlyingAsset));
|
|
2338
|
-
_this._comptroller = new ethers
|
|
2339
|
-
_this._auriLens = new ethers
|
|
2323
|
+
_this._comptroller = new ethers.Contract(networkAddresses.misc.COMPTROLLER, ComptrollerABI.abi, networkConnection.provider);
|
|
2324
|
+
_this._auriLens = new ethers.Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, networkConnection.provider);
|
|
2340
2325
|
return _this;
|
|
2341
2326
|
}
|
|
2342
2327
|
|
|
@@ -2421,7 +2406,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2421
2406
|
return Promise.all(promises);
|
|
2422
2407
|
|
|
2423
2408
|
case 5:
|
|
2424
|
-
return _context3.abrupt("return", new TokenAmount(this.underlying, ethers
|
|
2409
|
+
return _context3.abrupt("return", new TokenAmount(this.underlying, ethers.BigNumber.from(totalCash.rawAmount()).add(totalBorrow.rawAmount()).toString()));
|
|
2425
2410
|
|
|
2426
2411
|
case 6:
|
|
2427
2412
|
case "end":
|
|
@@ -2940,10 +2925,10 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2940
2925
|
var _this;
|
|
2941
2926
|
|
|
2942
2927
|
_this = _BlockchainEntityRead.call(this, networkConnection) || this;
|
|
2943
|
-
_this._comptroller = new ethers
|
|
2944
|
-
_this._tokenLock = new ethers
|
|
2945
|
-
_this._auriFairLaunch = new ethers
|
|
2946
|
-
_this._auriLens = new ethers
|
|
2928
|
+
_this._comptroller = new ethers.Contract(networkAddresses.misc.COMPTROLLER, ComptrollerABI.abi, networkConnection.provider);
|
|
2929
|
+
_this._tokenLock = new ethers.Contract(networkAddresses.misc.TOKENLOCK, TokenLockABI.abi, networkConnection.provider);
|
|
2930
|
+
_this._auriFairLaunch = new ethers.Contract(networkAddresses.misc.AURIFAIRLAUNCH, AuriFairLaunchABI.abi, networkConnection.provider);
|
|
2931
|
+
_this._auriLens = new ethers.Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, networkConnection.provider);
|
|
2947
2932
|
return _this;
|
|
2948
2933
|
}
|
|
2949
2934
|
|
|
@@ -2956,27 +2941,26 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2956
2941
|
while (1) {
|
|
2957
2942
|
switch (_context.prev = _context.next) {
|
|
2958
2943
|
case 0:
|
|
2959
|
-
|
|
2960
|
-
_context.next = 3;
|
|
2944
|
+
_context.next = 2;
|
|
2961
2945
|
return getCurrentTimestamp(this._networkConnection.provider);
|
|
2962
2946
|
|
|
2963
|
-
case
|
|
2947
|
+
case 2:
|
|
2964
2948
|
currentTime = _context.sent;
|
|
2965
|
-
currentWeek = ethers
|
|
2949
|
+
currentWeek = ethers.BigNumber.from(currentTime - REWARDCLAIMSTART).div(7 * ONE_DAY).toNumber();
|
|
2966
2950
|
denominator = 10000;
|
|
2967
2951
|
promises = [];
|
|
2968
2952
|
promises.push(this._tokenLock.percentageLock(currentWeek));
|
|
2969
2953
|
promises.push(this._tokenLock.percentageLock(currentWeek + 1)["catch"](function (err) {
|
|
2970
2954
|
return denominator;
|
|
2971
2955
|
}));
|
|
2972
|
-
_context.next =
|
|
2956
|
+
_context.next = 10;
|
|
2973
2957
|
return Promise.all(promises).then(function (res) {
|
|
2974
2958
|
return res.map(function (v) {
|
|
2975
2959
|
return v.toString();
|
|
2976
2960
|
});
|
|
2977
2961
|
});
|
|
2978
2962
|
|
|
2979
|
-
case
|
|
2963
|
+
case 10:
|
|
2980
2964
|
values = _context.sent;
|
|
2981
2965
|
return _context.abrupt("return", {
|
|
2982
2966
|
vestingStart: REWARDCLAIMSTART,
|
|
@@ -2984,7 +2968,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
2984
2968
|
nextUnlockPortion: new BigNumber(denominator).minus(values[1]).div(denominator).toNumber()
|
|
2985
2969
|
});
|
|
2986
2970
|
|
|
2987
|
-
case
|
|
2971
|
+
case 12:
|
|
2988
2972
|
case "end":
|
|
2989
2973
|
return _context.stop();
|
|
2990
2974
|
}
|
|
@@ -3003,7 +2987,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3003
2987
|
var _getUserDetails = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(userAddress) {
|
|
3004
2988
|
var _this2 = this;
|
|
3005
2989
|
|
|
3006
|
-
var marketCount, userMarketDetails, assetsIn,
|
|
2990
|
+
var marketCount, userMarketDetails, assetsIn, promises, totalBorrowLimit, pricePromises, _loop2, _iterator, _step, underlyingPrices, depositValuationPromises, _loop, i, depositValues, accountLiquidity, rewardBalancesMetadata, lockedAmount, values, borrowedvaluation, bufferedBorrowLimit, minimumBorrowLimitAllowed, borrowableAmount, auToken, moneyMarket, maxWithdrawCap;
|
|
3007
2991
|
|
|
3008
2992
|
return runtime_1.wrap(function _callee2$(_context2) {
|
|
3009
2993
|
while (1) {
|
|
@@ -3011,7 +2995,6 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3011
2995
|
case 0:
|
|
3012
2996
|
marketCount = networkAddresses.auTokens.length;
|
|
3013
2997
|
userMarketDetails = [];
|
|
3014
|
-
collateralRatio = new Array(marketCount);
|
|
3015
2998
|
promises = [];
|
|
3016
2999
|
totalBorrowLimit = new BigNumber(0);
|
|
3017
3000
|
pricePromises = [];
|
|
@@ -3029,9 +3012,12 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3029
3012
|
userMarketDetail.borrowBalance = res;
|
|
3030
3013
|
}));
|
|
3031
3014
|
promises.push(moneyMarket.getCollateralRatio().then(function (res) {
|
|
3032
|
-
collateralRatio
|
|
3015
|
+
userMarketDetail.collateralRatio = res.toNumber();
|
|
3016
|
+
}));
|
|
3017
|
+
pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider).then(function (res) {
|
|
3018
|
+
userMarketDetail.underlyingPrice = res.toString();
|
|
3019
|
+
return res;
|
|
3033
3020
|
}));
|
|
3034
|
-
pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider));
|
|
3035
3021
|
};
|
|
3036
3022
|
|
|
3037
3023
|
for (_iterator = _createForOfIteratorHelperLoose(networkAddresses.auTokens); !(_step = _iterator()).done;) {
|
|
@@ -3041,23 +3027,23 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3041
3027
|
promises.push(this._comptroller.getAssetsIn(userAddress).then(function (res) {
|
|
3042
3028
|
assetsIn = res;
|
|
3043
3029
|
}));
|
|
3044
|
-
_context2.next =
|
|
3030
|
+
_context2.next = 10;
|
|
3045
3031
|
return Promise.all(promises);
|
|
3046
3032
|
|
|
3047
|
-
case
|
|
3048
|
-
_context2.next =
|
|
3033
|
+
case 10:
|
|
3034
|
+
_context2.next = 12;
|
|
3049
3035
|
return Promise.all(pricePromises);
|
|
3050
3036
|
|
|
3051
|
-
case
|
|
3037
|
+
case 12:
|
|
3052
3038
|
underlyingPrices = _context2.sent;
|
|
3053
3039
|
depositValuationPromises = [];
|
|
3054
3040
|
|
|
3055
3041
|
_loop = function _loop() {
|
|
3056
3042
|
var auToken = networkAddresses.auTokens[i];
|
|
3057
3043
|
|
|
3058
|
-
if (assetsIn.
|
|
3059
|
-
isSameAddress(auToken.address, auAddress);
|
|
3060
|
-
})
|
|
3044
|
+
if (assetsIn.find(function (auAddress) {
|
|
3045
|
+
return isSameAddress(auToken.address, auAddress);
|
|
3046
|
+
}) !== undefined) {
|
|
3061
3047
|
userMarketDetails[i].isCollateral = true;
|
|
3062
3048
|
} else {
|
|
3063
3049
|
userMarketDetails[i].isCollateral = false;
|
|
@@ -3070,29 +3056,30 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3070
3056
|
_loop();
|
|
3071
3057
|
}
|
|
3072
3058
|
|
|
3073
|
-
_context2.next =
|
|
3059
|
+
_context2.next = 18;
|
|
3074
3060
|
return Promise.all(depositValuationPromises);
|
|
3075
3061
|
|
|
3076
|
-
case
|
|
3062
|
+
case 18:
|
|
3077
3063
|
depositValues = _context2.sent;
|
|
3078
3064
|
totalBorrowLimit = depositValues.reduce(function (p, v, index) {
|
|
3079
|
-
if (userMarketDetails[index].isCollateral) return p.plus(v.multipliedBy(
|
|
3065
|
+
if (userMarketDetails[index].isCollateral) return p.plus(v.multipliedBy(userMarketDetails[index].collateralRatio));
|
|
3080
3066
|
return p;
|
|
3081
|
-
});
|
|
3067
|
+
}, new BigNumber(0));
|
|
3082
3068
|
promises = [];
|
|
3083
3069
|
promises.push(this._comptroller.getAccountLiquidity(userAddress));
|
|
3084
3070
|
promises.push(this._auriLens.callStatic.getRewardBalancesMetadata(this._comptroller.address, this._auriFairLaunch.address, userAddress, [AurPlyPid]));
|
|
3085
3071
|
promises.push(this._tokenLock.lockedAmounts(userAddress));
|
|
3086
|
-
_context2.next =
|
|
3072
|
+
_context2.next = 26;
|
|
3087
3073
|
return Promise.all(promises);
|
|
3088
3074
|
|
|
3089
|
-
case
|
|
3075
|
+
case 26:
|
|
3090
3076
|
values = _context2.sent;
|
|
3091
3077
|
accountLiquidity = values[0];
|
|
3092
3078
|
rewardBalancesMetadata = values[1];
|
|
3093
3079
|
lockedAmount = values[2];
|
|
3094
3080
|
borrowedvaluation = totalBorrowLimit.minus(new BigNumber(accountLiquidity[1].toString()).div(decimalFactor(18)));
|
|
3095
3081
|
bufferedBorrowLimit = totalBorrowLimit.multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3082
|
+
minimumBorrowLimitAllowed = borrowedvaluation.div(BORROW_LIMIT_BUFFER);
|
|
3096
3083
|
|
|
3097
3084
|
if (bufferedBorrowLimit.lte(borrowedvaluation)) {
|
|
3098
3085
|
borrowableAmount = new BigNumber(0);
|
|
@@ -3103,7 +3090,8 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3103
3090
|
for (i = 0; i < marketCount; i++) {
|
|
3104
3091
|
auToken = networkAddresses.auTokens[i];
|
|
3105
3092
|
moneyMarket = new MoneyMarketRead(this._networkConnection, auToken.address, auToken.underlying);
|
|
3106
|
-
|
|
3093
|
+
maxWithdrawCap = totalBorrowLimit.minus(minimumBorrowLimitAllowed).div(userMarketDetails[i].collateralRatio).div(underlyingPrices[i]);
|
|
3094
|
+
userMarketDetails[i].maxWithdrawableAmount = userMarketDetails[i].isCollateral && maxWithdrawCap.lt(userMarketDetails[i].depositBalance.formattedAmount()) ? new TokenAmount(moneyMarket.underlying, maxWithdrawCap.toFixed(24), false) : new TokenAmount(moneyMarket.underlying, userMarketDetails[i].depositBalance.rawAmount());
|
|
3107
3095
|
}
|
|
3108
3096
|
|
|
3109
3097
|
return _context2.abrupt("return", {
|
|
@@ -3243,6 +3231,18 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
|
|
|
3243
3231
|
return stakeBalanceOf;
|
|
3244
3232
|
}();
|
|
3245
3233
|
|
|
3234
|
+
_proto.calcHypotheticalStats = function calcHypotheticalStats(args) {
|
|
3235
|
+
var deltaBorrowLimit = new BigNumber(args.userMarketDetail.depositBalance.formattedAmount()).multipliedBy(args.userMarketDetail.underlyingPrice).multipliedBy(args.userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
|
|
3236
|
+
var newBorrowLimit = args.isEnable ? new BigNumber(args.currentBorrowLimit.amount).plus(deltaBorrowLimit) : new BigNumber(args.currentBorrowLimit.amount).minus(deltaBorrowLimit);
|
|
3237
|
+
return {
|
|
3238
|
+
newBorrowLimit: {
|
|
3239
|
+
amount: newBorrowLimit.toFixed(DECIMAL_PRECISION),
|
|
3240
|
+
currency: "USD"
|
|
3241
|
+
},
|
|
3242
|
+
newBorrowUtilization: new BigNumber(args.currentBorrowValuation.amount).div(newBorrowLimit).toNumber()
|
|
3243
|
+
};
|
|
3244
|
+
};
|
|
3245
|
+
|
|
3246
3246
|
return SdkRead;
|
|
3247
3247
|
}(BlockchainEntityRead);
|
|
3248
3248
|
var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
|
|
@@ -3338,8 +3338,8 @@ var SDK = /*#__PURE__*/function (_BlockchainEntity) {
|
|
|
3338
3338
|
return new SdkRead(networkConnection);
|
|
3339
3339
|
};
|
|
3340
3340
|
|
|
3341
|
-
|
|
3342
|
-
return new
|
|
3341
|
+
_proto3.readWrite = function readWrite(networkConnection) {
|
|
3342
|
+
return new SdkReadWrite(networkConnection);
|
|
3343
3343
|
};
|
|
3344
3344
|
|
|
3345
3345
|
return SDK;
|
|
@@ -3358,16 +3358,12 @@ var dummyUserMarketDetails = {
|
|
|
3358
3358
|
depositBalance: dummyTokenAmount2,
|
|
3359
3359
|
borrowBalance: dummyZeroTokenAmount,
|
|
3360
3360
|
isCollateral: true,
|
|
3361
|
-
maxWithdrawableAmount: dummyTokenAmount
|
|
3361
|
+
maxWithdrawableAmount: dummyTokenAmount,
|
|
3362
|
+
collateralRatio: 0.5
|
|
3362
3363
|
};
|
|
3363
3364
|
|
|
3364
3365
|
exports.AURORA_CHAINID = AURORA_CHAINID;
|
|
3365
|
-
exports.AURORA_DEFAULT_PROVIDER = AURORA_DEFAULT_PROVIDER;
|
|
3366
|
-
exports.AURORA_DEFAULT_PROVIDER_URL = AURORA_DEFAULT_PROVIDER_URL;
|
|
3367
|
-
exports.AURORA_DEFAULT_SIGNER = AURORA_DEFAULT_SIGNER;
|
|
3368
3366
|
exports.AURPLYToken = AURPLYToken;
|
|
3369
|
-
exports.AVAX_DEFAULT_PROVIDER = AVAX_DEFAULT_PROVIDER;
|
|
3370
|
-
exports.AVAX_DEFAULT_PROVIDER_URL = AVAX_DEFAULT_PROVIDER_URL;
|
|
3371
3367
|
exports.AurPlyPid = AurPlyPid;
|
|
3372
3368
|
exports.BORROW_LIMIT_BUFFER = BORROW_LIMIT_BUFFER;
|
|
3373
3369
|
exports.BlockchainEntity = BlockchainEntity;
|