Automatically merged updates to draft EIP(s) 998

Hi, I'm a bot! This change was automatically merged because:

 - It only modifies existing Draft or Last Call EIP(s)
 - The PR was approved or written by at least one author of each modified EIP
 - The build is passing
This commit is contained in:
Nick Mudge 2018-07-24 17:15:12 -07:00 committed by EIP Automerge Bot
parent 5ca0e7d86d
commit 4315fe97bb
1 changed files with 5 additions and 7 deletions

View File

@ -118,7 +118,7 @@ pragma solidity ^0.4.24;
/// @title ERC998ERC721 Top-Down Composable Non-Fungible Token
/// @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-998.md
/// Note: the ERC-165 identifier for this interface is 0x1bc995e4
/// Note: the ERC-165 identifier for this interface is 0xe85c4c41
interface ERC998ERC721TopDown {
/// @dev This emits when a token receives a child token.
@ -172,11 +172,10 @@ interface ERC998ERC721TopDown {
returns(bytes4);
/// @notice Let's an owning contract know that a specified token is transferred out
/// @param The address that caused the transfer.
/// @param _operator The address that caused the transfer.
/// @param _toContract The contract that receives the child token
/// @param _childTokenId The child tokenId that is being removed.
/// @param _data Additional data with no specified format
function onERC998Removed(address _operator, address _toContract, uint256 _childTokenId, bytes _data) external;
/// @param _childTokenId The child tokenId that is being removed.
function onERC998Removed(address _operator, address _toContract, uint256 _childTokenId) external;
/// @notice Transfer child token from top-down composable to address.
/// @param _to The address that receives the child token
@ -285,8 +284,7 @@ The return value for `onERC721Received` is the magic value `0x150b7a02` which is
/// @param The address that caused the transfer.
/// @param _toContract The contract that receives the child token
/// @param _childTokenId The child tokenId that is being removed.
/// @param _data Additional data with no specified format
function onERC998Removed(address _operator, address _toContract, uint256 _childTokenId, bytes _data) external;
function onERC998Removed(address _operator, address _toContract, uint256 _childTokenId) external;
```
Any composable or "composable aware" contract must call the `onERC998Removed` function within all `transferFrom/safeTransferFrom` functions on the contract that is losing ownership of an ERC721 token. It is used to notify top-down composables that they no longer have a child token and to remove it from any internal bookkeeping/tracking.