@hyperlane-xyz/core 5.4.2-superchain.1 → 5.6.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/PackageVersioned.sol +1 -1
- package/contracts/client/GasRouter.sol +16 -0
- package/contracts/interfaces/IInterchainSecurityModule.sol +1 -2
- package/contracts/interfaces/hooks/IPostDispatchHook.sol +1 -2
- package/contracts/isms/TrustedRelayerIsm.sol +9 -0
- package/contracts/isms/hook/ArbL2ToL1Ism.sol +1 -0
- package/contracts/isms/hook/OPL2ToL1Ism.sol +2 -2
- package/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol +8 -4
- package/contracts/libs/RateLimited.sol +34 -8
- package/contracts/libs/TypeCasts.sol +4 -0
- package/contracts/mock/MockMailbox.sol +5 -0
- package/contracts/mock/MockOptimism.sol +0 -73
- package/contracts/token/HypERC20Collateral.sol +16 -0
- package/contracts/token/extensions/HypERC4626.sol +29 -2
- package/contracts/token/extensions/HypERC4626Collateral.sol +33 -9
- package/contracts/token/extensions/HypERC4626OwnerCollateral.sol +24 -3
- package/contracts/token/extensions/WHypERC4626.sol +113 -0
- package/dist/buildArtifact.js +1 -1
- package/dist/buildArtifact.json +1 -1
- package/dist/contracts/client/GasRouter.d.ts +11 -0
- package/dist/contracts/client/GasRouter.d.ts.map +1 -1
- package/dist/contracts/hooks/index.d.ts +0 -1
- package/dist/contracts/hooks/index.d.ts.map +1 -1
- package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts +24 -10
- package/dist/contracts/hooks/warp-route/RateLimitedHook.d.ts.map +1 -1
- package/dist/contracts/interfaces/optimism/index.d.ts +0 -2
- package/dist/contracts/interfaces/optimism/index.d.ts.map +1 -1
- package/dist/contracts/isms/hook/index.d.ts +0 -2
- package/dist/contracts/isms/hook/index.d.ts.map +1 -1
- package/dist/contracts/isms/warp-route/RateLimitedIsm.d.ts +24 -10
- package/dist/contracts/isms/warp-route/RateLimitedIsm.d.ts.map +1 -1
- package/dist/contracts/libs/RateLimited.d.ts +24 -10
- package/dist/contracts/libs/RateLimited.d.ts.map +1 -1
- package/dist/contracts/mock/MockMailbox.d.ts +32 -1
- package/dist/contracts/mock/MockMailbox.d.ts.map +1 -1
- package/dist/contracts/mock/MockOptimism.sol/index.d.ts +0 -1
- package/dist/contracts/mock/MockOptimism.sol/index.d.ts.map +1 -1
- package/dist/contracts/test/TestGasRouter.d.ts +11 -0
- package/dist/contracts/test/TestGasRouter.d.ts.map +1 -1
- package/dist/contracts/token/HypERC20.d.ts +11 -0
- package/dist/contracts/token/HypERC20.d.ts.map +1 -1
- package/dist/contracts/token/HypERC20Collateral.d.ts +11 -0
- package/dist/contracts/token/HypERC20Collateral.d.ts.map +1 -1
- package/dist/contracts/token/HypERC721.d.ts +11 -0
- package/dist/contracts/token/HypERC721.d.ts.map +1 -1
- package/dist/contracts/token/HypERC721Collateral.d.ts +11 -0
- package/dist/contracts/token/HypERC721Collateral.d.ts.map +1 -1
- package/dist/contracts/token/HypNative.d.ts +11 -0
- package/dist/contracts/token/HypNative.d.ts.map +1 -1
- package/dist/contracts/token/extensions/FastHypERC20.d.ts +11 -0
- package/dist/contracts/token/extensions/FastHypERC20.d.ts.map +1 -1
- package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts +11 -0
- package/dist/contracts/token/extensions/FastHypERC20Collateral.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC4626.d.ts +41 -1
- package/dist/contracts/token/extensions/HypERC4626.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts +41 -15
- package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts +42 -1
- package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC721URICollateral.d.ts +11 -0
- package/dist/contracts/token/extensions/HypERC721URICollateral.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypERC721URIStorage.d.ts +11 -0
- package/dist/contracts/token/extensions/HypERC721URIStorage.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypFiatToken.d.ts +11 -0
- package/dist/contracts/token/extensions/HypFiatToken.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypNativeScaled.d.ts +11 -0
- package/dist/contracts/token/extensions/HypNativeScaled.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypXERC20.d.ts +11 -0
- package/dist/contracts/token/extensions/HypXERC20.d.ts.map +1 -1
- package/dist/contracts/token/extensions/HypXERC20Lockbox.d.ts +11 -0
- package/dist/contracts/token/extensions/HypXERC20Lockbox.d.ts.map +1 -1
- package/dist/contracts/token/extensions/WHypERC4626.d.ts +466 -0
- package/dist/contracts/token/extensions/WHypERC4626.d.ts.map +1 -0
- package/dist/contracts/token/extensions/WHypERC4626.js +2 -0
- package/dist/contracts/token/extensions/WHypERC4626.js.map +1 -0
- package/dist/contracts/token/extensions/index.d.ts +1 -0
- package/dist/contracts/token/extensions/index.d.ts.map +1 -1
- package/dist/contracts/token/libs/FastTokenRouter.d.ts +11 -0
- package/dist/contracts/token/libs/FastTokenRouter.d.ts.map +1 -1
- package/dist/contracts/token/libs/TokenRouter.d.ts +11 -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.d.ts.map +1 -1
- package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
- package/dist/factories/contracts/AttributeCheckpointFraud__factory.js.map +1 -1
- package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
- package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts.map +1 -1
- package/dist/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
- package/dist/factories/contracts/CheckpointFraudProofs__factory.js.map +1 -1
- package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/Mailbox__factory.d.ts.map +1 -1
- package/dist/factories/contracts/Mailbox__factory.js +1 -1
- package/dist/factories/contracts/Mailbox__factory.js.map +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 +15 -0
- package/dist/factories/contracts/client/GasRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/client/GasRouter__factory.js +19 -0
- package/dist/factories/contracts/client/GasRouter__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
- package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
- package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +1 -1
- package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -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 +1 -1
- package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
- package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/ProtocolFee__factory.js +1 -1
- package/dist/factories/contracts/hooks/ProtocolFee__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -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.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
- package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js.map +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/index.d.ts +0 -1
- package/dist/factories/contracts/hooks/index.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/index.js +0 -1
- package/dist/factories/contracts/hooks/index.js.map +1 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -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 +1 -1
- package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js.map +1 -1
- package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
- package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
- package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
- package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
- package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +17 -2
- package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts.map +1 -1
- package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +21 -2
- package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js.map +1 -1
- package/dist/factories/contracts/interfaces/optimism/index.d.ts +0 -2
- package/dist/factories/contracts/interfaces/optimism/index.d.ts.map +1 -1
- package/dist/factories/contracts/interfaces/optimism/index.js +0 -2
- package/dist/factories/contracts/interfaces/optimism/index.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.d.ts.map +1 -1
- package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js.map +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/ArbL2ToL1Ism__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js.map +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js.map +1 -1
- package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js.map +1 -1
- package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js.map +1 -1
- package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js.map +1 -1
- package/dist/factories/contracts/isms/hook/index.d.ts +0 -1
- package/dist/factories/contracts/isms/hook/index.d.ts.map +1 -1
- package/dist/factories/contracts/isms/hook/index.js +0 -1
- package/dist/factories/contracts/isms/hook/index.js.map +1 -1
- package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +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.d.ts.map +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js.map +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.d.ts.map +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js.map +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.d.ts.map +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js.map +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.d.ts.map +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js.map +1 -1
- package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -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.d.ts.map +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js.map +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
- package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js.map +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 +17 -2
- package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts.map +1 -1
- package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +21 -2
- package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js.map +1 -1
- package/dist/factories/contracts/libs/EnumerableMapEnrollment__factory.d.ts +1 -1
- package/dist/factories/contracts/libs/EnumerableMapEnrollment__factory.js +1 -1
- package/dist/factories/contracts/libs/RateLimited__factory.d.ts +17 -2
- package/dist/factories/contracts/libs/RateLimited__factory.d.ts.map +1 -1
- package/dist/factories/contracts/libs/RateLimited__factory.js +21 -2
- package/dist/factories/contracts/libs/RateLimited__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
- package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
- package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/libs/OwnableMulticall__factory.d.ts +1 -1
- package/dist/factories/contracts/middleware/libs/OwnableMulticall__factory.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/libs/OwnableMulticall__factory.js +1 -1
- package/dist/factories/contracts/middleware/libs/OwnableMulticall__factory.js.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -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 +1 -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 +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.d.ts.map +1 -1
- package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -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 +11 -1
- package/dist/factories/contracts/mock/MockMailbox__factory.d.ts.map +1 -1
- package/dist/factories/contracts/mock/MockMailbox__factory.js +14 -1
- package/dist/factories/contracts/mock/MockMailbox__factory.js.map +1 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.d.ts.map +1 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.js +1 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.js.map +1 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.d.ts.map +1 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.js +1 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.js.map +1 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/index.d.ts +0 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/index.d.ts.map +1 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/index.js +0 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/index.js.map +1 -1
- package/dist/factories/contracts/mock/MockPortalBridge__factory.d.ts +1 -1
- package/dist/factories/contracts/mock/MockPortalBridge__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 +16 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestGasRouter__factory.js +20 -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.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
- package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestIsm__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestIsm__factory.js +1 -1
- package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestMailbox__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
- package/dist/factories/contracts/test/TestMailbox__factory.js.map +1 -1
- package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
- package/dist/factories/contracts/test/TestMessage__factory.d.ts +1 -1
- package/dist/factories/contracts/test/TestMessage__factory.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestMessage__factory.js +1 -1
- package/dist/factories/contracts/test/TestMessage__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.d.ts.map +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
- package/dist/factories/contracts/test/TestQuery__factory.js.map +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/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 +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/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 +16 -1
- package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC20Collateral__factory.js +20 -1
- package/dist/factories/contracts/token/HypERC20Collateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypERC20__factory.d.ts +16 -1
- package/dist/factories/contracts/token/HypERC20__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC20__factory.js +20 -1
- package/dist/factories/contracts/token/HypERC20__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +16 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.js +20 -1
- package/dist/factories/contracts/token/HypERC721Collateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypERC721__factory.d.ts +16 -1
- package/dist/factories/contracts/token/HypERC721__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypERC721__factory.js +20 -1
- package/dist/factories/contracts/token/HypERC721__factory.js.map +1 -1
- package/dist/factories/contracts/token/HypNative__factory.d.ts +16 -1
- package/dist/factories/contracts/token/HypNative__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/HypNative__factory.js +20 -1
- package/dist/factories/contracts/token/HypNative__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +16 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +20 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +16 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +20 -1
- package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +34 -1
- package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +43 -1
- package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +36 -1
- package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +46 -1
- package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +41 -1
- package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +52 -1
- package/dist/factories/contracts/token/extensions/HypERC4626__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +16 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +20 -1
- package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +16 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +20 -1
- package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +16 -1
- package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +20 -1
- package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +16 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +20 -1
- package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +16 -1
- package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +20 -1
- package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +16 -1
- package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +20 -1
- package/dist/factories/contracts/token/extensions/HypXERC20__factory.js.map +1 -1
- package/dist/factories/contracts/token/extensions/WHypERC4626__factory.d.ts +339 -0
- package/dist/factories/contracts/token/extensions/WHypERC4626__factory.d.ts.map +1 -0
- package/dist/factories/contracts/token/extensions/WHypERC4626__factory.js +458 -0
- package/dist/factories/contracts/token/extensions/WHypERC4626__factory.js.map +1 -0
- package/dist/factories/contracts/token/extensions/index.d.ts +1 -0
- package/dist/factories/contracts/token/extensions/index.d.ts.map +1 -1
- package/dist/factories/contracts/token/extensions/index.js +1 -0
- package/dist/factories/contracts/token/extensions/index.js.map +1 -1
- package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts +15 -0
- package/dist/factories/contracts/token/libs/FastTokenRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js +19 -0
- package/dist/factories/contracts/token/libs/FastTokenRouter__factory.js.map +1 -1
- package/dist/factories/contracts/token/libs/TokenRouter__factory.d.ts +15 -0
- package/dist/factories/contracts/token/libs/TokenRouter__factory.d.ts.map +1 -1
- package/dist/factories/contracts/token/libs/TokenRouter__factory.js +19 -0
- package/dist/factories/contracts/token/libs/TokenRouter__factory.js.map +1 -1
- package/dist/index.d.ts +2 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/contracts/hooks/SuperchainHook.sol +0 -82
- package/contracts/interfaces/optimism/ICrossL2Inbox.sol +0 -60
- package/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.sol +0 -68
- package/contracts/isms/hook/SuperchainIsm.sol +0 -91
- package/dist/contracts/hooks/SuperchainHook.d.ts +0 -411
- package/dist/contracts/hooks/SuperchainHook.d.ts.map +0 -1
- package/dist/contracts/hooks/SuperchainHook.js +0 -2
- package/dist/contracts/hooks/SuperchainHook.js.map +0 -1
- package/dist/contracts/interfaces/optimism/ICrossL2Inbox.d.ts +0 -233
- package/dist/contracts/interfaces/optimism/ICrossL2Inbox.d.ts.map +0 -1
- package/dist/contracts/interfaces/optimism/ICrossL2Inbox.js +0 -2
- package/dist/contracts/interfaces/optimism/ICrossL2Inbox.js.map +0 -1
- package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.d.ts +0 -209
- package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.d.ts.map +0 -1
- package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.js +0 -2
- package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.js.map +0 -1
- package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.d.ts +0 -273
- package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.d.ts.map +0 -1
- package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.js +0 -2
- package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.js.map +0 -1
- package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.d.ts +0 -288
- package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.d.ts.map +0 -1
- package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.js +0 -2
- package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.js.map +0 -1
- package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.d.ts +0 -273
- package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.d.ts.map +0 -1
- package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.js +0 -2
- package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.js.map +0 -1
- package/dist/contracts/isms/hook/SuperchainIsm.sol/index.d.ts +0 -2
- package/dist/contracts/isms/hook/SuperchainIsm.sol/index.d.ts.map +0 -1
- package/dist/contracts/isms/hook/SuperchainIsm.sol/index.js +0 -2
- package/dist/contracts/isms/hook/SuperchainIsm.sol/index.js.map +0 -1
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.d.ts +0 -110
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.d.ts.map +0 -1
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.js +0 -2
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.js.map +0 -1
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.d.ts +0 -125
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.d.ts.map +0 -1
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.js +0 -2
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.js.map +0 -1
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts +0 -3
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts.map +0 -1
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js +0 -2
- package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js.map +0 -1
- package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.d.ts +0 -224
- package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.d.ts.map +0 -1
- package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.js +0 -2
- package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.js.map +0 -1
- package/dist/factories/contracts/hooks/SuperchainHook__factory.d.ts +0 -262
- package/dist/factories/contracts/hooks/SuperchainHook__factory.d.ts.map +0 -1
- package/dist/factories/contracts/hooks/SuperchainHook__factory.js +0 -352
- package/dist/factories/contracts/hooks/SuperchainHook__factory.js.map +0 -1
- package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.d.ts +0 -143
- package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.d.ts.map +0 -1
- package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.js +0 -189
- package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.js.map +0 -1
- package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.d.ts +0 -140
- package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.d.ts.map +0 -1
- package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.js +0 -185
- package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.js.map +0 -1
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.d.ts +0 -165
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.d.ts.map +0 -1
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.js +0 -229
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.js.map +0 -1
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.d.ts +0 -175
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.d.ts.map +0 -1
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.js +0 -242
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.js.map +0 -1
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.d.ts +0 -165
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.d.ts.map +0 -1
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.js +0 -229
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.js.map +0 -1
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.d.ts +0 -2
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.d.ts.map +0 -1
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.js +0 -5
- package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.js.map +0 -1
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.d.ts +0 -79
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.d.ts.map +0 -1
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.js +0 -109
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.js.map +0 -1
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.d.ts +0 -121
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.d.ts.map +0 -1
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.js +0 -171
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.js.map +0 -1
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts +0 -3
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts.map +0 -1
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js +0 -6
- package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js.map +0 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.d.ts +0 -174
- package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.d.ts.map +0 -1
- package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.js +0 -237
- package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.js.map +0 -1
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
2
|
pragma solidity >=0.6.11;
|
|
3
3
|
|
|
4
|
+
/*@@@@@@@ @@@@@@@@@
|
|
5
|
+
@@@@@@@@@ @@@@@@@@@
|
|
6
|
+
@@@@@@@@@ @@@@@@@@@
|
|
7
|
+
@@@@@@@@@ @@@@@@@@@
|
|
8
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
9
|
+
@@@@@ HYPERLANE @@@@@@@
|
|
10
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
11
|
+
@@@@@@@@@ @@@@@@@@@
|
|
12
|
+
@@@@@@@@@ @@@@@@@@@
|
|
13
|
+
@@@@@@@@@ @@@@@@@@@
|
|
14
|
+
@@@@@@@@@ @@@@@@@@*/
|
|
15
|
+
|
|
16
|
+
// ============ Internal Imports ============
|
|
4
17
|
import {Router} from "./Router.sol";
|
|
5
18
|
import {StandardHookMetadata} from "../hooks/libs/StandardHookMetadata.sol";
|
|
6
19
|
|
|
7
20
|
abstract contract GasRouter is Router {
|
|
21
|
+
event GasSet(uint32 domain, uint256 gas);
|
|
22
|
+
|
|
8
23
|
// ============ Mutable Storage ============
|
|
9
24
|
mapping(uint32 => uint256) public destinationGas;
|
|
10
25
|
|
|
@@ -56,6 +71,7 @@ abstract contract GasRouter is Router {
|
|
|
56
71
|
|
|
57
72
|
function _setDestinationGas(uint32 domain, uint256 gas) internal {
|
|
58
73
|
destinationGas[domain] = gas;
|
|
74
|
+
emit GasSet(domain, gas);
|
|
59
75
|
}
|
|
60
76
|
|
|
61
77
|
function _GasRouter_dispatch(
|
|
@@ -3,6 +3,7 @@ pragma solidity >=0.8.0;
|
|
|
3
3
|
|
|
4
4
|
// ============ Internal Imports ============
|
|
5
5
|
import {IInterchainSecurityModule} from "../interfaces/IInterchainSecurityModule.sol";
|
|
6
|
+
import {Address} from "@openzeppelin/contracts/utils/Address.sol";
|
|
6
7
|
import {Message} from "../libs/Message.sol";
|
|
7
8
|
import {Mailbox} from "../Mailbox.sol";
|
|
8
9
|
import {PackageVersioned} from "contracts/PackageVersioned.sol";
|
|
@@ -15,6 +16,14 @@ contract TrustedRelayerIsm is IInterchainSecurityModule, PackageVersioned {
|
|
|
15
16
|
address public immutable trustedRelayer;
|
|
16
17
|
|
|
17
18
|
constructor(address _mailbox, address _trustedRelayer) {
|
|
19
|
+
require(
|
|
20
|
+
_trustedRelayer != address(0),
|
|
21
|
+
"TrustedRelayerIsm: invalid relayer"
|
|
22
|
+
);
|
|
23
|
+
require(
|
|
24
|
+
Address.isContract(_mailbox),
|
|
25
|
+
"TrustedRelayerIsm: invalid mailbox"
|
|
26
|
+
);
|
|
18
27
|
mailbox = Mailbox(_mailbox);
|
|
19
28
|
trustedRelayer = _trustedRelayer;
|
|
20
29
|
}
|
|
@@ -63,6 +63,7 @@ contract ArbL2ToL1Ism is
|
|
|
63
63
|
) external override returns (bool) {
|
|
64
64
|
if (!isVerified(message)) {
|
|
65
65
|
_verifyWithOutboxCall(metadata, message);
|
|
66
|
+
require(isVerified(message), "ArbL2ToL1Ism: message not verified");
|
|
66
67
|
}
|
|
67
68
|
releaseValueToRecipient(message);
|
|
68
69
|
return true;
|
|
@@ -66,9 +66,9 @@ contract OPL2ToL1Ism is
|
|
|
66
66
|
bytes calldata metadata,
|
|
67
67
|
bytes calldata message
|
|
68
68
|
) external override returns (bool) {
|
|
69
|
-
|
|
70
|
-
if (!verified) {
|
|
69
|
+
if (!isVerified(message)) {
|
|
71
70
|
_verifyWithPortalCall(metadata, message);
|
|
71
|
+
require(isVerified(message), "OPL2ToL1Ism: message not verified");
|
|
72
72
|
}
|
|
73
73
|
releaseValueToRecipient(message);
|
|
74
74
|
return true;
|
|
@@ -73,11 +73,14 @@ abstract contract AbstractStaticWeightedMultisigIsm is
|
|
|
73
73
|
|
|
74
74
|
// assumes that signatures are ordered by validator
|
|
75
75
|
for (
|
|
76
|
-
uint256
|
|
77
|
-
_totalWeight < _thresholdWeight &&
|
|
78
|
-
++
|
|
76
|
+
uint256 signatureIndex = 0;
|
|
77
|
+
_totalWeight < _thresholdWeight && signatureIndex < _validatorCount;
|
|
78
|
+
++signatureIndex
|
|
79
79
|
) {
|
|
80
|
-
address _signer = ECDSA.recover(
|
|
80
|
+
address _signer = ECDSA.recover(
|
|
81
|
+
_digest,
|
|
82
|
+
signatureAt(_metadata, signatureIndex)
|
|
83
|
+
);
|
|
81
84
|
// loop through remaining validators until we find a match
|
|
82
85
|
while (
|
|
83
86
|
_validatorIndex < _validatorCount &&
|
|
@@ -90,6 +93,7 @@ abstract contract AbstractStaticWeightedMultisigIsm is
|
|
|
90
93
|
|
|
91
94
|
// add the weight of the current validator
|
|
92
95
|
_totalWeight += _validators[_validatorIndex].weight;
|
|
96
|
+
++_validatorIndex;
|
|
93
97
|
}
|
|
94
98
|
require(
|
|
95
99
|
_totalWeight >= _thresholdWeight,
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
2
|
pragma solidity >=0.8.0;
|
|
3
|
+
|
|
4
|
+
/*@@@@@@@ @@@@@@@@@
|
|
5
|
+
@@@@@@@@@ @@@@@@@@@
|
|
6
|
+
@@@@@@@@@ @@@@@@@@@
|
|
7
|
+
@@@@@@@@@ @@@@@@@@@
|
|
8
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
9
|
+
@@@@@ HYPERLANE @@@@@@@
|
|
10
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
11
|
+
@@@@@@@@@ @@@@@@@@@
|
|
12
|
+
@@@@@@@@@ @@@@@@@@@
|
|
13
|
+
@@@@@@@@@ @@@@@@@@@
|
|
14
|
+
@@@@@@@@@ @@@@@@@@*/
|
|
15
|
+
|
|
16
|
+
// ============ External Imports ============
|
|
3
17
|
import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
|
|
4
18
|
|
|
5
19
|
/**
|
|
@@ -7,16 +21,26 @@ import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/Own
|
|
|
7
21
|
* @notice A contract used to keep track of an address sender's token amount limits.
|
|
8
22
|
* @dev Implements a modified token bucket algorithm where the bucket is full in the beginning and gradually refills
|
|
9
23
|
* See: https://dev.to/satrobit/rate-limiting-using-the-token-bucket-algorithm-3cjh
|
|
10
|
-
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
11
26
|
contract RateLimited is OwnableUpgradeable {
|
|
12
27
|
uint256 public constant DURATION = 1 days; // 86400
|
|
13
|
-
|
|
14
|
-
uint256 public
|
|
15
|
-
|
|
28
|
+
/// @notice Current filled level
|
|
29
|
+
uint256 public filledLevel;
|
|
30
|
+
/// @notice Tokens per second refill rate
|
|
31
|
+
uint256 public refillRate;
|
|
32
|
+
/// @notice Timestamp of the last time an action has been taken
|
|
33
|
+
uint256 public lastUpdated;
|
|
16
34
|
|
|
17
35
|
event RateLimitSet(uint256 _oldCapacity, uint256 _newCapacity);
|
|
18
36
|
|
|
37
|
+
event ConsumedFilledLevel(uint256 filledLevel, uint256 lastUpdated);
|
|
38
|
+
|
|
19
39
|
constructor(uint256 _capacity) {
|
|
40
|
+
require(
|
|
41
|
+
_capacity >= DURATION,
|
|
42
|
+
"Capacity must be greater than DURATION"
|
|
43
|
+
);
|
|
20
44
|
_transferOwnership(msg.sender);
|
|
21
45
|
setRefillRate(_capacity);
|
|
22
46
|
filledLevel = _capacity;
|
|
@@ -88,20 +112,22 @@ contract RateLimited is OwnableUpgradeable {
|
|
|
88
112
|
|
|
89
113
|
/**
|
|
90
114
|
* Validate an amount and decreases the currentCapacity
|
|
91
|
-
* @param
|
|
115
|
+
* @param _consumedAmount The amount to consume the fill level
|
|
92
116
|
* @return The new filled level
|
|
93
117
|
*/
|
|
94
118
|
function validateAndConsumeFilledLevel(
|
|
95
|
-
uint256
|
|
119
|
+
uint256 _consumedAmount
|
|
96
120
|
) public returns (uint256) {
|
|
97
121
|
uint256 adjustedFilledLevel = calculateCurrentLevel();
|
|
98
|
-
require(
|
|
122
|
+
require(_consumedAmount <= adjustedFilledLevel, "RateLimitExceeded");
|
|
99
123
|
|
|
100
124
|
// Reduce the filledLevel and update lastUpdated
|
|
101
|
-
uint256 _filledLevel = adjustedFilledLevel -
|
|
125
|
+
uint256 _filledLevel = adjustedFilledLevel - _consumedAmount;
|
|
102
126
|
filledLevel = _filledLevel;
|
|
103
127
|
lastUpdated = block.timestamp;
|
|
104
128
|
|
|
129
|
+
emit ConsumedFilledLevel(filledLevel, lastUpdated);
|
|
130
|
+
|
|
105
131
|
return _filledLevel;
|
|
106
132
|
}
|
|
107
133
|
}
|
|
@@ -9,6 +9,10 @@ library TypeCasts {
|
|
|
9
9
|
|
|
10
10
|
// alignment preserving cast
|
|
11
11
|
function bytes32ToAddress(bytes32 _buf) internal pure returns (address) {
|
|
12
|
+
require(
|
|
13
|
+
uint256(_buf) <= uint256(type(uint160).max),
|
|
14
|
+
"TypeCasts: bytes32ToAddress overflow"
|
|
15
|
+
);
|
|
12
16
|
return address(uint160(uint256(_buf)));
|
|
13
17
|
}
|
|
14
18
|
}
|
|
@@ -77,4 +77,9 @@ contract MockMailbox is Mailbox {
|
|
|
77
77
|
Mailbox(address(this)).process{value: msg.value}("", _message);
|
|
78
78
|
inboundProcessedNonce++;
|
|
79
79
|
}
|
|
80
|
+
|
|
81
|
+
function processInboundMessage(uint32 _nonce) public {
|
|
82
|
+
bytes memory _message = inboundMessages[_nonce];
|
|
83
|
+
Mailbox(address(this)).process("", _message);
|
|
84
|
+
}
|
|
80
85
|
}
|
|
@@ -4,10 +4,7 @@ pragma solidity ^0.8.0;
|
|
|
4
4
|
import {CallLib} from "../middleware/libs/Call.sol";
|
|
5
5
|
import {TypeCasts} from "../libs/TypeCasts.sol";
|
|
6
6
|
import {ICrossDomainMessenger} from "../interfaces/optimism/ICrossDomainMessenger.sol";
|
|
7
|
-
import {IL2toL2CrossDomainMessenger} from "../interfaces/optimism/IL2toL2CrossDomainMessenger.sol";
|
|
8
|
-
import {ICrossL2Inbox} from "../interfaces/optimism/ICrossL2Inbox.sol";
|
|
9
7
|
import {IOptimismPortal} from "../interfaces/optimism/IOptimismPortal.sol";
|
|
10
|
-
import {Address} from "@openzeppelin/contracts/utils/Address.sol";
|
|
11
8
|
|
|
12
9
|
// for both L1 and L2
|
|
13
10
|
contract MockOptimismMessenger is ICrossDomainMessenger {
|
|
@@ -62,73 +59,3 @@ contract MockOptimismPortal is IOptimismPortal {
|
|
|
62
59
|
CallLib.call(call);
|
|
63
60
|
}
|
|
64
61
|
}
|
|
65
|
-
|
|
66
|
-
contract MockL2toL2CrossDomainMessenger is IL2toL2CrossDomainMessenger {
|
|
67
|
-
uint256 public messageNonce;
|
|
68
|
-
bool passMessages = true;
|
|
69
|
-
address originCaller;
|
|
70
|
-
|
|
71
|
-
function encodeCall(
|
|
72
|
-
address _originCaller,
|
|
73
|
-
address target,
|
|
74
|
-
bytes calldata call
|
|
75
|
-
) public view returns (bytes memory) {
|
|
76
|
-
return abi.encode(_originCaller, target, call);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
function sendMessage(
|
|
80
|
-
uint256 _destination,
|
|
81
|
-
address _target,
|
|
82
|
-
bytes calldata _message
|
|
83
|
-
) external returns (bytes32 msgHash_) {}
|
|
84
|
-
|
|
85
|
-
/// @notice Relays a message that was sent by the other CrossDomainMessenger contract. Can only
|
|
86
|
-
/// be executed via cross-chain call from the other messenger OR if the message was
|
|
87
|
-
/// already received once and is currently being replayed.
|
|
88
|
-
/// @param _id Identifier of the SentMessage event to be relayed
|
|
89
|
-
/// @param _sentMessage Message payload of the `SentMessage` event
|
|
90
|
-
function relayMessage(
|
|
91
|
-
ICrossL2Inbox.Identifier calldata _id,
|
|
92
|
-
bytes calldata _sentMessage
|
|
93
|
-
) external payable {
|
|
94
|
-
require(
|
|
95
|
-
passMessages,
|
|
96
|
-
"MockL2toL2CrossDomainMessenger: passMessages is false"
|
|
97
|
-
);
|
|
98
|
-
(address _originCaller, address target, bytes memory call) = abi.decode(
|
|
99
|
-
_sentMessage,
|
|
100
|
-
(address, address, bytes)
|
|
101
|
-
);
|
|
102
|
-
originCaller = _originCaller;
|
|
103
|
-
Address.functionCall(target, call);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/// @notice Mapping of message hashes to boolean receipt values. Note that a message will only
|
|
107
|
-
/// be present in this mapping if it has successfully been relayed on this chain, and
|
|
108
|
-
/// can therefore not be relayed again.
|
|
109
|
-
/// @param _msgHash message hash to check.
|
|
110
|
-
/// @return Returns true if the message corresponding to the `_msgHash` was successfully relayed.
|
|
111
|
-
function successfulMessages(bytes32 _msgHash) external view returns (bool) {
|
|
112
|
-
return true;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/// @notice Retrieves the sender of the current cross domain message.
|
|
116
|
-
/// @return sender_ Address of the sender of the current cross domain message.
|
|
117
|
-
function crossDomainMessageSender()
|
|
118
|
-
external
|
|
119
|
-
view
|
|
120
|
-
returns (address sender_)
|
|
121
|
-
{
|
|
122
|
-
return originCaller;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/// @notice Retrieves the source of the current cross domain message.
|
|
126
|
-
/// @return source_ Chain ID of the source of the current cross domain message.
|
|
127
|
-
function crossDomainMessageSource()
|
|
128
|
-
external
|
|
129
|
-
view
|
|
130
|
-
returns (uint256 source_)
|
|
131
|
-
{
|
|
132
|
-
return 0;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
pragma solidity >=0.8.0;
|
|
3
3
|
|
|
4
|
+
/*@@@@@@@ @@@@@@@@@
|
|
5
|
+
@@@@@@@@@ @@@@@@@@@
|
|
6
|
+
@@@@@@@@@ @@@@@@@@@
|
|
7
|
+
@@@@@@@@@ @@@@@@@@@
|
|
8
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
9
|
+
@@@@@ HYPERLANE @@@@@@@
|
|
10
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
11
|
+
@@@@@@@@@ @@@@@@@@@
|
|
12
|
+
@@@@@@@@@ @@@@@@@@@
|
|
13
|
+
@@@@@@@@@ @@@@@@@@@
|
|
14
|
+
@@@@@@@@@ @@@@@@@@*/
|
|
15
|
+
|
|
16
|
+
// ============ Internal Imports ============
|
|
4
17
|
import {TokenRouter} from "./libs/TokenRouter.sol";
|
|
5
18
|
import {TokenMessage} from "./libs/TokenMessage.sol";
|
|
6
19
|
import {MailboxClient} from "../client/MailboxClient.sol";
|
|
7
20
|
|
|
21
|
+
// ============ External Imports ============
|
|
22
|
+
import {Address} from "@openzeppelin/contracts/utils/Address.sol";
|
|
8
23
|
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
9
24
|
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
10
25
|
|
|
@@ -22,6 +37,7 @@ contract HypERC20Collateral is TokenRouter {
|
|
|
22
37
|
* @param erc20 Address of the token to keep as collateral
|
|
23
38
|
*/
|
|
24
39
|
constructor(address erc20, address _mailbox) TokenRouter(_mailbox) {
|
|
40
|
+
require(Address.isContract(erc20), "HypERC20Collateral: invalid token");
|
|
25
41
|
wrappedToken = IERC20(erc20);
|
|
26
42
|
}
|
|
27
43
|
|
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
2
|
pragma solidity >=0.8.0;
|
|
3
3
|
|
|
4
|
+
/*@@@@@@@ @@@@@@@@@
|
|
5
|
+
@@@@@@@@@ @@@@@@@@@
|
|
6
|
+
@@@@@@@@@ @@@@@@@@@
|
|
7
|
+
@@@@@@@@@ @@@@@@@@@
|
|
8
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
9
|
+
@@@@@ HYPERLANE @@@@@@@
|
|
10
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
11
|
+
@@@@@@@@@ @@@@@@@@@
|
|
12
|
+
@@@@@@@@@ @@@@@@@@@
|
|
13
|
+
@@@@@@@@@ @@@@@@@@@
|
|
14
|
+
@@@@@@@@@ @@@@@@@@*/
|
|
15
|
+
|
|
16
|
+
// ============ Internal Imports ============
|
|
4
17
|
import {IXERC20} from "../interfaces/IXERC20.sol";
|
|
5
18
|
import {HypERC20} from "../HypERC20.sol";
|
|
6
|
-
import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
|
|
7
19
|
import {Message} from "../../libs/Message.sol";
|
|
8
20
|
import {TokenMessage} from "../libs/TokenMessage.sol";
|
|
9
21
|
import {TokenRouter} from "../libs/TokenRouter.sol";
|
|
10
22
|
|
|
23
|
+
// ============ External Imports ============
|
|
24
|
+
import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
|
|
25
|
+
|
|
11
26
|
/**
|
|
12
27
|
* @title Hyperlane ERC20 Rebasing Token
|
|
13
28
|
* @author Abacus Works
|
|
@@ -17,9 +32,12 @@ contract HypERC4626 is HypERC20 {
|
|
|
17
32
|
using Message for bytes;
|
|
18
33
|
using TokenMessage for bytes;
|
|
19
34
|
|
|
35
|
+
event ExchangeRateUpdated(uint256 newExchangeRate, uint32 rateUpdateNonce);
|
|
36
|
+
|
|
20
37
|
uint256 public constant PRECISION = 1e10;
|
|
21
38
|
uint32 public immutable collateralDomain;
|
|
22
39
|
uint256 public exchangeRate; // 1e10
|
|
40
|
+
uint32 public previousNonce;
|
|
23
41
|
|
|
24
42
|
constructor(
|
|
25
43
|
uint8 _decimals,
|
|
@@ -66,7 +84,16 @@ contract HypERC4626 is HypERC20 {
|
|
|
66
84
|
bytes calldata _message
|
|
67
85
|
) internal virtual override {
|
|
68
86
|
if (_origin == collateralDomain) {
|
|
69
|
-
|
|
87
|
+
(uint256 newExchangeRate, uint32 rateUpdateNonce) = abi.decode(
|
|
88
|
+
_message.metadata(),
|
|
89
|
+
(uint256, uint32)
|
|
90
|
+
);
|
|
91
|
+
// only update if the nonce is greater than the previous nonce
|
|
92
|
+
if (rateUpdateNonce > previousNonce) {
|
|
93
|
+
exchangeRate = newExchangeRate;
|
|
94
|
+
previousNonce = rateUpdateNonce;
|
|
95
|
+
emit ExchangeRateUpdated(exchangeRate, rateUpdateNonce);
|
|
96
|
+
}
|
|
70
97
|
}
|
|
71
98
|
super._handle(_origin, _sender, _message);
|
|
72
99
|
}
|
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
pragma solidity >=0.8.0;
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
/*@@@@@@@ @@@@@@@@@
|
|
5
|
+
@@@@@@@@@ @@@@@@@@@
|
|
6
|
+
@@@@@@@@@ @@@@@@@@@
|
|
7
|
+
@@@@@@@@@ @@@@@@@@@
|
|
8
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
9
|
+
@@@@@ HYPERLANE @@@@@@@
|
|
10
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
11
|
+
@@@@@@@@@ @@@@@@@@@
|
|
12
|
+
@@@@@@@@@ @@@@@@@@@
|
|
13
|
+
@@@@@@@@@ @@@@@@@@@
|
|
14
|
+
@@@@@@@@@ @@@@@@@@*/
|
|
15
|
+
|
|
16
|
+
// ============ Internal Imports ============
|
|
5
17
|
import {TokenMessage} from "../libs/TokenMessage.sol";
|
|
6
18
|
import {HypERC20Collateral} from "../HypERC20Collateral.sol";
|
|
7
19
|
import {TypeCasts} from "../../libs/TypeCasts.sol";
|
|
8
20
|
|
|
21
|
+
// ============ External Imports ============
|
|
22
|
+
import "@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol";
|
|
23
|
+
|
|
9
24
|
/**
|
|
10
25
|
* @title Hyperlane ERC4626 Token Collateral with deposits collateral to a vault
|
|
11
26
|
* @author Abacus Works
|
|
@@ -17,9 +32,13 @@ contract HypERC4626Collateral is HypERC20Collateral {
|
|
|
17
32
|
|
|
18
33
|
// Address of the ERC4626 compatible vault
|
|
19
34
|
ERC4626 public immutable vault;
|
|
35
|
+
// Precision for the exchange rate
|
|
20
36
|
uint256 public constant PRECISION = 1e10;
|
|
37
|
+
// Null recipient for rebase transfer
|
|
21
38
|
bytes32 public constant NULL_RECIPIENT =
|
|
22
39
|
0x0000000000000000000000000000000000000000000000000000000000000001;
|
|
40
|
+
// Nonce for the rate update, to ensure sequential updates
|
|
41
|
+
uint32 public rateUpdateNonce;
|
|
23
42
|
|
|
24
43
|
constructor(
|
|
25
44
|
ERC4626 _vault,
|
|
@@ -47,12 +66,13 @@ contract HypERC4626Collateral is HypERC20Collateral {
|
|
|
47
66
|
// Can't override _transferFromSender only because we need to pass shares in the token message
|
|
48
67
|
_transferFromSender(_amount);
|
|
49
68
|
uint256 _shares = _depositIntoVault(_amount);
|
|
50
|
-
uint256 _exchangeRate =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
69
|
+
uint256 _exchangeRate = vault.convertToAssets(PRECISION);
|
|
70
|
+
|
|
71
|
+
rateUpdateNonce++;
|
|
72
|
+
bytes memory _tokenMetadata = abi.encode(
|
|
73
|
+
_exchangeRate,
|
|
74
|
+
rateUpdateNonce
|
|
54
75
|
);
|
|
55
|
-
bytes memory _tokenMetadata = abi.encode(_exchangeRate);
|
|
56
76
|
|
|
57
77
|
bytes memory _tokenMessage = TokenMessage.format(
|
|
58
78
|
_recipient,
|
|
@@ -97,15 +117,19 @@ contract HypERC4626Collateral is HypERC20Collateral {
|
|
|
97
117
|
* @dev Update the exchange rate on the synthetic token by accounting for additional yield accrued to the underlying vault
|
|
98
118
|
* @param _destinationDomain domain of the vault
|
|
99
119
|
*/
|
|
100
|
-
function rebase(
|
|
120
|
+
function rebase(
|
|
121
|
+
uint32 _destinationDomain,
|
|
122
|
+
bytes calldata _hookMetadata,
|
|
123
|
+
address _hook
|
|
124
|
+
) public payable {
|
|
101
125
|
// force a rebase with an empty transfer to 0x1
|
|
102
126
|
_transferRemote(
|
|
103
127
|
_destinationDomain,
|
|
104
128
|
NULL_RECIPIENT,
|
|
105
129
|
0,
|
|
106
130
|
msg.value,
|
|
107
|
-
|
|
108
|
-
|
|
131
|
+
_hookMetadata,
|
|
132
|
+
_hook
|
|
109
133
|
);
|
|
110
134
|
}
|
|
111
135
|
}
|
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
pragma solidity >=0.8.0;
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
/*@@@@@@@ @@@@@@@@@
|
|
5
|
+
@@@@@@@@@ @@@@@@@@@
|
|
6
|
+
@@@@@@@@@ @@@@@@@@@
|
|
7
|
+
@@@@@@@@@ @@@@@@@@@
|
|
8
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
9
|
+
@@@@@ HYPERLANE @@@@@@@
|
|
10
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
11
|
+
@@@@@@@@@ @@@@@@@@@
|
|
12
|
+
@@@@@@@@@ @@@@@@@@@
|
|
13
|
+
@@@@@@@@@ @@@@@@@@@
|
|
14
|
+
@@@@@@@@@ @@@@@@@@*/
|
|
15
|
+
|
|
16
|
+
// ============ Internal Imports ============
|
|
5
17
|
import {HypERC20Collateral} from "../HypERC20Collateral.sol";
|
|
6
18
|
|
|
19
|
+
// ============ External Imports ============
|
|
20
|
+
import {ERC4626} from "@openzeppelin/contracts/token/ERC20/extensions/ERC4626.sol";
|
|
21
|
+
|
|
7
22
|
/**
|
|
8
23
|
* @title Hyperlane ERC20 Token Collateral with deposits collateral to a vault, the yield goes to the owner
|
|
9
24
|
* @author ltyu
|
|
@@ -11,9 +26,12 @@ import {HypERC20Collateral} from "../HypERC20Collateral.sol";
|
|
|
11
26
|
contract HypERC4626OwnerCollateral is HypERC20Collateral {
|
|
12
27
|
// Address of the ERC4626 compatible vault
|
|
13
28
|
ERC4626 public immutable vault;
|
|
14
|
-
|
|
29
|
+
// standby precision for exchange rate
|
|
30
|
+
uint256 public constant PRECISION = 1e10;
|
|
15
31
|
// Internal balance of total asset deposited
|
|
16
32
|
uint256 public assetDeposited;
|
|
33
|
+
// Nonce for the rate update, to ensure sequential updates (not necessary for Owner variant but for compatibility with HypERC4626)
|
|
34
|
+
uint32 public rateUpdateNonce;
|
|
17
35
|
|
|
18
36
|
event ExcessSharesSwept(uint256 amount, uint256 assetsRedeemed);
|
|
19
37
|
|
|
@@ -40,8 +58,11 @@ contract HypERC4626OwnerCollateral is HypERC20Collateral {
|
|
|
40
58
|
function _transferFromSender(
|
|
41
59
|
uint256 _amount
|
|
42
60
|
) internal override returns (bytes memory metadata) {
|
|
43
|
-
|
|
61
|
+
super._transferFromSender(_amount);
|
|
44
62
|
_depositIntoVault(_amount);
|
|
63
|
+
rateUpdateNonce++;
|
|
64
|
+
|
|
65
|
+
return abi.encode(PRECISION, rateUpdateNonce);
|
|
45
66
|
}
|
|
46
67
|
|
|
47
68
|
/**
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT OR Apache-2.0
|
|
2
|
+
pragma solidity >=0.8.0;
|
|
3
|
+
|
|
4
|
+
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
|
|
5
|
+
import {HypERC4626} from "./HypERC4626.sol";
|
|
6
|
+
import {PackageVersioned} from "../../PackageVersioned.sol";
|
|
7
|
+
|
|
8
|
+
/*@@@@@@@ @@@@@@@@@
|
|
9
|
+
@@@@@@@@@ @@@@@@@@@
|
|
10
|
+
@@@@@@@@@ @@@@@@@@@
|
|
11
|
+
@@@@@@@@@ @@@@@@@@@
|
|
12
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
13
|
+
@@@@@ HYPERLANE @@@@@@@
|
|
14
|
+
@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
15
|
+
@@@@@@@@@ @@@@@@@@@
|
|
16
|
+
@@@@@@@@@ @@@@@@@@@
|
|
17
|
+
@@@@@@@@@ @@@@@@@@@
|
|
18
|
+
@@@@@@@@@ @@@@@@@@*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @title WHypERC4626
|
|
22
|
+
* @author Abacus Works
|
|
23
|
+
* @notice A wrapper for HypERC4626 that allows for wrapping and unwrapping of underlying rebasing tokens
|
|
24
|
+
*/
|
|
25
|
+
contract WHypERC4626 is ERC20, PackageVersioned {
|
|
26
|
+
HypERC4626 public immutable underlying;
|
|
27
|
+
|
|
28
|
+
constructor(
|
|
29
|
+
HypERC4626 _underlying,
|
|
30
|
+
string memory name,
|
|
31
|
+
string memory symbol
|
|
32
|
+
) ERC20(name, symbol) {
|
|
33
|
+
underlying = _underlying;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/*
|
|
37
|
+
* @notice Wraps an amount of underlying tokens into wrapped tokens
|
|
38
|
+
* @param _underlyingAmount The amount of underlying tokens to wrap
|
|
39
|
+
* @return The amount of wrapped tokens
|
|
40
|
+
*/
|
|
41
|
+
function wrap(uint256 _underlyingAmount) external returns (uint256) {
|
|
42
|
+
require(
|
|
43
|
+
_underlyingAmount > 0,
|
|
44
|
+
"WHypERC4626: wrap amount must be greater than 0"
|
|
45
|
+
);
|
|
46
|
+
uint256 wrappedAmount = underlying.assetsToShares(_underlyingAmount);
|
|
47
|
+
_mint(msg.sender, wrappedAmount);
|
|
48
|
+
underlying.transferFrom(msg.sender, address(this), _underlyingAmount);
|
|
49
|
+
return wrappedAmount;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/*
|
|
53
|
+
* @notice Unwraps an amount of wrapped tokens into underlying tokens
|
|
54
|
+
* @param _wrappedAmount The amount of wrapped tokens to unwrap
|
|
55
|
+
* @return The amount of underlying tokens
|
|
56
|
+
*/
|
|
57
|
+
function unwrap(uint256 _wrappedAmount) external returns (uint256) {
|
|
58
|
+
require(
|
|
59
|
+
_wrappedAmount > 0,
|
|
60
|
+
"WHypERC4626: unwrap amount must be greater than 0"
|
|
61
|
+
);
|
|
62
|
+
uint256 underlyingAmount = underlying.sharesToAssets(_wrappedAmount);
|
|
63
|
+
_burn(msg.sender, _wrappedAmount);
|
|
64
|
+
underlying.transfer(msg.sender, underlyingAmount);
|
|
65
|
+
return underlyingAmount;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/*
|
|
69
|
+
* @notice Gets the amount of wrapped tokens for a given amount of underlying tokens
|
|
70
|
+
* @param _underlyingAmount The amount of underlying tokens
|
|
71
|
+
* @return The amount of wrapped tokens
|
|
72
|
+
*/
|
|
73
|
+
function getWrappedAmount(
|
|
74
|
+
uint256 _underlyingAmount
|
|
75
|
+
) external view returns (uint256) {
|
|
76
|
+
return underlying.assetsToShares(_underlyingAmount);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/*
|
|
80
|
+
* @notice Gets the amount of underlying tokens for a given amount of wrapped tokens
|
|
81
|
+
* @param _wrappedAmount The amount of wrapped tokens
|
|
82
|
+
* @return The amount of underlying tokens
|
|
83
|
+
*/
|
|
84
|
+
function getUnderlyingAmount(
|
|
85
|
+
uint256 _wrappedAmount
|
|
86
|
+
) external view returns (uint256) {
|
|
87
|
+
return underlying.sharesToAssets(_wrappedAmount);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/*
|
|
91
|
+
* @notice Gets the amount of wrapped tokens for 1 unit of underlying tokens
|
|
92
|
+
* @return The amount of wrapped tokens
|
|
93
|
+
*/
|
|
94
|
+
function wrappedPerUnderlying() external view returns (uint256) {
|
|
95
|
+
return underlying.assetsToShares(1 * 10 ** underlying.decimals());
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/*
|
|
99
|
+
* @notice Gets the amount of underlying tokens for 1 unit of wrapped tokens
|
|
100
|
+
* @return The amount of underlying tokens
|
|
101
|
+
*/
|
|
102
|
+
function underlyingPerWrapped() external view returns (uint256) {
|
|
103
|
+
return underlying.sharesToAssets(1 * 10 ** decimals());
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/*
|
|
107
|
+
* @notice Gets the decimals of the wrapped token
|
|
108
|
+
* @return The decimals of the wrapped token
|
|
109
|
+
*/
|
|
110
|
+
function decimals() public view override returns (uint8) {
|
|
111
|
+
return underlying.decimals();
|
|
112
|
+
}
|
|
113
|
+
}
|