@aurigami/sdk 1.0.3-fix → 1.1.0

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,16 +1,16 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  import { BigNumber as BigNumber$1, utils, Contract, ethers } from 'ethers';
3
3
  import { Logger } from 'ethers/lib/utils';
4
- import AuriFairLaunchABI from '@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json';
5
- import AuriLensABI from '@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json';
6
- import ComptrollerABI from '@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json';
7
- import FaucetABI from '@aurigami/contracts/artifacts/contracts/mock/Faucet.sol/Faucet.json';
8
- import TokenLockABI from '@aurigami/contracts/artifacts/contracts/TokenLock.sol/TokenLock.json';
9
4
  import { Signer } from '@ethersproject/abstract-signer';
10
5
  import AuErc20ABI from '@aurigami/contracts/artifacts/contracts/AuErc20.sol/AuErc20.json';
11
6
  import AuETHABI from '@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json';
7
+ import ComptrollerABI from '@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json';
8
+ import AuriLensABI from '@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json';
12
9
  import EthRepayHelperABI from '@aurigami/contracts/artifacts/contracts/EthRepayHelper.sol/EthRepayHelper.json';
13
10
  import axios from 'axios';
11
+ import TokenLockABI from '@aurigami/contracts/artifacts/contracts/TokenLock.sol/TokenLock.json';
12
+ import AuriFairLaunchABI from '@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json';
13
+ import FaucetABI from '@aurigami/contracts/artifacts/contracts/mock/Faucet.sol/Faucet.json';
14
14
 
15
15
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
16
16
  try {
@@ -894,6 +894,23 @@ var BlockchainEntity = /*#__PURE__*/function () {
894
894
  return BlockchainEntity;
895
895
  }();
896
896
 
897
+ var ComptrollerRewardType;
898
+
899
+ (function (ComptrollerRewardType) {
900
+ ComptrollerRewardType[ComptrollerRewardType["PLY"] = 0] = "PLY";
901
+ ComptrollerRewardType[ComptrollerRewardType["AURORA"] = 1] = "AURORA";
902
+ })(ComptrollerRewardType || (ComptrollerRewardType = {}));
903
+ var MarketAction;
904
+
905
+ (function (MarketAction) {
906
+ MarketAction[MarketAction["Deposit"] = 0] = "Deposit";
907
+ MarketAction[MarketAction["Borrow"] = 1] = "Borrow";
908
+ MarketAction[MarketAction["Withdraw"] = 2] = "Withdraw";
909
+ MarketAction[MarketAction["Repay"] = 3] = "Repay";
910
+ MarketAction[MarketAction["EnableCollateral"] = 4] = "EnableCollateral";
911
+ MarketAction[MarketAction["DisableCollateral"] = 5] = "DisableCollateral";
912
+ })(MarketAction || (MarketAction = {}));
913
+
897
914
  var dummyAddress = "0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE";
898
915
  var ETHAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
899
916
  var AURORA_CHAINID = 1313161554;
@@ -923,6 +940,14 @@ var networkAddresses = {
923
940
  name: "auWNEAR",
924
941
  address: /*#__PURE__*/'0xaE4fac24dCdAE0132C6d04f564dCf059616E9423'.toLowerCase(),
925
942
  underlying: /*#__PURE__*/'0xC42C30aC6Cc15faC9bD938618BcaA1a1FaE8501d'.toLowerCase()
943
+ }, {
944
+ name: "auSTNEAR",
945
+ address: /*#__PURE__*/"0x3195949f267702723bc614cAE037cdc8D1E94786".toLowerCase(),
946
+ underlying: /*#__PURE__*/'0x07f9f7f963c5cd2bbffd30ccfb964be114332e30'.toLowerCase()
947
+ }, {
948
+ name: "auAURORA",
949
+ address: /*#__PURE__*/"0x8888682E24dd4Df7B7Ff2B91fccB575737E433bf".toLowerCase(),
950
+ underlying: /*#__PURE__*/"0x8bec47865ade3b172a928df8f990bc7f2a3b9f79".toLowerCase()
926
951
  }],
927
952
  misc: {
928
953
  COMPTROLLER: /*#__PURE__*/"0x817af6cfAF35BdC1A634d6cC94eE9e4c68369Aeb".toLowerCase(),
@@ -935,6 +960,7 @@ var networkAddresses = {
935
960
  tokens: {
936
961
  AURORA: /*#__PURE__*/"0x8bec47865ade3b172a928df8f990bc7f2a3b9f79".toLowerCase(),
937
962
  PLY: /*#__PURE__*/"0x981bD5832EAB9C8F607940E0e9faCBf8C09ee20a".toLowerCase(),
963
+ stNEAR: /*#__PURE__*/"0x07f9f7f963c5cd2bbffd30ccfb964be114332e30".toLowerCase(),
938
964
  AURPLY: /*#__PURE__*/dummyAddress.toLowerCase()
939
965
  }
940
966
  };
@@ -1009,23 +1035,6 @@ function calcLMRewardApr(rewardsValue, totalStakeValue, frequencyPerYear) {
1009
1035
  return rewardsValue.multipliedBy(frequencyPerYear).dividedBy(totalStakeValue);
1010
1036
  }
1011
1037
 
1012
- var ComptrollerRewardType;
1013
-
1014
- (function (ComptrollerRewardType) {
1015
- ComptrollerRewardType[ComptrollerRewardType["PLY"] = 0] = "PLY";
1016
- ComptrollerRewardType[ComptrollerRewardType["AURORA"] = 1] = "AURORA";
1017
- })(ComptrollerRewardType || (ComptrollerRewardType = {}));
1018
- var MarketAction;
1019
-
1020
- (function (MarketAction) {
1021
- MarketAction[MarketAction["Deposit"] = 0] = "Deposit";
1022
- MarketAction[MarketAction["Borrow"] = 1] = "Borrow";
1023
- MarketAction[MarketAction["Withdraw"] = 2] = "Withdraw";
1024
- MarketAction[MarketAction["Repay"] = 3] = "Repay";
1025
- MarketAction[MarketAction["EnableCollateral"] = 4] = "EnableCollateral";
1026
- MarketAction[MarketAction["DisableCollateral"] = 5] = "DisableCollateral";
1027
- })(MarketAction || (MarketAction = {}));
1028
-
1029
1038
  var Token = function Token(address, decimals) {
1030
1039
  this.address = address.toLowerCase();
1031
1040
  this.decimals = decimals;
@@ -2045,12 +2054,12 @@ function fetchPriceFromCoingecko(_x2) {
2045
2054
  }
2046
2055
 
2047
2056
  function _fetchPriceFromCoingecko() {
2048
- _fetchPriceFromCoingecko = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(address) {
2057
+ _fetchPriceFromCoingecko = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(id) {
2049
2058
  return runtime_1.wrap(function _callee2$(_context2) {
2050
2059
  while (1) {
2051
2060
  switch (_context2.prev = _context2.next) {
2052
2061
  case 0:
2053
- if (!isSameAddress(address, networkAddresses.tokens.AURORA)) {
2062
+ if (!isSameAddress(id, networkAddresses.tokens.AURORA)) {
2054
2063
  _context2.next = 4;
2055
2064
  break;
2056
2065
  }
@@ -2058,7 +2067,7 @@ function _fetchPriceFromCoingecko() {
2058
2067
  return _context2.abrupt("return", fetchPriceFromCoingeckoAPI('aurora-near'));
2059
2068
 
2060
2069
  case 4:
2061
- throw Error("Unknown token " + address + " in fetchPriceFromCoingecko");
2070
+ throw Error("Unknown token " + id + " in fetchPriceFromCoingecko");
2062
2071
 
2063
2072
  case 5:
2064
2073
  case "end":
@@ -2236,53 +2245,105 @@ function _fetchUnderlyingTokensPrices() {
2236
2245
  return _fetchUnderlyingTokensPrices.apply(this, arguments);
2237
2246
  }
2238
2247
 
2248
+ function fetchStNEARPrice() {
2249
+ return _fetchStNEARPrice.apply(this, arguments);
2250
+ }
2251
+
2252
+ function _fetchStNEARPrice() {
2253
+ _fetchStNEARPrice = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee7() {
2254
+ var ratioPromise, nearPricePromise, _yield$Promise$all, ratioRes, nearPrice, ratio;
2255
+
2256
+ return runtime_1.wrap(function _callee7$(_context7) {
2257
+ while (1) {
2258
+ switch (_context7.prev = _context7.next) {
2259
+ case 0:
2260
+ ratioPromise = axios.get("https://validators.narwallets.com/metrics_json").then(function (res) {
2261
+ return res.data;
2262
+ });
2263
+ nearPricePromise = fetchPriceFromCoingeckoAPI('near');
2264
+ _context7.next = 4;
2265
+ return Promise.all([ratioPromise, nearPricePromise]);
2266
+
2267
+ case 4:
2268
+ _yield$Promise$all = _context7.sent;
2269
+ ratioRes = _yield$Promise$all[0];
2270
+ nearPrice = _yield$Promise$all[1];
2271
+ ratio = new BigNumber(ratioRes.st_near_price);
2272
+ return _context7.abrupt("return", ratio.multipliedBy(nearPrice));
2273
+
2274
+ case 9:
2275
+ case "end":
2276
+ return _context7.stop();
2277
+ }
2278
+ }
2279
+ }, _callee7);
2280
+ }));
2281
+ return _fetchStNEARPrice.apply(this, arguments);
2282
+ }
2283
+
2239
2284
  function fetchPrice(_x11, _x12) {
2240
2285
  return _fetchPrice.apply(this, arguments);
2241
2286
  }
2242
2287
 
2243
2288
  function _fetchPrice() {
2244
- _fetchPrice = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee7(address, provider) {
2289
+ _fetchPrice = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(address, provider) {
2245
2290
  var matchingAuToken;
2246
- return runtime_1.wrap(function _callee7$(_context7) {
2291
+ return runtime_1.wrap(function _callee8$(_context8) {
2247
2292
  while (1) {
2248
- switch (_context7.prev = _context7.next) {
2293
+ switch (_context8.prev = _context8.next) {
2249
2294
  case 0:
2250
2295
  if (!( isSameAddress(address, networkAddresses.tokens.PLY))) {
2251
- _context7.next = 2;
2296
+ _context8.next = 2;
2252
2297
  break;
2253
2298
  }
2254
2299
 
2255
- return _context7.abrupt("return", new BigNumber(0));
2300
+ return _context8.abrupt("return", new BigNumber(0));
2256
2301
 
2257
2302
  case 2:
2303
+ if (!isSameAddress(address, networkAddresses.tokens.stNEAR)) {
2304
+ _context8.next = 4;
2305
+ break;
2306
+ }
2307
+
2308
+ return _context8.abrupt("return", fetchStNEARPrice());
2309
+
2310
+ case 4:
2311
+ if (!isSameAddress(address, networkAddresses.tokens.AURORA)) {
2312
+ _context8.next = 6;
2313
+ break;
2314
+ }
2315
+
2316
+ return _context8.abrupt("return", fetchPriceFromCoingecko(address));
2317
+
2318
+ case 6:
2258
2319
  matchingAuToken = networkAddresses.auTokens.find(function (auToken) {
2259
2320
  return isSameAddress(auToken.underlying, address);
2260
2321
  });
2261
2322
 
2262
2323
  if (!(matchingAuToken !== undefined)) {
2263
- _context7.next = 7;
2324
+ _context8.next = 11;
2264
2325
  break;
2265
2326
  }
2266
2327
 
2267
- return _context7.abrupt("return", fetchPriceFromOracle(matchingAuToken.address, getDecimal(address), provider));
2328
+ return _context8.abrupt("return", fetchPriceFromOracle(matchingAuToken.address, getDecimal(address), provider));
2268
2329
 
2269
- case 7:
2330
+ case 11:
2270
2331
  if (!isSameAddress(address, networkAddresses.tokens.AUPLYLP)) {
2271
- _context7.next = 11;
2332
+ _context8.next = 15;
2272
2333
  break;
2273
2334
  }
2274
2335
 
2275
- return _context7.abrupt("return", fetchLPPrice(address, provider));
2336
+ return _context8.abrupt("return", fetchLPPrice(address, provider));
2276
2337
 
2277
- case 11:
2278
- return _context7.abrupt("return", fetchPriceFromCoingecko(address));
2338
+ case 15:
2339
+ return _context8.abrupt("return", fetchPriceFromCoingecko(address));
2279
2340
 
2280
- case 12:
2341
+ case 16:
2281
2342
  case "end":
2282
- return _context7.stop();
2343
+ return _context8.stop();
2283
2344
  }
2284
2345
  }
2285
- }, _callee7);
2346
+ }, _callee8);
2286
2347
  }));
2287
2348
  return _fetchPrice.apply(this, arguments);
2288
2349
  }
@@ -2292,25 +2353,25 @@ function fetchValuation(_x13, _x14) {
2292
2353
  }
2293
2354
 
2294
2355
  function _fetchValuation() {
2295
- _fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(tokenAmount, provider) {
2356
+ _fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee9(tokenAmount, provider) {
2296
2357
  var price;
2297
- return runtime_1.wrap(function _callee8$(_context8) {
2358
+ return runtime_1.wrap(function _callee9$(_context9) {
2298
2359
  while (1) {
2299
- switch (_context8.prev = _context8.next) {
2360
+ switch (_context9.prev = _context9.next) {
2300
2361
  case 0:
2301
- _context8.next = 2;
2362
+ _context9.next = 2;
2302
2363
  return fetchPrice(tokenAmount.token.address, provider);
2303
2364
 
2304
2365
  case 2:
2305
- price = _context8.sent;
2306
- return _context8.abrupt("return", calcValuation(tokenAmount, price));
2366
+ price = _context9.sent;
2367
+ return _context9.abrupt("return", calcValuation(tokenAmount, price));
2307
2368
 
2308
2369
  case 4:
2309
2370
  case "end":
2310
- return _context8.stop();
2371
+ return _context9.stop();
2311
2372
  }
2312
2373
  }
2313
- }, _callee8);
2374
+ }, _callee9);
2314
2375
  }));
2315
2376
  return _fetchValuation.apply(this, arguments);
2316
2377
  }
@@ -2648,7 +2709,9 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2648
2709
  depositPlyApy: depositPlyApy.toNumber(),
2649
2710
  borrowApy: borrowAPY,
2650
2711
  borrowPlyApy: borrowPlyApy.toNumber(),
2651
- collateralRatio: collateralRatio
2712
+ collateralRatio: collateralRatio,
2713
+ depositPlyPerWeek: new TokenAmount(PLYToken, rewardSpeeds.plyRewardSupplySpeed.mul(ONE_DAY).mul(7).toString()),
2714
+ BorrowPlyPerWeek: new TokenAmount(PLYToken, rewardSpeeds.plyRewardBorrowSpeed.mul(ONE_DAY).mul(7).toString())
2652
2715
  });
2653
2716
 
2654
2717
  case 14:
@@ -3009,7 +3072,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3009
3072
  var _getUserDetails = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(userAddress) {
3010
3073
  var _this2 = this;
3011
3074
 
3012
- var marketCount, userMarketDetails, assetsIn, promises, totalBorrowLimit, pricePromises, _loop2, _iterator, _step, underlyingPrices, depositValues, _loop, i, accountLiquidity, borrowedvaluation, bufferedBorrowLimit, minimumBorrowLimitAllowed, borrowableAmount, auToken, moneyMarket, borrowLimitMargin, maxWithdrawCap;
3075
+ var marketCount, userMarketDetails, assetsIn, promises, totalBorrowLimit, pricePromises, _loop2, _iterator, _step, underlyingPrices, depositValues, _loop, i, accountLiquidity, rewardBalancesMetadata, lockedAmount, values, borrowedvaluation, bufferedBorrowLimit, minimumBorrowLimitAllowed, borrowableAmount, auToken, moneyMarket, borrowLimitMargin, maxWithdrawCap;
3013
3076
 
3014
3077
  return runtime_1.wrap(function _callee2$(_context2) {
3015
3078
  while (1) {
@@ -3082,11 +3145,20 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3082
3145
  if (userMarketDetails[index].isCollateral) return p.plus(v.multipliedBy(userMarketDetails[index].collateralRatio));
3083
3146
  return p;
3084
3147
  }, new BigNumber(0));
3085
- _context2.next = 19;
3086
- return this._comptroller.getAccountLiquidity(userAddress);
3148
+ promises = new Array(3);
3149
+ promises[0] = this._comptroller.getAccountLiquidity(userAddress);
3150
+ promises[1] = this._auriLens.callStatic.claimAndGetRewardBalancesMetadata(this._comptroller.address, this._auriFairLaunch.address, [], {
3151
+ from: userAddress
3152
+ });
3153
+ promises[2] = this._tokenLock.lockedAmounts(userAddress);
3154
+ _context2.next = 23;
3155
+ return Promise.all(promises);
3087
3156
 
3088
- case 19:
3089
- accountLiquidity = _context2.sent;
3157
+ case 23:
3158
+ values = _context2.sent;
3159
+ accountLiquidity = values[0];
3160
+ rewardBalancesMetadata = values[1];
3161
+ lockedAmount = values[2];
3090
3162
  borrowedvaluation = totalBorrowLimit.minus(new BigNumber(accountLiquidity[0].toString()).div(decimalFactor(18)));
3091
3163
 
3092
3164
  if (borrowedvaluation.lt("0.00001")) {
@@ -3111,20 +3183,20 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3111
3183
  }
3112
3184
 
3113
3185
  return _context2.abrupt("return", {
3114
- markets: [],
3186
+ markets: userMarketDetails,
3115
3187
  borrowLimit: {
3116
3188
  currency: "USD",
3117
3189
  amount: bufferedBorrowLimit.toFixed(DECIMAL_PRECISION)
3118
3190
  },
3119
- accruedPly: new TokenAmount(PLYToken, "0"),
3120
- lockedPly: new TokenAmount(PLYToken, "0"),
3191
+ accruedPly: new TokenAmount(PLYToken, rewardBalancesMetadata.plyAccrued.toString()),
3192
+ lockedPly: new TokenAmount(PLYToken, lockedAmount.toString()),
3121
3193
  borrowableAmount: {
3122
3194
  currency: "USD",
3123
3195
  amount: borrowableAmount.toFixed(DECIMAL_PRECISION)
3124
3196
  }
3125
3197
  });
3126
3198
 
3127
- case 27:
3199
+ case 34:
3128
3200
  case "end":
3129
3201
  return _context2.stop();
3130
3202
  }
@@ -3435,5 +3507,5 @@ BigNumber.config({
3435
3507
  DECIMAL_PLACES: 50
3436
3508
  });
3437
3509
 
3438
- export { AURORA_CHAINID, AURPLYToken, AurPlyPid, BORROW_LIMIT_BUFFER, BlockchainEntity, BlockchainEntityRead, BlockchainEntityReadWrite, ComptrollerRewardType, DECIMAL_PRECISION, ETHAddress, INF, 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 };
3510
+ export { AURORA_CHAINID, AURPLYToken, AurPlyPid, BORROW_LIMIT_BUFFER, BlockchainEntity, BlockchainEntityRead, BlockchainEntityReadWrite, ComptrollerRewardType, DECIMAL_PRECISION, ETHAddress, INF, 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, fetchStNEARPrice, fetchUnderlyingTokensPrices, fetchValuation, formatObject, getCurrentTimestamp, getDecimal, isSameAddress, networkAddresses, validateAndParseAddress };
3439
3511
  //# sourceMappingURL=sdk.esm.js.map