@aurigami/sdk 0.8.0 → 0.9.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.
@@ -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 {};
@@ -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'));
@@ -920,44 +921,40 @@ var DECIMAL_PRECISION = 10;
920
921
  var networkAddresses = {
921
922
  auTokens: [{
922
923
  name: "auUSDC",
923
- address: /*#__PURE__*/'0x9728d8920707a5C12958E4cB2979Ae5588F85EcA'.toLowerCase(),
924
+ address: /*#__PURE__*/'0x4f0d864b1ABf4B701799a0b30b57A22dFEB5917b'.toLowerCase(),
924
925
  underlying: /*#__PURE__*/'0xb12bfca5a55806aaf64e99521918a4bf0fc40802'.toLowerCase()
925
926
  }, {
926
927
  name: "auETH",
927
- address: /*#__PURE__*/'0xc263e92038139879918C0DE0e97eA2F3f3984F72'.toLowerCase(),
928
+ address: /*#__PURE__*/'0xca9511B610bA5fc7E311FDeF9cE16050eE4449E9'.toLowerCase(),
928
929
  underlying: /*#__PURE__*/ETHAddress.toLowerCase()
929
930
  }, {
930
931
  name: "auWBTC",
931
- address: /*#__PURE__*/'0xC08FF86edF64c2d3816Eb43c5Ec95475a2d47BD0'.toLowerCase(),
932
+ address: /*#__PURE__*/'0xCFb6b0498cb7555e7e21502E0F449bf28760Adbb'.toLowerCase(),
932
933
  underlying: /*#__PURE__*/'0xf4eb217ba2454613b15dbdea6e5f22276410e89e'.toLowerCase()
933
934
  }, {
934
935
  name: "auUSDT",
935
- address: /*#__PURE__*/'0x22AE568df8D8AeE3Ed9Ab0f135Ca8cFeF5d2Cf18'.toLowerCase(),
936
+ address: /*#__PURE__*/'0xaD5A2437Ff55ed7A8Cad3b797b3eC7c5a19B1c54'.toLowerCase(),
936
937
  underlying: /*#__PURE__*/'0x4988a896b1227218e4a686fde5eabdcabd91571f'.toLowerCase()
937
938
  }, {
938
939
  name: "auDAI",
939
- address: /*#__PURE__*/'0x6664d272c820d70c923DE9b1992De02A12C8a7d8'.toLowerCase(),
940
+ address: /*#__PURE__*/'0xCE4166363E3a584DAc84A47bCD3414B43EfCDd1c'.toLowerCase(),
940
941
  underlying: /*#__PURE__*/'0xe3520349f477a5f6eb06107066048508498a291b'.toLowerCase()
941
- }, {
942
- name: "auPLY",
943
- address: /*#__PURE__*/'0xD204fD43bFe4aAEB9aB993c116c1dECdDF1b9F1A'.toLowerCase(),
944
- underlying: /*#__PURE__*/'0x9ae13dd1FFd2008F68bC71d93C5a2381dC3F1D27'.toLowerCase()
945
942
  }, {
946
943
  name: "auWNEAR",
947
- address: /*#__PURE__*/'0xa64F1875080B91Db293dE1f547DC1D6Bc5d3Ef55'.toLowerCase(),
944
+ address: /*#__PURE__*/'0xaE4fac24dCdAE0132C6d04f564dCf059616E9423'.toLowerCase(),
948
945
  underlying: /*#__PURE__*/'0xC42C30aC6Cc15faC9bD938618BcaA1a1FaE8501d'.toLowerCase()
949
946
  }],
950
947
  misc: {
951
- COMPTROLLER: /*#__PURE__*/"0xe3618BaDA3728a339A2214423C0426AD47d30626".toLowerCase(),
948
+ COMPTROLLER: /*#__PURE__*/"0x817af6cfAF35BdC1A634d6cC94eE9e4c68369Aeb".toLowerCase(),
952
949
  oracle: /*#__PURE__*/"0xC6e5185438e1730959c1eF3551059A3feC744E90".toLowerCase(),
953
- AURIFAIRLAUNCH: /*#__PURE__*/"0x451d4e8964d79081EFFDAEde236354b20b678640".toLowerCase(),
954
- AURILENS: /*#__PURE__*/'0xe8b53eE0443620fB8DcEaEB6DE98ED117971c329'.toLowerCase(),
955
- TOKENLOCK: /*#__PURE__*/'0xE28339435478245CB1c57f84D246b67EECb3E204'.toLowerCase(),
956
- FAUCET: /*#__PURE__*/dummyAddress.toLowerCase()
950
+ AURIFAIRLAUNCH: /*#__PURE__*/"0x9F9ceE911509abC6Af899c12ED625B0A6580D6e6".toLowerCase(),
951
+ AURILENS: /*#__PURE__*/'0x06B42B03aFD80155e85431FED3081394f0169B48'.toLowerCase(),
952
+ TOKENLOCK: /*#__PURE__*/'0xDACC02a4Ff16Ea3c1515AdbfdCeb7B1F448B79c8'.toLowerCase(),
953
+ ETHREPAYHELPER: /*#__PURE__*/"0xB55efC3Efd43de0D1f8eb469D2916e71AD8e6C67".toLowerCase()
957
954
  },
958
955
  tokens: {
959
956
  AURORA: /*#__PURE__*/"0x8bec47865ade3b172a928df8f990bc7f2a3b9f79".toLowerCase(),
960
- PLY: /*#__PURE__*/"0x9ae13dd1FFd2008F68bC71d93C5a2381dC3F1D27".toLowerCase(),
957
+ PLY: /*#__PURE__*/"0x981bD5832EAB9C8F607940E0e9faCBf8C09ee20a".toLowerCase(),
961
958
  AURPLY: /*#__PURE__*/dummyAddress.toLowerCase()
962
959
  }
963
960
  };
@@ -970,20 +967,19 @@ var INF = /*#__PURE__*/ethers.BigNumber.from(2).pow(256).sub(1);
970
967
 
971
968
  var decimalRecords = {
972
969
  '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee': 18,
970
+ '0x981bd5832eab9c8f607940e0e9facbf8c09ee20a': 18,
971
+ '0x4988a896b1227218e4a686fde5eabdcabd91571f': 6,
972
+ '0xce4166363e3a584dac84a47bcd3414b43efcdd1c': 8,
973
+ '0xae4fac24dcdae0132c6d04f564dcf059616e9423': 8,
973
974
  '0xb12bfca5a55806aaf64e99521918a4bf0fc40802': 6,
974
- '0xd204fd43bfe4aaeb9ab993c116c1decddf1b9f1a': 8,
975
+ '0xad5a2437ff55ed7a8cad3b797b3ec7c5a19b1c54': 8,
975
976
  '0xf4eb217ba2454613b15dbdea6e5f22276410e89e': 8,
976
- '0xc08ff86edf64c2d3816eb43c5ec95475a2d47bd0': 8,
977
- '0xc263e92038139879918c0de0e97ea2f3f3984f72': 8,
978
- '0x22ae568df8d8aee3ed9ab0f135ca8cfef5d2cf18': 8,
979
- '0x9ae13dd1ffd2008f68bc71d93c5a2381dc3f1d27': 18,
980
- '0x9728d8920707a5c12958e4cb2979ae5588f85eca': 8,
981
- '0xa64f1875080b91db293de1f547dc1d6bc5d3ef55': 8,
982
- '0xe3520349f477a5f6eb06107066048508498a291b': 18,
983
- '0x4988a896b1227218e4a686fde5eabdcabd91571f': 6,
984
- '0xc42c30ac6cc15fac9bd938618bcaa1a1fae8501d': 24,
977
+ '0xcfb6b0498cb7555e7e21502e0f449bf28760adbb': 8,
978
+ '0x4f0d864b1abf4b701799a0b30b57a22dfeb5917b': 8,
979
+ '0xca9511b610ba5fc7e311fdef9ce16050ee4449e9': 8,
985
980
  '0x8bec47865ade3b172a928df8f990bc7f2a3b9f79': 18,
986
- '0x6664d272c820d70c923de9b1992de02a12c8a7d8': 8
981
+ '0xe3520349f477a5f6eb06107066048508498a291b': 18,
982
+ '0xc42c30ac6cc15fac9bd938618bcaa1a1fae8501d': 24
987
983
  };
988
984
 
989
985
  function formatObject(object) {
@@ -2645,24 +2641,8 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2645
2641
  return Promise.all(promises);
2646
2642
 
2647
2643
  case 11:
2648
- _context9.t0 = calcLMRewardApr;
2649
- _context9.next = 14;
2650
- return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardBorrowSpeed.toString()), plyPrice);
2651
-
2652
- case 14:
2653
- _context9.t1 = _context9.sent;
2654
- _context9.t2 = underlyingPrice.multipliedBy(totalBorrowed.formattedAmount());
2655
- _context9.t3 = ONE_YEAR;
2656
- borrowPlyApy = (0, _context9.t0)(_context9.t1, _context9.t2, _context9.t3);
2657
- _context9.t4 = calcLMRewardApr;
2658
- _context9.next = 21;
2659
- return calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardSupplySpeed.toString()), plyPrice);
2660
-
2661
- case 21:
2662
- _context9.t5 = _context9.sent;
2663
- _context9.t6 = underlyingPrice.multipliedBy(totalDeposited.formattedAmount());
2664
- _context9.t7 = ONE_YEAR;
2665
- depositPlyApy = (0, _context9.t4)(_context9.t5, _context9.t6, _context9.t7);
2644
+ borrowPlyApy = calcLMRewardApr(calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardBorrowSpeed.toString()), plyPrice), underlyingPrice.multipliedBy(totalBorrowed.formattedAmount()), ONE_YEAR);
2645
+ depositPlyApy = calcLMRewardApr(calcValuation(new TokenAmount(PLYToken, rewardSpeeds.plyRewardSupplySpeed.toString()), plyPrice), underlyingPrice.multipliedBy(totalDeposited.formattedAmount()), ONE_YEAR);
2666
2646
  return _context9.abrupt("return", {
2667
2647
  auTokenAddress: this.auToken.address,
2668
2648
  totalTokenDeposited: totalDeposited,
@@ -2674,7 +2654,7 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2674
2654
  collateralRatio: collateralRatio
2675
2655
  });
2676
2656
 
2677
- case 26:
2657
+ case 14:
2678
2658
  case "end":
2679
2659
  return _context9.stop();
2680
2660
  }
@@ -2752,8 +2732,12 @@ var MoneyMarketRead = /*#__PURE__*/function (_BlockchainEntityRead) {
2752
2732
  var MoneyMarketReadWrite = /*#__PURE__*/function (_MoneyMarketRead) {
2753
2733
  _inheritsLoose(MoneyMarketReadWrite, _MoneyMarketRead);
2754
2734
 
2755
- function MoneyMarketReadWrite() {
2756
- return _MoneyMarketRead.apply(this, arguments) || this;
2735
+ function MoneyMarketReadWrite(networkConnection, auToken, underlyingAsset) {
2736
+ var _this3;
2737
+
2738
+ _this3 = _MoneyMarketRead.call(this, networkConnection, auToken, underlyingAsset) || this;
2739
+ _this3._EthRepayHelper = new ethers.Contract(networkAddresses.misc.ETHREPAYHELPER, EthRepayHelperABI.abi, networkConnection.provider);
2740
+ return _this3;
2757
2741
  }
2758
2742
 
2759
2743
  var _proto2 = MoneyMarketReadWrite.prototype;
@@ -2847,61 +2831,31 @@ var MoneyMarketReadWrite = /*#__PURE__*/function (_MoneyMarketRead) {
2847
2831
 
2848
2832
  _proto2.repay = /*#__PURE__*/function () {
2849
2833
  var _repay = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee15(amount) {
2850
- var repayAmount;
2851
2834
  return runtime_1.wrap(function _callee15$(_context15) {
2852
2835
  while (1) {
2853
2836
  switch (_context15.prev = _context15.next) {
2854
2837
  case 0:
2855
- if (!new BigNumber(amount.rawAmount()).lt(0)) {
2856
- _context15.next = 16;
2857
- break;
2858
- }
2859
-
2860
2838
  if (!isSameAddress(amount.token.address, ETHAddress)) {
2861
- _context15.next = 13;
2839
+ _context15.next = 4;
2862
2840
  break;
2863
2841
  }
2864
2842
 
2865
- _context15.t0 = ethers.BigNumber;
2866
- _context15.t1 = this;
2867
- _context15.next = 6;
2868
- return this._networkConnection.signer.getAddress();
2869
-
2870
- case 6:
2871
- _context15.t2 = _context15.sent;
2872
- _context15.next = 9;
2873
- return _context15.t1.getUserBorrowBalance.call(_context15.t1, _context15.t2);
2874
-
2875
- case 9:
2876
- _context15.t3 = _context15.sent.rawAmount();
2877
- repayAmount = _context15.t0.from.call(_context15.t0, _context15.t3);
2878
- _context15.next = 14;
2879
- break;
2880
-
2881
- case 13:
2882
- repayAmount = INF;
2883
-
2884
- case 14:
2885
- _context15.next = 17;
2886
- break;
2887
-
2888
- case 16:
2889
- repayAmount = ethers.BigNumber.from(amount.rawAmount());
2843
+ return _context15.abrupt("return", this._EthRepayHelper.connect(this._networkConnection.signer).repayBorrow({
2844
+ value: amount.rawAmount()
2845
+ }));
2890
2846
 
2891
- case 17:
2892
- if (!isSameAddress(amount.token.address, ETHAddress)) {
2893
- _context15.next = 21;
2847
+ case 4:
2848
+ if (!new BigNumber(amount.rawAmount()).lt(0)) {
2849
+ _context15.next = 8;
2894
2850
  break;
2895
2851
  }
2896
2852
 
2897
- return _context15.abrupt("return", this.auToken.connect(this._networkConnection.signer).repayBorrow({
2898
- value: repayAmount
2899
- }));
2853
+ return _context15.abrupt("return", this.auToken.connect(this._networkConnection.signer).repayBorrow(INF));
2900
2854
 
2901
- case 21:
2902
- return _context15.abrupt("return", this.auToken.connect(this._networkConnection.signer).repayBorrow(repayAmount));
2855
+ case 8:
2856
+ return _context15.abrupt("return", this.auToken.connect(this._networkConnection.signer).repayBorrow(amount.rawAmount()));
2903
2857
 
2904
- case 22:
2858
+ case 9:
2905
2859
  case "end":
2906
2860
  return _context15.stop();
2907
2861
  }
@@ -2968,12 +2922,12 @@ var MoneyMarket = /*#__PURE__*/function (_BlockchainEntity) {
2968
2922
  _inheritsLoose(MoneyMarket, _BlockchainEntity);
2969
2923
 
2970
2924
  function MoneyMarket(address, underlying) {
2971
- var _this3;
2925
+ var _this4;
2972
2926
 
2973
- _this3 = _BlockchainEntity.call(this) || this;
2974
- _this3.address = validateAndParseAddress(address);
2975
- _this3.underlying = validateAndParseAddress(underlying);
2976
- return _this3;
2927
+ _this4 = _BlockchainEntity.call(this) || this;
2928
+ _this4.address = validateAndParseAddress(address);
2929
+ _this4.underlying = validateAndParseAddress(underlying);
2930
+ return _this4;
2977
2931
  }
2978
2932
 
2979
2933
  var _proto3 = MoneyMarket.prototype;
@@ -2982,6 +2936,10 @@ var MoneyMarket = /*#__PURE__*/function (_BlockchainEntity) {
2982
2936
  return new MoneyMarketRead(networkConnection, this.address, this.underlying);
2983
2937
  };
2984
2938
 
2939
+ _proto3.readWrite = function readWrite(networkConnection) {
2940
+ return new MoneyMarketReadWrite(networkConnection, this.address, this.underlying);
2941
+ };
2942
+
2985
2943
  return MoneyMarket;
2986
2944
  }(BlockchainEntity);
2987
2945