UNPKG

@tribecahq/tribeca-sdk

Version:

The TypeScript SDK for Tribeca, an open standard and toolkit for launching DAOs on Solana.

35 lines 1.37 kB
import { Keypair } from "@solana/web3.js"; import { DEFAULT_GOVERNANCE_PARAMETERS, DEFAULT_LOCKER_PARAMS, } from "../../constants"; import { createGovernorWithElectorate } from "../govern/setup"; import { LockerWrapper } from "./locker"; /** * Creates a new Locker. * @returns */ export const createLocker = async ({ sdk, gokiSDK, govTokenMint, owners = [sdk.provider.wallet.publicKey], governanceParameters = DEFAULT_GOVERNANCE_PARAMETERS, lockerParams = DEFAULT_LOCKER_PARAMS, governorBaseKP = Keypair.generate(), lockerBaseKP = Keypair.generate(), smartWalletBaseKP = Keypair.generate(), }) => { const { electorate, ...governor } = await createGovernorWithElectorate({ createElectorate: async (governorKey) => { const { locker, tx: tx1 } = await sdk.createLocker({ ...lockerParams, baseKP: lockerBaseKP, governor: governorKey, govTokenMint, }); return { key: locker, tx: tx1, }; }, sdk, gokiSDK, owners, governanceParameters, govBaseKP: governorBaseKP, smartWalletBaseKP, }); return { ...governor, lockerWrapper: new LockerWrapper(sdk, electorate, governor.governorWrapper.governorKey), }; }; //# sourceMappingURL=setup.js.map