Fix ERC777 potential reentrancy issues (#2483)
This commit is contained in:
committed by
GitHub
parent
c2c08af16d
commit
3b4c951838
@ -6,6 +6,8 @@ import "../utils/Context.sol";
|
||||
import "../token/ERC777/ERC777.sol";
|
||||
|
||||
contract ERC777Mock is Context, ERC777 {
|
||||
event BeforeTokenTransfer();
|
||||
|
||||
constructor(
|
||||
address initialHolder,
|
||||
uint256 initialBalance,
|
||||
@ -28,4 +30,8 @@ contract ERC777Mock is Context, ERC777 {
|
||||
function approveInternal(address holder, address spender, uint256 value) public {
|
||||
_approve(holder, spender, value);
|
||||
}
|
||||
|
||||
function _beforeTokenTransfer(address, address, address, uint256) internal override {
|
||||
emit BeforeTokenTransfer();
|
||||
}
|
||||
}
|
||||
|
||||
@ -34,6 +34,9 @@ contract ERC777SenderRecipientMock is Context, IERC777Sender, IERC777Recipient,
|
||||
uint256 toBalance
|
||||
);
|
||||
|
||||
// Emitted in ERC777Mock. Here for easier decoding
|
||||
event BeforeTokenTransfer();
|
||||
|
||||
bool private _shouldRevertSend;
|
||||
bool private _shouldRevertReceive;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user