Skip to content

Commit

Permalink
add missing gas change reasons
Browse files Browse the repository at this point in the history
  • Loading branch information
sduchesneau committed Feb 13, 2025
1 parent 8832ce3 commit 0db1f13
Show file tree
Hide file tree
Showing 2 changed files with 130 additions and 93 deletions.
36 changes: 21 additions & 15 deletions eth/tracers/firehose.go
Original file line number Diff line number Diff line change
Expand Up @@ -1452,8 +1452,9 @@ func (f *Firehose) OnGasChange(old, new uint64, reason tracing.GasChangeReason)
return
}

if reason == tracing.GasChangeCallOpCode {
// We ignore those because we track OpCode gas consumption manually by tracking the gas value at `OnOpcode` call
if reason == tracing.GasChangeCallOpCode || reason == tracing.GasChangeIgnored {
// We ignore the 'CallOpCode' ones because we track OpCode gas consumption manually by tracking the gas value at `OnOpcode` call
// The 'Ignored' one is actually made to be ignored by tracing
return
}

Expand Down Expand Up @@ -1918,19 +1919,24 @@ func balanceChangeReasonFromChain(reason tracing.BalanceChangeReason) pbeth.Bala
}

var gasChangeReasonToPb = map[tracing.GasChangeReason]pbeth.GasChange_Reason{
tracing.GasChangeTxInitialBalance: pbeth.GasChange_REASON_TX_INITIAL_BALANCE,
tracing.GasChangeTxRefunds: pbeth.GasChange_REASON_TX_REFUNDS,
tracing.GasChangeTxLeftOverReturned: pbeth.GasChange_REASON_TX_LEFT_OVER_RETURNED,
tracing.GasChangeCallInitialBalance: pbeth.GasChange_REASON_CALL_INITIAL_BALANCE,
tracing.GasChangeCallLeftOverReturned: pbeth.GasChange_REASON_CALL_LEFT_OVER_RETURNED,
tracing.GasChangeTxIntrinsicGas: pbeth.GasChange_REASON_INTRINSIC_GAS,
tracing.GasChangeCallContractCreation: pbeth.GasChange_REASON_CONTRACT_CREATION,
tracing.GasChangeCallContractCreation2: pbeth.GasChange_REASON_CONTRACT_CREATION2,
tracing.GasChangeCallCodeStorage: pbeth.GasChange_REASON_CODE_STORAGE,
tracing.GasChangeCallPrecompiledContract: pbeth.GasChange_REASON_PRECOMPILED_CONTRACT,
tracing.GasChangeCallStorageColdAccess: pbeth.GasChange_REASON_STATE_COLD_ACCESS,
tracing.GasChangeCallLeftOverRefunded: pbeth.GasChange_REASON_REFUND_AFTER_EXECUTION,
tracing.GasChangeCallFailedExecution: pbeth.GasChange_REASON_FAILED_EXECUTION,
tracing.GasChangeTxInitialBalance: pbeth.GasChange_REASON_TX_INITIAL_BALANCE,
tracing.GasChangeTxRefunds: pbeth.GasChange_REASON_TX_REFUNDS,
tracing.GasChangeTxLeftOverReturned: pbeth.GasChange_REASON_TX_LEFT_OVER_RETURNED,
tracing.GasChangeCallInitialBalance: pbeth.GasChange_REASON_CALL_INITIAL_BALANCE,
tracing.GasChangeCallLeftOverReturned: pbeth.GasChange_REASON_CALL_LEFT_OVER_RETURNED,
tracing.GasChangeTxIntrinsicGas: pbeth.GasChange_REASON_INTRINSIC_GAS,
tracing.GasChangeCallContractCreation: pbeth.GasChange_REASON_CONTRACT_CREATION,
tracing.GasChangeCallContractCreation2: pbeth.GasChange_REASON_CONTRACT_CREATION2,
tracing.GasChangeCallCodeStorage: pbeth.GasChange_REASON_CODE_STORAGE,
tracing.GasChangeCallPrecompiledContract: pbeth.GasChange_REASON_PRECOMPILED_CONTRACT,
tracing.GasChangeCallStorageColdAccess: pbeth.GasChange_REASON_STATE_COLD_ACCESS,
tracing.GasChangeCallLeftOverRefunded: pbeth.GasChange_REASON_REFUND_AFTER_EXECUTION,
tracing.GasChangeCallFailedExecution: pbeth.GasChange_REASON_FAILED_EXECUTION,
tracing.GasChangeWitnessContractInit: pbeth.GasChange_REASON_WITNESS_CONTRACT_INIT,
tracing.GasChangeWitnessContractCreation: pbeth.GasChange_REASON_WITNESS_CONTRACT_CREATION,
tracing.GasChangeWitnessCodeChunk: pbeth.GasChange_REASON_WITNESS_CODE_CHUNK,
tracing.GasChangeWitnessContractCollisionCheck: pbeth.GasChange_REASON_WITNESS_CONTRACT_COLLISION_CHECK,
tracing.GasChangeTxDataFloor: pbeth.GasChange_REASON_TX_DATA_FLOOR,

// Ignored, we track them manually, newGasChange ensure that we panic if we see Unknown
tracing.GasChangeCallOpCode: pbeth.GasChange_REASON_UNKNOWN,
Expand Down
Loading

0 comments on commit 0db1f13

Please sign in to comment.