#grpc-client #helper #macro #celestia #grpc-method #celestia-grpc

macro celestia-grpc-macros

Helper crate for grpc_method macro for creating gRPC client, used by celestia-grpc

1 unstable release

new 0.1.0 Dec 3, 2024

#1 in #celestia


Used in celestia-grpc

Apache-2.0

6KB
84 lines

Helper crate for grpc_method macro for creating a tonic gRPC client, used by celestia-grpc.

Example

use celestia_proto::cosmos::auth::v1beta1::query_client::QueryClient;
use tonic::service::Interceptor;
use tonic::transport::Channel;

pub struct GrpcClient<I>
where
   I: Interceptor,
{
    grpc_channel: Channel,
    auth_interceptor: I,
}

impl<I> GrpcClient<I>
where
    I: Interceptor + Clone,
{
    /// Get auth params
    #[grpc_method(AuthQueryClient::params)]
    async fn get_auth_params(&mut self) -> Result<AuthParams, Error>;
}

Dependencies

~250–700KB
~17K SLoC