@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,304 @@
|
|
|
1
|
+
# Message
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/Message.sol)
|
|
3
|
+
|
|
4
|
+
Library for formatted messages used by Mailbox
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## State Variables
|
|
8
|
+
### VERSION_OFFSET
|
|
9
|
+
|
|
10
|
+
```solidity
|
|
11
|
+
uint256 private constant VERSION_OFFSET = 0;
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### NONCE_OFFSET
|
|
16
|
+
|
|
17
|
+
```solidity
|
|
18
|
+
uint256 private constant NONCE_OFFSET = 1;
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### ORIGIN_OFFSET
|
|
23
|
+
|
|
24
|
+
```solidity
|
|
25
|
+
uint256 private constant ORIGIN_OFFSET = 5;
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### SENDER_OFFSET
|
|
30
|
+
|
|
31
|
+
```solidity
|
|
32
|
+
uint256 private constant SENDER_OFFSET = 9;
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### DESTINATION_OFFSET
|
|
37
|
+
|
|
38
|
+
```solidity
|
|
39
|
+
uint256 private constant DESTINATION_OFFSET = 41;
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### RECIPIENT_OFFSET
|
|
44
|
+
|
|
45
|
+
```solidity
|
|
46
|
+
uint256 private constant RECIPIENT_OFFSET = 45;
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### BODY_OFFSET
|
|
51
|
+
|
|
52
|
+
```solidity
|
|
53
|
+
uint256 private constant BODY_OFFSET = 77;
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
## Functions
|
|
58
|
+
### formatMessage
|
|
59
|
+
|
|
60
|
+
Returns formatted (packed) Hyperlane message with provided fields
|
|
61
|
+
|
|
62
|
+
*This function should only be used in memory message construction.*
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
```solidity
|
|
66
|
+
function formatMessage(
|
|
67
|
+
uint8 _version,
|
|
68
|
+
uint32 _nonce,
|
|
69
|
+
uint32 _originDomain,
|
|
70
|
+
bytes32 _sender,
|
|
71
|
+
uint32 _destinationDomain,
|
|
72
|
+
bytes32 _recipient,
|
|
73
|
+
bytes calldata _messageBody
|
|
74
|
+
) internal pure returns (bytes memory);
|
|
75
|
+
```
|
|
76
|
+
**Parameters**
|
|
77
|
+
|
|
78
|
+
|Name|Type|Description|
|
|
79
|
+
|----|----|-----------|
|
|
80
|
+
|`_version`|`uint8`|The version of the origin and destination Mailboxes|
|
|
81
|
+
|`_nonce`|`uint32`|A nonce to uniquely identify the message on its origin chain|
|
|
82
|
+
|`_originDomain`|`uint32`|Domain of origin chain|
|
|
83
|
+
|`_sender`|`bytes32`|Address of sender as bytes32|
|
|
84
|
+
|`_destinationDomain`|`uint32`|Domain of destination chain|
|
|
85
|
+
|`_recipient`|`bytes32`|Address of recipient on destination chain as bytes32|
|
|
86
|
+
|`_messageBody`|`bytes`|Raw bytes of message body|
|
|
87
|
+
|
|
88
|
+
**Returns**
|
|
89
|
+
|
|
90
|
+
|Name|Type|Description|
|
|
91
|
+
|----|----|-----------|
|
|
92
|
+
|`<none>`|`bytes`|Formatted message|
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
### id
|
|
96
|
+
|
|
97
|
+
Returns the message ID.
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
```solidity
|
|
101
|
+
function id(bytes memory _message) internal pure returns (bytes32);
|
|
102
|
+
```
|
|
103
|
+
**Parameters**
|
|
104
|
+
|
|
105
|
+
|Name|Type|Description|
|
|
106
|
+
|----|----|-----------|
|
|
107
|
+
|`_message`|`bytes`|ABI encoded Hyperlane message.|
|
|
108
|
+
|
|
109
|
+
**Returns**
|
|
110
|
+
|
|
111
|
+
|Name|Type|Description|
|
|
112
|
+
|----|----|-----------|
|
|
113
|
+
|`<none>`|`bytes32`|ID of `_message`|
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
### version
|
|
117
|
+
|
|
118
|
+
Returns the message version.
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
```solidity
|
|
122
|
+
function version(bytes calldata _message) internal pure returns (uint8);
|
|
123
|
+
```
|
|
124
|
+
**Parameters**
|
|
125
|
+
|
|
126
|
+
|Name|Type|Description|
|
|
127
|
+
|----|----|-----------|
|
|
128
|
+
|`_message`|`bytes`|ABI encoded Hyperlane message.|
|
|
129
|
+
|
|
130
|
+
**Returns**
|
|
131
|
+
|
|
132
|
+
|Name|Type|Description|
|
|
133
|
+
|----|----|-----------|
|
|
134
|
+
|`<none>`|`uint8`|Version of `_message`|
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
### nonce
|
|
138
|
+
|
|
139
|
+
Returns the message nonce.
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
```solidity
|
|
143
|
+
function nonce(bytes calldata _message) internal pure returns (uint32);
|
|
144
|
+
```
|
|
145
|
+
**Parameters**
|
|
146
|
+
|
|
147
|
+
|Name|Type|Description|
|
|
148
|
+
|----|----|-----------|
|
|
149
|
+
|`_message`|`bytes`|ABI encoded Hyperlane message.|
|
|
150
|
+
|
|
151
|
+
**Returns**
|
|
152
|
+
|
|
153
|
+
|Name|Type|Description|
|
|
154
|
+
|----|----|-----------|
|
|
155
|
+
|`<none>`|`uint32`|Nonce of `_message`|
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
### origin
|
|
159
|
+
|
|
160
|
+
Returns the message origin domain.
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
```solidity
|
|
164
|
+
function origin(bytes calldata _message) internal pure returns (uint32);
|
|
165
|
+
```
|
|
166
|
+
**Parameters**
|
|
167
|
+
|
|
168
|
+
|Name|Type|Description|
|
|
169
|
+
|----|----|-----------|
|
|
170
|
+
|`_message`|`bytes`|ABI encoded Hyperlane message.|
|
|
171
|
+
|
|
172
|
+
**Returns**
|
|
173
|
+
|
|
174
|
+
|Name|Type|Description|
|
|
175
|
+
|----|----|-----------|
|
|
176
|
+
|`<none>`|`uint32`|Origin domain of `_message`|
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
### sender
|
|
180
|
+
|
|
181
|
+
Returns the message sender as bytes32.
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
```solidity
|
|
185
|
+
function sender(bytes calldata _message) internal pure returns (bytes32);
|
|
186
|
+
```
|
|
187
|
+
**Parameters**
|
|
188
|
+
|
|
189
|
+
|Name|Type|Description|
|
|
190
|
+
|----|----|-----------|
|
|
191
|
+
|`_message`|`bytes`|ABI encoded Hyperlane message.|
|
|
192
|
+
|
|
193
|
+
**Returns**
|
|
194
|
+
|
|
195
|
+
|Name|Type|Description|
|
|
196
|
+
|----|----|-----------|
|
|
197
|
+
|`<none>`|`bytes32`|Sender of `_message` as bytes32|
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
### senderAddress
|
|
201
|
+
|
|
202
|
+
Returns the message sender as address.
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
```solidity
|
|
206
|
+
function senderAddress(bytes calldata _message) internal pure returns (address);
|
|
207
|
+
```
|
|
208
|
+
**Parameters**
|
|
209
|
+
|
|
210
|
+
|Name|Type|Description|
|
|
211
|
+
|----|----|-----------|
|
|
212
|
+
|`_message`|`bytes`|ABI encoded Hyperlane message.|
|
|
213
|
+
|
|
214
|
+
**Returns**
|
|
215
|
+
|
|
216
|
+
|Name|Type|Description|
|
|
217
|
+
|----|----|-----------|
|
|
218
|
+
|`<none>`|`address`|Sender of `_message` as address|
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
### destination
|
|
222
|
+
|
|
223
|
+
Returns the message destination domain.
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
```solidity
|
|
227
|
+
function destination(bytes calldata _message) internal pure returns (uint32);
|
|
228
|
+
```
|
|
229
|
+
**Parameters**
|
|
230
|
+
|
|
231
|
+
|Name|Type|Description|
|
|
232
|
+
|----|----|-----------|
|
|
233
|
+
|`_message`|`bytes`|ABI encoded Hyperlane message.|
|
|
234
|
+
|
|
235
|
+
**Returns**
|
|
236
|
+
|
|
237
|
+
|Name|Type|Description|
|
|
238
|
+
|----|----|-----------|
|
|
239
|
+
|`<none>`|`uint32`|Destination domain of `_message`|
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
### recipient
|
|
243
|
+
|
|
244
|
+
Returns the message recipient as bytes32.
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
```solidity
|
|
248
|
+
function recipient(bytes calldata _message) internal pure returns (bytes32);
|
|
249
|
+
```
|
|
250
|
+
**Parameters**
|
|
251
|
+
|
|
252
|
+
|Name|Type|Description|
|
|
253
|
+
|----|----|-----------|
|
|
254
|
+
|`_message`|`bytes`|ABI encoded Hyperlane message.|
|
|
255
|
+
|
|
256
|
+
**Returns**
|
|
257
|
+
|
|
258
|
+
|Name|Type|Description|
|
|
259
|
+
|----|----|-----------|
|
|
260
|
+
|`<none>`|`bytes32`|Recipient of `_message` as bytes32|
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
### recipientAddress
|
|
264
|
+
|
|
265
|
+
Returns the message recipient as address.
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
```solidity
|
|
269
|
+
function recipientAddress(bytes calldata _message) internal pure returns (address);
|
|
270
|
+
```
|
|
271
|
+
**Parameters**
|
|
272
|
+
|
|
273
|
+
|Name|Type|Description|
|
|
274
|
+
|----|----|-----------|
|
|
275
|
+
|`_message`|`bytes`|ABI encoded Hyperlane message.|
|
|
276
|
+
|
|
277
|
+
**Returns**
|
|
278
|
+
|
|
279
|
+
|Name|Type|Description|
|
|
280
|
+
|----|----|-----------|
|
|
281
|
+
|`<none>`|`address`|Recipient of `_message` as address|
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
### body
|
|
285
|
+
|
|
286
|
+
Returns the message body.
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
```solidity
|
|
290
|
+
function body(bytes calldata _message) internal pure returns (bytes calldata);
|
|
291
|
+
```
|
|
292
|
+
**Parameters**
|
|
293
|
+
|
|
294
|
+
|Name|Type|Description|
|
|
295
|
+
|----|----|-----------|
|
|
296
|
+
|`_message`|`bytes`|ABI encoded Hyperlane message.|
|
|
297
|
+
|
|
298
|
+
**Returns**
|
|
299
|
+
|
|
300
|
+
|Name|Type|Description|
|
|
301
|
+
|----|----|-----------|
|
|
302
|
+
|`<none>`|`bytes`|Body of `_message`|
|
|
303
|
+
|
|
304
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# MetaProxy
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/MetaProxy.sol)
|
|
3
|
+
|
|
4
|
+
*Adapted from https://eips.ethereum.org/EIPS/eip-3448*
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## State Variables
|
|
8
|
+
### PREFIX
|
|
9
|
+
|
|
10
|
+
```solidity
|
|
11
|
+
bytes32 private constant PREFIX = hex"600b380380600b3d393df3363d3d373d3d3d3d60368038038091363936013d73";
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### SUFFIX
|
|
16
|
+
|
|
17
|
+
```solidity
|
|
18
|
+
bytes13 private constant SUFFIX = hex"5af43d3d93803e603457fd5bf3";
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Functions
|
|
23
|
+
### bytecode
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
```solidity
|
|
27
|
+
function bytecode(address _implementation, bytes memory _metadata) internal pure returns (bytes memory);
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### metadata
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
```solidity
|
|
34
|
+
function metadata() internal pure returns (bytes memory);
|
|
35
|
+
```
|
|
36
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# MinimalProxy
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/MinimalProxy.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## State Variables
|
|
6
|
+
### PREFIX
|
|
7
|
+
|
|
8
|
+
```solidity
|
|
9
|
+
bytes20 private constant PREFIX = hex"3d602d80600a3d3981f3363d3d373d3d3d363d73";
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### SUFFIX
|
|
14
|
+
|
|
15
|
+
```solidity
|
|
16
|
+
bytes15 private constant SUFFIX = hex"5af43d82803e903d91602b57fd5bf3";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## Functions
|
|
21
|
+
### create
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
```solidity
|
|
25
|
+
function create(address implementation) internal returns (address proxy);
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### bytecode
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
```solidity
|
|
32
|
+
function bytecode(address implementation) internal pure returns (bytes memory);
|
|
33
|
+
```
|
|
34
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# Contents
|
|
4
|
+
- [isms](/contracts/libs/isms)
|
|
5
|
+
- [middleware](/contracts/libs/middleware)
|
|
6
|
+
- [CallLib](Call.sol/library.CallLib.md)
|
|
7
|
+
- [CheckpointLib](CheckpointLib.sol/library.CheckpointLib.md)
|
|
8
|
+
- [EnumerableMapExtended](EnumerableMapExtended.sol/library.EnumerableMapExtended.md)
|
|
9
|
+
- [LegacyCheckpointLib](LegacyCheckpointLib.sol/library.LegacyCheckpointLib.md)
|
|
10
|
+
- [MerkleLib](Merkle.sol/library.MerkleLib.md)
|
|
11
|
+
- [Message](Message.sol/library.Message.md)
|
|
12
|
+
- [MetaProxy](MetaProxy.sol/library.MetaProxy.md)
|
|
13
|
+
- [MinimalProxy](MinimalProxy.sol/library.MinimalProxy.md)
|
|
14
|
+
- [StaticMOfNAddressSetFactory](StaticMOfNAddressSetFactory.sol/abstract.StaticMOfNAddressSetFactory.md)
|
|
15
|
+
- [TypeCasts](TypeCasts.sol/library.TypeCasts.md)
|
|
16
|
+
- [ValidatorAnnouncements](ValidatorAnnouncements.sol/library.ValidatorAnnouncements.md)
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# StaticMOfNAddressSetFactory
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/StaticMOfNAddressSetFactory.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
|
+
### _deployImplementation
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
```solidity
|
|
25
|
+
function _deployImplementation() internal virtual returns (address);
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### deploy
|
|
29
|
+
|
|
30
|
+
Deploys a StaticMOfNAddressSet contract address for the given
|
|
31
|
+
values
|
|
32
|
+
|
|
33
|
+
*Consider sorting addresses to ensure contract reuse*
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
```solidity
|
|
37
|
+
function deploy(address[] calldata _values, uint8 _threshold) external returns (address);
|
|
38
|
+
```
|
|
39
|
+
**Parameters**
|
|
40
|
+
|
|
41
|
+
|Name|Type|Description|
|
|
42
|
+
|----|----|-----------|
|
|
43
|
+
|`_values`|`address[]`|An array of addresses|
|
|
44
|
+
|`_threshold`|`uint8`|The threshold value to use|
|
|
45
|
+
|
|
46
|
+
**Returns**
|
|
47
|
+
|
|
48
|
+
|Name|Type|Description|
|
|
49
|
+
|----|----|-----------|
|
|
50
|
+
|`<none>`|`address`|set The contract address representing this StaticMOfNAddressSet|
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### getAddress
|
|
54
|
+
|
|
55
|
+
Returns the StaticMOfNAddressSet contract address for the given
|
|
56
|
+
values
|
|
57
|
+
|
|
58
|
+
*Consider sorting addresses to ensure contract reuse*
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
```solidity
|
|
62
|
+
function getAddress(address[] calldata _values, uint8 _threshold) external view returns (address);
|
|
63
|
+
```
|
|
64
|
+
**Parameters**
|
|
65
|
+
|
|
66
|
+
|Name|Type|Description|
|
|
67
|
+
|----|----|-----------|
|
|
68
|
+
|`_values`|`address[]`|An array of addresses|
|
|
69
|
+
|`_threshold`|`uint8`|The threshold value to use|
|
|
70
|
+
|
|
71
|
+
**Returns**
|
|
72
|
+
|
|
73
|
+
|Name|Type|Description|
|
|
74
|
+
|----|----|-----------|
|
|
75
|
+
|`<none>`|`address`|set The contract address representing this StaticMOfNAddressSet|
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
### _getAddress
|
|
79
|
+
|
|
80
|
+
Returns the StaticMOfNAddressSet contract address for the given
|
|
81
|
+
values
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
```solidity
|
|
85
|
+
function _getAddress(bytes32 _salt, bytes memory _bytecode) private view returns (address);
|
|
86
|
+
```
|
|
87
|
+
**Parameters**
|
|
88
|
+
|
|
89
|
+
|Name|Type|Description|
|
|
90
|
+
|----|----|-----------|
|
|
91
|
+
|`_salt`|`bytes32`|The salt used in Create2|
|
|
92
|
+
|`_bytecode`|`bytes`|The metaproxy bytecode used in Create2|
|
|
93
|
+
|
|
94
|
+
**Returns**
|
|
95
|
+
|
|
96
|
+
|Name|Type|Description|
|
|
97
|
+
|----|----|-----------|
|
|
98
|
+
|`<none>`|`address`|set The contract address representing this StaticMOfNAddressSet|
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
### _saltAndBytecode
|
|
102
|
+
|
|
103
|
+
Returns the create2 salt and bytecode for the given values
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
```solidity
|
|
107
|
+
function _saltAndBytecode(address[] calldata _values, uint8 _threshold) private view returns (bytes32, bytes memory);
|
|
108
|
+
```
|
|
109
|
+
**Parameters**
|
|
110
|
+
|
|
111
|
+
|Name|Type|Description|
|
|
112
|
+
|----|----|-----------|
|
|
113
|
+
|`_values`|`address[]`|An array of addresses|
|
|
114
|
+
|`_threshold`|`uint8`|The threshold value to use|
|
|
115
|
+
|
|
116
|
+
**Returns**
|
|
117
|
+
|
|
118
|
+
|Name|Type|Description|
|
|
119
|
+
|----|----|-----------|
|
|
120
|
+
|`<none>`|`bytes32`|_salt The salt used in Create2|
|
|
121
|
+
|`<none>`|`bytes`|_bytecode The metaproxy bytecode used in Create2|
|
|
122
|
+
|
|
123
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# TypeCasts
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/TypeCasts.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
### addressToBytes32
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
```solidity
|
|
10
|
+
function addressToBytes32(address _addr) internal pure returns (bytes32);
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### bytes32ToAddress
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
```solidity
|
|
17
|
+
function bytes32ToAddress(bytes32 _buf) internal pure returns (address);
|
|
18
|
+
```
|
|
19
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# ValidatorAnnouncements
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/ValidatorAnnouncements.sol)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## Functions
|
|
6
|
+
### getAnnouncementDigest
|
|
7
|
+
|
|
8
|
+
Returns the digest validators are expected to sign when signing announcements.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
```solidity
|
|
12
|
+
function getAnnouncementDigest(address _mailbox, uint32 _localDomain, string memory _storageLocation)
|
|
13
|
+
internal
|
|
14
|
+
pure
|
|
15
|
+
returns (bytes32);
|
|
16
|
+
```
|
|
17
|
+
**Parameters**
|
|
18
|
+
|
|
19
|
+
|Name|Type|Description|
|
|
20
|
+
|----|----|-----------|
|
|
21
|
+
|`_mailbox`|`address`|Address of the mailbox being validated|
|
|
22
|
+
|`_localDomain`|`uint32`|Domain of chain on which the contract is deployed|
|
|
23
|
+
|`_storageLocation`|`string`|Storage location string.|
|
|
24
|
+
|
|
25
|
+
**Returns**
|
|
26
|
+
|
|
27
|
+
|Name|Type|Description|
|
|
28
|
+
|----|----|-----------|
|
|
29
|
+
|`<none>`|`bytes32`|The digest of the announcement.|
|
|
30
|
+
|
|
31
|
+
|
package/docs/src/contracts/libs/isms/AggregationIsmMetadata.sol/library.AggregationIsmMetadata.md
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# AggregationIsmMetadata
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/isms/AggregationIsmMetadata.sol)
|
|
3
|
+
|
|
4
|
+
Format of metadata:
|
|
5
|
+
[????:????] Metadata start/end uint32 ranges, packed as uint64
|
|
6
|
+
[????:????] ISM metadata, packed encoding
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## State Variables
|
|
10
|
+
### RANGE_SIZE
|
|
11
|
+
|
|
12
|
+
```solidity
|
|
13
|
+
uint256 private constant RANGE_SIZE = 4;
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Functions
|
|
18
|
+
### hasMetadata
|
|
19
|
+
|
|
20
|
+
Returns whether or not metadata was provided for the ISM at
|
|
21
|
+
`_index`
|
|
22
|
+
|
|
23
|
+
*Callers must ensure _index is less than the number of metadatas
|
|
24
|
+
provided*
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
```solidity
|
|
28
|
+
function hasMetadata(bytes calldata _metadata, uint8 _index) internal pure returns (bool);
|
|
29
|
+
```
|
|
30
|
+
**Parameters**
|
|
31
|
+
|
|
32
|
+
|Name|Type|Description|
|
|
33
|
+
|----|----|-----------|
|
|
34
|
+
|`_metadata`|`bytes`|Encoded Aggregation ISM metadata|
|
|
35
|
+
|`_index`|`uint8`|The index of the ISM to check for metadata for|
|
|
36
|
+
|
|
37
|
+
**Returns**
|
|
38
|
+
|
|
39
|
+
|Name|Type|Description|
|
|
40
|
+
|----|----|-----------|
|
|
41
|
+
|`<none>`|`bool`|Whether or not metadata was provided for the ISM at `_index`|
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
### metadataAt
|
|
45
|
+
|
|
46
|
+
Returns the metadata provided for the ISM at `_index`
|
|
47
|
+
|
|
48
|
+
*Callers must ensure _index is less than the number of metadatas
|
|
49
|
+
provided*
|
|
50
|
+
|
|
51
|
+
*Callers must ensure `hasMetadata(_metadata, _index)`*
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
```solidity
|
|
55
|
+
function metadataAt(bytes calldata _metadata, uint8 _index) internal pure returns (bytes calldata);
|
|
56
|
+
```
|
|
57
|
+
**Parameters**
|
|
58
|
+
|
|
59
|
+
|Name|Type|Description|
|
|
60
|
+
|----|----|-----------|
|
|
61
|
+
|`_metadata`|`bytes`|Encoded Aggregation ISM metadata|
|
|
62
|
+
|`_index`|`uint8`|The index of the ISM to return metadata for|
|
|
63
|
+
|
|
64
|
+
**Returns**
|
|
65
|
+
|
|
66
|
+
|Name|Type|Description|
|
|
67
|
+
|----|----|-----------|
|
|
68
|
+
|`<none>`|`bytes`|The metadata provided for the ISM at `_index`|
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
### _metadataRange
|
|
72
|
+
|
|
73
|
+
Returns the range of the metadata provided for the ISM at
|
|
74
|
+
`_index`, or zeroes if not provided
|
|
75
|
+
|
|
76
|
+
*Callers must ensure _index is less than the number of metadatas
|
|
77
|
+
provided*
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
```solidity
|
|
81
|
+
function _metadataRange(bytes calldata _metadata, uint8 _index) private pure returns (uint32, uint32);
|
|
82
|
+
```
|
|
83
|
+
**Parameters**
|
|
84
|
+
|
|
85
|
+
|Name|Type|Description|
|
|
86
|
+
|----|----|-----------|
|
|
87
|
+
|`_metadata`|`bytes`|Encoded Aggregation ISM metadata|
|
|
88
|
+
|`_index`|`uint8`|The index of the ISM to return metadata range for|
|
|
89
|
+
|
|
90
|
+
**Returns**
|
|
91
|
+
|
|
92
|
+
|Name|Type|Description|
|
|
93
|
+
|----|----|-----------|
|
|
94
|
+
|`<none>`|`uint32`|The range of the metadata provided for the ISM at `_index`, or zeroes if not provided|
|
|
95
|
+
|`<none>`|`uint32`||
|
|
96
|
+
|
|
97
|
+
|