hashgraph / hedera-services

Crypto, token, consensus, file, and smart contract services for the Hedera public ledger
Apache License 2.0
313 stars 138 forks source link

Limit fungible token decimals to 18 #3178

Open tinker-michaelj opened 2 years ago

tinker-michaelj commented 2 years ago

šŸ†•šŸ„ First Timers Only

This issue is reserved for people who have never contributed to Hedera or any open source project in general. We know that creating a pull request (PR) is a major barrier for new contributors. The goal of this issue and all other issues labeled by 'Good First Issue' is to help you make your first contribution to Hedera.

šŸ‘¾ Description of the issue

A fungible token type can set its decimals field to any integer in the range [0, 2^31).

But it is very unlikely any use case exists for values in the range [19, 2^31), since floor(log10(2^63-1)) = 18---that is, even with the maximum supply of 2^63 - 1, the entire supply of a such a token isn't even 1 whole token!

Proposed Solution:

Limit the decimals field for fungible tokens to the range [0, 18]. The decimal of a TokenCreate-transaction is checked in TokenCreateValidator.validateTokenType()

šŸ“‹ Step by step guide to do a contribution

If you have never contributed to an open source project at GitHub, the following step-by-step guide will introduce you to the workflow. More information and concrete samples for shell commands for each step can be found in our CONTRIBUTING.md file. A more detailed general documentation of the GitHub PR workflow can be found here.

šŸŽ‰ Contribute to Hacktoberfest

Solve this issue as part of the Hacktoberfest event and get a chance to receive cool goodies like a T-Shirt. šŸŽ½

šŸ¤” Additional Information

If you have any questions, just ask us directly in this issue by adding a comment. You can join our community chat at Discord. A general manual about open-source contributions can be found here.

wenayy commented 1 month ago

can you tell me where do i need to apply this i understand the issue but not how and where in the repo i need to use it

wenayy commented 1 month ago

can you assign me this issue

b-l-u-e commented 1 month ago

Please assign me to this issue

hendrikebbers commented 1 month ago

@wenayy are you still interested in working on the issue?