@exodus/solana-web3.js
Version:
Solana Javascript API
51 lines (50 loc) • 1.35 kB
TypeScript
/// <reference types="node" />
import type { Buffer } from 'buffer';
import { PublicKey } from './publickey.js';
export declare const VOTE_PROGRAM_ID: PublicKey;
export declare type Lockout = {
slot: number;
confirmationCount: number;
};
/**
* History of how many credits earned by the end of each epoch
*/
export declare type EpochCredits = Readonly<{
epoch: number;
credits: number;
prevCredits: number;
}>;
export declare type AuthorizedVoter = Readonly<{
epoch: number;
authorizedVoter: PublicKey;
}>;
export declare type PriorVoter = Readonly<{
authorizedPubkey: PublicKey;
epochOfLastAuthorizedSwitch: number;
targetEpoch: number;
}>;
export declare type BlockTimestamp = Readonly<{
slot: number;
timestamp: number;
}>;
/**
* VoteAccount class
*/
export declare class VoteAccount {
nodePubkey: PublicKey;
authorizedWithdrawer: PublicKey;
commission: number;
rootSlot: number | null;
votes: Lockout[];
authorizedVoters: AuthorizedVoter[];
priorVoters: PriorVoter[];
epochCredits: EpochCredits[];
lastTimestamp: BlockTimestamp;
/**
* Deserialize VoteAccount from the account data.
*
* @param buffer account data
* @return VoteAccount
*/
static fromAccountData(buffer: Buffer | Uint8Array | Array<number>): VoteAccount;
}