You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue is especially welcoming for people who are new to contributing to the Hiero C++ SDK.
We know that opening your first pull request can feel like a big step. Issues labeled Good First Issue are designed to make that experience easier, clearer, and more comfortable.
No prior knowledge of Hiero, Hedera, or distributed ledger technology is required - just a basic familiarity with C++ and Git is more than enough to get started.
Important
📋 About Good First Issues
Good First Issues are designed to make getting started as smooth and stress-free as possible.
They usually focus on:
Small, clearly scoped changes
Straightforward updates to existing code or docs
Simple refactors or clarity improvements
Other kinds of contributions — like larger features, deeper technical changes, or design-focused work — are just as valuable and often use the beginner, intermediate, or advanced labels.
👾 Description of the Task
In src/sdk/main/include/FeeComponents.h, the operator== declaration at line 271 has no Doxygen comment, while a Doxygen block at lines 329–334 sits orphaned at the bottom of the class — it describes operator== but no declaration follows it.
This artifact was introduced when PR #1516 converted friend operator== to a member function. The friend declaration originally lived at the bottom of the class with the docstring directly above it; when the declaration moved up to the public section, the comment was left behind.
Maintainer: "the public declaration has no documentation and the doc comment at lines 329–334 is now orphaned with nothing to describe… Not blocking — I'll open a follow-up issue to track moving the doc comment up to the public declaration and removing the orphaned block."
Verified at the v0.55.0 release commit: line 271 is undocumented; lines 329–334 still hold an orphaned /** ... */ block immediately before the closing };.
Relevant files:
src/sdk/main/include/FeeComponents.h
💡 Proposed Solution
Move the existing orphaned Doxygen block to immediately above the operator== declaration at line 271, then delete the orphaned block from its current location.
Concretely, the file should go from:
// line 271[[nodiscard]]booloperator==(const FeeComponents& rhs) const;
// ...// lines 329–334/** * Compare two FeeComponents instances and determine if they are equal. * @param rhs The other FeeComponents with which to compare this FeeComponents. * @return true if equal, false otherwise.*/
};
to:
// line 271 (with new comment immediately above)/** * Compare two FeeComponents instances and determine if they are equal. * @param rhs The other FeeComponents with which to compare this FeeComponents. * @return true if equal, false otherwise.*/[[nodiscard]]booloperator==(const FeeComponents& rhs) const;
// ...
}; // <- closing brace, no orphan above it
Match the exact wording, capitalization, and \c TRUE / backtick style of recently-added equality operators on neighboring SDK types (e.g. HbarAllowance::operator==, NetworkVersionInfo::operator==) if there is a discrepancy. The convention is to write the comment in the form Compare this <Type> to another <Type> and determine if they represent the same....
Confirm the orphaned Doxygen block at the bottom of the class (around lines 329–334) and the undocumented operator== declaration (around line 271).
Move the Doxygen block to sit immediately above the operator== declaration. Adjust wording slightly if needed to match the project's Doxygen style for equality operators (peek at HbarAllowance.h or NetworkVersionInfo.h for reference).
Delete the now-empty location at the bottom of the class.
Run clang-format-17 -i src/sdk/main/include/FeeComponents.h to confirm formatting is clean.
Build the project to confirm no header changes were required elsewhere: cmake --build --preset linux-x64-debug.
✅ Acceptance Criteria
Scope: Changes are limited to src/sdk/main/include/FeeComponents.h.
Behavior: No code change — header-comment relocation only.
Style: The relocated Doxygen block matches the convention used by other SDK equality operators.
Build: Project still builds cleanly.
📋 Step-by-Step Contribution Guide
To help keep contributions consistent and easy to review, we recommend following these steps:
Comment /assign to request the issue
Wait for assignment
Fork the repository and create a branch
Set up the project using the instructions in README.md
Make the requested changes
Sign each commit using -s -S
Push your branch and open a pull request
Read Workflow Guide for step-by-step workflow guidance.
Read README.md for setup instructions.
❗ Pull requests cannot be merged without S and s signed commits.
See the Signing Guide.
🆕🐥 First-Time Friendly
This issue is especially welcoming for people who are new to contributing to the Hiero C++ SDK.
We know that opening your first pull request can feel like a big step. Issues labeled Good First Issue are designed to make that experience easier, clearer, and more comfortable.
No prior knowledge of Hiero, Hedera, or distributed ledger technology is required - just a basic familiarity with C++ and Git is more than enough to get started.
Important
📋 About Good First Issues
Good First Issues are designed to make getting started as smooth and stress-free as possible.
They usually focus on:
Other kinds of contributions — like larger features, deeper technical changes, or design-focused work — are just as valuable and often use the beginner, intermediate, or advanced labels.
👾 Description of the Task
In
src/sdk/main/include/FeeComponents.h, theoperator==declaration at line 271 has no Doxygen comment, while a Doxygen block at lines 329–334 sits orphaned at the bottom of the class — it describesoperator==but no declaration follows it.This artifact was introduced when PR #1516 converted
friend operator==to a member function. The friend declaration originally lived at the bottom of the class with the docstring directly above it; when the declaration moved up to the public section, the comment was left behind.PR #1516 review thread:
Verified at the v0.55.0 release commit: line 271 is undocumented; lines 329–334 still hold an orphaned
/** ... */block immediately before the closing};.Relevant files:
💡 Proposed Solution
Move the existing orphaned Doxygen block to immediately above the
operator==declaration at line 271, then delete the orphaned block from its current location.Concretely, the file should go from:
to:
Match the exact wording, capitalization, and
\c TRUE/ backtick style of recently-added equality operators on neighboring SDK types (e.g.HbarAllowance::operator==,NetworkVersionInfo::operator==) if there is a discrepancy. The convention is to write the comment in the formCompare this <Type> to another <Type> and determine if they represent the same....👩💻 Implementation Steps
operator==declaration (around line 271).operator==declaration. Adjust wording slightly if needed to match the project's Doxygen style for equality operators (peek atHbarAllowance.horNetworkVersionInfo.hfor reference).clang-format-17 -i src/sdk/main/include/FeeComponents.hto confirm formatting is clean.cmake --build --preset linux-x64-debug.✅ Acceptance Criteria
src/sdk/main/include/FeeComponents.h.📋 Step-by-Step Contribution Guide
To help keep contributions consistent and easy to review, we recommend following these steps:
/assignto request the issueREADME.md-s -SRead Workflow Guide for step-by-step workflow guidance.
Read README.md for setup instructions.
❗ Pull requests cannot be merged without
Sandssigned commits.See the Signing Guide.
🤔 Additional Information
If you have questions while working on this issue, feel free to ask! Hiero-SDK-C++ Discord