diff --git a/CHANGELOG.md b/CHANGELOG.md index 7288d11451c..263f869ff81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ * `Clones`: optimize clone creation ([#3329](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3329)) * `TimelockController`: Migrate `_call` to `_execute` and allow inheritance and overriding similar to `Governor`. ([#3317](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3317)) + * `CrossChainEnabledPolygonChild`: replace the `require` statement with the custom error `NotCrossChainCall`. ([#3380](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3380)) ## 4.6.0 (2022-04-26) diff --git a/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol b/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol index 868bd231009..15da835014b 100644 --- a/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +++ b/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol @@ -63,10 +63,10 @@ abstract contract CrossChainEnabledPolygonChild is IFxMessageProcessor, CrossCha address rootMessageSender, bytes calldata data ) external override nonReentrant { - require(msg.sender == _fxChild, "unauthorized cross-chain relay"); + if (!_isCrossChain()) revert NotCrossChainCall(); _sender = rootMessageSender; - Address.functionDelegateCall(address(this), data, "crosschain execution failled"); + Address.functionDelegateCall(address(this), data, "cross-chain execution failed"); _sender = DEFAULT_SENDER; } }