import {
createProposeActionInstruction,
proposalAction,
vaultSettingsAction,
priceId,
} from "@exponent-labs/exponent-sdk/client/vaults";
const ix = createProposeActionInstruction(
{
payer: wallet.publicKey,
manager: wallet.publicKey,
vault: vaultAddress,
proposal: proposalAddress, // PDA derived from vault + proposalId
systemProgram: SystemProgram.programId,
},
{
proposalId: 1n,
action: proposalAction("VaultSettingsAction", [
vaultSettingsAction("AddTokenEntry", [{
mint: newTokenMint,
priceId: priceId("Simple", { priceId: 2n }),
tokenSquadsAccount: tokenSquadsAddr,
forceDeallocatePolicyIds: [],
}]),
]),
votingPeriodSeconds: 86400, // 24 hours
timelockSeconds: 3600, // 1 hour after approval
},
);