@@ -84,13 +84,18 @@ func (q QueryHandler) GasConsumed() uint64 {
84
84
85
85
type CustomQuerier func (ctx sdk.Context , request json.RawMessage ) ([]byte , error )
86
86
87
+ type (
88
+ stargateQuerierFn func (ctx sdk.Context , request * wasmvmtypes.StargateQuery ) ([]byte , error )
89
+ grpcQuerierFn func (ctx sdk.Context , request * wasmvmtypes.GrpcQuery ) (proto.Message , error )
90
+ )
91
+
87
92
type QueryPlugins struct {
88
93
Bank func (ctx sdk.Context , request * wasmvmtypes.BankQuery ) ([]byte , error )
89
94
Custom CustomQuerier
90
95
IBC func (ctx sdk.Context , caller sdk.AccAddress , request * wasmvmtypes.IBCQuery ) ([]byte , error )
91
96
Staking func (ctx sdk.Context , request * wasmvmtypes.StakingQuery ) ([]byte , error )
92
- Stargate func ( ctx sdk. Context , request * wasmvmtypes. StargateQuery ) ([] byte , error )
93
- Grpc func ( ctx sdk. Context , request * wasmvmtypes. GrpcQuery ) (proto. Message , error )
97
+ Stargate stargateQuerierFn
98
+ Grpc grpcQuerierFn
94
99
Wasm func (ctx sdk.Context , request * wasmvmtypes.WasmQuery ) ([]byte , error )
95
100
Distribution func (ctx sdk.Context , request * wasmvmtypes.DistributionQuery ) ([]byte , error )
96
101
}
@@ -121,7 +126,7 @@ func DefaultQueryPlugins(
121
126
Custom : NoCustomQuerier ,
122
127
IBC : IBCQuerier (wasm , channelKeeper ),
123
128
Staking : StakingQuerier (staking , distKeeper ),
124
- Stargate : RejectStargateQuerier () ,
129
+ Stargate : RejectStargateQuerier ,
125
130
Grpc : RejectGrpcQuerier ,
126
131
Wasm : WasmQuerier (wasm ),
127
132
Distribution : DistributionQuerier (distKeeper ),
@@ -332,10 +337,15 @@ func IBCQuerier(wasm contractMetaDataSource, channelKeeper types.ChannelKeeper)
332
337
}
333
338
}
334
339
340
+ // RejectGrpcQuerier is a querier that rejects all gRPC queries.
341
+ //
342
+ // Use AcceptListGrpcQuerier instead to create a list of accepted query types.
335
343
func RejectGrpcQuerier (ctx sdk.Context , request * wasmvmtypes.GrpcQuery ) (proto.Message , error ) {
336
- return nil , wasmvmtypes.UnsupportedRequest {Kind : "gRPC queries are disabled" }
344
+ return nil , wasmvmtypes.UnsupportedRequest {Kind : "gRPC queries are disabled on this chain " }
337
345
}
338
346
347
+ var _ grpcQuerierFn = RejectGrpcQuerier // just a type check
348
+
339
349
// AcceptListGrpcQuerier supports a preconfigured set of gRPC queries only.
340
350
// All arguments must be non nil.
341
351
//
@@ -344,7 +354,7 @@ func RejectGrpcQuerier(ctx sdk.Context, request *wasmvmtypes.GrpcQuery) (proto.M
344
354
//
345
355
// These queries can be set via WithQueryPlugins option in the wasm keeper constructor:
346
356
// WithQueryPlugins(&QueryPlugins{Grpc: AcceptListGrpcQuerier(acceptList, queryRouter, codec)})
347
- func AcceptListGrpcQuerier (acceptList AcceptedQueries , queryRouter GRPCQueryRouter , codec codec.Codec ) func ( ctx sdk. Context , request * wasmvmtypes. GrpcQuery ) (proto. Message , error ) {
357
+ func AcceptListGrpcQuerier (acceptList AcceptedQueries , queryRouter GRPCQueryRouter , codec codec.Codec ) grpcQuerierFn {
348
358
return func (ctx sdk.Context , request * wasmvmtypes.GrpcQuery ) (proto.Message , error ) {
349
359
protoResponseFn , accepted := acceptList [request .Path ]
350
360
if ! accepted {
@@ -375,13 +385,15 @@ func AcceptListGrpcQuerier(acceptList AcceptedQueries, queryRouter GRPCQueryRout
375
385
}
376
386
}
377
387
378
- // RejectStargateQuerier rejects all stargate queries
379
- func RejectStargateQuerier () func ( ctx sdk. Context , request * wasmvmtypes. StargateQuery ) ([] byte , error ) {
380
- return func ( ctx sdk. Context , request * wasmvmtypes. StargateQuery ) ([] byte , error ) {
381
- return nil , wasmvmtypes.UnsupportedRequest { Kind : "Stargate queries are disabled" }
382
- }
388
+ // RejectStargateQuerier is a querier that rejects all stargate queries.
389
+ //
390
+ // Use AcceptListStargateQuerier instead to create a list of accepted query types.
391
+ func RejectStargateQuerier ( ctx sdk. Context , request * wasmvmtypes.StargateQuery ) ([] byte , error ) {
392
+ return nil , wasmvmtypes. UnsupportedRequest { Kind : "Stargate queries are disabled on this chain" }
383
393
}
384
394
395
+ var _ stargateQuerierFn = RejectStargateQuerier // just a type check
396
+
385
397
// AcceptedQueries defines accepted Stargate or gRPC queries as a map where the key is the query path
386
398
// and the value is a function returning a proto.Message.
387
399
//
@@ -400,7 +412,7 @@ type AcceptedQueries map[string]func() proto.Message
400
412
//
401
413
// These queries can be set via WithQueryPlugins option in the wasm keeper constructor:
402
414
// WithQueryPlugins(&QueryPlugins{Stargate: AcceptListStargateQuerier(acceptList, queryRouter, codec)})
403
- func AcceptListStargateQuerier (acceptList AcceptedQueries , queryRouter GRPCQueryRouter , codec codec.Codec ) func ( ctx sdk. Context , request * wasmvmtypes. StargateQuery ) ([] byte , error ) {
415
+ func AcceptListStargateQuerier (acceptList AcceptedQueries , queryRouter GRPCQueryRouter , codec codec.Codec ) stargateQuerierFn {
404
416
return func (ctx sdk.Context , request * wasmvmtypes.StargateQuery ) ([]byte , error ) {
405
417
protoResponseFn , accepted := acceptList [request .Path ]
406
418
if ! accepted {
0 commit comments