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

ERC1133 Token Standard (deriving ERC20 token and nesting ERC20 tokens) #1133

Closed
k06a opened this issue Jun 2, 2018 · 5 comments
Closed

ERC1133 Token Standard (deriving ERC20 token and nesting ERC20 tokens) #1133

k06a opened this issue Jun 2, 2018 · 5 comments
Labels

Comments

@k06a
Copy link
Contributor

k06a commented Jun 2, 2018

EIP: 1133
Title: ERC1133 Token Standard (deriving ERC20 token and nesting ERC20 tokens)
Author: Anton Bukov <k06aaa@gmail.com>
Type: Token Standard
Category: ERC
Created: 2018-06-06
Updated: 2018-08-10

Simple Summary

An ERC20 abstraction to aggregate multiple ERC20 tokens, also recursively.

Abstract

This standard allows software to inspect multitokens nested tokens and allows to mint/burn them.

Token

ERC20 Methods

All usual ERC20 methods.

ERC1133 Methods

tokensCount - ERC1133

function tokensCount() public view returns (uint256);

The number of tokens inside this multi-token.

tokens - ERC1133

function tokens(uint256 index) public view returns (ERC20);

The subtoken by index from 0 to tokensCount()-1.

allTokens - ERC1133

function allTokens() public view returns (ERC20[]);

All subtokens in array

allBalances - ERC1133

function allBalances() public view returns (uint256[]);

All subtokens balances in array

mintFirstTokens - ERC1133

Implementation example:

function mintFirstTokens(address _to, uint256 _amount, uint256[] _tokenAmounts) public {
    require(totalSupply_ == 0, "This method can be used with zero total supply only");
    ...
}

mint - ERC1133

Implementation example:

function mint(address _to, uint256 _amount) public {
    require(totalSupply_ != 0, "This method can be used with non zero total supply only");
    ...
}

burn - ERC1133

Implementation example:

function burn(uint256 _value) public {
    burnSome(_value, tokens);
}

burnSome - ERC1133

Implementation example:

function burnSome(uint256 _value, ERC20[] someTokens) public {
    ...
}

Should allow you to redeem your share of any token (not only nested to this multi-token), including updated or AirDropped.

@vongohren
Copy link

Is it not another nested token ERC? I just can't remember which it was

@axic
Copy link
Member

axic commented Jul 4, 2019

@k06a are you still pursuing this since #1155 is final or can we close this?

@k06a
Copy link
Contributor Author

k06a commented Jul 5, 2019

@axic this is a completely different standard, but with a similar name. I will rename it and update.

@axic axic changed the title ERC1133: Multitoken ERC1133 Token Standard (deriving ERC20 token and nesting ERC20 tokens) Jul 5, 2019
@github-actions
Copy link

github-actions bot commented Dec 5, 2021

There has been no activity on this issue for two months. It will be closed in a week if no further activity occurs. If you would like to move this EIP forward, please respond to any outstanding feedback or add a comment indicating that you have addressed all required feedback and are ready for a review.

@github-actions github-actions bot added the stale label Dec 5, 2021
@github-actions
Copy link

This issue was closed due to inactivity. If you are still pursuing it, feel free to reopen it and respond to any feedback or request a review in a comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants
@axic @k06a @vongohren and others