forked from ethereum/EIPs
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e694c6d
commit ab00c60
Showing
1 changed file
with
24 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ | |
``` | ||
EIP: <to be assigned> | ||
Title: ERC-721 Deed Standard | ||
Author: William Entriken <[email protected]>, Dieter Shirley <[email protected]>, Nastassia Sachs <[email protected]> | ||
Author: William Entriken <[email protected]>, Dieter Shirley <[email protected]>, Jacob Evans <[email protected]>, Nastassia Sachs <[email protected]> | ||
Type: Standard | ||
Category ERC | ||
Status: Draft | ||
|
@@ -65,10 +65,9 @@ interface ERC721 /* is ERC165 */ { | |
/// approved deed controller (if any) is reset to none. | ||
event Approval(address indexed _owner, address indexed _approved, uint256 _deedId); | ||
/// @dev This emits when the "delegate operator" for an account is changed | ||
/// or reaffirmed. The zero address indicates there is no delegate | ||
/// operator. | ||
event Delegation(address indexed _owner, address indexed _delegate); | ||
/// @dev This emits when a third party ("operator") is enabled or disable for | ||
/// an owner. The operator may manage all deeds of the owner. | ||
event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved); | ||
/// @notice Count all deeds assigned to an owner | ||
/// @dev Deeds assigned to zero address are considered invalid, and this | ||
|
@@ -84,7 +83,9 @@ interface ERC721 /* is ERC165 */ { | |
/// @return The address of the owner of the deed | ||
function ownerOf(uint256 _deedId) external view returns (address _owner); | ||
/// @notice Set a new owner for a deed | ||
/// @notice Transfers the ownership of a deed -- warning the caller is | ||
/// responsible to confirm that the sender is capable of receiving deeds | ||
/// otherwise the deed may become inaccessible! | ||
/// @dev Throws unless `msg.sender` is the current deed owner, the "delegate | ||
/// operator" of the current deed owner, or the "approved deed controller". | ||
/// Throws if `_to` currently owns the deed. Throws if `_to` is the zero | ||
|
@@ -93,6 +94,17 @@ interface ERC721 /* is ERC165 */ { | |
/// @param _deedId The deed to transfer | ||
function transfer(address _to, uint256 _deedId) external payable; | ||
/// @notice Transfers the ownership of a given deed from one address to | ||
/// another address | ||
/// @dev Throws unless `msg.sender` is the current deed owner, the "delegate | ||
/// operator" of the current deed owner, or the "approved deed controller". | ||
/// Throws if `_to` currently owns the deed. Throws if `_to` is the zero | ||
/// address. Throws if the deed is not currently owned by _from. | ||
/// @param _from The current owner for the deed | ||
/// @param _to The new owner for the deed | ||
/// @param _deedId The deed to transfer | ||
function transferFrom(address _from, address _to, uint256 _deedId) external payable; | ||
/// @notice Set or reaffirm the "approved deed controller" for a deed | ||
/// @dev The zero address indicates there is no approved deed controller. | ||
/// @dev Throws unless `msg.sender` is the current deed owner, or the | ||
|
@@ -101,10 +113,12 @@ interface ERC721 /* is ERC165 */ { | |
/// @param _deedId The deed to approve | ||
function approve(address _approved, uint256 _deedId) external payable; | ||
/// @notice Set or reaffirm the "delegate operator" for this account | ||
/// @dev The zero address indicates there is no delegate operator. | ||
/// @param _delegate The new delegate operator | ||
function delegate(address _delegate) external; | ||
/// @notice Enable or disable approval for a third party ("operator") to manage | ||
/// all your deeds. | ||
/// @dev Emits the ApprovalForAll event | ||
/// @param _operator Address to add to the set of authorized operators. | ||
/// @param _approved True if the operators is approved, false to revoke approval | ||
function setApprovalForAll(address _operateor, boolean _approved) payable; | ||
// CONFORMANCE TO ERC-165 (DRAFT) ////////////////////////////////////////// | ||
|