@saberhq/snapshots
Version:
The TypeScript SDK for the Saber Voting Escrow Snapshot system.
51 lines • 1.54 kB
TypeScript
import type { TransactionEnvelope } from "@saberhq/solana-contrib";
import type { PublicKey } from "@solana/web3.js";
import type { EscrowHistoryData, LockerHistoryData, SnapshotsProgram } from "../../programs/snapshots";
import type { SnapshotsSDK } from "../../sdk";
/**
* Handles interacting with the Snapshots program.
*/
export declare class SnapshotsWrapper {
readonly sdk: SnapshotsSDK;
readonly program: SnapshotsProgram;
/**
* Constructor for a {@link SnapshotsWrapper}.
* @param sdk
*/
constructor(sdk: SnapshotsSDK);
get provider(): import("@saberhq/solana-contrib").AugmentedProvider;
fetchLockerHistory(key: PublicKey): Promise<LockerHistoryData | null>;
fetchEscrowHistory(key: PublicKey): Promise<EscrowHistoryData | null>;
/**
* Creates a Locker History.
* @returns
*/
createLockerHistory({ locker, era, }: {
locker: PublicKey;
era: number;
}): Promise<{
lockerHistory: PublicKey;
tx: TransactionEnvelope;
}>;
/**
* Creates an Escrow History.
* @returns
*/
createEscrowHistory({ escrow, era, }: {
escrow: PublicKey;
era: number;
}): Promise<{
escrowHistory: PublicKey;
tx: TransactionEnvelope;
}>;
/**
* Synchronizes an EscrowHistory.
* @returns
*/
sync({ locker, owner, era, }: {
locker: PublicKey;
owner: PublicKey;
era: number;
}): Promise<TransactionEnvelope>;
}
//# sourceMappingURL=snapshots.d.ts.map