@zebec-network/zebec-stake-sdk
Version:
An SDK for zebec network stake solana program
1,126 lines (1,125 loc) • 37.8 kB
JSON
{
"address": "zSTKzGLiN6T6EVzhBiL6sjULXMahDavAS2p4R62afGv",
"metadata": {
"name": "zebec_stake",
"version": "0.1.0",
"spec": "0.1.0",
"description": "Created with Anchor"
},
"instructions": [
{
"name": "init_lockup",
"discriminator": [6, 96, 207, 185, 103, 62, 239, 168],
"accounts": [
{
"name": "creator",
"writable": true,
"signer": true
},
{
"name": "lockup",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [122, 101, 98, 101, 99, 95, 108, 111, 99, 107, 117, 112]
},
{
"kind": "arg",
"path": "args.name"
}
]
}
},
{
"name": "stake_vault",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116]
},
{
"kind": "account",
"path": "lockup"
}
]
}
},
{
"name": "reward_vault",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [114, 101, 119, 97, 114, 100, 95, 118, 97, 117, 108, 116]
},
{
"kind": "account",
"path": "lockup"
}
]
}
},
{
"name": "stake_token"
},
{
"name": "reward_token"
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "token_program",
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "associated_token_program",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "InitConfigParams"
}
}
}
]
},
{
"name": "stake_zbcn",
"discriminator": [93, 162, 156, 54, 43, 11, 15, 122],
"accounts": [
{
"name": "staker",
"writable": true,
"signer": true
},
{
"name": "fee_payer",
"writable": true,
"signer": true
},
{
"name": "lockup",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [122, 101, 98, 101, 99, 95, 108, 111, 99, 107, 117, 112]
},
{
"kind": "account",
"path": "lockup.stake_info.name",
"account": "Lockup"
}
]
}
},
{
"name": "stake_pda",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "staker"
},
{
"kind": "account",
"path": "lockup"
},
{
"kind": "arg",
"path": "args.nonce"
}
]
}
},
{
"name": "user_nonce",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "staker"
},
{
"kind": "account",
"path": "lockup"
}
]
}
},
{
"name": "stake_token"
},
{
"name": "staker_token_account",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "staker"
},
{
"kind": "const",
"value": [
6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95,
91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169
]
},
{
"kind": "account",
"path": "stake_token"
}
],
"program": {
"kind": "const",
"value": [
140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16,
132, 4, 142, 123, 216, 219, 233, 248, 89
]
}
}
},
{
"name": "stake_vault",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116]
},
{
"kind": "account",
"path": "lockup"
}
]
}
},
{
"name": "stake_vault_token_account",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "stake_vault"
},
{
"kind": "const",
"value": [
6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95,
91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169
]
},
{
"kind": "account",
"path": "stake_token"
}
],
"program": {
"kind": "const",
"value": [
140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16,
132, 4, 142, 123, 216, 219, 233, 248, 89
]
}
}
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "token_program",
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "associated_token_program",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "StakeParams"
}
}
}
]
},
{
"name": "unstake_zbcn",
"discriminator": [90, 202, 101, 187, 218, 99, 244, 1],
"accounts": [
{
"name": "staker",
"writable": true,
"signer": true
},
{
"name": "fee_payer",
"writable": true,
"signer": true
},
{
"name": "lockup",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [122, 101, 98, 101, 99, 95, 108, 111, 99, 107, 117, 112]
},
{
"kind": "account",
"path": "lockup.stake_info.name",
"account": "Lockup"
}
]
}
},
{
"name": "stake_pda",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "staker"
},
{
"kind": "account",
"path": "lockup"
},
{
"kind": "arg",
"path": "_nonce"
}
]
}
},
{
"name": "reward_token"
},
{
"name": "stake_token"
},
{
"name": "staker_token_account",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "staker"
},
{
"kind": "const",
"value": [
6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95,
91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169
]
},
{
"kind": "account",
"path": "stake_token"
}
],
"program": {
"kind": "const",
"value": [
140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16,
132, 4, 142, 123, 216, 219, 233, 248, 89
]
}
}
},
{
"name": "staker_reward_token_account",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "staker"
},
{
"kind": "const",
"value": [
6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95,
91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169
]
},
{
"kind": "account",
"path": "reward_token"
}
],
"program": {
"kind": "const",
"value": [
140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16,
132, 4, 142, 123, 216, 219, 233, 248, 89
]
}
}
},
{
"name": "stake_vault",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116]
},
{
"kind": "account",
"path": "lockup"
}
]
}
},
{
"name": "reward_vault",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [114, 101, 119, 97, 114, 100, 95, 118, 97, 117, 108, 116]
},
{
"kind": "account",
"path": "lockup"
}
]
}
},
{
"name": "stake_vault_token_account",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "stake_vault"
},
{
"kind": "const",
"value": [
6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95,
91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169
]
},
{
"kind": "account",
"path": "stake_token"
}
],
"program": {
"kind": "const",
"value": [
140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16,
132, 4, 142, 123, 216, 219, 233, 248, 89
]
}
}
},
{
"name": "reward_vault_token_account",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "reward_vault"
},
{
"kind": "const",
"value": [
6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95,
91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169
]
},
{
"kind": "account",
"path": "reward_token"
}
],
"program": {
"kind": "const",
"value": [
140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16,
132, 4, 142, 123, 216, 219, 233, 248, 89
]
}
}
},
{
"name": "fee_vault"
},
{
"name": "fee_vault_token_account",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "lockup.fee_info.fee_vault",
"account": "Lockup"
},
{
"kind": "const",
"value": [
6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95,
91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169
]
},
{
"kind": "account",
"path": "stake_token"
}
],
"program": {
"kind": "const",
"value": [
140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16,
132, 4, 142, 123, 216, 219, 233, 248, 89
]
}
}
},
{
"name": "token_program",
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "associated_token_program",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
}
],
"args": [
{
"name": "nonce",
"type": "u64"
}
]
},
{
"name": "whitelist_staker",
"discriminator": [13, 211, 22, 179, 35, 177, 63, 155],
"accounts": [
{
"name": "admin",
"writable": true,
"signer": true
},
{
"name": "lockup",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [122, 101, 98, 101, 99, 95, 108, 111, 99, 107, 117, 112]
},
{
"kind": "account",
"path": "lockup.stake_info.name",
"account": "Lockup"
}
]
}
},
{
"name": "user_nonce",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "staker"
},
{
"kind": "account",
"path": "lockup"
}
]
}
},
{
"name": "staker"
},
{
"name": "stake_pda",
"writable": true,
"pda": {
"seeds": [
{
"kind": "account",
"path": "staker"
},
{
"kind": "account",
"path": "lockup"
},
{
"kind": "arg",
"path": "args.nonce"
}
]
}
},
{
"name": "stake_token"
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
}
],
"args": [
{
"name": "params",
"type": {
"defined": {
"name": "WhitelistStakerParams"
}
}
}
]
}
],
"accounts": [
{
"name": "Lockup",
"discriminator": [1, 45, 32, 32, 57, 81, 88, 67]
},
{
"name": "UserNonce",
"discriminator": [235, 133, 1, 243, 18, 135, 88, 224]
},
{
"name": "UserStakeData",
"discriminator": [105, 207, 3, 141, 114, 114, 232, 147]
}
],
"events": [
{
"name": "LockupInitialized",
"discriminator": [137, 25, 165, 219, 184, 142, 188, 33]
},
{
"name": "Staked",
"discriminator": [11, 146, 45, 205, 230, 58, 213, 240]
},
{
"name": "StakerWhitelisted",
"discriminator": [76, 149, 219, 17, 46, 17, 132, 62]
},
{
"name": "Unstaked",
"discriminator": [27, 179, 156, 215, 47, 71, 195, 7]
}
],
"errors": [
{
"code": 6000,
"name": "InvalidTime",
"msg": "Invalid Time"
},
{
"code": 6001,
"name": "InvalidStakeToken",
"msg": "Invalid Stake Token"
},
{
"code": 6002,
"name": "InvalidRewardToken",
"msg": "Invalid Reward Token"
},
{
"code": 6003,
"name": "InvalidStakePeriod",
"msg": "Invalid Stake Period"
},
{
"code": 6004,
"name": "InvalidStaker",
"msg": "Invalid Staker"
},
{
"code": 6005,
"name": "InvaildNonce",
"msg": "Invalid Nonce"
},
{
"code": 6006,
"name": "UnAuthorized",
"msg": "UnAuthorized"
},
{
"code": 6007,
"name": "InvalidLockPeriod",
"msg": "Invalid Lock Period"
},
{
"code": 6008,
"name": "InvalidAmount",
"msg": "Invalid Amount"
},
{
"code": 6009,
"name": "RewardAlreadyClaimed",
"msg": "Reward Already Claimed"
},
{
"code": 6010,
"name": "StakeRewardNotClaimable",
"msg": "Stake Reward Not Claimable"
},
{
"code": 6011,
"name": "RewardIsZero",
"msg": "Reward Is Zero"
},
{
"code": 6012,
"name": "StakeAlreadyClaimed",
"msg": "Stake Already Claimed"
},
{
"code": 6013,
"name": "StakeNotClaimable",
"msg": "Stake Not Claimable"
},
{
"code": 6014,
"name": "MinimumStakeNotMet",
"msg": "Minimum Stake Not Met"
}
],
"types": [
{
"name": "DurationMap",
"type": {
"kind": "struct",
"fields": [
{
"name": "duration",
"type": "u64"
},
{
"name": "reward",
"type": "u64"
}
]
}
},
{
"name": "FeeInfo",
"type": {
"kind": "struct",
"fields": [
{
"name": "fee",
"type": "u64"
},
{
"name": "fee_vault",
"type": "pubkey"
}
]
}
},
{
"name": "InitConfigParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "fee",
"type": "u64"
},
{
"name": "fee_vault",
"type": "pubkey"
},
{
"name": "minimum_stake",
"type": "u64"
},
{
"name": "duration_map",
"type": {
"vec": {
"defined": {
"name": "DurationMap"
}
}
}
}
]
}
},
{
"name": "Lockup",
"type": {
"kind": "struct",
"fields": [
{
"name": "stake_info",
"type": {
"defined": {
"name": "StakeInfo"
}
}
},
{
"name": "reward_token",
"type": {
"defined": {
"name": "RewardToken"
}
}
},
{
"name": "staked_token",
"type": {
"defined": {
"name": "StakedToken"
}
}
},
{
"name": "fee_info",
"type": {
"defined": {
"name": "FeeInfo"
}
}
}
]
}
},
{
"name": "LockupInitialized",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "creator",
"type": "pubkey"
},
{
"name": "lockup",
"type": "pubkey"
},
{
"name": "fee_vault",
"type": "pubkey"
},
{
"name": "reward_vault",
"type": "pubkey"
},
{
"name": "duration_map",
"type": {
"vec": {
"defined": {
"name": "DurationMap"
}
}
}
}
]
}
},
{
"name": "RewardToken",
"type": {
"kind": "struct",
"fields": [
{
"name": "token_address",
"type": "pubkey"
}
]
}
},
{
"name": "StakeInfo",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "creator",
"type": "pubkey"
},
{
"name": "minimum_stake",
"type": "u64"
},
{
"name": "duration_map",
"type": {
"vec": {
"defined": {
"name": "DurationMap"
}
}
}
}
]
}
},
{
"name": "StakeParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64"
},
{
"name": "lock_period",
"type": "i64"
},
{
"name": "nonce",
"type": "u64"
}
]
}
},
{
"name": "Staked",
"type": {
"kind": "struct",
"fields": [
{
"name": "staker",
"type": "pubkey"
},
{
"name": "stake_amount",
"type": "u64"
},
{
"name": "nonce",
"type": "u64"
},
{
"name": "lock_period",
"type": "i64"
}
]
}
},
{
"name": "StakedToken",
"type": {
"kind": "struct",
"fields": [
{
"name": "token_address",
"type": "pubkey"
},
{
"name": "total_staked",
"type": "u64"
}
]
}
},
{
"name": "StakerWhitelisted",
"type": {
"kind": "struct",
"fields": [
{
"name": "staker",
"type": "pubkey"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "nonce",
"type": "u64"
},
{
"name": "lock_period",
"type": "i64"
},
{
"name": "claimed",
"type": "bool"
},
{
"name": "created_time",
"type": "i64"
}
]
}
},
{
"name": "Unstaked",
"type": {
"kind": "struct",
"fields": [
{
"name": "staker",
"type": "pubkey"
},
{
"name": "unstake_amount",
"type": "u64"
},
{
"name": "reward_amount",
"type": "u64"
},
{
"name": "lock_period",
"type": "i64"
}
]
}
},
{
"name": "UserNonce",
"type": {
"kind": "struct",
"fields": [
{
"name": "nonce",
"type": "u64"
}
]
}
},
{
"name": "UserStakeData",
"type": {
"kind": "struct",
"fields": [
{
"name": "nonce",
"type": "u64"
},
{
"name": "created_time",
"type": "i64"
},
{
"name": "staked_amount",
"type": "u64"
},
{
"name": "reward_amount",
"type": "u64"
},
{
"name": "stake_claimed",
"type": "bool"
},
{
"name": "lock_period",
"type": "i64"
},
{
"name": "staker",
"type": "pubkey"
},
{
"name": "lockup",
"type": "pubkey"
}
]
}
},
{
"name": "WhitelistStakerParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64"
},
{
"name": "nonce",
"type": "u64"
},
{
"name": "lock_period",
"type": "i64"
},
{
"name": "created_time",
"type": "i64"
},
{
"name": "claimed",
"type": "bool"
}
]
}
}
],
"constants": [
{
"name": "LOCKUP",
"type": "string",
"value": "\"zebec_lockup\""
},
{
"name": "REWARD_VAULT",
"type": "string",
"value": "\"reward_vault\""
},
{
"name": "STAKE_VAULT",
"type": "string",
"value": "\"stake_vault\""
}
]
}