ERC721Holder.sol 824 B

1234567891011121314151617181920212223242526
  1. // SPDX-License-Identifier: MIT
  2. // OpenZeppelin Contracts (last updated v5.0.0-rc.0) (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. * @custom:stateless
  13. */
  14. abstract contract ERC721Holder is IERC721Receiver {
  15. /**
  16. * @dev See {IERC721Receiver-onERC721Received}.
  17. *
  18. * Always returns `IERC721Receiver.onERC721Received.selector`.
  19. */
  20. function onERC721Received(address, address, uint256, bytes memory) public virtual returns (bytes4) {
  21. return this.onERC721Received.selector;
  22. }
  23. }