@tribecahq/tribeca-sdk
Version:
The TypeScript SDK for Tribeca, an open standard and toolkit for launching DAOs on Solana.
51 lines • 1.73 kB
TypeScript
import type { BN } from "@project-serum/anchor";
import type { AugmentedProvider, Provider } from "@saberhq/solana-contrib";
import { TransactionEnvelope } from "@saberhq/solana-contrib";
import type { PublicKey, Signer } from "@solana/web3.js";
import { Keypair } from "@solana/web3.js";
import type { TribecaPrograms } from "./constants";
import type { LockerParams } from "./programs/lockedVoter";
import { GovernWrapper } from "./wrappers";
import type { PendingElectorate } from "./wrappers/simpleVoter/types";
/**
* TribecaSDK.
*/
export declare class TribecaSDK {
readonly provider: AugmentedProvider;
readonly programs: TribecaPrograms;
constructor(provider: AugmentedProvider, programs: TribecaPrograms);
/**
* Creates a new instance of the SDK with the given keypair.
*/
withSigner(signer: Signer): TribecaSDK;
/**
* Loads the SDK.
* @returns
*/
static load({ provider }: {
provider: Provider;
}): TribecaSDK;
/**
* Govern program helpers.
*/
get govern(): GovernWrapper;
createSimpleElectorate({ proposalThreshold, governor, govTokenMint, baseKP, }: {
proposalThreshold: BN;
baseKP?: Keypair;
governor: PublicKey;
govTokenMint: PublicKey;
}): Promise<PendingElectorate>;
/**
* Creates a Locker, which is an Electorate that supports vote locking.
* @returns
*/
createLocker({ governor, govTokenMint, baseKP, ...providedLockerParams }: {
baseKP?: Keypair;
governor: PublicKey;
govTokenMint: PublicKey;
} & Partial<LockerParams>): Promise<{
locker: PublicKey;
tx: TransactionEnvelope;
}>;
}
//# sourceMappingURL=sdk.d.ts.map