Permissions
Limit members to certain interactions
import * as multisig from "@sqds/multisig";
import { Connection, Keypair } from "@solana/web3.js";
// Enums
// "Permission" gives single permissions to aggregate in any combination
// "Permissions" provides a method for almighty, and method to aggregate other permissions
const { Permission, Permissions } = multisig.types;
async function main() {
/*
See Instructions -> Create Multisig for full snippet
*/
const ix = await multisig.instructions.multisigCreateV2({
createKey: createKey.publicKey,
creator: creator.publicKey,
multisigPda,
configAuthority: null,
timeLock: 0,
members: [{
key: creator.publicKey,
// Granted Proposer, Voter, and Executor permissions
permissions: Permissions.all(),
},
{
key: secondMember.publicKey,
// Member can only add votes to proposed transactions
permissions: Permissions.fromPermissions([Permission.Vote]),
},
],
threshold: 2,
rentCollector: null
});
}Permission Mappings
Last updated