sui_rpc_api/grpc/v2/ledger_service/
mod.rs1use crate::RpcService;
5use sui_rpc::proto::sui::rpc::v2::BatchGetObjectsRequest;
6use sui_rpc::proto::sui::rpc::v2::BatchGetObjectsResponse;
7use sui_rpc::proto::sui::rpc::v2::BatchGetTransactionsRequest;
8use sui_rpc::proto::sui::rpc::v2::BatchGetTransactionsResponse;
9use sui_rpc::proto::sui::rpc::v2::GetCheckpointRequest;
10use sui_rpc::proto::sui::rpc::v2::GetCheckpointResponse;
11use sui_rpc::proto::sui::rpc::v2::GetEpochRequest;
12use sui_rpc::proto::sui::rpc::v2::GetEpochResponse;
13use sui_rpc::proto::sui::rpc::v2::GetObjectRequest;
14use sui_rpc::proto::sui::rpc::v2::GetObjectResponse;
15use sui_rpc::proto::sui::rpc::v2::GetServiceInfoRequest;
16use sui_rpc::proto::sui::rpc::v2::GetServiceInfoResponse;
17use sui_rpc::proto::sui::rpc::v2::GetTransactionRequest;
18use sui_rpc::proto::sui::rpc::v2::GetTransactionResponse;
19use sui_rpc::proto::sui::rpc::v2::ledger_service_server::LedgerService;
20
21pub(crate) mod get_checkpoint;
22mod get_epoch;
23mod get_object;
24mod get_service_info;
25mod get_transaction;
26pub use get_epoch::protocol_config_to_proto;
27pub use get_object::validate_get_object_requests;
28
29#[tonic::async_trait]
30impl LedgerService for RpcService {
31 async fn get_service_info(
32 &self,
33 _request: tonic::Request<GetServiceInfoRequest>,
34 ) -> Result<tonic::Response<GetServiceInfoResponse>, tonic::Status> {
35 get_service_info::get_service_info(self)
36 .map(tonic::Response::new)
37 .map_err(Into::into)
38 }
39
40 async fn get_object(
41 &self,
42 request: tonic::Request<GetObjectRequest>,
43 ) -> Result<tonic::Response<GetObjectResponse>, tonic::Status> {
44 get_object::get_object(self, request.into_inner())
45 .map(tonic::Response::new)
46 .map_err(Into::into)
47 }
48
49 async fn batch_get_objects(
50 &self,
51 request: tonic::Request<BatchGetObjectsRequest>,
52 ) -> Result<tonic::Response<BatchGetObjectsResponse>, tonic::Status> {
53 get_object::batch_get_objects(self, request.into_inner())
54 .map(tonic::Response::new)
55 .map_err(Into::into)
56 }
57
58 async fn get_transaction(
59 &self,
60 request: tonic::Request<GetTransactionRequest>,
61 ) -> Result<tonic::Response<GetTransactionResponse>, tonic::Status> {
62 get_transaction::get_transaction(self, request.into_inner())
63 .map(tonic::Response::new)
64 .map_err(Into::into)
65 }
66
67 async fn batch_get_transactions(
68 &self,
69 request: tonic::Request<BatchGetTransactionsRequest>,
70 ) -> Result<tonic::Response<BatchGetTransactionsResponse>, tonic::Status> {
71 get_transaction::batch_get_transactions(self, request.into_inner())
72 .map(tonic::Response::new)
73 .map_err(Into::into)
74 }
75
76 async fn get_checkpoint(
77 &self,
78 request: tonic::Request<GetCheckpointRequest>,
79 ) -> Result<tonic::Response<GetCheckpointResponse>, tonic::Status> {
80 get_checkpoint::get_checkpoint(self, request.into_inner())
81 .map(tonic::Response::new)
82 .map_err(Into::into)
83 }
84
85 async fn get_epoch(
86 &self,
87 request: tonic::Request<GetEpochRequest>,
88 ) -> Result<tonic::Response<GetEpochResponse>, tonic::Status> {
89 get_epoch::get_epoch(self, request.into_inner())
90 .map(tonic::Response::new)
91 .map_err(Into::into)
92 }
93}