@aurigami/sdk 0.3.5 → 0.4.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.d.ts CHANGED
@@ -1,5 +1,5 @@
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
4
  import { Contract, providers } from 'ethers';
5
5
  import { AuriFairLaunch, Comptroller, TokenLock } from '@aurigami/contracts/typechain';
@@ -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>;
@@ -2,7 +2,7 @@ import BigNumber from 'bignumber.js';
2
2
  import { Signer } from 'ethers';
3
3
  export declare const AVAX_DEFAULT_PROVIDER_URL = "https://api.avax.network/ext/bc/C/rpc";
4
4
  export declare const AVAX_DEFAULT_PROVIDER: any;
5
- export declare const AURORA_DEFAULT_PROVIDER_URL = "https://mainnet.aurora.dev";
5
+ export declare const AURORA_DEFAULT_PROVIDER_URL: string;
6
6
  export declare const AURORA_DEFAULT_PROVIDER: any;
7
7
  export declare const dummyAddress: string;
8
8
  export declare const ETHAddress: string;
@@ -6,11 +6,13 @@ 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 dotenv = require('dotenv');
9
10
  var ethers$1 = require('ethers');
10
11
  var AuErc20ABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuErc20.sol/AuErc20.json'));
11
12
  var AuETHABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json'));
12
13
  var ComptrollerABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json'));
13
14
  var AuriLensABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json'));
15
+ var axios = _interopDefault(require('axios'));
14
16
  var TokenLockABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/TokenLock.sol/TokenLock.json'));
15
17
  var AuriFairLaunchABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json'));
16
18
 
@@ -897,10 +899,10 @@ var BlockchainEntity = /*#__PURE__*/function () {
897
899
  }();
898
900
 
899
901
  var ethers = /*#__PURE__*/require('ethers');
900
-
902
+ dotenv.config();
901
903
  var AVAX_DEFAULT_PROVIDER_URL = 'https://api.avax.network/ext/bc/C/rpc';
902
904
  var AVAX_DEFAULT_PROVIDER = /*#__PURE__*/new ethers.providers.JsonRpcProvider(AVAX_DEFAULT_PROVIDER_URL);
903
- var AURORA_DEFAULT_PROVIDER_URL = "https://mainnet.aurora.dev";
905
+ var AURORA_DEFAULT_PROVIDER_URL = "https://mainnet.aurora.dev/" + process.env.AURORA_API_KEY;
904
906
  var AURORA_DEFAULT_PROVIDER = /*#__PURE__*/new ethers.providers.JsonRpcProvider(AURORA_DEFAULT_PROVIDER_URL);
905
907
  var dummyAddress = "0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE";
906
908
  var ETHAddress = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
@@ -2009,8 +2011,6 @@ var IUniswapV2PairABI = {
2009
2011
  deployedLinkReferences: deployedLinkReferences
2010
2012
  };
2011
2013
 
2012
- var axios = /*#__PURE__*/require('axios');
2013
-
2014
2014
  function fetchPriceFromCoingeckoAPI(_x) {
2015
2015
  return _fetchPriceFromCoingeckoAPI.apply(this, arguments);
2016
2016
  }
@@ -3023,7 +3023,10 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3023
3023
  promises.push(moneyMarket.getCollateralRatio().then(function (res) {
3024
3024
  userMarketDetail.collateralRatio = res.toNumber();
3025
3025
  }));
3026
- pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider));
3026
+ pricePromises.push(fetchPrice(moneyMarket.underlying.address, _this2._networkConnection.provider).then(function (res) {
3027
+ userMarketDetail.underlyingPrice = res.toString();
3028
+ return res;
3029
+ }));
3027
3030
  };
3028
3031
 
3029
3032
  for (_iterator = _createForOfIteratorHelperLoose(networkAddresses.auTokens); !(_step = _iterator()).done;) {
@@ -3237,6 +3240,18 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3237
3240
  return stakeBalanceOf;
3238
3241
  }();
3239
3242
 
3243
+ _proto.calcHypotheticalStats = function calcHypotheticalStats(args) {
3244
+ var deltaBorrowLimit = new BigNumber(args.userMarketDetail.depositBalance.formattedAmount()).multipliedBy(args.userMarketDetail.underlyingPrice).multipliedBy(args.userMarketDetail.collateralRatio).multipliedBy(BORROW_LIMIT_BUFFER);
3245
+ var newBorrowLimit = args.isEnable ? new BigNumber(args.currentBorrowLimit.amount).plus(deltaBorrowLimit) : new BigNumber(args.currentBorrowLimit.amount).minus(deltaBorrowLimit);
3246
+ return {
3247
+ newBorrowLimit: {
3248
+ amount: newBorrowLimit.toFixed(DECIMAL_PRECISION),
3249
+ currency: "USD"
3250
+ },
3251
+ newBorrowUtilization: new BigNumber(args.currentBorrowValuation.amount).div(newBorrowLimit).toNumber()
3252
+ };
3253
+ };
3254
+
3240
3255
  return SdkRead;
3241
3256
  }(BlockchainEntityRead);
3242
3257
  var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {