@hyperlane-xyz/core 1.4.0 → 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.
- package/contracts/interfaces/IInterchainSecurityModule.sol +2 -2
- package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/Mailbox__factory.js +1 -1
- package/dist/factories/contracts/ValidatorAnnounce__factory.d.ts +1 -1
- package/dist/factories/contracts/ValidatorAnnounce__factory.js +1 -1
- package/dist/factories/contracts/hooks/ERC5164/ERC5164MessageHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/ERC5164/ERC5164MessageHook__factory.js +1 -1
- package/dist/factories/contracts/hooks/OptimismMessageHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/OptimismMessageHook__factory.js +1 -1
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164ISM__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164ISM__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/optimism/OptimismISM__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/optimism/OptimismISM__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/LegacyMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
- package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestHyperlaneConnectionClient__factory.js +1 -1
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestLegacyMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
- package/dist/factories/contracts/test/TestMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
- package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
- package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
- package/docs/book.css +13 -0
- package/docs/book.toml +12 -0
- package/docs/solidity.min.js +74 -0
- package/docs/src/README.md +15 -0
- package/docs/src/SUMMARY.md +139 -0
- package/docs/src/contracts/GasRouter.sol/abstract.GasRouter.md +124 -0
- package/docs/src/contracts/HyperlaneConnectionClient.sol/abstract.HyperlaneConnectionClient.md +191 -0
- package/docs/src/contracts/Mailbox.sol/contract.Mailbox.md +251 -0
- package/docs/src/contracts/OwnableMulticall.sol/contract.OwnableMulticall.md +41 -0
- package/docs/src/contracts/PausableReentrancyGuard.sol/abstract.PausableReentrancyGuardUpgradeable.md +100 -0
- package/docs/src/contracts/README.md +19 -0
- package/docs/src/contracts/Router.sol/abstract.Router.md +255 -0
- package/docs/src/contracts/ValidatorAnnounce.sol/contract.ValidatorAnnounce.md +117 -0
- package/docs/src/contracts/hooks/ERC5164/ERC5164MessageHook.sol/contract.ERC5164MessageHook.md +64 -0
- package/docs/src/contracts/hooks/ERC5164/README.md +5 -0
- package/docs/src/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.sol/interface.IMessageDispatcher.md +25 -0
- package/docs/src/contracts/hooks/ERC5164/interfaces/README.md +4 -0
- package/docs/src/contracts/hooks/OptimismMessageHook.sol/contract.OptimismMessageHook.md +71 -0
- package/docs/src/contracts/hooks/README.md +5 -0
- package/docs/src/contracts/igps/InterchainGasPaymaster.sol/contract.InterchainGasPaymaster.md +231 -0
- package/docs/src/contracts/igps/OverheadIgp.sol/contract.OverheadIgp.md +161 -0
- package/docs/src/contracts/igps/README.md +6 -0
- package/docs/src/contracts/igps/gas-oracles/README.md +4 -0
- package/docs/src/contracts/igps/gas-oracles/StorageGasOracle.sol/contract.StorageGasOracle.md +114 -0
- package/docs/src/contracts/interfaces/IGasOracle.sol/interface.IGasOracle.md +25 -0
- package/docs/src/contracts/interfaces/IHyperlaneConnectionClient.sol/interface.IHyperlaneConnectionClient.md +43 -0
- package/docs/src/contracts/interfaces/IInterchainGasPaymaster.sol/interface.IInterchainGasPaymaster.md +33 -0
- package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.IInterchainSecurityModule.md +55 -0
- package/docs/src/contracts/interfaces/IInterchainSecurityModule.sol/interface.ISpecifiesInterchainSecurityModule.md +12 -0
- package/docs/src/contracts/interfaces/ILiquidityLayerMessageRecipient.sol/interface.ILiquidityLayerMessageRecipient.md +13 -0
- package/docs/src/contracts/interfaces/ILiquidityLayerRouter.sol/interface.ILiquidityLayerRouter.md +19 -0
- package/docs/src/contracts/interfaces/IMailbox.sol/interface.IMailbox.md +103 -0
- package/docs/src/contracts/interfaces/IMessageRecipient.sol/interface.IMessageRecipient.md +12 -0
- package/docs/src/contracts/interfaces/IRouter.sol/interface.IRouter.md +33 -0
- package/docs/src/contracts/interfaces/IValidatorAnnounce.sol/interface.IValidatorAnnounce.md +78 -0
- package/docs/src/contracts/interfaces/README.md +17 -0
- package/docs/src/contracts/interfaces/hooks/IMessageHook.sol/interface.IMessageHook.md +12 -0
- package/docs/src/contracts/interfaces/hooks/README.md +4 -0
- package/docs/src/contracts/interfaces/isms/IAggregationIsm.sol/interface.IAggregationIsm.md +36 -0
- package/docs/src/contracts/interfaces/isms/IMultisigIsm.sol/interface.IMultisigIsm.md +36 -0
- package/docs/src/contracts/interfaces/isms/IRoutingIsm.sol/interface.IRoutingIsm.md +31 -0
- package/docs/src/contracts/interfaces/isms/README.md +6 -0
- package/docs/src/contracts/interfaces/middleware/IInterchainAccountRouter.sol/interface.IInterchainAccountRouter.md +64 -0
- package/docs/src/contracts/interfaces/middleware/IInterchainQueryRouter.sol/interface.IInterchainQueryRouter.md +21 -0
- package/docs/src/contracts/interfaces/middleware/README.md +5 -0
- package/docs/src/contracts/isms/README.md +7 -0
- package/docs/src/contracts/isms/aggregation/AbstractAggregationIsm.sol/abstract.AbstractAggregationIsm.md +60 -0
- package/docs/src/contracts/isms/aggregation/README.md +6 -0
- package/docs/src/contracts/isms/aggregation/StaticAggregationIsm.sol/contract.StaticAggregationIsm.md +30 -0
- package/docs/src/contracts/isms/aggregation/StaticAggregationIsmFactory.sol/contract.StaticAggregationIsmFactory.md +15 -0
- package/docs/src/contracts/isms/hook/AbstractHookISM.sol/abstract.AbstractHookISM.md +44 -0
- package/docs/src/contracts/isms/hook/CrossChainEnabled.sol/abstract.CrossChainEnabled.md +74 -0
- package/docs/src/contracts/isms/hook/ERC5164ISM.sol/contract.ERC5164ISM.md +57 -0
- package/docs/src/contracts/isms/hook/README.md +7 -0
- package/docs/src/contracts/isms/hook/optimism/CrossChainEnabledOptimism.sol/abstract.CrossChainEnabledOptimism.md +53 -0
- package/docs/src/contracts/isms/hook/optimism/LibOptimism.sol/library.LibOptimism.md +39 -0
- package/docs/src/contracts/isms/hook/optimism/OptimismISM.sol/contract.OptimismISM.md +66 -0
- package/docs/src/contracts/isms/hook/optimism/README.md +6 -0
- package/docs/src/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol/abstract.AbstractMerkleRootMultisigIsm.md +78 -0
- package/docs/src/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol/abstract.AbstractMessageIdMultisigIsm.md +69 -0
- package/docs/src/contracts/isms/multisig/AbstractMultisigIsm.sol/abstract.AbstractMultisigIsm.md +102 -0
- package/docs/src/contracts/isms/multisig/LegacyMultisigIsm.sol/contract.LegacyMultisigIsm.md +355 -0
- package/docs/src/contracts/isms/multisig/README.md +12 -0
- package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/abstract.AbstractMetaProxyMultisigIsm.md +36 -0
- package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsm.md +11 -0
- package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMerkleRootMultisigIsmFactory.md +15 -0
- package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsm.md +10 -0
- package/docs/src/contracts/isms/multisig/StaticMultisigIsm.sol/contract.StaticMessageIdMultisigIsmFactory.md +15 -0
- package/docs/src/contracts/isms/routing/AbstractRoutingIsm.sol/abstract.AbstractRoutingIsm.md +55 -0
- package/docs/src/contracts/isms/routing/DomainRoutingIsm.sol/contract.DomainRoutingIsm.md +112 -0
- package/docs/src/contracts/isms/routing/DomainRoutingIsmFactory.sol/contract.DomainRoutingIsmFactory.md +47 -0
- package/docs/src/contracts/isms/routing/InterchainAccountIsm.sol/contract.InterchainAccountIsm.md +44 -0
- package/docs/src/contracts/isms/routing/README.md +7 -0
- package/docs/src/contracts/libs/Call.sol/library.CallLib.md +124 -0
- package/docs/src/contracts/libs/CheckpointLib.sol/library.CheckpointLib.md +61 -0
- package/docs/src/contracts/libs/EnumerableMapExtended.sol/library.EnumerableMapExtended.md +63 -0
- package/docs/src/contracts/libs/LegacyCheckpointLib.sol/library.LegacyCheckpointLib.md +55 -0
- package/docs/src/contracts/libs/Merkle.sol/library.MerkleLib.md +354 -0
- package/docs/src/contracts/libs/Message.sol/library.Message.md +304 -0
- package/docs/src/contracts/libs/MetaProxy.sol/library.MetaProxy.md +36 -0
- package/docs/src/contracts/libs/MinimalProxy.sol/library.MinimalProxy.md +34 -0
- package/docs/src/contracts/libs/README.md +16 -0
- package/docs/src/contracts/libs/StaticMOfNAddressSetFactory.sol/abstract.StaticMOfNAddressSetFactory.md +123 -0
- package/docs/src/contracts/libs/TypeCasts.sol/library.TypeCasts.md +19 -0
- package/docs/src/contracts/libs/ValidatorAnnouncements.sol/library.ValidatorAnnouncements.md +31 -0
- package/docs/src/contracts/libs/isms/AggregationIsmMetadata.sol/library.AggregationIsmMetadata.md +97 -0
- package/docs/src/contracts/libs/isms/LegacyMultisigIsmMetadata.sol/library.LegacyMultisigIsmMetadata.md +296 -0
- package/docs/src/contracts/libs/isms/MerkleRootMultisigIsmMetadata.sol/library.MerkleRootMultisigIsmMetadata.md +177 -0
- package/docs/src/contracts/libs/isms/MessageIdMultisigIsmMetadata.sol/library.MessageIdMultisigIsmMetadata.md +109 -0
- package/docs/src/contracts/libs/isms/README.md +7 -0
- package/docs/src/contracts/libs/middleware/InterchainAccountMessage.sol/library.InterchainAccountMessage.md +134 -0
- package/docs/src/contracts/libs/middleware/InterchainQueryMessage.sol/library.InterchainQueryMessage.md +203 -0
- package/docs/src/contracts/libs/middleware/README.md +5 -0
- package/docs/src/contracts/middleware/InterchainAccountRouter.sol/contract.InterchainAccountRouter.md +542 -0
- package/docs/src/contracts/middleware/InterchainQueryRouter.sol/contract.InterchainQueryRouter.md +119 -0
- package/docs/src/contracts/middleware/README.md +6 -0
- package/docs/src/contracts/middleware/liquidity-layer/LiquidityLayerRouter.sol/contract.LiquidityLayerRouter.md +81 -0
- package/docs/src/contracts/middleware/liquidity-layer/README.md +6 -0
- package/docs/src/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.sol/contract.CircleBridgeAdapter.md +197 -0
- package/docs/src/contracts/middleware/liquidity-layer/adapters/PortalAdapter.sol/contract.PortalAdapter.md +189 -0
- package/docs/src/contracts/middleware/liquidity-layer/adapters/README.md +5 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/ILiquidityLayerAdapter.sol/interface.ILiquidityLayerAdapter.md +23 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/README.md +6 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ICircleMessageTransmitter.sol/interface.ICircleMessageTransmitter.md +54 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/ITokenMessenger.sol/interface.ITokenMessenger.md +92 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/circle/README.md +5 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/IPortalTokenBridge.sol/interface.IPortalTokenBridge.md +131 -0
- package/docs/src/contracts/middleware/liquidity-layer/interfaces/portal/README.md +4 -0
- package/docs/src/contracts/mock/MockCircleMessageTransmitter.sol/contract.MockCircleMessageTransmitter.md +58 -0
- package/docs/src/contracts/mock/MockCircleTokenMessenger.sol/contract.MockCircleTokenMessenger.md +44 -0
- package/docs/src/contracts/mock/MockERC5164.sol/contract.MockMessageDispatcher.md +15 -0
- package/docs/src/contracts/mock/MockERC5164.sol/contract.MockMessageExecutor.md +11 -0
- package/docs/src/contracts/mock/MockHyperlaneEnvironment.sol/contract.MockHyperlaneEnvironment.md +69 -0
- package/docs/src/contracts/mock/MockMailbox.sol/contract.MockMailbox.md +137 -0
- package/docs/src/contracts/mock/MockPortalBridge.sol/contract.MockPortalBridge.md +82 -0
- package/docs/src/contracts/mock/MockToken.sol/contract.MockToken.md +22 -0
- package/docs/src/contracts/mock/README.md +11 -0
- package/docs/src/contracts/test/LightTestRecipient.sol/contract.LightTestRecipient.md +15 -0
- package/docs/src/contracts/test/README.md +20 -0
- package/docs/src/contracts/test/TestGasRouter.sol/contract.TestGasRouter.md +27 -0
- package/docs/src/contracts/test/TestHyperlaneConnectionClient.sol/contract.TestHyperlaneConnectionClient.md +29 -0
- package/docs/src/contracts/test/TestInterchainGasPaymaster.sol/contract.TestInterchainGasPaymaster.md +30 -0
- package/docs/src/contracts/test/TestLegacyMultisigIsm.sol/contract.TestLegacyMultisigIsm.md +15 -0
- package/docs/src/contracts/test/TestLiquidityLayerMessageRecipient.sol/contract.TestLiquidityLayerMessageRecipient.md +23 -0
- package/docs/src/contracts/test/TestMailbox.sol/contract.TestMailbox.md +29 -0
- package/docs/src/contracts/test/TestMerkle.sol/contract.TestMerkle.md +50 -0
- package/docs/src/contracts/test/TestMessage.sol/contract.TestMessage.md +68 -0
- package/docs/src/contracts/test/TestMultisigIsm.sol/contract.TestMultisigIsm.md +51 -0
- package/docs/src/contracts/test/TestQuery.sol/contract.TestQuery.md +45 -0
- package/docs/src/contracts/test/TestQuerySender.sol/contract.TestQuerySender.md +128 -0
- package/docs/src/contracts/test/TestRecipient.sol/contract.TestRecipient.md +78 -0
- package/docs/src/contracts/test/TestRouter.sol/contract.TestRouter.md +63 -0
- package/docs/src/contracts/test/TestSendReceiver.sol/contract.TestSendReceiver.md +49 -0
- package/docs/src/contracts/test/TestTokenRecipient.sol/contract.TestTokenRecipient.md +80 -0
- package/docs/src/contracts/test/bad-recipient/BadRecipient1.sol/contract.BadRecipient1.md +15 -0
- package/docs/src/contracts/test/bad-recipient/BadRecipient2.sol/contract.BadRecipient2.md +12 -0
- package/docs/src/contracts/test/bad-recipient/BadRecipient3.sol/contract.BadRecipient3.md +15 -0
- package/docs/src/contracts/test/bad-recipient/BadRecipient5.sol/contract.BadRecipient5.md +15 -0
- package/docs/src/contracts/test/bad-recipient/BadRecipient6.sol/contract.BadRecipient6.md +15 -0
- package/docs/src/contracts/test/bad-recipient/README.md +8 -0
- package/docs/src/contracts/upgrade/README.md +4 -0
- package/docs/src/contracts/upgrade/Versioned.sol/contract.Versioned.md +14 -0
- package/package.json +3 -3
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# Router
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/Router.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[HyperlaneConnectionClient](/contracts/HyperlaneConnectionClient.sol/abstract.HyperlaneConnectionClient.md), [IMessageRecipient](/contracts/interfaces/IMessageRecipient.sol/interface.IMessageRecipient.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## State Variables
|
|
9
|
+
### NO_ROUTER_ENROLLED_REVERT_MESSAGE
|
|
10
|
+
|
|
11
|
+
```solidity
|
|
12
|
+
string private constant NO_ROUTER_ENROLLED_REVERT_MESSAGE =
|
|
13
|
+
"No router enrolled for domain. Did you specify the right domain ID?";
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### _routers
|
|
18
|
+
|
|
19
|
+
```solidity
|
|
20
|
+
EnumerableMapExtended.UintToBytes32Map internal _routers;
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### __GAP
|
|
25
|
+
|
|
26
|
+
```solidity
|
|
27
|
+
uint256[49] private __GAP;
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Functions
|
|
32
|
+
### onlyRemoteRouter
|
|
33
|
+
|
|
34
|
+
Only accept messages from a remote Router contract
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
```solidity
|
|
38
|
+
modifier onlyRemoteRouter(uint32 _origin, bytes32 _router);
|
|
39
|
+
```
|
|
40
|
+
**Parameters**
|
|
41
|
+
|
|
42
|
+
|Name|Type|Description|
|
|
43
|
+
|----|----|-----------|
|
|
44
|
+
|`_origin`|`uint32`|The domain the message is coming from|
|
|
45
|
+
|`_router`|`bytes32`|The address the message is coming from|
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### __Router_initialize
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
```solidity
|
|
52
|
+
function __Router_initialize(address _mailbox) internal onlyInitializing;
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### __Router_initialize
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
```solidity
|
|
59
|
+
function __Router_initialize(address _mailbox, address _interchainGasPaymaster) internal onlyInitializing;
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### __Router_initialize
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
```solidity
|
|
66
|
+
function __Router_initialize(address _mailbox, address _interchainGasPaymaster, address _interchainSecurityModule)
|
|
67
|
+
internal
|
|
68
|
+
onlyInitializing;
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### domains
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
```solidity
|
|
75
|
+
function domains() external view returns (uint32[] memory);
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### routers
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
```solidity
|
|
82
|
+
function routers(uint32 _domain) public view returns (bytes32);
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### enrollRemoteRouter
|
|
86
|
+
|
|
87
|
+
Register the address of a Router contract for the same Application on a remote chain
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
```solidity
|
|
91
|
+
function enrollRemoteRouter(uint32 _domain, bytes32 _router) external virtual onlyOwner;
|
|
92
|
+
```
|
|
93
|
+
**Parameters**
|
|
94
|
+
|
|
95
|
+
|Name|Type|Description|
|
|
96
|
+
|----|----|-----------|
|
|
97
|
+
|`_domain`|`uint32`|The domain of the remote Application Router|
|
|
98
|
+
|`_router`|`bytes32`|The address of the remote Application Router|
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
### enrollRemoteRouters
|
|
102
|
+
|
|
103
|
+
Batch version of `enrollRemoteRouter`
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
```solidity
|
|
107
|
+
function enrollRemoteRouters(uint32[] calldata _domains, bytes32[] calldata _addresses) external virtual onlyOwner;
|
|
108
|
+
```
|
|
109
|
+
**Parameters**
|
|
110
|
+
|
|
111
|
+
|Name|Type|Description|
|
|
112
|
+
|----|----|-----------|
|
|
113
|
+
|`_domains`|`uint32[]`|The domaisn of the remote Application Routers|
|
|
114
|
+
|`_addresses`|`bytes32[]`|The addresses of the remote Application Routers|
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
### handle
|
|
118
|
+
|
|
119
|
+
Handles an incoming message
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
```solidity
|
|
123
|
+
function handle(uint32 _origin, bytes32 _sender, bytes calldata _message)
|
|
124
|
+
external
|
|
125
|
+
virtual
|
|
126
|
+
override
|
|
127
|
+
onlyMailbox
|
|
128
|
+
onlyRemoteRouter(_origin, _sender);
|
|
129
|
+
```
|
|
130
|
+
**Parameters**
|
|
131
|
+
|
|
132
|
+
|Name|Type|Description|
|
|
133
|
+
|----|----|-----------|
|
|
134
|
+
|`_origin`|`uint32`|The origin domain|
|
|
135
|
+
|`_sender`|`bytes32`|The sender address|
|
|
136
|
+
|`_message`|`bytes`|The message|
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
### _handle
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
```solidity
|
|
143
|
+
function _handle(uint32 _origin, bytes32 _sender, bytes calldata _message) internal virtual;
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### _enrollRemoteRouter
|
|
147
|
+
|
|
148
|
+
Set the router for a given domain
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
```solidity
|
|
152
|
+
function _enrollRemoteRouter(uint32 _domain, bytes32 _address) internal;
|
|
153
|
+
```
|
|
154
|
+
**Parameters**
|
|
155
|
+
|
|
156
|
+
|Name|Type|Description|
|
|
157
|
+
|----|----|-----------|
|
|
158
|
+
|`_domain`|`uint32`|The domain|
|
|
159
|
+
|`_address`|`bytes32`|The new router|
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
### _isRemoteRouter
|
|
163
|
+
|
|
164
|
+
Return true if the given domain / router is the address of a remote Application Router
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
```solidity
|
|
168
|
+
function _isRemoteRouter(uint32 _domain, bytes32 _address) internal view returns (bool);
|
|
169
|
+
```
|
|
170
|
+
**Parameters**
|
|
171
|
+
|
|
172
|
+
|Name|Type|Description|
|
|
173
|
+
|----|----|-----------|
|
|
174
|
+
|`_domain`|`uint32`|The domain of the potential remote Application Router|
|
|
175
|
+
|`_address`|`bytes32`|The address of the potential remote Application Router|
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
### _mustHaveRemoteRouter
|
|
179
|
+
|
|
180
|
+
Assert that the given domain has a Application Router registered and return its address
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
```solidity
|
|
184
|
+
function _mustHaveRemoteRouter(uint32 _domain) internal view returns (bytes32 _router);
|
|
185
|
+
```
|
|
186
|
+
**Parameters**
|
|
187
|
+
|
|
188
|
+
|Name|Type|Description|
|
|
189
|
+
|----|----|-----------|
|
|
190
|
+
|`_domain`|`uint32`|The domain of the chain for which to get the Application Router|
|
|
191
|
+
|
|
192
|
+
**Returns**
|
|
193
|
+
|
|
194
|
+
|Name|Type|Description|
|
|
195
|
+
|----|----|-----------|
|
|
196
|
+
|`_router`|`bytes32`|The address of the remote Application Router on _domain|
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
### _dispatchWithGas
|
|
200
|
+
|
|
201
|
+
Dispatches a message to an enrolled router via the local router's Mailbox
|
|
202
|
+
and pays for it to be relayed to the destination.
|
|
203
|
+
|
|
204
|
+
*Reverts if there is no enrolled router for _destinationDomain.*
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
```solidity
|
|
208
|
+
function _dispatchWithGas(
|
|
209
|
+
uint32 _destinationDomain,
|
|
210
|
+
bytes memory _messageBody,
|
|
211
|
+
uint256 _gasAmount,
|
|
212
|
+
uint256 _gasPayment,
|
|
213
|
+
address _gasPaymentRefundAddress
|
|
214
|
+
) internal returns (bytes32 _messageId);
|
|
215
|
+
```
|
|
216
|
+
**Parameters**
|
|
217
|
+
|
|
218
|
+
|Name|Type|Description|
|
|
219
|
+
|----|----|-----------|
|
|
220
|
+
|`_destinationDomain`|`uint32`|The domain of the chain to which to send the message.|
|
|
221
|
+
|`_messageBody`|`bytes`|Raw bytes content of message.|
|
|
222
|
+
|`_gasAmount`|`uint256`|The amount of destination gas for the message that is requested via the InterchainGasPaymaster.|
|
|
223
|
+
|`_gasPayment`|`uint256`|The amount of native tokens to pay for the message to be relayed.|
|
|
224
|
+
|`_gasPaymentRefundAddress`|`address`|The address to refund any gas overpayment to.|
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
### _dispatch
|
|
228
|
+
|
|
229
|
+
Dispatches a message to an enrolled router via the provided Mailbox.
|
|
230
|
+
|
|
231
|
+
*Does not pay interchain gas.*
|
|
232
|
+
|
|
233
|
+
*Reverts if there is no enrolled router for _destinationDomain.*
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
```solidity
|
|
237
|
+
function _dispatch(uint32 _destinationDomain, bytes memory _messageBody) internal virtual returns (bytes32);
|
|
238
|
+
```
|
|
239
|
+
**Parameters**
|
|
240
|
+
|
|
241
|
+
|Name|Type|Description|
|
|
242
|
+
|----|----|-----------|
|
|
243
|
+
|`_destinationDomain`|`uint32`|The domain of the chain to which to send the message.|
|
|
244
|
+
|`_messageBody`|`bytes`|Raw bytes content of message.|
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
## Events
|
|
248
|
+
### RemoteRouterEnrolled
|
|
249
|
+
Emitted when a router is set.
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
```solidity
|
|
253
|
+
event RemoteRouterEnrolled(uint32 indexed domain, bytes32 router);
|
|
254
|
+
```
|
|
255
|
+
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# ValidatorAnnounce
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/ValidatorAnnounce.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[IValidatorAnnounce](/contracts/interfaces/IValidatorAnnounce.sol/interface.IValidatorAnnounce.md)
|
|
6
|
+
|
|
7
|
+
Stores the location(s) of validator signed checkpoints
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## State Variables
|
|
11
|
+
### mailbox
|
|
12
|
+
|
|
13
|
+
```solidity
|
|
14
|
+
address public immutable mailbox;
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### localDomain
|
|
19
|
+
|
|
20
|
+
```solidity
|
|
21
|
+
uint32 public immutable localDomain;
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### validators
|
|
26
|
+
|
|
27
|
+
```solidity
|
|
28
|
+
EnumerableSet.AddressSet private validators;
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### storageLocations
|
|
33
|
+
|
|
34
|
+
```solidity
|
|
35
|
+
mapping(address => string[]) private storageLocations;
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### replayProtection
|
|
40
|
+
|
|
41
|
+
```solidity
|
|
42
|
+
mapping(bytes32 => bool) private replayProtection;
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Functions
|
|
47
|
+
### constructor
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
```solidity
|
|
51
|
+
constructor(address _mailbox);
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### announce
|
|
55
|
+
|
|
56
|
+
Announces a validator signature storage location
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
```solidity
|
|
60
|
+
function announce(address _validator, string calldata _storageLocation, bytes calldata _signature)
|
|
61
|
+
external
|
|
62
|
+
returns (bool);
|
|
63
|
+
```
|
|
64
|
+
**Parameters**
|
|
65
|
+
|
|
66
|
+
|Name|Type|Description|
|
|
67
|
+
|----|----|-----------|
|
|
68
|
+
|`_validator`|`address`||
|
|
69
|
+
|`_storageLocation`|`string`|Information encoding the location of signed checkpoints|
|
|
70
|
+
|`_signature`|`bytes`|The signed validator announcement|
|
|
71
|
+
|
|
72
|
+
**Returns**
|
|
73
|
+
|
|
74
|
+
|Name|Type|Description|
|
|
75
|
+
|----|----|-----------|
|
|
76
|
+
|`<none>`|`bool`|True upon success|
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
### getAnnouncedStorageLocations
|
|
80
|
+
|
|
81
|
+
Returns a list of all announced storage locations
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
```solidity
|
|
85
|
+
function getAnnouncedStorageLocations(address[] calldata _validators) external view returns (string[][] memory);
|
|
86
|
+
```
|
|
87
|
+
**Parameters**
|
|
88
|
+
|
|
89
|
+
|Name|Type|Description|
|
|
90
|
+
|----|----|-----------|
|
|
91
|
+
|`_validators`|`address[]`|The list of validators to get registrations for|
|
|
92
|
+
|
|
93
|
+
**Returns**
|
|
94
|
+
|
|
95
|
+
|Name|Type|Description|
|
|
96
|
+
|----|----|-----------|
|
|
97
|
+
|`<none>`|`string[][]`|A list of registered storage metadata|
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
### getAnnouncedValidators
|
|
101
|
+
|
|
102
|
+
Returns a list of validators that have made announcements
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
```solidity
|
|
106
|
+
function getAnnouncedValidators() external view returns (address[] memory);
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Events
|
|
110
|
+
### ValidatorAnnouncement
|
|
111
|
+
Emitted when a new validator announcement is made
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
```solidity
|
|
115
|
+
event ValidatorAnnouncement(address indexed validator, string storageLocation);
|
|
116
|
+
```
|
|
117
|
+
|
package/docs/src/contracts/hooks/ERC5164/ERC5164MessageHook.sol/contract.ERC5164MessageHook.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# ERC5164MessageHook
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/hooks/ERC5164/ERC5164MessageHook.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[IMessageHook](/contracts/interfaces/hooks/IMessageHook.sol/interface.IMessageHook.md)
|
|
6
|
+
|
|
7
|
+
Message hook to inform the 5164 ISM of messages published through
|
|
8
|
+
any of the 5164 adapters.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## State Variables
|
|
12
|
+
### destinationDomain
|
|
13
|
+
|
|
14
|
+
```solidity
|
|
15
|
+
uint32 public immutable destinationDomain;
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### dispatcher
|
|
20
|
+
|
|
21
|
+
```solidity
|
|
22
|
+
IMessageDispatcher public immutable dispatcher;
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### ism
|
|
27
|
+
|
|
28
|
+
```solidity
|
|
29
|
+
address public immutable ism;
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## Functions
|
|
34
|
+
### constructor
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
```solidity
|
|
38
|
+
constructor(uint32 _destinationDomain, address _dispatcher, address _ism);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### postDispatch
|
|
42
|
+
|
|
43
|
+
Hook to inform the ERC5164ISM of messages published through.
|
|
44
|
+
|
|
45
|
+
*anyone can call this function, that's why we need to send msg.sender*
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
```solidity
|
|
49
|
+
function postDispatch(uint32 _destinationDomain, bytes32 _messageId) public payable override returns (uint256);
|
|
50
|
+
```
|
|
51
|
+
**Parameters**
|
|
52
|
+
|
|
53
|
+
|Name|Type|Description|
|
|
54
|
+
|----|----|-----------|
|
|
55
|
+
|`_destinationDomain`|`uint32`|The destination domain of the message.|
|
|
56
|
+
|`_messageId`|`bytes32`|The message ID.|
|
|
57
|
+
|
|
58
|
+
**Returns**
|
|
59
|
+
|
|
60
|
+
|Name|Type|Description|
|
|
61
|
+
|----|----|-----------|
|
|
62
|
+
|`<none>`|`uint256`|gasOverhead The gas overhead for the function call on destination.|
|
|
63
|
+
|
|
64
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# IMessageDispatcher
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/hooks/ERC5164/interfaces/IMessageDispatcher.sol)
|
|
3
|
+
|
|
4
|
+
*See https://eips.ethereum.org/EIPS/eip-5164*
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
### dispatchMessage
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
```solidity
|
|
12
|
+
function dispatchMessage(uint256 toChainId, address to, bytes calldata data) external returns (bytes32);
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Events
|
|
16
|
+
### MessageDispatched
|
|
17
|
+
Emitted when a message has successfully been dispatched to the executor chain.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
```solidity
|
|
21
|
+
event MessageDispatched(
|
|
22
|
+
bytes32 indexed messageId, address indexed from, uint256 indexed toChainId, address to, bytes data
|
|
23
|
+
);
|
|
24
|
+
```
|
|
25
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# OptimismMessageHook
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/hooks/OptimismMessageHook.sol)
|
|
3
|
+
|
|
4
|
+
**Inherits:**
|
|
5
|
+
[IMessageHook](/contracts/interfaces/hooks/IMessageHook.sol/interface.IMessageHook.md)
|
|
6
|
+
|
|
7
|
+
Message hook to inform the Optimism ISM of messages published through
|
|
8
|
+
the native Optimism bridge.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## State Variables
|
|
12
|
+
### destinationDomain
|
|
13
|
+
|
|
14
|
+
```solidity
|
|
15
|
+
uint32 public immutable destinationDomain;
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### l1Messenger
|
|
20
|
+
|
|
21
|
+
```solidity
|
|
22
|
+
ICrossDomainMessenger public immutable l1Messenger;
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### ism
|
|
27
|
+
|
|
28
|
+
```solidity
|
|
29
|
+
address public immutable ism;
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### GAS_LIMIT
|
|
34
|
+
|
|
35
|
+
```solidity
|
|
36
|
+
uint32 internal constant GAS_LIMIT = 1_920_000;
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## Functions
|
|
41
|
+
### constructor
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
```solidity
|
|
45
|
+
constructor(uint32 _destinationDomain, address _messenger, address _ism);
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### postDispatch
|
|
49
|
+
|
|
50
|
+
Hook to inform the optimism ISM of messages published through.
|
|
51
|
+
|
|
52
|
+
*anyone can call this function, that's why we need to send msg.sender*
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
```solidity
|
|
56
|
+
function postDispatch(uint32 _destination, bytes32 _messageId) public payable override returns (uint256);
|
|
57
|
+
```
|
|
58
|
+
**Parameters**
|
|
59
|
+
|
|
60
|
+
|Name|Type|Description|
|
|
61
|
+
|----|----|-----------|
|
|
62
|
+
|`_destination`|`uint32`|The destination domain of the message.|
|
|
63
|
+
|`_messageId`|`bytes32`|The message ID.|
|
|
64
|
+
|
|
65
|
+
**Returns**
|
|
66
|
+
|
|
67
|
+
|Name|Type|Description|
|
|
68
|
+
|----|----|-----------|
|
|
69
|
+
|`<none>`|`uint256`|gasOverhead The gas overhead for the function call on L2.|
|
|
70
|
+
|
|
71
|
+
|