Create Config Transaction
Config Transactions are a little more complicated than the other ones, as there are multiple configuration arguments that you can supply to such a transaction. Let's take a look at how this would look like.
Let's set the requirements up
import * as multisig from "@sqds/multisig";
// Cluster Connection
const connection = new Connection( < your rpc url > );
// Fee payer is the a signer that pays the transaction fees
const feePayer = Keypair.generate();
// Derive the multisig PDA
const multisigPda = multisig.getMultisigPda({
// The createKey has to be a Public Key, see accounts reference for more info
createKey,
})[0];
// Derive the PDA of the Squads Vault
const [vaultPda] = multisig.getVaultPda({
multisigPda,
index: 0,
});
const transactionIndex = 1n;
Change the Threshold of the Multisig
await multisig.rpc.configTransactionCreate({
connection,
feePayer: members.proposer,
multisigPda: controlledMultisigPda,
transactionIndex: 1n,
creator: members.proposer.publicKey,
actions: [{
__kind: "ChangeThreshold",
newThreshold: 3
}],
}),
This flow applies to all other actions, see more here.
Last updated