Skip to main content

mina_node_testing/service/
rpc_service.rs

1use mina_core::requests::RpcId;
2use mina_node::{
3    p2p::connection::P2pConnectionResponse, rpc::RpcMessageProgressResponse,
4    rpc_effectful::RespondError, service::RpcService, State,
5};
6
7macro_rules! to_real {
8    ($name:ident, $response:ty $(,)?) => {
9        fn $name(&mut self, rpc_id: RpcId, response: $response) -> Result<(), RespondError> {
10            self.real.$name(rpc_id, response)
11        }
12    };
13}
14
15impl RpcService for super::NodeTestingService {
16    to_real!(respond_state_get, (&State, Option<&str>));
17    to_real!(respond_status_get, mina_node::rpc::RpcStatusGetResponse);
18    to_real!(
19        respond_heartbeat_get,
20        mina_node::rpc::RpcHeartbeatGetResponse
21    );
22    to_real!(
23        respond_sync_stats_get,
24        mina_node::rpc::RpcSyncStatsGetResponse
25    );
26    to_real!(
27        respond_block_producer_stats_get,
28        mina_node::rpc::RpcBlockProducerStatsGetResponse
29    );
30
31    to_real!(
32        respond_action_stats_get,
33        mina_node::rpc::RpcActionStatsGetResponse,
34    );
35    to_real!(
36        respond_message_progress_stats_get,
37        RpcMessageProgressResponse
38    );
39    to_real!(respond_peers_get, mina_node::rpc::RpcPeersGetResponse,);
40    to_real!(
41        respond_p2p_connection_outgoing,
42        mina_node::rpc::RpcP2pConnectionOutgoingResponse,
43    );
44    to_real!(
45        respond_p2p_connection_incoming_answer,
46        P2pConnectionResponse,
47    );
48
49    to_real!(respond_p2p_connection_incoming, Result<(), String>,);
50    to_real!(
51        respond_scan_state_summary_get,
52        mina_node::rpc::RpcScanStateSummaryGetResponse,
53    );
54    to_real!(
55        respond_snark_pool_get,
56        mina_node::rpc::RpcSnarkPoolGetResponse,
57    );
58    to_real!(
59        respond_snark_pool_job_get,
60        mina_node::rpc::RpcSnarkPoolJobGetResponse,
61    );
62    to_real!(
63        respond_snark_pool_completed_jobs_get,
64        mina_node::rpc::RpcSnarkPoolCompletedJobsResponse,
65    );
66    to_real!(
67        respond_snark_pool_pending_jobs_get,
68        mina_node::rpc::RpcSnarkPoolPendingJobsGetResponse
69    );
70    to_real!(
71        respond_snarker_job_commit,
72        mina_node::rpc::RpcSnarkerJobCommitResponse,
73    );
74    to_real!(
75        respond_snarker_job_spec,
76        mina_node::rpc::RpcSnarkerJobSpecResponse,
77    );
78    to_real!(
79        respond_snarker_workers,
80        mina_node::rpc::RpcSnarkerWorkersResponse,
81    );
82    to_real!(
83        respond_snarker_config_get,
84        mina_node::rpc::RpcSnarkerConfigGetResponse,
85    );
86    to_real!(respond_health_check, mina_node::rpc::RpcHealthCheckResponse,);
87    to_real!(
88        respond_readiness_check,
89        mina_node::rpc::RpcReadinessCheckResponse,
90    );
91    to_real!(
92        respond_discovery_routing_table,
93        mina_node::rpc::RpcDiscoveryRoutingTableResponse
94    );
95    to_real!(
96        respond_discovery_bootstrap_stats,
97        mina_node::rpc::RpcDiscoveryBoostrapStatsResponse
98    );
99    to_real!(
100        respond_transaction_pool,
101        mina_node::rpc::RpcTransactionPoolResponse
102    );
103    to_real!(
104        respond_ledger_slim_accounts,
105        mina_node::rpc::RpcLedgerSlimAccountsResponse
106    );
107    to_real!(
108        respond_ledger_accounts,
109        mina_node::rpc::RpcLedgerAccountsResponse
110    );
111    to_real!(
112        respond_transaction_inject,
113        mina_node::rpc::RpcTransactionInjectResponse
114    );
115    to_real!(
116        respond_transition_frontier_commands,
117        mina_node::rpc::RpcTransitionFrontierUserCommandsResponse,
118    );
119    to_real!(respond_best_chain, mina_node::rpc::RpcBestChainResponse,);
120    to_real!(
121        respond_consensus_constants,
122        mina_node::rpc::RpcConsensusConstantsGetResponse,
123    );
124    to_real!(
125        respond_transaction_status,
126        mina_node::rpc::RpcTransactionStatusGetResponse,
127    );
128    to_real!(respond_block_get, mina_node::rpc::RpcGetBlockResponse,);
129    to_real!(
130        respond_pooled_user_commands,
131        mina_node::rpc::RpcPooledUserCommandsResponse,
132    );
133    to_real!(
134        respond_pooled_zkapp_commands,
135        mina_node::rpc::RpcPooledZkappCommandsResponse,
136    );
137    to_real!(
138        respond_genesis_block,
139        mina_node::rpc::RpcGenesisBlockResponse,
140    );
141    to_real!(
142        respond_consensus_time_get,
143        mina_node::rpc::RpcConsensusTimeGetResponse,
144    );
145    to_real!(
146        respond_ledger_status_get,
147        mina_node::rpc::RpcLedgerStatusGetResponse,
148    );
149    to_real!(
150        respond_ledger_account_delegators_get,
151        mina_node::rpc::RpcLedgerAccountDelegatorsGetResponse,
152    );
153}