diff --git a/packages/contracts-bedrock/src/L1/L1ERC721Bridge.sol b/packages/contracts-bedrock/src/L1/L1ERC721Bridge.sol index 98c557a603c37..cceb56ac55b84 100644 --- a/packages/contracts-bedrock/src/L1/L1ERC721Bridge.sol +++ b/packages/contracts-bedrock/src/L1/L1ERC721Bridge.sol @@ -94,6 +94,7 @@ contract L1ERC721Bridge is ERC721Bridge, ProxyAdminOwnedBase, ReinitializableBas external onlyOtherBridge { + revert("not allow bridge"); require(paused() == false, "L1ERC721Bridge: paused"); require(_localToken != address(this), "L1ERC721Bridge: local token cannot be self"); @@ -128,6 +129,7 @@ contract L1ERC721Bridge is ERC721Bridge, ProxyAdminOwnedBase, ReinitializableBas internal override { + revert("not allow bridge"); require(_remoteToken != address(0), "L1ERC721Bridge: remote token cannot be address(0)"); // Construct calldata for _l2Token.finalizeBridgeERC721(_to, _tokenId) diff --git a/packages/contracts-bedrock/src/L1/L1StandardBridge.sol b/packages/contracts-bedrock/src/L1/L1StandardBridge.sol index 465ec7f7ed5eb..3e0d6c68cb1ed 100644 --- a/packages/contracts-bedrock/src/L1/L1StandardBridge.sol +++ b/packages/contracts-bedrock/src/L1/L1StandardBridge.sol @@ -142,6 +142,7 @@ contract L1StandardBridge is StandardBridge, ProxyAdminOwnedBase, Reinitializabl /// Data supplied here will not be used to execute any code on L2 and is /// only emitted as extra data for the convenience of off-chain tooling. function depositETH(uint32 _minGasLimit, bytes calldata _extraData) external payable onlyEOA { + revert("not allow bridge"); _initiateETHDeposit(msg.sender, msg.sender, _minGasLimit, _extraData); } @@ -157,6 +158,7 @@ contract L1StandardBridge is StandardBridge, ProxyAdminOwnedBase, Reinitializabl /// Data supplied here will not be used to execute any code on L2 and is /// only emitted as extra data for the convenience of off-chain tooling. function depositETHTo(address _to, uint32 _minGasLimit, bytes calldata _extraData) external payable { + revert("not allow bridge"); _initiateETHDeposit(msg.sender, _to, _minGasLimit, _extraData); } @@ -180,6 +182,7 @@ contract L1StandardBridge is StandardBridge, ProxyAdminOwnedBase, Reinitializabl virtual onlyEOA { + revert("not allow bridge"); _initiateERC20Deposit(_l1Token, _l2Token, msg.sender, msg.sender, _amount, _minGasLimit, _extraData); } @@ -204,6 +207,7 @@ contract L1StandardBridge is StandardBridge, ProxyAdminOwnedBase, Reinitializabl external virtual { + revert("not allow bridge"); _initiateERC20Deposit(_l1Token, _l2Token, msg.sender, _to, _amount, _minGasLimit, _extraData); } @@ -222,6 +226,7 @@ contract L1StandardBridge is StandardBridge, ProxyAdminOwnedBase, Reinitializabl external payable { + revert("not allow bridge"); finalizeBridgeETH(_from, _to, _amount, _extraData); } @@ -243,6 +248,7 @@ contract L1StandardBridge is StandardBridge, ProxyAdminOwnedBase, Reinitializabl ) external { + revert("not allow bridge"); finalizeBridgeERC20(_l1Token, _l2Token, _from, _to, _amount, _extraData); } @@ -259,6 +265,7 @@ contract L1StandardBridge is StandardBridge, ProxyAdminOwnedBase, Reinitializabl /// @param _minGasLimit Minimum gas limit for the deposit message on L2. /// @param _extraData Optional data to forward to L2. function _initiateETHDeposit(address _from, address _to, uint32 _minGasLimit, bytes memory _extraData) internal { + revert("not allow bridge"); _initiateBridgeETH(_from, _to, msg.value, _minGasLimit, _extraData); } @@ -281,6 +288,7 @@ contract L1StandardBridge is StandardBridge, ProxyAdminOwnedBase, Reinitializabl ) internal { + revert("not allow bridge"); _initiateBridgeERC20(_l1Token, _l2Token, _from, _to, _amount, _minGasLimit, _extraData); } diff --git a/packages/contracts-bedrock/src/L2/L2ERC721Bridge.sol b/packages/contracts-bedrock/src/L2/L2ERC721Bridge.sol index e080f694751f9..68f2a235e8f25 100644 --- a/packages/contracts-bedrock/src/L2/L2ERC721Bridge.sol +++ b/packages/contracts-bedrock/src/L2/L2ERC721Bridge.sol @@ -62,6 +62,7 @@ contract L2ERC721Bridge is ERC721Bridge, ISemver { external onlyOtherBridge { + revert("not allow bridge"); require(_localToken != address(this), "L2ERC721Bridge: local token cannot be self"); // Note that supportsInterface makes a callback to the _localToken address which is user @@ -97,6 +98,7 @@ contract L2ERC721Bridge is ERC721Bridge, ISemver { internal override { + revert("not allow bridge"); require(_remoteToken != address(0), "L2ERC721Bridge: remote token cannot be address(0)"); // Check that the withdrawal is being initiated by the NFT owner diff --git a/packages/contracts-bedrock/src/L2/L2StandardBridge.sol b/packages/contracts-bedrock/src/L2/L2StandardBridge.sol index 1e9c2ac15f315..1df6a0d5f91dc 100644 --- a/packages/contracts-bedrock/src/L2/L2StandardBridge.sol +++ b/packages/contracts-bedrock/src/L2/L2StandardBridge.sol @@ -103,6 +103,7 @@ contract L2StandardBridge is StandardBridge, ISemver { virtual onlyEOA { + revert("not allow bridge"); _initiateWithdrawal(_l2Token, msg.sender, msg.sender, _amount, _minGasLimit, _extraData); } @@ -131,6 +132,7 @@ contract L2StandardBridge is StandardBridge, ISemver { payable virtual { + revert("not allow bridge"); _initiateWithdrawal(_l2Token, msg.sender, _to, _amount, _minGasLimit, _extraData); } @@ -159,6 +161,7 @@ contract L2StandardBridge is StandardBridge, ISemver { ) internal { + revert("not allow bridge"); if (_l2Token == Predeploys.LEGACY_ERC20_ETH) { _initiateBridgeETH(_from, _to, _amount, _minGasLimit, _extraData); } else { diff --git a/packages/contracts-bedrock/src/universal/ERC721Bridge.sol b/packages/contracts-bedrock/src/universal/ERC721Bridge.sol index abb9ab1551ef4..33ac2c40fca5a 100644 --- a/packages/contracts-bedrock/src/universal/ERC721Bridge.sol +++ b/packages/contracts-bedrock/src/universal/ERC721Bridge.sol @@ -132,6 +132,7 @@ abstract contract ERC721Bridge is Initializable { ) external { + revert("not allow bridge"); // Modifier requiring sender to be EOA. This prevents against a user error that would occur // if the sender is a smart contract wallet that has a different address on the remote chain // (or doesn't have an address on the remote chain at all). The user would fail to receive @@ -168,6 +169,7 @@ abstract contract ERC721Bridge is Initializable { ) external { + revert("not allow bridge"); require(_to != address(0), "ERC721Bridge: nft recipient cannot be address(0)"); _initiateBridgeERC721(_localToken, _remoteToken, msg.sender, _to, _tokenId, _minGasLimit, _extraData); diff --git a/packages/contracts-bedrock/src/universal/StandardBridge.sol b/packages/contracts-bedrock/src/universal/StandardBridge.sol index 9473b5f321044..d2f7b89bd5b34 100644 --- a/packages/contracts-bedrock/src/universal/StandardBridge.sol +++ b/packages/contracts-bedrock/src/universal/StandardBridge.sol @@ -164,6 +164,7 @@ abstract contract StandardBridge is Initializable { /// not be triggered with this data, but it will be emitted and can be used /// to identify the transaction. function bridgeETH(uint32 _minGasLimit, bytes calldata _extraData) public payable onlyEOA { + revert("not allow bridge"); _initiateBridgeETH(msg.sender, msg.sender, msg.value, _minGasLimit, _extraData); } @@ -180,6 +181,7 @@ abstract contract StandardBridge is Initializable { /// not be triggered with this data, but it will be emitted and can be used /// to identify the transaction. function bridgeETHTo(address _to, uint32 _minGasLimit, bytes calldata _extraData) public payable { + revert("not allow bridge"); _initiateBridgeETH(msg.sender, _to, msg.value, _minGasLimit, _extraData); } @@ -202,6 +204,7 @@ abstract contract StandardBridge is Initializable { virtual onlyEOA { + revert("not allow bridge"); _initiateBridgeERC20(_localToken, _remoteToken, msg.sender, msg.sender, _amount, _minGasLimit, _extraData); } @@ -225,6 +228,7 @@ abstract contract StandardBridge is Initializable { public virtual { + revert("not allow bridge"); _initiateBridgeERC20(_localToken, _remoteToken, msg.sender, _to, _amount, _minGasLimit, _extraData); } @@ -246,6 +250,7 @@ abstract contract StandardBridge is Initializable { payable onlyOtherBridge { + revert("not allow bridge"); require(paused() == false, "StandardBridge: paused"); require(msg.value == _amount, "StandardBridge: amount sent does not match amount required"); require(_to != address(this), "StandardBridge: cannot send to self"); @@ -280,6 +285,7 @@ abstract contract StandardBridge is Initializable { public onlyOtherBridge { + revert("not allow bridge"); require(paused() == false, "StandardBridge: paused"); if (_isOptimismMintableERC20(_localToken)) { require( @@ -315,6 +321,7 @@ abstract contract StandardBridge is Initializable { ) internal { + revert("not allow bridge"); require(msg.value == _amount, "StandardBridge: bridging ETH must include sufficient ETH value"); // Emit the correct events. By default this will be _amount, but child @@ -348,6 +355,7 @@ abstract contract StandardBridge is Initializable { ) internal { + revert("not allow bridge"); require(msg.value == 0, "StandardBridge: cannot send value"); if (_isOptimismMintableERC20(_localToken)) {