diff --git a/eth/api.go b/eth/api.go index 74ce9ecaf491..8082a56650b7 100644 --- a/eth/api.go +++ b/eth/api.go @@ -334,7 +334,11 @@ func (api *PublicDebugAPI) ExecutionWitness(ctx context.Context, blockNrOrHash r } witness, err := generateWitness(api.eth.blockchain, block) - return ToExecutionWitness(witness), err + if err != nil { + return nil, fmt.Errorf("failed to generate witness: %w", err) + } + + return ToExecutionWitness(witness), nil } func generateWitness(blockchain *core.BlockChain, block *types.Block) (*stateless.Witness, error) { @@ -344,7 +348,8 @@ func generateWitness(blockchain *core.BlockChain, block *types.Block) (*stateles } parentHeader := witness.Headers[0] - statedb, err := blockchain.StateAt(parentHeader.Root) + // Avoid using snapshots to properly collect the witness data for all reads + statedb, err := state.New(parentHeader.Root, blockchain.StateCache(), nil) if err != nil { return nil, fmt.Errorf("failed to retrieve parent state: %w", err) } diff --git a/params/version.go b/params/version.go index b63a3765575d..2a27774e2890 100644 --- a/params/version.go +++ b/params/version.go @@ -24,7 +24,7 @@ import ( const ( VersionMajor = 5 // Major version component of the current release VersionMinor = 8 // Minor version component of the current release - VersionPatch = 5 // Patch version component of the current release + VersionPatch = 6 // Patch version component of the current release VersionMeta = "mainnet" // Version metadata to append to the version string )