From 3c107066dabb1dda55814c10933d604d5069de93 Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Fri, 10 Feb 2023 14:40:43 +0800 Subject: [PATCH] feat(protocol): re-implement bridge receive check (#13134) Co-authored-by: dave | d1onys1us <13951458+d1onys1us@users.noreply.github.com> --- packages/protocol/contracts/bridge/Bridge.sol | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/protocol/contracts/bridge/Bridge.sol b/packages/protocol/contracts/bridge/Bridge.sol index 86b2d7a584..5d515579ee 100644 --- a/packages/protocol/contracts/bridge/Bridge.sol +++ b/packages/protocol/contracts/bridge/Bridge.sol @@ -49,7 +49,12 @@ contract Bridge is EssentialContract, IBridge { /// Allow Bridge to receive ETH from the TokenVault or EtherVault. receive() external payable { - // TODO(dave,PR#13110): require the sender is the TokenVault or EtherVault + require( + msg.sender == resolve("token_vault", true) || + msg.sender == resolve("ether_vault", true) || + msg.sender == owner(), + "B:receive" + ); } /// @dev Initializer to be called after being deployed behind a proxy.