Update operator language

This commit is contained in:
William Entriken 2018-02-23 01:35:35 -05:00 committed by GitHub
parent e694c6d862
commit ab00c60414
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 24 additions and 10 deletions

View File

@ -3,7 +3,7 @@
```
EIP: <to be assigned>
Title: ERC-721 Deed Standard
Author: William Entriken <github.com@phor.net>, Dieter Shirley <dete@axiomzen.co>, Nastassia Sachs <nastassia.sachs@protonmail.com>
Author: William Entriken <github.com@phor.net>, Dieter Shirley <dete@axiomzen.co>, Jacob Evans <jacob@dekz.net>, Nastassia Sachs <nastassia.sachs@protonmail.com>
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) //////////////////////////////////////////