Not all fields of a receipt are persisted to disk. Some are re-computed on read. The most expensive field to re-compute is the bloom filter which will not even be returned in eth_getLogs. Here we define a new decoding of receipts specifically for this use-case which avoids extra processing.
Types of changes
What types of changes does your code introduce to XDC network?
Put an ✅ in the boxes that apply
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)
[ ] Regular KTLO or any of the maintaince work. e.g code style
[ ] CICD Improvement
[x] Performance
Impacted Components
Which part of the codebase this PR will touch base on,
Put an ✅ in the boxes that apply
[ ] Consensus
[ ] Account
[x] Network
[ ] Geth
[ ] Smart Contract
[ ] External components
[ ] Not sure (Please specify below)
Checklist
Put an ✅ in the boxes once you have confirmed below actions (or provide reasons on not doing so) that
[ ] This PR has sufficient test coverage (unit/integration test) OR I have provided reason in the PR description for not having test coverage
[ ] Provide an end-to-end test plan in the PR description on how to manually test it on the devnet/testnet.
[ ] Tested the backwards compatibility.
[ ] Tested with XDC nodes running this version co-exist with those running the previous version.
[ ] Relevant documentation has been updated as part of this PR
Proposed changes
Not all fields of a receipt are persisted to disk. Some are re-computed on read. The most expensive field to re-compute is the bloom filter which will not even be returned in
eth_getLogs
. Here we define a new decoding of receipts specifically for this use-case which avoids extra processing.Types of changes
What types of changes does your code introduce to XDC network? Put an
✅
in the boxes that applyImpacted Components
Which part of the codebase this PR will touch base on,
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