@hyperlane-xyz/core 5.6.0 → 5.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/Mailbox.sol +2 -1
- package/contracts/PackageVersioned.sol +1 -1
- package/contracts/client/MailboxClient.sol +20 -1
- package/contracts/hooks/ArbL2ToL1Hook.sol +23 -12
- package/contracts/hooks/OPL2ToL1Hook.sol +23 -12
- package/contracts/hooks/OPStackHook.sol +9 -6
- package/contracts/hooks/PolygonPosHook.sol +10 -3
- package/contracts/hooks/ProtocolFee.sol +5 -0
- package/contracts/hooks/aggregation/ERC5164Hook.sol +13 -3
- package/contracts/hooks/layer-zero/LayerZeroV2Hook.sol +11 -3
- package/contracts/hooks/libs/AbstractMessageIdAuthHook.sol +22 -8
- package/contracts/isms/hook/AbstractMessageIdAuthorizedIsm.sol +14 -7
- package/contracts/isms/hook/ArbL2ToL1Ism.sol +10 -3
- package/contracts/isms/hook/ERC5164Ism.sol +1 -1
- package/contracts/isms/hook/OPStackIsm.sol +1 -1
- package/contracts/isms/hook/PolygonPosIsm.sol +1 -1
- package/contracts/isms/hook/layer-zero/LayerZeroV2Ism.sol +16 -5
- package/contracts/libs/OPL2ToL1Metadata.sol +5 -5
- package/contracts/middleware/InterchainAccountRouter.sol +27 -7
- package/contracts/mock/MockMailbox.sol +2 -2
- package/contracts/test/TestPostDispatchHook.sol +5 -4
- package/contracts/token/extensions/HypERC4626.sol +66 -29
- package/dist/buildArtifact.js +1 -1
- package/dist/buildArtifact.json +1 -1
- package/dist/contracts/client/GasRouter.d.ts +20 -0
- package/dist/contracts/client/GasRouter.d.ts.map +1 -1
- package/dist/contracts/client/MailboxClient.d.ts +20 -0
- package/dist/contracts/client/MailboxClient.d.ts.map +1 -1
- package/dist/contracts/client/Router.d.ts +20 -0
- package/dist/contracts/client/Router.d.ts.map +1 -1
- package/dist/contracts/hooks/ArbL2ToL1Hook.d.ts +36 -16
- package/dist/contracts/hooks/ArbL2ToL1Hook.d.ts.map +1 -1
- package/dist/contracts/hooks/MerkleTreeHook.d.ts +20 -0
- package/dist/contracts/hooks/MerkleTreeHook.d.ts.map +1 -1
- package/dist/contracts/hooks/OPL2ToL1Hook.d.ts +51 -16
- package/dist/contracts/hooks/OPL2ToL1Hook.d.ts.map +1 -1
- package/dist/contracts/hooks/OPStackHook.d.ts +20 -0
- package/dist/contracts/hooks/OPStackHook.d.ts.map +1 -1
- package/dist/contracts/hooks/PolygonPosHook.d.ts +20 -0
- package/dist/contracts/hooks/PolygonPosHook.d.ts.map +1 -1
- package/dist/contracts/hooks/ProtocolFee.d.ts +24 -0
- package/dist/contracts/hooks/ProtocolFee.d.ts.map +1 -1
- package/dist/contracts/hooks/aggregation/ERC5164Hook.d.ts +20 -0
- package/dist/contracts/hooks/aggregation/ERC5164Hook.d.ts.map +1 -1
- package/dist/contracts/hooks/layer-zero/LayerZeroV1Hook.d.ts +20 -0
- package/dist/contracts/hooks/layer-zero/LayerZeroV1Hook.d.ts.map +1 -1
- package/dist/contracts/hooks/layer-zero/LayerZeroV2Hook.d.ts +20 -0
- package/dist/contracts/hooks/layer-zero/LayerZeroV2Hook.d.ts.map +1 -1
- package/dist/contracts/hooks/libs/AbstractMessageIdAuthHook.d.ts +20 -0
- package/dist/contracts/hooks/libs/AbstractMessageIdAuthHook.d.ts.map +1 -1
- package/dist/contracts/hooks/routing/DestinationRecipientRoutingHook.d.ts +20 -0
- package/dist/contracts/hooks/routing/DestinationRecipientRoutingHook.d.ts.map +1 -1
- package/dist/contracts/hooks/routing/DomainRoutingHook.d.ts +20 -0
- package/dist/contracts/hooks/routing/DomainRoutingHook.d.ts.map +1 -1
- package/dist/contracts/hooks/routing/FallbackDomainRoutingHook.d.ts +20 -0
- package/dist/contracts/hooks/routing/FallbackDomainRoutingHook.d.ts.map +1 -1
- package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts +20 -0
- package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts.map +1 -1
- package/dist/contracts/isms/hook/AbstractMessageIdAuthorizedIsm.d.ts +40 -38
- package/dist/contracts/isms/hook/AbstractMessageIdAuthorizedIsm.d.ts.map +1 -1
- package/dist/contracts/isms/hook/ArbL2ToL1Ism.d.ts +40 -38
- package/dist/contracts/isms/hook/ArbL2ToL1Ism.d.ts.map +1 -1
- package/dist/contracts/isms/hook/ERC5164Ism.d.ts +40 -38
- package/dist/contracts/isms/hook/ERC5164Ism.d.ts.map +1 -1
- package/dist/contracts/isms/hook/OPL2ToL1Ism.d.ts +40 -38
- package/dist/contracts/isms/hook/OPL2ToL1Ism.d.ts.map +1 -1
- package/dist/contracts/isms/hook/OPStackIsm.d.ts +40 -38
- package/dist/contracts/isms/hook/OPStackIsm.d.ts.map +1 -1
- package/dist/contracts/isms/hook/PolygonPosIsm.d.ts +39 -37
- package/dist/contracts/isms/hook/PolygonPosIsm.d.ts.map +1 -1
- package/dist/contracts/isms/hook/layer-zero/LayerZeroV2Ism.d.ts +39 -37
- package/dist/contracts/isms/hook/layer-zero/LayerZeroV2Ism.d.ts.map +1 -1
- package/dist/contracts/isms/multisig/ValidatorAnnounce.d.ts +20 -0
- package/dist/contracts/isms/multisig/ValidatorAnnounce.d.ts.map +1 -1
- package/dist/contracts/isms/routing/DefaultFallbackRoutingIsm.d.ts +20 -0
- package/dist/contracts/isms/routing/DefaultFallbackRoutingIsm.d.ts.map +1 -1
- package/dist/contracts/isms/warp-route/RateLimitedIsm.d.ts +20 -0
- package/dist/contracts/isms/warp-route/RateLimitedIsm.d.ts.map +1 -1
- package/dist/contracts/middleware/InterchainAccountRouter.d.ts +20 -0
- package/dist/contracts/middleware/InterchainAccountRouter.d.ts.map +1 -1
- package/dist/contracts/middleware/InterchainQueryRouter.d.ts +20 -0
- package/dist/contracts/middleware/InterchainQueryRouter.d.ts.map +1 -1
- package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts +20 -0
- package/dist/contracts/middleware/liquidity-layer/LiquidityLayerRouter.d.ts.map +1 -1
- package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts +20 -0
- package/dist/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter.d.ts.map +1 -1
- package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts +20 -0
- package/dist/contracts/middleware/liquidity-layer/adapters/PortalAdapter.d.ts.map +1 -1
- package/dist/contracts/mock/MockMailbox.d.ts +8 -8
- package/dist/contracts/mock/MockMailbox.d.ts.map +1 -1
- package/dist/contracts/test/TestGasRouter.d.ts +20 -0
- package/dist/contracts/test/TestGasRouter.d.ts.map +1 -1
- package/dist/contracts/test/TestMerkleTreeHook.d.ts +20 -0
- package/dist/contracts/test/TestMerkleTreeHook.d.ts.map +1 -1
- package/dist/contracts/test/TestRouter.d.ts +20 -0
- package/dist/contracts/test/TestRouter.d.ts.map +1 -1
- package/dist/contracts/token/HypERC20.d.ts +20 -0
- package/dist/contracts/token/HypERC20.d.ts.map +1 -1
- package/dist/contracts/token/HypERC20Collateral.d.ts +20 -0
- package/dist/contracts/token/HypERC20Collateral.d.ts.map +1 -1
- package/dist/contracts/token/HypERC721.d.ts +20 -0
- package/dist/contracts/token/HypERC721.d.ts.map +1 -1
- package/dist/contracts/token/HypERC721Collateral.d.ts +20 -0
- package/dist/contracts/token/HypERC721Collateral.d.ts.map +1 -1
- package/dist/contracts/token/HypNative.d.ts +20 -0
- package/dist/contracts/token/HypNative.d.ts.map +1 -1
- package/dist/contracts/token/extensions/FastHypERC20.d.ts +20 -0
- package/dist/contracts/token/extensions/FastHypERC20.d.ts.map +1 -1
- package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts +20 -0
- package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC4626.d.ts +46 -11
- package/dist/contracts/token/extensions/HypERC4626.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts +20 -0
- package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts +20 -0
- package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC721URICollateral.d.ts +20 -0
- package/dist/contracts/token/extensions/HypERC721URICollateral.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC721URIStorage.d.ts +20 -0
- package/dist/contracts/token/extensions/HypERC721URIStorage.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypFiatToken.d.ts +20 -0
- package/dist/contracts/token/extensions/HypFiatToken.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypNativeScaled.d.ts +20 -0
- package/dist/contracts/token/extensions/HypNativeScaled.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypXERC20.d.ts +20 -0
- package/dist/contracts/token/extensions/HypXERC20.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypXERC20Lockbox.d.ts +20 -0
- package/dist/contracts/token/extensions/HypXERC20Lockbox.d.ts.map +1 -1
- package/dist/contracts/token/libs/FastTokenRouter.d.ts +20 -0
- package/dist/contracts/token/libs/FastTokenRouter.d.ts.map +1 -1
- package/dist/contracts/token/libs/TokenRouter.d.ts +20 -0
- package/dist/contracts/token/libs/TokenRouter.d.ts.map +1 -1
- package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts +1 -1
- package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
- package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
- package/dist/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
- package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/Mailbox__factory.js +1 -1
- package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.d.ts +1 -1
- package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.js +1 -1
- package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.d.ts +1 -1
- package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.js +1 -1
- package/dist/factories/contracts/client/GasRouter__factory.d.ts +20 -0
- package/dist/factories/contracts/client/GasRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/client/GasRouter__factory.js +26 -0
- package/dist/factories/contracts/client/GasRouter__factory.js.map +1 -1
- package/dist/factories/contracts/client/MailboxClient__factory.d.ts +20 -0
- package/dist/factories/contracts/client/MailboxClient__factory.d.ts.map +1 -1
- package/dist/factories/contracts/client/MailboxClient__factory.js +26 -0
- package/dist/factories/contracts/client/MailboxClient__factory.js.map +1 -1
- package/dist/factories/contracts/client/Router__factory.d.ts +20 -0
- package/dist/factories/contracts/client/Router__factory.d.ts.map +1 -1
- package/dist/factories/contracts/client/Router__factory.js +26 -0
- package/dist/factories/contracts/client/Router__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +34 -14
- package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +42 -16
- package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +21 -1
- package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +27 -1
- package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +37 -7
- package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +48 -9
- package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +21 -1
- package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/OPStackHook__factory.js +27 -1
- package/dist/factories/contracts/hooks/OPStackHook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/PausableHook__factory.js +1 -1
- package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts +21 -1
- package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +27 -1
- package/dist/factories/contracts/hooks/PolygonPosHook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +21 -1
- package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/ProtocolFee__factory.js +27 -1
- package/dist/factories/contracts/hooks/ProtocolFee__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +21 -1
- package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +27 -1
- package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
- package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
- package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
- package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.js +1 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +21 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +27 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +21 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +27 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/libs/AbstractMessageIdAuthHook__factory.d.ts +20 -0
- package/dist/factories/contracts/hooks/libs/AbstractMessageIdAuthHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/libs/AbstractMessageIdAuthHook__factory.js +26 -0
- package/dist/factories/contracts/hooks/libs/AbstractMessageIdAuthHook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +21 -1
- package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +27 -1
- package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +21 -1
- package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +27 -1
- package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +21 -1
- package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +27 -1
- package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +21 -1
- package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +27 -1
- package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js.map +1 -1
- package/dist/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/NoopIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/PausableIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/TrustedRelayerIsm__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/AbstractMessageIdAuthorizedIsm__factory.d.ts +19 -10
- package/dist/factories/contracts/isms/hook/AbstractMessageIdAuthorizedIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/AbstractMessageIdAuthorizedIsm__factory.js +24 -13
- package/dist/factories/contracts/isms/hook/AbstractMessageIdAuthorizedIsm__factory.js.map +1 -1
- package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +20 -11
- package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +25 -14
- package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js.map +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +20 -11
- package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +25 -14
- package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js.map +1 -1
- package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +20 -11
- package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +25 -14
- package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js.map +1 -1
- package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +20 -11
- package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +25 -14
- package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js.map +1 -1
- package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +20 -11
- package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +25 -14
- package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js.map +1 -1
- package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +20 -11
- package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +25 -14
- package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js.map +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/multisig/ValidatorAnnounce__factory.d.ts +21 -1
- package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +27 -1
- package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js.map +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +21 -1
- package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +27 -1
- package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js.map +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/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/isms/warp-route/RateLimitedIsm__factory.d.ts +21 -1
- package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +27 -1
- package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +21 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +27 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +21 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +27 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +21 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +27 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +21 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +27 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +21 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +27 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js.map +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
- package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
- package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +2 -2
- package/dist/factories/contracts/mock/MockMailbox__factory.d.ts.map +1 -1
- package/dist/factories/contracts/mock/MockMailbox__factory.js +2 -2
- package/dist/factories/contracts/mock/MockMailbox__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +21 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.js +27 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestInterchainGasPaymaster__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/TestMerkleTreeHook__factory.d.ts +21 -1
- package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +27 -1
- package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
- package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestQuerySender__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/TestRemoteChallenger__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestRemoteChallenger__factory.js +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.d.ts +21 -1
- package/dist/factories/contracts/test/TestRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestRouter__factory.js +27 -1
- package/dist/factories/contracts/test/TestRouter__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
- package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.d.ts +1 -1
- package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.js +1 -1
- package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +21 -1
- package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC20Collateral__factory.js +27 -1
- package/dist/factories/contracts/token/HypERC20Collateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypERC20__factory.d.ts +21 -1
- package/dist/factories/contracts/token/HypERC20__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC20__factory.js +27 -1
- package/dist/factories/contracts/token/HypERC20__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +21 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.js +27 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypERC721__factory.d.ts +21 -1
- package/dist/factories/contracts/token/HypERC721__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC721__factory.js +27 -1
- package/dist/factories/contracts/token/HypERC721__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypNative__factory.d.ts +21 -1
- package/dist/factories/contracts/token/HypNative__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypNative__factory.js +27 -1
- package/dist/factories/contracts/token/HypNative__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +21 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +27 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +21 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +27 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +21 -1
- package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +27 -1
- package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +21 -1
- package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +27 -1
- package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +33 -3
- package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +42 -3
- package/dist/factories/contracts/token/extensions/HypERC4626__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +21 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +27 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +21 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +27 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +21 -1
- package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +27 -1
- package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +21 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +27 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +21 -1
- package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +27 -1
- package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +21 -1
- package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +27 -1
- package/dist/factories/contracts/token/extensions/HypXERC20__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/WHypERC4626__factory.d.ts +1 -1
- package/dist/factories/contracts/token/extensions/WHypERC4626__factory.js +1 -1
- package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts +20 -0
- package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js +26 -0
- package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js.map +1 -1
- package/dist/factories/contracts/token/libs/TokenRouter__factory.d.ts +20 -0
- package/dist/factories/contracts/token/libs/TokenRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/libs/TokenRouter__factory.js +26 -0
- package/dist/factories/contracts/token/libs/TokenRouter__factory.js.map +1 -1
- package/package.json +2 -2
|
@@ -57,7 +57,7 @@ contract LayerZeroV2Ism is AbstractMessageIdAuthorizedIsm {
|
|
|
57
57
|
/**
|
|
58
58
|
* @notice Entry point for receiving msg/packet from the LayerZero endpoint.
|
|
59
59
|
* @param _lzMessage The payload of the received message.
|
|
60
|
-
* @dev Authorization verification is done within
|
|
60
|
+
* @dev Authorization verification is done within preVerifyMessage() -> _isAuthorized()
|
|
61
61
|
*/
|
|
62
62
|
function lzReceive(
|
|
63
63
|
Origin calldata,
|
|
@@ -66,25 +66,36 @@ contract LayerZeroV2Ism is AbstractMessageIdAuthorizedIsm {
|
|
|
66
66
|
address,
|
|
67
67
|
bytes calldata
|
|
68
68
|
) external payable {
|
|
69
|
-
|
|
69
|
+
preVerifyMessage(_messageId(_lzMessage), _msgValue(_lzMessage));
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
// ============ Internal function ============
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
75
|
* @notice Slices the messageId from the message delivered from LayerZeroV2Hook
|
|
76
|
-
* @dev message is created as abi.encodeCall(AbstractMessageIdAuthorizedIsm.
|
|
76
|
+
* @dev message is created as abi.encodeCall(AbstractMessageIdAuthorizedIsm.preVerifyMessage, id)
|
|
77
77
|
* @dev _message will be 36 bytes (4 bytes for function selector, and 32 bytes for messageId)
|
|
78
78
|
*/
|
|
79
79
|
function _messageId(
|
|
80
80
|
bytes calldata _message
|
|
81
81
|
) internal pure returns (bytes32) {
|
|
82
|
-
return bytes32(_message[FUNC_SELECTOR_OFFSET:]);
|
|
82
|
+
return bytes32(_message[FUNC_SELECTOR_OFFSET:ORIGIN_SENDER_OFFSET]);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* @notice Slices the msgValue from the message delivered from LayerZeroV2Hook
|
|
87
|
+
* @dev message is created as abi.encodeCall(AbstractMessageIdAuthorizedIsm.preVerifyMessage, (id,msgValue))
|
|
88
|
+
* @dev _message will be 68 bytes (4 bytes for function selector, and 32 bytes for messageId, another 32 for msgValue)
|
|
89
|
+
*/
|
|
90
|
+
function _msgValue(
|
|
91
|
+
bytes calldata _message
|
|
92
|
+
) internal pure returns (uint256) {
|
|
93
|
+
return uint256(bytes32(_message[ORIGIN_SENDER_OFFSET:]));
|
|
83
94
|
}
|
|
84
95
|
|
|
85
96
|
/**
|
|
86
97
|
* @notice Validates criteria to verify a message
|
|
87
|
-
* @dev this is called by AbstractMessageIdAuthorizedIsm.
|
|
98
|
+
* @dev this is called by AbstractMessageIdAuthorizedIsm.preVerifyMessage
|
|
88
99
|
* @dev parses msg.value to get parameters from lzReceive()
|
|
89
100
|
*/
|
|
90
101
|
function _isAuthorized() internal view override returns (bool) {
|
|
@@ -7,7 +7,7 @@ pragma solidity >=0.8.0;
|
|
|
7
7
|
*/
|
|
8
8
|
library OPL2ToL1Metadata {
|
|
9
9
|
// bottom offset to the start of message id in the metadata
|
|
10
|
-
uint256 private constant MESSAGE_ID_OFFSET =
|
|
10
|
+
uint256 private constant MESSAGE_ID_OFFSET = 120;
|
|
11
11
|
// from IOptimismPortal.WithdrawalTransaction
|
|
12
12
|
// Σ {
|
|
13
13
|
// nonce = 32 bytes
|
|
@@ -20,7 +20,7 @@ library OPL2ToL1Metadata {
|
|
|
20
20
|
// LENGTH = 32 bytes
|
|
21
21
|
// } = 252 bytes
|
|
22
22
|
uint256 private constant FIXED_METADATA_LENGTH = 252;
|
|
23
|
-
// metadata here is double encoded call relayMessage(...,
|
|
23
|
+
// metadata here is double encoded call relayMessage(..., preVerifyMessage)
|
|
24
24
|
// Σ {
|
|
25
25
|
// _selector = 4 bytes
|
|
26
26
|
// _nonce = 32 bytes
|
|
@@ -31,9 +31,9 @@ library OPL2ToL1Metadata {
|
|
|
31
31
|
// _data
|
|
32
32
|
// OFFSET = 32 bytes
|
|
33
33
|
// LENGTH = 32 bytes
|
|
34
|
-
// PADDING +
|
|
35
|
-
// } =
|
|
36
|
-
uint256 private constant MESSENGER_CALLDATA_LENGTH =
|
|
34
|
+
// PADDING + preVerifyMessage = 96 bytes
|
|
35
|
+
// } = 324 bytes
|
|
36
|
+
uint256 private constant MESSENGER_CALLDATA_LENGTH = 324;
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* @notice Returns the message ID.
|
|
@@ -22,6 +22,7 @@ import {TypeCasts} from "../libs/TypeCasts.sol";
|
|
|
22
22
|
import {StandardHookMetadata} from "../hooks/libs/StandardHookMetadata.sol";
|
|
23
23
|
import {EnumerableMapExtended} from "../libs/EnumerableMapExtended.sol";
|
|
24
24
|
import {Router} from "../client/Router.sol";
|
|
25
|
+
import {IPostDispatchHook} from "../interfaces/hooks/IPostDispatchHook.sol";
|
|
25
26
|
|
|
26
27
|
// ============ External Imports ============
|
|
27
28
|
import {Create2} from "@openzeppelin/contracts/utils/Create2.sol";
|
|
@@ -160,6 +161,12 @@ contract InterchainAccountRouter is Router {
|
|
|
160
161
|
}
|
|
161
162
|
}
|
|
162
163
|
|
|
164
|
+
function setHook(
|
|
165
|
+
address _hook
|
|
166
|
+
) public override onlyContractOrNull(_hook) onlyOwner {
|
|
167
|
+
hook = IPostDispatchHook(_hook);
|
|
168
|
+
}
|
|
169
|
+
|
|
163
170
|
// ============ External Functions ============
|
|
164
171
|
/**
|
|
165
172
|
* @notice Dispatches a single remote call to be made by an owner's
|
|
@@ -600,7 +607,14 @@ contract InterchainAccountRouter is Router {
|
|
|
600
607
|
) private returns (bytes32) {
|
|
601
608
|
require(_router != bytes32(0), "no router specified for destination");
|
|
602
609
|
emit RemoteCallDispatched(_destination, msg.sender, _router, _ism);
|
|
603
|
-
return
|
|
610
|
+
return
|
|
611
|
+
mailbox.dispatch{value: msg.value}(
|
|
612
|
+
_destination,
|
|
613
|
+
_router,
|
|
614
|
+
_body,
|
|
615
|
+
new bytes(0),
|
|
616
|
+
hook
|
|
617
|
+
);
|
|
604
618
|
}
|
|
605
619
|
|
|
606
620
|
/**
|
|
@@ -625,7 +639,8 @@ contract InterchainAccountRouter is Router {
|
|
|
625
639
|
_destination,
|
|
626
640
|
_router,
|
|
627
641
|
_body,
|
|
628
|
-
_hookMetadata
|
|
642
|
+
_hookMetadata,
|
|
643
|
+
hook
|
|
629
644
|
);
|
|
630
645
|
}
|
|
631
646
|
|
|
@@ -665,7 +680,13 @@ contract InterchainAccountRouter is Router {
|
|
|
665
680
|
function quoteGasPayment(
|
|
666
681
|
uint32 _destination
|
|
667
682
|
) external view returns (uint256 _gasPayment) {
|
|
668
|
-
return
|
|
683
|
+
return
|
|
684
|
+
_Router_quoteDispatch(
|
|
685
|
+
_destination,
|
|
686
|
+
new bytes(0),
|
|
687
|
+
new bytes(0),
|
|
688
|
+
address(hook)
|
|
689
|
+
);
|
|
669
690
|
}
|
|
670
691
|
|
|
671
692
|
/**
|
|
@@ -679,13 +700,12 @@ contract InterchainAccountRouter is Router {
|
|
|
679
700
|
bytes calldata _messageBody,
|
|
680
701
|
uint256 gasLimit
|
|
681
702
|
) external view returns (uint256 _gasPayment) {
|
|
682
|
-
bytes32 _router = _mustHaveRemoteRouter(_destination);
|
|
683
703
|
return
|
|
684
|
-
|
|
704
|
+
_Router_quoteDispatch(
|
|
685
705
|
_destination,
|
|
686
|
-
_router,
|
|
687
706
|
_messageBody,
|
|
688
|
-
StandardHookMetadata.overrideGasLimit(gasLimit)
|
|
707
|
+
StandardHookMetadata.overrideGasLimit(gasLimit),
|
|
708
|
+
address(hook)
|
|
689
709
|
);
|
|
690
710
|
}
|
|
691
711
|
}
|
|
@@ -78,8 +78,8 @@ contract MockMailbox is Mailbox {
|
|
|
78
78
|
inboundProcessedNonce++;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
function processInboundMessage(uint32 _nonce) public {
|
|
81
|
+
function processInboundMessage(uint32 _nonce) public payable {
|
|
82
82
|
bytes memory _message = inboundMessages[_nonce];
|
|
83
|
-
Mailbox(address(this)).process("", _message);
|
|
83
|
+
Mailbox(address(this)).process{value: msg.value}("", _message);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
2
|
pragma solidity >=0.8.0;
|
|
3
|
+
|
|
3
4
|
import {Message} from "../libs/Message.sol";
|
|
4
5
|
|
|
5
6
|
import {IPostDispatchHook} from "../interfaces/hooks/IPostDispatchHook.sol";
|
|
@@ -35,15 +36,15 @@ contract TestPostDispatchHook is AbstractPostDispatchHook {
|
|
|
35
36
|
|
|
36
37
|
// ============ Internal functions ============
|
|
37
38
|
function _postDispatch(
|
|
38
|
-
bytes calldata
|
|
39
|
-
bytes calldata message
|
|
39
|
+
bytes calldata,
|
|
40
|
+
/*metadata*/ bytes calldata message
|
|
40
41
|
) internal override {
|
|
41
42
|
messageDispatched[message.id()] = true;
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
function _quoteDispatch(
|
|
45
|
-
bytes calldata
|
|
46
|
-
bytes calldata /*message*/
|
|
46
|
+
bytes calldata,
|
|
47
|
+
/*metadata*/ bytes calldata /*message*/
|
|
47
48
|
) internal view override returns (uint256) {
|
|
48
49
|
return fee;
|
|
49
50
|
}
|
|
@@ -22,10 +22,13 @@ import {TokenRouter} from "../libs/TokenRouter.sol";
|
|
|
22
22
|
|
|
23
23
|
// ============ External Imports ============
|
|
24
24
|
import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
|
|
25
|
+
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
26
|
+
import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";
|
|
25
27
|
|
|
26
28
|
/**
|
|
27
29
|
* @title Hyperlane ERC20 Rebasing Token
|
|
28
30
|
* @author Abacus Works
|
|
31
|
+
* @notice This contract implements a rebasing token that reflects yields from the origin chain
|
|
29
32
|
*/
|
|
30
33
|
contract HypERC4626 is HypERC20 {
|
|
31
34
|
using Math for uint256;
|
|
@@ -49,6 +52,67 @@ contract HypERC4626 is HypERC20 {
|
|
|
49
52
|
_disableInitializers();
|
|
50
53
|
}
|
|
51
54
|
|
|
55
|
+
// ============ Public Functions ============
|
|
56
|
+
|
|
57
|
+
/// Override transfer to handle underlying amounts while using shares internally
|
|
58
|
+
/// @inheritdoc ERC20Upgradeable
|
|
59
|
+
/// @dev the Transfer event emitted from ERC20Upgradeable will be in terms of shares not assets, so it may be misleading
|
|
60
|
+
function transfer(
|
|
61
|
+
address to,
|
|
62
|
+
uint256 amount
|
|
63
|
+
) public virtual override returns (bool) {
|
|
64
|
+
_transfer(_msgSender(), to, assetsToShares(amount));
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/// Override transferFrom to handle underlying amounts while using shares internally
|
|
69
|
+
/// @inheritdoc ERC20Upgradeable
|
|
70
|
+
function transferFrom(
|
|
71
|
+
address sender,
|
|
72
|
+
address recipient,
|
|
73
|
+
uint256 amount
|
|
74
|
+
) public virtual override returns (bool) {
|
|
75
|
+
address spender = _msgSender();
|
|
76
|
+
uint256 shares = assetsToShares(amount);
|
|
77
|
+
_spendAllowance(sender, spender, amount);
|
|
78
|
+
_transfer(sender, recipient, shares);
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/// Override totalSupply to return the total assets instead of shares. This reflects the actual circulating supply in terms of assets, accounting for rebasing
|
|
83
|
+
/// @inheritdoc ERC20Upgradeable
|
|
84
|
+
function totalSupply() public view virtual override returns (uint256) {
|
|
85
|
+
return sharesToAssets(totalShares());
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/// This returns the balance of the account in terms of assets, accounting for rebasing
|
|
89
|
+
/// @inheritdoc ERC20Upgradeable
|
|
90
|
+
function balanceOf(
|
|
91
|
+
address account
|
|
92
|
+
) public view virtual override returns (uint256) {
|
|
93
|
+
return sharesToAssets(shareBalanceOf(account));
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/// This function provides the total supply in terms of shares
|
|
97
|
+
function totalShares() public view returns (uint256) {
|
|
98
|
+
return super.totalSupply();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// This returns the balance of the account in terms of shares
|
|
102
|
+
function shareBalanceOf(address account) public view returns (uint256) {
|
|
103
|
+
return super.balanceOf(account);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function assetsToShares(uint256 _amount) public view returns (uint256) {
|
|
107
|
+
return _amount.mulDiv(PRECISION, exchangeRate);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function sharesToAssets(uint256 _shares) public view returns (uint256) {
|
|
111
|
+
return _shares.mulDiv(exchangeRate, PRECISION);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// ============ Internal Functions ============
|
|
115
|
+
|
|
52
116
|
/// Override to send shares instead of assets from synthetic
|
|
53
117
|
/// @inheritdoc TokenRouter
|
|
54
118
|
function _transferRemote(
|
|
@@ -78,6 +142,8 @@ contract HypERC4626 is HypERC20 {
|
|
|
78
142
|
emit SentTransferRemote(_destination, _recipient, _amountOrId);
|
|
79
143
|
}
|
|
80
144
|
|
|
145
|
+
/// override _handle to update exchange rate
|
|
146
|
+
/// @inheritdoc TokenRouter
|
|
81
147
|
function _handle(
|
|
82
148
|
uint32 _origin,
|
|
83
149
|
bytes32 _sender,
|
|
@@ -97,33 +163,4 @@ contract HypERC4626 is HypERC20 {
|
|
|
97
163
|
}
|
|
98
164
|
super._handle(_origin, _sender, _message);
|
|
99
165
|
}
|
|
100
|
-
|
|
101
|
-
// Override to send shares locally instead of assets
|
|
102
|
-
function transfer(
|
|
103
|
-
address to,
|
|
104
|
-
uint256 amount
|
|
105
|
-
) public virtual override returns (bool) {
|
|
106
|
-
address owner = _msgSender();
|
|
107
|
-
_transfer(owner, to, assetsToShares(amount));
|
|
108
|
-
return true;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function shareBalanceOf(address account) public view returns (uint256) {
|
|
112
|
-
return super.balanceOf(account);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
function balanceOf(
|
|
116
|
-
address account
|
|
117
|
-
) public view virtual override returns (uint256) {
|
|
118
|
-
uint256 _balance = super.balanceOf(account);
|
|
119
|
-
return sharesToAssets(_balance);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
function assetsToShares(uint256 _amount) public view returns (uint256) {
|
|
123
|
-
return _amount.mulDiv(PRECISION, exchangeRate);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
function sharesToAssets(uint256 _shares) public view returns (uint256) {
|
|
127
|
-
return _shares.mulDiv(exchangeRate, PRECISION);
|
|
128
|
-
}
|
|
129
166
|
}
|