UNPKG

multipool-staking-sdk

Version:

This is an sdk for solmask staking pool program

437 lines (436 loc) 12.3 kB
export type Staking = { version: "0.1.0"; name: "staking"; instructions: [ { name: "initLockup"; accounts: [ { name: "creator"; isMut: true; isSigner: true; }, { name: "lockup"; isMut: true; isSigner: false; }, { name: "stakeVault"; isMut: true; isSigner: false; }, { name: "stakeToken"; isMut: false; isSigner: false; }, { name: "rewardToken"; isMut: false; isSigner: false; }, { name: "stakeVaultTokenAccount"; isMut: true; isSigner: false; }, { name: "stakeVaultRewardTokenAccount"; isMut: true; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "associatedTokenProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "params"; type: { defined: "InitLockupParams"; }; } ]; }, { name: "stake"; accounts: [ { name: "staker"; isMut: true; isSigner: true; }, { name: "lockup"; isMut: true; isSigner: false; }, { name: "stakePda"; isMut: true; isSigner: false; }, { name: "stakeToken"; isMut: false; isSigner: false; }, { name: "stakerTokenAccount"; isMut: true; isSigner: false; }, { name: "stakeVault"; isMut: true; isSigner: false; }, { name: "stakeVaultTokenAccount"; isMut: true; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "associatedTokenProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "params"; type: { defined: "StakeParams"; }; } ]; }, { name: "unStake"; accounts: [ { name: "staker"; isMut: true; isSigner: true; }, { name: "lockup"; isMut: true; isSigner: false; }, { name: "stakePda"; isMut: true; isSigner: false; }, { name: "stakeToken"; isMut: false; isSigner: false; }, { name: "stakerTokenAccount"; isMut: true; isSigner: false; }, { name: "stakeVault"; isMut: true; isSigner: false; }, { name: "stakeVaultTokenAccount"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; }, { name: "associatedTokenProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "claimRewardToken"; accounts: [ { name: "staker"; isMut: true; isSigner: true; }, { name: "lockup"; isMut: true; isSigner: false; }, { name: "stakePda"; isMut: true; isSigner: false; }, { name: "rewardToken"; isMut: false; isSigner: false; }, { name: "stakeToken"; isMut: false; isSigner: false; }, { name: "stakerRewardTokenAccount"; isMut: true; isSigner: false; }, { name: "stakeVault"; isMut: true; isSigner: false; }, { name: "stakeVaultRewardTokenAccount"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "associatedTokenProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: []; } ]; accounts: [ { name: "lockupInfo"; type: { kind: "struct"; fields: [ { name: "name"; type: "string"; }, { name: "creator"; type: "publicKey"; }, { name: "lockupCreatedTime"; type: "i64"; }, { name: "stakingStartTime"; type: "i64"; }, { name: "stakingEndTime"; type: "i64"; }, { name: "lockTimespan"; type: "i64"; }, { name: "globalStaked"; type: "u64"; }, { name: "totalAllocationReward"; type: "u64"; }, { name: "stakedToken"; type: "publicKey"; }, { name: "rewardToken"; type: "publicKey"; } ]; }; }, { name: "stakeInfo"; type: { kind: "struct"; fields: [ { name: "staker"; type: "publicKey"; }, { name: "createdTime"; type: "i64"; }, { name: "stakedAmount"; type: "u64"; }, { name: "rewardAmount"; type: "u64"; }, { name: "rewardClaimed"; type: "bool"; }, { name: "stakeClaimed"; type: "bool"; } ]; }; } ]; types: [ { name: "InitLockupParams"; type: { kind: "struct"; fields: [ { name: "name"; type: "string"; }, { name: "lockTimespan"; type: "i64"; }, { name: "totalAllocationReward"; type: "u64"; }, { name: "stakingEndTime"; type: "i64"; }, { name: "stakingStartTime"; type: "i64"; } ]; }; }, { name: "StakeParams"; type: { kind: "struct"; fields: [ { name: "amount"; type: "u64"; } ]; }; } ]; errors: [ { code: 6000; name: "InvalidStakeToken"; msg: "The provided token mint is not usable for this operation"; }, { code: 6001; name: "InvalidStakeClaimTime"; msg: "You cannot claim your stake yet"; }, { code: 6002; name: "InvalidStaker"; msg: "Invalid Staker"; }, { code: 6003; name: "StakeAlreadyClaimed"; msg: "Already claimed"; }, { code: 6004; name: "RewardIsZero"; msg: "Reward is zero"; }, { code: 6005; name: "InvalidStakeAmount"; msg: "Invalid stake amount"; }, { code: 6006; name: "InvalidRewardToken"; msg: "Invalid reward token"; }, { code: 6007; name: "InvalidStakePeriod"; msg: "Invalid stake period"; }, { code: 6008; name: "InvalidUnstakeTime"; msg: "Invalid unstake time"; }, { code: 6009; name: "StakeRewardNotClaimable"; msg: "Stake reward not claimable yet"; }, { code: 6010; name: "StakeNotClaimable"; msg: "Stake not claimable yet"; }, { code: 6011; name: "RewardAlreadyClaimed"; msg: "Reward already claimed"; } ]; }; export declare const IDL: Staking;