diff --git a/CHANGELOG.md b/CHANGELOG.md index 35646bf8..f0ed81a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,6 +57,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (eth) [\#845](https://github.com/cosmos/ethermint/pull/845) The `eth` namespace must be included in the list of API's as default to run the rpc server without error. * (evm) [#202](https://github.com/tharsis/ethermint/pull/202) Web3 api `SendTransaction`/`SendRawTransaction` returns ethereum compatible transaction hash, and query api `GetTransaction*` also accept that. * (rpc) [tharsis#258](https://github.com/tharsis/ethermint/pull/258) Return empty `BloomFilter` instead of throwing an error when it cannot be found (`nil` or empty). +* (rpc) [tharsis#277](https://github.com/tharsis/ethermint/pull/321) Fix `BloomFilter` response. ### Improvements diff --git a/docs/core/proto-docs.md b/docs/core/proto-docs.md index c5c00b58..4cc85e14 100644 --- a/docs/core/proto-docs.md +++ b/docs/core/proto-docs.md @@ -568,6 +568,11 @@ QueryBlockBloomRequest is the request type for the Query/BlockBloom RPC method. +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| `height` | [int64](#int64) | | height of the block which we want to query the bloom filter. Tendermint always replace the query request header by the current context header, height cannot be extracted from there, so we need to explicitly pass it in parameter. | + + diff --git a/ethereum/rpc/backend/backend.go b/ethereum/rpc/backend/backend.go index 940293e6..bc5887d7 100644 --- a/ethereum/rpc/backend/backend.go +++ b/ethereum/rpc/backend/backend.go @@ -204,7 +204,7 @@ func (e *EVMBackend) EthBlockFromTendermint( } } - blockBloomResp, err := e.queryClient.BlockBloom(types.ContextWithHeight(block.Height), &evmtypes.QueryBlockBloomRequest{}) + blockBloomResp, err := e.queryClient.BlockBloom(types.ContextWithHeight(block.Height), &evmtypes.QueryBlockBloomRequest{Height: block.Height}) if err != nil { e.logger.Debug("failed to query BlockBloom", "height", block.Height, "error", err.Error()) @@ -266,7 +266,7 @@ func (e *EVMBackend) HeaderByNumber(blockNum types.BlockNumber) (*ethtypes.Heade return nil, err } - req := &evmtypes.QueryBlockBloomRequest{} + req := &evmtypes.QueryBlockBloomRequest{Height: resBlock.Block.Height} blockBloomResp, err := e.queryClient.BlockBloom(types.ContextWithHeight(resBlock.Block.Height), req) if err != nil { @@ -287,7 +287,7 @@ func (e *EVMBackend) HeaderByHash(blockHash common.Hash) (*ethtypes.Header, erro return nil, err } - req := &evmtypes.QueryBlockBloomRequest{} + req := &evmtypes.QueryBlockBloomRequest{Height: resBlock.Block.Height} blockBloomResp, err := e.queryClient.BlockBloom(types.ContextWithHeight(resBlock.Block.Height), req) if err != nil { diff --git a/ethereum/rpc/types/block.go b/ethereum/rpc/types/block.go index 6300b032..6986305a 100644 --- a/ethereum/rpc/types/block.go +++ b/ethereum/rpc/types/block.go @@ -30,6 +30,7 @@ func NewBlockNumber(n *big.Int) BlockNumber { // ContextWithHeight wraps a context with the a gRPC block height header. If the provided height is // 0, it will return an empty context and the gRPC query will use the latest block height for querying. +// Note that all metadata are processed and removed by tendermint layer, so it wont be accessible at gRPC server level. func ContextWithHeight(height int64) context.Context { if height == 0 { return context.Background() diff --git a/proto/ethermint/evm/v1alpha1/query.proto b/proto/ethermint/evm/v1alpha1/query.proto index d2325141..ce2fe984 100644 --- a/proto/ethermint/evm/v1alpha1/query.proto +++ b/proto/ethermint/evm/v1alpha1/query.proto @@ -222,7 +222,13 @@ message QueryBlockLogsResponse { // QueryBlockBloomRequest is the request type for the Query/BlockBloom RPC // method. -message QueryBlockBloomRequest {} +message QueryBlockBloomRequest { + // height of the block which we want to query the bloom filter. + // Tendermint always replace the query request header by the current context + // header, height cannot be extracted from there, so we need to explicitly pass + // it in parameter. + int64 height = 1; +} // QueryBlockBloomResponse is the response type for the Query/BlockBloom RPC // method. diff --git a/x/evm/keeper/grpc_query.go b/x/evm/keeper/grpc_query.go index dd70647e..98b39a3e 100644 --- a/x/evm/keeper/grpc_query.go +++ b/x/evm/keeper/grpc_query.go @@ -272,10 +272,10 @@ func (k Keeper) BlockLogs(c context.Context, req *types.QueryBlockLogsRequest) ( } // BlockBloom implements the Query/BlockBloom gRPC method -func (k Keeper) BlockBloom(c context.Context, _ *types.QueryBlockBloomRequest) (*types.QueryBlockBloomResponse, error) { +func (k Keeper) BlockBloom(c context.Context, req *types.QueryBlockBloomRequest) (*types.QueryBlockBloomResponse, error) { ctx := sdk.UnwrapSDKContext(c) - bloom, found := k.GetBlockBloom(ctx, ctx.BlockHeight()) + bloom, found := k.GetBlockBloom(ctx, req.Height) if !found { // if the bloom is not found, query the transient store at the current height k.ctx = ctx @@ -283,7 +283,7 @@ func (k Keeper) BlockBloom(c context.Context, _ *types.QueryBlockBloomRequest) ( if bloomInt.Sign() == 0 { return nil, status.Error( - codes.NotFound, sdkerrors.Wrapf(types.ErrBloomNotFound, "height: %d", ctx.BlockHeight()).Error(), + codes.NotFound, sdkerrors.Wrapf(types.ErrBloomNotFound, "height: %d", req.Height).Error(), ) } diff --git a/x/evm/keeper/grpc_query_test.go b/x/evm/keeper/grpc_query_test.go index 194c96f5..99bc4142 100644 --- a/x/evm/keeper/grpc_query_test.go +++ b/x/evm/keeper/grpc_query_test.go @@ -540,14 +540,16 @@ func (suite *KeeperTestSuite) TestQueryBlockBloom() { malleate func() expPass bool }{ - {"marshal error", - func() {}, + {"bad height", + func() { + req = &types.QueryBlockBloomRequest{Height: -2} + }, false, }, { "bloom from transient store", func() { - req = &types.QueryBlockBloomRequest{} + req = &types.QueryBlockBloomRequest{Height: 1} bloom := ethtypes.BytesToBloom([]byte("bloom")) expBloom = bloom.Bytes() suite.app.EvmKeeper.WithContext(suite.ctx.WithBlockHeight(1)) @@ -557,7 +559,7 @@ func (suite *KeeperTestSuite) TestQueryBlockBloom() { }, {"bloom not found for height", func() { - req = &types.QueryBlockBloomRequest{} + req = &types.QueryBlockBloomRequest{Height: 100} bloom := ethtypes.BytesToBloom([]byte("bloom")) expBloom = bloom.Bytes() suite.ctx = suite.ctx.WithBlockHeight(100) @@ -568,11 +570,11 @@ func (suite *KeeperTestSuite) TestQueryBlockBloom() { { "success", func() { - req = &types.QueryBlockBloomRequest{} + req = &types.QueryBlockBloomRequest{Height: 3} bloom := ethtypes.BytesToBloom([]byte("bloom")) expBloom = bloom.Bytes() - suite.ctx = suite.ctx.WithBlockHeight(1) - suite.app.EvmKeeper.SetBlockBloom(suite.ctx, 1, bloom) + suite.ctx = suite.ctx.WithBlockHeight(3) + suite.app.EvmKeeper.SetBlockBloom(suite.ctx, 3, bloom) }, true, }, diff --git a/x/evm/types/query.pb.go b/x/evm/types/query.pb.go index 458fc51c..1035012a 100644 --- a/x/evm/types/query.pb.go +++ b/x/evm/types/query.pb.go @@ -782,6 +782,11 @@ func (m *QueryBlockLogsResponse) GetPagination() *query.PageResponse { // QueryBlockBloomRequest is the request type for the Query/BlockBloom RPC // method. type QueryBlockBloomRequest struct { + // height of the block which we want to query the bloom filter. + // Tendermint always replace the query request header by the current context + // header, height cannot be extracted from there, so we need to explicitly pass + // it in parameter. + Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` } func (m *QueryBlockBloomRequest) Reset() { *m = QueryBlockBloomRequest{} } @@ -817,6 +822,13 @@ func (m *QueryBlockBloomRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryBlockBloomRequest proto.InternalMessageInfo +func (m *QueryBlockBloomRequest) GetHeight() int64 { + if m != nil { + return m.Height + } + return 0 +} + // QueryBlockBloomResponse is the response type for the Query/BlockBloom RPC // method. type QueryBlockBloomResponse struct { @@ -1180,85 +1192,86 @@ func init() { } var fileDescriptor_8bbc79ec2b6c5cb2 = []byte{ - // 1245 bytes of a gzipped FileDescriptorProto + // 1258 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x97, 0x4d, 0x6f, 0x1b, 0x45, - 0x18, 0xc7, 0xbd, 0x8d, 0x63, 0x37, 0x4f, 0x92, 0x36, 0x4c, 0x4d, 0x1b, 0xb6, 0xc5, 0x09, 0x03, - 0x8d, 0x9d, 0x97, 0xee, 0xd6, 0xe6, 0xad, 0x54, 0x20, 0x48, 0xa2, 0xa4, 0x95, 0x5a, 0x50, 0x71, - 0x22, 0x0e, 0x5c, 0xac, 0xf1, 0x7a, 0xb5, 0xb6, 0x62, 0xef, 0xb8, 0x3b, 0x6b, 0x2b, 0x51, 0x94, - 0x0b, 0x07, 0xc4, 0xdb, 0xa1, 0x88, 0x03, 0x08, 0x09, 0xa9, 0x57, 0x6e, 0x7c, 0x05, 0x6e, 0x3d, - 0x56, 0xe2, 0xc2, 0x09, 0xa1, 0x84, 0x03, 0x1f, 0x82, 0x03, 0x9a, 0x97, 0xb5, 0x77, 0x1d, 0x6f, - 0xd6, 0x41, 0xdc, 0x66, 0x66, 0x9f, 0x97, 0xdf, 0xf3, 0xcc, 0xe3, 0xf9, 0x27, 0x80, 0x6d, 0xbf, - 0x61, 0x7b, 0xed, 0xa6, 0xeb, 0x9b, 0x76, 0xaf, 0x6d, 0xf6, 0x4a, 0xa4, 0xd5, 0x69, 0x90, 0x92, - 0xf9, 0xb8, 0x6b, 0x7b, 0x07, 0x46, 0xc7, 0xa3, 0x3e, 0x45, 0x57, 0xfb, 0x36, 0x86, 0xdd, 0x6b, - 0x1b, 0x81, 0x8d, 0x9e, 0x73, 0xa8, 0x43, 0x85, 0x89, 0xc9, 0x57, 0xd2, 0x5a, 0x5f, 0xb1, 0x28, - 0x6b, 0x53, 0x66, 0xd6, 0x08, 0xb3, 0x65, 0x18, 0xb3, 0x57, 0xaa, 0xd9, 0x3e, 0x29, 0x99, 0x1d, - 0xe2, 0x34, 0x5d, 0xe2, 0x37, 0xa9, 0xab, 0x6c, 0x6f, 0x38, 0x94, 0x3a, 0x2d, 0xdb, 0x24, 0x9d, - 0xa6, 0x49, 0x5c, 0x97, 0xfa, 0xe2, 0x23, 0x53, 0x5f, 0x17, 0x63, 0xd8, 0x38, 0x84, 0xb4, 0x58, - 0x88, 0xb1, 0xf0, 0xf7, 0xa5, 0x01, 0x7e, 0x07, 0xae, 0x7c, 0xcc, 0x11, 0xd6, 0x2d, 0x8b, 0x76, - 0x5d, 0xbf, 0x62, 0x3f, 0xee, 0xda, 0xcc, 0x47, 0xf3, 0x90, 0x25, 0xf5, 0xba, 0x67, 0x33, 0x36, - 0xaf, 0x2d, 0x6a, 0xc5, 0xa9, 0x4a, 0xb0, 0xbd, 0x7b, 0xf1, 0x8b, 0xa7, 0x0b, 0xa9, 0xbf, 0x9f, - 0x2e, 0xa4, 0xb0, 0x05, 0xb9, 0xa8, 0x2b, 0xeb, 0x50, 0x97, 0xd9, 0xdc, 0xb7, 0x46, 0x5a, 0xc4, - 0xb5, 0xec, 0xc0, 0x57, 0x6d, 0xd1, 0x75, 0x98, 0xb2, 0x68, 0xdd, 0xae, 0x36, 0x08, 0x6b, 0xcc, - 0x5f, 0x10, 0xdf, 0x2e, 0xf2, 0x83, 0xfb, 0x84, 0x35, 0x50, 0x0e, 0x26, 0x5d, 0xca, 0x9d, 0x26, - 0x16, 0xb5, 0x62, 0xba, 0x22, 0x37, 0xf8, 0x7d, 0x78, 0x49, 0x24, 0xd9, 0x14, 0x3d, 0xfb, 0x0f, - 0x94, 0x9f, 0x6b, 0xa0, 0x8f, 0x8a, 0xa0, 0x60, 0x6f, 0xc2, 0x25, 0x79, 0x1d, 0xd5, 0x68, 0xa4, - 0x59, 0x79, 0xba, 0x2e, 0x0f, 0x91, 0x0e, 0x17, 0x19, 0x4f, 0xca, 0xf9, 0x2e, 0x08, 0xbe, 0xfe, - 0x9e, 0x87, 0x20, 0x32, 0x6a, 0xd5, 0xed, 0xb6, 0x6b, 0xb6, 0xa7, 0x2a, 0x98, 0x55, 0xa7, 0x1f, - 0x89, 0x43, 0xfc, 0x00, 0x6e, 0x08, 0x8e, 0x4f, 0x48, 0xab, 0x59, 0x27, 0x3e, 0xf5, 0x86, 0x8a, - 0x79, 0x05, 0x66, 0x2c, 0xea, 0x0e, 0x73, 0x4c, 0xf3, 0xb3, 0xf5, 0x53, 0x55, 0x7d, 0xad, 0xc1, - 0xcb, 0x31, 0xd1, 0x54, 0x61, 0x05, 0xb8, 0x1c, 0x50, 0x45, 0x23, 0x06, 0xb0, 0xff, 0x63, 0x69, - 0xc1, 0x10, 0x6d, 0xc8, 0x7b, 0x3e, 0xcf, 0xf5, 0xdc, 0x56, 0x43, 0xd4, 0x77, 0x4d, 0x1a, 0x22, - 0xfc, 0x40, 0x25, 0xdb, 0xf1, 0xa9, 0x47, 0x9c, 0xe4, 0x64, 0x68, 0x0e, 0x26, 0xf6, 0xec, 0x03, - 0x35, 0x6f, 0x7c, 0x19, 0x4a, 0xbf, 0xa6, 0xd2, 0xf7, 0x83, 0xa9, 0xf4, 0x39, 0x98, 0xec, 0x91, - 0x56, 0x37, 0x48, 0x2e, 0x37, 0xf8, 0x2d, 0x98, 0x53, 0xa3, 0x54, 0x3f, 0x57, 0x91, 0x05, 0x78, - 0x21, 0xe4, 0xa7, 0x52, 0x20, 0x48, 0xf3, 0xd9, 0x17, 0x5e, 0x33, 0x15, 0xb1, 0xc6, 0x65, 0x40, - 0xc2, 0x70, 0x77, 0xff, 0x21, 0x75, 0x58, 0x90, 0x02, 0x41, 0x5a, 0xfc, 0x62, 0x64, 0x7c, 0xb1, - 0x0e, 0x05, 0xdf, 0x56, 0xfd, 0x08, 0x7c, 0x54, 0x78, 0x13, 0xd2, 0x2d, 0xea, 0x70, 0xa8, 0x89, - 0xe2, 0x74, 0xf9, 0xba, 0x31, 0xfa, 0x89, 0x32, 0x1e, 0x52, 0xa7, 0x22, 0x0c, 0xf1, 0x11, 0xbc, - 0x28, 0x6f, 0xa2, 0x45, 0xad, 0xbd, 0x84, 0xf4, 0x68, 0x1b, 0x60, 0xf0, 0x56, 0x89, 0xd6, 0x4e, - 0x97, 0x97, 0x0c, 0xf9, 0x9b, 0x31, 0xf8, 0xc3, 0x66, 0xc8, 0xf7, 0x51, 0x3d, 0x6c, 0xc6, 0xa3, - 0xc1, 0x4d, 0x55, 0x42, 0x9e, 0xa1, 0x32, 0x7e, 0xd6, 0xe0, 0xea, 0x70, 0x7e, 0x55, 0xca, 0x36, - 0x64, 0xfd, 0xfd, 0x6a, 0xa8, 0x9a, 0x42, 0x5c, 0x35, 0xbb, 0x1e, 0x71, 0x19, 0xb1, 0x78, 0x68, - 0x1e, 0x61, 0x23, 0xfd, 0xec, 0x8f, 0x85, 0x54, 0x25, 0xe3, 0x8b, 0xd6, 0xa0, 0x7b, 0x23, 0xa0, - 0x0b, 0x89, 0xd0, 0x12, 0x22, 0x4c, 0x8d, 0xe7, 0xc3, 0xa8, 0x1b, 0x2d, 0x4a, 0xdb, 0xaa, 0x36, - 0x6c, 0xc2, 0xb5, 0x53, 0x5f, 0x06, 0x23, 0x55, 0xe3, 0x07, 0xea, 0xc2, 0xe5, 0x06, 0xe7, 0xd4, - 0x8d, 0x3f, 0x22, 0x1e, 0x69, 0x07, 0x2d, 0xc7, 0x3b, 0xea, 0x4e, 0x83, 0x53, 0x15, 0xe2, 0x5d, - 0xc8, 0x74, 0xc4, 0x89, 0x88, 0x31, 0x5d, 0xce, 0xc7, 0xf5, 0x41, 0xfa, 0x05, 0xe5, 0x4b, 0x1f, - 0x7c, 0x5f, 0x51, 0xef, 0x70, 0x11, 0xb1, 0x36, 0x49, 0xab, 0x95, 0xfc, 0xdb, 0xc9, 0xc1, 0x64, - 0xd3, 0xed, 0x74, 0x7d, 0xd1, 0xad, 0x99, 0x8a, 0xdc, 0xe0, 0x5b, 0xaa, 0xca, 0x70, 0xa4, 0xc1, - 0x54, 0xd7, 0x89, 0x4f, 0x82, 0xa9, 0xe6, 0x6b, 0xfc, 0x1e, 0x5c, 0xda, 0xf2, 0x1b, 0xe1, 0x84, - 0x08, 0xd2, 0xc4, 0x73, 0x58, 0x60, 0xc5, 0xd7, 0xe8, 0x1a, 0x64, 0x1d, 0xc2, 0xaa, 0x16, 0xe9, - 0xa8, 0x67, 0x28, 0xe3, 0x10, 0xb6, 0x49, 0x3a, 0xb8, 0x00, 0x57, 0xb6, 0x98, 0xdf, 0x6c, 0x13, - 0xdf, 0xbe, 0x47, 0x06, 0xcd, 0x98, 0x83, 0x09, 0x87, 0xc8, 0x10, 0xe9, 0x0a, 0x5f, 0x96, 0xff, - 0xb9, 0x0c, 0x93, 0x82, 0x0b, 0x7d, 0xaf, 0x41, 0x56, 0x3d, 0x88, 0x68, 0x35, 0xae, 0x49, 0x23, - 0x74, 0x4f, 0x5f, 0x1b, 0xcf, 0x58, 0x22, 0xe0, 0xd2, 0x67, 0xbf, 0xfd, 0xf5, 0xdd, 0x85, 0x55, - 0xb4, 0x6c, 0xc6, 0xc8, 0xac, 0x7a, 0x26, 0xcd, 0x43, 0xd5, 0xcf, 0x23, 0xf4, 0x8b, 0x06, 0xb3, - 0x11, 0x25, 0x42, 0xa5, 0x33, 0x53, 0x8e, 0xd2, 0x3d, 0xbd, 0x7c, 0x1e, 0x17, 0xc5, 0x7a, 0x47, - 0xb0, 0x96, 0xd1, 0xed, 0x38, 0xd6, 0x40, 0x06, 0x4f, 0x21, 0xff, 0xaa, 0xc1, 0xdc, 0xb0, 0xcc, - 0xa0, 0x37, 0xce, 0x44, 0x88, 0xd1, 0x38, 0xfd, 0xcd, 0x73, 0x7a, 0x29, 0xf6, 0x0f, 0x04, 0xfb, - 0x5d, 0x74, 0x27, 0x8e, 0xbd, 0x17, 0x78, 0x0e, 0xf0, 0xc3, 0x5a, 0x7a, 0x84, 0x7e, 0xd0, 0x20, - 0xab, 0x24, 0x26, 0x61, 0x20, 0xa2, 0x1a, 0x96, 0x30, 0x10, 0x43, 0xaa, 0x85, 0xcb, 0x02, 0x74, - 0x0d, 0xad, 0xc4, 0x81, 0x2a, 0x11, 0x63, 0xa1, 0xf6, 0xfe, 0xa4, 0x41, 0x56, 0xc9, 0x4f, 0x02, - 0x5a, 0x54, 0xf1, 0x12, 0xd0, 0x86, 0x14, 0x0d, 0xbf, 0x2d, 0xd0, 0x4a, 0xc8, 0x8c, 0x43, 0x63, - 0xd2, 0x61, 0x40, 0x66, 0x1e, 0xee, 0xd9, 0x07, 0x47, 0xe8, 0x1b, 0x0d, 0xd2, 0x5c, 0xb8, 0x50, - 0x31, 0x61, 0xea, 0xfa, 0x9a, 0xa8, 0x2f, 0x8f, 0x61, 0xa9, 0xb0, 0x4c, 0x81, 0xb5, 0x8c, 0x0a, - 0xf1, 0x63, 0x59, 0x8f, 0xb4, 0xeb, 0x5b, 0x0d, 0x32, 0x52, 0xea, 0xd0, 0xca, 0x99, 0x69, 0x22, - 0x1a, 0xaa, 0xaf, 0x8e, 0x65, 0xab, 0xa0, 0x0c, 0x01, 0x55, 0x44, 0x4b, 0x66, 0xec, 0x9f, 0xcf, - 0x42, 0x8e, 0xcc, 0x43, 0x2e, 0x86, 0xe2, 0x0a, 0xa7, 0xfa, 0xb2, 0x85, 0x6e, 0x9d, 0x3d, 0x32, - 0x43, 0xf2, 0xaa, 0x1b, 0xe3, 0x9a, 0x8f, 0xfb, 0xe8, 0xd4, 0xb8, 0x4b, 0x84, 0xef, 0x47, 0x0d, - 0x60, 0xa0, 0x48, 0x68, 0x8c, 0x8c, 0x61, 0x51, 0xd3, 0xcd, 0xb1, 0xed, 0x15, 0xe2, 0xaa, 0x40, - 0xbc, 0x89, 0x5e, 0x3d, 0x1b, 0x51, 0x28, 0x20, 0xfa, 0x52, 0x83, 0x8c, 0xd4, 0xab, 0x84, 0x0b, - 0x8d, 0x48, 0x64, 0xc2, 0x85, 0x46, 0x85, 0x13, 0x2f, 0x09, 0xa0, 0x45, 0x94, 0x8f, 0x03, 0x92, - 0x12, 0x29, 0x1a, 0x35, 0x10, 0xb5, 0x84, 0x46, 0x9d, 0xd2, 0xd1, 0x84, 0x46, 0x9d, 0x56, 0xcb, - 0xe4, 0x46, 0x31, 0xe1, 0x53, 0xb5, 0x38, 0xcd, 0x57, 0x1a, 0x64, 0x95, 0x8e, 0xa2, 0xa5, 0xb8, - 0x4c, 0x51, 0xa1, 0xd5, 0x63, 0x67, 0xf1, 0x43, 0xe6, 0x6c, 0xf1, 0x2f, 0x76, 0xb7, 0xbd, 0xbb, - 0xdf, 0xe7, 0x29, 0x0a, 0x1e, 0x8c, 0x16, 0xe3, 0x78, 0x6c, 0xbf, 0x21, 0x61, 0x9e, 0x68, 0x30, - 0x1d, 0x52, 0xe5, 0xb1, 0x81, 0x62, 0xaf, 0x6d, 0x84, 0xc4, 0xe3, 0x35, 0x81, 0xb3, 0x84, 0x5e, - 0x8b, 0xc5, 0x51, 0x4e, 0x55, 0x87, 0xb0, 0x8d, 0x8d, 0x67, 0xc7, 0x79, 0xed, 0xf9, 0x71, 0x5e, - 0xfb, 0xf3, 0x38, 0xaf, 0x3d, 0x39, 0xc9, 0xa7, 0x9e, 0x9f, 0xe4, 0x53, 0xbf, 0x9f, 0xe4, 0x53, - 0x9f, 0x16, 0x9d, 0xa6, 0xdf, 0xe8, 0xd6, 0x0c, 0x8b, 0xb6, 0x4d, 0xbf, 0x41, 0x3c, 0xd6, 0x64, - 0xa1, 0x88, 0xfb, 0x22, 0xa6, 0x7f, 0xd0, 0xb1, 0x59, 0x2d, 0x23, 0xfe, 0x2b, 0x7e, 0xfd, 0xdf, - 0x00, 0x00, 0x00, 0xff, 0xff, 0x13, 0xa4, 0x09, 0x32, 0xf6, 0x0f, 0x00, 0x00, + 0x18, 0xc7, 0xbd, 0x89, 0x63, 0x27, 0x4f, 0x92, 0x36, 0x4c, 0x4d, 0x1a, 0xb6, 0xc5, 0x09, 0x0b, + 0x8d, 0x9d, 0x97, 0xee, 0xc6, 0xe6, 0xad, 0x54, 0x20, 0x48, 0xa2, 0xa4, 0x95, 0x5a, 0x50, 0x71, + 0x22, 0x0e, 0x5c, 0xac, 0xf1, 0x7a, 0xb5, 0xb6, 0x62, 0xef, 0xb8, 0x9e, 0xb1, 0x95, 0x28, 0xca, + 0x85, 0x03, 0xe2, 0xed, 0x50, 0xc4, 0x01, 0x84, 0x84, 0xd4, 0x2b, 0x37, 0xbe, 0x02, 0xb7, 0x1e, + 0x2b, 0x71, 0xe1, 0x84, 0x50, 0xc2, 0x81, 0x0f, 0xc1, 0x01, 0xcd, 0xcb, 0xda, 0xbb, 0x8e, 0x37, + 0xeb, 0x20, 0x6e, 0x33, 0xb3, 0xcf, 0xcb, 0xef, 0x79, 0xe6, 0xf1, 0xfc, 0x13, 0x30, 0x1c, 0x56, + 0x73, 0xda, 0xcd, 0xba, 0xc7, 0x2c, 0xa7, 0xdb, 0xb4, 0xba, 0x05, 0xdc, 0x68, 0xd5, 0x70, 0xc1, + 0x7a, 0xdc, 0x71, 0xda, 0x47, 0x66, 0xab, 0x4d, 0x18, 0x41, 0xf3, 0x3d, 0x1b, 0xd3, 0xe9, 0x36, + 0x4d, 0xdf, 0x46, 0xcf, 0xb8, 0xc4, 0x25, 0xc2, 0xc4, 0xe2, 0x2b, 0x69, 0xad, 0xaf, 0xda, 0x84, + 0x36, 0x09, 0xb5, 0x2a, 0x98, 0x3a, 0x32, 0x8c, 0xd5, 0x2d, 0x54, 0x1c, 0x86, 0x0b, 0x56, 0x0b, + 0xbb, 0x75, 0x0f, 0xb3, 0x3a, 0xf1, 0x94, 0xed, 0x4d, 0x97, 0x10, 0xb7, 0xe1, 0x58, 0xb8, 0x55, + 0xb7, 0xb0, 0xe7, 0x11, 0x26, 0x3e, 0x52, 0xf5, 0x75, 0x29, 0x82, 0x8d, 0x43, 0x48, 0x8b, 0xc5, + 0x08, 0x0b, 0x76, 0x28, 0x0d, 0x8c, 0x77, 0xe0, 0xda, 0xc7, 0x1c, 0x61, 0xd3, 0xb6, 0x49, 0xc7, + 0x63, 0x25, 0xe7, 0x71, 0xc7, 0xa1, 0x0c, 0x2d, 0x40, 0x1a, 0x57, 0xab, 0x6d, 0x87, 0xd2, 0x05, + 0x6d, 0x49, 0xcb, 0x4f, 0x95, 0xfc, 0xed, 0xdd, 0xc9, 0x2f, 0x9e, 0x2e, 0x26, 0xfe, 0x7e, 0xba, + 0x98, 0x30, 0x6c, 0xc8, 0x84, 0x5d, 0x69, 0x8b, 0x78, 0xd4, 0xe1, 0xbe, 0x15, 0xdc, 0xc0, 0x9e, + 0xed, 0xf8, 0xbe, 0x6a, 0x8b, 0x6e, 0xc0, 0x94, 0x4d, 0xaa, 0x4e, 0xb9, 0x86, 0x69, 0x6d, 0x61, + 0x4c, 0x7c, 0x9b, 0xe4, 0x07, 0xf7, 0x31, 0xad, 0xa1, 0x0c, 0x4c, 0x78, 0x84, 0x3b, 0x8d, 0x2f, + 0x69, 0xf9, 0x64, 0x49, 0x6e, 0x8c, 0xf7, 0xe1, 0x25, 0x91, 0x64, 0x5b, 0xf4, 0xec, 0x3f, 0x50, + 0x7e, 0xae, 0x81, 0x3e, 0x2c, 0x82, 0x82, 0xbd, 0x05, 0x57, 0xe4, 0x75, 0x94, 0xc3, 0x91, 0x66, + 0xe5, 0xe9, 0xa6, 0x3c, 0x44, 0x3a, 0x4c, 0x52, 0x9e, 0x94, 0xf3, 0x8d, 0x09, 0xbe, 0xde, 0x9e, + 0x87, 0xc0, 0x32, 0x6a, 0xd9, 0xeb, 0x34, 0x2b, 0x4e, 0x5b, 0x55, 0x30, 0xab, 0x4e, 0x3f, 0x12, + 0x87, 0xc6, 0x03, 0xb8, 0x29, 0x38, 0x3e, 0xc1, 0x8d, 0x7a, 0x15, 0x33, 0xd2, 0x1e, 0x28, 0xe6, + 0x15, 0x98, 0xb1, 0x89, 0x37, 0xc8, 0x31, 0xcd, 0xcf, 0x36, 0xcf, 0x55, 0xf5, 0xb5, 0x06, 0x2f, + 0x47, 0x44, 0x53, 0x85, 0xe5, 0xe0, 0xaa, 0x4f, 0x15, 0x8e, 0xe8, 0xc3, 0xfe, 0x8f, 0xa5, 0xf9, + 0x43, 0xb4, 0x25, 0xef, 0xf9, 0x32, 0xd7, 0xb3, 0xa1, 0x86, 0xa8, 0xe7, 0x1a, 0x37, 0x44, 0xc6, + 0x03, 0x95, 0x6c, 0x8f, 0x91, 0x36, 0x76, 0xe3, 0x93, 0xa1, 0x39, 0x18, 0x3f, 0x70, 0x8e, 0xd4, + 0xbc, 0xf1, 0x65, 0x20, 0xfd, 0xba, 0x4a, 0xdf, 0x0b, 0xa6, 0xd2, 0x67, 0x60, 0xa2, 0x8b, 0x1b, + 0x1d, 0x3f, 0xb9, 0xdc, 0x18, 0x6f, 0xc1, 0x9c, 0x1a, 0xa5, 0xea, 0xa5, 0x8a, 0xcc, 0xc1, 0x0b, + 0x01, 0x3f, 0x95, 0x02, 0x41, 0x92, 0xcf, 0xbe, 0xf0, 0x9a, 0x29, 0x89, 0xb5, 0x51, 0x04, 0x24, + 0x0c, 0xf7, 0x0f, 0x1f, 0x12, 0x97, 0xfa, 0x29, 0x10, 0x24, 0xc5, 0x2f, 0x46, 0xc6, 0x17, 0xeb, + 0x40, 0xf0, 0x5d, 0xd5, 0x0f, 0xdf, 0x47, 0x85, 0xb7, 0x20, 0xd9, 0x20, 0x2e, 0x87, 0x1a, 0xcf, + 0x4f, 0x17, 0x6f, 0x98, 0xc3, 0x9f, 0x28, 0xf3, 0x21, 0x71, 0x4b, 0xc2, 0xd0, 0x38, 0x81, 0x17, + 0xe5, 0x4d, 0x34, 0x88, 0x7d, 0x10, 0x93, 0x1e, 0xed, 0x02, 0xf4, 0xdf, 0x2a, 0xd1, 0xda, 0xe9, + 0xe2, 0xb2, 0x29, 0x7f, 0x33, 0x26, 0x7f, 0xd8, 0x4c, 0xf9, 0x3e, 0xaa, 0x87, 0xcd, 0x7c, 0xd4, + 0xbf, 0xa9, 0x52, 0xc0, 0x33, 0x50, 0xc6, 0xcf, 0x1a, 0xcc, 0x0f, 0xe6, 0x57, 0xa5, 0xec, 0x42, + 0x9a, 0x1d, 0x96, 0x03, 0xd5, 0xe4, 0xa2, 0xaa, 0xd9, 0x6f, 0x63, 0x8f, 0x62, 0x9b, 0x87, 0xe6, + 0x11, 0xb6, 0x92, 0xcf, 0xfe, 0x58, 0x4c, 0x94, 0x52, 0x4c, 0xb4, 0x06, 0xdd, 0x1b, 0x02, 0x9d, + 0x8b, 0x85, 0x96, 0x10, 0x41, 0x6a, 0x63, 0x23, 0x88, 0xba, 0xd5, 0x20, 0xa4, 0xe9, 0xf7, 0x6a, + 0x1e, 0x52, 0x35, 0xa7, 0xee, 0xd6, 0x98, 0xe8, 0xd6, 0x78, 0x49, 0xed, 0x0c, 0x0b, 0xae, 0x9f, + 0xf3, 0xe8, 0x8f, 0x5a, 0x85, 0x1f, 0xa8, 0x41, 0x90, 0x1b, 0x23, 0xa3, 0x26, 0xe1, 0x11, 0x6e, + 0xe3, 0xa6, 0x7f, 0x15, 0xc6, 0x9e, 0xba, 0x6b, 0xff, 0x54, 0x85, 0x78, 0x17, 0x52, 0x2d, 0x71, + 0x22, 0x62, 0x4c, 0x17, 0xb3, 0x51, 0xfd, 0x91, 0x7e, 0x7e, 0x5b, 0xa4, 0x8f, 0x71, 0x5f, 0x55, + 0xb3, 0xc7, 0xc5, 0xc5, 0xde, 0xc6, 0x8d, 0x46, 0xfc, 0x6f, 0x2a, 0x03, 0x13, 0x75, 0xaf, 0xd5, + 0x61, 0xa2, 0x8b, 0x33, 0x25, 0xb9, 0x31, 0x6e, 0xab, 0x2a, 0x83, 0x91, 0xfa, 0xd3, 0x5e, 0xc5, + 0x0c, 0xfb, 0xd3, 0xce, 0xd7, 0xc6, 0x7b, 0x70, 0x65, 0x87, 0xd5, 0x82, 0x09, 0x11, 0x24, 0x71, + 0xdb, 0xa5, 0xbe, 0x15, 0x5f, 0xa3, 0xeb, 0x90, 0x76, 0x31, 0x2d, 0xdb, 0xb8, 0xa5, 0x9e, 0xa7, + 0x94, 0x8b, 0xe9, 0x36, 0x6e, 0x19, 0x39, 0xb8, 0xb6, 0x43, 0x59, 0xbd, 0x89, 0x99, 0x73, 0x0f, + 0xf7, 0x9b, 0x31, 0x07, 0xe3, 0x2e, 0x96, 0x21, 0x92, 0x25, 0xbe, 0x2c, 0xfe, 0x73, 0x15, 0x26, + 0x04, 0x17, 0xfa, 0x5e, 0x83, 0xb4, 0x7a, 0x28, 0xd1, 0x5a, 0x54, 0x93, 0x86, 0xe8, 0xa1, 0xbe, + 0x3e, 0x9a, 0xb1, 0x44, 0x30, 0x0a, 0x9f, 0xfd, 0xf6, 0xd7, 0x77, 0x63, 0x6b, 0x68, 0xc5, 0x8a, + 0x90, 0x5f, 0xf5, 0x7c, 0x5a, 0xc7, 0xaa, 0x9f, 0x27, 0xe8, 0x17, 0x0d, 0x66, 0x43, 0x0a, 0x85, + 0x0a, 0x17, 0xa6, 0x1c, 0xa6, 0x87, 0x7a, 0xf1, 0x32, 0x2e, 0x8a, 0xf5, 0x8e, 0x60, 0x2d, 0xa2, + 0x8d, 0x28, 0x56, 0x5f, 0x1e, 0xcf, 0x21, 0xff, 0xaa, 0xc1, 0xdc, 0xa0, 0xfc, 0xa0, 0x37, 0x2e, + 0x44, 0x88, 0xd0, 0x3e, 0xfd, 0xcd, 0x4b, 0x7a, 0x29, 0xf6, 0x0f, 0x04, 0xfb, 0x5d, 0x74, 0x27, + 0x8a, 0xbd, 0xeb, 0x7b, 0xf6, 0xf1, 0x83, 0x1a, 0x7b, 0x82, 0x7e, 0xd0, 0x20, 0xad, 0xa4, 0x27, + 0x66, 0x20, 0xc2, 0xda, 0x16, 0x33, 0x10, 0x03, 0x6a, 0x66, 0x14, 0x05, 0xe8, 0x3a, 0x5a, 0x8d, + 0x02, 0x55, 0xe2, 0x46, 0x03, 0xed, 0xfd, 0x49, 0x83, 0xb4, 0x92, 0xa5, 0x18, 0xb4, 0xb0, 0x12, + 0xc6, 0xa0, 0x0d, 0x28, 0x9d, 0xf1, 0xb6, 0x40, 0x2b, 0x20, 0x2b, 0x0a, 0x8d, 0x4a, 0x87, 0x3e, + 0x99, 0x75, 0x7c, 0xe0, 0x1c, 0x9d, 0xa0, 0x6f, 0x34, 0x48, 0x72, 0x41, 0x43, 0xf9, 0x98, 0xa9, + 0xeb, 0x69, 0xa5, 0xbe, 0x32, 0x82, 0xa5, 0xc2, 0xb2, 0x04, 0xd6, 0x0a, 0xca, 0x45, 0x8f, 0x65, + 0x35, 0xd4, 0xae, 0x6f, 0x35, 0x48, 0x49, 0x09, 0x44, 0xab, 0x17, 0xa6, 0x09, 0x69, 0xab, 0xbe, + 0x36, 0x92, 0xad, 0x82, 0x32, 0x05, 0x54, 0x1e, 0x2d, 0x5b, 0x91, 0x7f, 0x56, 0x0b, 0x99, 0xb2, + 0x8e, 0xb9, 0x48, 0x8a, 0x2b, 0x9c, 0xea, 0xc9, 0x19, 0xba, 0x7d, 0xf1, 0xc8, 0x0c, 0xc8, 0xae, + 0x6e, 0x8e, 0x6a, 0x3e, 0xea, 0xa3, 0x53, 0xe1, 0x2e, 0x21, 0xbe, 0x1f, 0x35, 0x80, 0xbe, 0x22, + 0xa1, 0x11, 0x32, 0x06, 0xc5, 0x4e, 0xb7, 0x46, 0xb6, 0x57, 0x88, 0x6b, 0x02, 0xf1, 0x16, 0x7a, + 0xf5, 0x62, 0x44, 0xa1, 0x80, 0xe8, 0x4b, 0x0d, 0x52, 0x52, 0xaf, 0x62, 0x2e, 0x34, 0x24, 0x91, + 0x31, 0x17, 0x1a, 0x16, 0x4e, 0x63, 0x59, 0x00, 0x2d, 0xa1, 0x6c, 0x14, 0x90, 0x94, 0x48, 0xd1, + 0xa8, 0xbe, 0xa8, 0xc5, 0x34, 0xea, 0x9c, 0x8e, 0xc6, 0x34, 0xea, 0xbc, 0x5a, 0xc6, 0x37, 0x8a, + 0x0a, 0x9f, 0xb2, 0xcd, 0x69, 0xbe, 0xd2, 0x20, 0xad, 0x74, 0x14, 0x2d, 0x47, 0x65, 0x0a, 0x0b, + 0xad, 0x1e, 0x39, 0x8b, 0x1f, 0x52, 0x77, 0x87, 0x7f, 0x71, 0x3a, 0xcd, 0xfd, 0xc3, 0x1e, 0x4f, + 0x5e, 0xf0, 0x18, 0x68, 0x29, 0x8a, 0xc7, 0x61, 0x35, 0x09, 0xf3, 0x44, 0x83, 0xe9, 0x80, 0x2a, + 0x8f, 0x0c, 0x14, 0x79, 0x6d, 0x43, 0x24, 0xde, 0x58, 0x17, 0x38, 0xcb, 0xe8, 0xb5, 0x48, 0x1c, + 0xe5, 0x54, 0x76, 0x31, 0xdd, 0xda, 0x7a, 0x76, 0x9a, 0xd5, 0x9e, 0x9f, 0x66, 0xb5, 0x3f, 0x4f, + 0xb3, 0xda, 0x93, 0xb3, 0x6c, 0xe2, 0xf9, 0x59, 0x36, 0xf1, 0xfb, 0x59, 0x36, 0xf1, 0x69, 0xde, + 0xad, 0xb3, 0x5a, 0xa7, 0x62, 0xda, 0xa4, 0x69, 0xb1, 0x1a, 0x6e, 0xd3, 0x3a, 0x0d, 0x44, 0x3c, + 0x14, 0x31, 0xd9, 0x51, 0xcb, 0xa1, 0x95, 0x94, 0xf8, 0x6f, 0xf9, 0xf5, 0x7f, 0x03, 0x00, 0x00, + 0xff, 0xff, 0x90, 0x70, 0xb1, 0x52, 0x0e, 0x10, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2378,6 +2391,11 @@ func (m *QueryBlockBloomRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l + if m.Height != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Height)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } @@ -2857,6 +2875,9 @@ func (m *QueryBlockBloomRequest) Size() (n int) { } var l int _ = l + if m.Height != 0 { + n += 1 + sovQuery(uint64(m.Height)) + } return n } @@ -4535,6 +4556,25 @@ func (m *QueryBlockBloomRequest) Unmarshal(dAtA []byte) error { return fmt.Errorf("proto: QueryBlockBloomRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) + } + m.Height = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Height |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) diff --git a/x/evm/types/query.pb.gw.go b/x/evm/types/query.pb.gw.go index f67b893d..c2daa4f2 100644 --- a/x/evm/types/query.pb.gw.go +++ b/x/evm/types/query.pb.gw.go @@ -503,10 +503,21 @@ func local_request_Query_BlockLogs_0(ctx context.Context, marshaler runtime.Mars } +var ( + filter_Query_BlockBloom_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + func request_Query_BlockBloom_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryBlockBloomRequest var metadata runtime.ServerMetadata + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_BlockBloom_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.BlockBloom(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err @@ -516,6 +527,13 @@ func local_request_Query_BlockBloom_0(ctx context.Context, marshaler runtime.Mar var protoReq QueryBlockBloomRequest var metadata runtime.ServerMetadata + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_BlockBloom_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.BlockBloom(ctx, &protoReq) return msg, metadata, err