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: SoulBounds Interface #7121

Closed
wants to merge 13 commits into from
Closed

Add EIP: SoulBounds Interface #7121

wants to merge 13 commits into from

Conversation

lssleo
Copy link

@lssleo lssleo commented Jun 1, 2023

When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md

We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met:

  • The PR edits only existing draft PRs.
  • The build passes.
  • Your GitHub username or email address is listed in the 'author' header of all affected PRs, inside .
  • If matching on email address, the email address is the one publicly listed on your GitHub profile.

@lssleo lssleo requested a review from eth-bot as a code owner June 1, 2023 08:53
@github-actions github-actions bot added c-new Creates a brand new proposal s-draft This EIP is a Draft t-erc labels Jun 1, 2023
@eth-bot
Copy link
Collaborator

eth-bot commented Jun 1, 2023

File EIPS/eip-7121.md

Requires 1 more reviewers from @axic, @Pandapip1, @SamWilsn, @xinbenlv

@eth-bot eth-bot changed the title Create eip-XXXX.md Add EIP: SoulBounds. Standard Interface for Soulbound Assets Jun 1, 2023
@eth-bot eth-bot added e-consensus Waiting on editor consensus e-review Waiting on editor to review labels Jun 1, 2023
@github-actions github-actions bot added the w-ci Waiting on CI to pass label Jun 1, 2023
@github-actions github-actions bot removed the w-ci Waiting on CI to pass label Jun 1, 2023
@eth-bot eth-bot changed the title Add EIP: SoulBounds. Standard Interface for Soulbound Assets Add EIP: SoulBounds - Standard Interface for Soulbound Assets Jun 1, 2023
@github-actions github-actions bot added the w-ci Waiting on CI to pass label Jun 1, 2023
EIPS/eip-XXXX.md Outdated Show resolved Hide resolved
lssleo and others added 2 commits June 2, 2023 16:22
Co-authored-by: Andrew B Coathup <28278242+abcoathup@users.noreply.github.com>
@eth-bot eth-bot changed the title Add EIP: SoulBounds - Standard Interface for Soulbound Assets Add EIP: SoulBounds Interface Jun 2, 2023
@github-actions github-actions bot added w-ci Waiting on CI to pass and removed w-ci Waiting on CI to pass labels Jun 2, 2023
@github-actions
Copy link

github-actions bot commented Jun 2, 2023

The commit 05901be (as a parent of 1096a42) contains errors.
Please inspect the Run Summary for details.

@github-actions github-actions bot removed the w-ci Waiting on CI to pass label Jun 2, 2023
@lssleo lssleo requested a review from abcoathup June 8, 2023 13:04

## Abstract

The SoulBounds EIP proposes a standard interface, called SoulBounds, that extends the `ERC-1155` token standard to support the representation and management of soulbound assets on the Ethereum network. Soulbound assets are unique digital items that are permanently bound to a specific user or address, preventing transferability to other addresses.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
The SoulBounds EIP proposes a standard interface, called SoulBounds, that extends the `ERC-1155` token standard to support the representation and management of soulbound assets on the Ethereum network. Soulbound assets are unique digital items that are permanently bound to a specific user or address, preventing transferability to other addresses.
The SoulBounds EIP proposes a standard interface, called SoulBounds, that extends the [ERC-1155](./eip-1155.md) token standard to support the representation and management of soulbound assets on the Ethereum network. Soulbound assets are unique digital items that are permanently bound to a specific user or address, preventing transferability to other addresses.


## Motivation

The concept of soulbound assets is commonly used in gaming and non-fungible token (NFT) applications, where certain items or collectibles are intended to be non-transferable. Currently, there is no standardized way to represent and manage soulbound assets on the Ethereum network. By introducing the SoulBounds interface, I aim to establish a common standard for developers to create, manage, and interact with soulbound assets in a consistent and interoperable manner.
Copy link
Contributor

Choose a reason for hiding this comment

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

Try to avoid first person.

Suggested change
The concept of soulbound assets is commonly used in gaming and non-fungible token (NFT) applications, where certain items or collectibles are intended to be non-transferable. Currently, there is no standardized way to represent and manage soulbound assets on the Ethereum network. By introducing the SoulBounds interface, I aim to establish a common standard for developers to create, manage, and interact with soulbound assets in a consistent and interoperable manner.
The concept of soulbound assets is commonly used in gaming and non-fungible token (NFT) applications, where certain items or collectibles are intended to be non-transferable. Currently, there is no standardized way to represent and manage soulbound assets on the Ethereum network. The SoulBounds interface aims to establish a common standard for developers to create, manage, and interact with soulbound assets in a consistent and interoperable manner.

Comment on lines +26 to +27
Smart contracts implementing the `ERC7121` interface MUST implement all of the functions defined in the `ERC7121` interface
Smart contracts implementing the `ERC7121` interface MUST implement all of the `ERC1155` functions
Copy link
Contributor

Choose a reason for hiding this comment

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

Your interface below is IERC7121. You should be consistent.


Smart contracts implementing the `ERC7121` interface MUST implement all of the functions defined in the `ERC7121` interface
Smart contracts implementing the `ERC7121` interface MUST implement all of the `ERC1155` functions
Smart contracts implementing the `ERC7121` standard MUST implement the `ERC-165` `supportsInterface` function
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Smart contracts implementing the `ERC7121` standard MUST implement the `ERC-165` `supportsInterface` function
Smart contracts implementing this standard MUST implement the [ERC-165](./eip-165.md) `supportsInterface` function

Smart contracts implementing the `ERC7121` interface MUST implement all of the `ERC1155` functions
Smart contracts implementing the `ERC7121` standard MUST implement the `ERC-165` `supportsInterface` function

The SoulBounds interface extends the `ERC-1155` by introducing the following additional functions:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
The SoulBounds interface extends the `ERC-1155` by introducing the following additional functions:
The SoulBounds interface extends ERC-1155 by introducing the following additional functions:


## Rationale

The SoulBounds interface provides a standardized way to represent and manage soulbound assets. By defining a common set of functions, developers can create contracts and applications that handle soulbound assets consistently. This standardization enhances interoperability, simplifies integration across platforms, and promotes the growth of the soulbound asset ecosystem on Ethereum.
Copy link
Contributor

Choose a reason for hiding this comment

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

This reads more like it belongs in the Motivation section. The Rationale section should justify technical decisions made within the EIP itself, while the Motivation justifies the EIP as a whole. In the Rationale section you could explain, for example, why you chose ERC-1155 as a base.

@SamWilsn
Copy link
Contributor

I am closing this pull request because we are in the process of separating EIPs and ERCs into distinct repositories. Unfortunately, as far as we are aware, GitHub does not provide any tools to ease this migration, so every pull request will need to be re-opened manually.

As this is a PR to create / modify an ERC, I will kindly ask you to redirect this to the new repository at ethereum/ERCs. We have prepared a guide to help with the process.

If there is relevant history here, please link to this PR from the new pull request.

On behalf of the EIP Editors, I apologize for this inconvenience.

@SamWilsn SamWilsn closed this Oct 25, 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.

None yet

4 participants