diff options
author | fragosti <francesco.agosti93@gmail.com> | 2018-08-21 03:01:58 +0800 |
---|---|---|
committer | fragosti <francesco.agosti93@gmail.com> | 2018-08-21 03:01:58 +0800 |
commit | cabce8cb674e937a566e8a821e3959076390f603 (patch) | |
tree | 085b13d8d39c78ae6b5b58157ad73ca5efea544f /packages/contracts/src/2.0.0/test/DummyERC721Receiver/DummyERC721Receiver.sol | |
parent | 44cc5e45cc3a3ed7db2691a287500e5d61a2d0c1 (diff) | |
parent | 756787c61fff9c6b463fbbd69b48210dafe62004 (diff) | |
download | dexon-sol-tools-cabce8cb674e937a566e8a821e3959076390f603.tar dexon-sol-tools-cabce8cb674e937a566e8a821e3959076390f603.tar.gz dexon-sol-tools-cabce8cb674e937a566e8a821e3959076390f603.tar.bz2 dexon-sol-tools-cabce8cb674e937a566e8a821e3959076390f603.tar.lz dexon-sol-tools-cabce8cb674e937a566e8a821e3959076390f603.tar.xz dexon-sol-tools-cabce8cb674e937a566e8a821e3959076390f603.tar.zst dexon-sol-tools-cabce8cb674e937a566e8a821e3959076390f603.zip |
Merge branch 'development' of https://github.com/0xProject/0x-monorepo into feature/connect/sra-api-v2
Diffstat (limited to 'packages/contracts/src/2.0.0/test/DummyERC721Receiver/DummyERC721Receiver.sol')
-rw-r--r-- | packages/contracts/src/2.0.0/test/DummyERC721Receiver/DummyERC721Receiver.sol | 68 |
1 files changed, 36 insertions, 32 deletions
diff --git a/packages/contracts/src/2.0.0/test/DummyERC721Receiver/DummyERC721Receiver.sol b/packages/contracts/src/2.0.0/test/DummyERC721Receiver/DummyERC721Receiver.sol index 5dce74a14..ac95e47bd 100644 --- a/packages/contracts/src/2.0.0/test/DummyERC721Receiver/DummyERC721Receiver.sol +++ b/packages/contracts/src/2.0.0/test/DummyERC721Receiver/DummyERC721Receiver.sol @@ -1,26 +1,19 @@ /* -The MIT License (MIT) -Copyright (c) 2016 Smart Contract Solutions, Inc. + Copyright 2018 ZeroEx Intl. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + 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 -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. + 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. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ pragma solidity 0.4.24; @@ -32,33 +25,44 @@ contract DummyERC721Receiver is IERC721Receiver { + // Function selector for ERC721Receiver.onERC721Received + // 0x150b7a02 + bytes4 constant internal ERC721_RECEIVED = bytes4(keccak256("onERC721Received(address,address,uint256,bytes)")); + event TokenReceived( + address operator, address from, uint256 tokenId, bytes data ); - /** - * @notice Handle the receipt of an NFT - * @dev The ERC721 smart contract calls this function on the recipient - * after a `safetransfer`. This function MAY throw to revert and reject the - * transfer. This function MUST use 50,000 gas or less. Return of other - * than the magic value MUST result in the transaction being reverted. - * Note: the contract address is always the message sender. - * @param _from The sending address - * @param _tokenId The NFT identifier which is being transfered - * @param _data Additional data with no specified format - * @return `bytes4(keccak256("onERC721Received(address,uint256,bytes)"))` - */ + /// @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 ) - public + external returns (bytes4) { - emit TokenReceived(_from, _tokenId, _data); + emit TokenReceived( + _operator, + _from, + _tokenId, + _data + ); return ERC721_RECEIVED; } } |