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

Method queryTransfers

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

Source from the content-addressed store, hash-verified

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",
178 trace.WithAttributes(attribute.String("query.method", "eth_queryTransfers")),
179 )
180 defer span.End()
181
182 fromBlock, toBlock, err := qe.resolveQueryBounds(ctx, req.GetFromBlock(), req.GetToBlock(), req.GetOrder(), req.GetCursor())
183 if err != nil {
184 common.SetTraceSpanError(span, err)
185 return err
186 }
187
188 span.SetAttributes(
189 attribute.Int64("query.fromBlock", int64(fromBlock)),
190 attribute.Int64("query.toBlock", int64(toBlock)),
191 )
192 qe.logger.Debug().Uint64("fromBlock", fromBlock).Uint64("toBlock", toBlock).Msgf("resolved query bounds for eth_queryTransfers")
193
194 handled, err := qe.tryQueryUpstreams(ctx, "eth_queryTransfers", func(ups common.Upstream) error {
195 return qe.pipeThroughQueryTransfers(ctx, ups, req, onPage)
196 })
197 if handled {
198 if err != nil {
199 common.SetTraceSpanError(span, err)
200 }
201 return err
202 }
203
204 qe.logger.Debug().Msgf("no native upstream available, using shim for eth_queryTransfers")
205 span.SetAttributes(attribute.String("query.path", "shim"))
206 return qe.shimQueryTransfers(ctx, req, fromBlock, toBlock, onPage)
207}
208
209func (qe *EvmQueryExecutor) tryQueryUpstreams(
210 ctx context.Context,

Callers 1

ExecuteMethod · 0.95

Calls 11

resolveQueryBoundsMethod · 0.95
tryQueryUpstreamsMethod · 0.95
shimQueryTransfersMethod · 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