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

Partially Fungible Tokens #161

Open
superboo opened this issue Feb 23, 2022 · 0 comments
Open

Partially Fungible Tokens #161

superboo opened this issue Feb 23, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@superboo
Copy link
Contributor

Problem

This feature does not currently exist.

The partially fungible token feature introduces 2 new token types. One token type acts as an abstract class while the other is derived from the abstract token. The abstract token contains a transfer policy that governs transfers made involving the abstract + derived tokens. The derived token acts as a regular fungible token but allows for the addition of tags to distinguish it from other tokens derived from the same abstract token. One key aspect of the derived token is that it can be transferred (like an abstract class/interface in OO) and the final calculation of what derived tokens to use in the transfer will be done by the transfer policy.

Reference HIP: HIP-365

Solution

  • Alter TokenCreateTransactionBody and TokenType to support new token types
  • Add messages for transfer policy expression
  • Alter TokenUpdateTransactionBody to support updates to new token types
  • Alter TokenInfo to return transfer policy and tags for new token types
  • Introduce new query message TokenGetAccountSubTokenBalancesQuery to fetch balances of all tokens derived from a particular abstract token
  • Alter TokenTransferList to add transfer policy parameters to use for new tokens

Alternatives

No response

@superboo superboo added the enhancement New feature or request label Feb 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant