@aurigami/sdk 0.3.4 → 0.4.2

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.esm.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import { Signer } from '@ethersproject/abstract-signer';
2
2
  import BigNumber from 'bignumber.js';
3
- import { BigNumber as BigNumber$1, utils, Contract, ethers as ethers$1 } from 'ethers';
3
+ import { BigNumber as BigNumber$1, utils, Contract } from 'ethers';
4
4
  import AuErc20ABI from '@aurigami/contracts/artifacts/contracts/AuErc20.sol/AuErc20.json';
5
5
  import AuETHABI from '@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json';
6
6
  import ComptrollerABI from '@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json';
7
7
  import AuriLensABI from '@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json';
8
+ import axios from 'axios';
8
9
  import TokenLockABI from '@aurigami/contracts/artifacts/contracts/TokenLock.sol/TokenLock.json';
9
10
  import AuriFairLaunchABI from '@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json';
10
11
 
@@ -890,16 +891,8 @@ var BlockchainEntity = /*#__PURE__*/function () {
890
891
  return BlockchainEntity;
891
892
  }();
892
893
 
893
- var ethers = /*#__PURE__*/require('ethers');
894
-
895
- var AVAX_DEFAULT_PROVIDER_URL = 'https://api.avax.network/ext/bc/C/rpc';
896
- var AVAX_DEFAULT_PROVIDER = /*#__PURE__*/new ethers.providers.JsonRpcProvider(AVAX_DEFAULT_PROVIDER_URL);
897
- var AURORA_DEFAULT_PROVIDER_URL = "https://mainnet.aurora.dev";
898
- var AURORA_DEFAULT_PROVIDER = /*#__PURE__*/new ethers.providers.JsonRpcProvider(AURORA_DEFAULT_PROVIDER_URL);
899
894
  var dummyAddress = "0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE";
900
895
  var ETHAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
901
- var dummyPrivateKey = '1111111111111111111111111111111111111111111111111111111111111111';
902
- var AURORA_DEFAULT_SIGNER = /*#__PURE__*/new ethers.Wallet(dummyPrivateKey, AURORA_DEFAULT_PROVIDER);
903
896
  var AURORA_CHAINID = 1313161554;
904
897
  var DECIMAL_PRECISION = 6;
905
898
  var networkAddresses = {
@@ -2005,14 +1998,6 @@ var IUniswapV2PairABI = {
2005
1998
  deployedLinkReferences: deployedLinkReferences
2006
1999
  };
2007
2000
 
2008
- var abi$2 = [
2009
- ];
2010
- var dummyABI = {
2011
- abi: abi$2
2012
- };
2013
-
2014
- var axios = /*#__PURE__*/require('axios');
2015
-
2016
2001
  function fetchPriceFromCoingeckoAPI(_x) {
2017
2002
  return _fetchPriceFromCoingeckoAPI.apply(this, arguments);
2018
2003
  }
@@ -2210,7 +2195,7 @@ function _fetchUnderlyingTokensPrices() {
2210
2195
  while (1) {
2211
2196
  switch (_context6.prev = _context6.next) {
2212
2197
  case 0:
2213
- auriLens = new Contract(networkAddresses.misc.AURILENS, dummyABI.abi, provider);
2198
+ auriLens = new Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, provider);
2214
2199
  auTokenAddresses = networkAddresses.auTokens.map(function (auToken) {
2215
2200
  return auToken.address;
2216
2201
  });
@@ -2292,7 +2277,7 @@ function _fetchValuation() {
2292
2277
  while (1) {
2293
2278
  switch (_context8.prev = _context8.next) {
2294
2279
  case 0:
2295
- if (!(price === null)) {
2280
+ if (!(price === undefined)) {
2296
2281
  _context8.next = 4;
2297
2282
  break;
2298
2283
  }
@@ -2998,7 +2983,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2998
2983
  var _getUserDetails = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(userAddress) {
2999
2984
  var _this2 = this;
3000
2985
 
3001
- var marketCount, userMarketDetails, assetsIn, promises, totalBorrowLimit, pricePromises, _loop2, _iterator, _step, underlyingPrices, depositValuationPromises, _loop, i, depositValues, accountLiquidity, rewardBalancesMetadata, lockedAmount, values, borrowedvaluation, bufferedBorrowLimit, borrowableAmount, auToken, moneyMarket;
2986
+ 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;
3002
2987
 
3003
2988
  return runtime_1.wrap(function _callee2$(_context2) {
3004
2989
  while (1) {
@@ -3025,7 +3010,10 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3025
3010
  promises.push(moneyMarket.getCollateralRatio().then(function (res) {
3026
3011
  userMarketDetail.collateralRatio = res.toNumber();
3027
3012
  }));
3028
- pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider));
3013
+ pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider).then(function (res) {
3014
+ userMarketDetail.underlyingPrice = res.toString();
3015
+ return res;
3016
+ }));
3029
3017
  };
3030
3018
 
3031
3019
  for (_iterator = _createForOfIteratorHelperLoose(networkAddresses.auTokens); !(_step = _iterator()).done;) {
@@ -3086,7 +3074,13 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3086
3074
  rewardBalancesMetadata = values[1];
3087
3075
  lockedAmount = values[2];
3088
3076
  borrowedvaluation = totalBorrowLimit.minus(new BigNumber(accountLiquidity[1].toString()).div(decimalFactor(18)));
3077
+
3078
+ if (borrowedvaluation.lt("0.00001")) {
3079
+ borrowedvaluation = new BigNumber(0);
3080
+ }
3081
+
3089
3082
  bufferedBorrowLimit = totalBorrowLimit.multipliedBy(BORROW_LIMIT_BUFFER);
3083
+ minimumBorrowLimitAllowed = borrowedvaluation.div(BORROW_LIMIT_BUFFER);
3090
3084
 
3091
3085
  if (bufferedBorrowLimit.lte(borrowedvaluation)) {
3092
3086
  borrowableAmount = new BigNumber(0);
@@ -3097,7 +3091,8 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3097
3091
  for (i = 0; i < marketCount; i++) {
3098
3092
  auToken = networkAddresses.auTokens[i];
3099
3093
  moneyMarket = new MoneyMarketRead(this._networkConnection, auToken.address, auToken.underlying);
3100
- userMarketDetails[i].maxWithdrawableAmount = new TokenAmount(moneyMarket.underlying, borrowableAmount.div(underlyingPrices[i]).toFixed(18));
3094
+ maxWithdrawCap = totalBorrowLimit.minus(minimumBorrowLimitAllowed).div(userMarketDetails[i].collateralRatio).div(underlyingPrices[i]);
3095
+ 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());
3101
3096
  }
3102
3097
 
3103
3098
  return _context2.abrupt("return", {
@@ -3114,7 +3109,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3114
3109
  }
3115
3110
  });
3116
3111
 
3117
- case 35:
3112
+ case 37:
3118
3113
  case "end":
3119
3114
  return _context2.stop();
3120
3115
  }
@@ -3237,6 +3232,18 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3237
3232
  return stakeBalanceOf;
3238
3233
  }();
3239
3234
 
3235
+ _proto.calcHypotheticalStats = function calcHypotheticalStats(args) {
3236
+ var deltaBorrowLimit = new BigNumber(args.userMarketDetail.depositBalance.formattedAmount()).multipliedBy(args.userMarketDetail.underlyingPrice).multipliedBy(args.userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
3237
+ var newBorrowLimit = args.isEnable ? new BigNumber(args.currentBorrowLimit.amount).plus(deltaBorrowLimit) : new BigNumber(args.currentBorrowLimit.amount).minus(deltaBorrowLimit);
3238
+ return {
3239
+ newBorrowLimit: {
3240
+ amount: newBorrowLimit.toFixed(DECIMAL_PRECISION),
3241
+ currency: "USD"
3242
+ },
3243
+ newBorrowUtilization: new BigNumber(args.currentBorrowValuation.amount).div(newBorrowLimit).toNumber()
3244
+ };
3245
+ };
3246
+
3240
3247
  return SdkRead;
3241
3248
  }(BlockchainEntityRead);
3242
3249
  var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
@@ -3332,8 +3339,8 @@ var SDK = /*#__PURE__*/function (_BlockchainEntity) {
3332
3339
  return new SdkRead(networkConnection);
3333
3340
  };
3334
3341
 
3335
- SDK.defaultProvider = function defaultProvider() {
3336
- return new ethers$1.providers.JsonRpcProvider(AVAX_DEFAULT_PROVIDER_URL);
3342
+ _proto3.readWrite = function readWrite(networkConnection) {
3343
+ return new SdkReadWrite(networkConnection);
3337
3344
  };
3338
3345
 
3339
3346
  return SDK;
@@ -3352,8 +3359,10 @@ var dummyUserMarketDetails = {
3352
3359
  depositBalance: dummyTokenAmount2,
3353
3360
  borrowBalance: dummyZeroTokenAmount,
3354
3361
  isCollateral: true,
3355
- maxWithdrawableAmount: dummyTokenAmount
3362
+ maxWithdrawableAmount: dummyTokenAmount,
3363
+ collateralRatio: 0.5,
3364
+ underlyingPrice: "1"
3356
3365
  };
3357
3366
 
3358
- export { AURORA_CHAINID, AURORA_DEFAULT_PROVIDER, AURORA_DEFAULT_PROVIDER_URL, AURORA_DEFAULT_SIGNER, AURPLYToken, AVAX_DEFAULT_PROVIDER, AVAX_DEFAULT_PROVIDER_URL, AurPlyPid, BORROW_LIMIT_BUFFER, BlockchainEntity, BlockchainEntityRead, BlockchainEntityReadWrite, ComptrollerRewardType, DECIMAL_PRECISION, ETHAddress, MoneyMarket, MoneyMarketRead, MoneyMarketReadWrite, ONE_DAY, ONE_YEAR, PLYToken, REWARDCLAIMSTART, SDK, SdkRead, SdkReadWrite, Token, TokenAmount, calcLMRewardApr, decimalFactor, dummyAddress, dummyMarketAddress, dummyPly, dummyPlyAurora, dummyToken, dummyTokenAmount, dummyTokenAmount2, dummyTokenAmount3, dummyUserMarketDetails, dummyZeroTokenAmount, fetchLPPositions, fetchLPPrice, fetchPrice, fetchPriceFromCoingecko, fetchPriceFromCoingeckoAPI, fetchPriceFromOracle, fetchUnderlyingTokensPrices, fetchValuation, formatObject, getCurrentTimestamp, getDecimal, isSameAddress, networkAddresses, validateAndParseAddress };
3367
+ export { AURORA_CHAINID, AURPLYToken, AurPlyPid, BORROW_LIMIT_BUFFER, BlockchainEntity, BlockchainEntityRead, BlockchainEntityReadWrite, ComptrollerRewardType, DECIMAL_PRECISION, ETHAddress, MoneyMarket, MoneyMarketRead, MoneyMarketReadWrite, ONE_DAY, ONE_YEAR, PLYToken, REWARDCLAIMSTART, SDK, SdkRead, SdkReadWrite, Token, TokenAmount, calcLMRewardApr, decimalFactor, dummyAddress, dummyMarketAddress, dummyPly, dummyPlyAurora, dummyToken, dummyTokenAmount, dummyTokenAmount2, dummyTokenAmount3, dummyUserMarketDetails, dummyZeroTokenAmount, fetchLPPositions, fetchLPPrice, fetchPrice, fetchPriceFromCoingecko, fetchPriceFromCoingeckoAPI, fetchPriceFromOracle, fetchUnderlyingTokensPrices, fetchValuation, formatObject, getCurrentTimestamp, getDecimal, isSameAddress, networkAddresses, validateAndParseAddress };
3359
3368
  //# sourceMappingURL=sdk.esm.js.map