Skip to main content

createRemovePolicyInstruction

Builds a raw instruction to remove a Squads instruction constraint policy from the vault. Once removed, the vault’s smart account will no longer be able to execute transactions matching the removed policy. Requires the manager role.

Usage

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

const ix = createRemovePolicyInstruction({
  payer: wallet.publicKey,
  vault: vaultAddress,
  manager: managerPublicKey,
  squadsSettings: squadsSettingsPda,
  squadsSettingsTransaction: squadsSettingsTransactionPda,
  squadsProposal: squadsProposalPda,
  squadsPolicy: squadsPolicyPda,
  squadsProgram: SQUADS_PROGRAM_ID,
  systemProgram: SYSTEM_PROGRAM_ID,
});

Accounts

NameSignerWritableDescription
payerYesYesFee payer for the transaction
vaultNoNoThe Strategy Vault account
managerYesNoThe vault manager authority
squadsSettingsNoYesSquads settings account
squadsSettingsTransactionNoYesSquads settings transaction PDA
squadsProposalNoYesSquads proposal PDA
squadsPolicyNoYesSquads policy PDA to remove
squadsProgramNoNoSquads v4 program
systemProgramNoNoSystem program

Returns

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