ERC721Holder.sol 796 B

12345678910111213141516171819202122232425262728
  1. // SPDX-License-Identifier: MIT
  2. // OpenZeppelin Contracts v4.4.0-rc.1 (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(
  18. address,
  19. address,
  20. uint256,
  21. bytes memory
  22. ) public virtual override returns (bytes4) {
  23. return this.onERC721Received.selector;
  24. }
  25. }