OpenElements / hedera-enterprise

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

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

Open hendrikebbers opened 2 months ago

hendrikebbers commented 2 months 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 2 months ago

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

hendrikebbers commented 2 months ago

@SIDHARTH20K4 sure :)

Ariho-Seth commented 1 month ago

Hell0 @hendrikebbers, is this issue still pending? Please assign it to me I work on it

SIDHARTH20K4 commented 1 month ago

@hendrikebbers I was working on this issue!!

SIDHARTH20K4 commented 1 month ago

kindly reassign this to me I'm a first timer

Ariho-Seth commented 1 month ago

Hello @hendrikebbers please assign @SIDHARTH20K4 to this issue

SIDHARTH20K4 commented 1 month ago

@hendrikebbers may I work on this issue?

SIDHARTH20K4 commented 1 month ago

@hendrikebbers

may I work on this issue? A quick reply will be appreciated

SIDHARTH20K4 commented 1 month ago

@hendrikebbers could you tell me in which file should I work on to fix this issue?!

hendrikebbers commented 1 month ago

Pls create a new enum in the same package as ParamSupplier

SIDHARTH20K4 commented 1 month ago

@hendrikebbers in which folder can i find the ParamSupplier

Ariho-Seth commented 2 days ago

@hendrikebbers in which folder can i find the ParamSupplier

Hello @SIDHARTH20K4 how far with this issue?

Ariho-Seth commented 1 day ago

Hello @hendrikebbers , We've taken long without listening from @SIDHARTH20K4 , i was suggesting you assign me this issue I work on it. Unless if he is still working on it!