@aurigami/sdk 0.3.5 → 0.4.4

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,18 +891,27 @@ var BlockchainEntity = /*#__PURE__*/function () {
890
891
  return BlockchainEntity;
891
892
  }();
892
893
 
893
- var ethers = /*#__PURE__*/require('ethers');
894
+ var ComptrollerRewardType;
895
+
896
+ (function (ComptrollerRewardType) {
897
+ ComptrollerRewardType[ComptrollerRewardType["PLY"] = 0] = "PLY";
898
+ ComptrollerRewardType[ComptrollerRewardType["AURORA"] = 1] = "AURORA";
899
+ })(ComptrollerRewardType || (ComptrollerRewardType = {}));
900
+ var MarketAction;
901
+
902
+ (function (MarketAction) {
903
+ MarketAction[MarketAction["Deposit"] = 0] = "Deposit";
904
+ MarketAction[MarketAction["Borrow"] = 1] = "Borrow";
905
+ MarketAction[MarketAction["Withdraw"] = 2] = "Withdraw";
906
+ MarketAction[MarketAction["Repay"] = 3] = "Repay";
907
+ MarketAction[MarketAction["EnableCollateral"] = 4] = "EnableCollateral";
908
+ MarketAction[MarketAction["DisableCollateral"] = 5] = "DisableCollateral";
909
+ })(MarketAction || (MarketAction = {}));
894
910
 
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
911
  var dummyAddress = "0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE";
900
912
  var ETHAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
901
- var dummyPrivateKey = '1111111111111111111111111111111111111111111111111111111111111111';
902
- var AURORA_DEFAULT_SIGNER = /*#__PURE__*/new ethers.Wallet(dummyPrivateKey, AURORA_DEFAULT_PROVIDER);
903
913
  var AURORA_CHAINID = 1313161554;
904
- var DECIMAL_PRECISION = 6;
914
+ var DECIMAL_PRECISION = 10;
905
915
  var networkAddresses = {
906
916
  auTokens: [{
907
917
  address: /*#__PURE__*/'0x2dEf6eb801757655AD227110d65C80DB595bBc60'.toLowerCase(),
@@ -1014,13 +1024,6 @@ function calcLMRewardApr(rewardsValue, totalStakeValue, frequencyPerYear) {
1014
1024
  return rewardsValue.multipliedBy(frequencyPerYear).dividedBy(totalStakeValue);
1015
1025
  }
1016
1026
 
1017
- var ComptrollerRewardType;
1018
-
1019
- (function (ComptrollerRewardType) {
1020
- ComptrollerRewardType[ComptrollerRewardType["PLY"] = 0] = "PLY";
1021
- ComptrollerRewardType[ComptrollerRewardType["AURORA"] = 1] = "AURORA";
1022
- })(ComptrollerRewardType || (ComptrollerRewardType = {}));
1023
-
1024
1027
  var Token = function Token(address, decimals) {
1025
1028
  this.address = address.toLowerCase();
1026
1029
  this.decimals = decimals;
@@ -2005,8 +2008,6 @@ var IUniswapV2PairABI = {
2005
2008
  deployedLinkReferences: deployedLinkReferences
2006
2009
  };
2007
2010
 
2008
- var axios = /*#__PURE__*/require('axios');
2009
-
2010
2011
  function fetchPriceFromCoingeckoAPI(_x) {
2011
2012
  return _fetchPriceFromCoingeckoAPI.apply(this, arguments);
2012
2013
  }
@@ -2276,31 +2277,25 @@ function _fetchPrice() {
2276
2277
  return _fetchPrice.apply(this, arguments);
2277
2278
  }
2278
2279
 
2279
- function fetchValuation(_x13, _x14, _x15) {
2280
+ function fetchValuation(_x13, _x14) {
2280
2281
  return _fetchValuation.apply(this, arguments);
2281
2282
  }
2282
2283
 
2283
2284
  function _fetchValuation() {
2284
- _fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(tokenAmount, provider, price) {
2285
+ _fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(tokenAmount, provider) {
2286
+ var price;
2285
2287
  return runtime_1.wrap(function _callee8$(_context8) {
2286
2288
  while (1) {
2287
2289
  switch (_context8.prev = _context8.next) {
2288
2290
  case 0:
2289
- if (!(price === null)) {
2290
- _context8.next = 4;
2291
- break;
2292
- }
2293
-
2294
- _context8.next = 3;
2291
+ _context8.next = 2;
2295
2292
  return fetchPrice(tokenAmount.token.address, provider);
2296
2293
 
2297
- case 3:
2294
+ case 2:
2298
2295
  price = _context8.sent;
2296
+ return _context8.abrupt("return", calcValuation(tokenAmount, price));
2299
2297
 
2300
2298
  case 4:
2301
- return _context8.abrupt("return", new BigNumber(tokenAmount.formattedAmount()).multipliedBy(price));
2302
-
2303
- case 5:
2304
2299
  case "end":
2305
2300
  return _context8.stop();
2306
2301
  }
@@ -2310,6 +2305,10 @@ function _fetchValuation() {
2310
2305
  return _fetchValuation.apply(this, arguments);
2311
2306
  }
2312
2307
 
2308
+ function calcValuation(tokenAmount, price) {
2309
+ return new BigNumber(tokenAmount.formattedAmount()).multipliedBy(price);
2310
+ }
2311
+
2313
2312
  var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2314
2313
  _inheritsLoose(MoneyMarketRead, _BlockchainEntityRead);
2315
2314
 
@@ -2631,7 +2630,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2631
2630
  case 11:
2632
2631
  _context9.t0 = calcLMRewardApr;
2633
2632
  _context9.next = 14;
2634
- return fetchValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardBorrowSpeed.toString()), this._networkConnection.provider, plyPrice);
2633
+ return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardBorrowSpeed.toString()), plyPrice);
2635
2634
 
2636
2635
  case 14:
2637
2636
  _context9.t1 = _context9.sent;
@@ -2640,7 +2639,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2640
2639
  borrowPlyApy = (0, _context9.t0)(_context9.t1, _context9.t2, _context9.t3);
2641
2640
  _context9.t4 = calcLMRewardApr;
2642
2641
  _context9.next = 21;
2643
- return fetchValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardSupplySpeed.toString()), this._networkConnection.provider, plyPrice);
2642
+ return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardSupplySpeed.toString()), plyPrice);
2644
2643
 
2645
2644
  case 21:
2646
2645
  _context9.t5 = _context9.sent;
@@ -2992,7 +2991,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2992
2991
  var _getUserDetails = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(userAddress) {
2993
2992
  var _this2 = this;
2994
2993
 
2995
- 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;
2994
+ var marketCount, userMarketDetails, assetsIn, promises, totalBorrowLimit, pricePromises, _loop2, _iterator, _step, underlyingPrices, depositValues, _loop, i, accountLiquidity, rewardBalancesMetadata, lockedAmount, values, borrowedvaluation, bufferedBorrowLimit, minimumBorrowLimitAllowed, borrowableAmount, auToken, moneyMarket, maxWithdrawCap;
2996
2995
 
2997
2996
  return runtime_1.wrap(function _callee2$(_context2) {
2998
2997
  while (1) {
@@ -3019,7 +3018,10 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3019
3018
  promises.push(moneyMarket.getCollateralRatio().then(function (res) {
3020
3019
  userMarketDetail.collateralRatio = res.toNumber();
3021
3020
  }));
3022
- pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider));
3021
+ pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider).then(function (res) {
3022
+ userMarketDetail.underlyingPrice = res.toString();
3023
+ return res;
3024
+ }));
3023
3025
  };
3024
3026
 
3025
3027
  for (_iterator = _createForOfIteratorHelperLoose(networkAddresses.auTokens); !(_step = _iterator()).done;) {
@@ -3038,7 +3040,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3038
3040
 
3039
3041
  case 12:
3040
3042
  underlyingPrices = _context2.sent;
3041
- depositValuationPromises = [];
3043
+ depositValues = [];
3042
3044
 
3043
3045
  _loop = function _loop() {
3044
3046
  var auToken = networkAddresses.auTokens[i];
@@ -3051,18 +3053,13 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3051
3053
  userMarketDetails[i].isCollateral = false;
3052
3054
  }
3053
3055
 
3054
- depositValuationPromises.push(fetchValuation(userMarketDetails[i].depositBalance, _this2._networkConnection.provider, underlyingPrices[i]));
3056
+ depositValues.push(calcValuation(userMarketDetails[i].depositBalance, underlyingPrices[i]));
3055
3057
  };
3056
3058
 
3057
3059
  for (i = 0; i < marketCount; i++) {
3058
3060
  _loop();
3059
3061
  }
3060
3062
 
3061
- _context2.next = 18;
3062
- return Promise.all(depositValuationPromises);
3063
-
3064
- case 18:
3065
- depositValues = _context2.sent;
3066
3063
  totalBorrowLimit = depositValues.reduce(function (p, v, index) {
3067
3064
  if (userMarketDetails[index].isCollateral) return p.plus(v.multipliedBy(userMarketDetails[index].collateralRatio));
3068
3065
  return p;
@@ -3071,15 +3068,20 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3071
3068
  promises.push(this._comptroller.getAccountLiquidity(userAddress));
3072
3069
  promises.push(this._auriLens.callStatic.getRewardBalancesMetadata(this._comptroller.address, this._auriFairLaunch.address, userAddress, [AurPlyPid]));
3073
3070
  promises.push(this._tokenLock.lockedAmounts(userAddress));
3074
- _context2.next = 26;
3071
+ _context2.next = 23;
3075
3072
  return Promise.all(promises);
3076
3073
 
3077
- case 26:
3074
+ case 23:
3078
3075
  values = _context2.sent;
3079
3076
  accountLiquidity = values[0];
3080
3077
  rewardBalancesMetadata = values[1];
3081
3078
  lockedAmount = values[2];
3082
3079
  borrowedvaluation = totalBorrowLimit.minus(new BigNumber(accountLiquidity[1].toString()).div(decimalFactor(18)));
3080
+
3081
+ if (borrowedvaluation.lt("0.00001")) {
3082
+ borrowedvaluation = new BigNumber(0);
3083
+ }
3084
+
3083
3085
  bufferedBorrowLimit = totalBorrowLimit.multipliedBy(BORROW_LIMIT_BUFFER);
3084
3086
  minimumBorrowLimitAllowed = borrowedvaluation.div(BORROW_LIMIT_BUFFER);
3085
3087
 
@@ -3110,7 +3112,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3110
3112
  }
3111
3113
  });
3112
3114
 
3113
- case 36:
3115
+ case 34:
3114
3116
  case "end":
3115
3117
  return _context2.stop();
3116
3118
  }
@@ -3233,6 +3235,44 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3233
3235
  return stakeBalanceOf;
3234
3236
  }();
3235
3237
 
3238
+ _proto.calcHypotheticalStats = function calcHypotheticalStats(_ref) {
3239
+ var userMarketDetail = _ref.userMarketDetail,
3240
+ currentBorrowLimit = _ref.currentBorrowLimit,
3241
+ currentBorrowValuation = _ref.currentBorrowValuation,
3242
+ action = _ref.action,
3243
+ tokenAmount = _ref.tokenAmount;
3244
+ var newBorrowLimit = new BigNumber(currentBorrowLimit.amount),
3245
+ newBorrowValuation = new BigNumber(currentBorrowValuation.amount);
3246
+
3247
+ switch (action) {
3248
+ case MarketAction.EnableCollateral:
3249
+ case MarketAction.DisableCollateral:
3250
+ var deltaBorrowLimit = calcValuation(userMarketDetail.depositBalance, new BigNumber(userMarketDetail.underlyingPrice)).multipliedBy(userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
3251
+ newBorrowLimit = action == MarketAction.EnableCollateral ? newBorrowLimit.plus(deltaBorrowLimit) : newBorrowLimit.minus(deltaBorrowLimit);
3252
+ break;
3253
+
3254
+ case MarketAction.Deposit:
3255
+ case MarketAction.Withdraw:
3256
+ deltaBorrowLimit = calcValuation(tokenAmount, new BigNumber(userMarketDetail.underlyingPrice)).multipliedBy(userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
3257
+ newBorrowLimit = action == MarketAction.Deposit ? newBorrowLimit.plus(deltaBorrowLimit) : newBorrowLimit.minus(deltaBorrowLimit);
3258
+ break;
3259
+
3260
+ case MarketAction.Borrow:
3261
+ case MarketAction.Repay:
3262
+ var deltaBorrowValuation = calcValuation(tokenAmount, new BigNumber(userMarketDetail.underlyingPrice));
3263
+ newBorrowValuation = action == MarketAction.Borrow ? newBorrowValuation.plus(deltaBorrowValuation) : newBorrowValuation.minus(deltaBorrowValuation);
3264
+ break;
3265
+ }
3266
+
3267
+ return {
3268
+ newBorrowLimit: {
3269
+ amount: newBorrowLimit.toFixed(DECIMAL_PRECISION),
3270
+ currency: "USD"
3271
+ },
3272
+ newBorrowUtilization: newBorrowValuation.div(newBorrowLimit).toNumber()
3273
+ };
3274
+ };
3275
+
3236
3276
  return SdkRead;
3237
3277
  }(BlockchainEntityRead);
3238
3278
  var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
@@ -3328,8 +3368,8 @@ var SDK = /*#__PURE__*/function (_BlockchainEntity) {
3328
3368
  return new SdkRead(networkConnection);
3329
3369
  };
3330
3370
 
3331
- SDK.defaultProvider = function defaultProvider() {
3332
- return new ethers$1.providers.JsonRpcProvider(AVAX_DEFAULT_PROVIDER_URL);
3371
+ _proto3.readWrite = function readWrite(networkConnection) {
3372
+ return new SdkReadWrite(networkConnection);
3333
3373
  };
3334
3374
 
3335
3375
  return SDK;
@@ -3349,8 +3389,9 @@ var dummyUserMarketDetails = {
3349
3389
  borrowBalance: dummyZeroTokenAmount,
3350
3390
  isCollateral: true,
3351
3391
  maxWithdrawableAmount: dummyTokenAmount,
3352
- collateralRatio: 0.5
3392
+ collateralRatio: 0.5,
3393
+ underlyingPrice: "1"
3353
3394
  };
3354
3395
 
3355
- 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 };
3396
+ export { AURORA_CHAINID, AURPLYToken, AurPlyPid, BORROW_LIMIT_BUFFER, BlockchainEntity, BlockchainEntityRead, BlockchainEntityReadWrite, ComptrollerRewardType, DECIMAL_PRECISION, ETHAddress, MarketAction, MoneyMarket, MoneyMarketRead, MoneyMarketReadWrite, ONE_DAY, ONE_YEAR, PLYToken, REWARDCLAIMSTART, SDK, SdkRead, SdkReadWrite, Token, TokenAmount, calcLMRewardApr, calcValuation, 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 };
3356
3397
  //# sourceMappingURL=sdk.esm.js.map