This issue is reserved for people who have never contributed to hedera-enterprise 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
The interface ParamSupplier<T> provides the functionality to convert Java data to the right format to pass it as parameters to a smart contract function call. In the interface the method String getNativeType() defines the smart contract data type that is supported by the implementation of the interface. Examples are bool, string, address, or unint256. Since the supported types for smart contracts are well defined, an enum can be used here as a return value for the method.
Suggestion for solving the issue
An enum should be created that contains all supported native types that can be passed as parameter types to a smart contract call. The method String getNativeType() should be refactored to return that enum instead of String and all implementations of the ParamSupplier<T> interface need to be fixed.
Additional information
Why you do not need to know much about smart contracts to solve that issue you can find a good read about that topic here. A technical documentation of all possible parameter types for smart contracts can be found in the documentation of the smart contract language solidity.
📋 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.
A more detailed general documentation of the GitHub PR workflow can be found here.
[ ] Claim this issue: Comment below that you are interested in working on the issue
[ ] Wait for assignment: A community member with the given rights will add you as an assignee of the issue
[ ] Fork the repository: You can do that in GitHub (by simply clicking the 'fork' button).
[ ] Check out the forked repository
[ ] Create a feature branch for the issue. We do not have a hard naming definition for branches but it is best practice to prefix the branch name with the issue id.
[ ] Solve the issue in your branch.
[ ] Commit your changes: to your branch
[ ] Start a Pull Request (PR): in the hedera-enterprise repository
[ ] Check GitHub Actions: Several GitHub Actions will be triggered automatically for each PR. If a GitHub Action fails and you do not understand the cause of that error do not hesitate to add a comment to the PR and ask the community for support.
[ ] Wait for reviews: Members of the community will review your PR. If a reviewer finds any missing pieces or a problem, he or she will start a discussion with you and describe the next steps for solving the problem.
[ ] You did it 🎉: We will merge the fix in the develop branch. Thanks for being part of our community as an open-source contributor ❤️
🎉 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 informantion
If you have any questions, just ask us directly in this issue by adding a comment. You can join the Hedera community chat at Discord. A general manual about open-source contributions can be found here.
🆕🐥 First Timers Only
This issue is reserved for people who have never contributed to hedera-enterprise 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
The interface
ParamSupplier<T>
provides the functionality to convert Java data to the right format to pass it as parameters to a smart contract function call. In the interface the methodString getNativeType()
defines the smart contract data type that is supported by the implementation of the interface. Examples arebool
,string
,address
, orunint256
. Since the supported types for smart contracts are well defined, an enum can be used here as a return value for the method.Suggestion for solving the issue
An enum should be created that contains all supported native types that can be passed as parameter types to a smart contract call. The method
String getNativeType()
should be refactored to return that enum instead ofString
and all implementations of theParamSupplier<T>
interface need to be fixed.Additional information
Why you do not need to know much about smart contracts to solve that issue you can find a good read about that topic here. A technical documentation of all possible parameter types for smart contracts can be found in the documentation of the smart contract language solidity.
📋 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. 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 informantion
If you have any questions, just ask us directly in this issue by adding a comment. You can join the Hedera community chat at Discord. A general manual about open-source contributions can be found here.