@terminusbet/stake-vote-sdk
Version:
A simple SDK for interacting with terminusbet governance
68 lines • 5.78 kB
TypeScript
import { BN, Program, Provider } from "@coral-xyz/anchor";
import { Commitment, Finality, Keypair, PublicKey, Transaction } from "@solana/web3.js";
import { PriorityFee, TransactionResult } from "./types";
import { UserStakeVoteState, UserVoteState, StakeState, StakePoolState, UserRewardState, VoteRewardState, BallotBotState, UserActiveBallotBoxState, ActiveBallotBoxState } from "./state";
import { StakeVote } from "./idl";
export declare class StakeVoteSDK {
program: Program<StakeVote>;
constructor(provider: Provider);
stake(user: Keypair, stakePoolState: PublicKey, amount: BN, priorityFees?: PriorityFee, commitment?: Commitment, finality?: Finality): Promise<TransactionResult>;
stakeAdd(user: Keypair, stakePoolState: PublicKey, amount: BN, addType: number, priorityFees?: PriorityFee, commitment?: Commitment, finality?: Finality): Promise<TransactionResult>;
stakeWithdraw(user: Keypair, stakePoolState: PublicKey, amount: BN, priorityFees?: PriorityFee, commitment?: Commitment, finality?: Finality): Promise<TransactionResult>;
vote(user: Keypair, ballotBoxState: PublicKey, amount: bigint, slippage: bigint, priorityFees?: PriorityFee, commitment?: Commitment, finality?: Finality): Promise<TransactionResult>;
voteWhole(user: Keypair, ballotBoxState: PublicKey, priorityFees?: PriorityFee, commitment?: Commitment, finality?: Finality): Promise<TransactionResult>;
rewardReceive(user: Keypair, rewardUseBallotBox: PublicKey, priorityFees?: PriorityFee, commitment?: Commitment, finality?: Finality): Promise<TransactionResult>;
lockedAmount(user: PublicKey, stakePoolState: PublicKey): Promise<BN>;
getStakeTransactions(user: PublicKey, stakePoolState: PublicKey, amount: BN): Promise<Transaction>;
getStakeAddTransactions(user: PublicKey, stakePoolState: PublicKey, amount: BN, addType: number): Promise<Transaction>;
getStakeWithdrawTransactions(user: PublicKey, stakePoolState: PublicKey, amount: BN): Promise<Transaction>;
getVoteTransactions(user: PublicKey, ballotBoxState: PublicKey, stakePoolState: PublicKey, amount: BN, minAmount: BN, isWhole: boolean): Promise<Transaction>;
getAutoVoteTransactions(user: PublicKey, ballotBoxState: PublicKey, amount: bigint, slippage?: bigint): Promise<Transaction>;
getAutoWholeVoteTransactions(user: PublicKey, ballotBoxState: PublicKey): Promise<Transaction>;
getRewardReceiveTransactions(user: PublicKey, rewardUseBallotBox: PublicKey): Promise<Transaction>;
getBatchRewardReceiveTransactions(user: PublicKey, rewardUseBallotBoxs: PublicKey[]): Promise<Transaction>;
getStakePoolStates(): Promise<import("@coral-xyz/anchor").ProgramAccount<{
stakePeriod: BN;
rewardGrowBy: BN;
growReduceBy: BN;
decimal: number;
rewardGrowMinBy: BN;
}>[]>;
getUserVouchersByPool(stakePoolState: PublicKey, user: PublicKey): Promise<{
voteLeft: bigint;
userStakeVoteState: null;
} | {
voteLeft: bigint;
userStakeVoteState: UserStakeVoteState;
}>;
getUserVouchers(user: PublicKey): Promise<{
userVouchers: bigint;
decimal: number;
}>;
getUserRewards(ballotBoxState: PublicKey, user: PublicKey): Promise<{
userRewards: bigint;
rewardMint: PublicKey;
}>;
simulateAddStakeAmount(payer: PublicKey, user: PublicKey, stakePoolState: PublicKey, amount: BN): Promise<import("@solana/web3.js").RpcResponseAndContext<import("@solana/web3.js").SimulatedTransactionResponse>>;
simulateGetCurrentVoteByAmount(payer: PublicKey, user: PublicKey, stakePoolState: PublicKey, amount: BN, minAmount: BN): Promise<import("@solana/web3.js").RpcResponseAndContext<import("@solana/web3.js").SimulatedTransactionResponse>>;
simulateAddStakeTime(payer: PublicKey, user: PublicKey, stakePoolState: PublicKey, peroid: BN): Promise<import("@solana/web3.js").RpcResponseAndContext<import("@solana/web3.js").SimulatedTransactionResponse>>;
simulateStakeRelease(payer: PublicKey, user: PublicKey, stakePoolState: PublicKey): Promise<import("@solana/web3.js").RpcResponseAndContext<import("@solana/web3.js").SimulatedTransactionResponse>>;
getStakePoolStateAccount(stakePoolState: PublicKey): Promise<StakePoolState | null>;
getUserVoteStateAccount(ballotBoxState: PublicKey, user: PublicKey, commitment?: Commitment): Promise<UserVoteState | null>;
getUserStakeVoteStateAccount(stakePoolState: PublicKey, user: PublicKey, commitment?: Commitment): Promise<UserStakeVoteState | null>;
getStakeStateAccount(commitment?: Commitment): Promise<StakeState | null>;
getUserRewardStateAccount(ballotBoxState: PublicKey, user: PublicKey, commitment?: Commitment): Promise<UserRewardState | null>;
getVoteRewardStateAccount(ballotBoxState: PublicKey, commitment?: Commitment): Promise<VoteRewardState | null>;
getBallotBotStateAccount(ballotBot: PublicKey, commitment?: Commitment): Promise<BallotBotState | null>;
getUserActiveBallotBoxStateAccount(stakePoolState: PublicKey, user: PublicKey, commitment?: Commitment): Promise<UserActiveBallotBoxState | null>;
getActiveBallotBoxStateAccount(commitment?: Commitment): Promise<ActiveBallotBoxState | null>;
getConfigStatePDA(): PublicKey;
getStakeStatePDA(): PublicKey;
getUserStakeVoteStatePDA(stakePoolState: PublicKey, user: PublicKey): PublicKey;
getUserVoteStatePDA(ballotBoxState: PublicKey, user: PublicKey): PublicKey;
getVoteRewardStatePDA(ballotBoxState: PublicKey): PublicKey;
getUserRewardStatePDA(ballotBoxState: PublicKey, user: PublicKey): PublicKey;
getUserActiveBallotBoxStatePDA(stakePoolState: PublicKey, user: PublicKey): PublicKey;
getActiveBallotBoxStatePDA(): PublicKey;
}
//# sourceMappingURL=stakeVote.d.ts.map