Skip to content
This repository was archived by the owner on Feb 17, 2025. It is now read-only.

Commit 9b3747b

Browse files
committed
fix optional trace config; update prover docker image
1 parent 8282e44 commit 9b3747b

File tree

3 files changed

+27
-17
lines changed

3 files changed

+27
-17
lines changed

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ services:
107107
zkevm-prover:
108108
container_name: zkevm-prover
109109
restart: unless-stopped
110-
image: hermeznetwork/zkevm-prover:6d6e3aa
110+
image: hermeznetwork/zkevm-prover:c514cd1
111111
depends_on:
112112
zkevm-state-db:
113113
condition: service_healthy

jsonrpc/endpoints_debug.go

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@ import (
1515
"github.com/jackc/pgx/v4"
1616
)
1717

18+
var defaultTraceConfig = &traceConfig{
19+
DisableStorage: false,
20+
DisableStack: false,
21+
EnableMemory: false,
22+
EnableReturnData: false,
23+
Tracer: nil,
24+
}
25+
1826
// DebugEndpoints is the debug jsonrpc endpoint
1927
type DebugEndpoints struct {
2028
state types.StateInterface
@@ -125,36 +133,38 @@ func (d *DebugEndpoints) buildTraceBlock(ctx context.Context, txs []*ethTypes.Tr
125133
}
126134

127135
func (d *DebugEndpoints) buildTraceTransaction(ctx context.Context, hash common.Hash, cfg *traceConfig, dbTx pgx.Tx) (interface{}, types.Error) {
128-
traceConfig := state.TraceConfig{}
129-
130-
if cfg != nil {
131-
traceConfig.DisableStack = cfg.DisableStack
132-
traceConfig.DisableStorage = cfg.DisableStorage
133-
traceConfig.EnableMemory = cfg.EnableMemory
134-
traceConfig.EnableReturnData = cfg.EnableReturnData
135-
traceConfig.Tracer = cfg.Tracer
136+
trcCfg := cfg
137+
if trcCfg == nil {
138+
trcCfg = defaultTraceConfig
136139
}
137140

138-
result, err := d.state.DebugTransaction(ctx, hash, traceConfig, dbTx)
141+
stateTraceConfig := state.TraceConfig{
142+
DisableStack: trcCfg.DisableStack,
143+
DisableStorage: trcCfg.DisableStorage,
144+
EnableMemory: trcCfg.EnableMemory,
145+
EnableReturnData: trcCfg.EnableReturnData,
146+
Tracer: trcCfg.Tracer,
147+
}
148+
result, err := d.state.DebugTransaction(ctx, hash, stateTraceConfig, dbTx)
139149
if errors.Is(err, state.ErrNotFound) {
140150
return rpcErrorResponse(types.DefaultErrorCode, "transaction not found", nil)
141151
} else if err != nil {
142152
const errorMessage = "failed to get trace"
143-
log.Infof("%v: %v", errorMessage, err)
153+
log.Errorf("%v: %v", errorMessage, err)
144154
return nil, types.NewRPCError(types.DefaultErrorCode, errorMessage)
145155
}
146156

147-
if traceConfig.Tracer != nil && *traceConfig.Tracer != "" && len(result.ExecutorTraceResult) > 0 {
157+
if stateTraceConfig.Tracer != nil && *stateTraceConfig.Tracer != "" && len(result.ExecutorTraceResult) > 0 {
148158
return result.ExecutorTraceResult, nil
149159
}
150160

151161
failed := result.Failed()
152162
var returnValue interface{}
153-
if traceConfig.EnableReturnData {
163+
if stateTraceConfig.EnableReturnData {
154164
returnValue = common.Bytes2Hex(result.ReturnValue)
155165
}
156166

157-
structLogs := d.buildStructLogs(result.StructLogs, cfg)
167+
structLogs := d.buildStructLogs(result.StructLogs, *trcCfg)
158168

159169
resp := traceTransactionResponse{
160170
Gas: result.GasUsed,
@@ -166,7 +176,7 @@ func (d *DebugEndpoints) buildTraceTransaction(ctx context.Context, hash common.
166176
return resp, nil
167177
}
168178

169-
func (d *DebugEndpoints) buildStructLogs(stateStructLogs []instrumentation.StructLog, cfg *traceConfig) []StructLogRes {
179+
func (d *DebugEndpoints) buildStructLogs(stateStructLogs []instrumentation.StructLog, cfg traceConfig) []StructLogRes {
170180
structLogs := make([]StructLogRes, 0, len(stateStructLogs))
171181
for _, structLog := range stateStructLogs {
172182
errRes := ""

test/docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ services:
321321

322322
zkevm-prover:
323323
container_name: zkevm-prover
324-
image: hermeznetwork/zkevm-prover:6d6e3aa
324+
image: hermeznetwork/zkevm-prover:c514cd1
325325
ports:
326326
# - 50051:50051 # Prover
327327
- 50052:50052 # Mock prover
@@ -407,7 +407,7 @@ services:
407407

408408
zkevm-permissionless-prover:
409409
container_name: zkevm-permissionless-prover
410-
image: hermeznetwork/zkevm-prover:6d6e3aa
410+
image: hermeznetwork/zkevm-prover:c514cd1
411411
ports:
412412
# - 50058:50058 # Prover
413413
- 50059:50052 # Mock prover

0 commit comments

Comments
 (0)