@streamflow/staking 7.0.0-alpha.18 → 7.0.0-alpha.19

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.
@@ -277,6 +277,26 @@ class SolanaStakingClient {
277
277
  .instruction();
278
278
  return { ixs: [instruction] };
279
279
  }
280
+ async updateRewardPool(data, extParams) {
281
+ const { ixs } = await this.prepareUpdateRewardPoolInstructions(data, extParams);
282
+ const { signature } = await this.execute(ixs, extParams);
283
+ return {
284
+ ixs,
285
+ txId: signature,
286
+ };
287
+ }
288
+ async prepareUpdateRewardPoolInstructions({ rewardPool, rewardAmount, rewardPeriod }, extParams) {
289
+ const { rewardPoolProgram } = this.programs;
290
+ const invoker = extParams.invoker.publicKey;
291
+ (0, common_1.invariant)(invoker, "Undefined invoker publicKey");
292
+ const instruction = await rewardPoolProgram.methods
293
+ .updatePool(rewardAmount, rewardPeriod)
294
+ .accounts({
295
+ rewardPool,
296
+ })
297
+ .instruction();
298
+ return { ixs: [instruction] };
299
+ }
280
300
  decode(programKey, accountName, accInfo) {
281
301
  const decodingProgram = this.programs[programKey];
282
302
  (0, common_1.invariant)(decodingProgram, `Decoding program with key ${programKey} is not available`);
@@ -6,7 +6,7 @@ import { REWARD_ENTRY_BYTE_OFFSETS, STAKE_ENTRY_BYTE_OFFSETS, STAKE_POOL_BYTE_OF
6
6
  import { FeeManager as FeeManagerProgramType } from "./descriptor/fee_manager.js";
7
7
  import { RewardPool as RewardPoolProgramType } from "./descriptor/reward_pool.js";
8
8
  import { StakePool as StakePoolProgramType } from "./descriptor/stake_pool.js";
9
- import { ClaimRewardPoolArgs, CreateRewardEntryArgs, CreateRewardPoolArgs, CreateStakePoolArgs, DefaultFeeValueConfig, FeeValue, FundPoolArgs, IInteractSolanaExt, RewardEntry, RewardPool, StakeArgs, StakeEntry, StakePool, UnstakeArgs } from "./types.js";
9
+ import { ClaimRewardPoolArgs, CreateRewardEntryArgs, CreateRewardPoolArgs, CreateStakePoolArgs, DefaultFeeValueConfig, FeeValue, FundPoolArgs, IInteractSolanaExt, RewardEntry, RewardPool, StakeArgs, StakeEntry, StakePool, UnstakeArgs, UpdateRewardPoolArgs } from "./types.js";
10
10
  interface Programs {
11
11
  stakePoolProgram: Program<StakePoolProgramType>;
12
12
  rewardPoolProgram: Program<RewardPoolProgramType>;
@@ -74,6 +74,13 @@ export declare class SolanaStakingClient {
74
74
  prepareCreateRewardEntryInstructions({ stakePoolMint, stakePool, rewardPoolNonce, depositNonce }: CreateRewardEntryArgs, extParams: IInteractSolanaExt): Promise<{
75
75
  ixs: TransactionInstruction[];
76
76
  }>;
77
+ updateRewardPool(data: UpdateRewardPoolArgs, extParams: IInteractSolanaExt): Promise<{
78
+ ixs: TransactionInstruction[];
79
+ txId: string;
80
+ }>;
81
+ prepareUpdateRewardPoolInstructions({ rewardPool, rewardAmount, rewardPeriod }: UpdateRewardPoolArgs, extParams: IInteractSolanaExt): Promise<{
82
+ ixs: TransactionInstruction[];
83
+ }>;
77
84
  decode<ProgramName extends keyof Programs = keyof Programs, DecodingProgram = Programs[ProgramName], DerivedIdl extends Idl = DecodingProgram extends Program<infer IDLType> ? IDLType : never, AccountName extends keyof IdlTypes<DerivedIdl> = keyof IdlTypes<DerivedIdl>, DecodedAccount = IdlTypes<DerivedIdl>[AccountName]>(programKey: ProgramName, accountName: AccountName, accInfo: Parameters<AccountsCoder["decode"]>[1]): DecodedAccount;
78
85
  getDiscriminator<ProgramName extends keyof Programs = keyof Programs, DecodingProgram = Programs[ProgramName], DerivedIdl extends Idl = DecodingProgram extends Program<infer IDLType> ? IDLType : never, AccountName extends keyof IdlTypes<DerivedIdl> = keyof IdlTypes<DerivedIdl>>(programKey: ProgramName, accountName: AccountName): number[];
79
86
  private execute;
@@ -275,6 +275,26 @@ export class SolanaStakingClient {
275
275
  .instruction();
276
276
  return { ixs: [instruction] };
277
277
  }
278
+ async updateRewardPool(data, extParams) {
279
+ const { ixs } = await this.prepareUpdateRewardPoolInstructions(data, extParams);
280
+ const { signature } = await this.execute(ixs, extParams);
281
+ return {
282
+ ixs,
283
+ txId: signature,
284
+ };
285
+ }
286
+ async prepareUpdateRewardPoolInstructions({ rewardPool, rewardAmount, rewardPeriod }, extParams) {
287
+ const { rewardPoolProgram } = this.programs;
288
+ const invoker = extParams.invoker.publicKey;
289
+ invariant(invoker, "Undefined invoker publicKey");
290
+ const instruction = await rewardPoolProgram.methods
291
+ .updatePool(rewardAmount, rewardPeriod)
292
+ .accounts({
293
+ rewardPool,
294
+ })
295
+ .instruction();
296
+ return { ixs: [instruction] };
297
+ }
278
298
  decode(programKey, accountName, accInfo) {
279
299
  const decodingProgram = this.programs[programKey];
280
300
  invariant(decodingProgram, `Decoding program with key ${programKey} is not available`);
@@ -50,6 +50,11 @@ export interface CreateRewardPoolArgs extends BaseStakePoolArgs, TokenProgram {
50
50
  rewardPeriod: BN;
51
51
  permissionless: boolean;
52
52
  }
53
+ export interface UpdateRewardPoolArgs {
54
+ rewardAmount: BN | null;
55
+ rewardPeriod: BN | null;
56
+ rewardPool: Address;
57
+ }
53
58
  export interface ClaimRewardPoolArgs extends BaseStakePoolArgs, TokenProgram {
54
59
  depositNonce: number;
55
60
  rewardMint: Address;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamflow/staking",
3
- "version": "7.0.0-alpha.18",
3
+ "version": "7.0.0-alpha.19",
4
4
  "description": "JavaScript SDK to interact with Streamflow Staking protocol.",
5
5
  "homepage": "https://github.com/streamflow-finance/js-sdk/",
6
6
  "main": "dist/esm/index.js",
@@ -26,9 +26,9 @@
26
26
  "lint": "eslint --fix .",
27
27
  "prepublishOnly": "npm run lint && npm run build"
28
28
  },
29
- "gitHead": "763e30b7c28578e17e61480852b010d343c3f30d",
29
+ "gitHead": "c7dec24ceddf88d58584ca84322a8effaf706cde",
30
30
  "devDependencies": {
31
- "@streamflow/eslint-config": "7.0.0-alpha.18",
31
+ "@streamflow/eslint-config": "7.0.0-alpha.19",
32
32
  "@types/bn.js": "5.1.1",
33
33
  "typescript": "^4.9.5"
34
34
  },
@@ -39,7 +39,7 @@
39
39
  "@solana/spl-token": "0.3.6",
40
40
  "@solana/wallet-adapter-base": "0.9.19",
41
41
  "@solana/web3.js": "1.70.1",
42
- "@streamflow/common": "7.0.0-alpha.18",
42
+ "@streamflow/common": "7.0.0-alpha.19",
43
43
  "bn.js": "5.2.1",
44
44
  "borsh": "^2.0.0",
45
45
  "bs58": "5.0.0",