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;
28pub(crate) use get_transaction::render_clever_error;
29
30#[tonic::async_trait]
31impl LedgerService for RpcService {
32 async fn get_service_info(
33 &self,
34 _request: tonic::Request<GetServiceInfoRequest>,
35 ) -> Result<tonic::Response<GetServiceInfoResponse>, tonic::Status> {
36 get_service_info::get_service_info(self)
37 .map(tonic::Response::new)
38 .map_err(Into::into)
39 }
40
41 async fn get_object(
42 &self,
43 request: tonic::Request<GetObjectRequest>,
44 ) -> Result<tonic::Response<GetObjectResponse>, tonic::Status> {
45 get_object::get_object(self, request.into_inner())
46 .map(tonic::Response::new)
47 .map_err(Into::into)
48 }
49
50 async fn batch_get_objects(
51 &self,
52 request: tonic::Request<BatchGetObjectsRequest>,
53 ) -> Result<tonic::Response<BatchGetObjectsResponse>, tonic::Status> {
54 get_object::batch_get_objects(self, request.into_inner())
55 .map(tonic::Response::new)
56 .map_err(Into::into)
57 }
58
59 async fn get_transaction(
60 &self,
61 request: tonic::Request<GetTransactionRequest>,
62 ) -> Result<tonic::Response<GetTransactionResponse>, tonic::Status> {
63 get_transaction::get_transaction(self, request.into_inner())
64 .map(tonic::Response::new)
65 .map_err(Into::into)
66 }
67
68 async fn batch_get_transactions(
69 &self,
70 request: tonic::Request<BatchGetTransactionsRequest>,
71 ) -> Result<tonic::Response<BatchGetTransactionsResponse>, tonic::Status> {
72 get_transaction::batch_get_transactions(self, request.into_inner())
73 .map(tonic::Response::new)
74 .map_err(Into::into)
75 }
76
77 async fn get_checkpoint(
78 &self,
79 request: tonic::Request<GetCheckpointRequest>,
80 ) -> Result<tonic::Response<GetCheckpointResponse>, tonic::Status> {
81 get_checkpoint::get_checkpoint(self, request.into_inner())
82 .map(tonic::Response::new)
83 .map_err(Into::into)
84 }
85
86 async fn get_epoch(
87 &self,
88 request: tonic::Request<GetEpochRequest>,
89 ) -> Result<tonic::Response<GetEpochResponse>, tonic::Status> {
90 get_epoch::get_epoch(self, request.into_inner())
91 .map(tonic::Response::new)
92 .map_err(Into::into)
93 }
94}