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

Add EIP: Asset-bound Non-Fungible Tokens #6956

Merged
merged 13 commits into from
May 20, 2023

Conversation

tbergmueller
Copy link
Contributor

This is the initial Draft of ASSET-BOUND NON-FUNGIBLE TOKENS

@github-actions github-actions bot added c-new Creates a brand new proposal s-draft This EIP is a Draft t-erc labels Apr 29, 2023
@eth-bot
Copy link
Collaborator

eth-bot commented Apr 29, 2023

✅ All reviewers have approved.

@eth-bot eth-bot changed the title Asset-Bound NFT: Initial Draft, reference implementation Add EIP: Asset-bound Non-Fungible Tokens Apr 29, 2023
@eth-bot eth-bot added a-review Waiting on author to review e-consensus Waiting on editor consensus labels Apr 29, 2023
@github-actions github-actions bot added w-ci Waiting on CI to pass and removed w-ci Waiting on CI to pass labels Apr 29, 2023
@tbergmueller tbergmueller force-pushed the assetBoundNFT branch 2 times, most recently from dba8455 to e347538 Compare April 29, 2023 12:41
@github-actions github-actions bot added w-ci Waiting on CI to pass and removed w-ci Waiting on CI to pass labels Apr 29, 2023
@tbergmueller tbergmueller force-pushed the assetBoundNFT branch 5 times, most recently from 17300e4 to c34e06a Compare April 30, 2023 14:13
@github-actions github-actions bot added w-ci Waiting on CI to pass and removed w-ci Waiting on CI to pass labels Apr 30, 2023
@tbergmueller tbergmueller force-pushed the assetBoundNFT branch 2 times, most recently from 9c78698 to 3f45d9e Compare May 1, 2023 17:18
@github-actions github-actions bot removed the w-ci Waiting on CI to pass label May 1, 2023
@tbergmueller tbergmueller force-pushed the assetBoundNFT branch 2 times, most recently from a627228 to 4ce497d Compare May 1, 2023 17:26
@github-actions github-actions bot added the w-ci Waiting on CI to pass label May 1, 2023
EIPS/eip-6956.md Outdated Show resolved Hide resolved
EIPS/eip-6956.md Outdated Show resolved Hide resolved
EIPS/eip-6956.md Outdated Show resolved Hide resolved
EIPS/eip-6956.md Outdated Show resolved Hide resolved
EIPS/eip-6956.md Outdated Show resolved Hide resolved
EIPS/eip-6956.md Outdated Show resolved Hide resolved
EIPS/eip-6956.md Outdated Show resolved Hide resolved
EIPS/eip-6956.md Outdated Show resolved Hide resolved
EIPS/eip-6956.md Outdated Show resolved Hide resolved
assets/eip-6956/package.json Outdated Show resolved Hide resolved
ghost
ghost previously approved these changes May 18, 2023
@SamWilsn SamWilsn mentioned this pull request May 18, 2023
5 tasks
Copy link
Contributor

@SamWilsn SamWilsn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tbergmueller
Copy link
Contributor Author

Following discussion in Discord / #eip-editors, added in 8301954 the following SPDX-Identifier to interfaces in the EIP:

// SPDX-License-Identifier: MIT OR CC0-1.0

This makes it abundantly clear that no patent- or license claims whatsoever can arise when implementing IERC6956*

EIPS/eip-6956.md Outdated Show resolved Hide resolved
EIPS/eip-6956.md Outdated Show resolved Hide resolved
SamWilsn
SamWilsn previously approved these changes May 20, 2023
tbergmueller and others added 12 commits May 20, 2023 10:01
- Changes IERC6956Floatable interface
- Resolves TODO from reference implementation
- Makes canFloat mechanics obsolete - removed
Using AccessControl when inheriting from multiple base contracts is
likely to fail or result in very complex overriding structures.

Replace it by a simple maintainers() mapping, isMaintainer() function
(which can or shall be overridden) and maintainerOnly() modifier.

Typically, isMaintainer() would be overriden by a derived contract and
employ something like AccessControl.hasRole(MAINTAINER_ROLE)
- Interfaces streamlined and unified naming
- Added Rationale and Security Considerations

Resolve Review in EIP Editing Office Hour Meeting 17
- Maintainer-called functions removed from interfaces
- Shortened abstract (250 words to 199 words)
- Expanded abbreviations
- Removed build files (hardhat, solhint), kept package.json

Reference implementation
- Resolved reentrant-attack vector for transferAnchor and burn
- Minor gas optimizations
As discussed in #eip-editors, to clarify the interface is licensed
under CC0-1.0 (as the EIP) but also under MIT.

MIT ensures that any implementation of the interface is
guaranteed to be free of eventual patent- and license claims.
Co-authored-by: Sam Wilson <57262657+SamWilsn@users.noreply.github.com>
Co-authored-by: Sam Wilson <57262657+SamWilsn@users.noreply.github.com>
To hopefully resolve auto-review bot's parsing issues

See ethereum/eip-review-bot#270
@eth-bot eth-bot added e-review Waiting on editor to review and removed a-review Waiting on author to review labels May 20, 2023
@eth-bot eth-bot enabled auto-merge (squash) May 20, 2023 21:26
Copy link
Collaborator

@eth-bot eth-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All Reviewers Have Approved; Performing Automatic Merge...

@eth-bot eth-bot merged commit 9230fe3 into ethereum:master May 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c-new Creates a brand new proposal e-consensus Waiting on editor consensus e-review Waiting on editor to review s-draft This EIP is a Draft t-erc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants