@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
package/docs/src/contracts/isms/routing/InterchainAccountIsm.sol/contract.InterchainAccountIsm.md
ADDED
|
@@ -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
|
+
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
# MerkleLib
|
|
2
|
+
[Git Source](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/a5209dbd9b0f5eb34e0bc9df2ba157dda2b454d3/contracts/libs/Merkle.sol)
|
|
3
|
+
|
|
4
|
+
**Author:**
|
|
5
|
+
Celo Labs Inc.
|
|
6
|
+
|
|
7
|
+
An incremental merkle tree modeled on the eth2 deposit contract.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## State Variables
|
|
11
|
+
### TREE_DEPTH
|
|
12
|
+
|
|
13
|
+
```solidity
|
|
14
|
+
uint256 internal constant TREE_DEPTH = 32;
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### MAX_LEAVES
|
|
19
|
+
|
|
20
|
+
```solidity
|
|
21
|
+
uint256 internal constant MAX_LEAVES = 2 ** TREE_DEPTH - 1;
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Z_0
|
|
26
|
+
|
|
27
|
+
```solidity
|
|
28
|
+
bytes32 internal constant Z_0 = hex"0000000000000000000000000000000000000000000000000000000000000000";
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Z_1
|
|
33
|
+
|
|
34
|
+
```solidity
|
|
35
|
+
bytes32 internal constant Z_1 = hex"ad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5";
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### Z_2
|
|
40
|
+
|
|
41
|
+
```solidity
|
|
42
|
+
bytes32 internal constant Z_2 = hex"b4c11951957c6f8f642c4af61cd6b24640fec6dc7fc607ee8206a99e92410d30";
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
### Z_3
|
|
47
|
+
|
|
48
|
+
```solidity
|
|
49
|
+
bytes32 internal constant Z_3 = hex"21ddb9a356815c3fac1026b6dec5df3124afbadb485c9ba5a3e3398a04b7ba85";
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### Z_4
|
|
54
|
+
|
|
55
|
+
```solidity
|
|
56
|
+
bytes32 internal constant Z_4 = hex"e58769b32a1beaf1ea27375a44095a0d1fb664ce2dd358e7fcbfb78c26a19344";
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
### Z_5
|
|
61
|
+
|
|
62
|
+
```solidity
|
|
63
|
+
bytes32 internal constant Z_5 = hex"0eb01ebfc9ed27500cd4dfc979272d1f0913cc9f66540d7e8005811109e1cf2d";
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
### Z_6
|
|
68
|
+
|
|
69
|
+
```solidity
|
|
70
|
+
bytes32 internal constant Z_6 = hex"887c22bd8750d34016ac3c66b5ff102dacdd73f6b014e710b51e8022af9a1968";
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
### Z_7
|
|
75
|
+
|
|
76
|
+
```solidity
|
|
77
|
+
bytes32 internal constant Z_7 = hex"ffd70157e48063fc33c97a050f7f640233bf646cc98d9524c6b92bcf3ab56f83";
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Z_8
|
|
82
|
+
|
|
83
|
+
```solidity
|
|
84
|
+
bytes32 internal constant Z_8 = hex"9867cc5f7f196b93bae1e27e6320742445d290f2263827498b54fec539f756af";
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
### Z_9
|
|
89
|
+
|
|
90
|
+
```solidity
|
|
91
|
+
bytes32 internal constant Z_9 = hex"cefad4e508c098b9a7e1d8feb19955fb02ba9675585078710969d3440f5054e0";
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
### Z_10
|
|
96
|
+
|
|
97
|
+
```solidity
|
|
98
|
+
bytes32 internal constant Z_10 = hex"f9dc3e7fe016e050eff260334f18a5d4fe391d82092319f5964f2e2eb7c1c3a5";
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
### Z_11
|
|
103
|
+
|
|
104
|
+
```solidity
|
|
105
|
+
bytes32 internal constant Z_11 = hex"f8b13a49e282f609c317a833fb8d976d11517c571d1221a265d25af778ecf892";
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
### Z_12
|
|
110
|
+
|
|
111
|
+
```solidity
|
|
112
|
+
bytes32 internal constant Z_12 = hex"3490c6ceeb450aecdc82e28293031d10c7d73bf85e57bf041a97360aa2c5d99c";
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
### Z_13
|
|
117
|
+
|
|
118
|
+
```solidity
|
|
119
|
+
bytes32 internal constant Z_13 = hex"c1df82d9c4b87413eae2ef048f94b4d3554cea73d92b0f7af96e0271c691e2bb";
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
### Z_14
|
|
124
|
+
|
|
125
|
+
```solidity
|
|
126
|
+
bytes32 internal constant Z_14 = hex"5c67add7c6caf302256adedf7ab114da0acfe870d449a3a489f781d659e8becc";
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
### Z_15
|
|
131
|
+
|
|
132
|
+
```solidity
|
|
133
|
+
bytes32 internal constant Z_15 = hex"da7bce9f4e8618b6bd2f4132ce798cdc7a60e7e1460a7299e3c6342a579626d2";
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
### Z_16
|
|
138
|
+
|
|
139
|
+
```solidity
|
|
140
|
+
bytes32 internal constant Z_16 = hex"2733e50f526ec2fa19a22b31e8ed50f23cd1fdf94c9154ed3a7609a2f1ff981f";
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
### Z_17
|
|
145
|
+
|
|
146
|
+
```solidity
|
|
147
|
+
bytes32 internal constant Z_17 = hex"e1d3b5c807b281e4683cc6d6315cf95b9ade8641defcb32372f1c126e398ef7a";
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
### Z_18
|
|
152
|
+
|
|
153
|
+
```solidity
|
|
154
|
+
bytes32 internal constant Z_18 = hex"5a2dce0a8a7f68bb74560f8f71837c2c2ebbcbf7fffb42ae1896f13f7c7479a0";
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
### Z_19
|
|
159
|
+
|
|
160
|
+
```solidity
|
|
161
|
+
bytes32 internal constant Z_19 = hex"b46a28b6f55540f89444f63de0378e3d121be09e06cc9ded1c20e65876d36aa0";
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
### Z_20
|
|
166
|
+
|
|
167
|
+
```solidity
|
|
168
|
+
bytes32 internal constant Z_20 = hex"c65e9645644786b620e2dd2ad648ddfcbf4a7e5b1a3a4ecfe7f64667a3f0b7e2";
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
### Z_21
|
|
173
|
+
|
|
174
|
+
```solidity
|
|
175
|
+
bytes32 internal constant Z_21 = hex"f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd9";
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
### Z_22
|
|
180
|
+
|
|
181
|
+
```solidity
|
|
182
|
+
bytes32 internal constant Z_22 = hex"5a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e377";
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
### Z_23
|
|
187
|
+
|
|
188
|
+
```solidity
|
|
189
|
+
bytes32 internal constant Z_23 = hex"4df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652";
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
### Z_24
|
|
194
|
+
|
|
195
|
+
```solidity
|
|
196
|
+
bytes32 internal constant Z_24 = hex"cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef";
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
### Z_25
|
|
201
|
+
|
|
202
|
+
```solidity
|
|
203
|
+
bytes32 internal constant Z_25 = hex"0abf5ac974a1ed57f4050aa510dd9c74f508277b39d7973bb2dfccc5eeb0618d";
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
### Z_26
|
|
208
|
+
|
|
209
|
+
```solidity
|
|
210
|
+
bytes32 internal constant Z_26 = hex"b8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d0";
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
### Z_27
|
|
215
|
+
|
|
216
|
+
```solidity
|
|
217
|
+
bytes32 internal constant Z_27 = hex"838c5655cb21c6cb83313b5a631175dff4963772cce9108188b34ac87c81c41e";
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
### Z_28
|
|
222
|
+
|
|
223
|
+
```solidity
|
|
224
|
+
bytes32 internal constant Z_28 = hex"662ee4dd2dd7b2bc707961b1e646c4047669dcb6584f0d8d770daf5d7e7deb2e";
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
### Z_29
|
|
229
|
+
|
|
230
|
+
```solidity
|
|
231
|
+
bytes32 internal constant Z_29 = hex"388ab20e2573d171a88108e79d820e98f26c0b84aa8b2f4aa4968dbb818ea322";
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
### Z_30
|
|
236
|
+
|
|
237
|
+
```solidity
|
|
238
|
+
bytes32 internal constant Z_30 = hex"93237c50ba75ee485f4c22adf2f741400bdf8d6a9cc7df7ecae576221665d735";
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
### Z_31
|
|
243
|
+
|
|
244
|
+
```solidity
|
|
245
|
+
bytes32 internal constant Z_31 = hex"8448818bb4ae4562849e949e17ac16e0be16688e156b5cf15e098c627c0056a9";
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
## Functions
|
|
250
|
+
### insert
|
|
251
|
+
|
|
252
|
+
Inserts `_node` into merkle tree
|
|
253
|
+
|
|
254
|
+
*Reverts if tree is full*
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
```solidity
|
|
258
|
+
function insert(Tree storage _tree, bytes32 _node) internal;
|
|
259
|
+
```
|
|
260
|
+
**Parameters**
|
|
261
|
+
|
|
262
|
+
|Name|Type|Description|
|
|
263
|
+
|----|----|-----------|
|
|
264
|
+
|`_tree`|`Tree`||
|
|
265
|
+
|`_node`|`bytes32`|Element to insert into tree|
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
### rootWithCtx
|
|
269
|
+
|
|
270
|
+
Calculates and returns`_tree`'s current root given array of zero
|
|
271
|
+
hashes
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
```solidity
|
|
275
|
+
function rootWithCtx(Tree storage _tree, bytes32[TREE_DEPTH] memory _zeroes) internal view returns (bytes32 _current);
|
|
276
|
+
```
|
|
277
|
+
**Parameters**
|
|
278
|
+
|
|
279
|
+
|Name|Type|Description|
|
|
280
|
+
|----|----|-----------|
|
|
281
|
+
|`_tree`|`Tree`||
|
|
282
|
+
|`_zeroes`|`bytes32[TREE_DEPTH]`|Array of zero hashes|
|
|
283
|
+
|
|
284
|
+
**Returns**
|
|
285
|
+
|
|
286
|
+
|Name|Type|Description|
|
|
287
|
+
|----|----|-----------|
|
|
288
|
+
|`_current`|`bytes32`|Calculated root of `_tree`|
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
### root
|
|
292
|
+
|
|
293
|
+
Calculates and returns`_tree`'s current root
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
```solidity
|
|
297
|
+
function root(Tree storage _tree) internal view returns (bytes32);
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### zeroHashes
|
|
301
|
+
|
|
302
|
+
Returns array of TREE_DEPTH zero hashes
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
```solidity
|
|
306
|
+
function zeroHashes() internal pure returns (bytes32[TREE_DEPTH] memory _zeroes);
|
|
307
|
+
```
|
|
308
|
+
**Returns**
|
|
309
|
+
|
|
310
|
+
|Name|Type|Description|
|
|
311
|
+
|----|----|-----------|
|
|
312
|
+
|`_zeroes`|`bytes32[TREE_DEPTH]`|Array of TREE_DEPTH zero hashes|
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
### branchRoot
|
|
316
|
+
|
|
317
|
+
Calculates and returns the merkle root for the given leaf
|
|
318
|
+
`_item`, a merkle branch, and the index of `_item` in the tree.
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
```solidity
|
|
322
|
+
function branchRoot(bytes32 _item, bytes32[TREE_DEPTH] memory _branch, uint256 _index)
|
|
323
|
+
internal
|
|
324
|
+
pure
|
|
325
|
+
returns (bytes32 _current);
|
|
326
|
+
```
|
|
327
|
+
**Parameters**
|
|
328
|
+
|
|
329
|
+
|Name|Type|Description|
|
|
330
|
+
|----|----|-----------|
|
|
331
|
+
|`_item`|`bytes32`|Merkle leaf|
|
|
332
|
+
|`_branch`|`bytes32[TREE_DEPTH]`|Merkle proof|
|
|
333
|
+
|`_index`|`uint256`|Index of `_item` in tree|
|
|
334
|
+
|
|
335
|
+
**Returns**
|
|
336
|
+
|
|
337
|
+
|Name|Type|Description|
|
|
338
|
+
|----|----|-----------|
|
|
339
|
+
|`_current`|`bytes32`|Calculated merkle root|
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
## Structs
|
|
343
|
+
### Tree
|
|
344
|
+
Struct representing incremental merkle tree. Contains current
|
|
345
|
+
branch and the number of inserted leaves in the tree.
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
```solidity
|
|
349
|
+
struct Tree {
|
|
350
|
+
bytes32[TREE_DEPTH] branch;
|
|
351
|
+
uint256 count;
|
|
352
|
+
}
|
|
353
|
+
```
|
|
354
|
+
|