OpenElements / hedera-enterprise

Module for Spring that adds support to communicate with the Hedera network
Apache License 2.0
2 stars 3 forks source link

Define enum for all supported native types of native smart contract data types #24

Open hendrikebbers opened 3 weeks ago

hendrikebbers commented 3 weeks ago

🆕🐥 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 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.

🎉 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.

SIDHARTH20K4 commented 3 weeks ago

hello @hendrikebbers I would like to contribute to this issue!

hendrikebbers commented 2 weeks ago

@SIDHARTH20K4 sure :)