MCPcopy Create free account
hub / github.com/erpc/erpc / queryTraces

Method queryTraces

erpc/query_executor.go:143–174  ·  view source on GitHub ↗
(ctx context.Context, req *evm.QueryTracesRequest, onPage func(proto.Message) error)

Source from the content-addressed store, hash-verified

141}
142
143func (qe *EvmQueryExecutor) queryTraces(ctx context.Context, req *evm.QueryTracesRequest, onPage func(proto.Message) error) error {
144 ctx, span := common.StartDetailSpan(ctx, "Query.Execute",
145 trace.WithAttributes(attribute.String("query.method", "eth_queryTraces")),
146 )
147 defer span.End()
148
149 fromBlock, toBlock, err := qe.resolveQueryBounds(ctx, req.GetFromBlock(), req.GetToBlock(), req.GetOrder(), req.GetCursor())
150 if err != nil {
151 common.SetTraceSpanError(span, err)
152 return err
153 }
154
155 span.SetAttributes(
156 attribute.Int64("query.fromBlock", int64(fromBlock)),
157 attribute.Int64("query.toBlock", int64(toBlock)),
158 )
159 qe.logger.Debug().Uint64("fromBlock", fromBlock).Uint64("toBlock", toBlock).Msgf("resolved query bounds for eth_queryTraces")
160
161 handled, err := qe.tryQueryUpstreams(ctx, "eth_queryTraces", func(ups common.Upstream) error {
162 return qe.pipeThroughQueryTraces(ctx, ups, req, onPage)
163 })
164 if handled {
165 if err != nil {
166 common.SetTraceSpanError(span, err)
167 }
168 return err
169 }
170
171 qe.logger.Debug().Msgf("no native upstream available, using shim for eth_queryTraces")
172 span.SetAttributes(attribute.String("query.path", "shim"))
173 return qe.shimQueryTraces(ctx, req, fromBlock, toBlock, onPage)
174}
175
176func (qe *EvmQueryExecutor) queryTransfers(ctx context.Context, req *evm.QueryTransfersRequest, onPage func(proto.Message) error) error {
177 ctx, span := common.StartDetailSpan(ctx, "Query.Execute",

Callers 1

ExecuteMethod · 0.95

Calls 11

resolveQueryBoundsMethod · 0.95
tryQueryUpstreamsMethod · 0.95
shimQueryTracesMethod · 0.95
StartDetailSpanFunction · 0.92
SetTraceSpanErrorFunction · 0.92
EndMethod · 0.80
GetFromBlockMethod · 0.80
GetToBlockMethod · 0.80
SetAttributesMethod · 0.80
StringMethod · 0.45

Tested by

no test coverage detected