When we call the debug_traceXXX API provided by Erigon, the withLog
option in tracerConfig is very helpful.
However, currently, the tracer cannot guarantee that the order of logs
output is consistent with the event logs returned in the transaction
receipt. This may make it difficult to use the output of the APIs. If
you need to access event logs in order, it is recommended to use the
event logs returned in the transaction receipt.
Here is an example to illustrate the reason why the order of callTracer
logs and receipt eventlogs can be inconsistent:
In a call trace tree, if a call has multiple logs and this call has
multiple child calls, and logs are also output in the child calls, the
logs of the child calls may be output between the logs of the parent
call in receipt.
I add an index field of log to identify log index of the logs in tracer
result, and it helps me a lot.
Fix ``CreateConsensusEngineBareBones`` for bor and aura. Current codes
will pass a ``**chain.BorConfig`` or ``**chain.AuraConfig to``
``CreateConsensusEngine`` and cause a panic
Co-authored-by: Maohua Zhu <zhumaohua@cobo.com>
EIP-4844 proposed the new (type-3) Blob Transactions which are expensive
(because blobs are big etc.). The tx-pool should be tightened to
alleviate spam and dos attacks by way of these new transactions.
### Changes
**Keep blob txs cached**
During new block, don't delete mined blobTxs, instead cache it till they
are finalized. This is to avoid fetching them again for unwind. During
unwind, if it's a previously seen blobTxn, try to fetch it from memory.
**Pool config**
BlobSlots: Similar to AccountSlots - limits how many blobs a single
account is allowed to have until it's marked as spamming.
Blob txn priceBump: It's an added field in pool config (with a flag).
Defaults to 100%, since blob txs of equal fee are costlier to
process/execute
---------
Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>