MultisigISM is one of the most commonly used ISM types. These ISMs verify that m of n Validators have attested to the validity of a particular interchain message.
Multisig Module Types
There are two types ofMultisigISM modules:
MerkleRootMultisigIsmMetadata
Type:Types.MERKLE_ROOT_MULTISIG
Format of metadata:
MessageIdMultisigIsmMetadata
Type:Types.MESSAGE_ID_MULTISIG
Format of metadata:
Interface
MultisigISMs must implement the IMultisigIsm interface.
Configure
The hyperlane-monorepo containsMultisigISM implementations (including a legacy version and more gas-efficient versions deployable via factories) that application developers can deploy off-the-shelf, specifying their desired configuration.
To configure a MultisigISM instance:
- Developers define the set of
nValidators on each origin chain. - A threshold is set, specifying the number (
m) of Validator signatures required to confirm a message.
MultisigISM to use any validator that’s running on Hyperlane.
Customize
For more specific use cases, developers can fork the abstractMultisigISM implementation provided in the Hyperlane monorepo. The primary customization involves implementing the validatorsAndThreshold() function.
Custom implementations allow developers to adjust the security model to meet the needs of their application. For example, a custom implementation could vary the number of signatures required, based on the content of the message being verified.