@saberhq/snapshots
Version:
The TypeScript SDK for the Saber Voting Escrow Snapshot system.
40 lines • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SnapshotsSDK = void 0;
const anchor_contrib_1 = require("@saberhq/anchor-contrib");
const solana_contrib_1 = require("@saberhq/solana-contrib");
const constants_1 = require("./constants");
const wrappers_1 = require("./wrappers");
/**
* Snapshots SDK.
*/
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 = (0, anchor_contrib_1.newProgramMap)(provider, constants_1.SNAPSHOTS_IDLS, constants_1.SNAPSHOTS_ADDRESSES);
return new SnapshotsSDK(new solana_contrib_1.SolanaAugmentedProvider(provider), programs);
}
/**
* Snapshots program helpers.
*/
get snapshots() {
return new wrappers_1.SnapshotsWrapper(this);
}
}
exports.SnapshotsSDK = SnapshotsSDK;
//# sourceMappingURL=sdk.js.map