42 lines
1.3 KiB
Solidity
42 lines
1.3 KiB
Solidity
// 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;
|
|
}
|
|
|
|
/**
|
|
* @dev 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;
|
|
}
|