tracers/callflat: fix the nil receipt crash

Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
jsvisa 2024-11-06 10:33:58 +08:00
parent c8dfa31422
commit 0099e5e2b8

View file

@ -224,13 +224,18 @@ func (t *flatCallTracer) OnTxEnd(receipt *types.Receipt, err error) {
if t.interrupt.Load() {
return
}
// Always set context with receipt data.
if receipt != nil {
// Reset context with receipt data.
t.ctx = &tracers.Context{
BlockHash: receipt.BlockHash,
BlockNumber: receipt.BlockNumber,
TxHash: receipt.TxHash,
TxIndex: int(receipt.TransactionIndex),
}
} else {
// Set to nil if receipt is nil.
t.ctx = nil
}
t.tracer.OnTxEnd(receipt, err)
}