Remove Members
Remove Members from the Multisig Plugin
Removes a list of addresses from the Multisig plugin of a given DAO so they are no longer able to vote on Multisig proposals for that DAO.
Caveats
This action is usually paired with updatePluginSettingsAction
to update the minimum approvals required for a multisig proposal to pass.
In the case of removing addresses the order in which you execute actions matter, so if you are removing members and updating the plugin setting make sure that the order of the actions is first the updatePluginSettingsAction
and then the removeAddressesAction
.
If this is not done correctly the transaction may fail and in the worst case brick the DAO.
Encoding
import { RemoveAddressesParams } from "@aragon/sdk-client";
import { DaoAction } from "@aragon/sdk-client-common";
import { multisigClient } from "./index";
// List of members to remove from the multisig plugin.
const members: string[] = [
"0x1357924680135792468013579246801357924680",
"0x2468013579246801357924680135792468013579",
"0x0987654321098765432109876543210987654321",
];
const removeAddressesParams: RemoveAddressesParams = {
members,
pluginAddress: "0x0987654321098765432109876543210987654321", // the address of the Multisig plugin contract installed in the DAO
};
// Removes the addresses from the Multisig plugin of a DAO.
const action: DaoAction = multisigClient.encoding.removeAddressesAction(
removeAddressesParams,
);
console.log({ action });
Returns:
{ action:
{
to: "0x1234567890...",
value: 0n,
data: Uint8Array[12,34,45...]
}
}
Decoding
// Decodes the parameters of the remove members action from the Multisig plugin.
const decodedParams: string[] = multisigClient.decoding.removeAddressesAction(
action.data,
);
console.log({ decodedParams });
Returns:
{ decodedParams:
[
"0x12345...",
"0x56789...",
"0x13579..."
]
}