ERC721Holder.sol 800 B

123456789101112131415161718192021222324
  1. // SPDX-License-Identifier: MIT
  2. // OpenZeppelin Contracts (last updated v5.0.0-rc.2) (token/ERC721/utils/ERC721Holder.sol)
  3. pragma solidity ^0.8.20;
  4. import {IERC721Receiver} from "../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
  10. * {IERC721-setApprovalForAll}.
  11. */
  12. abstract contract ERC721Holder is IERC721Receiver {
  13. /**
  14. * @dev See {IERC721Receiver-onERC721Received}.
  15. *
  16. * Always returns `IERC721Receiver.onERC721Received.selector`.
  17. */
  18. function onERC721Received(address, address, uint256, bytes memory) public virtual returns (bytes4) {
  19. return this.onERC721Received.selector;
  20. }
  21. }