-
Notifications
You must be signed in to change notification settings - Fork 31
Multisig Manager For Vaults
The manager of a Vault is the ultimate owner of the Vault. They are allowed to update parameters of the vault (fee rates, deposit caps, trading delegate, etc.), as well as collect management and performance fees from the Vault. The manager is assigned as the signer of the transaction that originally creates the vault, and can be updated with the update_vault_manager instruction (must be signed by current manager).
For a new vault, a multisig can be set as the manager at inception by including the --dump-transaction-message flag and sending the transaction from the multisig directly.
yarn cli init-vault \
--name="multisig test 1" \
--market-index=0 \
--redeem-period=300 \
--profit-share=0.1 \
--min-deposit-amount=100 \
--manager=<MULTISIG_ADDRESS> \
--dump-transaction-messageWhich will output a base 58 blob that you can initialize a Squads transaction with.
For an existing vault, you can assign a Multisig (Squads) wallet as the manager of a vault by updating the manager of the vault:
yarn cli manager-update-vault-manager --vault-address=<VAULT_ADDRESS> --new-manager=<NEW_MANAGER_ADDRESS>The CLI is configured to set the manager as the fee payer (multisig), so you will need to top up your Squads wallet with a bit of SOL otherwise transactions will fail.
Manager commands (yarn cli manager-*) may be called with the --dump-transaction-message flag to output the base58 transaction for Squads. With the base 58 transaction blob, you can generate a transaction in squads in Developers > TX Builder > Create Transaction > Add Instruction > Import from base58.
The initialized transaction can be seen under Transactions. Which needs to be approved and executed by multisig signers.
Below are some example multisig transactions on devnet: