@aurigami/sdk 0.7.3 → 0.8.1

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.
@@ -1,7 +1,7 @@
1
1
  import { BlockchainEntity, BlockchainEntityRead } from './BlockchainEntity';
2
2
  import { MoneyMarketDetails, NetworkConnection, Address } from './types';
3
3
  import { BigNumber as BN } from 'ethers';
4
- import { AuErc20, AuETH, AuriLens, Comptroller } from "@aurigami/contracts/typechain";
4
+ import { AuErc20, AuETH, AuriLens, Comptroller, EthRepayHelper } from "@aurigami/contracts/typechain";
5
5
  import { TransactionResponse } from '@ethersproject/abstract-provider';
6
6
  import BigNumber from "bignumber.js";
7
7
  import { Token } from './token';
@@ -31,6 +31,8 @@ export declare class MoneyMarketRead extends BlockchainEntityRead {
31
31
  getUserDepositBalance(userAddress: string): Promise<TokenAmount>;
32
32
  }
33
33
  export declare class MoneyMarketReadWrite extends MoneyMarketRead {
34
+ protected _EthRepayHelper: EthRepayHelper;
35
+ constructor(networkConnection: NetworkConnection, auToken: Address, underlyingAsset: Address);
34
36
  deposit(amount: TokenAmount): Promise<TransactionResponse>;
35
37
  borrow(amount: TokenAmount): Promise<TransactionResponse>;
36
38
  withdraw(amount: TokenAmount): Promise<TransactionResponse>;
@@ -43,5 +45,6 @@ export declare class MoneyMarket extends BlockchainEntity {
43
45
  protected underlying: Address;
44
46
  constructor(address: string, underlying: string);
45
47
  read(networkConnection: NetworkConnection): MoneyMarketRead;
48
+ readWrite(networkConnection: NetworkConnection): MoneyMarketReadWrite;
46
49
  }
47
50
  export {};
@@ -6,6 +6,7 @@ export declare const AURORA_CHAINID = 1313161554;
6
6
  export declare const DECIMAL_PRECISION = 10;
7
7
  export declare type NetworkAddresses = {
8
8
  auTokens: {
9
+ name: string;
9
10
  address: string;
10
11
  underlying: string;
11
12
  }[];
@@ -12,6 +12,7 @@ var AuErc20ABI = _interopDefault(require('@aurigami/contracts/artifacts/contract
12
12
  var AuETHABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json'));
13
13
  var ComptrollerABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json'));
14
14
  var AuriLensABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json'));
15
+ var EthRepayHelperABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/EthRepayHelper.sol/EthRepayHelper.json'));
15
16
  var axios = _interopDefault(require('axios'));
16
17
  var TokenLockABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/TokenLock.sol/TokenLock.json'));
17
18
  var AuriFairLaunchABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json'));
@@ -919,38 +920,46 @@ var AURORA_CHAINID = 1313161554;
919
920
  var DECIMAL_PRECISION = 10;
920
921
  var networkAddresses = {
921
922
  auTokens: [{
922
- address: /*#__PURE__*/'0x7D9F7B4734E274Ff10531bBD5aE8fE6069164d28'.toLowerCase(),
923
+ name: "auUSDC",
924
+ address: /*#__PURE__*/'0x9728d8920707a5C12958E4cB2979Ae5588F85EcA'.toLowerCase(),
923
925
  underlying: /*#__PURE__*/'0xb12bfca5a55806aaf64e99521918a4bf0fc40802'.toLowerCase()
924
926
  }, {
925
- address: /*#__PURE__*/'0x580Ac375176A4e9B26977490656c3B2F00Abf624'.toLowerCase(),
927
+ name: "auETH",
928
+ address: /*#__PURE__*/'0xc263e92038139879918C0DE0e97eA2F3f3984F72'.toLowerCase(),
926
929
  underlying: /*#__PURE__*/ETHAddress.toLowerCase()
927
930
  }, {
928
- address: /*#__PURE__*/'0x705b9d83222c4EeDeaD1A0E399cDeB917173E1F6'.toLowerCase(),
931
+ name: "auWBTC",
932
+ address: /*#__PURE__*/'0xC08FF86edF64c2d3816Eb43c5Ec95475a2d47BD0'.toLowerCase(),
929
933
  underlying: /*#__PURE__*/'0xf4eb217ba2454613b15dbdea6e5f22276410e89e'.toLowerCase()
930
934
  }, {
931
- address: /*#__PURE__*/'0xF9739783b767b358b21A1373140296c09271d6F5'.toLowerCase(),
935
+ name: "auUSDT",
936
+ address: /*#__PURE__*/'0x22AE568df8D8AeE3Ed9Ab0f135Ca8cFeF5d2Cf18'.toLowerCase(),
932
937
  underlying: /*#__PURE__*/'0x4988a896b1227218e4a686fde5eabdcabd91571f'.toLowerCase()
933
938
  }, {
934
- address: /*#__PURE__*/'0x4d2c286D74597B13642dd311D1050dFf9E7eF666'.toLowerCase(),
939
+ name: "auDAI",
940
+ address: /*#__PURE__*/'0x6664d272c820d70c923DE9b1992De02A12C8a7d8'.toLowerCase(),
935
941
  underlying: /*#__PURE__*/'0xe3520349f477a5f6eb06107066048508498a291b'.toLowerCase()
936
942
  }, {
937
- address: /*#__PURE__*/'0x367E3fD10006bC64D279e5F1F499DcfA92518A35'.toLowerCase(),
938
- underlying: /*#__PURE__*/'0x07a4f270836F2B2B5CACb00b09552e690276aC33'.toLowerCase()
943
+ name: "auPLY",
944
+ address: /*#__PURE__*/'0xD204fD43bFe4aAEB9aB993c116c1dECdDF1b9F1A'.toLowerCase(),
945
+ underlying: /*#__PURE__*/'0x9ae13dd1FFd2008F68bC71d93C5a2381dC3F1D27'.toLowerCase()
939
946
  }, {
940
- address: /*#__PURE__*/'0x7FDe6C1C53DD4E94a8CD4c60BF1418613c90c42F'.toLowerCase(),
947
+ name: "auWNEAR",
948
+ address: /*#__PURE__*/'0xa64F1875080B91Db293dE1f547DC1D6Bc5d3Ef55'.toLowerCase(),
941
949
  underlying: /*#__PURE__*/'0xC42C30aC6Cc15faC9bD938618BcaA1a1FaE8501d'.toLowerCase()
942
950
  }],
943
951
  misc: {
944
- COMPTROLLER: /*#__PURE__*/"0xc77877b0bd08fE3B060EbD8AEE06fb560C91A125".toLowerCase(),
945
- oracle: /*#__PURE__*/"0x9c8180255ED1bA5fA812FABc933E3ecbd3B585D5".toLowerCase(),
946
- AURIFAIRLAUNCH: /*#__PURE__*/"0x660159696c9E0B2c17E3e0ac2019F436aE34fc7A".toLowerCase(),
947
- AURILENS: /*#__PURE__*/'0x503bD4B6a056F7E66671D2B4620f0aDC4ff2A4e9'.toLowerCase(),
948
- TOKENLOCK: /*#__PURE__*/'0xa4623FC7C96B59f9a0a46144324d68C8E8710966'.toLowerCase(),
949
- FAUCET: /*#__PURE__*/'0x8F791d611D71699B76C03857A51D7B7E5E66f01E'.toLowerCase()
952
+ COMPTROLLER: /*#__PURE__*/"0xe3618BaDA3728a339A2214423C0426AD47d30626".toLowerCase(),
953
+ oracle: /*#__PURE__*/"0xC6e5185438e1730959c1eF3551059A3feC744E90".toLowerCase(),
954
+ AURIFAIRLAUNCH: /*#__PURE__*/"0x451d4e8964d79081EFFDAEde236354b20b678640".toLowerCase(),
955
+ AURILENS: /*#__PURE__*/'0xe8b53eE0443620fB8DcEaEB6DE98ED117971c329'.toLowerCase(),
956
+ TOKENLOCK: /*#__PURE__*/'0xE28339435478245CB1c57f84D246b67EECb3E204'.toLowerCase(),
957
+ FAUCET: /*#__PURE__*/dummyAddress.toLowerCase(),
958
+ ETHREPAYHELPER: /*#__PURE__*/"0xFb7c45A326DB421da1CE532420232D655107b110".toLowerCase()
950
959
  },
951
960
  tokens: {
952
961
  AURORA: /*#__PURE__*/"0x8bec47865ade3b172a928df8f990bc7f2a3b9f79".toLowerCase(),
953
- PLY: /*#__PURE__*/"0x07a4f270836F2B2B5CACb00b09552e690276aC33".toLowerCase(),
962
+ PLY: /*#__PURE__*/"0x9ae13dd1FFd2008F68bC71d93C5a2381dC3F1D27".toLowerCase(),
954
963
  AURPLY: /*#__PURE__*/dummyAddress.toLowerCase()
955
964
  }
956
965
  };
@@ -963,20 +972,20 @@ var INF = /*#__PURE__*/ethers.BigNumber.from(2).pow(256).sub(1);
963
972
 
964
973
  var decimalRecords = {
965
974
  '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee': 18,
966
- '0x8bec47865ade3b172a928df8f990bc7f2a3b9f79': 18,
967
- '0x4988a896b1227218e4a686fde5eabdcabd91571f': 6,
968
975
  '0xb12bfca5a55806aaf64e99521918a4bf0fc40802': 6,
969
- '0x7fde6c1c53dd4e94a8cd4c60bf1418613c90c42f': 8,
970
- '0xe3520349f477a5f6eb06107066048508498a291b': 18,
971
- '0xf9739783b767b358b21a1373140296c09271d6f5': 8,
972
- '0x07a4f270836f2b2b5cacb00b09552e690276ac33': 18,
976
+ '0xd204fd43bfe4aaeb9ab993c116c1decddf1b9f1a': 8,
973
977
  '0xf4eb217ba2454613b15dbdea6e5f22276410e89e': 8,
974
- '0x705b9d83222c4eedead1a0e399cdeb917173e1f6': 8,
975
- '0x367e3fd10006bc64d279e5f1f499dcfa92518a35': 8,
976
- '0x580ac375176a4e9b26977490656c3b2f00abf624': 8,
977
- '0x4d2c286d74597b13642dd311d1050dff9e7ef666': 8,
978
- '0x7d9f7b4734e274ff10531bbd5ae8fe6069164d28': 8,
979
- '0xc42c30ac6cc15fac9bd938618bcaa1a1fae8501d': 24
978
+ '0xc08ff86edf64c2d3816eb43c5ec95475a2d47bd0': 8,
979
+ '0xc263e92038139879918c0de0e97ea2f3f3984f72': 8,
980
+ '0x22ae568df8d8aee3ed9ab0f135ca8cfef5d2cf18': 8,
981
+ '0x9ae13dd1ffd2008f68bc71d93c5a2381dc3f1d27': 18,
982
+ '0x9728d8920707a5c12958e4cb2979ae5588f85eca': 8,
983
+ '0xa64f1875080b91db293de1f547dc1d6bc5d3ef55': 8,
984
+ '0xe3520349f477a5f6eb06107066048508498a291b': 18,
985
+ '0x4988a896b1227218e4a686fde5eabdcabd91571f': 6,
986
+ '0xc42c30ac6cc15fac9bd938618bcaa1a1fae8501d': 24,
987
+ '0x8bec47865ade3b172a928df8f990bc7f2a3b9f79': 18,
988
+ '0x6664d272c820d70c923de9b1992de02a12c8a7d8': 8
980
989
  };
981
990
 
982
991
  function formatObject(object) {
@@ -2267,7 +2276,7 @@ function _fetchPrice() {
2267
2276
  return _context7.abrupt("return", fetchPriceFromOracle(matchingAuToken.address, getDecimal(address), provider));
2268
2277
 
2269
2278
  case 7:
2270
- if (!isSameAddress(address, networkAddresses.misc.AUPLYLP)) {
2279
+ if (!isSameAddress(address, networkAddresses.tokens.AUPLYLP)) {
2271
2280
  _context7.next = 11;
2272
2281
  break;
2273
2282
  }
@@ -2638,24 +2647,8 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2638
2647
  return Promise.all(promises);
2639
2648
 
2640
2649
  case 11:
2641
- _context9.t0 = calcLMRewardApr;
2642
- _context9.next = 14;
2643
- return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardBorrowSpeed.toString()), plyPrice);
2644
-
2645
- case 14:
2646
- _context9.t1 = _context9.sent;
2647
- _context9.t2 = underlyingPrice.multipliedBy(totalBorrowed.formattedAmount());
2648
- _context9.t3 = ONE_YEAR;
2649
- borrowPlyApy = (0, _context9.t0)(_context9.t1, _context9.t2, _context9.t3);
2650
- _context9.t4 = calcLMRewardApr;
2651
- _context9.next = 21;
2652
- return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardSupplySpeed.toString()), plyPrice);
2653
-
2654
- case 21:
2655
- _context9.t5 = _context9.sent;
2656
- _context9.t6 = underlyingPrice.multipliedBy(totalDeposited.formattedAmount());
2657
- _context9.t7 = ONE_YEAR;
2658
- depositPlyApy = (0, _context9.t4)(_context9.t5, _context9.t6, _context9.t7);
2650
+ borrowPlyApy = calcLMRewardApr(calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardBorrowSpeed.toString()), plyPrice), underlyingPrice.multipliedBy(totalBorrowed.formattedAmount()), ONE_YEAR);
2651
+ depositPlyApy = calcLMRewardApr(calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardSupplySpeed.toString()), plyPrice), underlyingPrice.multipliedBy(totalDeposited.formattedAmount()), ONE_YEAR);
2659
2652
  return _context9.abrupt("return", {
2660
2653
  auTokenAddress: this.auToken.address,
2661
2654
  totalTokenDeposited: totalDeposited,
@@ -2667,7 +2660,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2667
2660
  collateralRatio: collateralRatio
2668
2661
  });
2669
2662
 
2670
- case 26:
2663
+ case 14:
2671
2664
  case "end":
2672
2665
  return _context9.stop();
2673
2666
  }
@@ -2745,8 +2738,12 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2745
2738
  var MoneyMarketReadWrite = /*#__PURE__*/function (_MoneyMarketRead) {
2746
2739
  _inheritsLoose(MoneyMarketReadWrite, _MoneyMarketRead);
2747
2740
 
2748
- function MoneyMarketReadWrite() {
2749
- return _MoneyMarketRead.apply(this, arguments) || this;
2741
+ function MoneyMarketReadWrite(networkConnection, auToken, underlyingAsset) {
2742
+ var _this3;
2743
+
2744
+ _this3 = _MoneyMarketRead.call(this, networkConnection, auToken, underlyingAsset) || this;
2745
+ _this3._EthRepayHelper = new ethers.Contract(networkAddresses.misc.ETHREPAYHELPER, EthRepayHelperABI.abi, networkConnection.provider);
2746
+ return _this3;
2750
2747
  }
2751
2748
 
2752
2749
  var _proto2 = MoneyMarketReadWrite.prototype;
@@ -2840,61 +2837,31 @@ var MoneyMarketReadWrite = /*#__PURE__*/function (_MoneyMarketRead) {
2840
2837
 
2841
2838
  _proto2.repay = /*#__PURE__*/function () {
2842
2839
  var _repay = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee15(amount) {
2843
- var repayAmount;
2844
2840
  return runtime_1.wrap(function _callee15$(_context15) {
2845
2841
  while (1) {
2846
2842
  switch (_context15.prev = _context15.next) {
2847
2843
  case 0:
2848
- if (!new BigNumber(amount.rawAmount()).lt(0)) {
2849
- _context15.next = 16;
2850
- break;
2851
- }
2852
-
2853
2844
  if (!isSameAddress(amount.token.address, ETHAddress)) {
2854
- _context15.next = 13;
2845
+ _context15.next = 4;
2855
2846
  break;
2856
2847
  }
2857
2848
 
2858
- _context15.t0 = ethers.BigNumber;
2859
- _context15.t1 = this;
2860
- _context15.next = 6;
2861
- return this._networkConnection.signer.getAddress();
2862
-
2863
- case 6:
2864
- _context15.t2 = _context15.sent;
2865
- _context15.next = 9;
2866
- return _context15.t1.getUserBorrowBalance.call(_context15.t1, _context15.t2);
2867
-
2868
- case 9:
2869
- _context15.t3 = _context15.sent.rawAmount();
2870
- repayAmount = _context15.t0.from.call(_context15.t0, _context15.t3);
2871
- _context15.next = 14;
2872
- break;
2873
-
2874
- case 13:
2875
- repayAmount = INF;
2876
-
2877
- case 14:
2878
- _context15.next = 17;
2879
- break;
2880
-
2881
- case 16:
2882
- repayAmount = ethers.BigNumber.from(amount.rawAmount());
2849
+ return _context15.abrupt("return", this._EthRepayHelper.connect(this._networkConnection.signer).repayBorrow({
2850
+ value: amount.rawAmount()
2851
+ }));
2883
2852
 
2884
- case 17:
2885
- if (!isSameAddress(amount.token.address, ETHAddress)) {
2886
- _context15.next = 21;
2853
+ case 4:
2854
+ if (!new BigNumber(amount.rawAmount()).lt(0)) {
2855
+ _context15.next = 8;
2887
2856
  break;
2888
2857
  }
2889
2858
 
2890
- return _context15.abrupt("return", this.auToken.connect(this._networkConnection.signer).repayBorrow({
2891
- value: repayAmount
2892
- }));
2859
+ return _context15.abrupt("return", this.auToken.connect(this._networkConnection.signer).repayBorrow(INF));
2893
2860
 
2894
- case 21:
2895
- return _context15.abrupt("return", this.auToken.connect(this._networkConnection.signer).repayBorrow(repayAmount));
2861
+ case 8:
2862
+ return _context15.abrupt("return", this.auToken.connect(this._networkConnection.signer).repayBorrow(amount.rawAmount()));
2896
2863
 
2897
- case 22:
2864
+ case 9:
2898
2865
  case "end":
2899
2866
  return _context15.stop();
2900
2867
  }
@@ -2961,12 +2928,12 @@ var MoneyMarket = /*#__PURE__*/function (_BlockchainEntity) {
2961
2928
  _inheritsLoose(MoneyMarket, _BlockchainEntity);
2962
2929
 
2963
2930
  function MoneyMarket(address, underlying) {
2964
- var _this3;
2931
+ var _this4;
2965
2932
 
2966
- _this3 = _BlockchainEntity.call(this) || this;
2967
- _this3.address = validateAndParseAddress(address);
2968
- _this3.underlying = validateAndParseAddress(underlying);
2969
- return _this3;
2933
+ _this4 = _BlockchainEntity.call(this) || this;
2934
+ _this4.address = validateAndParseAddress(address);
2935
+ _this4.underlying = validateAndParseAddress(underlying);
2936
+ return _this4;
2970
2937
  }
2971
2938
 
2972
2939
  var _proto3 = MoneyMarket.prototype;
@@ -2975,6 +2942,10 @@ var MoneyMarket = /*#__PURE__*/function (_BlockchainEntity) {
2975
2942
  return new MoneyMarketRead(networkConnection, this.address, this.underlying);
2976
2943
  };
2977
2944
 
2945
+ _proto3.readWrite = function readWrite(networkConnection) {
2946
+ return new MoneyMarketReadWrite(networkConnection, this.address, this.underlying);
2947
+ };
2948
+
2978
2949
  return MoneyMarket;
2979
2950
  }(BlockchainEntity);
2980
2951
 
@@ -3376,7 +3347,7 @@ var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
3376
3347
  while (1) {
3377
3348
  switch (_context7.prev = _context7.next) {
3378
3349
  case 0:
3379
- return _context7.abrupt("return", this._auriFairLaunch.connect(this._networkConnection.signer).deposit(AurPlyPid, amount.rawAmount(), false));
3350
+ return _context7.abrupt("return", this._auriFairLaunch.connect(this._networkConnection.signer).deposit(AurPlyPid, amount.rawAmount()));
3380
3351
 
3381
3352
  case 1:
3382
3353
  case "end":