@streamflow/staking 7.0.0-alpha.18 → 7.0.0-alpha.20
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,27 @@ 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
|
+
.accountsPartial({
|
|
295
|
+
authority: invoker,
|
|
296
|
+
rewardPool,
|
|
297
|
+
})
|
|
298
|
+
.instruction();
|
|
299
|
+
return { ixs: [instruction] };
|
|
300
|
+
}
|
|
280
301
|
decode(programKey, accountName, accInfo) {
|
|
281
302
|
const decodingProgram = this.programs[programKey];
|
|
282
303
|
(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,27 @@ 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
|
+
.accountsPartial({
|
|
293
|
+
authority: invoker,
|
|
294
|
+
rewardPool,
|
|
295
|
+
})
|
|
296
|
+
.instruction();
|
|
297
|
+
return { ixs: [instruction] };
|
|
298
|
+
}
|
|
278
299
|
decode(programKey, accountName, accInfo) {
|
|
279
300
|
const decodingProgram = this.programs[programKey];
|
|
280
301
|
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.
|
|
3
|
+
"version": "7.0.0-alpha.20",
|
|
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": "
|
|
29
|
+
"gitHead": "415bf87d86dbf18d3ac40db20e378cd1df90531e",
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@streamflow/eslint-config": "7.0.0-alpha.
|
|
31
|
+
"@streamflow/eslint-config": "7.0.0-alpha.20",
|
|
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.
|
|
42
|
+
"@streamflow/common": "7.0.0-alpha.20",
|
|
43
43
|
"bn.js": "5.2.1",
|
|
44
44
|
"borsh": "^2.0.0",
|
|
45
45
|
"bs58": "5.0.0",
|