1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // SPDX-License-Identifier: MIT
- // OpenZeppelin Contracts v4.4.1 (token/ERC721/utils/ERC721Holder.sol)
- pragma solidity ^0.8.0;
- import "../IERC721ReceiverUpgradeable.sol";
- import "../../../proxy/utils/Initializable.sol";
- /**
- * @dev Implementation of the {IERC721Receiver} interface.
- *
- * Accepts all token transfers.
- * Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.
- */
- contract ERC721HolderUpgradeable is Initializable, IERC721ReceiverUpgradeable {
- function __ERC721Holder_init() internal onlyInitializing {
- }
- function __ERC721Holder_init_unchained() internal onlyInitializing {
- }
- /**
- * @dev See {IERC721Receiver-onERC721Received}.
- *
- * Always returns `IERC721Receiver.onERC721Received.selector`.
- */
- function onERC721Received(
- address,
- address,
- uint256,
- bytes memory
- ) public virtual override returns (bytes4) {
- return this.onERC721Received.selector;
- }
- /**
- * This empty reserved space is put in place to allow future versions to add new
- * variables without shifting down storage in the inheritance chain.
- * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps
- */
- uint256[50] private __gap;
- }
|