From ec82c42c1b89ff79ba3133d3648b95b9f11415f8 Mon Sep 17 00:00:00 2001 From: Kyu Date: Mon, 27 Feb 2023 18:18:56 -0800 Subject: [PATCH] Skip chain id validation in `AbstractBridgeAdapter` on testnets (#668) --- contracts/zero-ex/CHANGELOG.json | 3 +++ .../src/transformers/bridges/AbstractBridgeAdapter.sol | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index c78faaf6f4..40f41afe4f 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -4,6 +4,9 @@ "changes": [ { "note": "Add KyberElastic mixin for Ethereum, Polygon, Arbitrum, Avalanche" + }, + { + "note": "Skip chain id validation in AbstractBridgeAdapter on testnets" } ] }, diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/AbstractBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/AbstractBridgeAdapter.sol index d1460ed36b..bfe22ce66d 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/AbstractBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/AbstractBridgeAdapter.sol @@ -23,8 +23,14 @@ abstract contract AbstractBridgeAdapter is IBridgeAdapter { assembly { chainId := chainid() } - // Allow testing on Ganache - if (chainId != expectedChainId && chainId != 1337) { + // Skip chain id validation on Ganache (1337), Anvil (31337), Goerli (5), Mumbai (80001), Base Goerli (84531) + bool skipValidation = (chainId == 1337 || + chainId == 31337 || + chainId == 5 || + chainId == 80001 || + chainId == 84531); + + if (chainId != expectedChainId && !skipValidation) { revert(string(abi.encodePacked(expectedChainName, "BridgeAdapter.constructor: wrong chain ID"))); } }