@star-factory/sdk-staking 0.1.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.
- package/README.md +151 -0
- package/dist/cli/set-allowed-mint.d.ts +2 -0
- package/dist/cli/set-allowed-mint.d.ts.map +1 -0
- package/dist/cli/set-allowed-mint.js +78 -0
- package/dist/cli/set-allowed-mint.js.map +1 -0
- package/dist/idl/staking.json +1407 -0
- package/dist/index.d.ts +141 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +598 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +380 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +35 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +47 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { AnchorProvider, Program, web3 } from '@coral-xyz/anchor';
|
|
2
|
+
import type { CanClaimUnstakeInput, CanClaimUnstakeOutput, ClaimRewardsInput, ClaimUnstakeInput, DepositRewardsInput, GetActiveRewardMintOutput, GetAllStakersOutput, GetPendingRewardsInput, GetPendingRewardsOutput, GetRewardTokenInput, GetRewardTokenOutput, GetRewardTokenPDAInput, GetRewardVaultPDAInput, GetStakePoolOutput, GetStakeVaultPDAInput, GetTimeUntilClaimInput, GetTimeUntilClaimOutput, GetUnstakeStatusInput, GetUserPoolShareInput, GetUserPoolShareOutput, GetUserRewardInfoInput, GetUserRewardInfoOutput, GetUserRewardInfoPDAInput, GetUserStakeInput, GetUserStakeOutput, GetUserStakePDAInput, InitializeInput, IsPausedOutput, ListenerId, OnAuthorityUpdatedEventInput, OnClaimUnstakeEventInput, OnPauseEventInput, OnStakeEventInput, OnUnstakeEventInput, PDAWithBump, RemoveEventListenerInput, StakeInput, StakeProgram, StakingSDKInterface, SwitchPauseInput, TransactionOutput, UnstakeInput, UnstakeStatus, UpdateAuthorityInput } from './types';
|
|
3
|
+
export * from './types';
|
|
4
|
+
/**
|
|
5
|
+
* StakingSDK - Client SDK for the Staking program
|
|
6
|
+
*
|
|
7
|
+
* All methods use clear Input/Output types for type safety and discoverability.
|
|
8
|
+
*/
|
|
9
|
+
export declare class StakingSDK implements StakingSDKInterface {
|
|
10
|
+
readonly program: Program<StakeProgram>;
|
|
11
|
+
readonly provider: AnchorProvider;
|
|
12
|
+
readonly programId: web3.PublicKey;
|
|
13
|
+
constructor(program: Program<StakeProgram>, provider: AnchorProvider);
|
|
14
|
+
/**
|
|
15
|
+
* Static factory method to create SDK instance
|
|
16
|
+
*/
|
|
17
|
+
static create(provider: AnchorProvider, programId?: web3.PublicKey): Promise<StakingSDK>;
|
|
18
|
+
getStakePoolPDA(): PDAWithBump;
|
|
19
|
+
getUserStakePDA(input: GetUserStakePDAInput): PDAWithBump;
|
|
20
|
+
getStakeVaultPDA(input: GetStakeVaultPDAInput): PDAWithBump;
|
|
21
|
+
getRewardTokenPDA(input: GetRewardTokenPDAInput): PDAWithBump;
|
|
22
|
+
getRewardVaultPDA(input: GetRewardVaultPDAInput): PDAWithBump;
|
|
23
|
+
getUserRewardInfoPDA(input: GetUserRewardInfoPDAInput): PDAWithBump;
|
|
24
|
+
/**
|
|
25
|
+
* Initialize the staking pool
|
|
26
|
+
*/
|
|
27
|
+
initialize(input: InitializeInput): Promise<TransactionOutput>;
|
|
28
|
+
/**
|
|
29
|
+
* Stake tokens
|
|
30
|
+
*/
|
|
31
|
+
stake(input: StakeInput): Promise<TransactionOutput>;
|
|
32
|
+
/**
|
|
33
|
+
* Unstake tokens (starts 30-day unlock period)
|
|
34
|
+
*/
|
|
35
|
+
unstake(input: UnstakeInput): Promise<TransactionOutput>;
|
|
36
|
+
/**
|
|
37
|
+
* Claim unstaked tokens after 30-day period
|
|
38
|
+
*/
|
|
39
|
+
claimUnstake(input?: ClaimUnstakeInput): Promise<TransactionOutput>;
|
|
40
|
+
/**
|
|
41
|
+
* Deposit rewards into the pool (admin only)
|
|
42
|
+
*/
|
|
43
|
+
depositRewards(input: DepositRewardsInput): Promise<TransactionOutput>;
|
|
44
|
+
/**
|
|
45
|
+
* Claim accumulated rewards
|
|
46
|
+
*/
|
|
47
|
+
claimRewards(input: ClaimRewardsInput): Promise<TransactionOutput>;
|
|
48
|
+
/**
|
|
49
|
+
* Toggle pause on contract (admin only) - USE ONLY IN CASE OF EMERGENCY
|
|
50
|
+
*/
|
|
51
|
+
switchPause(input?: SwitchPauseInput): Promise<TransactionOutput>;
|
|
52
|
+
/**
|
|
53
|
+
* Transfer pool authority to a new account (current authority only)
|
|
54
|
+
*/
|
|
55
|
+
updateAuthority(input: UpdateAuthorityInput): Promise<TransactionOutput>;
|
|
56
|
+
/**
|
|
57
|
+
* Get stake pool data
|
|
58
|
+
*/
|
|
59
|
+
getStakePool(): Promise<GetStakePoolOutput>;
|
|
60
|
+
/**
|
|
61
|
+
* Get user stake data
|
|
62
|
+
*/
|
|
63
|
+
getUserStake(input?: GetUserStakeInput): Promise<GetUserStakeOutput>;
|
|
64
|
+
/**
|
|
65
|
+
* Get reward token config data
|
|
66
|
+
*/
|
|
67
|
+
getRewardToken(input: GetRewardTokenInput): Promise<GetRewardTokenOutput>;
|
|
68
|
+
/**
|
|
69
|
+
* Get user reward info data
|
|
70
|
+
*/
|
|
71
|
+
getUserRewardInfo(input: GetUserRewardInfoInput): Promise<GetUserRewardInfoOutput>;
|
|
72
|
+
/**
|
|
73
|
+
* Calculate user's proportional share of the pool
|
|
74
|
+
*/
|
|
75
|
+
getUserPoolShare(input?: GetUserPoolShareInput): Promise<GetUserPoolShareOutput>;
|
|
76
|
+
/**
|
|
77
|
+
* Check if user can claim unstake
|
|
78
|
+
*/
|
|
79
|
+
canClaimUnstake(input?: CanClaimUnstakeInput): Promise<CanClaimUnstakeOutput>;
|
|
80
|
+
/**
|
|
81
|
+
* Get time remaining until claim is available
|
|
82
|
+
*/
|
|
83
|
+
getTimeUntilClaim(input?: GetTimeUntilClaimInput): Promise<GetTimeUntilClaimOutput>;
|
|
84
|
+
/**
|
|
85
|
+
* Get comprehensive unstake status for UI display.
|
|
86
|
+
* Single RPC call that returns all information needed to render unstake UI.
|
|
87
|
+
*/
|
|
88
|
+
getUnstakeStatus(input?: GetUnstakeStatusInput): Promise<UnstakeStatus>;
|
|
89
|
+
/**
|
|
90
|
+
* Calculate pending rewards for a user (without claiming)
|
|
91
|
+
*/
|
|
92
|
+
getPendingRewards(input: GetPendingRewardsInput): Promise<GetPendingRewardsOutput>;
|
|
93
|
+
/**
|
|
94
|
+
* Check if protocol is paused
|
|
95
|
+
*/
|
|
96
|
+
isPaused(): Promise<IsPausedOutput>;
|
|
97
|
+
/**
|
|
98
|
+
* Check if rewards are active (reward mint has been set)
|
|
99
|
+
*/
|
|
100
|
+
getActiveRewardMint(): Promise<GetActiveRewardMintOutput>;
|
|
101
|
+
/**
|
|
102
|
+
* Get all stakers and their staking positions.
|
|
103
|
+
* Useful for computing reward distributions or snapshots.
|
|
104
|
+
*/
|
|
105
|
+
getAllStakers(): Promise<GetAllStakersOutput>;
|
|
106
|
+
/**
|
|
107
|
+
* Listen for stake events
|
|
108
|
+
*/
|
|
109
|
+
onStakeEvent(input: OnStakeEventInput): ListenerId;
|
|
110
|
+
/**
|
|
111
|
+
* Listen for unstake events
|
|
112
|
+
*/
|
|
113
|
+
onUnstakeEvent(input: OnUnstakeEventInput): ListenerId;
|
|
114
|
+
/**
|
|
115
|
+
* Listen for claim unstake events
|
|
116
|
+
*/
|
|
117
|
+
onClaimUnstakeEvent(input: OnClaimUnstakeEventInput): ListenerId;
|
|
118
|
+
/**
|
|
119
|
+
* Listen for pause events
|
|
120
|
+
*/
|
|
121
|
+
onPauseEvent(input: OnPauseEventInput): ListenerId;
|
|
122
|
+
/**
|
|
123
|
+
* Listen for authority updated events
|
|
124
|
+
*/
|
|
125
|
+
onAuthorityUpdatedEvent(input: OnAuthorityUpdatedEventInput): ListenerId;
|
|
126
|
+
/**
|
|
127
|
+
* Remove event listener
|
|
128
|
+
*/
|
|
129
|
+
removeEventListener(input: RemoveEventListenerInput): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* Format seconds into human-readable string (e.g., "5d 3h 22m")
|
|
132
|
+
* @internal
|
|
133
|
+
*/
|
|
134
|
+
private formatTimeRemaining;
|
|
135
|
+
private get accounts();
|
|
136
|
+
private fetchStakePool;
|
|
137
|
+
private fetchUserStake;
|
|
138
|
+
private fetchRewardToken;
|
|
139
|
+
private fetchUserRewardInfo;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|