@aurigami/sdk 1.5.1 → 1.5.3

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.
@@ -7,18 +7,18 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
7
7
  var BigNumber = _interopDefault(require('bignumber.js'));
8
8
  var ethers = require('ethers');
9
9
  var utils = require('ethers/lib/utils');
10
+ var AuriFairLaunchABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json'));
11
+ var AuriLensABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json'));
12
+ var ComptrollerABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json'));
13
+ var FaucetABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/mock/Faucet.sol/Faucet.json'));
10
14
  var abstractSigner = require('@ethersproject/abstract-signer');
11
- var axios = _interopDefault(require('axios'));
12
15
  var assert = _interopDefault(require('assert'));
16
+ var axios = _interopDefault(require('axios'));
13
17
  var AuErc20ABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuErc20.sol/AuErc20.json'));
14
18
  var AuETHABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json'));
15
- var ComptrollerABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json'));
16
- var AuriLensABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json'));
17
19
  var EthRepayHelperABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/EthRepayHelper.sol/EthRepayHelper.json'));
18
- var AuriFairLaunchABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json'));
19
- var FaucetABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/mock/Faucet.sol/Faucet.json'));
20
- var EIP20InterfaceABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/interfaces/EIP20Interface.sol/EIP20Interface.json'));
21
20
  var PulpABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/PULP.sol/PULP.json'));
21
+ var EIP20InterfaceABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/interfaces/EIP20Interface.sol/EIP20Interface.json'));
22
22
  var AuTokenABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuToken.sol/AuToken.json'));
23
23
  var AuriAirdropABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriAirdrop.sol/AuriAirdrop.json'));
24
24
 
@@ -922,20 +922,6 @@ var BlockchainEntity = /*#__PURE__*/function () {
922
922
  return BlockchainEntity;
923
923
  }();
924
924
 
925
- (function (ComptrollerRewardType) {
926
- ComptrollerRewardType[ComptrollerRewardType["PLY"] = 0] = "PLY";
927
- ComptrollerRewardType[ComptrollerRewardType["AURORA"] = 1] = "AURORA";
928
- })(exports.ComptrollerRewardType || (exports.ComptrollerRewardType = {}));
929
-
930
- (function (MarketAction) {
931
- MarketAction[MarketAction["Deposit"] = 0] = "Deposit";
932
- MarketAction[MarketAction["Borrow"] = 1] = "Borrow";
933
- MarketAction[MarketAction["Withdraw"] = 2] = "Withdraw";
934
- MarketAction[MarketAction["Repay"] = 3] = "Repay";
935
- MarketAction[MarketAction["EnableCollateral"] = 4] = "EnableCollateral";
936
- MarketAction[MarketAction["DisableCollateral"] = 5] = "DisableCollateral";
937
- })(exports.MarketAction || (exports.MarketAction = {}));
938
-
939
925
  var dummyAddress = '0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE';
940
926
  var ETHAddress = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
941
927
  var AURORA_CHAINID = 1313161554;
@@ -1002,7 +988,7 @@ var networkAddresses = {
1002
988
  var PRICE_WHITELISTED = /*#__PURE__*/new Set( /*#__PURE__*/[].concat( /*#__PURE__*/networkAddresses.auTokens.map(function (t) {
1003
989
  return t.underlying;
1004
990
  }), [networkAddresses.tokens.AURORA, networkAddresses.tokens.TRI, networkAddresses.tokens.META, networkAddresses.tokens.stNEAR]));
1005
- var REWARD_CLAIM_START = 1651762800;
991
+ var REWARD_CLAIM_START = 1651748400;
1006
992
  var BORROW_LIMIT_BUFFER = /*#__PURE__*/new BigNumber(1);
1007
993
  var ONE_DAY = 86400;
1008
994
  var ONE_WEEK = ONE_DAY * 7;
@@ -1197,6 +1183,20 @@ function _getBlockBeforeTimestamp() {
1197
1183
  return _getBlockBeforeTimestamp.apply(this, arguments);
1198
1184
  }
1199
1185
 
1186
+ (function (ComptrollerRewardType) {
1187
+ ComptrollerRewardType[ComptrollerRewardType["PLY"] = 0] = "PLY";
1188
+ ComptrollerRewardType[ComptrollerRewardType["AURORA"] = 1] = "AURORA";
1189
+ })(exports.ComptrollerRewardType || (exports.ComptrollerRewardType = {}));
1190
+
1191
+ (function (MarketAction) {
1192
+ MarketAction[MarketAction["Deposit"] = 0] = "Deposit";
1193
+ MarketAction[MarketAction["Borrow"] = 1] = "Borrow";
1194
+ MarketAction[MarketAction["Withdraw"] = 2] = "Withdraw";
1195
+ MarketAction[MarketAction["Repay"] = 3] = "Repay";
1196
+ MarketAction[MarketAction["EnableCollateral"] = 4] = "EnableCollateral";
1197
+ MarketAction[MarketAction["DisableCollateral"] = 5] = "DisableCollateral";
1198
+ })(exports.MarketAction || (exports.MarketAction = {}));
1199
+
1200
1200
  var Token = function Token(address, decimals) {
1201
1201
  this.address = address.toLowerCase();
1202
1202
  this.decimals = decimals;
@@ -1229,6 +1229,14 @@ var TokenAmount = /*#__PURE__*/function () {
1229
1229
  return this.rawAmnt;
1230
1230
  };
1231
1231
 
1232
+ TokenAmount.fromAddressAndAmount = function fromAddressAndAmount(tokenAddress, amount, isRaw) {
1233
+ if (isRaw === void 0) {
1234
+ isRaw = true;
1235
+ }
1236
+
1237
+ return new TokenAmount(new Token(tokenAddress, getDecimal(tokenAddress)), amount, isRaw);
1238
+ };
1239
+
1232
1240
  return TokenAmount;
1233
1241
  }();
1234
1242
 
@@ -2333,7 +2341,7 @@ function _fetchLPPrice() {
2333
2341
  return _fetchLPPriceBy.apply(this, arguments);
2334
2342
  };
2335
2343
 
2336
- fetchLPPriceBy = function _fetchLPPriceBy2(_x20) {
2344
+ fetchLPPriceBy = function _fetchLPPriceBy2(_x22) {
2337
2345
  return _fetchLPPriceBy.apply(this, arguments);
2338
2346
  };
2339
2347
 
@@ -2592,78 +2600,97 @@ function fetchPLYPrice(_x15) {
2592
2600
 
2593
2601
  function _fetchPLYPrice() {
2594
2602
  _fetchPLYPrice = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee11(provider) {
2595
- var LPInfo, plyAddress, plyDecimal, wnearAddress, wnearDecimal;
2596
2603
  return runtime_1.wrap(function _callee11$(_context11) {
2597
2604
  while (1) {
2598
2605
  switch (_context11.prev = _context11.next) {
2599
2606
  case 0:
2600
- return _context11.abrupt("return", new BigNumber(0));
2607
+ return _context11.abrupt("return", fetchToken0PriceByLP(networkAddresses.tokens.PLYWNEAR, provider));
2601
2608
 
2602
- case 3:
2603
- LPInfo = _context11.sent;
2609
+ case 1:
2610
+ case "end":
2611
+ return _context11.stop();
2612
+ }
2613
+ }
2614
+ }, _callee11);
2615
+ }));
2616
+ return _fetchPLYPrice.apply(this, arguments);
2617
+ }
2618
+
2619
+ function fetchToken0PriceByLP(_x16, _x17) {
2620
+ return _fetchToken0PriceByLP.apply(this, arguments);
2621
+ }
2622
+
2623
+ function _fetchToken0PriceByLP() {
2624
+ _fetchToken0PriceByLP = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee12(LP, provider) {
2625
+ var LPInfo, token0Decimal, token1Decimal;
2626
+ return runtime_1.wrap(function _callee12$(_context12) {
2627
+ while (1) {
2628
+ switch (_context12.prev = _context12.next) {
2629
+ case 0:
2630
+ _context12.next = 2;
2631
+ return fetchLPPositions(LP, provider);
2632
+
2633
+ case 2:
2634
+ LPInfo = _context12.sent;
2604
2635
 
2605
2636
  if (!LPInfo.reserve1.isZero()) {
2606
- _context11.next = 6;
2637
+ _context12.next = 5;
2607
2638
  break;
2608
2639
  }
2609
2640
 
2610
- return _context11.abrupt("return", new BigNumber(0));
2641
+ return _context12.abrupt("return", new BigNumber(0));
2611
2642
 
2612
- case 6:
2613
- plyAddress = LPInfo.token0;
2614
- assert(isSameAddress(plyAddress, networkAddresses.tokens.PLY));
2615
- plyDecimal = getDecimal(plyAddress);
2616
- wnearAddress = LPInfo.token1;
2617
- assert(isSameAddress(wnearAddress, networkAddresses.tokens.WNEAR));
2618
- wnearDecimal = getDecimal(wnearAddress);
2619
- _context11.next = 14;
2620
- return fetchPrice(wnearAddress, provider);
2621
-
2622
- case 14:
2623
- return _context11.abrupt("return", _context11.sent.multipliedBy(LPInfo.reserve1.toString()).multipliedBy(decimalFactor(plyDecimal)).dividedBy(decimalFactor(wnearDecimal)).dividedBy(LPInfo.reserve0.toString()));
2624
-
2625
- case 15:
2643
+ case 5:
2644
+ token0Decimal = getDecimal(LPInfo.token0);
2645
+ token1Decimal = getDecimal(LPInfo.token1);
2646
+ _context12.next = 9;
2647
+ return fetchPrice(LPInfo.token1, provider);
2648
+
2649
+ case 9:
2650
+ return _context12.abrupt("return", _context12.sent.multipliedBy(LPInfo.reserve1.toString()).multipliedBy(decimalFactor(token0Decimal)).dividedBy(decimalFactor(token1Decimal)).dividedBy(LPInfo.reserve0.toString()));
2651
+
2652
+ case 10:
2626
2653
  case "end":
2627
- return _context11.stop();
2654
+ return _context12.stop();
2628
2655
  }
2629
2656
  }
2630
- }, _callee11);
2657
+ }, _callee12);
2631
2658
  }));
2632
- return _fetchPLYPrice.apply(this, arguments);
2659
+ return _fetchToken0PriceByLP.apply(this, arguments);
2633
2660
  }
2634
2661
 
2635
- function fetchValuation(_x16, _x17) {
2662
+ function fetchValuation(_x18, _x19) {
2636
2663
  return _fetchValuation.apply(this, arguments);
2637
2664
  }
2638
2665
 
2639
2666
  function _fetchValuation() {
2640
- _fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee12(tokenAmount, provider) {
2667
+ _fetchValuation = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee13(tokenAmount, provider) {
2641
2668
  var price;
2642
- return runtime_1.wrap(function _callee12$(_context12) {
2669
+ return runtime_1.wrap(function _callee13$(_context13) {
2643
2670
  while (1) {
2644
- switch (_context12.prev = _context12.next) {
2671
+ switch (_context13.prev = _context13.next) {
2645
2672
  case 0:
2646
2673
  if (!(tokenAmount.rawAmount() == '0')) {
2647
- _context12.next = 2;
2674
+ _context13.next = 2;
2648
2675
  break;
2649
2676
  }
2650
2677
 
2651
- return _context12.abrupt("return", new BigNumber(0));
2678
+ return _context13.abrupt("return", new BigNumber(0));
2652
2679
 
2653
2680
  case 2:
2654
- _context12.next = 4;
2681
+ _context13.next = 4;
2655
2682
  return fetchPrice(tokenAmount.token.address, provider);
2656
2683
 
2657
2684
  case 4:
2658
- price = _context12.sent;
2659
- return _context12.abrupt("return", calcValuation(tokenAmount, price));
2685
+ price = _context13.sent;
2686
+ return _context13.abrupt("return", calcValuation(tokenAmount, price));
2660
2687
 
2661
2688
  case 6:
2662
2689
  case "end":
2663
- return _context12.stop();
2690
+ return _context13.stop();
2664
2691
  }
2665
2692
  }
2666
- }, _callee12);
2693
+ }, _callee13);
2667
2694
  }));
2668
2695
  return _fetchValuation.apply(this, arguments);
2669
2696
  }
@@ -2671,23 +2698,23 @@ function _fetchValuation() {
2671
2698
  function calcValuation(tokenAmount, price) {
2672
2699
  return new BigNumber(tokenAmount.formattedAmount()).multipliedBy(price);
2673
2700
  }
2674
- function valuateToken(_x18, _x19) {
2701
+ function valuateToken(_x20, _x21) {
2675
2702
  return _valuateToken.apply(this, arguments);
2676
2703
  }
2677
2704
 
2678
2705
  function _valuateToken() {
2679
- _valuateToken = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee13(tokenAmount, provider) {
2706
+ _valuateToken = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee14(tokenAmount, provider) {
2680
2707
  var tokenValuation;
2681
- return runtime_1.wrap(function _callee13$(_context13) {
2708
+ return runtime_1.wrap(function _callee14$(_context14) {
2682
2709
  while (1) {
2683
- switch (_context13.prev = _context13.next) {
2710
+ switch (_context14.prev = _context14.next) {
2684
2711
  case 0:
2685
- _context13.next = 2;
2712
+ _context14.next = 2;
2686
2713
  return fetchValuation(tokenAmount, provider);
2687
2714
 
2688
2715
  case 2:
2689
- tokenValuation = _context13.sent;
2690
- return _context13.abrupt("return", {
2716
+ tokenValuation = _context14.sent;
2717
+ return _context14.abrupt("return", {
2691
2718
  tokenAmount: tokenAmount,
2692
2719
  currencyAmount: {
2693
2720
  currency: 'USD',
@@ -2697,10 +2724,10 @@ function _valuateToken() {
2697
2724
 
2698
2725
  case 4:
2699
2726
  case "end":
2700
- return _context13.stop();
2727
+ return _context14.stop();
2701
2728
  }
2702
2729
  }
2703
- }, _callee13);
2730
+ }, _callee14);
2704
2731
  }));
2705
2732
  return _valuateToken.apply(this, arguments);
2706
2733
  }
@@ -3703,6 +3730,244 @@ var Papermill = /*#__PURE__*/function (_BlockchainEntity) {
3703
3730
  return Papermill;
3704
3731
  }(BlockchainEntity);
3705
3732
 
3733
+ var StakingRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3734
+ _inheritsLoose(StakingRead, _BlockchainEntityRead);
3735
+
3736
+ function StakingRead(networkConnection) {
3737
+ var _this;
3738
+
3739
+ _this = _BlockchainEntityRead.call(this, networkConnection) || this;
3740
+ _this._comptroller = new ethers.Contract(networkAddresses.misc.COMPTROLLER, ComptrollerABI.abi, networkConnection.provider);
3741
+ _this._auriFairLaunch = new ethers.Contract(networkAddresses.misc.AURIFAIRLAUNCH, AuriFairLaunchABI.abi, networkConnection.provider);
3742
+ _this._auriLens = new ethers.Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, networkConnection.provider);
3743
+ return _this;
3744
+ }
3745
+
3746
+ var _proto = StakingRead.prototype;
3747
+
3748
+ _proto.getPLYWNEARPoolDetails = /*#__PURE__*/function () {
3749
+ var _getPLYWNEARPoolDetails = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
3750
+ var stakedLiquidity, rewardPerSeconds, stakedLiquidityAmount, totalStakeValuation, promises, i, rewardTokenAddress, rewardToken, rewardPerSecond, APYs;
3751
+ return runtime_1.wrap(function _callee$(_context) {
3752
+ while (1) {
3753
+ switch (_context.prev = _context.next) {
3754
+ case 0:
3755
+ _context.next = 2;
3756
+ return this._auriFairLaunch.getPoolInfo(PLYWNEAR_POOL_ID).then(function (res) {
3757
+ stakedLiquidity = res.totalStake;
3758
+ rewardPerSeconds = res.rewardPerSeconds;
3759
+ });
3760
+
3761
+ case 2:
3762
+ stakedLiquidityAmount = new TokenAmount(PLYWNEARToken, stakedLiquidity.toString());
3763
+ _context.next = 5;
3764
+ return fetchValuation(stakedLiquidityAmount, this._networkConnection.provider);
3765
+
3766
+ case 5:
3767
+ totalStakeValuation = _context.sent;
3768
+ promises = [];
3769
+
3770
+ for (i = 0; i < rewardPerSeconds.length; i++) {
3771
+ rewardTokenAddress = PLYWNEAR_REWARD_TOKENS[i];
3772
+ rewardToken = new Token(rewardTokenAddress, getDecimal(rewardTokenAddress));
3773
+ rewardPerSecond = rewardPerSeconds[i];
3774
+ promises.push(fetchValuation(new TokenAmount(rewardToken, rewardPerSecond.toString()), this._networkConnection.provider));
3775
+ }
3776
+
3777
+ APYs = [];
3778
+ _context.next = 11;
3779
+ return Promise.all(promises);
3780
+
3781
+ case 11:
3782
+ _context.sent.forEach(function (rewardPerSecondValuation, i) {
3783
+ var rewardTokenAddress = PLYWNEAR_REWARD_TOKENS[i];
3784
+ var apy = calcLMRewardApr(rewardPerSecondValuation, totalStakeValuation, ONE_DAY * 365).toFixed(DECIMAL_PRECISION);
3785
+ APYs.push({
3786
+ address: rewardTokenAddress,
3787
+ apy: apy
3788
+ });
3789
+ });
3790
+
3791
+ return _context.abrupt("return", {
3792
+ totalStakedLiquidity: {
3793
+ tokenAmount: stakedLiquidityAmount,
3794
+ currencyAmount: {
3795
+ currency: 'USD',
3796
+ amount: totalStakeValuation.toFixed(DECIMAL_PRECISION)
3797
+ }
3798
+ },
3799
+ APYs: APYs
3800
+ });
3801
+
3802
+ case 13:
3803
+ case "end":
3804
+ return _context.stop();
3805
+ }
3806
+ }
3807
+ }, _callee, this);
3808
+ }));
3809
+
3810
+ function getPLYWNEARPoolDetails() {
3811
+ return _getPLYWNEARPoolDetails.apply(this, arguments);
3812
+ }
3813
+
3814
+ return getPLYWNEARPoolDetails;
3815
+ }();
3816
+
3817
+ _proto.stakeBalanceOf = /*#__PURE__*/function () {
3818
+ var _stakeBalanceOf = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(user) {
3819
+ var userInfo, stakeAmount;
3820
+ return runtime_1.wrap(function _callee2$(_context2) {
3821
+ while (1) {
3822
+ switch (_context2.prev = _context2.next) {
3823
+ case 0:
3824
+ _context2.next = 2;
3825
+ return this._auriFairLaunch.getUserInfo(PLYWNEAR_POOL_ID, user);
3826
+
3827
+ case 2:
3828
+ userInfo = _context2.sent;
3829
+ stakeAmount = new TokenAmount(PLYWNEARToken, userInfo.amount.toString());
3830
+ return _context2.abrupt("return", valuateToken(stakeAmount, this._networkConnection.provider));
3831
+
3832
+ case 5:
3833
+ case "end":
3834
+ return _context2.stop();
3835
+ }
3836
+ }
3837
+ }, _callee2, this);
3838
+ }));
3839
+
3840
+ function stakeBalanceOf(_x) {
3841
+ return _stakeBalanceOf.apply(this, arguments);
3842
+ }
3843
+
3844
+ return stakeBalanceOf;
3845
+ }();
3846
+
3847
+ _proto.LpBalanceOf = /*#__PURE__*/function () {
3848
+ var _LpBalanceOf = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3(user) {
3849
+ var lpContract, balance;
3850
+ return runtime_1.wrap(function _callee3$(_context3) {
3851
+ while (1) {
3852
+ switch (_context3.prev = _context3.next) {
3853
+ case 0:
3854
+ lpContract = new ethers.Contract(networkAddresses.tokens.PLYWNEAR, EIP20InterfaceABI.abi, this._networkConnection.provider);
3855
+ _context3.next = 3;
3856
+ return lpContract.balanceOf(user);
3857
+
3858
+ case 3:
3859
+ balance = _context3.sent;
3860
+ return _context3.abrupt("return", valuateToken(new TokenAmount(PLYWNEARToken, balance.toString()), this._networkConnection.provider));
3861
+
3862
+ case 5:
3863
+ case "end":
3864
+ return _context3.stop();
3865
+ }
3866
+ }
3867
+ }, _callee3, this);
3868
+ }));
3869
+
3870
+ function LpBalanceOf(_x2) {
3871
+ return _LpBalanceOf.apply(this, arguments);
3872
+ }
3873
+
3874
+ return LpBalanceOf;
3875
+ }();
3876
+
3877
+ _proto.unclaimedRewardsOf = /*#__PURE__*/function () {
3878
+ var _unclaimedRewardsOf = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee4(user) {
3879
+ var userInfo, rewards;
3880
+ return runtime_1.wrap(function _callee4$(_context4) {
3881
+ while (1) {
3882
+ switch (_context4.prev = _context4.next) {
3883
+ case 0:
3884
+ _context4.next = 2;
3885
+ return this._auriFairLaunch.callStatic.updateAndGetUserInfo(PLYWNEAR_POOL_ID, user, {
3886
+ from: user
3887
+ });
3888
+
3889
+ case 2:
3890
+ userInfo = _context4.sent;
3891
+ rewards = userInfo.unclaimedRewards;
3892
+ return _context4.abrupt("return", rewards.map(function (reward, i) {
3893
+ return TokenAmount.fromAddressAndAmount(PLYWNEAR_REWARD_TOKENS[i], reward.toString());
3894
+ }));
3895
+
3896
+ case 5:
3897
+ case "end":
3898
+ return _context4.stop();
3899
+ }
3900
+ }
3901
+ }, _callee4, this);
3902
+ }));
3903
+
3904
+ function unclaimedRewardsOf(_x3) {
3905
+ return _unclaimedRewardsOf.apply(this, arguments);
3906
+ }
3907
+
3908
+ return unclaimedRewardsOf;
3909
+ }();
3910
+
3911
+ return StakingRead;
3912
+ }(BlockchainEntityRead);
3913
+ var StakingReadWrite = /*#__PURE__*/function (_StakingRead) {
3914
+ _inheritsLoose(StakingReadWrite, _StakingRead);
3915
+
3916
+ function StakingReadWrite() {
3917
+ return _StakingRead.apply(this, arguments) || this;
3918
+ }
3919
+
3920
+ var _proto2 = StakingReadWrite.prototype;
3921
+
3922
+ _proto2.stake = /*#__PURE__*/function () {
3923
+ var _stake = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee5(amount) {
3924
+ return runtime_1.wrap(function _callee5$(_context5) {
3925
+ while (1) {
3926
+ switch (_context5.prev = _context5.next) {
3927
+ case 0:
3928
+ return _context5.abrupt("return", this._auriFairLaunch.connect(this._networkConnection.signer).deposit(PLYWNEAR_POOL_ID, amount.rawAmount()));
3929
+
3930
+ case 1:
3931
+ case "end":
3932
+ return _context5.stop();
3933
+ }
3934
+ }
3935
+ }, _callee5, this);
3936
+ }));
3937
+
3938
+ function stake(_x4) {
3939
+ return _stake.apply(this, arguments);
3940
+ }
3941
+
3942
+ return stake;
3943
+ }();
3944
+
3945
+ _proto2.unstake = /*#__PURE__*/function () {
3946
+ var _unstake = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee6(amount) {
3947
+ return runtime_1.wrap(function _callee6$(_context6) {
3948
+ while (1) {
3949
+ switch (_context6.prev = _context6.next) {
3950
+ case 0:
3951
+ return _context6.abrupt("return", this._auriFairLaunch.connect(this._networkConnection.signer).withdraw(PLYWNEAR_POOL_ID, amount.rawAmount()));
3952
+
3953
+ case 1:
3954
+ case "end":
3955
+ return _context6.stop();
3956
+ }
3957
+ }
3958
+ }, _callee6, this);
3959
+ }));
3960
+
3961
+ function unstake(_x5) {
3962
+ return _unstake.apply(this, arguments);
3963
+ }
3964
+
3965
+ return unstake;
3966
+ }();
3967
+
3968
+ return StakingReadWrite;
3969
+ }(StakingRead);
3970
+
3706
3971
  var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3707
3972
  _inheritsLoose(SdkRead, _BlockchainEntityRead);
3708
3973
 
@@ -3710,6 +3975,7 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3710
3975
  var _this;
3711
3976
 
3712
3977
  _this = _BlockchainEntityRead.call(this, networkConnection) || this;
3978
+ _this._stakingRead = new StakingRead(networkConnection);
3713
3979
  _this._comptroller = new ethers.Contract(networkAddresses.misc.COMPTROLLER, ComptrollerABI.abi, networkConnection.provider);
3714
3980
  _this._auriFairLaunch = new ethers.Contract(networkAddresses.misc.AURIFAIRLAUNCH, AuriFairLaunchABI.abi, networkConnection.provider);
3715
3981
  _this._auriLens = new ethers.Contract(networkAddresses.misc.AURILENS, AuriLensABI.abi, networkConnection.provider);
@@ -3861,60 +4127,13 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3861
4127
 
3862
4128
  _proto.getPLYWNEARPoolDetails = /*#__PURE__*/function () {
3863
4129
  var _getPLYWNEARPoolDetails = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
3864
- var stakedLiquidity, rewardPerSeconds, stakedLiquidityAmount, totalStakeValuation, promises, _i, rewardTokenAddress, rewardToken, rewardPerSecond, APYs;
3865
-
3866
4130
  return runtime_1.wrap(function _callee2$(_context2) {
3867
4131
  while (1) {
3868
4132
  switch (_context2.prev = _context2.next) {
3869
4133
  case 0:
3870
- _context2.next = 2;
3871
- return this._auriFairLaunch.getPoolInfo(PLYWNEAR_POOL_ID).then(function (res) {
3872
- stakedLiquidity = res.totalStake;
3873
- rewardPerSeconds = res.rewardPerSeconds;
3874
- });
3875
-
3876
- case 2:
3877
- stakedLiquidityAmount = new TokenAmount(PLYWNEARToken, stakedLiquidity.toString());
3878
- _context2.next = 5;
3879
- return fetchValuation(stakedLiquidityAmount, this._networkConnection.provider);
4134
+ return _context2.abrupt("return", this._stakingRead.getPLYWNEARPoolDetails());
3880
4135
 
3881
- case 5:
3882
- totalStakeValuation = _context2.sent;
3883
- promises = [];
3884
-
3885
- for (_i = 0; _i < rewardPerSeconds.length; _i++) {
3886
- rewardTokenAddress = PLYWNEAR_REWARD_TOKENS[_i];
3887
- rewardToken = new Token(rewardTokenAddress, getDecimal(rewardTokenAddress));
3888
- rewardPerSecond = rewardPerSeconds[_i];
3889
- promises.push(fetchValuation(new TokenAmount(rewardToken, rewardPerSecond.toString()), this._networkConnection.provider));
3890
- }
3891
-
3892
- APYs = [];
3893
- _context2.next = 11;
3894
- return Promise.all(promises);
3895
-
3896
- case 11:
3897
- _context2.sent.forEach(function (rewardPerSecondValuation, i) {
3898
- var rewardTokenAddress = PLYWNEAR_REWARD_TOKENS[i];
3899
- var apy = calcLMRewardApr(rewardPerSecondValuation, totalStakeValuation, ONE_DAY * 365).toFixed(DECIMAL_PRECISION);
3900
- APYs.push({
3901
- address: rewardTokenAddress,
3902
- apy: apy
3903
- });
3904
- });
3905
-
3906
- return _context2.abrupt("return", {
3907
- totalStakedLiquidity: {
3908
- tokenAmount: stakedLiquidityAmount,
3909
- currencyAmount: {
3910
- currency: 'USD',
3911
- amount: totalStakeValuation.toFixed(DECIMAL_PRECISION)
3912
- }
3913
- },
3914
- APYs: APYs
3915
- });
3916
-
3917
- case 13:
4136
+ case 1:
3918
4137
  case "end":
3919
4138
  return _context2.stop();
3920
4139
  }
@@ -3963,20 +4182,13 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3963
4182
 
3964
4183
  _proto.stakeBalanceOf = /*#__PURE__*/function () {
3965
4184
  var _stakeBalanceOf = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee4(user) {
3966
- var userInfo, stakeAmount;
3967
4185
  return runtime_1.wrap(function _callee4$(_context4) {
3968
4186
  while (1) {
3969
4187
  switch (_context4.prev = _context4.next) {
3970
4188
  case 0:
3971
- _context4.next = 2;
3972
- return this._auriFairLaunch.getUserInfo(PLYWNEAR_POOL_ID, user);
3973
-
3974
- case 2:
3975
- userInfo = _context4.sent;
3976
- stakeAmount = new TokenAmount(PLYWNEARToken, userInfo.amount.toString());
3977
- return _context4.abrupt("return", valuateToken(stakeAmount, this._networkConnection.provider));
4189
+ return _context4.abrupt("return", this._stakingRead.stakeBalanceOf(user));
3978
4190
 
3979
- case 5:
4191
+ case 1:
3980
4192
  case "end":
3981
4193
  return _context4.stop();
3982
4194
  }
@@ -3993,20 +4205,13 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
3993
4205
 
3994
4206
  _proto.LpBalanceOf = /*#__PURE__*/function () {
3995
4207
  var _LpBalanceOf = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee5(user) {
3996
- var lpContract, balance;
3997
4208
  return runtime_1.wrap(function _callee5$(_context5) {
3998
4209
  while (1) {
3999
4210
  switch (_context5.prev = _context5.next) {
4000
4211
  case 0:
4001
- lpContract = new ethers.Contract(networkAddresses.tokens.PLYWNEAR, EIP20InterfaceABI.abi, this._networkConnection.provider);
4002
- _context5.next = 3;
4003
- return lpContract.balanceOf(user);
4004
-
4005
- case 3:
4006
- balance = _context5.sent;
4007
- return _context5.abrupt("return", valuateToken(new TokenAmount(PLYWNEARToken, balance.toString()), this._networkConnection.provider));
4212
+ return _context5.abrupt("return", this._stakingRead.LpBalanceOf(user));
4008
4213
 
4009
- case 5:
4214
+ case 1:
4010
4215
  case "end":
4011
4216
  return _context5.stop();
4012
4217
  }
@@ -4021,6 +4226,29 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
4021
4226
  return LpBalanceOf;
4022
4227
  }();
4023
4228
 
4229
+ _proto.unclaimedRewardsOf = /*#__PURE__*/function () {
4230
+ var _unclaimedRewardsOf = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee6(user) {
4231
+ return runtime_1.wrap(function _callee6$(_context6) {
4232
+ while (1) {
4233
+ switch (_context6.prev = _context6.next) {
4234
+ case 0:
4235
+ return _context6.abrupt("return", this._stakingRead.unclaimedRewardsOf(user));
4236
+
4237
+ case 1:
4238
+ case "end":
4239
+ return _context6.stop();
4240
+ }
4241
+ }
4242
+ }, _callee6, this);
4243
+ }));
4244
+
4245
+ function unclaimedRewardsOf(_x5) {
4246
+ return _unclaimedRewardsOf.apply(this, arguments);
4247
+ }
4248
+
4249
+ return unclaimedRewardsOf;
4250
+ }();
4251
+
4024
4252
  _proto.calcHypotheticalStats = function calcHypotheticalStats(_ref) {
4025
4253
  var userMarketDetail = _ref.userMarketDetail,
4026
4254
  currentBorrowLimit = _ref.currentBorrowLimit,
@@ -4071,19 +4299,19 @@ var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
4071
4299
  var _proto2 = SdkReadWrite.prototype;
4072
4300
 
4073
4301
  _proto2.claim = /*#__PURE__*/function () {
4074
- var _claim = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee6() {
4075
- return runtime_1.wrap(function _callee6$(_context6) {
4302
+ var _claim = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee7() {
4303
+ return runtime_1.wrap(function _callee7$(_context7) {
4076
4304
  while (1) {
4077
- switch (_context6.prev = _context6.next) {
4305
+ switch (_context7.prev = _context7.next) {
4078
4306
  case 0:
4079
- return _context6.abrupt("return", this._auriLens.connect(this._networkConnection.signer).claimRewards(this._comptroller.address, this._auriFairLaunch.address, ALL_STAKING_POOLS));
4307
+ return _context7.abrupt("return", this._auriLens.connect(this._networkConnection.signer).claimRewards(this._comptroller.address, this._auriFairLaunch.address, ALL_STAKING_POOLS));
4080
4308
 
4081
4309
  case 1:
4082
4310
  case "end":
4083
- return _context6.stop();
4311
+ return _context7.stop();
4084
4312
  }
4085
4313
  }
4086
- }, _callee6, this);
4314
+ }, _callee7, this);
4087
4315
  }));
4088
4316
 
4089
4317
  function claim() {
@@ -4094,22 +4322,22 @@ var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
4094
4322
  }();
4095
4323
 
4096
4324
  _proto2.stake = /*#__PURE__*/function () {
4097
- var _stake = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee7(amount) {
4098
- return runtime_1.wrap(function _callee7$(_context7) {
4325
+ var _stake = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(amount) {
4326
+ return runtime_1.wrap(function _callee8$(_context8) {
4099
4327
  while (1) {
4100
- switch (_context7.prev = _context7.next) {
4328
+ switch (_context8.prev = _context8.next) {
4101
4329
  case 0:
4102
- return _context7.abrupt("return", this._auriFairLaunch.connect(this._networkConnection.signer).deposit(PLYWNEAR_POOL_ID, amount.rawAmount()));
4330
+ return _context8.abrupt("return", new StakingReadWrite(this._networkConnection).stake(amount));
4103
4331
 
4104
4332
  case 1:
4105
4333
  case "end":
4106
- return _context7.stop();
4334
+ return _context8.stop();
4107
4335
  }
4108
4336
  }
4109
- }, _callee7, this);
4337
+ }, _callee8, this);
4110
4338
  }));
4111
4339
 
4112
- function stake(_x5) {
4340
+ function stake(_x6) {
4113
4341
  return _stake.apply(this, arguments);
4114
4342
  }
4115
4343
 
@@ -4117,22 +4345,22 @@ var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
4117
4345
  }();
4118
4346
 
4119
4347
  _proto2.unstake = /*#__PURE__*/function () {
4120
- var _unstake = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(amount) {
4121
- return runtime_1.wrap(function _callee8$(_context8) {
4348
+ var _unstake = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee9(amount) {
4349
+ return runtime_1.wrap(function _callee9$(_context9) {
4122
4350
  while (1) {
4123
- switch (_context8.prev = _context8.next) {
4351
+ switch (_context9.prev = _context9.next) {
4124
4352
  case 0:
4125
- return _context8.abrupt("return", this._auriFairLaunch.connect(this._networkConnection.signer).withdraw(PLYWNEAR_POOL_ID, amount.rawAmount()));
4353
+ return _context9.abrupt("return", new StakingReadWrite(this._networkConnection).unstake(amount));
4126
4354
 
4127
4355
  case 1:
4128
4356
  case "end":
4129
- return _context8.stop();
4357
+ return _context9.stop();
4130
4358
  }
4131
4359
  }
4132
- }, _callee8, this);
4360
+ }, _callee9, this);
4133
4361
  }));
4134
4362
 
4135
- function unstake(_x6) {
4363
+ function unstake(_x7) {
4136
4364
  return _unstake.apply(this, arguments);
4137
4365
  }
4138
4366
 
@@ -4140,21 +4368,21 @@ var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
4140
4368
  }();
4141
4369
 
4142
4370
  _proto2.faucetDrip = /*#__PURE__*/function () {
4143
- var _faucetDrip = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee9() {
4371
+ var _faucetDrip = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee10() {
4144
4372
  var faucet;
4145
- return runtime_1.wrap(function _callee9$(_context9) {
4373
+ return runtime_1.wrap(function _callee10$(_context10) {
4146
4374
  while (1) {
4147
- switch (_context9.prev = _context9.next) {
4375
+ switch (_context10.prev = _context10.next) {
4148
4376
  case 0:
4149
4377
  faucet = new ethers.Contract(networkAddresses.misc.FAUCET, FaucetABI.abi, this._networkConnection.provider);
4150
- return _context9.abrupt("return", faucet.connect(this._networkConnection.signer).drip());
4378
+ return _context10.abrupt("return", faucet.connect(this._networkConnection.signer).drip());
4151
4379
 
4152
4380
  case 2:
4153
4381
  case "end":
4154
- return _context9.stop();
4382
+ return _context10.stop();
4155
4383
  }
4156
4384
  }
4157
- }, _callee9, this);
4385
+ }, _callee10, this);
4158
4386
  }));
4159
4387
 
4160
4388
  function faucetDrip() {
@@ -107449,6 +107677,7 @@ exports.fetchPriceFromCoingecko = fetchPriceFromCoingecko;
107449
107677
  exports.fetchPriceFromCoingeckoAPI = fetchPriceFromCoingeckoAPI;
107450
107678
  exports.fetchPriceFromOracle = fetchPriceFromOracle;
107451
107679
  exports.fetchStNEARPrice = fetchStNEARPrice;
107680
+ exports.fetchToken0PriceByLP = fetchToken0PriceByLP;
107452
107681
  exports.fetchUnderlyingTokensPrices = fetchUnderlyingTokensPrices;
107453
107682
  exports.fetchValuation = fetchValuation;
107454
107683
  exports.formatObject = formatObject;