UNPKG

@tribecahq/tribeca-sdk

Version:

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

39 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createLocker = void 0; const web3_js_1 = require("@solana/web3.js"); const constants_1 = require("../../constants"); const setup_1 = require("../govern/setup"); const locker_1 = require("./locker"); /** * Creates a new Locker. * @returns */ const createLocker = async ({ sdk, gokiSDK, govTokenMint, owners = [sdk.provider.wallet.publicKey], governanceParameters = constants_1.DEFAULT_GOVERNANCE_PARAMETERS, lockerParams = constants_1.DEFAULT_LOCKER_PARAMS, governorBaseKP = web3_js_1.Keypair.generate(), lockerBaseKP = web3_js_1.Keypair.generate(), smartWalletBaseKP = web3_js_1.Keypair.generate(), }) => { const { electorate, ...governor } = await (0, setup_1.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 locker_1.LockerWrapper(sdk, electorate, governor.governorWrapper.governorKey), }; }; exports.createLocker = createLocker; //# sourceMappingURL=setup.js.map