@aurigami/sdk 1.5.10 → 1.6.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.
Files changed (56) hide show
  1. package/dist/SDK.d.ts +23 -16
  2. package/dist/consts/deployments.d.ts +3 -0
  3. package/dist/{dummy.d.ts → consts/dummy.d.ts} +3 -3
  4. package/dist/consts/index.d.ts +4 -0
  5. package/dist/{MoneyMarket.d.ts → contracts/MoneyMarket.d.ts} +3 -5
  6. package/dist/{Papermill.d.ts → contracts/Papermill.d.ts} +25 -4
  7. package/dist/{Staking.d.ts → contracts/Staking.d.ts} +8 -3
  8. package/dist/{airdrop-lottery.d.ts → contracts/airdrop-lottery.d.ts} +12 -4
  9. package/dist/contracts/index.d.ts +4 -0
  10. package/dist/{BlockchainEntity.d.ts → entities/BlockchainEntity.d.ts} +1 -1
  11. package/dist/entities/index.d.ts +3 -0
  12. package/dist/{tokenAmount.d.ts → entities/tokenAmount.d.ts} +1 -1
  13. package/dist/{helpers.d.ts → helpers/helpers.d.ts} +10 -1
  14. package/dist/helpers/index.d.ts +4 -0
  15. package/dist/{priceFetcher.d.ts → helpers/priceFetcher.d.ts} +2 -2
  16. package/dist/{transfer-event-query.d.ts → helpers/transfer-event-query.d.ts} +11 -2
  17. package/dist/index.d.ts +4 -11
  18. package/dist/sdk.cjs.development.js +2511 -2271
  19. package/dist/sdk.cjs.development.js.map +1 -1
  20. package/dist/sdk.cjs.production.min.js +1 -1
  21. package/dist/sdk.cjs.production.min.js.map +1 -1
  22. package/dist/sdk.esm.js +2508 -2275
  23. package/dist/sdk.esm.js.map +1 -1
  24. package/dist/{types.d.ts → types/index.d.ts} +15 -1
  25. package/package.json +11 -11
  26. package/src/SDK.ts +63 -65
  27. package/src/{constants.ts → consts/constants.ts} +19 -19
  28. package/src/consts/deployments.ts +4 -0
  29. package/src/{dummy.ts → consts/dummy.ts} +3 -3
  30. package/src/consts/index.ts +4 -0
  31. package/src/{MoneyMarket.ts → contracts/MoneyMarket.ts} +66 -66
  32. package/src/{Papermill.ts → contracts/Papermill.ts} +26 -30
  33. package/src/{Staking.ts → contracts/Staking.ts} +29 -29
  34. package/src/{airdrop-lottery.ts → contracts/airdrop-lottery.ts} +30 -37
  35. package/src/contracts/index.ts +4 -0
  36. package/src/{BlockchainEntity.ts → entities/BlockchainEntity.ts} +1 -1
  37. package/src/entities/index.ts +3 -0
  38. package/src/{token.ts → entities/token.ts} +2 -2
  39. package/src/{tokenAmount.ts → entities/tokenAmount.ts} +2 -2
  40. package/src/{helpers.ts → helpers/helpers.ts} +8 -2
  41. package/src/helpers/index.ts +4 -0
  42. package/src/{priceFetcher.ts → helpers/priceFetcher.ts} +16 -8
  43. package/src/{transfer-event-query.ts → helpers/transfer-event-query.ts} +2 -2
  44. package/src/index.ts +4 -11
  45. package/src/{types.ts → types/index.ts} +1 -1
  46. package/src/airdrop_misc/whitelist.example.txt +0 -4
  47. package/src/deployments/aurora_mainnet.json +0 -31
  48. package/src/deployments/aurora_testnet.json +0 -31
  49. /package/dist/{constants.d.ts → consts/constants.d.ts} +0 -0
  50. /package/dist/{decimals.d.ts → consts/decimals.d.ts} +0 -0
  51. /package/dist/{token.d.ts → entities/token.d.ts} +0 -0
  52. /package/dist/{aurora-api-helpers.d.ts → helpers/aurora-api-helpers.d.ts} +0 -0
  53. /package/src/{decimals.ts → consts/decimals.ts} +0 -0
  54. /package/src/{aurora-api-helpers.ts → helpers/aurora-api-helpers.ts} +0 -0
  55. /package/src/{airdrop_misc → misc/airdrop_misc}/auTokensInfo.json +0 -0
  56. /package/src/{airdrop_misc → misc/airdrop_misc}/whitelist.json +0 -0
@@ -1,15 +1,7 @@
1
- import { BlockchainEntity, BlockchainEntityRead } from './BlockchainEntity';
2
- import {
3
- MoneyMarketDetails,
4
- NetworkConnection,
5
- Address,
6
- ComptrollerRewardType,
7
- } from './types';
8
- import { Contract, BigNumber as BN } from 'ethers';
9
1
  import AuErc20ABI from '@aurigami/contracts/artifacts/contracts/AuErc20.sol/AuErc20.json';
10
2
  import AuETHABI from '@aurigami/contracts/artifacts/contracts/AuETH.sol/AuETH.json';
11
- import ComptrollerABI from '@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json';
12
3
  import AuriLensABI from '@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json';
4
+ import ComptrollerABI from '@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json';
13
5
  import EthRepayHelperABI from '@aurigami/contracts/artifacts/contracts/EthRepayHelper.sol/EthRepayHelper.json';
14
6
  import {
15
7
  AuErc20,
@@ -19,26 +11,28 @@ import {
19
11
  EthRepayHelper,
20
12
  } from '@aurigami/contracts/typechain';
21
13
  import { TransactionResponse } from '@ethersproject/abstract-provider';
22
- import {
23
- networkAddresses,
24
- ETHAddress,
25
- ONE_YEAR,
26
- INF,
27
- ONE_DAY,
28
- DEPOSIT_NEAR_REWARDS_PER_WEEK,
29
- BORROW_NEAR_REWARDS_PER_WEEK,
30
- } from './constants';
31
14
  import BigNumber from 'bignumber.js';
15
+ import { BigNumber as BN, Contract } from 'ethers';
16
+ import * as consts from '../consts';
32
17
  import {
33
- decimalFactor,
34
- isSameAddress,
35
- calcLMRewardApr,
36
- getCurrentTimestamp,
37
- } from './helpers';
38
- import { Token, PLYToken } from './token';
39
- import { TokenAmount } from './tokenAmount';
40
- import { getDecimal, validateAndParseAddress } from './helpers';
41
- import { fetchPrice, calcValuation, fetchValuation } from './priceFetcher';
18
+ BlockchainEntity,
19
+ BlockchainEntityRead,
20
+ PLYToken,
21
+ Token,
22
+ TokenAmount,
23
+ } from '../entities';
24
+ import * as helpers from '../helpers/';
25
+ import {
26
+ calcValuation,
27
+ fetchPrice,
28
+ fetchValuation,
29
+ } from '../helpers/priceFetcher';
30
+ import {
31
+ Address,
32
+ ComptrollerRewardType,
33
+ MoneyMarketDetails,
34
+ NetworkConnection,
35
+ } from '../types';
42
36
 
43
37
  type RewardSpeeds = {
44
38
  plyRewardSupplySpeed: BN;
@@ -59,7 +53,7 @@ export class MoneyMarketRead extends BlockchainEntityRead {
59
53
  underlyingAsset: Address
60
54
  ) {
61
55
  super(networkConnection);
62
- if (isSameAddress(underlyingAsset, ETHAddress)) {
56
+ if (helpers.isSameAddress(underlyingAsset, consts.ETHAddress)) {
63
57
  this.auToken = new Contract(
64
58
  auToken,
65
59
  AuETHABI.abi,
@@ -72,14 +66,17 @@ export class MoneyMarketRead extends BlockchainEntityRead {
72
66
  networkConnection.provider
73
67
  ) as AuErc20;
74
68
  }
75
- this.underlying = new Token(underlyingAsset, getDecimal(underlyingAsset));
69
+ this.underlying = new Token(
70
+ underlyingAsset,
71
+ helpers.getDecimal(underlyingAsset)
72
+ );
76
73
  this._comptroller = new Contract(
77
- networkAddresses.misc.COMPTROLLER,
74
+ consts.networkAddresses.misc.COMPTROLLER,
78
75
  ComptrollerABI.abi,
79
76
  networkConnection.provider
80
77
  ) as Comptroller;
81
78
  this._auriLens = new Contract(
82
- networkAddresses.misc.AURILENS,
79
+ consts.networkAddresses.misc.AURILENS,
83
80
  AuriLensABI.abi,
84
81
  networkConnection.provider
85
82
  ) as AuriLens;
@@ -122,20 +119,20 @@ export class MoneyMarketRead extends BlockchainEntityRead {
122
119
  const supplyRatePerTimestamp = await this.auToken.supplyRatePerTimestamp();
123
120
  return new BigNumber(supplyRatePerTimestamp.toString())
124
121
  .multipliedBy(60 * 60 * 24 * 365)
125
- .div(decimalFactor(18));
122
+ .div(helpers.decimalFactor(18));
126
123
  }
127
124
 
128
125
  public async getBorrowAPY(): Promise<BigNumber> {
129
126
  const borrowRatePerTimestamp = await this.auToken.borrowRatePerTimestamp();
130
127
  return new BigNumber(borrowRatePerTimestamp.toString())
131
128
  .multipliedBy(60 * 60 * 24 * 365)
132
- .div(decimalFactor(18));
129
+ .div(helpers.decimalFactor(18));
133
130
  }
134
131
 
135
132
  public async getCollateralRatio(): Promise<BigNumber> {
136
133
  return this._comptroller.markets(this.auToken.address).then((res: any) => {
137
134
  return new BigNumber(res.collateralFactorMantissa.toString()).div(
138
- decimalFactor(18)
135
+ helpers.decimalFactor(18)
139
136
  );
140
137
  });
141
138
  }
@@ -160,7 +157,7 @@ export class MoneyMarketRead extends BlockchainEntityRead {
160
157
  );
161
158
  promises.push(
162
159
  fetchPrice(
163
- networkAddresses.tokens.PLY,
160
+ consts.networkAddresses.tokens.PLY,
164
161
  this._networkConnection.provider
165
162
  ).then((res) => {
166
163
  plyPrice = res;
@@ -175,10 +172,10 @@ export class MoneyMarketRead extends BlockchainEntityRead {
175
172
  })
176
173
  );
177
174
  await Promise.all(promises);
178
- return calcLMRewardApr(
175
+ return helpers.calcLMRewardApr(
179
176
  plyPrice!.multipliedBy(rewardSpeed!.formattedAmount()),
180
177
  underlyingPrice!.multipliedBy(totalBorrowed!.formattedAmount()),
181
- ONE_YEAR
178
+ consts.ONE_YEAR
182
179
  );
183
180
  }
184
181
 
@@ -202,7 +199,7 @@ export class MoneyMarketRead extends BlockchainEntityRead {
202
199
  );
203
200
  promises.push(
204
201
  fetchPrice(
205
- networkAddresses.tokens.PLY,
202
+ consts.networkAddresses.tokens.PLY,
206
203
  this._networkConnection.provider
207
204
  ).then((res) => {
208
205
  plyPrice = res;
@@ -217,10 +214,10 @@ export class MoneyMarketRead extends BlockchainEntityRead {
217
214
  })
218
215
  );
219
216
  await Promise.all(promises);
220
- return calcLMRewardApr(
217
+ return helpers.calcLMRewardApr(
221
218
  plyPrice!.multipliedBy(rewardSpeed!.formattedAmount()),
222
219
  underlyingPrice!.multipliedBy(totalDeposited!.formattedAmount()),
223
- ONE_YEAR
220
+ consts.ONE_YEAR
224
221
  );
225
222
  }
226
223
  public async getDetails(): Promise<MoneyMarketDetails> {
@@ -266,7 +263,7 @@ export class MoneyMarketRead extends BlockchainEntityRead {
266
263
  );
267
264
  promises.push(
268
265
  fetchPrice(
269
- networkAddresses.tokens.PLY,
266
+ consts.networkAddresses.tokens.PLY,
270
267
  this._networkConnection.provider
271
268
  ).then((res) => {
272
269
  plyPrice = res;
@@ -283,7 +280,7 @@ export class MoneyMarketRead extends BlockchainEntityRead {
283
280
 
284
281
  await Promise.all(promises);
285
282
 
286
- var borrowPlyApy = calcLMRewardApr(
283
+ var borrowPlyApy = helpers.calcLMRewardApr(
287
284
  calcValuation(
288
285
  new TokenAmount(
289
286
  PLYToken,
@@ -292,9 +289,9 @@ export class MoneyMarketRead extends BlockchainEntityRead {
292
289
  plyPrice!
293
290
  ),
294
291
  underlyingPrice!.multipliedBy(totalBorrowed!.formattedAmount()),
295
- ONE_YEAR
292
+ consts.ONE_YEAR
296
293
  );
297
- var depositPlyApy = calcLMRewardApr(
294
+ var depositPlyApy = helpers.calcLMRewardApr(
298
295
  calcValuation(
299
296
  new TokenAmount(
300
297
  PLYToken,
@@ -303,10 +300,10 @@ export class MoneyMarketRead extends BlockchainEntityRead {
303
300
  plyPrice!
304
301
  ),
305
302
  underlyingPrice!.multipliedBy(totalDeposited!.formattedAmount()),
306
- ONE_YEAR
303
+ consts.ONE_YEAR
307
304
  );
308
305
 
309
- var depositNEARApy = calcLMRewardApr(
306
+ var depositNEARApy = helpers.calcLMRewardApr(
310
307
  await fetchValuation(
311
308
  this.getDepositNEARRewardPerWeek(),
312
309
  this._networkConnection.provider
@@ -314,7 +311,7 @@ export class MoneyMarketRead extends BlockchainEntityRead {
314
311
  underlyingPrice!.multipliedBy(totalDeposited!.formattedAmount()),
315
312
  52
316
313
  );
317
- var borrowNEARApy = calcLMRewardApr(
314
+ var borrowNEARApy = helpers.calcLMRewardApr(
318
315
  await fetchValuation(
319
316
  this.getBorrowNEARRewardPerWeek(),
320
317
  this._networkConnection.provider
@@ -324,9 +321,12 @@ export class MoneyMarketRead extends BlockchainEntityRead {
324
321
  );
325
322
  var depositMETAApy;
326
323
  if (
327
- isSameAddress(this.underlying.address, networkAddresses.tokens.stNEAR)
324
+ helpers.isSameAddress(
325
+ this.underlying.address,
326
+ consts.networkAddresses.tokens.stNEAR
327
+ )
328
328
  ) {
329
- depositMETAApy = calcLMRewardApr(
329
+ depositMETAApy = helpers.calcLMRewardApr(
330
330
  new BigNumber(50000),
331
331
  underlyingPrice!.multipliedBy(totalDeposited!.formattedAmount()),
332
332
  12
@@ -346,11 +346,11 @@ export class MoneyMarketRead extends BlockchainEntityRead {
346
346
  collateralRatio: collateralRatio!,
347
347
  depositPlyPerWeek: new TokenAmount(
348
348
  PLYToken,
349
- rewardSpeeds!.plyRewardSupplySpeed.mul(ONE_DAY).mul(7).toString()
349
+ rewardSpeeds!.plyRewardSupplySpeed.mul(consts.ONE_DAY).mul(7).toString()
350
350
  ),
351
351
  borrowPlyPerWeek: new TokenAmount(
352
352
  PLYToken,
353
- rewardSpeeds!.plyRewardBorrowSpeed.mul(ONE_DAY).mul(7).toString()
353
+ rewardSpeeds!.plyRewardBorrowSpeed.mul(consts.ONE_DAY).mul(7).toString()
354
354
  ),
355
355
  depositNEARApy: depositNEARApy.toNumber(),
356
356
  borrowNEARApy: borrowNEARApy.toNumber() * -1,
@@ -376,15 +376,15 @@ export class MoneyMarketRead extends BlockchainEntityRead {
376
376
 
377
377
  private getDepositNEARRewardPerWeek(): TokenAmount {
378
378
  const NEARToken = new Token(
379
- networkAddresses.tokens.WNEAR,
380
- getDecimal(networkAddresses.tokens.WNEAR)
379
+ consts.networkAddresses.tokens.WNEAR,
380
+ helpers.getDecimal(consts.networkAddresses.tokens.WNEAR)
381
381
  );
382
382
  const rewardStartTime = 1650636000;
383
383
  const rewardStopTime = 1651845600; // May 06, 2022 2 PM GMT
384
- const currentTime = getCurrentTimestamp();
384
+ const currentTime = helpers.getCurrentTimestamp();
385
385
  if (currentTime <= rewardStopTime && currentTime > rewardStartTime) {
386
386
  const reward =
387
- DEPOSIT_NEAR_REWARDS_PER_WEEK[
387
+ consts.DEPOSIT_NEAR_REWARDS_PER_WEEK[
388
388
  this.underlying.address.toLocaleLowerCase()
389
389
  ] ?? '0';
390
390
  return new TokenAmount(NEARToken, reward, false);
@@ -395,15 +395,15 @@ export class MoneyMarketRead extends BlockchainEntityRead {
395
395
 
396
396
  private getBorrowNEARRewardPerWeek(): TokenAmount {
397
397
  const NEARToken = new Token(
398
- networkAddresses.tokens.WNEAR,
399
- getDecimal(networkAddresses.tokens.WNEAR)
398
+ consts.networkAddresses.tokens.WNEAR,
399
+ helpers.getDecimal(consts.networkAddresses.tokens.WNEAR)
400
400
  );
401
401
  const rewardStartTime = 1650636000;
402
402
  const rewardStopTime = 1651845600; // May 06, 2022 2 PM GMT
403
- const currentTime = getCurrentTimestamp();
403
+ const currentTime = helpers.getCurrentTimestamp();
404
404
  if (currentTime <= rewardStopTime && currentTime > rewardStartTime) {
405
405
  const reward =
406
- BORROW_NEAR_REWARDS_PER_WEEK[
406
+ consts.BORROW_NEAR_REWARDS_PER_WEEK[
407
407
  this.underlying.address.toLocaleLowerCase()
408
408
  ] ?? '0';
409
409
  return new TokenAmount(NEARToken, reward, false);
@@ -422,14 +422,14 @@ export class MoneyMarketReadWrite extends MoneyMarketRead {
422
422
  ) {
423
423
  super(networkConnection, auToken, underlyingAsset);
424
424
  this._EthRepayHelper = new Contract(
425
- networkAddresses.misc.ETHREPAYHELPER,
425
+ consts.networkAddresses.misc.ETHREPAYHELPER,
426
426
  EthRepayHelperABI.abi,
427
427
  networkConnection.provider
428
428
  ) as EthRepayHelper;
429
429
  }
430
430
 
431
431
  public async deposit(amount: TokenAmount): Promise<TransactionResponse> {
432
- if (isSameAddress(amount.token.address, ETHAddress)) {
432
+ if (helpers.isSameAddress(amount.token.address, consts.ETHAddress)) {
433
433
  return (this.auToken as AuETH)
434
434
  .connect(this._networkConnection.signer!)
435
435
  .mint({ value: amount.rawAmount() });
@@ -448,14 +448,14 @@ export class MoneyMarketReadWrite extends MoneyMarketRead {
448
448
  if (new BigNumber(amount.rawAmount()).lt(0)) {
449
449
  return this.auToken
450
450
  .connect(this._networkConnection.signer!)
451
- .redeemUnderlying(INF);
451
+ .redeemUnderlying(consts.INF);
452
452
  }
453
453
  return this.auToken
454
454
  .connect(this._networkConnection.signer!)
455
455
  .redeemUnderlying(amount.rawAmount());
456
456
  }
457
457
  public async repay(amount: TokenAmount): Promise<TransactionResponse> {
458
- if (isSameAddress(amount.token.address, ETHAddress)) {
458
+ if (helpers.isSameAddress(amount.token.address, consts.ETHAddress)) {
459
459
  return this._EthRepayHelper
460
460
  .connect(this._networkConnection.signer!)
461
461
  .repayBorrow({ value: amount.rawAmount() });
@@ -463,7 +463,7 @@ export class MoneyMarketReadWrite extends MoneyMarketRead {
463
463
  if (new BigNumber(amount.rawAmount()).lt(0)) {
464
464
  return this.auToken
465
465
  .connect(this._networkConnection.signer!)
466
- .repayBorrow(INF);
466
+ .repayBorrow(consts.INF);
467
467
  } else {
468
468
  return this.auToken
469
469
  .connect(this._networkConnection.signer!)
@@ -489,8 +489,8 @@ export class MoneyMarket extends BlockchainEntity {
489
489
  protected underlying: Address;
490
490
  constructor(address: string, underlying: string) {
491
491
  super();
492
- this.address = validateAndParseAddress(address);
493
- this.underlying = validateAndParseAddress(underlying);
492
+ this.address = helpers.validateAndParseAddress(address);
493
+ this.underlying = helpers.validateAndParseAddress(underlying);
494
494
  }
495
495
  public read(networkConnection: NetworkConnection): MoneyMarketRead {
496
496
  return new MoneyMarketRead(
@@ -1,11 +1,8 @@
1
- import { BlockchainEntity, BlockchainEntityRead } from './BlockchainEntity';
2
- import { NetworkConnection, Address, UserLockingDetails } from './types';
3
- import { Contract, BigNumber as BN } from 'ethers';
4
1
  import AuriFairLaunchABI from '@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json';
5
- import PulpABI from '@aurigami/contracts/artifacts/contracts/PULP.sol/PULP.json';
6
- import EIP20InterfaceABI from '@aurigami/contracts/artifacts/contracts/interfaces/EIP20Interface.sol/EIP20Interface.json';
7
- import ComptrollerABI from '@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json';
8
2
  import AuriLensABI from '@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json';
3
+ import ComptrollerABI from '@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json';
4
+ import EIP20InterfaceABI from '@aurigami/contracts/artifacts/contracts/interfaces/EIP20Interface.sol/EIP20Interface.json';
5
+ import PulpABI from '@aurigami/contracts/artifacts/contracts/PULP.sol/PULP.json';
9
6
  import {
10
7
  AuriFairLaunch,
11
8
  AuriLens,
@@ -14,18 +11,17 @@ import {
14
11
  PULP,
15
12
  } from '@aurigami/contracts/typechain';
16
13
  import { TransactionResponse } from '@ethersproject/abstract-provider';
17
- import {
18
- networkAddresses,
19
- ONE_DAY,
20
- ALL_STAKING_POOLS,
21
- REWARD_CLAIM_START,
22
- ONE_WEEK,
23
- } from './constants';
24
- import { getCurrentTimestamp } from './helpers';
25
- import { Token } from './token';
26
- import { TokenAmount } from './tokenAmount';
27
- import { getDecimal } from './helpers';
28
14
  import BigNumber from 'bignumber.js';
15
+ import { BigNumber as BN, Contract } from 'ethers';
16
+ import * as consts from '../consts';
17
+ import {
18
+ BlockchainEntity,
19
+ BlockchainEntityRead,
20
+ Token,
21
+ TokenAmount,
22
+ } from '../entities';
23
+ import * as helpers from '../helpers';
24
+ import { Address, NetworkConnection, UserLockingDetails } from '../types';
29
25
 
30
26
  const LOCKING_DENOMINATOR = BN.from(10000);
31
27
  export class PapermillRead extends BlockchainEntityRead {
@@ -41,24 +37,24 @@ export class PapermillRead extends BlockchainEntityRead {
41
37
  constructor(networkConnection: NetworkConnection) {
42
38
  super(networkConnection);
43
39
 
44
- let plyAddress = networkAddresses.tokens.PLY;
45
- let pulpAddress = networkAddresses.tokens.PULP;
40
+ let plyAddress = consts.networkAddresses.tokens.PLY;
41
+ let pulpAddress = consts.networkAddresses.tokens.PULP;
46
42
 
47
- this.plyToken = new Token(plyAddress, getDecimal(plyAddress));
48
- this.pulpToken = new Token(pulpAddress, getDecimal(pulpAddress));
43
+ this.plyToken = new Token(plyAddress, helpers.getDecimal(plyAddress));
44
+ this.pulpToken = new Token(pulpAddress, helpers.getDecimal(pulpAddress));
49
45
 
50
46
  this._comptroller = new Contract(
51
- networkAddresses.misc.COMPTROLLER,
47
+ consts.networkAddresses.misc.COMPTROLLER,
52
48
  ComptrollerABI.abi,
53
49
  networkConnection.provider
54
50
  ) as Comptroller;
55
51
  this._auriFairLaunch = new Contract(
56
- networkAddresses.misc.AURIFAIRLAUNCH,
52
+ consts.networkAddresses.misc.AURIFAIRLAUNCH,
57
53
  AuriFairLaunchABI.abi,
58
54
  networkConnection.provider
59
55
  ) as AuriFairLaunch;
60
56
  this._auriLens = new Contract(
61
- networkAddresses.misc.AURILENS,
57
+ consts.networkAddresses.misc.AURILENS,
62
58
  AuriLensABI.abi,
63
59
  networkConnection.provider
64
60
  ) as AuriLens;
@@ -93,7 +89,7 @@ export class PapermillRead extends BlockchainEntityRead {
93
89
  let rewardBalancesMetadata = await this._auriLens.callStatic.claimRewards(
94
90
  this._comptroller.address,
95
91
  this._auriFairLaunch.address,
96
- ALL_STAKING_POOLS,
92
+ consts.ALL_STAKING_POOLS,
97
93
  { from: userAddress }
98
94
  );
99
95
 
@@ -104,8 +100,8 @@ export class PapermillRead extends BlockchainEntityRead {
104
100
  }
105
101
 
106
102
  private getWeek(timestamp: number): number {
107
- return BN.from(timestamp - REWARD_CLAIM_START)
108
- .div(ONE_WEEK)
103
+ return BN.from(timestamp - consts.REWARD_CLAIM_START)
104
+ .div(consts.ONE_WEEK)
109
105
  .toNumber();
110
106
  }
111
107
  /**
@@ -114,7 +110,7 @@ export class PapermillRead extends BlockchainEntityRead {
114
110
  public async getLockingDetails(
115
111
  userAddress: Address
116
112
  ): Promise<UserLockingDetails> {
117
- const currentWeek = this.getWeek(getCurrentTimestamp());
113
+ const currentWeek = this.getWeek(helpers.getCurrentTimestamp());
118
114
  var promises: any[] = [];
119
115
 
120
116
  promises.push(
@@ -160,7 +156,7 @@ export class PapermillRead extends BlockchainEntityRead {
160
156
  LOCKING_DENOMINATOR.sub(percentLockNextWeek).toString();
161
157
 
162
158
  return {
163
- vestingStart: REWARD_CLAIM_START,
159
+ vestingStart: consts.REWARD_CLAIM_START,
164
160
  currentUnlockPortion: new BigNumber(currentUnlockPortion)
165
161
  .dividedBy(100)
166
162
  .toNumber(),
@@ -198,7 +194,7 @@ export class PapermillRead extends BlockchainEntityRead {
198
194
  targetUnlockPortion * 100
199
195
  );
200
196
 
201
- return REWARD_CLAIM_START + ONE_WEEK * weekId.toNumber();
197
+ return consts.REWARD_CLAIM_START + consts.ONE_WEEK * weekId.toNumber();
202
198
  }
203
199
 
204
200
  public async getUnlockPortionAt(
@@ -11,19 +11,17 @@ import {
11
11
  import { TransactionResponse } from '@ethersproject/abstract-provider';
12
12
  import BigNumber from 'bignumber.js';
13
13
  import { BigNumber as BN, Contract } from 'ethers';
14
- import { BlockchainEntity, BlockchainEntityRead } from './BlockchainEntity';
14
+ import * as consts from '../consts';
15
15
  import {
16
- DECIMAL_PRECISION,
17
- networkAddresses,
18
- ONE_DAY,
19
- PLYWNEAR_POOL_ID,
20
- PLYWNEAR_REWARD_TOKENS,
21
- } from './constants';
22
- import { calcLMRewardApr, getDecimal } from './helpers';
23
- import { fetchValuation } from './priceFetcher';
24
- import { PLYWNEARToken, Token } from './token';
25
- import { TokenAmount } from './tokenAmount';
26
- import { NetworkConnection, PLYWNEARPoolDetails, TokenAPY } from './types';
16
+ BlockchainEntity,
17
+ BlockchainEntityRead,
18
+ PLYWNEARToken,
19
+ Token,
20
+ TokenAmount,
21
+ } from '../entities';
22
+ import { calcLMRewardApr, getDecimal } from '../helpers';
23
+ import { fetchValuation } from '../helpers/priceFetcher';
24
+ import { NetworkConnection, PLYWNEARPoolDetails, TokenAPY } from '../types';
27
25
 
28
26
  export class StakingRead extends BlockchainEntityRead {
29
27
  protected _comptroller: Comptroller;
@@ -32,17 +30,17 @@ export class StakingRead extends BlockchainEntityRead {
32
30
  constructor(networkConnection: NetworkConnection) {
33
31
  super(networkConnection);
34
32
  this._comptroller = new Contract(
35
- networkAddresses.misc.COMPTROLLER,
33
+ consts.networkAddresses.misc.COMPTROLLER,
36
34
  ComptrollerABI.abi,
37
35
  networkConnection.provider
38
36
  ) as Comptroller;
39
37
  this._auriFairLaunch = new Contract(
40
- networkAddresses.misc.AURIFAIRLAUNCH,
38
+ consts.networkAddresses.misc.AURIFAIRLAUNCH,
41
39
  AuriFairLaunchABI.abi,
42
40
  networkConnection.provider
43
41
  ) as AuriFairLaunch;
44
42
  this._auriLens = new Contract(
45
- networkAddresses.misc.AURILENS,
43
+ consts.networkAddresses.misc.AURILENS,
46
44
  AuriLensABI.abi,
47
45
  networkConnection.provider
48
46
  ) as AuriLens;
@@ -50,10 +48,12 @@ export class StakingRead extends BlockchainEntityRead {
50
48
 
51
49
  public async getPLYWNEARPoolDetails(): Promise<PLYWNEARPoolDetails> {
52
50
  var stakedLiquidity: BN, rewardPerSeconds: BN[];
53
- await this._auriFairLaunch.getPoolInfo(PLYWNEAR_POOL_ID).then((res) => {
54
- stakedLiquidity = res.totalStake;
55
- rewardPerSeconds = res.rewardPerSeconds;
56
- });
51
+ await this._auriFairLaunch
52
+ .getPoolInfo(consts.PLYWNEAR_POOL_ID)
53
+ .then((res) => {
54
+ stakedLiquidity = res.totalStake;
55
+ rewardPerSeconds = res.rewardPerSeconds;
56
+ });
57
57
 
58
58
  let stakedLiquidityAmount = new TokenAmount(
59
59
  PLYWNEARToken,
@@ -69,7 +69,7 @@ export class StakingRead extends BlockchainEntityRead {
69
69
 
70
70
  // Calculate the reward per second in USD
71
71
  for (let i = 0; i < rewardPerSeconds!.length; i++) {
72
- let rewardTokenAddress = PLYWNEAR_REWARD_TOKENS[i];
72
+ let rewardTokenAddress = consts.PLYWNEAR_REWARD_TOKENS[i];
73
73
  let rewardToken = new Token(
74
74
  rewardTokenAddress,
75
75
  getDecimal(rewardTokenAddress)
@@ -85,12 +85,12 @@ export class StakingRead extends BlockchainEntityRead {
85
85
 
86
86
  let APYs: TokenAPY[] = [];
87
87
  (await Promise.all(promises)).forEach((rewardPerSecondValuation, i) => {
88
- let rewardTokenAddress = PLYWNEAR_REWARD_TOKENS[i];
88
+ let rewardTokenAddress = consts.PLYWNEAR_REWARD_TOKENS[i];
89
89
  let apy = calcLMRewardApr(
90
90
  rewardPerSecondValuation,
91
91
  totalStakeValuation,
92
- ONE_DAY * 365
93
- ).toFixed(DECIMAL_PRECISION);
92
+ consts.ONE_DAY * 365
93
+ ).toFixed(consts.DECIMAL_PRECISION);
94
94
 
95
95
  APYs.push({
96
96
  address: rewardTokenAddress,
@@ -109,7 +109,7 @@ export class StakingRead extends BlockchainEntityRead {
109
109
  */
110
110
  public async stakeBalanceOf(user: string): Promise<TokenAmount> {
111
111
  const userInfo = await this._auriFairLaunch.getUserInfo(
112
- PLYWNEAR_POOL_ID,
112
+ consts.PLYWNEAR_POOL_ID,
113
113
  user
114
114
  );
115
115
  return new TokenAmount(PLYWNEARToken, userInfo.amount.toString());
@@ -120,7 +120,7 @@ export class StakingRead extends BlockchainEntityRead {
120
120
  */
121
121
  public async LpBalanceOf(user: string): Promise<TokenAmount> {
122
122
  let lpContract = new Contract(
123
- networkAddresses.tokens.PLYWNEAR,
123
+ consts.networkAddresses.tokens.PLYWNEAR,
124
124
  EIP20InterfaceABI.abi,
125
125
  this._networkConnection.provider
126
126
  ) as IERC20;
@@ -131,7 +131,7 @@ export class StakingRead extends BlockchainEntityRead {
131
131
 
132
132
  public async unclaimedRewardsOf(user: string): Promise<TokenAmount[]> {
133
133
  let userInfo = await this._auriFairLaunch.callStatic.updateAndGetUserInfo(
134
- PLYWNEAR_POOL_ID,
134
+ consts.PLYWNEAR_POOL_ID,
135
135
  user,
136
136
  { from: user }
137
137
  );
@@ -139,7 +139,7 @@ export class StakingRead extends BlockchainEntityRead {
139
139
  let rewards = userInfo.unclaimedRewards;
140
140
  return rewards.map((reward, i) =>
141
141
  TokenAmount.fromAddressAndAmount(
142
- PLYWNEAR_REWARD_TOKENS[i],
142
+ consts.PLYWNEAR_REWARD_TOKENS[i],
143
143
  reward.toString()
144
144
  )
145
145
  );
@@ -150,7 +150,7 @@ export class StakingReadWrite extends StakingRead {
150
150
  public async stake(amount: TokenAmount): Promise<TransactionResponse> {
151
151
  return this._auriFairLaunch
152
152
  .connect(this._networkConnection.signer!)
153
- .deposit(PLYWNEAR_POOL_ID, amount.rawAmount());
153
+ .deposit(consts.PLYWNEAR_POOL_ID, amount.rawAmount());
154
154
  }
155
155
 
156
156
  public async unstake(amount: TokenAmount): Promise<TransactionResponse> {
@@ -165,7 +165,7 @@ export class StakingReadWrite extends StakingRead {
165
165
  : stakedAmount.sub(1);
166
166
  return this._auriFairLaunch
167
167
  .connect(this._networkConnection.signer!)
168
- .withdraw(PLYWNEAR_POOL_ID, unstakeAmount);
168
+ .withdraw(consts.PLYWNEAR_POOL_ID, unstakeAmount);
169
169
  }
170
170
  }
171
171