hiero-ledger / hiero-ledger/hiero-consensus-node
CLPR-8.4: Besu Transaction Submission and Gas Management
- Dominant language
- Java
- Stars
- 406
- Forks
- 226
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 210
Description
## Story CLPR-8.4: Besu Transaction Submission and Gas Management
**Parent Epic:** CLPR-8: Besu Endpoint
**Repo:** TBD
### Objective
Construct and submit signed `submitBundle()` transactions with EIP-1559 gas pricing.
### Acceptance Criteria
- **AC-1:** Pre-verification via read-only `eth_call` on verifier.
- **AC-2:** ABI-encoded `submitBundle(bytes32, bytes, bytes)` call.
- **AC-3:** `NonceTracker` for concurrent nonce management (shared across Connections).
- **AC-4:** Gas estimation with safety margin. EIP-1559 pricing with configurable max gas cap.
- **AC-5:** Submit via `TransactionPoolService.addLocalTransaction()`.
- **AC-6:** Retry: exponential backoff on transient failures. No retry on permanent revert.
- **AC-7:** Duplicate awareness: if another endpoint submitted, revert is normal.
- **AC-8:** Metrics: submission count, gas used, latency, success/failure.
### Dependencies
- CLPR-8.1 (`TransactionPoolService`)
- CLPR-8.3 (pre-verification)
### Risk
**Medium** — Nonce management with concurrency. Gas pricing tuning.
Contributor guide
Research direction
Start by locating the CLPR-8.1 TransactionPoolService and its addLocalTransaction() entry point, then review the CLPR-8.3 pre-verification dependency and the proposed NonceTracker. The work is done when all eight acceptance criteria are covered, including EIP-1559 gas handling, retries, duplicate awareness, and submission metrics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100