Skip to main content

Documentation Index

Fetch the complete documentation index at: https://v2-docs.exponent.finance/llms.txt

Use this file to discover all available pages before exploring further.

createProposeActionInstruction

Builds a raw instruction to create a governance proposal for vault settings changes or position updates. Only callable by the manager role. The proposal enters a voting period during which LP holders can vote to reject or opt out.

Usage

import { createProposeActionInstruction } from "@exponent-labs/exponent-sdk/client/vaults";
import { PublicKey, SystemProgram } from "@solana/web3.js";

const ix = createProposeActionInstruction(
  {
    payer: managerKeypair.publicKey,
    manager: managerKeypair.publicKey,
    vault: vaultAddress,
    proposal: proposalAddress,
    systemProgram: SystemProgram.programId,
  },
  {
    proposalId: BigInt(1),
    action: {
      vaultSettingsAction: {
        updateRejectionThresholdBps: 2500,
      },
    },
    votingPeriodSeconds: 86400,
    timelockSeconds: 3600,
  }
);

Accounts

NameSignerWritableDescription
payerYesYesFee payer for the transaction
managerYesNoManager authority of the vault
vaultNoYesVault account the proposal targets
proposalNoYesProposal account to initialize
systemProgramNoNoSystem program

Args

NameTypeDescription
proposalIdu64Sequential proposal ID for the vault
actionProposalActionThe proposed change: VaultSettingsAction or PositionUpdate
votingPeriodSecondsu32 | nullOptional voting period override in seconds
timelockSecondsu32 | nullOptional timelock period override in seconds

Returns

TransactionInstruction — a transaction instruction ready to be added to a transaction.