Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change status to 'Last Call' for eip875 #1549

Merged
merged 1 commit into from Jul 2, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
32 changes: 25 additions & 7 deletions EIPS/eip-875.md
@@ -1,9 +1,10 @@
---
eip: 875
title: A better NFT standard
title: Simpler NFT standard with batching and native atomic swaps
author: Weiwu Zhang <a@colourful.land>, James Sangalli <j.l.sangalli@gmail.com>
discussions-to: https://github.com/ethereum/EIPs/issues/875
status: Draft
status: Last Call
bitcoinwarrior1 marked this conversation as resolved.
Show resolved Hide resolved
review-period-end: 2019-07-29
type: Standards Track
category: ERC
created: 2018-02-08
Expand Down Expand Up @@ -63,7 +64,18 @@ Some protections need to be added to the message such as encoding the chain id,
## Interface

```
contract ERC875
contract ERC165
{
/// @notice Query if a contract implements an interface
/// @param interfaceID The interface identifier, as specified in ERC-165
/// @dev Interface identification is specified in ERC-165. This function
/// uses less than 30,000 gas.
/// @return `true` if the contract implements `interfaceID` and
/// `interfaceID` is not 0xffffffff, `false` otherwise
function supportsInterface(bytes4 interfaceID) external view returns (bool);
}

interface ERC875 /* is ERC165 */
{
event Transfer(address indexed _from, address indexed _to, uint256[] tokenIndices);

Expand All @@ -72,11 +84,17 @@ contract ERC875
function balanceOf(address _owner) public view returns (uint256[] _balances);
function transfer(address _to, uint256[] _tokens) public;
function transferFrom(address _from, address _to, uint256[] _tokens) public;
}

//optional
//function totalSupply() public constant returns (uint256 totalSupply);
function trade(uint256 expiryTimeStamp, uint256[] tokenIndices, uint8 v, bytes32 r, bytes32 s) public payable;
//function ownerOf(uint256 _tokenId) public view returns (address _owner);
//If you want the standard functions with atomic swap trading added
interface ERC875WithAtomicSwapTrading is ERC875 {
function trade(
uint256 expiryTimeStamp,
uint256[] tokenIndices,
uint8 v,
bytes32 r,
bytes32 s
) public payable;
}
```

Expand Down