@hyperlane-xyz/core 4.0.0-beta2 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/contracts/interfaces/avs/vendored/IDelegationManager.sol +5 -0
  2. package/contracts/interfaces/isms/IMultisigIsm.sol +1 -0
  3. package/contracts/isms/multisig/AbstractMultisigIsm.sol +4 -1
  4. package/dist/buildArtifact.js +1 -1
  5. package/dist/buildArtifact.json +1 -1
  6. package/dist/contracts/interfaces/avs/vendored/IDelegationManager.d.ts +19 -3
  7. package/dist/contracts/interfaces/avs/vendored/IDelegationManager.d.ts.map +1 -1
  8. package/dist/contracts/test/avs/TestDelegationManager.d.ts +19 -3
  9. package/dist/contracts/test/avs/TestDelegationManager.d.ts.map +1 -1
  10. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.d.ts +1 -1
  11. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.js +1 -1
  12. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.d.ts +1 -1
  13. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.js +1 -1
  14. package/dist/factories/contracts/interfaces/avs/vendored/IDelegationManager__factory.d.ts +15 -0
  15. package/dist/factories/contracts/interfaces/avs/vendored/IDelegationManager__factory.d.ts.map +1 -1
  16. package/dist/factories/contracts/interfaces/avs/vendored/IDelegationManager__factory.js +19 -0
  17. package/dist/factories/contracts/interfaces/avs/vendored/IDelegationManager__factory.js.map +1 -1
  18. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  19. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  20. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  21. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  22. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  23. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  24. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  25. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  26. package/dist/factories/contracts/test/TestRemoteChallenger__factory.d.ts +1 -1
  27. package/dist/factories/contracts/test/TestRemoteChallenger__factory.js +1 -1
  28. package/dist/factories/contracts/test/avs/TestDelegationManager__factory.d.ts +16 -1
  29. package/dist/factories/contracts/test/avs/TestDelegationManager__factory.d.ts.map +1 -1
  30. package/dist/factories/contracts/test/avs/TestDelegationManager__factory.js +20 -1
  31. package/dist/factories/contracts/test/avs/TestDelegationManager__factory.js.map +1 -1
  32. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.d.ts +1 -1
  33. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.js +1 -1
  34. package/package.json +2 -2
@@ -20,6 +20,11 @@ interface IDelegationManager {
20
20
  uint32 stakerOptOutWindowBlocks;
21
21
  }
22
22
 
23
+ event OperatorMetadataURIUpdated(
24
+ address indexed operator,
25
+ string metadataURI
26
+ );
27
+
23
28
  function registerAsOperator(
24
29
  OperatorDetails calldata registeringOperatorDetails,
25
30
  string calldata metadataURI
@@ -8,6 +8,7 @@ interface IMultisigIsm is IInterchainSecurityModule {
8
8
  * @notice Returns the set of validators responsible for verifying _message
9
9
  * and the number of signatures required
10
10
  * @dev Can change based on the content of _message
11
+ * @dev Signatures provided to `verify` must be consistent with validator ordering
11
12
  * @param _message Hyperlane formatted interchain message
12
13
  * @return validators The array of validator addresses
13
14
  * @return threshold The number of validator signatures needed
@@ -26,6 +26,7 @@ abstract contract AbstractMultisigIsm is IMultisigIsm {
26
26
  * @notice Returns the set of validators responsible for verifying _message
27
27
  * and the number of signatures required
28
28
  * @dev Can change based on the content of _message
29
+ * @dev Signatures provided to `verify` must be consistent with validator ordering
29
30
  * @param _message Hyperlane formatted interchain message
30
31
  * @return validators The array of validator addresses
31
32
  * @return threshold The number of validator signatures needed
@@ -60,7 +61,9 @@ abstract contract AbstractMultisigIsm is IMultisigIsm {
60
61
 
61
62
  /**
62
63
  * @notice Requires that m-of-n validators verify a merkle root,
63
- * and verifies a me∑rkle proof of `_message` against that root.
64
+ * and verifies a merkle proof of `_message` against that root.
65
+ * @dev Optimization relies on the caller sorting signatures in the same order as validators.
66
+ * @dev Employs https://www.geeksforgeeks.org/two-pointers-technique/ to minimize gas usage.
64
67
  * @param _metadata ABI encoded module metadata
65
68
  * @param _message Formatted Hyperlane message (see Message.sol).
66
69
  */