refactor(txpool): remove wrapper type #27841#2124
refactor(txpool): remove wrapper type #27841#2124AnilChinchawale merged 1 commit intoXinFinOrg:dev-upgradefrom
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR refactors txpool-facing APIs to remove the *txpool.Transaction wrapper and use *types.Transaction directly across txpool interfaces and key call sites (miner + eth protocol/backend), aiming to keep runtime behavior unchanged while simplifying types.
Changes:
- Removed
txpool.Transactionwrapper usage from txpool interfaces (SubPool,TxPool,LegacyPool) andLazyTransaction.Resolve. - Updated miner transaction handling and ordering logic/tests to work with
*types.Transactiondirectly. - Updated eth protocol, sync, handler, and API backend paths (plus tests/helpers) to pass/consume
*types.Transactiondirectly.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
miner/worker.go |
Adjusts miner’s lazy-tx construction and resolved-tx usage to *types.Transaction. |
miner/ordering.go |
Updates ordering logic to operate on resolved *types.Transaction directly. |
miner/ordering_test.go |
Updates ordering tests to reflect the new lazy/resolved transaction types. |
eth/sync.go |
Sync loop now extracts resolved *types.Transaction directly from lazy txs. |
eth/protocol.go |
Updates the txPool interface to accept []*types.Transaction. |
eth/protocol_test.go |
Updates protocol tests to fill the pool with *types.Transaction directly. |
eth/helper_test.go |
Updates test txpool implementation to match the new interface types. |
eth/handler.go |
Removes wrapper conversion before calling txpool.Add. |
eth/api_backend.go |
Updates SendTx / pool getters to use *types.Transaction directly. |
core/txpool/txpool.go |
Changes TxPool Get/Add signatures and internal splitting/filtering to use *types.Transaction. |
core/txpool/subpool.go |
Removes txpool.Transaction wrapper type; LazyTransaction and SubPool operate on *types.Transaction. |
core/txpool/legacypool/legacypool.go |
Updates pending lazy txs, Add, and Get to use *types.Transaction directly. |
contracts/utils.go |
Updates contract helper to add signed txs to the pool without wrapper allocation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
e14b116 to
57803df
Compare
7c4f058 to
45e3d6e
Compare
|
@gzliudan conflict |
done |
Partial backport of ethereum/go-ethereum PR ethereum#27841, limited to txpool wrapper removal. - Migrate txpool interfaces/call sites from `*txpool.Transaction` to `*types.Transaction` - Update eth/miner/contracts paths and related tests accordingly - No intended behavior change Blob sidecar validation/handling changes from upstream are not included here.
9d3ea62 to
af833b5
Compare
Proposed changes
Partial backport of PR ethereum#27841 which only limited to txpool wrapper removal.
*txpool.Transactionto*types.TransactionBlob sidecar validation/handling changes from upstream are not included here.
Ref: ethereum#27841
Types of changes
What types of changes does your code introduce to XDC network?
Put an
✅in the boxes that applyImpacted Components
Which parts of the codebase does this PR touch?
Put an
✅in the boxes that applyChecklist
Put an
✅in the boxes once you have confirmed below actions (or provide reasons on not doing so) that