multipool-staking-sdk
Version:
This is an sdk for solmask staking pool program
439 lines • 12.4 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IDL = void 0;
exports.IDL = {
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",
},
],
};
//# sourceMappingURL=staking.js.map