diff --git a/cmd/geth/snapshot.go b/cmd/geth/snapshot.go index 7d713ad1109a..ef6ba9756564 100644 --- a/cmd/geth/snapshot.go +++ b/cmd/geth/snapshot.go @@ -174,9 +174,21 @@ func pruneState(ctx *cli.Context) error { chaindb := utils.MakeChainDatabase(ctx, stack, false) defer chaindb.Close() - if rawdb.ReadStateScheme(chaindb) != rawdb.HashScheme { + scheme := rawdb.ReadStateScheme(chaindb) + + flags := ctx.App.Flags + firehoseTracerEnabled := false + for _, flag := range flags { + if flag == utils.VMTraceFlag && flag.String() == "firehose" { + firehoseTracerEnabled = true + break + } + } + + if scheme != rawdb.HashScheme && !firehoseTracerEnabled { log.Crit("Offline pruning is not required for path scheme") } + prunerconfig := pruner.Config{ Datadir: stack.ResolvePath(""), BloomSize: ctx.Uint64(utils.BloomFilterSizeFlag.Name),