@aurigami/sdk 0.3.1 → 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.
@@ -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<any>;
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>;
@@ -2009,12 +2009,6 @@ var IUniswapV2PairABI = {
2009
2009
  deployedLinkReferences: deployedLinkReferences
2010
2010
  };
2011
2011
 
2012
- var abi$2 = [
2013
- ];
2014
- var dummyABI = {
2015
- abi: abi$2
2016
- };
2017
-
2018
2012
  var axios = /*#__PURE__*/require('axios');
2019
2013
 
2020
2014
  function fetchPriceFromCoingeckoAPI(_x) {
@@ -2214,7 +2208,7 @@ function _fetchUnderlyingTokensPrices() {
2214
2208
  while (1) {
2215
2209
  switch (_context6.prev = _context6.next) {
2216
2210
  case 0:
2217
- auriLens = new ethers$1.Contract(networkAddresses.misc.AURILENS, dummyABI.abi, provider);
2211
+ auriLens = new ethers$1.Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, provider);
2218
2212
  auTokenAddresses = networkAddresses.auTokens.map(function (auToken) {
2219
2213
  return auToken.address;
2220
2214
  });
@@ -2956,11 +2950,10 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2956
2950
  while (1) {
2957
2951
  switch (_context.prev = _context.next) {
2958
2952
  case 0:
2959
- console.log(this._networkConnection.provider);
2960
- _context.next = 3;
2953
+ _context.next = 2;
2961
2954
  return getCurrentTimestamp(this._networkConnection.provider);
2962
2955
 
2963
- case 3:
2956
+ case 2:
2964
2957
  currentTime = _context.sent;
2965
2958
  currentWeek = ethers$1.BigNumber.from(currentTime - REWARDCLAIMSTART).div(7 * ONE_DAY).toNumber();
2966
2959
  denominator = 10000;
@@ -2969,14 +2962,14 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2969
2962
  promises.push(this._tokenLock.percentageLock(currentWeek + 1)["catch"](function (err) {
2970
2963
  return denominator;
2971
2964
  }));
2972
- _context.next = 11;
2965
+ _context.next = 10;
2973
2966
  return Promise.all(promises).then(function (res) {
2974
2967
  return res.map(function (v) {
2975
2968
  return v.toString();
2976
2969
  });
2977
2970
  });
2978
2971
 
2979
- case 11:
2972
+ case 10:
2980
2973
  values = _context.sent;
2981
2974
  return _context.abrupt("return", {
2982
2975
  vestingStart: REWARDCLAIMSTART,
@@ -2984,7 +2977,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2984
2977
  nextUnlockPortion: new BigNumber(denominator).minus(values[1]).div(denominator).toNumber()
2985
2978
  });
2986
2979
 
2987
- case 13:
2980
+ case 12:
2988
2981
  case "end":
2989
2982
  return _context.stop();
2990
2983
  }
@@ -3003,7 +2996,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3003
2996
  var _getUserDetails = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(userAddress) {
3004
2997
  var _this2 = this;
3005
2998
 
3006
- var marketCount, userMarketDetails, assetsIn, collateralRatio, promises, totalBorrowLimit, pricePromises, _loop2, _iterator, _step, underlyingPrices, depositValuationPromises, _loop, i, depositValues, accountLiquidity, rewardBalancesMetadata, lockedAmount, values, borrowedvaluation, bufferedBorrowLimit, borrowableAmount, auToken, moneyMarket;
2999
+ 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
3000
 
3008
3001
  return runtime_1.wrap(function _callee2$(_context2) {
3009
3002
  while (1) {
@@ -3011,7 +3004,6 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3011
3004
  case 0:
3012
3005
  marketCount = networkAddresses.auTokens.length;
3013
3006
  userMarketDetails = [];
3014
- collateralRatio = new Array(marketCount);
3015
3007
  promises = [];
3016
3008
  totalBorrowLimit = new BigNumber(0);
3017
3009
  pricePromises = [];
@@ -3029,7 +3021,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3029
3021
  userMarketDetail.borrowBalance = res;
3030
3022
  }));
3031
3023
  promises.push(moneyMarket.getCollateralRatio().then(function (res) {
3032
- collateralRatio[i] = res;
3024
+ userMarketDetail.collateralRatio = res.toNumber();
3033
3025
  }));
3034
3026
  pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider));
3035
3027
  };
@@ -3041,24 +3033,26 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3041
3033
  promises.push(this._comptroller.getAssetsIn(userAddress).then(function (res) {
3042
3034
  assetsIn = res;
3043
3035
  }));
3044
- _context2.next = 11;
3036
+ _context2.next = 10;
3045
3037
  return Promise.all(promises);
3046
3038
 
3047
- case 11:
3048
- _context2.next = 13;
3039
+ case 10:
3040
+ _context2.next = 12;
3049
3041
  return Promise.all(pricePromises);
3050
3042
 
3051
- case 13:
3043
+ case 12:
3052
3044
  underlyingPrices = _context2.sent;
3053
3045
  depositValuationPromises = [];
3054
3046
 
3055
3047
  _loop = function _loop() {
3056
3048
  var auToken = networkAddresses.auTokens[i];
3057
3049
 
3058
- if (assetsIn.filter(function (auAddress) {
3059
- isSameAddress(auToken.address, auAddress);
3060
- }).length > 0) {
3050
+ if (assetsIn.find(function (auAddress) {
3051
+ return isSameAddress(auToken.address, auAddress);
3052
+ }) !== undefined) {
3061
3053
  userMarketDetails[i].isCollateral = true;
3054
+ } else {
3055
+ userMarketDetails[i].isCollateral = false;
3062
3056
  }
3063
3057
 
3064
3058
  depositValuationPromises.push(fetchValuation(userMarketDetails[i].depositBalance, _this2._networkConnection.provider, underlyingPrices[i]));
@@ -3068,29 +3062,30 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3068
3062
  _loop();
3069
3063
  }
3070
3064
 
3071
- _context2.next = 19;
3065
+ _context2.next = 18;
3072
3066
  return Promise.all(depositValuationPromises);
3073
3067
 
3074
- case 19:
3068
+ case 18:
3075
3069
  depositValues = _context2.sent;
3076
3070
  totalBorrowLimit = depositValues.reduce(function (p, v, index) {
3077
- if (userMarketDetails[index].isCollateral) return p.plus(v.multipliedBy(collateralRatio[index]));
3071
+ if (userMarketDetails[index].isCollateral) return p.plus(v.multipliedBy(userMarketDetails[index].collateralRatio));
3078
3072
  return p;
3079
- });
3073
+ }, new BigNumber(0));
3080
3074
  promises = [];
3081
3075
  promises.push(this._comptroller.getAccountLiquidity(userAddress));
3082
3076
  promises.push(this._auriLens.callStatic.getRewardBalancesMetadata(this._comptroller.address, this._auriFairLaunch.address, userAddress, [AurPlyPid]));
3083
3077
  promises.push(this._tokenLock.lockedAmounts(userAddress));
3084
- _context2.next = 27;
3078
+ _context2.next = 26;
3085
3079
  return Promise.all(promises);
3086
3080
 
3087
- case 27:
3081
+ case 26:
3088
3082
  values = _context2.sent;
3089
3083
  accountLiquidity = values[0];
3090
3084
  rewardBalancesMetadata = values[1];
3091
3085
  lockedAmount = values[2];
3092
3086
  borrowedvaluation = totalBorrowLimit.minus(new BigNumber(accountLiquidity[1].toString()).div(decimalFactor(18)));
3093
3087
  bufferedBorrowLimit = totalBorrowLimit.multipliedBy(BORROW_LIMIT_BUFFER);
3088
+ minimumBorrowLimitAllowed = borrowedvaluation.div(BORROW_LIMIT_BUFFER);
3094
3089
 
3095
3090
  if (bufferedBorrowLimit.lte(borrowedvaluation)) {
3096
3091
  borrowableAmount = new BigNumber(0);
@@ -3101,7 +3096,8 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3101
3096
  for (i = 0; i < marketCount; i++) {
3102
3097
  auToken = networkAddresses.auTokens[i];
3103
3098
  moneyMarket = new MoneyMarketRead(this._networkConnection, auToken.address, auToken.underlying);
3104
- userMarketDetails[i].maxWithdrawableAmount = new TokenAmount(moneyMarket.underlying, borrowableAmount.div(underlyingPrices[i]).toFixed(18));
3099
+ maxWithdrawCap = totalBorrowLimit.minus(minimumBorrowLimitAllowed).div(userMarketDetails[i].collateralRatio).div(underlyingPrices[i]);
3100
+ 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());
3105
3101
  }
3106
3102
 
3107
3103
  return _context2.abrupt("return", {
@@ -3356,7 +3352,8 @@ var dummyUserMarketDetails = {
3356
3352
  depositBalance: dummyTokenAmount2,
3357
3353
  borrowBalance: dummyZeroTokenAmount,
3358
3354
  isCollateral: true,
3359
- maxWithdrawableAmount: dummyTokenAmount
3355
+ maxWithdrawableAmount: dummyTokenAmount,
3356
+ collateralRatio: 0.5
3360
3357
  };
3361
3358
 
3362
3359
  exports.AURORA_CHAINID = AURORA_CHAINID;