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

Add TokenRejectTransaction #20

Open
10 tasks
nadineloepfe opened this issue Nov 22, 2024 · 0 comments
Open
10 tasks

Add TokenRejectTransaction #20

nadineloepfe opened this issue Nov 22, 2024 · 0 comments

Comments

@nadineloepfe
Copy link
Owner

nadineloepfe commented Nov 22, 2024

Add TokenRejectTransaction

Extend the Python Hedera SDK to include the TokenRejectTransaction functionality, enabling users users to reject and return unwanted airdrops to the treasury account without incurring custom fees. This task involves creating a transaction class for TokenRejectTransaction and integrating it into the SDK.

👾 Description of the issue

The TokenRejectTransaction is a feature of the Hedera Token Service that rejects provided amount of tokens from the specified Account. This functionality should be implemented in the Python SDK by leveraging the following resources:

Python Protobufs - TokenRejectTransaction
Hedera Protobufs - TokenRejectTransaction
Hedera Docs - Reject A Token

🔑 Key requirements:

  • Create a Python class TokenRejectTransaction in the SDK.
  • Use the token_reject_pb2 protobuf file for request serialization.
  • Ensure the transaction adheres to Hedera's validation rules.
  • Write unit tests to validate the implementation and place them in the /test directory
  • Write an example script for easy copy-and-paste in projects and add it to the /examples directory.
  • Extend the test.py script in the root of this project with the new transaction type.
  • Update README.md

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

  • 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: Here, it is needed to add sign-off information to the commit to accept the "Developer Certificate of Origin" (https://developercertificate.org/). More details can be found in our CONTRIBUTING.md
  • Start a Pull Request (PR): We have a pattern for naming pull requests that a GitHub Action checks. We use that pattern to support the creation of automatic release notes.
  • 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 Hiero developer community for support.
  • Wait for reviews: Members of the Hiero developer 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 the Hiero community as an open-source contributor ❤️

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant