Type alias AtlasStakingIDL

AtlasStakingIDL: {
    accounts: [{
        name: "registeredStake";
        type: {
            fields: [{
                docs: ["The admin for this [`RegisteredStake`]"];
                name: "authority";
                type: "publicKey";
            }, {
                docs: ["Mint address for tokens to be staked"];
                name: "stakeMint";
                type: "publicKey";
            }, {
                docs: ["Mint address for tokens which will be given as reward for staking"];
                name: "rewardMint";
                type: "publicKey";
            }, {
                docs: ["Current staking period"];
                name: "currentPeriod";
                type: "u16";
            }, {
                docs: ["Rate at which reward tokens will be distributed - Tokens in base units per day per REWARD_MULTIPLIER_BASE tokens staked", "Example - reward_multiplier = 228_938", "User will receive 228_938 reward_mint base units per day for every 1_000 stake_mint base units they have staked"];
                name: "rewardMultiplier";
                type: "u64";
            }, {
                docs: ["Amount of time, in seconds, the user must wait before withdrawing their staked tokens"];
                name: "cooldownPeriod";
                type: "u64";
            }, {
                docs: ["Bump seeds for [`RegisteredStake`] account"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "stakingAccount";
        type: {
            fields: [{
                name: "owner";
                type: "publicKey";
            }, {
                name: "registeredStake";
                type: "publicKey";
            }, {
                name: "stakeMint";
                type: "publicKey";
            }, {
                name: "totalStake";
                type: "u64";
            }, {
                name: "activeStake";
                type: "u64";
            }, {
                name: "pendingRewards";
                type: "u64";
            }, {
                name: "paidRewards";
                type: "u64";
            }, {
                name: "currentPeriod";
                type: "u16";
            }, {
                name: "stakedAtTs";
                type: "i64";
            }, {
                name: "lastPendingRewardCalcTs";
                type: "i64";
            }, {
                name: "lastHarvestTs";
                type: "i64";
            }, {
                name: "unstakedTs";
                type: "i64";
            }, {
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "stakingVars";
        type: {
            fields: [{
                docs: ["The authority for the Staking Program"];
                name: "authority";
                type: "publicKey";
            }, {
                docs: ["Bump seed for [StakingVars] account"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }];
    errors: [{
        code: 6000;
        msg: "Invalid Token Mint";
        name: "InvalidMint";
    }, {
        code: 6001;
        msg: "Account now owned by user";
        name: "InvalidOwner";
    }, {
        code: 6002;
        msg: "Insufficient token balance";
        name: "InsufficientFunds";
    }, {
        code: 6003;
        msg: "Invalid authority for this account";
        name: "InvalidAuthority";
    }, {
        code: 6004;
        msg: "Invalid deposit quantity";
        name: "InvalidDepositQty";
    }, {
        code: 6005;
        msg: "Numerical overflow error";
        name: "NumericalOverflowError";
    }, {
        code: 6006;
        msg: "Cannot stake while account is on cooldown";
        name: "StakeOnCooldown";
    }, {
        code: 6007;
        msg: "Invalid escrow authority";
        name: "InvalidEscrowAuth";
    }, {
        code: 6008;
        msg: "Cannot withdraw before cooldown period has elapsed";
        name: "WithdrawOnCooldown";
    }, {
        code: 6009;
        msg: "Staking account must be in the same period as the Registered Stake";
        name: "InvalidPeriod";
    }, {
        code: 6010;
        msg: "Staking account is not on cooldown";
        name: "NotOnCooldown";
    }];
    instructions: [{
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }];
        args: [];
        name: "cancelUnstake";
    }, {
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }, {
            docs: ["The solana system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "createStakingAccount";
    }, {
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["The mint account for the token being awarded"];
            isMut: false;
            isSigner: false;
            name: "rewardMint";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }, {
            docs: ["The user's `RewardMint` token account"];
            isMut: true;
            isSigner: false;
            name: "userRewardAccount";
        }, {
            docs: ["The `RewardPda` associated with the [RegisteredStake]"];
            isMut: true;
            isSigner: false;
            name: "rewardAta";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The rent sysvar"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            docs: ["The associated token program"];
            isMut: false;
            isSigner: false;
            name: "associatedTokenProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "harvest";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "updateAuthorityAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "stakingVarsAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initializeStaking";
    }, {
        accounts: [{
            docs: ["The authority on the [RegisteredStake] account"];
            isMut: true;
            isSigner: true;
            name: "authority";
        }, {
            docs: ["The [StakingVars] account"];
            isMut: false;
            isSigner: false;
            name: "stakingVarsAccount";
        }, {
            docs: ["The mint account for the token being staked"];
            isMut: false;
            isSigner: false;
            name: "stakeMint";
        }, {
            docs: ["The mint account for the token being awarded"];
            isMut: false;
            isSigner: false;
            name: "rewardMint";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: true;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An reward mint vault owned by the program"];
            isMut: true;
            isSigner: false;
            name: "rewardAta";
        }, {
            docs: ["The solana rent sysvar"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            docs: ["The solana system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "associatedTokenProgram";
        }, {
            docs: ["The solana token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "rewardMultiplier";
            type: "u64";
        }, {
            name: "cooldownPeriod";
            type: "u64";
        }];
        name: "registerStake";
    }, {
        accounts: [{
            docs: ["The authority on the [RegisteredStake] account"];
            isMut: true;
            isSigner: true;
            name: "authority";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["A [StakingAccount] for the given user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }];
        args: [{
            name: "updatedStakingPeriod";
            type: "u16";
        }];
        name: "settle";
    }, {
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["The mint account for the token being staked"];
            isMut: false;
            isSigner: false;
            name: "stakeMint";
        }, {
            docs: ["The user's `StakeMint` token account"];
            isMut: true;
            isSigner: false;
            name: "tokenSource";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }, {
            docs: ["A PDA token escrow account associated with the user and [RegisteredStake]"];
            isMut: true;
            isSigner: false;
            name: "tokenEscrow";
        }, {
            docs: ["The rent system var"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The associated token program"];
            isMut: false;
            isSigner: false;
            name: "associatedTokenProgram";
        }, {
            docs: ["The solana system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "stakeAmount";
            type: "u64";
        }];
        name: "stakeTokens";
    }, {
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["The mint account for the token being awarded"];
            isMut: false;
            isSigner: false;
            name: "rewardMint";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }, {
            docs: ["The user's `RewardMint` token account"];
            isMut: true;
            isSigner: false;
            name: "userRewardAccount";
        }, {
            docs: ["The `RewardPda` associated with the [RegisteredStake]"];
            isMut: true;
            isSigner: false;
            name: "rewardAta";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The rent sysvar"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            docs: ["The associated token program"];
            isMut: false;
            isSigner: false;
            name: "associatedTokenProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "unstakeTokens";
    }, {
        accounts: [{
            docs: ["The authority on the [RegisteredStake] account"];
            isMut: true;
            isSigner: true;
            name: "authority";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: true;
            isSigner: false;
            name: "registeredStake";
        }];
        args: [{
            name: "cooldownPeriod";
            type: "u64";
        }];
        name: "updateCooldownPeriod";
    }, {
        accounts: [{
            docs: ["The authority on the [RegisteredStake] account"];
            isMut: true;
            isSigner: true;
            name: "authority";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: true;
            isSigner: false;
            name: "registeredStake";
        }];
        args: [{
            name: "rewardMultiplier";
            type: "u64";
        }, {
            name: "newStakingPeriod";
            type: "u16";
        }];
        name: "updateRewardMultiplier";
    }, {
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["The mint account for the token being staked"];
            isMut: false;
            isSigner: false;
            name: "stakeMint";
        }, {
            docs: ["The user's `StakeMint` token account"];
            isMut: true;
            isSigner: false;
            name: "tokenSource";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }, {
            docs: ["A PDA token escrow account associated with the user and [RegisteredStake]"];
            isMut: true;
            isSigner: false;
            name: "tokenEscrow";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "withdrawTokens";
    }];
    name: "atlas_staking";
    version: "0.1.0";
}

Type declaration

  • accounts: [{
        name: "registeredStake";
        type: {
            fields: [{
                docs: ["The admin for this [`RegisteredStake`]"];
                name: "authority";
                type: "publicKey";
            }, {
                docs: ["Mint address for tokens to be staked"];
                name: "stakeMint";
                type: "publicKey";
            }, {
                docs: ["Mint address for tokens which will be given as reward for staking"];
                name: "rewardMint";
                type: "publicKey";
            }, {
                docs: ["Current staking period"];
                name: "currentPeriod";
                type: "u16";
            }, {
                docs: ["Rate at which reward tokens will be distributed - Tokens in base units per day per REWARD_MULTIPLIER_BASE tokens staked", "Example - reward_multiplier = 228_938", "User will receive 228_938 reward_mint base units per day for every 1_000 stake_mint base units they have staked"];
                name: "rewardMultiplier";
                type: "u64";
            }, {
                docs: ["Amount of time, in seconds, the user must wait before withdrawing their staked tokens"];
                name: "cooldownPeriod";
                type: "u64";
            }, {
                docs: ["Bump seeds for [`RegisteredStake`] account"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "stakingAccount";
        type: {
            fields: [{
                name: "owner";
                type: "publicKey";
            }, {
                name: "registeredStake";
                type: "publicKey";
            }, {
                name: "stakeMint";
                type: "publicKey";
            }, {
                name: "totalStake";
                type: "u64";
            }, {
                name: "activeStake";
                type: "u64";
            }, {
                name: "pendingRewards";
                type: "u64";
            }, {
                name: "paidRewards";
                type: "u64";
            }, {
                name: "currentPeriod";
                type: "u16";
            }, {
                name: "stakedAtTs";
                type: "i64";
            }, {
                name: "lastPendingRewardCalcTs";
                type: "i64";
            }, {
                name: "lastHarvestTs";
                type: "i64";
            }, {
                name: "unstakedTs";
                type: "i64";
            }, {
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "stakingVars";
        type: {
            fields: [{
                docs: ["The authority for the Staking Program"];
                name: "authority";
                type: "publicKey";
            }, {
                docs: ["Bump seed for [StakingVars] account"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }]
  • errors: [{
        code: 6000;
        msg: "Invalid Token Mint";
        name: "InvalidMint";
    }, {
        code: 6001;
        msg: "Account now owned by user";
        name: "InvalidOwner";
    }, {
        code: 6002;
        msg: "Insufficient token balance";
        name: "InsufficientFunds";
    }, {
        code: 6003;
        msg: "Invalid authority for this account";
        name: "InvalidAuthority";
    }, {
        code: 6004;
        msg: "Invalid deposit quantity";
        name: "InvalidDepositQty";
    }, {
        code: 6005;
        msg: "Numerical overflow error";
        name: "NumericalOverflowError";
    }, {
        code: 6006;
        msg: "Cannot stake while account is on cooldown";
        name: "StakeOnCooldown";
    }, {
        code: 6007;
        msg: "Invalid escrow authority";
        name: "InvalidEscrowAuth";
    }, {
        code: 6008;
        msg: "Cannot withdraw before cooldown period has elapsed";
        name: "WithdrawOnCooldown";
    }, {
        code: 6009;
        msg: "Staking account must be in the same period as the Registered Stake";
        name: "InvalidPeriod";
    }, {
        code: 6010;
        msg: "Staking account is not on cooldown";
        name: "NotOnCooldown";
    }]
  • instructions: [{
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }];
        args: [];
        name: "cancelUnstake";
    }, {
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }, {
            docs: ["The solana system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "createStakingAccount";
    }, {
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["The mint account for the token being awarded"];
            isMut: false;
            isSigner: false;
            name: "rewardMint";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }, {
            docs: ["The user's `RewardMint` token account"];
            isMut: true;
            isSigner: false;
            name: "userRewardAccount";
        }, {
            docs: ["The `RewardPda` associated with the [RegisteredStake]"];
            isMut: true;
            isSigner: false;
            name: "rewardAta";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The rent sysvar"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            docs: ["The associated token program"];
            isMut: false;
            isSigner: false;
            name: "associatedTokenProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "harvest";
    }, {
        accounts: [{
            isMut: true;
            isSigner: true;
            name: "updateAuthorityAccount";
        }, {
            isMut: true;
            isSigner: false;
            name: "stakingVarsAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initializeStaking";
    }, {
        accounts: [{
            docs: ["The authority on the [RegisteredStake] account"];
            isMut: true;
            isSigner: true;
            name: "authority";
        }, {
            docs: ["The [StakingVars] account"];
            isMut: false;
            isSigner: false;
            name: "stakingVarsAccount";
        }, {
            docs: ["The mint account for the token being staked"];
            isMut: false;
            isSigner: false;
            name: "stakeMint";
        }, {
            docs: ["The mint account for the token being awarded"];
            isMut: false;
            isSigner: false;
            name: "rewardMint";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: true;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An reward mint vault owned by the program"];
            isMut: true;
            isSigner: false;
            name: "rewardAta";
        }, {
            docs: ["The solana rent sysvar"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            docs: ["The solana system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "associatedTokenProgram";
        }, {
            docs: ["The solana token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "rewardMultiplier";
            type: "u64";
        }, {
            name: "cooldownPeriod";
            type: "u64";
        }];
        name: "registerStake";
    }, {
        accounts: [{
            docs: ["The authority on the [RegisteredStake] account"];
            isMut: true;
            isSigner: true;
            name: "authority";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["A [StakingAccount] for the given user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }];
        args: [{
            name: "updatedStakingPeriod";
            type: "u16";
        }];
        name: "settle";
    }, {
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["The mint account for the token being staked"];
            isMut: false;
            isSigner: false;
            name: "stakeMint";
        }, {
            docs: ["The user's `StakeMint` token account"];
            isMut: true;
            isSigner: false;
            name: "tokenSource";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }, {
            docs: ["A PDA token escrow account associated with the user and [RegisteredStake]"];
            isMut: true;
            isSigner: false;
            name: "tokenEscrow";
        }, {
            docs: ["The rent system var"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The associated token program"];
            isMut: false;
            isSigner: false;
            name: "associatedTokenProgram";
        }, {
            docs: ["The solana system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "stakeAmount";
            type: "u64";
        }];
        name: "stakeTokens";
    }, {
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["The mint account for the token being awarded"];
            isMut: false;
            isSigner: false;
            name: "rewardMint";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }, {
            docs: ["The user's `RewardMint` token account"];
            isMut: true;
            isSigner: false;
            name: "userRewardAccount";
        }, {
            docs: ["The `RewardPda` associated with the [RegisteredStake]"];
            isMut: true;
            isSigner: false;
            name: "rewardAta";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The rent sysvar"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }, {
            docs: ["The associated token program"];
            isMut: false;
            isSigner: false;
            name: "associatedTokenProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "unstakeTokens";
    }, {
        accounts: [{
            docs: ["The authority on the [RegisteredStake] account"];
            isMut: true;
            isSigner: true;
            name: "authority";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: true;
            isSigner: false;
            name: "registeredStake";
        }];
        args: [{
            name: "cooldownPeriod";
            type: "u64";
        }];
        name: "updateCooldownPeriod";
    }, {
        accounts: [{
            docs: ["The authority on the [RegisteredStake] account"];
            isMut: true;
            isSigner: true;
            name: "authority";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: true;
            isSigner: false;
            name: "registeredStake";
        }];
        args: [{
            name: "rewardMultiplier";
            type: "u64";
        }, {
            name: "newStakingPeriod";
            type: "u16";
        }];
        name: "updateRewardMultiplier";
    }, {
        accounts: [{
            docs: ["The user calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "user";
        }, {
            docs: ["The mint account for the token being staked"];
            isMut: false;
            isSigner: false;
            name: "stakeMint";
        }, {
            docs: ["The user's `StakeMint` token account"];
            isMut: true;
            isSigner: false;
            name: "tokenSource";
        }, {
            docs: ["A [RegisteredStake] account"];
            isMut: false;
            isSigner: false;
            name: "registeredStake";
        }, {
            docs: ["An initialized [StakingAccount] owned by the user"];
            isMut: true;
            isSigner: false;
            name: "stakingAccount";
        }, {
            docs: ["A PDA token escrow account associated with the user and [RegisteredStake]"];
            isMut: true;
            isSigner: false;
            name: "tokenEscrow";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "withdrawTokens";
    }]
  • name: "atlas_staking"
  • version: "0.1.0"

Generated using TypeDoc