1234567891011121314151617181920212223242526272829303132333435363738394041 |
- pragma solidity ^0.4.24;
- import "../token/ERC721/IERC721Receiver.sol";
- contract ERC721ReceiverMock is IERC721Receiver {
- bytes4 private _retval;
- bool private _reverts;
- event Received(
- address operator,
- address from,
- uint256 tokenId,
- bytes data,
- uint256 gas
- );
- constructor(bytes4 retval, bool reverts) public {
- _retval = retval;
- _reverts = reverts;
- }
- function onERC721Received(
- address operator,
- address from,
- uint256 tokenId,
- bytes data
- )
- public
- returns(bytes4)
- {
- require(!_reverts);
- emit Received(
- operator,
- from,
- tokenId,
- data,
- gasleft() // msg.gas was deprecated in solidityv0.4.21
- );
- return _retval;
- }
- }
|