hiero-ledger / hiero-ledger/hiero-consensus-node
Accept Transaction.body and normalize transactions
- Dominant language
- Java
- Stars
- 406
- Forks
- 226
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 210
Description
### Background
The `TransactionChecker` has to be updated to accept the new normalized format for `Transaction`. If a transaction is received that uses `bodyBytes` or `signedTransactionBytes`, we must create a normalized version of the transaction and use it in the remaining code.
### Acceptance Criteria
1. The consensus node can handle transactions that use either `body` + `sigMap`, `bodyBytes` + `sigMap`, or `signedTransactionBytes`.
2. If the consensus node receives a transaction that uses `bodyBytes` or `signedTransactionBytes`, it will normalize the transaction and write the normalized transaction into the record stream/block stream.
### Dependencies
### Definition of Ready (DoR) Checklist
- [ ] Clear acceptance criteria
- [ ] Clear and detailed description
- [ ] Dependencies identified
- [ ] Links to documentation
- [ ] Should be completable in 2-3 Days
- [ ] Initial draft of Low-level design document
- [ ] At least high level test plan
- [ ] Groomed/Estimated
### Definition of Done (DoD) Checklist
- [ ] Acceptance Criteria complete
- [ ] No Codacy issues greater than minor (in new code)
- [ ] JavaDocs updated/created
- [ ] Code commented
- [ ] Unit tests created/updated
- [ ] 80% test code coverage (in new code)
- [ ] Happy Path and major negative cases in HAPI tests as applicable
Contributor guide
Research direction
Start at TransactionChecker and trace how transactions enter the record stream and block stream. Review the transaction representations named in the acceptance criteria, then use the existing unit and HAPI test areas to verify support for all three input forms and normalized output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100