@aurigami/sdk 1.23.1 → 1.24.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 (101) hide show
  1. package/dist/SDK.d.ts +48 -65
  2. package/dist/SDK.js +165 -0
  3. package/dist/abis/index.d.ts +18 -18
  4. package/dist/abis/index.js +39 -0
  5. package/dist/consts/constants.d.ts +139 -139
  6. package/dist/consts/constants.js +185 -0
  7. package/dist/consts/decimals.d.ts +1 -1
  8. package/dist/consts/decimals.js +35 -0
  9. package/dist/consts/deployments.d.ts +3 -3
  10. package/dist/consts/deployments.js +9 -0
  11. package/dist/consts/dummy.d.ts +13 -13
  12. package/dist/consts/dummy.js +43 -0
  13. package/dist/consts/index.d.ts +5 -5
  14. package/dist/consts/index.js +9 -0
  15. package/dist/consts/symbols.d.ts +1 -1
  16. package/dist/consts/symbols.js +10 -0
  17. package/dist/entities/BlockchainEntity.d.ts +13 -13
  18. package/dist/entities/BlockchainEntity.js +36 -0
  19. package/dist/entities/auriEnv.d.ts +34 -40
  20. package/dist/entities/auriEnv.js +166 -0
  21. package/dist/entities/index.d.ts +4 -4
  22. package/dist/entities/index.js +8 -0
  23. package/dist/entities/token.d.ts +7 -7
  24. package/dist/entities/token.js +27 -0
  25. package/dist/entities/tokenAmount.d.ts +13 -13
  26. package/dist/entities/tokenAmount.js +52 -0
  27. package/dist/helpers/aurigami-api.d.ts +13 -13
  28. package/dist/helpers/aurigami-api.js +26 -0
  29. package/dist/helpers/aurora-api-helpers.d.ts +1 -1
  30. package/dist/helpers/aurora-api-helpers.js +15 -0
  31. package/dist/helpers/graphql-helpers.d.ts +1 -1
  32. package/dist/helpers/graphql-helpers.js +13 -0
  33. package/dist/helpers/helpers.d.ts +23 -40
  34. package/dist/helpers/helpers.js +148 -0
  35. package/dist/helpers/historicalPriceFetcher.d.ts +15 -15
  36. package/dist/helpers/historicalPriceFetcher.js +142 -0
  37. package/dist/helpers/index.d.ts +7 -7
  38. package/dist/helpers/index.js +11 -0
  39. package/dist/helpers/kyber-aggregator-api.d.ts +5 -5
  40. package/dist/helpers/kyber-aggregator-api.js +27 -0
  41. package/dist/helpers/multicall.d.ts +40 -0
  42. package/dist/helpers/multicall.js +203 -0
  43. package/dist/helpers/notification-api.d.ts +2 -2
  44. package/dist/helpers/notification-api.js +21 -0
  45. package/dist/helpers/one-inch-aggregator-api.d.ts +21 -21
  46. package/dist/helpers/one-inch-aggregator-api.js +19 -0
  47. package/dist/helpers/priceFetcher.d.ts +36 -36
  48. package/dist/helpers/priceFetcher.js +296 -0
  49. package/dist/helpers/subgraphQuery.d.ts +1 -1
  50. package/dist/helpers/subgraphQuery.js +22 -0
  51. package/dist/helpers/transfer-event-query.d.ts +17 -26
  52. package/dist/helpers/transfer-event-query.js +41 -0
  53. package/dist/index.d.ts +7 -7
  54. package/dist/index.js +17 -8
  55. package/dist/interactors/Airdrop.d.ts +17 -26
  56. package/dist/interactors/Airdrop.js +48 -0
  57. package/dist/interactors/MoneyMarket.d.ts +63 -63
  58. package/dist/interactors/MoneyMarket.js +392 -0
  59. package/dist/interactors/Multicall.d.ts +15 -18
  60. package/dist/interactors/Multicall.js +36 -0
  61. package/dist/interactors/Papermill.d.ts +27 -57
  62. package/dist/interactors/Papermill.js +125 -0
  63. package/dist/interactors/PlyGame.d.ts +30 -42
  64. package/dist/interactors/PlyGame.js +146 -0
  65. package/dist/interactors/PlyTokenLock.d.ts +16 -16
  66. package/dist/interactors/PlyTokenLock.js +44 -0
  67. package/dist/interactors/Pulp.d.ts +17 -17
  68. package/dist/interactors/Pulp.js +43 -0
  69. package/dist/interactors/Referral.d.ts +35 -78
  70. package/dist/interactors/Referral.js +158 -0
  71. package/dist/interactors/Staking.d.ts +20 -26
  72. package/dist/interactors/Staking.js +106 -0
  73. package/dist/interactors/index.d.ts +9 -9
  74. package/dist/interactors/index.js +13 -0
  75. package/dist/interactors/misc.d.ts +31 -39
  76. package/dist/interactors/misc.js +318 -0
  77. package/dist/types/index.d.ts +175 -197
  78. package/dist/types/index.js +18 -0
  79. package/package.json +3 -3
  80. package/src/SDK.ts +1 -1
  81. package/src/entities/auriEnv.ts +29 -27
  82. package/src/helpers/historicalPriceFetcher.ts +9 -12
  83. package/src/helpers/multicall.ts +251 -0
  84. package/src/helpers/priceFetcher.ts +19 -20
  85. package/src/interactors/Airdrop.ts +2 -2
  86. package/src/interactors/MoneyMarket.ts +31 -27
  87. package/src/interactors/Multicall.ts +3 -3
  88. package/src/interactors/Papermill.ts +9 -9
  89. package/src/interactors/PlyGame.ts +10 -10
  90. package/src/interactors/PlyTokenLock.ts +2 -3
  91. package/src/interactors/Pulp.ts +4 -2
  92. package/src/interactors/Referral.ts +6 -6
  93. package/src/interactors/Staking.ts +13 -9
  94. package/src/interactors/misc.ts +7 -5
  95. package/src/types/index.ts +32 -2
  96. package/dist/sdk.cjs.development.js +0 -6325
  97. package/dist/sdk.cjs.development.js.map +0 -1
  98. package/dist/sdk.cjs.production.min.js +0 -2
  99. package/dist/sdk.cjs.production.min.js.map +0 -1
  100. package/dist/sdk.esm.js +0 -6193
  101. package/dist/sdk.esm.js.map +0 -1
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MulticallRead = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ethers_1 = require("ethers");
6
+ const abis = tslib_1.__importStar(require("../abis"));
7
+ const consts = tslib_1.__importStar(require("../consts"));
8
+ const entities_1 = require("../entities");
9
+ class MulticallRead extends entities_1.BlockchainEntityRead {
10
+ constructor(networkConnection) {
11
+ super(networkConnection);
12
+ Object.defineProperty(this, "multicall", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ this.multicall = new ethers_1.Contract(consts.networkAddresses.misc.MULTICALL, abis.Multicall2ABI.abi, networkConnection.provider);
19
+ }
20
+ async aggregate(calls) {
21
+ const txns = [];
22
+ for (let i = 0; i < calls.length; i++) {
23
+ const call = calls[i];
24
+ let txn = await call.contract.raw.populateTransaction[call.method](...call.args);
25
+ txns.push({ target: txn.to, callData: txn.data });
26
+ }
27
+ const response = await this.multicall.callStatic.aggregate(txns);
28
+ const decodedReturn = [];
29
+ for (let i = 0; i < calls.length; i++) {
30
+ decodedReturn.push(ethers_1.ethers.utils.defaultAbiCoder.decode(calls[i].returnTypes, response.returnData[i]));
31
+ }
32
+ return decodedReturn;
33
+ }
34
+ }
35
+ exports.MulticallRead = MulticallRead;
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGljYWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyYWN0b3JzL011bHRpY2FsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsbUNBQTBDO0FBRTFDLHNEQUFnQztBQUNoQywwREFBb0M7QUFDcEMsMENBQW1EO0FBR25ELE1BQWEsYUFBYyxTQUFRLCtCQUFvQjtJQUVyRCxZQUFZLGlCQUFvQztRQUM5QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUZYOzs7OztXQUFzQjtRQUdwQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksaUJBQVEsQ0FDM0IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUN0QixpQkFBaUIsQ0FBQyxRQUFRLENBQ2IsQ0FBQztJQUNsQixDQUFDO0lBS00sS0FBSyxDQUFDLFNBQVMsQ0FDcEIsS0FLRztRQUVILE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVoQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixJQUFJLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUdqRSxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDekIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN0QyxhQUFhLENBQUMsSUFBSSxDQUNoQixlQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2xGLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBekNELHNDQXlDQyJ9
@@ -1,57 +1,27 @@
1
- import { TransactionResponse } from '@ethersproject/abstract-provider';
2
- import { AuriEnv, BlockchainEntity, BlockchainEntityRead, Token, TokenAmount } from '../entities';
3
- import { Address, NetworkConnection, UserLockingDetails } from '../types';
4
- export declare class PapermillRead extends BlockchainEntityRead {
5
- readonly plyToken: Token;
6
- readonly pulpToken: Token;
7
- readonly env: AuriEnv;
8
- constructor(networkConnection: NetworkConnection);
9
- getPlyBalance(userAddress: Address): Promise<TokenAmount>;
10
- getPulpBalance(userAddress: Address): Promise<TokenAmount>;
11
- /**
12
- * Get all unclaimed PLY reward of the user in all markets + all staking pools
13
- */
14
- getUnclaimedPlyReward(userAddress: Address): Promise<TokenAmount>;
15
- getWeek(timestamp: number): number;
16
- /**
17
- * Get all locking details of the user in all markets + all staking pools
18
- */
19
- getLockingDetails(userAddress: Address): Promise<UserLockingDetails>;
20
- /**
21
- * Get the first timestamp that the unlockPortion reach the target
22
- *
23
- * @param userAddress currently doesn't matter
24
- * @param targetUnlockPortion unlockPortion target
25
- */
26
- getTimestampToUnlock(userAddress: Address, targetUnlockPortion: number): Promise<number>;
27
- /**
28
- * Get the start timestamp of next week of the papermill contract.
29
- *
30
- * This is a sync function!
31
- *
32
- * @returns the timestamp in seconds
33
- */
34
- getNextWeekTimestamp(): number;
35
- getUnlockPortionAt(userAddress: Address, timestamp: number): Promise<number>;
36
- }
37
- export declare class PapermillReadWrite extends PapermillRead {
38
- constructor(networkConnection: NetworkConnection);
39
- /**
40
- * Redeem PLY from PULP and transfer PLY to another address
41
- * @param recipient Address that will receive the PLY.
42
- * @param amount Amount of PULP to be converted to PLY.
43
- * Set to ethers.constants.MaxUint256 for max redeem.
44
- */
45
- redeem(recipient: Address, amount: TokenAmount): Promise<TransactionResponse>;
46
- /**
47
- * Redeem PLY from PULP and transfer PLY to msg.sender
48
- * @param amount Amount of PULP to be converted to PLY.
49
- * Set to ethers.constants.MaxUint256 for max redeem.
50
- */
51
- selfRedeem(amount: TokenAmount): Promise<TransactionResponse>;
52
- }
53
- export declare class Papermill extends BlockchainEntity {
54
- constructor();
55
- read(networkConnection: NetworkConnection): PapermillRead;
56
- readWrite(networkConnection: NetworkConnection): PapermillReadWrite;
57
- }
1
+ import { TransactionResponse } from '@ethersproject/abstract-provider';
2
+ import { AuriEnv, BlockchainEntity, BlockchainEntityRead, Token, TokenAmount } from '../entities';
3
+ import { Address, NetworkConnection, UserLockingDetails } from '../types';
4
+ export declare class PapermillRead extends BlockchainEntityRead {
5
+ readonly plyToken: Token;
6
+ readonly pulpToken: Token;
7
+ readonly env: AuriEnv;
8
+ constructor(networkConnection: NetworkConnection);
9
+ getPlyBalance(userAddress: Address): Promise<TokenAmount>;
10
+ getPulpBalance(userAddress: Address): Promise<TokenAmount>;
11
+ getUnclaimedPlyReward(userAddress: Address): Promise<TokenAmount>;
12
+ getWeek(timestamp: number): number;
13
+ getLockingDetails(userAddress: Address): Promise<UserLockingDetails>;
14
+ getTimestampToUnlock(userAddress: Address, targetUnlockPortion: number): Promise<number>;
15
+ getNextWeekTimestamp(): number;
16
+ getUnlockPortionAt(userAddress: Address, timestamp: number): Promise<number>;
17
+ }
18
+ export declare class PapermillReadWrite extends PapermillRead {
19
+ constructor(networkConnection: NetworkConnection);
20
+ redeem(recipient: Address, amount: TokenAmount): Promise<TransactionResponse>;
21
+ selfRedeem(amount: TokenAmount): Promise<TransactionResponse>;
22
+ }
23
+ export declare class Papermill extends BlockchainEntity {
24
+ constructor();
25
+ read(networkConnection: NetworkConnection): PapermillRead;
26
+ readWrite(networkConnection: NetworkConnection): PapermillReadWrite;
27
+ }
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Papermill = exports.PapermillReadWrite = exports.PapermillRead = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
6
+ const ethers_1 = require("ethers");
7
+ const consts = tslib_1.__importStar(require("../consts"));
8
+ const entities_1 = require("../entities");
9
+ const helpers = tslib_1.__importStar(require("../helpers"));
10
+ const LOCKING_DENOMINATOR = ethers_1.BigNumber.from(10000);
11
+ class PapermillRead extends entities_1.BlockchainEntityRead {
12
+ constructor(networkConnection) {
13
+ super(networkConnection);
14
+ Object.defineProperty(this, "plyToken", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: void 0
19
+ });
20
+ Object.defineProperty(this, "pulpToken", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: void 0
25
+ });
26
+ Object.defineProperty(this, "env", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: void 0
31
+ });
32
+ this.env = new entities_1.AuriEnv(networkConnection);
33
+ let plyAddress = consts.networkAddresses.tokens.PLY;
34
+ let pulpAddress = consts.networkAddresses.tokens.PULP;
35
+ this.plyToken = new entities_1.Token(plyAddress, helpers.getDecimal(plyAddress));
36
+ this.pulpToken = new entities_1.Token(pulpAddress, helpers.getDecimal(pulpAddress));
37
+ }
38
+ async getPlyBalance(userAddress) {
39
+ const plyBalance = await this.env.ply.raw.balanceOf(userAddress);
40
+ return new entities_1.TokenAmount(this.plyToken, plyBalance.toString());
41
+ }
42
+ async getPulpBalance(userAddress) {
43
+ const pulpBalance = await this.env.pulp.raw.balanceOf(userAddress);
44
+ return new entities_1.TokenAmount(this.pulpToken, pulpBalance.toString());
45
+ }
46
+ async getUnclaimedPlyReward(userAddress) {
47
+ let rewardBalancesMetadata = await this.env.auriLens.raw.callStatic.claimRewards(this.env.comptroller.address, this.env.auriFairLaunch.address, consts.ALL_STAKING_POOLS, { from: userAddress });
48
+ return new entities_1.TokenAmount(this.plyToken, rewardBalancesMetadata.plyAccrured.toString());
49
+ }
50
+ getWeek(timestamp) {
51
+ return ethers_1.BigNumber.from(timestamp - consts.REWARD_CLAIM_START)
52
+ .div(consts.ONE_WEEK)
53
+ .toNumber();
54
+ }
55
+ async getLockingDetails(userAddress) {
56
+ const currentWeek = this.getWeek(helpers.getCurrentTimestamp());
57
+ const values = await Promise.all([
58
+ this.env.auriLens.raw.getPercentLock(this.env.pulp.address, userAddress, currentWeek),
59
+ this.env.auriLens.raw.getPercentLock(this.env.pulp.address, userAddress, currentWeek + 1),
60
+ this.getUnclaimedPlyReward(userAddress),
61
+ ]);
62
+ let percentLockCurrentWeek = ethers_1.BigNumber.from(values[0]);
63
+ let percentLockNextWeek = ethers_1.BigNumber.from(values[1]);
64
+ let totalRewards = values[2];
65
+ let [pulpAmountCurrentWeek, plyAmountCurrentWeek] = await this.env.pulp.raw.calcLockAmount(userAddress, totalRewards.rawAmount());
66
+ let plyAmountNextWeek = percentLockNextWeek
67
+ .mul(totalRewards.rawAmount())
68
+ .div(LOCKING_DENOMINATOR);
69
+ let pulpAmountNextWeek = ethers_1.BigNumber.from(totalRewards.rawAmount()).sub(plyAmountNextWeek);
70
+ let currentUnlockPortion = LOCKING_DENOMINATOR.sub(percentLockCurrentWeek).toString();
71
+ let nextUnlockPortion = LOCKING_DENOMINATOR.sub(percentLockNextWeek).toString();
72
+ return {
73
+ vestingStart: consts.REWARD_CLAIM_START,
74
+ currentUnlockPortion: new bignumber_js_1.default(currentUnlockPortion).dividedBy(100).toNumber(),
75
+ accruedPly: totalRewards,
76
+ currentPly: new entities_1.TokenAmount(this.plyToken, plyAmountCurrentWeek.toString()),
77
+ currentPulp: new entities_1.TokenAmount(this.pulpToken, pulpAmountCurrentWeek.toString()),
78
+ nextUnlockPortion: new bignumber_js_1.default(nextUnlockPortion).dividedBy(100).toNumber(),
79
+ nextPly: new entities_1.TokenAmount(this.plyToken, plyAmountNextWeek.toString()),
80
+ nextPulp: new entities_1.TokenAmount(this.pulpToken, pulpAmountNextWeek.toString()),
81
+ };
82
+ }
83
+ async getTimestampToUnlock(userAddress, targetUnlockPortion) {
84
+ let weekId = await this.env.auriLens.raw.getWeekToUnlock(this.env.pulp.address, userAddress, targetUnlockPortion * 100);
85
+ return consts.REWARD_CLAIM_START + consts.ONE_WEEK * weekId.toNumber();
86
+ }
87
+ getNextWeekTimestamp() {
88
+ const nextWeek = this.getWeek(helpers.getCurrentTimestamp()) + 1;
89
+ return consts.REWARD_CLAIM_START + consts.ONE_WEEK * nextWeek;
90
+ }
91
+ async getUnlockPortionAt(userAddress, timestamp) {
92
+ let lockPortion = await this.env.auriLens.raw.getPercentLock(this.env.pulp.address, userAddress, this.getWeek(timestamp));
93
+ let unlockPortion = LOCKING_DENOMINATOR.sub(lockPortion);
94
+ return unlockPortion.toNumber() / 100;
95
+ }
96
+ }
97
+ exports.PapermillRead = PapermillRead;
98
+ class PapermillReadWrite extends PapermillRead {
99
+ constructor(networkConnection) {
100
+ super(networkConnection);
101
+ }
102
+ async redeem(recipient, amount) {
103
+ return this.env.pulp.raw
104
+ .connect(this._networkConnection.signer)
105
+ .redeem(recipient, amount.rawAmount());
106
+ }
107
+ async selfRedeem(amount) {
108
+ let msgSender = await this._networkConnection.signer.getAddress();
109
+ return this.redeem(msgSender, amount);
110
+ }
111
+ }
112
+ exports.PapermillReadWrite = PapermillReadWrite;
113
+ class Papermill extends entities_1.BlockchainEntity {
114
+ constructor() {
115
+ super();
116
+ }
117
+ read(networkConnection) {
118
+ return new PapermillRead(networkConnection);
119
+ }
120
+ readWrite(networkConnection) {
121
+ return new PapermillReadWrite(networkConnection);
122
+ }
123
+ }
124
+ exports.Papermill = Papermill;
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFwZXJtaWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyYWN0b3JzL1BhcGVybWlsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0Esd0VBQXFDO0FBQ3JDLG1DQUF5QztBQUN6QywwREFBb0M7QUFDcEMsMENBQWtHO0FBQ2xHLDREQUFzQztBQUd0QyxNQUFNLG1CQUFtQixHQUFHLGtCQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzNDLE1BQWEsYUFBYyxTQUFRLCtCQUFvQjtJQUtyRCxZQUFZLGlCQUFvQztRQUM5QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUxYOzs7OztXQUFnQjtRQUNoQjs7Ozs7V0FBaUI7UUFDakI7Ozs7O1dBQWE7UUFJM0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLGtCQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUxQyxJQUFJLFVBQVUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUNwRCxJQUFJLFdBQVcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUV0RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZ0JBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxnQkFBSyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsV0FBb0I7UUFDN0MsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxzQkFBVyxD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
@@ -1,42 +1,30 @@
1
- import { TransactionResponse } from '@ethersproject/abstract-provider';
2
- import { AuriEnv, BlockchainEntity, BlockchainEntityRead, Token, TokenAmount } from '../entities';
3
- import { Address, NetworkConnection, PlyGameBetResult, PlyGameLeaderboardItem } from '../types';
4
- export declare class PlyGameRead extends BlockchainEntityRead {
5
- readonly plyToken: Token;
6
- readonly pulpToken: Token;
7
- readonly env: AuriEnv;
8
- constructor(networkConnection: NetworkConnection);
9
- private parseBetMakeEvent;
10
- private attachTimestamp;
11
- /**
12
- * Get 100 most recent bets of the market users
13
- */
14
- getUserPlyGameHistory(user: Address): Promise<PlyGameBetResult[]>;
15
- /**
16
- * Get current jackpot amount
17
- */
18
- currentJackpotAmount(): Promise<TokenAmount>;
19
- earlyUnlockedPulpAmount(user: Address): Promise<TokenAmount>;
20
- getPlyGameResultsInTransaction(txHash: Address): Promise<PlyGameBetResult[]>;
21
- /**
22
- * Top 100 users by amount of PULP unlocked
23
- */
24
- leaderboard(): Promise<PlyGameLeaderboardItem[]>;
25
- getLastJackpotResult(): Promise<{
26
- winner: Address;
27
- amount: TokenAmount;
28
- }>;
29
- overallLeaderboard(): Promise<PlyGameLeaderboardItem[]>;
30
- }
31
- export declare class PlyGameReadWrite extends PlyGameRead {
32
- /**
33
- * Make a single bet
34
- */
35
- makeBetOnce(amount: TokenAmount): Promise<TransactionResponse>;
36
- approve(amount: TokenAmount): Promise<TransactionResponse>;
37
- }
38
- export declare class PlyGame extends BlockchainEntity {
39
- constructor();
40
- read(networkConnection: NetworkConnection): PlyGameRead;
41
- readWrite(networkConnection: NetworkConnection): PlyGameReadWrite;
42
- }
1
+ import { TransactionResponse } from '@ethersproject/abstract-provider';
2
+ import { AuriEnv, BlockchainEntity, BlockchainEntityRead, Token, TokenAmount } from '../entities';
3
+ import { Address, NetworkConnection, PlyGameBetResult, PlyGameLeaderboardItem } from '../types';
4
+ export declare class PlyGameRead extends BlockchainEntityRead {
5
+ readonly plyToken: Token;
6
+ readonly pulpToken: Token;
7
+ readonly env: AuriEnv;
8
+ constructor(networkConnection: NetworkConnection);
9
+ private parseBetMakeEvent;
10
+ private attachTimestamp;
11
+ getUserPlyGameHistory(user: Address): Promise<PlyGameBetResult[]>;
12
+ currentJackpotAmount(): Promise<TokenAmount>;
13
+ earlyUnlockedPulpAmount(user: Address): Promise<TokenAmount>;
14
+ getPlyGameResultsInTransaction(txHash: Address): Promise<PlyGameBetResult[]>;
15
+ leaderboard(): Promise<PlyGameLeaderboardItem[]>;
16
+ getLastJackpotResult(): Promise<{
17
+ winner: Address;
18
+ amount: TokenAmount;
19
+ }>;
20
+ overallLeaderboard(): Promise<PlyGameLeaderboardItem[]>;
21
+ }
22
+ export declare class PlyGameReadWrite extends PlyGameRead {
23
+ makeBetOnce(amount: TokenAmount): Promise<TransactionResponse>;
24
+ approve(amount: TokenAmount): Promise<TransactionResponse>;
25
+ }
26
+ export declare class PlyGame extends BlockchainEntity {
27
+ constructor();
28
+ read(networkConnection: NetworkConnection): PlyGameRead;
29
+ readWrite(networkConnection: NetworkConnection): PlyGameReadWrite;
30
+ }
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlyGame = exports.PlyGameReadWrite = exports.PlyGameRead = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ethers_1 = require("ethers");
6
+ const consts = tslib_1.__importStar(require("../consts"));
7
+ const entities_1 = require("../entities");
8
+ const helpers = tslib_1.__importStar(require("../helpers"));
9
+ const helpers_1 = require("../helpers");
10
+ const AuriAPI = tslib_1.__importStar(require("../helpers/aurigami-api"));
11
+ class PlyGameRead extends entities_1.BlockchainEntityRead {
12
+ constructor(networkConnection) {
13
+ super(networkConnection);
14
+ Object.defineProperty(this, "plyToken", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: void 0
19
+ });
20
+ Object.defineProperty(this, "pulpToken", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: void 0
25
+ });
26
+ Object.defineProperty(this, "env", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: void 0
31
+ });
32
+ this.env = new entities_1.AuriEnv(networkConnection);
33
+ let plyAddress = consts.networkAddresses.tokens.PLY;
34
+ let pulpAddress = consts.networkAddresses.tokens.PULP;
35
+ this.plyToken = new entities_1.Token(plyAddress, helpers.getDecimal(plyAddress));
36
+ this.pulpToken = new entities_1.Token(pulpAddress, helpers.getDecimal(pulpAddress));
37
+ }
38
+ parseBetMakeEvent(event) {
39
+ let outcome = ['bigWin', 'win', 'lose', 'noImpact'][event.args.outcome];
40
+ let betAmount = event.args.amount;
41
+ let lostAmount = betAmount.mul([0, 0, 100, 2][event.args.outcome]).div(100);
42
+ let unlock = betAmount.mul([10, 1, 0, 0][event.args.outcome]);
43
+ return {
44
+ player: event.args.player,
45
+ lostAmount: new entities_1.TokenAmount(this.plyToken, lostAmount.toString()),
46
+ unlockedPulpAmount: new entities_1.TokenAmount(this.pulpToken, unlock.toString()),
47
+ outcome: outcome,
48
+ transactionHash: event.transactionHash,
49
+ block: event.blockNumber,
50
+ timestamp: 0,
51
+ };
52
+ }
53
+ async attachTimestamp(results) {
54
+ let blockNumbers = results.map((e) => e.block);
55
+ let blockstimestamp = await (0, helpers_1.getBlocksTimestamp)(this._networkConnection.provider, blockNumbers);
56
+ return results.map((e, i) => ({ ...e, timestamp: blockstimestamp[i] }));
57
+ }
58
+ async getUserPlyGameHistory(user) {
59
+ let block100 = await this.env.plygame.callStatic.getLastBlock(user, 100);
60
+ if (block100.eq(0)) {
61
+ return [];
62
+ }
63
+ let filter = this.env.plygame.raw.filters.BetMade(user);
64
+ let events = await this.env.plygame.raw.queryFilter(filter, block100.toNumber());
65
+ (0, helpers_1.sortEvents)(events).reverse();
66
+ return this.attachTimestamp(events.map((event) => this.parseBetMakeEvent(event)));
67
+ }
68
+ async currentJackpotAmount() {
69
+ let jackpot = await this.env.plygame.callStatic.currentJackpotAmount();
70
+ return new entities_1.TokenAmount(this.plyToken, jackpot.toString());
71
+ }
72
+ async earlyUnlockedPulpAmount(user) {
73
+ let earlyUnlockedPulpAmount = await this.env.plygame.callStatic.totalPlyUnlockedEarly(user);
74
+ return new entities_1.TokenAmount(this.pulpToken, earlyUnlockedPulpAmount.toString());
75
+ }
76
+ async getPlyGameResultsInTransaction(txHash) {
77
+ let tx = await this._networkConnection.provider.getTransactionReceipt(txHash);
78
+ for (let i = 0; i < 100 && !tx; i++) {
79
+ await (0, helpers_1.sleep)(1000);
80
+ tx = await this._networkConnection.provider.getTransactionReceipt(txHash);
81
+ }
82
+ if (!tx) {
83
+ throw new Error(`Transaction ${txHash} takes too long to be mined`);
84
+ }
85
+ let filter = this.env.plygame.raw.filters.BetMade();
86
+ let betMadeEvents = tx.logs
87
+ .filter((log) => (0, helpers_1.isSameAddress)(log.topics[0], filter.topics[0]))
88
+ .map((log) => ({
89
+ ...this.env.plygame.raw.interface.parseLog(log),
90
+ blockNumber: tx.blockNumber,
91
+ transactionHash: txHash,
92
+ }));
93
+ return this.attachTimestamp(betMadeEvents.map((e) => this.parseBetMakeEvent(e)));
94
+ }
95
+ async leaderboard() {
96
+ const result = await AuriAPI.getPaginatedApi('/plygame/leaderboard');
97
+ return result.items.map((item, i) => ({
98
+ player: item.user,
99
+ unlockedPulpAmount: new entities_1.TokenAmount(this.pulpToken, item.unlockedAmount),
100
+ gamesPlayed: item.count,
101
+ }));
102
+ }
103
+ async getLastJackpotResult() {
104
+ let round = ethers_1.BigNumber.from(await this._networkConnection.provider.getStorageAt(this.env.plygame.address, 158));
105
+ let result = await this.env.plygame.callStatic.jackpotHistory(round.sub(1));
106
+ return {
107
+ winner: result.winner.slice(0, 5) + '...' + result.winner.slice(-3),
108
+ amount: new entities_1.TokenAmount(this.plyToken, result.amount.toString()),
109
+ };
110
+ }
111
+ async overallLeaderboard() {
112
+ const result = await AuriAPI.getPaginatedApi('/plygame/overallLeaderboard');
113
+ return result.items.map((item) => ({
114
+ player: item.user,
115
+ unlockedPulpAmount: new entities_1.TokenAmount(this.pulpToken, item.unlockedAmount),
116
+ gamesPlayed: item.count,
117
+ }));
118
+ }
119
+ }
120
+ exports.PlyGameRead = PlyGameRead;
121
+ class PlyGameReadWrite extends PlyGameRead {
122
+ async makeBetOnce(amount) {
123
+ return this.env.plygame.raw
124
+ .connect(this._networkConnection.signer)
125
+ .makeBetOnce(amount.rawAmount());
126
+ }
127
+ async approve(amount) {
128
+ return this.env.ply.raw
129
+ .connect(this._networkConnection.signer)
130
+ .approve(this.env.plygame.address, amount.rawAmount());
131
+ }
132
+ }
133
+ exports.PlyGameReadWrite = PlyGameReadWrite;
134
+ class PlyGame extends entities_1.BlockchainEntity {
135
+ constructor() {
136
+ super();
137
+ }
138
+ read(networkConnection) {
139
+ return new PlyGameRead(networkConnection);
140
+ }
141
+ readWrite(networkConnection) {
142
+ return new PlyGameReadWrite(networkConnection);
143
+ }
144
+ }
145
+ exports.PlyGame = PlyGame;
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGx5R2FtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmFjdG9ycy9QbHlHYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxtQ0FBeUM7QUFDekMsMERBQW9DO0FBQ3BDLDBDQUFrRztBQUNsRyw0REFBc0M7QUFDdEMsd0NBQWtGO0FBQ2xGLHlFQUFtRDtBQVNuRCxNQUFhLFdBQVksU0FBUSwrQkFBb0I7SUFLbkQsWUFBbUIsaUJBQW9DO1FBQ3JELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBTFg7Ozs7O1dBQWdCO1FBQ2hCOzs7OztXQUFpQjtRQUNqQjs7Ozs7V0FBYTtRQUkzQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksa0JBQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTFDLElBQUksVUFBVSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3BELElBQUksV0FBVyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxnQkFBSyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGdCQUFLLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBc0I7UUFDOUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hFLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBR2xDLElBQUksVUFB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
@@ -1,16 +1,16 @@
1
- import { TransactionResponse } from '@ethersproject/abstract-provider';
2
- import { AuriEnv, BlockchainEntity, BlockchainEntityRead, TokenAmount } from '../entities';
3
- import { Address, NetworkConnection } from '../types';
4
- export declare class PlyTokenLockRead extends BlockchainEntityRead {
5
- readonly env: AuriEnv;
6
- constructor(networkConnection: NetworkConnection);
7
- getClaimableAmount(recipient: Address): Promise<TokenAmount>;
8
- }
9
- export declare class PlyTokenLockReadWrite extends PlyTokenLockRead {
10
- claim(recipient: Address, amount: TokenAmount): Promise<TransactionResponse>;
11
- }
12
- export declare class PlyTokenLock extends BlockchainEntity {
13
- constructor();
14
- read(networkConnection: NetworkConnection): PlyTokenLockRead;
15
- readWrite(networkConnection: NetworkConnection): PlyTokenLockReadWrite;
16
- }
1
+ import { TransactionResponse } from '@ethersproject/abstract-provider';
2
+ import { AuriEnv, BlockchainEntity, BlockchainEntityRead, TokenAmount } from '../entities';
3
+ import { Address, NetworkConnection } from '../types';
4
+ export declare class PlyTokenLockRead extends BlockchainEntityRead {
5
+ readonly env: AuriEnv;
6
+ constructor(networkConnection: NetworkConnection);
7
+ getClaimableAmount(recipient: Address): Promise<TokenAmount>;
8
+ }
9
+ export declare class PlyTokenLockReadWrite extends PlyTokenLockRead {
10
+ claim(recipient: Address, amount: TokenAmount): Promise<TransactionResponse>;
11
+ }
12
+ export declare class PlyTokenLock extends BlockchainEntity {
13
+ constructor();
14
+ read(networkConnection: NetworkConnection): PlyTokenLockRead;
15
+ readWrite(networkConnection: NetworkConnection): PlyTokenLockReadWrite;
16
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlyTokenLock = exports.PlyTokenLockReadWrite = exports.PlyTokenLockRead = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const entities_1 = require("../entities");
6
+ class PlyTokenLockRead extends entities_1.BlockchainEntityRead {
7
+ constructor(networkConnection) {
8
+ super(networkConnection);
9
+ Object.defineProperty(this, "env", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: void 0
14
+ });
15
+ this.env = new entities_1.AuriEnv(networkConnection);
16
+ }
17
+ async getClaimableAmount(recipient) {
18
+ const claimableAmount = await this.env.plyTokenLock.callStatic.claimableBalance(recipient);
19
+ return new entities_1.TokenAmount(new entities_1.Token(entities_1.PLYToken.address, 18), claimableAmount.toString(), true);
20
+ }
21
+ }
22
+ exports.PlyTokenLockRead = PlyTokenLockRead;
23
+ class PlyTokenLockReadWrite extends PlyTokenLockRead {
24
+ async claim(recipient, amount) {
25
+ const amountToClaim = ethers_1.BigNumber.from(amount.rawAmount());
26
+ return await this.env.plyTokenLock.raw
27
+ .connect(this._networkConnection.signer)
28
+ .claim(recipient, amountToClaim);
29
+ }
30
+ }
31
+ exports.PlyTokenLockReadWrite = PlyTokenLockReadWrite;
32
+ class PlyTokenLock extends entities_1.BlockchainEntity {
33
+ constructor() {
34
+ super();
35
+ }
36
+ read(networkConnection) {
37
+ return new PlyTokenLockRead(networkConnection);
38
+ }
39
+ readWrite(networkConnection) {
40
+ return new PlyTokenLockReadWrite(networkConnection);
41
+ }
42
+ }
43
+ exports.PlyTokenLock = PlyTokenLock;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGx5VG9rZW5Mb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyYWN0b3JzL1BseVRva2VuTG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtQ0FBeUM7QUFDekMsMENBT3FCO0FBR3JCLE1BQWEsZ0JBQWlCLFNBQVEsK0JBQW9CO0lBR3hELFlBQW1CLGlCQUFvQztRQUNyRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUhYOzs7OztXQUFhO1FBSTNCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxrQkFBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxTQUFrQjtRQUNoRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzRixPQUFPLElBQUksc0JBQVcsQ0FBQyxJQUFJLGdCQUFLLENBQUMsbUJBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVGLENBQUM7Q0FDRjtBQVpELDRDQVlDO0FBRUQsTUFBYSxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFDbEQsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFrQixFQUFFLE1BQW1CO1FBQ3hELE1BQU0sYUFBYSxHQUFHLGtCQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHO2FBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTyxDQUFDO2FBQ3hDLEtBQUssQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGO0FBUEQsc0RBT0M7QUFFRCxNQUFhLFlBQWEsU0FBUSwyQkFBZ0I7SUFDaEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFDTSxJQUFJLENBQUMsaUJBQW9DO1FBQzlDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDTSxTQUFTLENBQUMsaUJBQW9DO1FBQ25ELE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQVZELG9DQVVDIn0=
@@ -1,17 +1,17 @@
1
- import { TransactionResponse } from '@ethersproject/abstract-provider';
2
- import { BigNumber as BN } from 'ethers';
3
- import { AuriEnv, BlockchainEntity, BlockchainEntityRead, TokenAmount } from '../entities';
4
- import { Address, NetworkConnection } from '../types';
5
- export declare class PulpRead extends BlockchainEntityRead {
6
- readonly env: AuriEnv;
7
- constructor(networkConnection: NetworkConnection);
8
- remainingEarlyUnlockPulp(user: Address): Promise<BN>;
9
- }
10
- export declare class PulpReadWrite extends PulpRead {
11
- convertEarlyPulp(recipient: Address, amount: TokenAmount): Promise<TransactionResponse>;
12
- }
13
- export declare class Pulp extends BlockchainEntity {
14
- constructor();
15
- read(networkConnection: NetworkConnection): PulpRead;
16
- readWrite(networkConnection: NetworkConnection): PulpReadWrite;
17
- }
1
+ import { TransactionResponse } from '@ethersproject/abstract-provider';
2
+ import { BigNumber as BN } from 'ethers';
3
+ import { AuriEnv, BlockchainEntity, BlockchainEntityRead, TokenAmount } from '../entities';
4
+ import { Address, NetworkConnection } from '../types';
5
+ export declare class PulpRead extends BlockchainEntityRead {
6
+ readonly env: AuriEnv;
7
+ constructor(networkConnection: NetworkConnection);
8
+ remainingEarlyUnlockPulp(user: Address): Promise<BN>;
9
+ }
10
+ export declare class PulpReadWrite extends PulpRead {
11
+ convertEarlyPulp(recipient: Address, amount: TokenAmount): Promise<TransactionResponse>;
12
+ }
13
+ export declare class Pulp extends BlockchainEntity {
14
+ constructor();
15
+ read(networkConnection: NetworkConnection): PulpRead;
16
+ readWrite(networkConnection: NetworkConnection): PulpReadWrite;
17
+ }