The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hyperlane-monorepo/solidity/contracts/interfaces/isms/IWeightedMultisigIsm.sol

40 lines
1.2 KiB

// SPDX-License-Identifier: MIT OR Apache-2.0
pragma solidity >=0.6.11;
/*@@@@@@@ @@@@@@@@@
@@@@@@@@@ @@@@@@@@@
@@@@@@@@@ @@@@@@@@@
@@@@@@@@@ @@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@ HYPERLANE @@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@ @@@@@@@@@
@@@@@@@@@ @@@@@@@@@
@@@@@@@@@ @@@@@@@@@
@@@@@@@@@ @@@@@@@@*/
import {IInterchainSecurityModule} from "../IInterchainSecurityModule.sol";
interface IStaticWeightedMultisigIsm is IInterchainSecurityModule {
// ============ Structs ============
// ValidatorInfo contains the signing address and weight of a validator
struct ValidatorInfo {
address signingAddress;
uint96 weight;
}
/**
* @notice Returns the validators and threshold weight for this ISM.
* @param _message The message to be verified
* @return validators The validators and their weights
* @return thresholdWeight The threshold weight required to pass verification
*/
function validatorsAndThresholdWeight(
bytes calldata _message
)
external
view
returns (ValidatorInfo[] memory validators, uint96 thresholdWeight);
}