From 39dc87966d4191c41feb247b3f027543b235c6ea Mon Sep 17 00:00:00 2001 From: Matt Rice Date: Tue, 4 Feb 2025 21:40:11 -0500 Subject: [PATCH] fix(evm): L02 _destinationSettler Can Return Zero Address (#834) * fix: L02 _destinationSettler Can Return Zero Address * updated implementation to be in internal function Signed-off-by: Chris Maree --------- Signed-off-by: Chris Maree Co-authored-by: Chris Maree Co-authored-by: nicholaspai --- contracts/erc7683/ERC7683OrderDepositor.sol | 1 + contracts/erc7683/ERC7683OrderDepositorExternal.sol | 1 + 2 files changed, 2 insertions(+) diff --git a/contracts/erc7683/ERC7683OrderDepositor.sol b/contracts/erc7683/ERC7683OrderDepositor.sol index e45028dda..cfd97c5fd 100644 --- a/contracts/erc7683/ERC7683OrderDepositor.sol +++ b/contracts/erc7683/ERC7683OrderDepositor.sol @@ -26,6 +26,7 @@ abstract contract ERC7683OrderDepositor is IOriginSettler { error WrongChainId(); error WrongOrderDataType(); error WrongExclusiveRelayer(); + error NoDestinationSettlerForChain(uint256 chainId); // Permit2 contract for this network. IPermit2 public immutable PERMIT2; diff --git a/contracts/erc7683/ERC7683OrderDepositorExternal.sol b/contracts/erc7683/ERC7683OrderDepositorExternal.sol index 4ac8fb1e3..0e721e341 100644 --- a/contracts/erc7683/ERC7683OrderDepositorExternal.sol +++ b/contracts/erc7683/ERC7683OrderDepositorExternal.sol @@ -101,6 +101,7 @@ contract ERC7683OrderDepositorExternal is ERC7683OrderDepositor, Ownable, MultiC } function _destinationSettler(uint256 chainId) internal view override returns (address) { + if (destinationSettlers[chainId] == address(0)) revert NoDestinationSettlerForChain(chainId); return destinationSettlers[chainId]; } }