aboutsummaryrefslogtreecommitdiffstats
path: root/contracts/erc721/contracts/src/interfaces/IERC721Receiver.sol
diff options
context:
space:
mode:
Diffstat (limited to 'contracts/erc721/contracts/src/interfaces/IERC721Receiver.sol')
-rw-r--r--contracts/erc721/contracts/src/interfaces/IERC721Receiver.sol44
1 files changed, 44 insertions, 0 deletions
diff --git a/contracts/erc721/contracts/src/interfaces/IERC721Receiver.sol b/contracts/erc721/contracts/src/interfaces/IERC721Receiver.sol
new file mode 100644
index 000000000..c3ad35ede
--- /dev/null
+++ b/contracts/erc721/contracts/src/interfaces/IERC721Receiver.sol
@@ -0,0 +1,44 @@
+/*
+
+ Copyright 2018 ZeroEx Intl.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+*/
+
+pragma solidity ^0.4.24;
+
+
+contract IERC721Receiver {
+
+ /// @notice Handle the receipt of an NFT
+ /// @dev The ERC721 smart contract calls this function on the recipient
+ /// after a `transfer`. This function MAY throw to revert and reject the
+ /// transfer. Return of other than the magic value MUST result in the
+ /// transaction being reverted.
+ /// Note: the contract address is always the message sender.
+ /// @param _operator The address which called `safeTransferFrom` function
+ /// @param _from The address which previously owned the token
+ /// @param _tokenId The NFT identifier which is being transferred
+ /// @param _data Additional data with no specified format
+ /// @return `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`
+ /// unless throwing
+ function onERC721Received(
+ address _operator,
+ address _from,
+ uint256 _tokenId,
+ bytes _data
+ )
+ external
+ returns (bytes4);
+}