UNPKG

@saberhq/snapshots

Version:

The TypeScript SDK for the Saber Voting Escrow Snapshot system.

36 lines 1.03 kB
import { newProgramMap } from "@saberhq/anchor-contrib"; import { SolanaAugmentedProvider } from "@saberhq/solana-contrib"; import { SNAPSHOTS_ADDRESSES, SNAPSHOTS_IDLS } from "./constants"; import { SnapshotsWrapper } from "./wrappers"; /** * Snapshots SDK. */ export class SnapshotsSDK { constructor(provider, programs) { this.provider = provider; this.programs = programs; } /** * Creates a new instance of the SDK with the given keypair. */ withSigner(signer) { return SnapshotsSDK.load({ provider: this.provider.withSigner(signer), }); } /** * Loads the SDK. * @returns */ static load({ provider }) { const programs = newProgramMap(provider, SNAPSHOTS_IDLS, SNAPSHOTS_ADDRESSES); return new SnapshotsSDK(new SolanaAugmentedProvider(provider), programs); } /** * Snapshots program helpers. */ get snapshots() { return new SnapshotsWrapper(this); } } //# sourceMappingURL=sdk.js.map