@streamflow/staking 7.5.2 → 7.5.3-alpha.cffa362.20250508190445

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 (59) hide show
  1. package/dist/cjs/index.cjs +3879 -0
  2. package/dist/cjs/index.cjs.map +1 -0
  3. package/dist/cjs/index.d.cts +298 -0
  4. package/dist/cjs/solana/descriptor/fee_manager.cjs +4 -0
  5. package/dist/cjs/solana/descriptor/fee_manager.cjs.map +1 -0
  6. package/dist/cjs/solana/descriptor/fee_manager.d.cts +292 -0
  7. package/dist/cjs/solana/descriptor/reward_pool.cjs +4 -0
  8. package/dist/cjs/solana/descriptor/reward_pool.cjs.map +1 -0
  9. package/dist/cjs/solana/descriptor/reward_pool.d.cts +967 -0
  10. package/dist/cjs/solana/descriptor/stake_pool.cjs +4 -0
  11. package/dist/cjs/solana/descriptor/stake_pool.cjs.map +1 -0
  12. package/dist/cjs/solana/descriptor/stake_pool.d.cts +954 -0
  13. package/dist/esm/index.d.ts +298 -7
  14. package/dist/esm/index.js +3854 -7
  15. package/dist/esm/index.js.map +1 -0
  16. package/dist/esm/solana/descriptor/fee_manager.d.ts +3 -1
  17. package/dist/esm/solana/descriptor/fee_manager.js +3 -1
  18. package/dist/esm/solana/descriptor/fee_manager.js.map +1 -0
  19. package/dist/esm/solana/descriptor/idl/fee_manager.json +407 -407
  20. package/dist/esm/solana/descriptor/idl/reward_pool.json +1294 -1294
  21. package/dist/esm/solana/descriptor/idl/stake_pool.json +1256 -918
  22. package/dist/esm/solana/descriptor/reward_pool.d.ts +3 -1
  23. package/dist/esm/solana/descriptor/reward_pool.js +3 -1
  24. package/dist/esm/solana/descriptor/reward_pool.js.map +1 -0
  25. package/dist/esm/solana/descriptor/stake_pool.d.ts +234 -2
  26. package/dist/esm/solana/descriptor/stake_pool.js +3 -1
  27. package/dist/esm/solana/descriptor/stake_pool.js.map +1 -0
  28. package/package.json +63 -18
  29. package/dist/cjs/__tests__/solana/rewards.spec.js +0 -61
  30. package/dist/cjs/index.js +0 -37
  31. package/dist/cjs/solana/client.js +0 -336
  32. package/dist/cjs/solana/constants.js +0 -72
  33. package/dist/cjs/solana/descriptor/fee_manager.js +0 -2
  34. package/dist/cjs/solana/descriptor/idl/fee_manager.json +0 -436
  35. package/dist/cjs/solana/descriptor/idl/reward_pool.json +0 -1372
  36. package/dist/cjs/solana/descriptor/idl/stake_pool.json +0 -980
  37. package/dist/cjs/solana/descriptor/reward_pool.js +0 -2
  38. package/dist/cjs/solana/descriptor/stake_pool.js +0 -2
  39. package/dist/cjs/solana/lib/derive-accounts.js +0 -46
  40. package/dist/cjs/solana/lib/fee-amounts.js +0 -44
  41. package/dist/cjs/solana/lib/rewards.js +0 -154
  42. package/dist/cjs/solana/lib/stake-weight.js +0 -19
  43. package/dist/cjs/solana/types.js +0 -2
  44. package/dist/esm/__tests__/solana/rewards.spec.d.ts +0 -1
  45. package/dist/esm/__tests__/solana/rewards.spec.js +0 -56
  46. package/dist/esm/solana/client.d.ts +0 -89
  47. package/dist/esm/solana/client.js +0 -334
  48. package/dist/esm/solana/constants.d.ts +0 -54
  49. package/dist/esm/solana/constants.js +0 -69
  50. package/dist/esm/solana/lib/derive-accounts.d.ts +0 -10
  51. package/dist/esm/solana/lib/derive-accounts.js +0 -31
  52. package/dist/esm/solana/lib/fee-amounts.d.ts +0 -9
  53. package/dist/esm/solana/lib/fee-amounts.js +0 -38
  54. package/dist/esm/solana/lib/rewards.d.ts +0 -26
  55. package/dist/esm/solana/lib/rewards.js +0 -152
  56. package/dist/esm/solana/lib/stake-weight.d.ts +0 -2
  57. package/dist/esm/solana/lib/stake-weight.js +0 -12
  58. package/dist/esm/solana/types.d.ts +0 -77
  59. package/dist/esm/solana/types.js +0 -1
@@ -1,336 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SolanaStakingClient = void 0;
7
- const anchor_1 = require("@coral-xyz/anchor");
8
- const spl_token_1 = require("@solana/spl-token");
9
- const web3_js_1 = require("@solana/web3.js");
10
- const common_1 = require("@streamflow/common");
11
- const solana_1 = require("@streamflow/common/solana");
12
- const constants_js_1 = require("./constants.js");
13
- const fee_manager_json_1 = __importDefault(require("./descriptor/idl/fee_manager.json"));
14
- const reward_pool_json_1 = __importDefault(require("./descriptor/idl/reward_pool.json"));
15
- const stake_pool_json_1 = __importDefault(require("./descriptor/idl/stake_pool.json"));
16
- const derive_accounts_js_1 = require("./lib/derive-accounts.js");
17
- class SolanaStakingClient {
18
- constructor({ clusterUrl, cluster = common_1.ICluster.Mainnet, commitment = "confirmed", programIds, sendRate = 1, sendThrottler, }) {
19
- this.cluster = cluster;
20
- this.commitment = commitment;
21
- this.connection = new web3_js_1.Connection(clusterUrl, this.commitment);
22
- this.sendThrottler = sendThrottler ?? (0, solana_1.buildSendThrottler)(sendRate);
23
- const stakePoolIdl = {
24
- ...stake_pool_json_1.default,
25
- address: programIds?.stakePool ?? constants_js_1.STAKE_POOL_PROGRAM_ID[cluster] ?? stake_pool_json_1.default.address,
26
- };
27
- const rewardPoolIdl = {
28
- ...reward_pool_json_1.default,
29
- address: programIds?.rewardPool ?? constants_js_1.REWARD_POOL_PROGRAM_ID[cluster] ?? reward_pool_json_1.default.address,
30
- };
31
- const feeManagerIdl = {
32
- ...fee_manager_json_1.default,
33
- address: programIds?.feeManager ?? fee_manager_json_1.default.address,
34
- };
35
- this.programs = {
36
- stakePoolProgram: new anchor_1.Program(stakePoolIdl, {
37
- connection: this.connection,
38
- }),
39
- rewardPoolProgram: new anchor_1.Program(rewardPoolIdl, {
40
- connection: this.connection,
41
- }),
42
- feeManagerProgram: new anchor_1.Program(feeManagerIdl, {
43
- connection: this.connection,
44
- }),
45
- };
46
- }
47
- getCurrentProgramId(programKey) {
48
- const program = this.programs[programKey];
49
- (0, common_1.invariant)(program, `Program ${programKey} is not found`);
50
- return program.programId;
51
- }
52
- getCommitment() {
53
- return typeof this.commitment == "string" ? this.commitment : this.commitment.commitment;
54
- }
55
- async getStakePool(id) {
56
- const { stakePoolProgram } = this.programs;
57
- return stakePoolProgram.account.stakePool.fetch(id);
58
- }
59
- async searchStakePools(criteria = {}) {
60
- const { stakePoolProgram } = this.programs;
61
- return stakePoolProgram.account.stakePool.all((0, solana_1.getFilters)(criteria, constants_js_1.STAKE_POOL_BYTE_OFFSETS));
62
- }
63
- async getStakeEntry(id) {
64
- const { stakePoolProgram } = this.programs;
65
- return stakePoolProgram.account.stakeEntry.fetch(id);
66
- }
67
- async searchStakeEntries(criteria = {}) {
68
- const { stakePoolProgram } = this.programs;
69
- return stakePoolProgram.account.stakeEntry.all((0, solana_1.getFilters)(criteria, constants_js_1.STAKE_ENTRY_BYTE_OFFSETS));
70
- }
71
- async searchRewardPools(criteria = {}) {
72
- const { rewardPoolProgram } = this.programs;
73
- return rewardPoolProgram.account.rewardPool.all((0, solana_1.getFilters)(criteria, constants_js_1.REWARD_POOL_BYTE_OFFSETS));
74
- }
75
- async searchRewardEntries(criteria) {
76
- const { rewardPoolProgram } = this.programs;
77
- return rewardPoolProgram.account.rewardEntry.all((0, solana_1.getFilters)(criteria, constants_js_1.REWARD_ENTRY_BYTE_OFFSETS));
78
- }
79
- async getFee(target) {
80
- const perTargetFee = await this.getFeeValueIfExists(target);
81
- if (perTargetFee) {
82
- return perTargetFee;
83
- }
84
- return this.getDefaultFeeValue();
85
- }
86
- getDefaultFeeValue() {
87
- const { feeManagerProgram } = this.programs;
88
- const feeValueKey = (0, derive_accounts_js_1.deriveConfigPDA)(feeManagerProgram.programId);
89
- return feeManagerProgram.account.config.fetch(feeValueKey);
90
- }
91
- getFeeValueIfExists(target) {
92
- const { feeManagerProgram } = this.programs;
93
- const feeValueKey = (0, derive_accounts_js_1.deriveFeeValuePDA)(feeManagerProgram.programId, new web3_js_1.PublicKey(target));
94
- return feeManagerProgram.account.feeValue.fetchNullable(feeValueKey);
95
- }
96
- async createStakePool(data, extParams) {
97
- const { ixs, publicKey } = await this.prepareCreateStakePoolInstructions(data, extParams);
98
- const { signature } = await this.execute(ixs, extParams);
99
- return {
100
- ixs,
101
- txId: signature,
102
- metadataId: publicKey,
103
- };
104
- }
105
- async prepareCreateStakePoolInstructions({ maxWeight, maxDuration, minDuration, mint, permissionless = false, freezeStakeMint = null, unstakePeriod = null, nonce, tokenProgramId = spl_token_1.TOKEN_PROGRAM_ID, }, extParams) {
106
- const { stakePoolProgram } = this.programs;
107
- const creator = extParams.invoker.publicKey;
108
- (0, common_1.invariant)(creator, "Undefined invoker publicKey");
109
- const createInstruction = await stakePoolProgram.methods
110
- .createPool(nonce, maxWeight, minDuration, maxDuration, permissionless, freezeStakeMint, unstakePeriod)
111
- .accounts({
112
- creator,
113
- mint,
114
- tokenProgram: tokenProgramId,
115
- })
116
- .instruction();
117
- const stakePoolPDA = (0, derive_accounts_js_1.deriveStakePoolPDA)(stakePoolProgram.programId, (0, solana_1.pk)(mint), creator, nonce);
118
- return { ixs: [createInstruction], publicKey: stakePoolPDA };
119
- }
120
- async stake(data, extParams) {
121
- const { ixs } = await this.prepareStakeInstructions(data, extParams);
122
- const { signature } = await this.execute(ixs, extParams);
123
- return {
124
- ixs,
125
- txId: signature,
126
- };
127
- }
128
- async prepareStakeInstructions({ nonce, amount, duration, stakePool, stakePoolMint, tokenProgramId = spl_token_1.TOKEN_PROGRAM_ID }, extParams) {
129
- const { stakePoolProgram } = this.programs;
130
- const staker = extParams.invoker.publicKey;
131
- (0, common_1.invariant)(staker, "Undefined invoker publicKey");
132
- const mint = (0, derive_accounts_js_1.deriveStakeMintPDA)(stakePoolProgram.programId, (0, solana_1.pk)(stakePool));
133
- const stakeMintAccountKey = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, staker, true, (0, solana_1.pk)(tokenProgramId));
134
- const poolMintAccountKey = (0, spl_token_1.getAssociatedTokenAddressSync)((0, solana_1.pk)(stakePoolMint), staker, true, (0, solana_1.pk)(tokenProgramId));
135
- const instruction = await stakePoolProgram.methods
136
- .stake(nonce, amount, duration)
137
- .accounts({
138
- stakePool: stakePool,
139
- tokenProgram: tokenProgramId,
140
- from: poolMintAccountKey,
141
- to: stakeMintAccountKey,
142
- authority: staker,
143
- payer: staker,
144
- })
145
- .instruction();
146
- return { ixs: [instruction] };
147
- }
148
- async unstake(data, extParams) {
149
- const { ixs } = await this.prepareUnstakeInstructions(data, extParams);
150
- const { signature } = await this.execute(ixs, extParams);
151
- return {
152
- ixs,
153
- txId: signature,
154
- };
155
- }
156
- async prepareUnstakeInstructions({ stakePool, stakePoolMint, nonce, tokenProgramId = spl_token_1.TOKEN_PROGRAM_ID }, extParams) {
157
- const { stakePoolProgram } = this.programs;
158
- const staker = extParams.invoker.publicKey;
159
- (0, common_1.invariant)(staker, "Undefined invoker publicKey");
160
- const stakeMintKey = (0, derive_accounts_js_1.deriveStakeMintPDA)(stakePoolProgram.programId, (0, solana_1.pk)(stakePool));
161
- const stakeEntryKey = (0, derive_accounts_js_1.deriveStakeEntryPDA)(stakePoolProgram.programId, (0, solana_1.pk)(stakePool), staker, nonce);
162
- const poolMintAccountKey = (0, spl_token_1.getAssociatedTokenAddressSync)((0, solana_1.pk)(stakePoolMint), staker, true, (0, solana_1.pk)(tokenProgramId));
163
- const stakeMintAccountKey = (0, spl_token_1.getAssociatedTokenAddressSync)(stakeMintKey, staker, true, (0, solana_1.pk)(tokenProgramId));
164
- const instruction = await stakePoolProgram.methods
165
- .unstake()
166
- .accounts({
167
- stakeEntry: stakeEntryKey,
168
- to: poolMintAccountKey,
169
- from: stakeMintAccountKey,
170
- authority: staker,
171
- tokenProgram: tokenProgramId,
172
- })
173
- .instruction();
174
- return { ixs: [instruction] };
175
- }
176
- async createRewardPool(data, extParams) {
177
- const { ixs, publicKey } = await this.prepareCreateRewardPoolInstructions(data, extParams);
178
- const { signature } = await this.execute(ixs, extParams);
179
- return {
180
- ixs,
181
- txId: signature,
182
- metadataId: publicKey,
183
- };
184
- }
185
- async prepareCreateRewardPoolInstructions({ nonce, rewardAmount, rewardPeriod, rewardMint, permissionless = false, stakePool, lastClaimPeriodOpt, tokenProgramId = spl_token_1.TOKEN_PROGRAM_ID, }, extParams) {
186
- const { rewardPoolProgram } = this.programs;
187
- const creator = extParams.invoker.publicKey;
188
- (0, common_1.invariant)(creator, "Undefined invoker publicKey");
189
- const instruction = await rewardPoolProgram.methods
190
- .createPool(nonce, rewardAmount, rewardPeriod, permissionless, lastClaimPeriodOpt)
191
- .accounts({
192
- creator,
193
- stakePool,
194
- mint: rewardMint,
195
- tokenProgram: tokenProgramId,
196
- })
197
- .instruction();
198
- const rewardPoolKey = (0, derive_accounts_js_1.deriveRewardPoolPDA)(rewardPoolProgram.programId, (0, solana_1.pk)(stakePool), (0, solana_1.pk)(rewardMint), nonce);
199
- return { publicKey: rewardPoolKey, ixs: [instruction] };
200
- }
201
- async claimRewards(data, extParams) {
202
- const { ixs } = await this.prepareClaimRewardsInstructions(data, extParams);
203
- const { signature } = await this.execute(ixs, extParams);
204
- return {
205
- ixs,
206
- txId: signature,
207
- };
208
- }
209
- async prepareClaimRewardsInstructions({ rewardPoolNonce, depositNonce, stakePool, tokenProgramId = spl_token_1.TOKEN_PROGRAM_ID, rewardMint }, extParams) {
210
- const { stakePoolProgram, rewardPoolProgram } = this.programs;
211
- const staker = extParams.invoker.publicKey;
212
- (0, common_1.invariant)(staker, "Undefined invoker publicKey");
213
- const instruction = await rewardPoolProgram.methods
214
- .claimRewards()
215
- .accounts({
216
- stakeEntry: (0, derive_accounts_js_1.deriveStakeEntryPDA)(stakePoolProgram.programId, (0, solana_1.pk)(stakePool), staker, depositNonce),
217
- rewardPool: (0, derive_accounts_js_1.deriveRewardPoolPDA)(rewardPoolProgram.programId, (0, solana_1.pk)(stakePool), (0, solana_1.pk)(rewardMint), rewardPoolNonce),
218
- claimant: staker,
219
- tokenProgram: tokenProgramId,
220
- to: (0, spl_token_1.getAssociatedTokenAddressSync)((0, solana_1.pk)(rewardMint), staker, true, (0, solana_1.pk)(tokenProgramId)),
221
- })
222
- .instruction();
223
- return { ixs: [instruction] };
224
- }
225
- async fundPool(data, extParams) {
226
- const { ixs } = await this.prepareFundPoolInstructions(data, extParams);
227
- const { signature } = await this.execute(ixs, extParams);
228
- return {
229
- ixs,
230
- txId: signature,
231
- };
232
- }
233
- async prepareFundPoolInstructions({ amount, tokenProgramId = spl_token_1.TOKEN_PROGRAM_ID, rewardMint, stakePool, feeValue, nonce }, extParams) {
234
- const { rewardPoolProgram } = this.programs;
235
- const staker = extParams.invoker.publicKey;
236
- (0, common_1.invariant)(staker, "Undefined invoker publicKey");
237
- const existingFee = await this.getFeeValueIfExists(staker);
238
- const rewardMintPk = (0, solana_1.pk)(rewardMint);
239
- const tokenProgramPk = (0, solana_1.pk)(tokenProgramId);
240
- const treasuryATA = !existingFee || existingFee.streamflowFee.gtn(0)
241
- ? await (0, solana_1.checkOrCreateAtaBatch)(this.connection, [constants_js_1.STREAMFLOW_TREASURY_PUBLIC_KEY], rewardMintPk, extParams.invoker, tokenProgramPk)
242
- : null;
243
- const rewardPoolPda = (0, derive_accounts_js_1.deriveRewardPoolPDA)(rewardPoolProgram.programId, (0, solana_1.pk)(stakePool), rewardMintPk, nonce);
244
- const instruction = await rewardPoolProgram.methods
245
- .fundPool(amount)
246
- .accountsPartial({
247
- funder: staker,
248
- rewardPool: rewardPoolPda,
249
- from: (0, spl_token_1.getAssociatedTokenAddressSync)(rewardMintPk, staker, true, tokenProgramPk),
250
- tokenProgram: tokenProgramId,
251
- vault: (0, derive_accounts_js_1.deriveRewardVaultPDA)(rewardPoolProgram.programId, rewardPoolPda),
252
- mint: rewardMint,
253
- feeValue,
254
- })
255
- .instruction();
256
- return { ixs: treasuryATA ? treasuryATA.concat([instruction]) : [instruction] };
257
- }
258
- async createRewardEntry(data, extParams) {
259
- const { ixs } = await this.prepareCreateRewardEntryInstructions(data, extParams);
260
- const { signature } = await this.execute(ixs, extParams);
261
- return {
262
- ixs,
263
- txId: signature,
264
- };
265
- }
266
- async prepareCreateRewardEntryInstructions({ stakePool, rewardPoolNonce, depositNonce, rewardMint }, extParams) {
267
- const { stakePoolProgram, rewardPoolProgram } = this.programs;
268
- const staker = extParams.invoker.publicKey;
269
- (0, common_1.invariant)(staker, "Undefined invoker publicKey");
270
- const instruction = await rewardPoolProgram.methods
271
- .createEntry()
272
- .accounts({
273
- payer: staker,
274
- authority: staker,
275
- stakeEntry: (0, derive_accounts_js_1.deriveStakeEntryPDA)(stakePoolProgram.programId, (0, solana_1.pk)(stakePool), staker, depositNonce),
276
- rewardPool: (0, derive_accounts_js_1.deriveRewardPoolPDA)(rewardPoolProgram.programId, (0, solana_1.pk)(stakePool), (0, solana_1.pk)(rewardMint), rewardPoolNonce),
277
- })
278
- .instruction();
279
- return { ixs: [instruction] };
280
- }
281
- async updateRewardPool(data, extParams) {
282
- const { ixs } = await this.prepareUpdateRewardPoolInstructions(data, extParams);
283
- const { signature } = await this.execute(ixs, extParams);
284
- return {
285
- ixs,
286
- txId: signature,
287
- };
288
- }
289
- async prepareUpdateRewardPoolInstructions({ rewardPool, rewardAmount, rewardPeriod, stakePool }, extParams) {
290
- const { rewardPoolProgram } = this.programs;
291
- const invoker = extParams.invoker.publicKey;
292
- (0, common_1.invariant)(invoker, "Undefined invoker publicKey");
293
- const instruction = await rewardPoolProgram.methods
294
- .updatePool(rewardAmount, rewardPeriod)
295
- .accountsPartial({
296
- stakePool,
297
- authority: invoker,
298
- rewardPool,
299
- })
300
- .instruction();
301
- return { ixs: [instruction] };
302
- }
303
- decode(programKey, accountName, accInfo) {
304
- const decodingProgram = this.programs[programKey];
305
- (0, common_1.invariant)(decodingProgram, `Decoding program with key ${programKey} is not available`);
306
- return decodingProgram.coder.accounts.decode(accountName.toString(), accInfo);
307
- }
308
- getDiscriminator(programKey, accountName) {
309
- const decodingProgram = this.programs[programKey];
310
- (0, common_1.invariant)(decodingProgram, `Decoding program with key ${programKey} is not available`);
311
- const accountEntity = decodingProgram.idl.accounts.find((acc) => acc.name === accountName);
312
- (0, common_1.invariant)(accountEntity, `Decoding program with key ${programKey} doesn't specify account with name ${accountName.toString()}`);
313
- return accountEntity.discriminator;
314
- }
315
- async execute(ixs, extParams) {
316
- const { tx, hash, context } = await (0, solana_1.prepareTransaction)(this.connection, (0, solana_1.prepareBaseInstructions)(this.connection, extParams).concat(ixs), extParams.invoker.publicKey);
317
- try {
318
- const signature = await (0, solana_1.signAndExecuteTransaction)(this.connection, extParams.invoker, tx, {
319
- hash,
320
- context,
321
- commitment: this.getCommitment(),
322
- }, { sendThrottler: this.sendThrottler });
323
- return { signature };
324
- }
325
- catch (err) {
326
- if (err instanceof Error) {
327
- const parsed = (0, anchor_1.translateError)(err, (0, anchor_1.parseIdlErrors)(this.programs.stakePoolProgram.idl));
328
- if (parsed) {
329
- throw new common_1.ContractError(err, parsed.name, parsed.message);
330
- }
331
- }
332
- throw err;
333
- }
334
- }
335
- }
336
- exports.SolanaStakingClient = SolanaStakingClient;
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FEE_PROGRAM_ID = exports.REWARD_POOL_PROGRAM_ID = exports.STAKE_POOL_PROGRAM_ID = exports.REWARD_ENTRY_BYTE_OFFSETS = exports.REWARD_ENTRY_STAKE_ENTRY_OFFSET = exports.REWARD_ENTRY_REWARD_POOL_OFFSET = exports.REWARD_POOL_BYTE_OFFSETS = exports.REWARD_POOL_MINT_OFFSET = exports.REWARD_POOL_STAKE_POOL_OFFSET = exports.STAKE_POOL_BYTE_OFFSETS = exports.STAKE_POOL_CREATOR_OFFSET = exports.STAKE_POOL_MINT_OFFSET = exports.STAKE_ENTRY_BYTE_OFFSETS = exports.STAKE_ENTRY_OWNER_OFFSET = exports.STAKE_ENTRY_PAYER_OFFSET = exports.STAKE_ENTRY_STAKE_POOL_OFFSET = exports.ANCHOR_DISCRIMINATOR_OFFSET = exports.STREAMFLOW_TREASURY_PUBLIC_KEY = exports.FEE_VALUE_PREFIX = exports.CONFIG_PREFIX = exports.REWARD_ENTRY_PREFIX = exports.REWARD_VAULT_PREFIX = exports.REWARD_POOL_PREFIX = exports.STAKE_VAULT_PREFIX = exports.STAKE_MINT_PREFIX = exports.STAKE_POOL_PREFIX = exports.STAKE_ENTRY_PREFIX = exports.STAKE_ENTRY_DISCRIMINATOR = exports.U64_MAX = exports.REWARD_AMOUNT_PRECISION_FACTOR_BN = exports.REWARD_AMOUNT_PRECISION_FACTOR = exports.REWARD_AMOUNT_DECIMALS = exports.SCALE_PRECISION_FACTOR_BN = exports.SCALE_PRECISION_FACTOR = exports.DEFAULT_FEE_BN = exports.DEFAULT_FEE = exports.FEE_PRECISION_FACTOR_BN = exports.FEE_PRECISION_FACTOR = void 0;
4
- const anchor_1 = require("@coral-xyz/anchor");
5
- const common_1 = require("@streamflow/common");
6
- const web3_js_1 = require("@solana/web3.js");
7
- exports.FEE_PRECISION_FACTOR = 10000;
8
- exports.FEE_PRECISION_FACTOR_BN = new anchor_1.BN(exports.FEE_PRECISION_FACTOR);
9
- exports.DEFAULT_FEE = 19;
10
- exports.DEFAULT_FEE_BN = new anchor_1.BN(exports.DEFAULT_FEE);
11
- exports.SCALE_PRECISION_FACTOR = 1000000000;
12
- exports.SCALE_PRECISION_FACTOR_BN = new anchor_1.BN(exports.SCALE_PRECISION_FACTOR);
13
- exports.REWARD_AMOUNT_DECIMALS = 9;
14
- exports.REWARD_AMOUNT_PRECISION_FACTOR = 1000000000;
15
- exports.REWARD_AMOUNT_PRECISION_FACTOR_BN = new anchor_1.BN(exports.REWARD_AMOUNT_PRECISION_FACTOR);
16
- exports.U64_MAX = 18446744073709551615n;
17
- exports.STAKE_ENTRY_DISCRIMINATOR = [187, 127, 9, 35, 155, 68, 86, 40];
18
- exports.STAKE_ENTRY_PREFIX = Buffer.from("stake-entry", "utf-8");
19
- exports.STAKE_POOL_PREFIX = Buffer.from("stake-pool", "utf-8");
20
- exports.STAKE_MINT_PREFIX = Buffer.from("stake-mint", "utf-8");
21
- exports.STAKE_VAULT_PREFIX = Buffer.from("stake-vault", "utf-8");
22
- exports.REWARD_POOL_PREFIX = Buffer.from("reward-pool", "utf-8");
23
- exports.REWARD_VAULT_PREFIX = Buffer.from("reward-vault", "utf-8");
24
- exports.REWARD_ENTRY_PREFIX = Buffer.from("reward-entry", "utf-8");
25
- exports.CONFIG_PREFIX = Buffer.from("config", "utf-8");
26
- exports.FEE_VALUE_PREFIX = Buffer.from("fee-value", "utf-8");
27
- exports.STREAMFLOW_TREASURY_PUBLIC_KEY = new web3_js_1.PublicKey("5SEpbdjFK5FxwTvfsGMXVQTD2v4M2c5tyRTxhdsPkgDw");
28
- exports.ANCHOR_DISCRIMINATOR_OFFSET = 8;
29
- exports.STAKE_ENTRY_STAKE_POOL_OFFSET = exports.ANCHOR_DISCRIMINATOR_OFFSET + 4;
30
- exports.STAKE_ENTRY_PAYER_OFFSET = exports.STAKE_ENTRY_STAKE_POOL_OFFSET + 32;
31
- exports.STAKE_ENTRY_OWNER_OFFSET = exports.STAKE_ENTRY_PAYER_OFFSET + 32;
32
- exports.STAKE_ENTRY_BYTE_OFFSETS = {
33
- payer: exports.STAKE_ENTRY_PAYER_OFFSET,
34
- authority: exports.STAKE_ENTRY_OWNER_OFFSET,
35
- stakePool: exports.STAKE_ENTRY_STAKE_POOL_OFFSET,
36
- };
37
- exports.STAKE_POOL_MINT_OFFSET = exports.ANCHOR_DISCRIMINATOR_OFFSET + 2;
38
- exports.STAKE_POOL_CREATOR_OFFSET = exports.STAKE_POOL_MINT_OFFSET + 32;
39
- exports.STAKE_POOL_BYTE_OFFSETS = {
40
- mint: exports.STAKE_POOL_MINT_OFFSET,
41
- creator: exports.STAKE_POOL_CREATOR_OFFSET,
42
- };
43
- exports.REWARD_POOL_STAKE_POOL_OFFSET = exports.ANCHOR_DISCRIMINATOR_OFFSET + 2;
44
- exports.REWARD_POOL_MINT_OFFSET = exports.REWARD_POOL_STAKE_POOL_OFFSET + 32;
45
- exports.REWARD_POOL_BYTE_OFFSETS = {
46
- stakePool: exports.REWARD_POOL_STAKE_POOL_OFFSET,
47
- mint: exports.REWARD_POOL_MINT_OFFSET,
48
- };
49
- exports.REWARD_ENTRY_REWARD_POOL_OFFSET = exports.ANCHOR_DISCRIMINATOR_OFFSET;
50
- exports.REWARD_ENTRY_STAKE_ENTRY_OFFSET = exports.REWARD_ENTRY_REWARD_POOL_OFFSET + 32;
51
- exports.REWARD_ENTRY_BYTE_OFFSETS = {
52
- stakeEntry: exports.REWARD_ENTRY_STAKE_ENTRY_OFFSET,
53
- rewardPool: exports.REWARD_ENTRY_REWARD_POOL_OFFSET,
54
- };
55
- exports.STAKE_POOL_PROGRAM_ID = {
56
- [common_1.ICluster.Mainnet]: "STAKEvGqQTtzJZH6BWDcbpzXXn2BBerPAgQ3EGLN2GH",
57
- [common_1.ICluster.Devnet]: "STAKEvGqQTtzJZH6BWDcbpzXXn2BBerPAgQ3EGLN2GH",
58
- [common_1.ICluster.Testnet]: "STAKEvGqQTtzJZH6BWDcbpzXXn2BBerPAgQ3EGLN2GH",
59
- [common_1.ICluster.Local]: "STAKEvGqQTtzJZH6BWDcbpzXXn2BBerPAgQ3EGLN2GH",
60
- };
61
- exports.REWARD_POOL_PROGRAM_ID = {
62
- [common_1.ICluster.Mainnet]: "RWRDdfRbi3339VgKxTAXg4cjyniF7cbhNbMxZWiSKmj",
63
- [common_1.ICluster.Devnet]: "RWRDdfRbi3339VgKxTAXg4cjyniF7cbhNbMxZWiSKmj",
64
- [common_1.ICluster.Testnet]: "RWRDdfRbi3339VgKxTAXg4cjyniF7cbhNbMxZWiSKmj",
65
- [common_1.ICluster.Local]: "RWRDdfRbi3339VgKxTAXg4cjyniF7cbhNbMxZWiSKmj",
66
- };
67
- exports.FEE_PROGRAM_ID = {
68
- [common_1.ICluster.Mainnet]: "FEELzfBhsWXTNJX53zZcDVfRNoFYZQ6cZA3jLiGVL16V",
69
- [common_1.ICluster.Devnet]: "FEELzfBhsWXTNJX53zZcDVfRNoFYZQ6cZA3jLiGVL16V",
70
- [common_1.ICluster.Testnet]: "FEELzfBhsWXTNJX53zZcDVfRNoFYZQ6cZA3jLiGVL16V",
71
- [common_1.ICluster.Local]: "FEELzfBhsWXTNJX53zZcDVfRNoFYZQ6cZA3jLiGVL16V",
72
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });