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

revert from monft #5

Merged
merged 1 commit into from
Dec 24, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 37 additions & 1 deletion ERCS/erc-7743.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Multi-Owner Non-Fungible Tokens (MO-NFT)
description: A new type of non-fungible token that supports multiple owners, allowing shared ownership and transferability among users.
author: James Savechives (@jamesavechives)
discussions-to: https://ethereum-magicians.org/t/discussion-on-eip-7743-multi-owner-non-fungible-tokens-mo-nft/20577
status: Review
status: Draft
type: Standards Track
category: ERC
created: 2024-07-13
Expand All @@ -20,6 +20,32 @@ Traditional NFTs enforce a single-ownership model, which does not align with the

## Specification

### Data Structures

- **Owners Mapping**: A mapping from `tokenId` to an enumerable set of owner addresses.

```solidity
mapping(uint256 => EnumerableSet.AddressSet) internal _owners;
```

- **Balances Mapping**: A mapping from owner addresses to the number of tokens they own.

```solidity
mapping(address => uint256) private _balances;
```

- **Providers Mapping**: A mapping from `tokenId` to the provider's address.

```solidity
mapping(uint256 => address) private _providers;
```

- **Transfer Values Mapping**: A mapping from `tokenId` to the `transferValue` fee.

```solidity
mapping(uint256 => uint256) private _transferValues;
```

### Token Creation and Ownership Model

1. **Minting**:
Expand Down Expand Up @@ -70,6 +96,16 @@ Traditional NFTs enforce a single-ownership model, which does not align with the
function burn(uint256 tokenId) external;
```

### Value Depreciation

1. **Value Model**:

- As the number of owners increases, the value of the MO-NFT may decrease to reflect the reduced exclusivity. This is an optional model and can be implemented at the application level.

2. **Depreciation Mechanism**:

- The value depreciation model can be defined based on the asset type and distribution strategy. This standard does not enforce a specific depreciation mechanism but acknowledges its importance.

### Interface Definitions

**Minting Functions**
Expand Down