ERC721Holder.sol 768 B

1234567891011121314151617181920212223
  1. // SPDX-License-Identifier: MIT
  2. // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/utils/ERC721Holder.sol)
  3. pragma solidity ^0.8.0;
  4. import "../IERC721Receiver.sol";
  5. /**
  6. * @dev Implementation of the {IERC721Receiver} interface.
  7. *
  8. * Accepts all token transfers.
  9. * Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.
  10. */
  11. contract ERC721Holder is IERC721Receiver {
  12. /**
  13. * @dev See {IERC721Receiver-onERC721Received}.
  14. *
  15. * Always returns `IERC721Receiver.onERC721Received.selector`.
  16. */
  17. function onERC721Received(address, address, uint256, bytes memory) public virtual override returns (bytes4) {
  18. return this.onERC721Received.selector;
  19. }
  20. }