@aurigami/sdk 1.6.0 → 1.6.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.
package/dist/SDK.d.ts CHANGED
@@ -28,6 +28,15 @@ export declare class SdkRead extends BlockchainEntityRead {
28
28
  action: types.MarketAction;
29
29
  tokenAmount?: TokenAmount;
30
30
  }): types.HypotheticalStats;
31
+ /**
32
+ * Get ply circulating supply.
33
+ * It is calculated by the total supply, minus:
34
+ * - Ply in team multisig contract
35
+ * - Ply in comptroller contract
36
+ * - Ply in fairlaunch contract
37
+ * - Ply in vesting contract
38
+ */
39
+ getPlyCirculatingSupply(): Promise<TokenAmount>;
31
40
  }
32
41
  export declare class SdkReadWrite extends SdkRead {
33
42
  /**
@@ -0,0 +1,18 @@
1
+ import { Multicall2 } from '@aurigami/contracts/typechain';
2
+ import { Contract } from 'ethers';
3
+ import { BlockchainEntityRead } from '../entities';
4
+ import { NetworkConnection } from '../types';
5
+ import { Result } from 'ethers/lib/utils';
6
+ export declare class MulticallRead extends BlockchainEntityRead {
7
+ protected _multicall: Multicall2;
8
+ constructor(networkConnection: NetworkConnection);
9
+ /**
10
+ * Run multiple calls via multicall contract
11
+ */
12
+ aggregate(calls: {
13
+ contract: Contract;
14
+ method: string;
15
+ args: any[];
16
+ returnTypes: string[];
17
+ }[]): Promise<Result[]>;
18
+ }
@@ -29,6 +29,14 @@ export declare class PapermillRead extends BlockchainEntityRead {
29
29
  * @param targetUnlockPortion unlockPortion target
30
30
  */
31
31
  getTimestampToUnlock(userAddress: Address, targetUnlockPortion: number): Promise<number>;
32
+ /**
33
+ * Get the start timestamp of next week of the papermill contract.
34
+ *
35
+ * This is a sync function!
36
+ *
37
+ * @returns the timestamp in seconds
38
+ */
39
+ getNextWeekTimestamp(): number;
32
40
  getUnlockPortionAt(userAddress: Address, timestamp: number): Promise<number>;
33
41
  }
34
42
  export declare class PapermillReadWrite extends PapermillRead {
@@ -22,6 +22,7 @@ var AuriFairLaunchABI = _interopDefault(require('@aurigami/contracts/artifacts/c
22
22
  var EIP20InterfaceABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/interfaces/EIP20Interface.sol/EIP20Interface.json'));
23
23
  var PulpABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/PULP.sol/PULP.json'));
24
24
  var FaucetABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/mock/Faucet.sol/Faucet.json'));
25
+ var Multicall2ABI = _interopDefault(require('@aurigami/contracts/artifacts/contracts/mock/Multicall2.sol/Multicall2.json'));
25
26
 
26
27
  var dummyAddress = '0xDEADbeEfEEeEEEeEEEeEEeeeeeEeEEeeeeEEEEeE';
27
28
  var ETHAddress = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
@@ -75,7 +76,10 @@ var networkAddresses = {
75
76
  AURIFAIRLAUNCH: /*#__PURE__*/MAINNET_ADDRESSES.fairLaunch.toLowerCase(),
76
77
  AURILENS: /*#__PURE__*/MAINNET_ADDRESSES.auriLens.toLowerCase(),
77
78
  ETHREPAYHELPER: /*#__PURE__*/MAINNET_ADDRESSES.ethRepayHelper.toLowerCase(),
78
- AURI_AIRDROP: /*#__PURE__*/MAINNET_ADDRESSES.auriAirdrop.toLowerCase()
79
+ AURI_AIRDROP: /*#__PURE__*/MAINNET_ADDRESSES.auriAirdrop.toLowerCase(),
80
+ MULTICALL: /*#__PURE__*/MAINNET_ADDRESSES.multicall.toLowerCase(),
81
+ TEAM_MULTISIG: /*#__PURE__*/'0x2D05FfFE70CE64c5954710D4C308dB31C8dBd8dE'.toLowerCase(),
82
+ PLY_TOKEN_LOCK: /*#__PURE__*/MAINNET_ADDRESSES.plyTokenLock.toLowerCase()
79
83
  },
80
84
  tokens: {
81
85
  AURORA: /*#__PURE__*/'0x8bec47865ade3b172a928df8f990bc7f2a3b9f79'.toLowerCase(),
@@ -107020,7 +107024,20 @@ var PapermillRead = /*#__PURE__*/function (_BlockchainEntityRead) {
107020
107024
  }
107021
107025
 
107022
107026
  return getTimestampToUnlock;
107023
- }();
107027
+ }()
107028
+ /**
107029
+ * Get the start timestamp of next week of the papermill contract.
107030
+ *
107031
+ * This is a sync function!
107032
+ *
107033
+ * @returns the timestamp in seconds
107034
+ */
107035
+ ;
107036
+
107037
+ _proto.getNextWeekTimestamp = function getNextWeekTimestamp() {
107038
+ var nextWeek = this.getWeek(getCurrentTimestamp()) + 1;
107039
+ return REWARD_CLAIM_START + ONE_WEEK * nextWeek;
107040
+ };
107024
107041
 
107025
107042
  _proto.getUnlockPortionAt = /*#__PURE__*/function () {
107026
107043
  var _getUnlockPortionAt = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee6(userAddress, timestamp) {
@@ -107432,6 +107449,92 @@ var Staking = /*#__PURE__*/function (_BlockchainEntity) {
107432
107449
  return Staking;
107433
107450
  }(BlockchainEntity);
107434
107451
 
107452
+ var MulticallRead = /*#__PURE__*/function (_BlockchainEntityRead) {
107453
+ _inheritsLoose(MulticallRead, _BlockchainEntityRead);
107454
+
107455
+ function MulticallRead(networkConnection) {
107456
+ var _this;
107457
+
107458
+ _this = _BlockchainEntityRead.call(this, networkConnection) || this;
107459
+ _this._multicall = new ethers.Contract(networkAddresses.misc.MULTICALL, Multicall2ABI.abi, networkConnection.provider);
107460
+ return _this;
107461
+ }
107462
+ /**
107463
+ * Run multiple calls via multicall contract
107464
+ */
107465
+
107466
+
107467
+ var _proto = MulticallRead.prototype;
107468
+
107469
+ _proto.aggregate =
107470
+ /*#__PURE__*/
107471
+ function () {
107472
+ var _aggregate = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(calls) {
107473
+ var txns, i, _call$contract$popula, call, txn, response, decodedReturn, _i;
107474
+
107475
+ return runtime_1.wrap(function _callee$(_context) {
107476
+ while (1) {
107477
+ switch (_context.prev = _context.next) {
107478
+ case 0:
107479
+ txns = []; // prepare transactions
107480
+
107481
+ i = 0;
107482
+
107483
+ case 2:
107484
+ if (!(i < calls.length)) {
107485
+ _context.next = 11;
107486
+ break;
107487
+ }
107488
+
107489
+ call = calls[i];
107490
+ _context.next = 6;
107491
+ return (_call$contract$popula = call.contract.populateTransaction)[call.method].apply(_call$contract$popula, call.args);
107492
+
107493
+ case 6:
107494
+ txn = _context.sent;
107495
+ txns.push({
107496
+ target: txn.to,
107497
+ callData: txn.data
107498
+ });
107499
+
107500
+ case 8:
107501
+ i++;
107502
+ _context.next = 2;
107503
+ break;
107504
+
107505
+ case 11:
107506
+ _context.next = 13;
107507
+ return this._multicall.callStatic.aggregate(txns);
107508
+
107509
+ case 13:
107510
+ response = _context.sent;
107511
+ // parse results
107512
+ decodedReturn = [];
107513
+
107514
+ for (_i = 0; _i < calls.length; _i++) {
107515
+ decodedReturn.push(ethers.ethers.utils.defaultAbiCoder.decode(calls[_i].returnTypes, response.returnData[_i]));
107516
+ }
107517
+
107518
+ return _context.abrupt("return", decodedReturn);
107519
+
107520
+ case 17:
107521
+ case "end":
107522
+ return _context.stop();
107523
+ }
107524
+ }
107525
+ }, _callee, this);
107526
+ }));
107527
+
107528
+ function aggregate(_x) {
107529
+ return _aggregate.apply(this, arguments);
107530
+ }
107531
+
107532
+ return aggregate;
107533
+ }();
107534
+
107535
+ return MulticallRead;
107536
+ }(BlockchainEntityRead);
107537
+
107435
107538
  var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
107436
107539
  _inheritsLoose(SdkRead, _BlockchainEntityRead);
107437
107540
 
@@ -107762,7 +107865,78 @@ var SdkRead = /*#__PURE__*/function (_BlockchainEntityRead) {
107762
107865
  },
107763
107866
  newBorrowUtilization: newBorrowLimit.eq(0) ? newBorrowValuation.eq(0) ? 0 : 9999.99 : newBorrowValuation.div(newBorrowLimit).toNumber()
107764
107867
  };
107765
- };
107868
+ }
107869
+ /**
107870
+ * Get ply circulating supply.
107871
+ * It is calculated by the total supply, minus:
107872
+ * - Ply in team multisig contract
107873
+ * - Ply in comptroller contract
107874
+ * - Ply in fairlaunch contract
107875
+ * - Ply in vesting contract
107876
+ */
107877
+ ;
107878
+
107879
+ _proto.getPlyCirculatingSupply =
107880
+ /*#__PURE__*/
107881
+ function () {
107882
+ var _getPlyCirculatingSupply = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee7() {
107883
+ var plyContract, multicallRead, baseBalanceOfCall, callResults, circulatingSupply;
107884
+ return runtime_1.wrap(function _callee7$(_context7) {
107885
+ while (1) {
107886
+ switch (_context7.prev = _context7.next) {
107887
+ case 0:
107888
+ plyContract = new ethers.Contract(networkAddresses.tokens.PLY, EIP20InterfaceABI.abi, this._networkConnection.provider);
107889
+ multicallRead = new MulticallRead(this._networkConnection);
107890
+ baseBalanceOfCall = {
107891
+ contract: plyContract,
107892
+ method: 'balanceOf',
107893
+ returnTypes: ['uint256']
107894
+ };
107895
+ _context7.next = 5;
107896
+ return multicallRead.aggregate([// Get total supply
107897
+ _extends({}, baseBalanceOfCall, {
107898
+ method: 'totalSupply',
107899
+ args: []
107900
+ }), // balance in team multisig
107901
+ _extends({}, baseBalanceOfCall, {
107902
+ args: [networkAddresses.misc.TEAM_MULTISIG]
107903
+ }), // balance in comptroller
107904
+ _extends({}, baseBalanceOfCall, {
107905
+ args: [networkAddresses.misc.COMPTROLLER]
107906
+ }), // balance in fair launch
107907
+ _extends({}, baseBalanceOfCall, {
107908
+ args: [networkAddresses.misc.AURIFAIRLAUNCH]
107909
+ }), // balance in vesting contract
107910
+ _extends({}, baseBalanceOfCall, {
107911
+ args: [networkAddresses.misc.PLY_TOKEN_LOCK]
107912
+ })]);
107913
+
107914
+ case 5:
107915
+ callResults = _context7.sent;
107916
+ circulatingSupply = ethers.BigNumber.from(0);
107917
+ callResults.forEach(function (result, i) {
107918
+ if (i === 0) {
107919
+ circulatingSupply = result[0];
107920
+ } else {
107921
+ circulatingSupply = circulatingSupply.sub(result[0]);
107922
+ }
107923
+ });
107924
+ return _context7.abrupt("return", new TokenAmount(PLYToken, circulatingSupply.toString()));
107925
+
107926
+ case 9:
107927
+ case "end":
107928
+ return _context7.stop();
107929
+ }
107930
+ }
107931
+ }, _callee7, this);
107932
+ }));
107933
+
107934
+ function getPlyCirculatingSupply() {
107935
+ return _getPlyCirculatingSupply.apply(this, arguments);
107936
+ }
107937
+
107938
+ return getPlyCirculatingSupply;
107939
+ }();
107766
107940
 
107767
107941
  return SdkRead;
107768
107942
  }(BlockchainEntityRead);
@@ -107781,25 +107955,25 @@ var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
107781
107955
  _proto2.claim =
107782
107956
  /*#__PURE__*/
107783
107957
  function () {
107784
- var _claim = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee7() {
107785
- return runtime_1.wrap(function _callee7$(_context7) {
107958
+ var _claim = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8() {
107959
+ return runtime_1.wrap(function _callee8$(_context8) {
107786
107960
  while (1) {
107787
- switch (_context7.prev = _context7.next) {
107961
+ switch (_context8.prev = _context8.next) {
107788
107962
  case 0:
107789
- _context7.t0 = this._comptroller.connect(this._networkConnection.signer);
107790
- _context7.next = 3;
107963
+ _context8.t0 = this._comptroller.connect(this._networkConnection.signer);
107964
+ _context8.next = 3;
107791
107965
  return this._networkConnection.signer.getAddress();
107792
107966
 
107793
107967
  case 3:
107794
- _context7.t1 = _context7.sent;
107795
- return _context7.abrupt("return", _context7.t0['claimReward(uint8,address)'].call(_context7.t0, 0, _context7.t1));
107968
+ _context8.t1 = _context8.sent;
107969
+ return _context8.abrupt("return", _context8.t0['claimReward(uint8,address)'].call(_context8.t0, 0, _context8.t1));
107796
107970
 
107797
107971
  case 5:
107798
107972
  case "end":
107799
- return _context7.stop();
107973
+ return _context8.stop();
107800
107974
  }
107801
107975
  }
107802
- }, _callee7, this);
107976
+ }, _callee8, this);
107803
107977
  }));
107804
107978
 
107805
107979
  function claim() {
@@ -107810,26 +107984,26 @@ var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
107810
107984
  }();
107811
107985
 
107812
107986
  _proto2.claimLpRewards = /*#__PURE__*/function () {
107813
- var _claimLpRewards = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8() {
107814
- return runtime_1.wrap(function _callee8$(_context8) {
107987
+ var _claimLpRewards = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee9() {
107988
+ return runtime_1.wrap(function _callee9$(_context9) {
107815
107989
  while (1) {
107816
- switch (_context8.prev = _context8.next) {
107990
+ switch (_context9.prev = _context9.next) {
107817
107991
  case 0:
107818
- _context8.t0 = this._auriFairLaunch.connect(this._networkConnection.signer);
107819
- _context8.next = 3;
107992
+ _context9.t0 = this._auriFairLaunch.connect(this._networkConnection.signer);
107993
+ _context9.next = 3;
107820
107994
  return this._networkConnection.signer.getAddress();
107821
107995
 
107822
107996
  case 3:
107823
- _context8.t1 = _context8.sent;
107824
- _context8.t2 = INF;
107825
- return _context8.abrupt("return", _context8.t0.harvest.call(_context8.t0, _context8.t1, 0, _context8.t2));
107997
+ _context9.t1 = _context9.sent;
107998
+ _context9.t2 = INF;
107999
+ return _context9.abrupt("return", _context9.t0.harvest.call(_context9.t0, _context9.t1, 0, _context9.t2));
107826
108000
 
107827
108001
  case 6:
107828
108002
  case "end":
107829
- return _context8.stop();
108003
+ return _context9.stop();
107830
108004
  }
107831
108005
  }
107832
- }, _callee8, this);
108006
+ }, _callee9, this);
107833
108007
  }));
107834
108008
 
107835
108009
  function claimLpRewards() {
@@ -107840,19 +108014,19 @@ var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
107840
108014
  }();
107841
108015
 
107842
108016
  _proto2.stake = /*#__PURE__*/function () {
107843
- var _stake = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee9(amount) {
107844
- return runtime_1.wrap(function _callee9$(_context9) {
108017
+ var _stake = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee10(amount) {
108018
+ return runtime_1.wrap(function _callee10$(_context10) {
107845
108019
  while (1) {
107846
- switch (_context9.prev = _context9.next) {
108020
+ switch (_context10.prev = _context10.next) {
107847
108021
  case 0:
107848
- return _context9.abrupt("return", new StakingReadWrite(this._networkConnection).stake(amount));
108022
+ return _context10.abrupt("return", new StakingReadWrite(this._networkConnection).stake(amount));
107849
108023
 
107850
108024
  case 1:
107851
108025
  case "end":
107852
- return _context9.stop();
108026
+ return _context10.stop();
107853
108027
  }
107854
108028
  }
107855
- }, _callee9, this);
108029
+ }, _callee10, this);
107856
108030
  }));
107857
108031
 
107858
108032
  function stake(_x6) {
@@ -107863,19 +108037,19 @@ var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
107863
108037
  }();
107864
108038
 
107865
108039
  _proto2.unstake = /*#__PURE__*/function () {
107866
- var _unstake = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee10(amount) {
107867
- return runtime_1.wrap(function _callee10$(_context10) {
108040
+ var _unstake = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee11(amount) {
108041
+ return runtime_1.wrap(function _callee11$(_context11) {
107868
108042
  while (1) {
107869
- switch (_context10.prev = _context10.next) {
108043
+ switch (_context11.prev = _context11.next) {
107870
108044
  case 0:
107871
- return _context10.abrupt("return", new StakingReadWrite(this._networkConnection).unstake(amount));
108045
+ return _context11.abrupt("return", new StakingReadWrite(this._networkConnection).unstake(amount));
107872
108046
 
107873
108047
  case 1:
107874
108048
  case "end":
107875
- return _context10.stop();
108049
+ return _context11.stop();
107876
108050
  }
107877
108051
  }
107878
- }, _callee10, this);
108052
+ }, _callee11, this);
107879
108053
  }));
107880
108054
 
107881
108055
  function unstake(_x7) {
@@ -107886,21 +108060,21 @@ var SdkReadWrite = /*#__PURE__*/function (_SdkRead) {
107886
108060
  }();
107887
108061
 
107888
108062
  _proto2.faucetDrip = /*#__PURE__*/function () {
107889
- var _faucetDrip = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee11() {
108063
+ var _faucetDrip = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee12() {
107890
108064
  var faucet;
107891
- return runtime_1.wrap(function _callee11$(_context11) {
108065
+ return runtime_1.wrap(function _callee12$(_context12) {
107892
108066
  while (1) {
107893
- switch (_context11.prev = _context11.next) {
108067
+ switch (_context12.prev = _context12.next) {
107894
108068
  case 0:
107895
108069
  faucet = new ethers.Contract(networkAddresses.misc.FAUCET, FaucetABI.abi, this._networkConnection.provider);
107896
- return _context11.abrupt("return", faucet.connect(this._networkConnection.signer).drip());
108070
+ return _context12.abrupt("return", faucet.connect(this._networkConnection.signer).drip());
107897
108071
 
107898
108072
  case 2:
107899
108073
  case "end":
107900
- return _context11.stop();
108074
+ return _context12.stop();
107901
108075
  }
107902
108076
  }
107903
- }, _callee11, this);
108077
+ }, _callee12, this);
107904
108078
  }));
107905
108079
 
107906
108080
  function faucetDrip() {