From edb923b8bb77e4f98dfbb1590df7bec02fbac99e Mon Sep 17 00:00:00 2001 From: Amir Bandeali Date: Thu, 22 Aug 2019 15:47:25 -0700 Subject: [PATCH] Use TransactionInvalidContextError in _assertExecutableTransaction --- .../exchange/contracts/src/MixinTransactions.sol | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/contracts/exchange/contracts/src/MixinTransactions.sol b/contracts/exchange/contracts/src/MixinTransactions.sol index 28b00948b7..86788d19d0 100644 --- a/contracts/exchange/contracts/src/MixinTransactions.sol +++ b/contracts/exchange/contracts/src/MixinTransactions.sol @@ -150,11 +150,12 @@ contract MixinTransactions is )); } - // Prevent reentrancy - if (currentContextAddress != address(0)) { - LibRichErrors.rrevert(LibExchangeRichErrors.TransactionError( - LibExchangeRichErrors.TransactionErrorCodes.NO_REENTRANCY, - transactionHash + // Prevent `executeTransaction` from being called when context is already set + address currentContextAddress_ = currentContextAddress; + if (currentContextAddress_ != address(0)) { + LibRichErrors.rrevert(LibExchangeRichErrors.TransactionInvalidContextError( + transactionHash, + currentContextAddress_ )); }