@hyperlane-xyz/core 1.4.1 → 1.4.2

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 (143) hide show
  1. package/docs/book.css +13 -0
  2. package/docs/book.toml +12 -0
  3. package/docs/solidity.min.js +74 -0
  4. package/docs/src/README.md +15 -0
  5. package/docs/src/SUMMARY.md +139 -0
  6. package/docs/src/contracts/GasRouter.sol/abstract.GasRouter.md +124 -0
  7. package/docs/src/contracts/HyperlaneConnectionClient.sol/abstract.HyperlaneConnectionClient.md +191 -0
  8. package/docs/src/contracts/Mailbox.sol/contract.Mailbox.md +251 -0
  9. package/docs/src/contracts/OwnableMulticall.sol/contract.OwnableMulticall.md +41 -0
  10. package/docs/src/contracts/PausableReentrancyGuard.sol/abstract.PausableReentrancyGuardUpgradeable.md +100 -0
  11. package/docs/src/contracts/README.md +19 -0
  12. package/docs/src/contracts/Router.sol/abstract.Router.md +255 -0
  13. package/docs/src/contracts/ValidatorAnnounce.sol/contract.ValidatorAnnounce.md +117 -0
  14. package/docs/src/contracts/hooks/ERC5164/ERC5164MessageHook.sol/contract.ERC5164MessageHook.md +64 -0
  15. package/docs/src/contracts/hooks/ERC5164/README.md +5 -0
  16. package/docs/src/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.sol/interface.IMessageDispatcher.md +25 -0
  17. package/docs/src/contracts/hooks/ERC5164/interfaces/README.md +4 -0
  18. package/docs/src/contracts/hooks/OptimismMessageHook.sol/contract.OptimismMessageHook.md +71 -0
  19. package/docs/src/contracts/hooks/README.md +5 -0
  20. package/docs/src/contracts/igps/InterchainGasPaymaster.sol/contract.InterchainGasPaymaster.md +231 -0
  21. package/docs/src/contracts/igps/OverheadIgp.sol/contract.OverheadIgp.md +161 -0
  22. package/docs/src/contracts/igps/README.md +6 -0
  23. package/docs/src/contracts/igps/gas-oracles/README.md +4 -0
  24. package/docs/src/contracts/igps/gas-oracles/StorageGasOracle.sol/contract.StorageGasOracle.md +114 -0
  25. package/docs/src/contracts/interfaces/IGasOracle.sol/interface.IGasOracle.md +25 -0
  26. package/docs/src/contracts/interfaces/IHyperlaneConnectionClient.sol/interface.IHyperlaneConnectionClient.md +43 -0
  27. package/docs/src/contracts/interfaces/IInterchainGasPaymaster.sol/interface.IInterchainGasPaymaster.md +33 -0
  28. package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.IInterchainSecurityModule.md +55 -0
  29. package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.ISpecifiesInterchainSecurityModule.md +12 -0
  30. package/docs/src/contracts/interfaces/ILiquidityLayerMessageRecipient.sol/interface.ILiquidityLayerMessageRecipient.md +13 -0
  31. package/docs/src/contracts/interfaces/ILiquidityLayerRouter.sol/interface.ILiquidityLayerRouter.md +19 -0
  32. package/docs/src/contracts/interfaces/IMailbox.sol/interface.IMailbox.md +103 -0
  33. package/docs/src/contracts/interfaces/IMessageRecipient.sol/interface.IMessageRecipient.md +12 -0
  34. package/docs/src/contracts/interfaces/IRouter.sol/interface.IRouter.md +33 -0
  35. package/docs/src/contracts/interfaces/IValidatorAnnounce.sol/interface.IValidatorAnnounce.md +78 -0
  36. package/docs/src/contracts/interfaces/README.md +17 -0
  37. package/docs/src/contracts/interfaces/hooks/IMessageHook.sol/interface.IMessageHook.md +12 -0
  38. package/docs/src/contracts/interfaces/hooks/README.md +4 -0
  39. package/docs/src/contracts/interfaces/isms/IAggregationIsm.sol/interface.IAggregationIsm.md +36 -0
  40. package/docs/src/contracts/interfaces/isms/IMultisigIsm.sol/interface.IMultisigIsm.md +36 -0
  41. package/docs/src/contracts/interfaces/isms/IRoutingIsm.sol/interface.IRoutingIsm.md +31 -0
  42. package/docs/src/contracts/interfaces/isms/README.md +6 -0
  43. package/docs/src/contracts/interfaces/middleware/IInterchainAccountRouter.sol/interface.IInterchainAccountRouter.md +64 -0
  44. package/docs/src/contracts/interfaces/middleware/IInterchainQueryRouter.sol/interface.IInterchainQueryRouter.md +21 -0
  45. package/docs/src/contracts/interfaces/middleware/README.md +5 -0
  46. package/docs/src/contracts/isms/README.md +7 -0
  47. package/docs/src/contracts/isms/aggregation/AbstractAggregationIsm.sol/abstract.AbstractAggregationIsm.md +60 -0
  48. package/docs/src/contracts/isms/aggregation/README.md +6 -0
  49. package/docs/src/contracts/isms/aggregation/StaticAggregationIsm.sol/contract.StaticAggregationIsm.md +30 -0
  50. package/docs/src/contracts/isms/aggregation/StaticAggregationIsmFactory.sol/contract.StaticAggregationIsmFactory.md +15 -0
  51. package/docs/src/contracts/isms/hook/AbstractHookISM.sol/abstract.AbstractHookISM.md +44 -0
  52. package/docs/src/contracts/isms/hook/CrossChainEnabled.sol/abstract.CrossChainEnabled.md +74 -0
  53. package/docs/src/contracts/isms/hook/ERC5164ISM.sol/contract.ERC5164ISM.md +57 -0
  54. package/docs/src/contracts/isms/hook/README.md +7 -0
  55. package/docs/src/contracts/isms/hook/optimism/CrossChainEnabledOptimism.sol/abstract.CrossChainEnabledOptimism.md +53 -0
  56. package/docs/src/contracts/isms/hook/optimism/LibOptimism.sol/library.LibOptimism.md +39 -0
  57. package/docs/src/contracts/isms/hook/optimism/OptimismISM.sol/contract.OptimismISM.md +66 -0
  58. package/docs/src/contracts/isms/hook/optimism/README.md +6 -0
  59. package/docs/src/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol/abstract.AbstractMerkleRootMultisigIsm.md +78 -0
  60. package/docs/src/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol/abstract.AbstractMessageIdMultisigIsm.md +69 -0
  61. package/docs/src/contracts/isms/multisig/AbstractMultisigIsm.sol/abstract.AbstractMultisigIsm.md +102 -0
  62. package/docs/src/contracts/isms/multisig/LegacyMultisigIsm.sol/contract.LegacyMultisigIsm.md +355 -0
  63. package/docs/src/contracts/isms/multisig/README.md +12 -0
  64. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/abstract.AbstractMetaProxyMultisigIsm.md +36 -0
  65. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsm.md +11 -0
  66. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsmFactory.md +15 -0
  67. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsm.md +10 -0
  68. package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsmFactory.md +15 -0
  69. package/docs/src/contracts/isms/routing/AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md +55 -0
  70. package/docs/src/contracts/isms/routing/DomainRoutingIsm.sol/contract.DomainRoutingIsm.md +112 -0
  71. package/docs/src/contracts/isms/routing/DomainRoutingIsmFactory.sol/contract.DomainRoutingIsmFactory.md +47 -0
  72. package/docs/src/contracts/isms/routing/InterchainAccountIsm.sol/contract.InterchainAccountIsm.md +44 -0
  73. package/docs/src/contracts/isms/routing/README.md +7 -0
  74. package/docs/src/contracts/libs/Call.sol/library.CallLib.md +124 -0
  75. package/docs/src/contracts/libs/CheckpointLib.sol/library.CheckpointLib.md +61 -0
  76. package/docs/src/contracts/libs/EnumerableMapExtended.sol/library.EnumerableMapExtended.md +63 -0
  77. package/docs/src/contracts/libs/LegacyCheckpointLib.sol/library.LegacyCheckpointLib.md +55 -0
  78. package/docs/src/contracts/libs/Merkle.sol/library.MerkleLib.md +354 -0
  79. package/docs/src/contracts/libs/Message.sol/library.Message.md +304 -0
  80. package/docs/src/contracts/libs/MetaProxy.sol/library.MetaProxy.md +36 -0
  81. package/docs/src/contracts/libs/MinimalProxy.sol/library.MinimalProxy.md +34 -0
  82. package/docs/src/contracts/libs/README.md +16 -0
  83. package/docs/src/contracts/libs/StaticMOfNAddressSetFactory.sol/abstract.StaticMOfNAddressSetFactory.md +123 -0
  84. package/docs/src/contracts/libs/TypeCasts.sol/library.TypeCasts.md +19 -0
  85. package/docs/src/contracts/libs/ValidatorAnnouncements.sol/library.ValidatorAnnouncements.md +31 -0
  86. package/docs/src/contracts/libs/isms/AggregationIsmMetadata.sol/library.AggregationIsmMetadata.md +97 -0
  87. package/docs/src/contracts/libs/isms/LegacyMultisigIsmMetadata.sol/library.LegacyMultisigIsmMetadata.md +296 -0
  88. package/docs/src/contracts/libs/isms/MerkleRootMultisigIsmMetadata.sol/library.MerkleRootMultisigIsmMetadata.md +177 -0
  89. package/docs/src/contracts/libs/isms/MessageIdMultisigIsmMetadata.sol/library.MessageIdMultisigIsmMetadata.md +109 -0
  90. package/docs/src/contracts/libs/isms/README.md +7 -0
  91. package/docs/src/contracts/libs/middleware/InterchainAccountMessage.sol/library.InterchainAccountMessage.md +134 -0
  92. package/docs/src/contracts/libs/middleware/InterchainQueryMessage.sol/library.InterchainQueryMessage.md +203 -0
  93. package/docs/src/contracts/libs/middleware/README.md +5 -0
  94. package/docs/src/contracts/middleware/InterchainAccountRouter.sol/contract.InterchainAccountRouter.md +542 -0
  95. package/docs/src/contracts/middleware/InterchainQueryRouter.sol/contract.InterchainQueryRouter.md +119 -0
  96. package/docs/src/contracts/middleware/README.md +6 -0
  97. package/docs/src/contracts/middleware/liquidity-layer/LiquidityLayerRouter.sol/contract.LiquidityLayerRouter.md +81 -0
  98. package/docs/src/contracts/middleware/liquidity-layer/README.md +6 -0
  99. package/docs/src/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.sol/contract.CircleBridgeAdapter.md +197 -0
  100. package/docs/src/contracts/middleware/liquidity-layer/adapters/PortalAdapter.sol/contract.PortalAdapter.md +189 -0
  101. package/docs/src/contracts/middleware/liquidity-layer/adapters/README.md +5 -0
  102. package/docs/src/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.sol/interface.ILiquidityLayerAdapter.md +23 -0
  103. package/docs/src/contracts/middleware/liquidity-layer/interfaces/README.md +6 -0
  104. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.sol/interface.ICircleMessageTransmitter.md +54 -0
  105. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.sol/interface.ITokenMessenger.md +92 -0
  106. package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/README.md +5 -0
  107. package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.sol/interface.IPortalTokenBridge.md +131 -0
  108. package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/README.md +4 -0
  109. package/docs/src/contracts/mock/MockCircleMessageTransmitter.sol/contract.MockCircleMessageTransmitter.md +58 -0
  110. package/docs/src/contracts/mock/MockCircleTokenMessenger.sol/contract.MockCircleTokenMessenger.md +44 -0
  111. package/docs/src/contracts/mock/MockERC5164.sol/contract.MockMessageDispatcher.md +15 -0
  112. package/docs/src/contracts/mock/MockERC5164.sol/contract.MockMessageExecutor.md +11 -0
  113. package/docs/src/contracts/mock/MockHyperlaneEnvironment.sol/contract.MockHyperlaneEnvironment.md +69 -0
  114. package/docs/src/contracts/mock/MockMailbox.sol/contract.MockMailbox.md +137 -0
  115. package/docs/src/contracts/mock/MockPortalBridge.sol/contract.MockPortalBridge.md +82 -0
  116. package/docs/src/contracts/mock/MockToken.sol/contract.MockToken.md +22 -0
  117. package/docs/src/contracts/mock/README.md +11 -0
  118. package/docs/src/contracts/test/LightTestRecipient.sol/contract.LightTestRecipient.md +15 -0
  119. package/docs/src/contracts/test/README.md +20 -0
  120. package/docs/src/contracts/test/TestGasRouter.sol/contract.TestGasRouter.md +27 -0
  121. package/docs/src/contracts/test/TestHyperlaneConnectionClient.sol/contract.TestHyperlaneConnectionClient.md +29 -0
  122. package/docs/src/contracts/test/TestInterchainGasPaymaster.sol/contract.TestInterchainGasPaymaster.md +30 -0
  123. package/docs/src/contracts/test/TestLegacyMultisigIsm.sol/contract.TestLegacyMultisigIsm.md +15 -0
  124. package/docs/src/contracts/test/TestLiquidityLayerMessageRecipient.sol/contract.TestLiquidityLayerMessageRecipient.md +23 -0
  125. package/docs/src/contracts/test/TestMailbox.sol/contract.TestMailbox.md +29 -0
  126. package/docs/src/contracts/test/TestMerkle.sol/contract.TestMerkle.md +50 -0
  127. package/docs/src/contracts/test/TestMessage.sol/contract.TestMessage.md +68 -0
  128. package/docs/src/contracts/test/TestMultisigIsm.sol/contract.TestMultisigIsm.md +51 -0
  129. package/docs/src/contracts/test/TestQuery.sol/contract.TestQuery.md +45 -0
  130. package/docs/src/contracts/test/TestQuerySender.sol/contract.TestQuerySender.md +128 -0
  131. package/docs/src/contracts/test/TestRecipient.sol/contract.TestRecipient.md +78 -0
  132. package/docs/src/contracts/test/TestRouter.sol/contract.TestRouter.md +63 -0
  133. package/docs/src/contracts/test/TestSendReceiver.sol/contract.TestSendReceiver.md +49 -0
  134. package/docs/src/contracts/test/TestTokenRecipient.sol/contract.TestTokenRecipient.md +80 -0
  135. package/docs/src/contracts/test/bad-recipient/BadRecipient1.sol/contract.BadRecipient1.md +15 -0
  136. package/docs/src/contracts/test/bad-recipient/BadRecipient2.sol/contract.BadRecipient2.md +12 -0
  137. package/docs/src/contracts/test/bad-recipient/BadRecipient3.sol/contract.BadRecipient3.md +15 -0
  138. package/docs/src/contracts/test/bad-recipient/BadRecipient5.sol/contract.BadRecipient5.md +15 -0
  139. package/docs/src/contracts/test/bad-recipient/BadRecipient6.sol/contract.BadRecipient6.md +15 -0
  140. package/docs/src/contracts/test/bad-recipient/README.md +8 -0
  141. package/docs/src/contracts/upgrade/README.md +4 -0
  142. package/docs/src/contracts/upgrade/Versioned.sol/contract.Versioned.md +14 -0
  143. package/package.json +3 -3
@@ -0,0 +1,112 @@
1
+ # DomainRoutingIsm
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/isms/routing/DomainRoutingIsm.sol)
3
+
4
+ **Inherits:**
5
+ [AbstractRoutingIsm](/contracts/isms/routing/AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md), OwnableUpgradeable
6
+
7
+
8
+ ## State Variables
9
+ ### modules
10
+
11
+ ```solidity
12
+ mapping(uint32 => IInterchainSecurityModule) public modules;
13
+ ```
14
+
15
+
16
+ ## Functions
17
+ ### initialize
18
+
19
+
20
+ ```solidity
21
+ function initialize(address _owner) public initializer;
22
+ ```
23
+ **Parameters**
24
+
25
+ |Name|Type|Description|
26
+ |----|----|-----------|
27
+ |`_owner`|`address`|The owner of the contract.|
28
+
29
+
30
+ ### initialize
31
+
32
+ Sets the ISMs to be used for the specified origin domains
33
+
34
+
35
+ ```solidity
36
+ function initialize(address _owner, uint32[] calldata _domains, IInterchainSecurityModule[] calldata _modules)
37
+ public
38
+ initializer;
39
+ ```
40
+ **Parameters**
41
+
42
+ |Name|Type|Description|
43
+ |----|----|-----------|
44
+ |`_owner`|`address`|The owner of the contract.|
45
+ |`_domains`|`uint32[]`|The origin domains|
46
+ |`_modules`|`IInterchainSecurityModule[]`|The ISMs to use to verify messages|
47
+
48
+
49
+ ### set
50
+
51
+ Sets the ISM to be used for the specified origin domain
52
+
53
+
54
+ ```solidity
55
+ function set(uint32 _domain, IInterchainSecurityModule _module) external onlyOwner;
56
+ ```
57
+ **Parameters**
58
+
59
+ |Name|Type|Description|
60
+ |----|----|-----------|
61
+ |`_domain`|`uint32`|The origin domain|
62
+ |`_module`|`IInterchainSecurityModule`|The ISM to use to verify messages|
63
+
64
+
65
+ ### route
66
+
67
+ Returns the ISM responsible for verifying _message
68
+
69
+ *Can change based on the content of _message*
70
+
71
+
72
+ ```solidity
73
+ function route(bytes calldata _message) public view virtual override returns (IInterchainSecurityModule);
74
+ ```
75
+ **Parameters**
76
+
77
+ |Name|Type|Description|
78
+ |----|----|-----------|
79
+ |`_message`|`bytes`|Formatted Hyperlane message (see Message.sol).|
80
+
81
+ **Returns**
82
+
83
+ |Name|Type|Description|
84
+ |----|----|-----------|
85
+ |`<none>`|`IInterchainSecurityModule`|module The ISM to use to verify _message|
86
+
87
+
88
+ ### _set
89
+
90
+ Sets the ISM to be used for the specified origin domain
91
+
92
+
93
+ ```solidity
94
+ function _set(uint32 _domain, IInterchainSecurityModule _module) internal;
95
+ ```
96
+ **Parameters**
97
+
98
+ |Name|Type|Description|
99
+ |----|----|-----------|
100
+ |`_domain`|`uint32`|The origin domain|
101
+ |`_module`|`IInterchainSecurityModule`|The ISM to use to verify messages|
102
+
103
+
104
+ ## Events
105
+ ### ModuleSet
106
+ Emitted when a module is set for a domain
107
+
108
+
109
+ ```solidity
110
+ event ModuleSet(uint32 indexed domain, IInterchainSecurityModule module);
111
+ ```
112
+
@@ -0,0 +1,47 @@
1
+ # DomainRoutingIsmFactory
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/isms/routing/DomainRoutingIsmFactory.sol)
3
+
4
+
5
+ ## State Variables
6
+ ### _implementation
7
+
8
+ ```solidity
9
+ address private immutable _implementation;
10
+ ```
11
+
12
+
13
+ ## Functions
14
+ ### constructor
15
+
16
+
17
+ ```solidity
18
+ constructor();
19
+ ```
20
+
21
+ ### deploy
22
+
23
+ Deploys and initializes a DomainRoutingIsm using a minimal proxy
24
+
25
+
26
+ ```solidity
27
+ function deploy(uint32[] calldata _domains, IInterchainSecurityModule[] calldata _modules)
28
+ external
29
+ returns (DomainRoutingIsm);
30
+ ```
31
+ **Parameters**
32
+
33
+ |Name|Type|Description|
34
+ |----|----|-----------|
35
+ |`_domains`|`uint32[]`|The origin domains|
36
+ |`_modules`|`IInterchainSecurityModule[]`|The ISMs to use to verify messages|
37
+
38
+
39
+ ## Events
40
+ ### ModuleDeployed
41
+ Emitted when a routing module is deployed
42
+
43
+
44
+ ```solidity
45
+ event ModuleDeployed(DomainRoutingIsm module);
46
+ ```
47
+
@@ -0,0 +1,44 @@
1
+ # InterchainAccountIsm
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/isms/routing/InterchainAccountIsm.sol)
3
+
4
+ **Inherits:**
5
+ [AbstractRoutingIsm](/contracts/isms/routing/AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md)
6
+
7
+
8
+ ## State Variables
9
+ ### mailbox
10
+
11
+ ```solidity
12
+ IMailbox private immutable mailbox;
13
+ ```
14
+
15
+
16
+ ## Functions
17
+ ### constructor
18
+
19
+
20
+ ```solidity
21
+ constructor(address _mailbox);
22
+ ```
23
+
24
+ ### route
25
+
26
+ Returns the ISM responsible for verifying _message
27
+
28
+
29
+ ```solidity
30
+ function route(bytes calldata _message) public view virtual override returns (IInterchainSecurityModule);
31
+ ```
32
+ **Parameters**
33
+
34
+ |Name|Type|Description|
35
+ |----|----|-----------|
36
+ |`_message`|`bytes`|Formatted Hyperlane message (see Message.sol).|
37
+
38
+ **Returns**
39
+
40
+ |Name|Type|Description|
41
+ |----|----|-----------|
42
+ |`<none>`|`IInterchainSecurityModule`|module The ISM to use to verify _message|
43
+
44
+
@@ -0,0 +1,7 @@
1
+
2
+
3
+ # Contents
4
+ - [AbstractRoutingIsm](AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md)
5
+ - [DomainRoutingIsm](DomainRoutingIsm.sol/contract.DomainRoutingIsm.md)
6
+ - [DomainRoutingIsmFactory](DomainRoutingIsmFactory.sol/contract.DomainRoutingIsmFactory.md)
7
+ - [InterchainAccountIsm](InterchainAccountIsm.sol/contract.InterchainAccountIsm.md)
@@ -0,0 +1,124 @@
1
+ # CallLib
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/Call.sol)
3
+
4
+
5
+ ## Functions
6
+ ### call
7
+
8
+
9
+ ```solidity
10
+ function call(Call memory _call) internal returns (bytes memory returnData);
11
+ ```
12
+
13
+ ### staticcall
14
+
15
+
16
+ ```solidity
17
+ function staticcall(StaticCall memory _call) private view returns (bytes memory);
18
+ ```
19
+
20
+ ### staticcall
21
+
22
+
23
+ ```solidity
24
+ function staticcall(StaticCallWithCallback memory _call) internal view returns (bytes memory callback);
25
+ ```
26
+
27
+ ### multicall
28
+
29
+
30
+ ```solidity
31
+ function multicall(Call[] memory calls) internal;
32
+ ```
33
+
34
+ ### multistaticcall
35
+
36
+
37
+ ```solidity
38
+ function multistaticcall(StaticCallWithCallback[] memory _calls) internal view returns (bytes[] memory);
39
+ ```
40
+
41
+ ### multicallto
42
+
43
+
44
+ ```solidity
45
+ function multicallto(address to, bytes[] memory calls) internal;
46
+ ```
47
+
48
+ ### build
49
+
50
+
51
+ ```solidity
52
+ function build(bytes32 to, bytes memory data) internal pure returns (StaticCall memory);
53
+ ```
54
+
55
+ ### build
56
+
57
+
58
+ ```solidity
59
+ function build(address to, bytes memory data) internal pure returns (StaticCall memory);
60
+ ```
61
+
62
+ ### build
63
+
64
+
65
+ ```solidity
66
+ function build(bytes32 to, uint256 value, bytes memory data) internal pure returns (Call memory);
67
+ ```
68
+
69
+ ### build
70
+
71
+
72
+ ```solidity
73
+ function build(address to, uint256 value, bytes memory data) internal pure returns (Call memory);
74
+ ```
75
+
76
+ ### build
77
+
78
+
79
+ ```solidity
80
+ function build(bytes32 to, bytes memory data, bytes memory callback)
81
+ internal
82
+ pure
83
+ returns (StaticCallWithCallback memory);
84
+ ```
85
+
86
+ ### build
87
+
88
+
89
+ ```solidity
90
+ function build(address to, bytes memory data, bytes memory callback)
91
+ internal
92
+ pure
93
+ returns (StaticCallWithCallback memory);
94
+ ```
95
+
96
+ ## Structs
97
+ ### StaticCall
98
+
99
+ ```solidity
100
+ struct StaticCall {
101
+ bytes32 to;
102
+ bytes data;
103
+ }
104
+ ```
105
+
106
+ ### Call
107
+
108
+ ```solidity
109
+ struct Call {
110
+ bytes32 to;
111
+ uint256 value;
112
+ bytes data;
113
+ }
114
+ ```
115
+
116
+ ### StaticCallWithCallback
117
+
118
+ ```solidity
119
+ struct StaticCallWithCallback {
120
+ StaticCall _call;
121
+ bytes callback;
122
+ }
123
+ ```
124
+
@@ -0,0 +1,61 @@
1
+ # CheckpointLib
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/CheckpointLib.sol)
3
+
4
+
5
+ ## Functions
6
+ ### digest
7
+
8
+ Returns the digest validators are expected to sign when signing checkpoints.
9
+
10
+ *Message ID must match leaf content of checkpoint root at index.*
11
+
12
+
13
+ ```solidity
14
+ function digest(
15
+ uint32 _origin,
16
+ bytes32 _originMailbox,
17
+ bytes32 _checkpointRoot,
18
+ uint32 _checkpointIndex,
19
+ bytes32 _messageId
20
+ ) internal pure returns (bytes32);
21
+ ```
22
+ **Parameters**
23
+
24
+ |Name|Type|Description|
25
+ |----|----|-----------|
26
+ |`_origin`|`uint32`|The origin domain of the checkpoint.|
27
+ |`_originMailbox`|`bytes32`|The address of the origin mailbox as bytes32.|
28
+ |`_checkpointRoot`|`bytes32`|The root of the checkpoint.|
29
+ |`_checkpointIndex`|`uint32`|The index of the checkpoint.|
30
+ |`_messageId`|`bytes32`|The message ID of the checkpoint.|
31
+
32
+ **Returns**
33
+
34
+ |Name|Type|Description|
35
+ |----|----|-----------|
36
+ |`<none>`|`bytes32`|The digest of the checkpoint.|
37
+
38
+
39
+ ### domainHash
40
+
41
+ Returns the domain hash that validators are expected to use
42
+ when signing checkpoints.
43
+
44
+
45
+ ```solidity
46
+ function domainHash(uint32 _origin, bytes32 _originMailbox) internal pure returns (bytes32);
47
+ ```
48
+ **Parameters**
49
+
50
+ |Name|Type|Description|
51
+ |----|----|-----------|
52
+ |`_origin`|`uint32`|The origin domain of the checkpoint.|
53
+ |`_originMailbox`|`bytes32`|The address of the origin mailbox as bytes32.|
54
+
55
+ **Returns**
56
+
57
+ |Name|Type|Description|
58
+ |----|----|-----------|
59
+ |`<none>`|`bytes32`|The domain hash.|
60
+
61
+
@@ -0,0 +1,63 @@
1
+ # EnumerableMapExtended
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/EnumerableMapExtended.sol)
3
+
4
+
5
+ ## Functions
6
+ ### keys
7
+
8
+
9
+ ```solidity
10
+ function keys(UintToBytes32Map storage map) internal view returns (bytes32[] storage);
11
+ ```
12
+
13
+ ### set
14
+
15
+
16
+ ```solidity
17
+ function set(UintToBytes32Map storage map, uint256 key, bytes32 value) internal;
18
+ ```
19
+
20
+ ### get
21
+
22
+
23
+ ```solidity
24
+ function get(UintToBytes32Map storage map, uint256 key) internal view returns (bytes32);
25
+ ```
26
+
27
+ ### remove
28
+
29
+
30
+ ```solidity
31
+ function remove(UintToBytes32Map storage map, uint256 key) internal returns (bool);
32
+ ```
33
+
34
+ ### contains
35
+
36
+
37
+ ```solidity
38
+ function contains(UintToBytes32Map storage map, uint256 key) internal view returns (bool);
39
+ ```
40
+
41
+ ### length
42
+
43
+
44
+ ```solidity
45
+ function length(UintToBytes32Map storage map) internal view returns (uint256);
46
+ ```
47
+
48
+ ### at
49
+
50
+
51
+ ```solidity
52
+ function at(UintToBytes32Map storage map, uint256 index) internal view returns (uint256, bytes32);
53
+ ```
54
+
55
+ ## Structs
56
+ ### UintToBytes32Map
57
+
58
+ ```solidity
59
+ struct UintToBytes32Map {
60
+ EnumerableMap.Bytes32ToBytes32Map _inner;
61
+ }
62
+ ```
63
+
@@ -0,0 +1,55 @@
1
+ # LegacyCheckpointLib
2
+ [Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/LegacyCheckpointLib.sol)
3
+
4
+
5
+ ## Functions
6
+ ### digest
7
+
8
+ Returns the digest validators are expected to sign when signing legacy checkpoints.
9
+
10
+
11
+ ```solidity
12
+ function digest(uint32 _origin, bytes32 _originMailbox, bytes32 _checkpointRoot, uint32 _checkpointIndex)
13
+ internal
14
+ pure
15
+ returns (bytes32);
16
+ ```
17
+ **Parameters**
18
+
19
+ |Name|Type|Description|
20
+ |----|----|-----------|
21
+ |`_origin`|`uint32`|The origin domain of the checkpoint.|
22
+ |`_originMailbox`|`bytes32`|The address of the origin mailbox as bytes32.|
23
+ |`_checkpointRoot`|`bytes32`||
24
+ |`_checkpointIndex`|`uint32`||
25
+
26
+ **Returns**
27
+
28
+ |Name|Type|Description|
29
+ |----|----|-----------|
30
+ |`<none>`|`bytes32`|The digest of the legacy checkpoint.|
31
+
32
+
33
+ ### domainHash
34
+
35
+ Returns the domain hash that validators are expected to use
36
+ when signing checkpoints.
37
+
38
+
39
+ ```solidity
40
+ function domainHash(uint32 _origin, bytes32 _originMailbox) internal pure returns (bytes32);
41
+ ```
42
+ **Parameters**
43
+
44
+ |Name|Type|Description|
45
+ |----|----|-----------|
46
+ |`_origin`|`uint32`|The origin domain of the checkpoint.|
47
+ |`_originMailbox`|`bytes32`|The address of the origin mailbox as bytes32.|
48
+
49
+ **Returns**
50
+
51
+ |Name|Type|Description|
52
+ |----|----|-----------|
53
+ |`<none>`|`bytes32`|The domain hash.|
54
+
55
+