@hyperlane-xyz/core 6.1.0 → 7.0.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/test/TestSendReceiver.sol +12 -1
- package/contracts/token/HypERC20.sol +1 -1
- package/contracts/token/extensions/4626.md +80 -0
- package/contracts/token/extensions/HypERC4626.sol +33 -54
- package/contracts/token/extensions/HypERC4626Collateral.sol +14 -6
- package/contracts/token/libs/FungibleTokenRouter.sol +4 -0
- package/contracts/token/libs/TokenRouter.sol +2 -2
- package/dist/buildArtifact.js +1 -1
- package/dist/buildArtifact.json +1 -1
- package/dist/typechain/contracts/test/TestSendReceiver.d.ts +10 -10
- package/dist/typechain/contracts/test/TestSendReceiver.d.ts.map +1 -1
- package/dist/typechain/contracts/token/extensions/HypERC4626.d.ts +10 -10
- package/dist/typechain/contracts/token/extensions/HypERC4626.d.ts.map +1 -1
- package/dist/typechain/contracts/token/extensions/index.d.ts +0 -2
- package/dist/typechain/contracts/token/extensions/index.d.ts.map +1 -1
- package/dist/typechain/contracts/token/libs/index.d.ts +0 -1
- package/dist/typechain/contracts/token/libs/index.d.ts.map +1 -1
- package/dist/typechain/factories/contracts/AttributeCheckpointFraud__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
- package/dist/typechain/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
- package/dist/typechain/factories/contracts/Mailbox__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/Mailbox__factory.js +1 -1
- package/dist/typechain/factories/contracts/avs/ECDSAStakeRegistry__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/avs/ECDSAStakeRegistry__factory.js +1 -1
- package/dist/typechain/factories/contracts/avs/HyperlaneServiceManager__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/avs/HyperlaneServiceManager__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/CCIPHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/CCIPHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/DefaultHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/DefaultHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/OPL2ToL1Hook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/OPStackHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/PausableHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/PolygonPosHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/ProtocolFee__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/ProtocolFee__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/igp/StorageGasOracle__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/igp/StorageGasOracle__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/routing/AmountRoutingHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/routing/AmountRoutingHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/NoopIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/PausableIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsmFactory__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsmFactory__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/hook/CCIPIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/hook/CCIPIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsmFactory__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsmFactory__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/warp-route/AmountRoutingIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/warp-route/AmountRoutingIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +1 -1
- package/dist/typechain/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
- package/dist/typechain/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
- package/dist/typechain/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
- package/dist/typechain/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
- package/dist/typechain/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
- package/dist/typechain/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
- package/dist/typechain/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/mock/MockMailbox__factory.js +1 -1
- package/dist/typechain/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/test/TestGasRouter__factory.js +1 -1
- package/dist/typechain/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
- package/dist/typechain/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/test/TestMailbox__factory.js +1 -1
- package/dist/typechain/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
- package/dist/typechain/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/test/TestQuerySender__factory.js +1 -1
- package/dist/typechain/factories/contracts/test/TestQuery__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/test/TestQuery__factory.js +1 -1
- package/dist/typechain/factories/contracts/test/TestRemoteChallenger__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/test/TestRemoteChallenger__factory.js +1 -1
- package/dist/typechain/factories/contracts/test/TestRouter__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/test/TestRouter__factory.js +1 -1
- package/dist/typechain/factories/contracts/test/TestSendReceiver__factory.d.ts +2 -2
- package/dist/typechain/factories/contracts/test/TestSendReceiver__factory.d.ts.map +1 -1
- package/dist/typechain/factories/contracts/test/TestSendReceiver__factory.js +2 -2
- package/dist/typechain/factories/contracts/test/TestSendReceiver__factory.js.map +1 -1
- package/dist/typechain/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/HypERC20Collateral__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/HypERC20Collateral__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/HypERC20__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/HypERC20__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/HypERC721__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/HypERC721__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/HypNative__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/HypNative__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts.map +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC4626Collateral__factory.js.map +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC4626__factory.d.ts +3 -3
- package/dist/typechain/factories/contracts/token/extensions/HypERC4626__factory.d.ts.map +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC4626__factory.js +3 -3
- package/dist/typechain/factories/contracts/token/extensions/HypERC4626__factory.js.map +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypFiatToken__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypXERC20__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/extensions/HypXERC20__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/extensions/WHypERC4626__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/token/extensions/WHypERC4626__factory.js +1 -1
- package/dist/typechain/factories/contracts/token/extensions/index.d.ts +0 -2
- package/dist/typechain/factories/contracts/token/extensions/index.d.ts.map +1 -1
- package/dist/typechain/factories/contracts/token/extensions/index.js +0 -2
- package/dist/typechain/factories/contracts/token/extensions/index.js.map +1 -1
- package/dist/typechain/factories/contracts/token/libs/index.d.ts +0 -1
- package/dist/typechain/factories/contracts/token/libs/index.d.ts.map +1 -1
- package/dist/typechain/factories/contracts/token/libs/index.js +0 -1
- package/dist/typechain/factories/contracts/token/libs/index.js.map +1 -1
- package/dist/typechain/index.d.ts +0 -6
- package/dist/typechain/index.d.ts.map +1 -1
- package/dist/typechain/index.js +0 -3
- package/dist/typechain/index.js.map +1 -1
- package/dist/zksync/artifacts/AmountRoutingHook.js +2 -2
- package/dist/zksync/artifacts/AmountRoutingIsm.js +2 -2
- package/dist/zksync/artifacts/ArbL2ToL1Hook.js +2 -2
- package/dist/zksync/artifacts/ArbL2ToL1Ism.js +2 -2
- package/dist/zksync/artifacts/AttributeCheckpointFraud.js +2 -2
- package/dist/zksync/artifacts/CCIPHook.js +2 -2
- package/dist/zksync/artifacts/CCIPIsm.js +2 -2
- package/dist/zksync/artifacts/CheckpointFraudProofs.js +2 -2
- package/dist/zksync/artifacts/CircleBridgeAdapter.js +2 -2
- package/dist/zksync/artifacts/DefaultFallbackRoutingIsm.js +2 -2
- package/dist/zksync/artifacts/DefaultHook.js +2 -2
- package/dist/zksync/artifacts/DestinationRecipientRoutingHook.js +2 -2
- package/dist/zksync/artifacts/DomainRoutingHook.js +2 -2
- package/dist/zksync/artifacts/DomainRoutingIsm.js +2 -2
- package/dist/zksync/artifacts/DomainRoutingIsmFactory.js +2 -2
- package/dist/zksync/artifacts/ECDSAStakeRegistry.js +2 -2
- package/dist/zksync/artifacts/ERC5164Hook.js +2 -2
- package/dist/zksync/artifacts/ERC5164Ism.js +2 -2
- package/dist/zksync/artifacts/FallbackDomainRoutingHook.js +2 -2
- package/dist/zksync/artifacts/HypERC20.js +2 -2
- package/dist/zksync/artifacts/HypERC20Collateral.js +2 -2
- package/dist/zksync/artifacts/HypERC4626.js +4 -4
- package/dist/zksync/artifacts/HypERC4626Collateral.js +2 -2
- package/dist/zksync/artifacts/HypERC4626OwnerCollateral.js +2 -2
- package/dist/zksync/artifacts/HypERC721.js +2 -2
- package/dist/zksync/artifacts/HypERC721Collateral.js +2 -2
- package/dist/zksync/artifacts/HypERC721URICollateral.js +2 -2
- package/dist/zksync/artifacts/HypERC721URIStorage.js +2 -2
- package/dist/zksync/artifacts/HypFiatToken.js +2 -2
- package/dist/zksync/artifacts/HypNative.js +2 -2
- package/dist/zksync/artifacts/HypXERC20.js +2 -2
- package/dist/zksync/artifacts/HypXERC20Lockbox.js +2 -2
- package/dist/zksync/artifacts/HyperlaneServiceManager.js +2 -2
- package/dist/zksync/artifacts/InterchainAccountIsm.js +2 -2
- package/dist/zksync/artifacts/InterchainAccountRouter.js +2 -2
- package/dist/zksync/artifacts/InterchainGasPaymaster.js +2 -2
- package/dist/zksync/artifacts/InterchainQueryRouter.js +2 -2
- package/dist/zksync/artifacts/LayerZeroV1Hook.js +2 -2
- package/dist/zksync/artifacts/LayerZeroV2Hook.js +2 -2
- package/dist/zksync/artifacts/LayerZeroV2Ism.js +2 -2
- package/dist/zksync/artifacts/LiquidityLayerRouter.js +2 -2
- package/dist/zksync/artifacts/Mailbox.js +2 -2
- package/dist/zksync/artifacts/MerkleTreeHook.js +2 -2
- package/dist/zksync/artifacts/MockHyperlaneEnvironment.js +2 -2
- package/dist/zksync/artifacts/MockMailbox.js +2 -2
- package/dist/zksync/artifacts/NoopIsm.js +2 -2
- package/dist/zksync/artifacts/OPL2ToL1Hook.js +2 -2
- package/dist/zksync/artifacts/OPL2ToL1Ism.js +2 -2
- package/dist/zksync/artifacts/OPStackHook.js +2 -2
- package/dist/zksync/artifacts/OPStackIsm.js +2 -2
- package/dist/zksync/artifacts/PausableHook.js +2 -2
- package/dist/zksync/artifacts/PausableIsm.js +2 -2
- package/dist/zksync/artifacts/PolygonPosHook.js +2 -2
- package/dist/zksync/artifacts/PolygonPosIsm.js +2 -2
- package/dist/zksync/artifacts/PortalAdapter.js +2 -2
- package/dist/zksync/artifacts/ProtocolFee.js +2 -2
- package/dist/zksync/artifacts/RateLimitedHook.js +2 -2
- package/dist/zksync/artifacts/RateLimitedIsm.js +2 -2
- package/dist/zksync/artifacts/StaticAggregationHook.js +2 -2
- package/dist/zksync/artifacts/StaticAggregationHookFactory.js +2 -2
- package/dist/zksync/artifacts/StaticAggregationIsm.js +2 -2
- package/dist/zksync/artifacts/StaticAggregationIsmFactory.js +2 -2
- package/dist/zksync/artifacts/StaticMerkleRootMultisigIsm.js +2 -2
- package/dist/zksync/artifacts/StaticMerkleRootMultisigIsmFactory.js +2 -2
- package/dist/zksync/artifacts/StaticMerkleRootWeightedMultisigIsm.js +2 -2
- package/dist/zksync/artifacts/StaticMerkleRootWeightedMultisigIsmFactory.js +2 -2
- package/dist/zksync/artifacts/StaticMessageIdMultisigIsm.js +2 -2
- package/dist/zksync/artifacts/StaticMessageIdMultisigIsmFactory.js +2 -2
- package/dist/zksync/artifacts/StaticMessageIdWeightedMultisigIsm.js +2 -2
- package/dist/zksync/artifacts/StaticMessageIdWeightedMultisigIsmFactory.js +2 -2
- package/dist/zksync/artifacts/StorageAggregationIsm.js +2 -2
- package/dist/zksync/artifacts/StorageAggregationIsmFactory.js +2 -2
- package/dist/zksync/artifacts/StorageGasOracle.js +2 -2
- package/dist/zksync/artifacts/StorageMerkleRootMultisigIsm.js +2 -2
- package/dist/zksync/artifacts/StorageMerkleRootMultisigIsmFactory.js +2 -2
- package/dist/zksync/artifacts/StorageMessageIdMultisigIsm.js +2 -2
- package/dist/zksync/artifacts/StorageMessageIdMultisigIsmFactory.js +2 -2
- package/dist/zksync/artifacts/TestGasRouter.js +2 -2
- package/dist/zksync/artifacts/TestHyperlaneServiceManager.js +2 -2
- package/dist/zksync/artifacts/TestInterchainGasPaymaster.js +2 -2
- package/dist/zksync/artifacts/TestMailbox.js +2 -2
- package/dist/zksync/artifacts/TestMerkleTreeHook.js +2 -2
- package/dist/zksync/artifacts/TestPostDispatchHook.js +2 -2
- package/dist/zksync/artifacts/TestQuery.js +2 -2
- package/dist/zksync/artifacts/TestQuerySender.js +2 -2
- package/dist/zksync/artifacts/TestRemoteChallenger.js +2 -2
- package/dist/zksync/artifacts/TestRouter.js +2 -2
- package/dist/zksync/artifacts/TestSendReceiver.js +3 -3
- package/dist/zksync/artifacts/TrustedRelayerIsm.js +2 -2
- package/dist/zksync/artifacts/ValidatorAnnounce.js +2 -2
- package/dist/zksync/artifacts/WHypERC4626.js +2 -2
- package/dist/zksync/artifacts.js +0 -6
- package/dist/zksync/buildArtifact.js +1 -1
- package/dist/zksync/buildArtifact.json +1 -1
- package/package.json +2 -2
- package/contracts/token/extensions/FastHypERC20.sol +0 -61
- package/contracts/token/extensions/FastHypERC20Collateral.sol +0 -61
- package/contracts/token/libs/FastTokenRouter.sol +0 -211
- package/dist/typechain/contracts/token/extensions/FastHypERC20.d.ts +0 -1027
- package/dist/typechain/contracts/token/extensions/FastHypERC20.d.ts.map +0 -1
- package/dist/typechain/contracts/token/extensions/FastHypERC20.js +0 -2
- package/dist/typechain/contracts/token/extensions/FastHypERC20.js.map +0 -1
- package/dist/typechain/contracts/token/extensions/FastHypERC20Collateral.d.ts +0 -780
- package/dist/typechain/contracts/token/extensions/FastHypERC20Collateral.d.ts.map +0 -1
- package/dist/typechain/contracts/token/extensions/FastHypERC20Collateral.js +0 -2
- package/dist/typechain/contracts/token/extensions/FastHypERC20Collateral.js.map +0 -1
- package/dist/typechain/contracts/token/libs/FastTokenRouter.d.ts +0 -750
- package/dist/typechain/contracts/token/libs/FastTokenRouter.d.ts.map +0 -1
- package/dist/typechain/contracts/token/libs/FastTokenRouter.js +0 -2
- package/dist/typechain/contracts/token/libs/FastTokenRouter.js.map +0 -1
- package/dist/typechain/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +0 -550
- package/dist/typechain/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts.map +0 -1
- package/dist/typechain/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +0 -725
- package/dist/typechain/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js.map +0 -1
- package/dist/typechain/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +0 -744
- package/dist/typechain/factories/contracts/token/extensions/FastHypERC20__factory.d.ts.map +0 -1
- package/dist/typechain/factories/contracts/token/extensions/FastHypERC20__factory.js +0 -978
- package/dist/typechain/factories/contracts/token/extensions/FastHypERC20__factory.js.map +0 -1
- package/dist/typechain/factories/contracts/token/libs/FastTokenRouter__factory.d.ts +0 -494
- package/dist/typechain/factories/contracts/token/libs/FastTokenRouter__factory.d.ts.map +0 -1
- package/dist/typechain/factories/contracts/token/libs/FastTokenRouter__factory.js +0 -645
- package/dist/typechain/factories/contracts/token/libs/FastTokenRouter__factory.js.map +0 -1
- package/dist/zksync/artifacts/FastHypERC20.d.ts +0 -3
- package/dist/zksync/artifacts/FastHypERC20.js +0 -950
- package/dist/zksync/artifacts/FastHypERC20Collateral.d.ts +0 -3
- package/dist/zksync/artifacts/FastHypERC20Collateral.js +0 -697
- package/dist/zksync/artifacts/FastTokenRouter.d.ts +0 -3
- package/dist/zksync/artifacts/FastTokenRouter.js +0 -640
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyperlane-xyz/core",
|
|
3
3
|
"description": "Core solidity contracts for Hyperlane",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "7.0.0",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@arbitrum/nitro-contracts": "^1.2.1",
|
|
7
7
|
"@chainlink/contracts-ccip": "^1.5.0",
|
|
8
8
|
"@eth-optimism/contracts": "^0.6.0",
|
|
9
|
-
"@hyperlane-xyz/utils": "
|
|
9
|
+
"@hyperlane-xyz/utils": "12.0.0",
|
|
10
10
|
"@layerzerolabs/lz-evm-oapp-v2": "2.0.2",
|
|
11
11
|
"@matterlabs/hardhat-zksync-solc": "1.2.5",
|
|
12
12
|
"@matterlabs/hardhat-zksync-verify": "1.7.1",
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
pragma solidity >=0.8.0;
|
|
3
|
-
|
|
4
|
-
import {HypERC20} from "../HypERC20.sol";
|
|
5
|
-
import {FastTokenRouter} from "../libs/FastTokenRouter.sol";
|
|
6
|
-
import {TokenRouter} from "../libs/TokenRouter.sol";
|
|
7
|
-
|
|
8
|
-
import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @title Hyperlane ERC20 Token Router that extends ERC20 with remote transfer functionality.
|
|
12
|
-
* @author Abacus Works
|
|
13
|
-
* @dev Supply on each chain is not constant but the aggregate supply across all chains is.
|
|
14
|
-
*/
|
|
15
|
-
contract FastHypERC20 is FastTokenRouter, HypERC20 {
|
|
16
|
-
constructor(
|
|
17
|
-
uint8 __decimals,
|
|
18
|
-
uint256 _scale,
|
|
19
|
-
address _mailbox
|
|
20
|
-
) HypERC20(__decimals, _scale, _mailbox) {}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @dev delegates transfer logic to `_transferTo`.
|
|
24
|
-
* @inheritdoc TokenRouter
|
|
25
|
-
*/
|
|
26
|
-
function _handle(
|
|
27
|
-
uint32 _origin,
|
|
28
|
-
bytes32 _sender,
|
|
29
|
-
bytes calldata _message
|
|
30
|
-
) internal virtual override(FastTokenRouter, TokenRouter) {
|
|
31
|
-
FastTokenRouter._handle(_origin, _sender, _message);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @dev Mints `_amount` of tokens to `_recipient`.
|
|
36
|
-
* @inheritdoc FastTokenRouter
|
|
37
|
-
*/
|
|
38
|
-
function _fastTransferTo(
|
|
39
|
-
address _recipient,
|
|
40
|
-
uint256 _amount
|
|
41
|
-
) internal override {
|
|
42
|
-
_mint(_recipient, _amount);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* @dev Burns `_amount` of tokens from `_recipient`.
|
|
47
|
-
* @inheritdoc FastTokenRouter
|
|
48
|
-
*/
|
|
49
|
-
function _fastRecieveFrom(
|
|
50
|
-
address _sender,
|
|
51
|
-
uint256 _amount
|
|
52
|
-
) internal override {
|
|
53
|
-
_burn(_sender, _amount);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function balanceOf(
|
|
57
|
-
address _account
|
|
58
|
-
) public view virtual override(HypERC20, TokenRouter) returns (uint256) {
|
|
59
|
-
return ERC20Upgradeable.balanceOf(_account);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
pragma solidity >=0.8.0;
|
|
3
|
-
|
|
4
|
-
import {HypERC20Collateral} from "../HypERC20Collateral.sol";
|
|
5
|
-
import {FastTokenRouter} from "../libs/FastTokenRouter.sol";
|
|
6
|
-
import {TokenRouter} from "../libs/TokenRouter.sol";
|
|
7
|
-
|
|
8
|
-
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
9
|
-
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @title Hyperlane ERC20 Token Collateral that wraps an existing ERC20 with remote transfer functionality.
|
|
13
|
-
* @author Abacus Works
|
|
14
|
-
*/
|
|
15
|
-
contract FastHypERC20Collateral is FastTokenRouter, HypERC20Collateral {
|
|
16
|
-
using SafeERC20 for IERC20;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* @notice Constructor
|
|
20
|
-
* @param erc20 Address of the token to keep as collateral
|
|
21
|
-
*/
|
|
22
|
-
constructor(
|
|
23
|
-
address erc20,
|
|
24
|
-
uint256 _scale,
|
|
25
|
-
address _mailbox
|
|
26
|
-
) HypERC20Collateral(erc20, _scale, _mailbox) {}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @dev delegates transfer logic to `_transferTo`.
|
|
30
|
-
* @inheritdoc FastTokenRouter
|
|
31
|
-
*/
|
|
32
|
-
function _handle(
|
|
33
|
-
uint32 _origin,
|
|
34
|
-
bytes32 _sender,
|
|
35
|
-
bytes calldata _message
|
|
36
|
-
) internal virtual override(FastTokenRouter, TokenRouter) {
|
|
37
|
-
FastTokenRouter._handle(_origin, _sender, _message);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @dev Transfers `_amount` of `wrappedToken` to `_recipient`.
|
|
42
|
-
* @inheritdoc FastTokenRouter
|
|
43
|
-
*/
|
|
44
|
-
function _fastTransferTo(
|
|
45
|
-
address _recipient,
|
|
46
|
-
uint256 _amount
|
|
47
|
-
) internal override {
|
|
48
|
-
wrappedToken.safeTransfer(_recipient, _amount);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* @dev Transfers in `_amount` of `wrappedToken` from `_recipient`.
|
|
53
|
-
* @inheritdoc FastTokenRouter
|
|
54
|
-
*/
|
|
55
|
-
function _fastRecieveFrom(
|
|
56
|
-
address _sender,
|
|
57
|
-
uint256 _amount
|
|
58
|
-
) internal override {
|
|
59
|
-
wrappedToken.safeTransferFrom(_sender, address(this), _amount);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
pragma solidity >=0.8.0;
|
|
3
|
-
|
|
4
|
-
import {TypeCasts} from "../../libs/TypeCasts.sol";
|
|
5
|
-
|
|
6
|
-
import {TokenMessage} from "./TokenMessage.sol";
|
|
7
|
-
import {TokenRouter} from "./TokenRouter.sol";
|
|
8
|
-
import {FungibleTokenRouter} from "./FungibleTokenRouter.sol";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @title Common FastTokenRouter functionality for ERC20 Tokens with remote transfer support.
|
|
12
|
-
* @author Abacus Works
|
|
13
|
-
*/
|
|
14
|
-
abstract contract FastTokenRouter is FungibleTokenRouter {
|
|
15
|
-
using TypeCasts for bytes32;
|
|
16
|
-
using TokenMessage for bytes;
|
|
17
|
-
|
|
18
|
-
uint256 public fastTransferId;
|
|
19
|
-
// maps `fastTransferId` to the filler address.
|
|
20
|
-
mapping(bytes32 => address) filledFastTransfers;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @dev delegates transfer logic to `_transferTo`.
|
|
24
|
-
* @inheritdoc TokenRouter
|
|
25
|
-
*/
|
|
26
|
-
function _handle(
|
|
27
|
-
uint32 _origin,
|
|
28
|
-
bytes32,
|
|
29
|
-
bytes calldata _message
|
|
30
|
-
) internal virtual override {
|
|
31
|
-
bytes32 recipient = _message.recipient();
|
|
32
|
-
uint256 amount = _message.amount();
|
|
33
|
-
bytes calldata metadata = _message.metadata();
|
|
34
|
-
_transferTo(recipient.bytes32ToAddress(), amount, _origin, metadata);
|
|
35
|
-
emit ReceivedTransferRemote(_origin, recipient, amount);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* @dev Transfers `_amount` of token to `_recipient`/`fastFiller` who provided LP.
|
|
40
|
-
* @dev Called by `handle` after message decoding.
|
|
41
|
-
*/
|
|
42
|
-
function _transferTo(
|
|
43
|
-
address _recipient,
|
|
44
|
-
uint256 _amount,
|
|
45
|
-
uint32 _origin,
|
|
46
|
-
bytes calldata _metadata
|
|
47
|
-
) internal virtual {
|
|
48
|
-
address _tokenRecipient = _getTokenRecipient(
|
|
49
|
-
_recipient,
|
|
50
|
-
_amount,
|
|
51
|
-
_origin,
|
|
52
|
-
_metadata
|
|
53
|
-
);
|
|
54
|
-
|
|
55
|
-
_fastTransferTo(_tokenRecipient, _amount);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* @dev allows an external user to full an unfilled fast transfer order.
|
|
60
|
-
* @param _recipient The recipient of the wrapped token on base chain.
|
|
61
|
-
* @param _amount The amount of wrapped tokens that is being bridged.
|
|
62
|
-
* @param _fastFee The fee the bridging entity will pay.
|
|
63
|
-
* @param _fastTransferId Id assigned on the remote chain to uniquely identify the transfer.
|
|
64
|
-
*/
|
|
65
|
-
function fillFastTransfer(
|
|
66
|
-
address _recipient,
|
|
67
|
-
uint256 _amount,
|
|
68
|
-
uint256 _fastFee,
|
|
69
|
-
uint32 _origin,
|
|
70
|
-
uint256 _fastTransferId
|
|
71
|
-
) external virtual {
|
|
72
|
-
bytes32 filledFastTransfersKey = _getFastTransfersKey(
|
|
73
|
-
_origin,
|
|
74
|
-
_fastTransferId,
|
|
75
|
-
_amount,
|
|
76
|
-
_fastFee,
|
|
77
|
-
_recipient
|
|
78
|
-
);
|
|
79
|
-
require(
|
|
80
|
-
filledFastTransfers[filledFastTransfersKey] == address(0),
|
|
81
|
-
"request already filled"
|
|
82
|
-
);
|
|
83
|
-
|
|
84
|
-
filledFastTransfers[filledFastTransfersKey] = msg.sender;
|
|
85
|
-
|
|
86
|
-
_fastRecieveFrom(msg.sender, _amount - _fastFee);
|
|
87
|
-
_fastTransferTo(_recipient, _amount - _fastFee);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* @dev Transfers `_amountOrId` token to `_recipient` on `_destination` domain.
|
|
92
|
-
* @dev Delegates transfer logic to `_fastTransferFromSender` implementation.
|
|
93
|
-
* @dev Emits `SentTransferRemote` event on the origin chain.
|
|
94
|
-
* @param _destination The identifier of the destination chain.
|
|
95
|
-
* @param _recipient The address of the recipient on the destination chain.
|
|
96
|
-
* @param _amountOrId The amount or identifier of tokens to be sent to the remote recipient.
|
|
97
|
-
* @return messageId The identifier of the dispatched message.
|
|
98
|
-
*/
|
|
99
|
-
function fastTransferRemote(
|
|
100
|
-
uint32 _destination,
|
|
101
|
-
bytes32 _recipient,
|
|
102
|
-
uint256 _amountOrId,
|
|
103
|
-
uint256 _fastFee
|
|
104
|
-
) public payable virtual returns (bytes32 messageId) {
|
|
105
|
-
uint256 _fastTransferId = fastTransferId + 1;
|
|
106
|
-
fastTransferId = _fastTransferId;
|
|
107
|
-
bytes memory metadata = _fastTransferFromSender(
|
|
108
|
-
_amountOrId,
|
|
109
|
-
_fastFee,
|
|
110
|
-
_fastTransferId
|
|
111
|
-
);
|
|
112
|
-
|
|
113
|
-
messageId = _GasRouter_dispatch(
|
|
114
|
-
_destination,
|
|
115
|
-
msg.value,
|
|
116
|
-
TokenMessage.format(_recipient, _amountOrId, metadata),
|
|
117
|
-
address(hook)
|
|
118
|
-
);
|
|
119
|
-
emit SentTransferRemote(_destination, _recipient, _amountOrId);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* @dev Burns `_amount` of token from `msg.sender` balance.
|
|
124
|
-
* @dev Pays `_fastFee` of tokens to LP on source chain.
|
|
125
|
-
* @dev Returns `fastFee` as bytes in the form of metadata.
|
|
126
|
-
*/
|
|
127
|
-
function _fastTransferFromSender(
|
|
128
|
-
uint256 _amount,
|
|
129
|
-
uint256 _fastFee,
|
|
130
|
-
uint256 _fastTransferId
|
|
131
|
-
) internal virtual returns (bytes memory) {
|
|
132
|
-
_fastRecieveFrom(msg.sender, _amount);
|
|
133
|
-
return abi.encode(_fastFee, _fastTransferId);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* @dev returns an address that indicates who should receive the bridged tokens.
|
|
138
|
-
* @dev if _fastFees was included and someone filled the order before the mailbox made the contract call, the filler gets the funds.
|
|
139
|
-
*/
|
|
140
|
-
function _getTokenRecipient(
|
|
141
|
-
address _recipient,
|
|
142
|
-
uint256 _amount,
|
|
143
|
-
uint32 _origin,
|
|
144
|
-
bytes calldata _metadata
|
|
145
|
-
) internal view returns (address) {
|
|
146
|
-
if (_metadata.length == 0) {
|
|
147
|
-
return _recipient;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// decode metadata to extract `_fastFee` and `_fastTransferId`.
|
|
151
|
-
(uint256 _fastFee, uint256 _fastTransferId) = abi.decode(
|
|
152
|
-
_metadata,
|
|
153
|
-
(uint256, uint256)
|
|
154
|
-
);
|
|
155
|
-
|
|
156
|
-
address _fillerAddress = filledFastTransfers[
|
|
157
|
-
_getFastTransfersKey(
|
|
158
|
-
_origin,
|
|
159
|
-
_fastTransferId,
|
|
160
|
-
_amount,
|
|
161
|
-
_fastFee,
|
|
162
|
-
_recipient
|
|
163
|
-
)
|
|
164
|
-
];
|
|
165
|
-
if (_fillerAddress != address(0)) {
|
|
166
|
-
return _fillerAddress;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
return _recipient;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* @dev generates the key for storing the filler address of fast transfers.
|
|
174
|
-
*/
|
|
175
|
-
function _getFastTransfersKey(
|
|
176
|
-
uint32 _origin,
|
|
177
|
-
uint256 _fastTransferId,
|
|
178
|
-
uint256 _amount,
|
|
179
|
-
uint256 _fastFee,
|
|
180
|
-
address _recipient
|
|
181
|
-
) internal pure returns (bytes32) {
|
|
182
|
-
return
|
|
183
|
-
keccak256(
|
|
184
|
-
abi.encodePacked(
|
|
185
|
-
_origin,
|
|
186
|
-
_fastTransferId,
|
|
187
|
-
_amount,
|
|
188
|
-
_fastFee,
|
|
189
|
-
_recipient
|
|
190
|
-
)
|
|
191
|
-
);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* @dev Should transfer `_amount` of tokens to `_recipient`.
|
|
196
|
-
* @dev The implementation is delegated.
|
|
197
|
-
*/
|
|
198
|
-
function _fastTransferTo(
|
|
199
|
-
address _recipient,
|
|
200
|
-
uint256 _amount
|
|
201
|
-
) internal virtual;
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* @dev Should collect `amount` of tokens from `_sender`.
|
|
205
|
-
* @dev The implementation is delegated.
|
|
206
|
-
*/
|
|
207
|
-
function _fastRecieveFrom(
|
|
208
|
-
address _sender,
|
|
209
|
-
uint256 _amount
|
|
210
|
-
) internal virtual;
|
|
211
|
-
}
|