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
Welcome! This is an Advanced Issue touching core SDK architecture.
It is designed for expert contributors who have demonstrated deep architectural understanding and a proven track record of high-quality contributions.
π Problem Description
The current implementation of TopicCreateTransaction does not apply the documented default behavior for autoRenewAccountId.
According to the Hedera documentation:
"If the developer does not explicitly set autoRenewAccount, the SDK will automatically default to using the transaction fee payer account ID for the auto renew account. This is beneficial in the event an admin key is not set."
Currently, when autoRenewAccountId is not explicitly set, the transaction freezes with auto_renew_account left as None.
This creates a mismatch between the SDK behavior and the documented expectations, and may lead to topic creation behavior that differs from other SDK implementations.
π οΈ Implementation Notes
Override freeze_with() in TopicCreateTransaction to
Check whether autoRenewAccount is already set. If not set, verify that:
a valid client is provided
the client has an operator_account_id
Set autoRenewAccount using:
transaction_id.account_id if a transaction_id is present
otherwise client.operator_account_id
Preserve the existing value when autoRenewAccount was explicitly provided by the user.
Advanced issues are the highest-risk work in this project. We will reject PRs that do not meet these standards.
π Concrete Prerequisites
Advanced Language: Proficient with Python.
Expertise: Deep architectural understanding of _Executable, Transaction, and Query base classes.
Proven History: Successfully completed β₯ 10 intermediate issues in this repo.
Consistency:β₯ 3β4 months of active, human-led contributions to this SDK.
Note
CI/CD Exception: For issues focused on GitHub Actions / Workflows, the repo-specific thresholds above may be waived if the contributor demonstrates advanced-level proficiency in CI/CD.
β οΈ AI Usage Policy
Using AI to generate code for Advanced issues is strictly discouraged
AI may be used to help explain file relationships, but cannot be the main source of research.
Submitting AI-generated or unvalidated code is grounds for immediate closure
β±οΈ Timeline & Workflow
Typical time: ~1 month / ~50 hours.
π΄ Completing an advanced issue in 1β3 days is a red flag and will likely be rejected.
Suggested: Post your proposed architectural approach as a comment and wait for explicit maintainer approval before writing any code.
Testing (unit, integration, mocking, test coverage for edge cases and failure modes)
π‘οΈ Quality & Review Standards
Advanced PRs must be "safe, maintainable, architecturally sound, and production-ready."
Architectural Fit: The solution must fit naturally into the existing SDK abstractions.
Security & Correctness: Evaluate all logic for injection risks, state corruption, or thread-safety issues.
Maintainability: Code must be short and clear enough for any other maintainer to debug without your assistance.
Backward Compatibility: Public API signatures must be preserved. If a breaking change is required, it must be explicitly managed through a deprecation cycle.
Comprehensive Testing: Must include unit and integration tests covering all new logic paths, edge cases, and failure modes. AI generated tests based on AI generated code is grounds for immediate rejection.
β PR Quality Checklist
Before opening your PR, the contributor must confirm:
I have spent the majority of my time researching the problem and solution space extensively, including reviewing relevant code, documentation, and external resources.
I understand the system-wide impact of these changes on affected modules and performance.
The system design fits with current Hiero SDK architectural approaches.
I have tested my changes extensively against both local and network environments.
I have verified naming, types, and field ordering against pinned Protobufs.
Every line of code is personally understood and explainable.
π§βπ¬ Advanced Issue
Welcome! This is an Advanced Issue touching core SDK architecture.
It is designed for expert contributors who have demonstrated deep architectural understanding and a proven track record of high-quality contributions.
π Problem Description
The current implementation of
TopicCreateTransactiondoes not apply the documented default behavior forautoRenewAccountId.According to the Hedera documentation:
Reference:
https://docs.hedera.com/hedera/sdks-and-apis/sdks/consensus-service/create-a-topic
Currently, when
autoRenewAccountIdis not explicitly set, the transaction freezes withauto_renew_accountleft asNone.This creates a mismatch between the SDK behavior and the documented expectations, and may lead to topic creation behavior that differs from other SDK implementations.
π οΈ Implementation Notes
freeze_with()inTopicCreateTransactiontoπ§ Advanced Contributors β Prerequisites & Expectations
Caution
Advanced issues are the highest-risk work in this project. We will reject PRs that do not meet these standards.
π Concrete Prerequisites
_Executable,Transaction, andQuerybase classes.Note
CI/CD Exception: For issues focused on GitHub Actions / Workflows, the repo-specific thresholds above may be waived if the contributor demonstrates advanced-level proficiency in CI/CD.
β±οΈ Timeline & Workflow
π¬ Technical Domains
.protofiles,_to_proto()/_from_proto()correctness)_require_not_frozen)π‘οΈ Quality & Review Standards
Advanced PRs must be "safe, maintainable, architecturally sound, and production-ready."
β PR Quality Checklist
Before opening your PR, the contributor must confirm:
π Resources & Support
References:
Python SDK References:
π Stuck?