UNPKG

multipool-staking-sdk

Version:

This is an sdk for solmask staking pool program

436 lines (435 loc) 12.6 kB
{ "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" } ] }