1use num_enum::TryFromPrimitive;
15use serde::{Deserialize, Serialize};
16use strum_macros::VariantArray;
17
18use crate::{
19 block_producer::{vrf_evaluator::BlockProducerVrfEvaluatorAction, BlockProducerAction},
20 block_producer_effectful::{
21 vrf_evaluator_effectful::BlockProducerVrfEvaluatorEffectfulAction,
22 BlockProducerEffectfulAction,
23 },
24 event_source::EventSourceAction,
25 external_snark_worker::ExternalSnarkWorkerAction,
26 external_snark_worker_effectful::ExternalSnarkWorkerEffectfulAction,
27 ledger::{read::LedgerReadAction, write::LedgerWriteAction, LedgerAction},
28 ledger_effectful::LedgerEffectfulAction,
29 p2p::{
30 callbacks::P2pCallbacksAction,
31 channels::{
32 best_tip::P2pChannelsBestTipAction,
33 rpc::P2pChannelsRpcAction,
34 signaling::{
35 discovery::P2pChannelsSignalingDiscoveryAction,
36 exchange::P2pChannelsSignalingExchangeAction,
37 },
38 snark::P2pChannelsSnarkAction,
39 snark_job_commitment::P2pChannelsSnarkJobCommitmentAction,
40 streaming_rpc::P2pChannelsStreamingRpcAction,
41 transaction::P2pChannelsTransactionAction,
42 P2pChannelsAction, P2pChannelsEffectfulAction, P2pChannelsMessageReceivedAction,
43 },
44 connection::{
45 incoming::P2pConnectionIncomingAction,
46 incoming_effectful::P2pConnectionIncomingEffectfulAction,
47 outgoing::P2pConnectionOutgoingAction,
48 outgoing_effectful::P2pConnectionOutgoingEffectfulAction, P2pConnectionAction,
49 P2pConnectionEffectfulAction,
50 },
51 disconnection::P2pDisconnectionAction,
52 disconnection_effectful::P2pDisconnectionEffectfulAction,
53 identify::P2pIdentifyAction,
54 network::{
55 identify::{
56 stream::P2pNetworkIdentifyStreamAction,
57 stream_effectful::P2pNetworkIdentifyStreamEffectfulAction,
58 P2pNetworkIdentifyAction, P2pNetworkIdentifyEffectfulAction,
59 },
60 kad::{
61 bootstrap::P2pNetworkKadBootstrapAction,
62 kad_effectful::P2pNetworkKadEffectfulAction, request::P2pNetworkKadRequestAction,
63 stream::P2pNetworkKademliaStreamAction, P2pNetworkKadAction,
64 P2pNetworkKademliaAction,
65 },
66 noise::P2pNetworkNoiseAction,
67 pnet::P2pNetworkPnetAction,
68 pnet_effectful::P2pNetworkPnetEffectfulAction,
69 pubsub::{pubsub_effectful::P2pNetworkPubsubEffectfulAction, P2pNetworkPubsubAction},
70 rpc::P2pNetworkRpcAction,
71 scheduler::P2pNetworkSchedulerAction,
72 scheduler_effectful::P2pNetworkSchedulerEffectfulAction,
73 select::P2pNetworkSelectAction,
74 yamux::P2pNetworkYamuxAction,
75 P2pNetworkAction, P2pNetworkEffectfulAction,
76 },
77 peer::P2pPeerAction,
78 P2pAction, P2pEffectfulAction, P2pInitializeAction,
79 },
80 rpc::RpcAction,
81 rpc_effectful::RpcEffectfulAction,
82 snark::{
83 block_verify::SnarkBlockVerifyAction,
84 block_verify_effectful::SnarkBlockVerifyEffectfulAction,
85 user_command_verify::SnarkUserCommandVerifyAction,
86 user_command_verify_effectful::SnarkUserCommandVerifyEffectfulAction,
87 work_verify::SnarkWorkVerifyAction, work_verify_effectful::SnarkWorkVerifyEffectfulAction,
88 SnarkAction,
89 },
90 snark_pool::{candidate::SnarkPoolCandidateAction, SnarkPoolAction, SnarkPoolEffectfulAction},
91 transaction_pool::{
92 candidate::TransactionPoolCandidateAction, TransactionPoolAction,
93 TransactionPoolEffectfulAction,
94 },
95 transition_frontier::{
96 candidate::TransitionFrontierCandidateAction,
97 genesis::TransitionFrontierGenesisAction,
98 genesis_effectful::TransitionFrontierGenesisEffectfulAction,
99 sync::{
100 ledger::{
101 snarked::TransitionFrontierSyncLedgerSnarkedAction,
102 staged::TransitionFrontierSyncLedgerStagedAction,
103 TransitionFrontierSyncLedgerAction,
104 },
105 TransitionFrontierSyncAction,
106 },
107 TransitionFrontierAction,
108 },
109 watched_accounts::WatchedAccountsAction,
110 Action, ActionKindGet, CheckTimeoutsAction,
111};
112
113#[derive(
115 Serialize,
116 Deserialize,
117 VariantArray,
118 TryFromPrimitive,
119 Debug,
120 Ord,
121 PartialOrd,
122 Eq,
123 PartialEq,
124 Clone,
125 Copy,
126)]
127#[repr(u16)]
128pub enum ActionKind {
129 None,
130 BlockProducerBestTipUpdate,
131 BlockProducerBlockInject,
132 BlockProducerBlockInjected,
133 BlockProducerBlockProduced,
134 BlockProducerBlockProveInit,
135 BlockProducerBlockProvePending,
136 BlockProducerBlockProveSuccess,
137 BlockProducerBlockUnprovenBuild,
138 BlockProducerStagedLedgerDiffCreateInit,
139 BlockProducerStagedLedgerDiffCreatePending,
140 BlockProducerStagedLedgerDiffCreateSuccess,
141 BlockProducerWonSlot,
142 BlockProducerWonSlotDiscard,
143 BlockProducerWonSlotProduceInit,
144 BlockProducerWonSlotSearch,
145 BlockProducerWonSlotTransactionsGet,
146 BlockProducerWonSlotTransactionsSuccess,
147 BlockProducerWonSlotWait,
148 BlockProducerEffectfulBlockProduced,
149 BlockProducerEffectfulBlockProveInit,
150 BlockProducerEffectfulBlockProveSuccess,
151 BlockProducerEffectfulBlockUnprovenBuild,
152 BlockProducerEffectfulStagedLedgerDiffCreateInit,
153 BlockProducerEffectfulStagedLedgerDiffCreateSuccess,
154 BlockProducerEffectfulWonSlot,
155 BlockProducerEffectfulWonSlotDiscard,
156 BlockProducerVrfEvaluatorBeginDelegatorTableConstruction,
157 BlockProducerVrfEvaluatorBeginEpochEvaluation,
158 BlockProducerVrfEvaluatorCheckEpochBounds,
159 BlockProducerVrfEvaluatorCheckEpochEvaluability,
160 BlockProducerVrfEvaluatorCleanupOldSlots,
161 BlockProducerVrfEvaluatorContinueEpochEvaluation,
162 BlockProducerVrfEvaluatorEvaluateSlot,
163 BlockProducerVrfEvaluatorFinalizeDelegatorTableConstruction,
164 BlockProducerVrfEvaluatorFinalizeEvaluatorInitialization,
165 BlockProducerVrfEvaluatorFinishEpochEvaluation,
166 BlockProducerVrfEvaluatorInitializeEpochEvaluation,
167 BlockProducerVrfEvaluatorInitializeEvaluator,
168 BlockProducerVrfEvaluatorInterruptEpochEvaluation,
169 BlockProducerVrfEvaluatorProcessSlotEvaluationSuccess,
170 BlockProducerVrfEvaluatorSelectInitialSlot,
171 BlockProducerVrfEvaluatorWaitForNextEvaluation,
172 BlockProducerVrfEvaluatorEffectfulEvaluateSlot,
173 BlockProducerVrfEvaluatorEffectfulInitializeStats,
174 BlockProducerVrfEvaluatorEffectfulSlotEvaluated,
175 CheckTimeouts,
176 EventSourceNewEvent,
177 EventSourceProcessEvents,
178 EventSourceWaitForEvents,
179 EventSourceWaitTimeout,
180 ExternalSnarkWorkerCancelWork,
181 ExternalSnarkWorkerError,
182 ExternalSnarkWorkerKill,
183 ExternalSnarkWorkerKilled,
184 ExternalSnarkWorkerPruneWork,
185 ExternalSnarkWorkerStart,
186 ExternalSnarkWorkerStartTimeout,
187 ExternalSnarkWorkerStarted,
188 ExternalSnarkWorkerSubmitWork,
189 ExternalSnarkWorkerWorkCancelled,
190 ExternalSnarkWorkerWorkError,
191 ExternalSnarkWorkerWorkResult,
192 ExternalSnarkWorkerWorkTimeout,
193 ExternalSnarkWorkerEffectfulCancelWork,
194 ExternalSnarkWorkerEffectfulKill,
195 ExternalSnarkWorkerEffectfulStart,
196 ExternalSnarkWorkerEffectfulSubmitWork,
197 LedgerEffectfulReadInit,
198 LedgerEffectfulWriteInit,
199 LedgerReadFindTodos,
200 LedgerReadInit,
201 LedgerReadPending,
202 LedgerReadPrune,
203 LedgerReadSuccess,
204 LedgerWriteInit,
205 LedgerWritePending,
206 LedgerWriteSuccess,
207 P2pCallbacksP2pChannelsRpcReady,
208 P2pCallbacksP2pChannelsRpcRequestReceived,
209 P2pCallbacksP2pChannelsRpcResponseReceived,
210 P2pCallbacksP2pChannelsRpcTimeout,
211 P2pCallbacksP2pChannelsStreamingRpcReady,
212 P2pCallbacksP2pChannelsStreamingRpcResponseReceived,
213 P2pCallbacksP2pChannelsStreamingRpcTimeout,
214 P2pCallbacksP2pDisconnection,
215 P2pCallbacksP2pPubsubValidateMessage,
216 P2pCallbacksRpcRespondBestTip,
217 P2pChannelsBestTipInit,
218 P2pChannelsBestTipPending,
219 P2pChannelsBestTipReady,
220 P2pChannelsBestTipReceived,
221 P2pChannelsBestTipRequestReceived,
222 P2pChannelsBestTipRequestSend,
223 P2pChannelsBestTipResponseSend,
224 P2pChannelsEffectfulInitChannel,
225 P2pChannelsEffectfulMessageSend,
226 P2pChannelsEffectfulSignalingDiscoveryAnswerDecrypt,
227 P2pChannelsEffectfulSignalingDiscoveryOfferEncryptAndSend,
228 P2pChannelsEffectfulSignalingExchangeAnswerEncryptAndSend,
229 P2pChannelsEffectfulSignalingExchangeOfferDecrypt,
230 P2pChannelsMessageReceived,
231 P2pChannelsRpcInit,
232 P2pChannelsRpcPending,
233 P2pChannelsRpcReady,
234 P2pChannelsRpcRequestReceived,
235 P2pChannelsRpcRequestSend,
236 P2pChannelsRpcResponsePending,
237 P2pChannelsRpcResponseReceived,
238 P2pChannelsRpcResponseSend,
239 P2pChannelsRpcTimeout,
240 P2pChannelsSignalingDiscoveryAnswerDecrypted,
241 P2pChannelsSignalingDiscoveryAnswerReceived,
242 P2pChannelsSignalingDiscoveryAnswerSend,
243 P2pChannelsSignalingDiscoveryDiscoveredAccept,
244 P2pChannelsSignalingDiscoveryDiscoveredAcceptReceived,
245 P2pChannelsSignalingDiscoveryDiscoveredReceived,
246 P2pChannelsSignalingDiscoveryDiscoveredReject,
247 P2pChannelsSignalingDiscoveryDiscoveredRejectReceived,
248 P2pChannelsSignalingDiscoveryDiscoveredSend,
249 P2pChannelsSignalingDiscoveryDiscoveryRequestReceived,
250 P2pChannelsSignalingDiscoveryDiscoveryRequestSend,
251 P2pChannelsSignalingDiscoveryInit,
252 P2pChannelsSignalingDiscoveryPending,
253 P2pChannelsSignalingDiscoveryReady,
254 P2pChannelsSignalingDiscoveryRequestReceived,
255 P2pChannelsSignalingDiscoveryRequestSend,
256 P2pChannelsSignalingExchangeAnswerReceived,
257 P2pChannelsSignalingExchangeAnswerSend,
258 P2pChannelsSignalingExchangeInit,
259 P2pChannelsSignalingExchangeOfferDecryptError,
260 P2pChannelsSignalingExchangeOfferDecryptSuccess,
261 P2pChannelsSignalingExchangeOfferReceived,
262 P2pChannelsSignalingExchangeOfferSend,
263 P2pChannelsSignalingExchangePending,
264 P2pChannelsSignalingExchangeReady,
265 P2pChannelsSignalingExchangeRequestReceived,
266 P2pChannelsSignalingExchangeRequestSend,
267 P2pChannelsSnarkInit,
268 P2pChannelsSnarkLibp2pBroadcast,
269 P2pChannelsSnarkLibp2pReceived,
270 P2pChannelsSnarkPending,
271 P2pChannelsSnarkPromiseReceived,
272 P2pChannelsSnarkReady,
273 P2pChannelsSnarkReceived,
274 P2pChannelsSnarkRequestReceived,
275 P2pChannelsSnarkRequestSend,
276 P2pChannelsSnarkResponseSend,
277 P2pChannelsSnarkJobCommitmentInit,
278 P2pChannelsSnarkJobCommitmentPending,
279 P2pChannelsSnarkJobCommitmentPromiseReceived,
280 P2pChannelsSnarkJobCommitmentReady,
281 P2pChannelsSnarkJobCommitmentReceived,
282 P2pChannelsSnarkJobCommitmentRequestReceived,
283 P2pChannelsSnarkJobCommitmentRequestSend,
284 P2pChannelsSnarkJobCommitmentResponseSend,
285 P2pChannelsStreamingRpcInit,
286 P2pChannelsStreamingRpcPending,
287 P2pChannelsStreamingRpcReady,
288 P2pChannelsStreamingRpcRequestReceived,
289 P2pChannelsStreamingRpcRequestSend,
290 P2pChannelsStreamingRpcResponseNextPartGet,
291 P2pChannelsStreamingRpcResponsePartNextSend,
292 P2pChannelsStreamingRpcResponsePartReceived,
293 P2pChannelsStreamingRpcResponsePartSend,
294 P2pChannelsStreamingRpcResponsePending,
295 P2pChannelsStreamingRpcResponseReceived,
296 P2pChannelsStreamingRpcResponseSendInit,
297 P2pChannelsStreamingRpcResponseSent,
298 P2pChannelsStreamingRpcTimeout,
299 P2pChannelsTransactionInit,
300 P2pChannelsTransactionLibp2pBroadcast,
301 P2pChannelsTransactionLibp2pReceived,
302 P2pChannelsTransactionPending,
303 P2pChannelsTransactionPromiseReceived,
304 P2pChannelsTransactionReady,
305 P2pChannelsTransactionReceived,
306 P2pChannelsTransactionRequestReceived,
307 P2pChannelsTransactionRequestSend,
308 P2pChannelsTransactionResponseSend,
309 P2pConnectionIncomingAnswerReady,
310 P2pConnectionIncomingAnswerSdpCreateError,
311 P2pConnectionIncomingAnswerSdpCreatePending,
312 P2pConnectionIncomingAnswerSdpCreateSuccess,
313 P2pConnectionIncomingAnswerSendSuccess,
314 P2pConnectionIncomingError,
315 P2pConnectionIncomingFinalizeError,
316 P2pConnectionIncomingFinalizePending,
317 P2pConnectionIncomingFinalizePendingLibp2p,
318 P2pConnectionIncomingFinalizeSuccess,
319 P2pConnectionIncomingInit,
320 P2pConnectionIncomingLibp2pReceived,
321 P2pConnectionIncomingSuccess,
322 P2pConnectionIncomingTimeout,
323 P2pConnectionIncomingEffectfulConnectionAuthorizationDecryptAndCheck,
324 P2pConnectionIncomingEffectfulConnectionAuthorizationEncryptAndSend,
325 P2pConnectionIncomingEffectfulInit,
326 P2pConnectionOutgoingAnswerRecvError,
327 P2pConnectionOutgoingAnswerRecvPending,
328 P2pConnectionOutgoingAnswerRecvSuccess,
329 P2pConnectionOutgoingError,
330 P2pConnectionOutgoingFinalizeError,
331 P2pConnectionOutgoingFinalizePending,
332 P2pConnectionOutgoingFinalizeSuccess,
333 P2pConnectionOutgoingInit,
334 P2pConnectionOutgoingOfferReady,
335 P2pConnectionOutgoingOfferSdpCreateError,
336 P2pConnectionOutgoingOfferSdpCreatePending,
337 P2pConnectionOutgoingOfferSdpCreateSuccess,
338 P2pConnectionOutgoingOfferSendSuccess,
339 P2pConnectionOutgoingRandomInit,
340 P2pConnectionOutgoingReconnect,
341 P2pConnectionOutgoingSuccess,
342 P2pConnectionOutgoingTimeout,
343 P2pConnectionOutgoingEffectfulAnswerSet,
344 P2pConnectionOutgoingEffectfulConnectionAuthorizationDecryptAndCheck,
345 P2pConnectionOutgoingEffectfulConnectionAuthorizationEncryptAndSend,
346 P2pConnectionOutgoingEffectfulInit,
347 P2pConnectionOutgoingEffectfulOfferSend,
348 P2pConnectionOutgoingEffectfulRandomInit,
349 P2pDisconnectionFailedCleanup,
350 P2pDisconnectionFinish,
351 P2pDisconnectionInit,
352 P2pDisconnectionPeerClosed,
353 P2pDisconnectionRandomTry,
354 P2pDisconnectionEffectfulInit,
355 P2pEffectfulInitialize,
356 P2pIdentifyNewRequest,
357 P2pIdentifyUpdatePeerInformation,
358 P2pInitializeInitialize,
359 P2pNetworkIdentifyStreamClose,
360 P2pNetworkIdentifyStreamIncomingData,
361 P2pNetworkIdentifyStreamNew,
362 P2pNetworkIdentifyStreamPrune,
363 P2pNetworkIdentifyStreamRemoteClose,
364 P2pNetworkIdentifyStreamSendIdentify,
365 P2pNetworkIdentifyStreamEffectfulGetListenAddresses,
366 P2pNetworkKadBootstrapAppendRequest,
367 P2pNetworkKadBootstrapCreateRequests,
368 P2pNetworkKadBootstrapFinalizeRequests,
369 P2pNetworkKadBootstrapRequestDone,
370 P2pNetworkKadBootstrapRequestError,
371 P2pNetworkKadEffectfulDiscovered,
372 P2pNetworkKadEffectfulMakeRequest,
373 P2pNetworkKadRequestError,
374 P2pNetworkKadRequestMuxReady,
375 P2pNetworkKadRequestNew,
376 P2pNetworkKadRequestPeerIsConnecting,
377 P2pNetworkKadRequestPrune,
378 P2pNetworkKadRequestReplyReceived,
379 P2pNetworkKadRequestRequestSent,
380 P2pNetworkKadRequestStreamIsCreating,
381 P2pNetworkKadRequestStreamReady,
382 P2pNetworkKademliaAnswerFindNodeRequest,
383 P2pNetworkKademliaBootstrapFinished,
384 P2pNetworkKademliaStartBootstrap,
385 P2pNetworkKademliaUpdateFindNodeRequest,
386 P2pNetworkKademliaUpdateRoutingTable,
387 P2pNetworkKademliaStreamClose,
388 P2pNetworkKademliaStreamIncomingData,
389 P2pNetworkKademliaStreamNew,
390 P2pNetworkKademliaStreamOutgoingDataReady,
391 P2pNetworkKademliaStreamPrune,
392 P2pNetworkKademliaStreamRemoteClose,
393 P2pNetworkKademliaStreamSendRequest,
394 P2pNetworkKademliaStreamSendResponse,
395 P2pNetworkKademliaStreamWaitIncoming,
396 P2pNetworkKademliaStreamWaitOutgoing,
397 P2pNetworkNoiseDecryptedData,
398 P2pNetworkNoiseHandshakeDone,
399 P2pNetworkNoiseIncomingChunk,
400 P2pNetworkNoiseIncomingData,
401 P2pNetworkNoiseInit,
402 P2pNetworkNoiseOutgoingChunk,
403 P2pNetworkNoiseOutgoingChunkSelectMux,
404 P2pNetworkNoiseOutgoingData,
405 P2pNetworkNoiseOutgoingDataSelectMux,
406 P2pNetworkPnetIncomingData,
407 P2pNetworkPnetOutgoingData,
408 P2pNetworkPnetSetupNonce,
409 P2pNetworkPnetTimeout,
410 P2pNetworkPnetEffectfulOutgoingData,
411 P2pNetworkPnetEffectfulSetupNonce,
412 P2pNetworkPubsubBroadcast,
413 P2pNetworkPubsubBroadcastSigned,
414 P2pNetworkPubsubBroadcastValidatedMessage,
415 P2pNetworkPubsubGraft,
416 P2pNetworkPubsubHandleIncomingMessage,
417 P2pNetworkPubsubIgnoreMessage,
418 P2pNetworkPubsubIncomingData,
419 P2pNetworkPubsubIncomingMessage,
420 P2pNetworkPubsubIncomingMessageCleanup,
421 P2pNetworkPubsubNewStream,
422 P2pNetworkPubsubOutgoingData,
423 P2pNetworkPubsubOutgoingMessage,
424 P2pNetworkPubsubOutgoingMessageClear,
425 P2pNetworkPubsubOutgoingMessageError,
426 P2pNetworkPubsubPrune,
427 P2pNetworkPubsubPruneMessages,
428 P2pNetworkPubsubRejectMessage,
429 P2pNetworkPubsubSign,
430 P2pNetworkPubsubSignError,
431 P2pNetworkPubsubValidateIncomingMessage,
432 P2pNetworkPubsubValidateIncomingMessages,
433 P2pNetworkPubsubWebRtcRebroadcast,
434 P2pNetworkPubsubEffectfulSign,
435 P2pNetworkPubsubEffectfulValidateIncomingMessages,
436 P2pNetworkRpcHeartbeatSend,
437 P2pNetworkRpcIncomingData,
438 P2pNetworkRpcIncomingMessage,
439 P2pNetworkRpcInit,
440 P2pNetworkRpcOutgoingData,
441 P2pNetworkRpcOutgoingQuery,
442 P2pNetworkRpcOutgoingResponse,
443 P2pNetworkRpcPrunePending,
444 P2pNetworkSchedulerDisconnect,
445 P2pNetworkSchedulerDisconnected,
446 P2pNetworkSchedulerError,
447 P2pNetworkSchedulerIncomingConnectionIsReady,
448 P2pNetworkSchedulerIncomingDataDidReceive,
449 P2pNetworkSchedulerIncomingDataIsReady,
450 P2pNetworkSchedulerIncomingDidAccept,
451 P2pNetworkSchedulerInterfaceDetected,
452 P2pNetworkSchedulerInterfaceExpired,
453 P2pNetworkSchedulerListenerError,
454 P2pNetworkSchedulerListenerReady,
455 P2pNetworkSchedulerOutgoingConnect,
456 P2pNetworkSchedulerOutgoingDidConnect,
457 P2pNetworkSchedulerPrune,
458 P2pNetworkSchedulerPruneStream,
459 P2pNetworkSchedulerSelectDone,
460 P2pNetworkSchedulerSelectError,
461 P2pNetworkSchedulerYamuxDidInit,
462 P2pNetworkSchedulerEffectfulDisconnect,
463 P2pNetworkSchedulerEffectfulIncomingConnectionIsReady,
464 P2pNetworkSchedulerEffectfulIncomingDataIsReady,
465 P2pNetworkSchedulerEffectfulIncomingDidAccept,
466 P2pNetworkSchedulerEffectfulInterfaceDetected,
467 P2pNetworkSchedulerEffectfulNoiseSelectDone,
468 P2pNetworkSchedulerEffectfulOutgoingConnect,
469 P2pNetworkSchedulerEffectfulOutgoingDidConnect,
470 P2pNetworkSelectIncomingData,
471 P2pNetworkSelectIncomingDataAuth,
472 P2pNetworkSelectIncomingDataMux,
473 P2pNetworkSelectIncomingPayload,
474 P2pNetworkSelectIncomingPayloadAuth,
475 P2pNetworkSelectIncomingPayloadMux,
476 P2pNetworkSelectIncomingToken,
477 P2pNetworkSelectInit,
478 P2pNetworkSelectOutgoingTokens,
479 P2pNetworkSelectTimeout,
480 P2pNetworkYamuxIncomingData,
481 P2pNetworkYamuxIncomingFrame,
482 P2pNetworkYamuxOpenStream,
483 P2pNetworkYamuxOutgoingData,
484 P2pNetworkYamuxOutgoingFrame,
485 P2pNetworkYamuxPingStream,
486 P2pPeerBestTipUpdate,
487 P2pPeerDiscovered,
488 P2pPeerReady,
489 P2pPeerRemove,
490 RpcActionStatsGet,
491 RpcBestChain,
492 RpcBlockGet,
493 RpcBlockProducerStatsGet,
494 RpcConsensusConstantsGet,
495 RpcConsensusTimeGet,
496 RpcDiscoveryBoostrapStats,
497 RpcDiscoveryRoutingTable,
498 RpcFinish,
499 RpcGenesisBlock,
500 RpcGlobalStateGet,
501 RpcHealthCheck,
502 RpcHeartbeatGet,
503 RpcLedgerAccountDelegatorsGetInit,
504 RpcLedgerAccountDelegatorsGetPending,
505 RpcLedgerAccountDelegatorsGetSuccess,
506 RpcLedgerAccountsGetInit,
507 RpcLedgerAccountsGetPending,
508 RpcLedgerAccountsGetSuccess,
509 RpcLedgerStatusGetInit,
510 RpcLedgerStatusGetPending,
511 RpcLedgerStatusGetSuccess,
512 RpcMessageProgressGet,
513 RpcP2pConnectionIncomingAnswerReady,
514 RpcP2pConnectionIncomingError,
515 RpcP2pConnectionIncomingInit,
516 RpcP2pConnectionIncomingPending,
517 RpcP2pConnectionIncomingRespond,
518 RpcP2pConnectionIncomingSuccess,
519 RpcP2pConnectionOutgoingError,
520 RpcP2pConnectionOutgoingInit,
521 RpcP2pConnectionOutgoingPending,
522 RpcP2pConnectionOutgoingSuccess,
523 RpcPeersGet,
524 RpcPooledUserCommands,
525 RpcPooledZkappCommands,
526 RpcReadinessCheck,
527 RpcScanStateSummaryGetInit,
528 RpcScanStateSummaryGetPending,
529 RpcScanStateSummaryGetSuccess,
530 RpcScanStateSummaryLedgerGetInit,
531 RpcSnarkPoolAvailableJobsGet,
532 RpcSnarkPoolCompletedJobsGet,
533 RpcSnarkPoolJobGet,
534 RpcSnarkPoolPendingJobsGet,
535 RpcSnarkerConfigGet,
536 RpcSnarkerJobCommit,
537 RpcSnarkerJobSpec,
538 RpcSnarkerWorkersGet,
539 RpcStatusGet,
540 RpcSyncStatsGet,
541 RpcTransactionInjectFailure,
542 RpcTransactionInjectInit,
543 RpcTransactionInjectPending,
544 RpcTransactionInjectRejected,
545 RpcTransactionInjectSuccess,
546 RpcTransactionPool,
547 RpcTransactionStatusGet,
548 RpcTransitionFrontierUserCommandsGet,
549 RpcEffectfulActionStatsGet,
550 RpcEffectfulBestChain,
551 RpcEffectfulBlockGet,
552 RpcEffectfulBlockProducerStatsGet,
553 RpcEffectfulConsensusConstantsGet,
554 RpcEffectfulConsensusTimeGet,
555 RpcEffectfulDiscoveryBoostrapStats,
556 RpcEffectfulDiscoveryRoutingTable,
557 RpcEffectfulGenesisBlock,
558 RpcEffectfulGlobalStateGet,
559 RpcEffectfulHealthCheck,
560 RpcEffectfulHeartbeatGet,
561 RpcEffectfulLedgerAccountDelegatorsGetSuccess,
562 RpcEffectfulLedgerAccountsGetSuccess,
563 RpcEffectfulLedgerStatusGetSuccess,
564 RpcEffectfulMessageProgressGet,
565 RpcEffectfulP2pConnectionIncomingError,
566 RpcEffectfulP2pConnectionIncomingRespond,
567 RpcEffectfulP2pConnectionIncomingSuccess,
568 RpcEffectfulP2pConnectionOutgoingError,
569 RpcEffectfulP2pConnectionOutgoingSuccess,
570 RpcEffectfulPeersGet,
571 RpcEffectfulPooledUserCommands,
572 RpcEffectfulPooledZkappCommands,
573 RpcEffectfulReadinessCheck,
574 RpcEffectfulScanStateSummaryGetSuccess,
575 RpcEffectfulSnarkPoolAvailableJobsGet,
576 RpcEffectfulSnarkPoolCompletedJobsGet,
577 RpcEffectfulSnarkPoolJobGet,
578 RpcEffectfulSnarkPoolPendingJobsGet,
579 RpcEffectfulSnarkerConfigGet,
580 RpcEffectfulSnarkerJobCommit,
581 RpcEffectfulSnarkerJobSpec,
582 RpcEffectfulSnarkerWorkersGet,
583 RpcEffectfulStatusGet,
584 RpcEffectfulSyncStatsGet,
585 RpcEffectfulTransactionInjectFailure,
586 RpcEffectfulTransactionInjectRejected,
587 RpcEffectfulTransactionInjectSuccess,
588 RpcEffectfulTransactionPool,
589 RpcEffectfulTransactionStatusGet,
590 RpcEffectfulTransitionFrontierUserCommandsGet,
591 SnarkBlockVerifyError,
592 SnarkBlockVerifyFinish,
593 SnarkBlockVerifyInit,
594 SnarkBlockVerifyPending,
595 SnarkBlockVerifySuccess,
596 SnarkBlockVerifyEffectfulInit,
597 SnarkPoolAutoCreateCommitment,
598 SnarkPoolCheckTimeouts,
599 SnarkPoolCommitmentAdd,
600 SnarkPoolCommitmentCreate,
601 SnarkPoolCommitmentCreateMany,
602 SnarkPoolJobCommitmentTimeout,
603 SnarkPoolJobsUpdate,
604 SnarkPoolP2pSend,
605 SnarkPoolP2pSendAll,
606 SnarkPoolWorkAdd,
607 SnarkPoolCandidateInfoReceived,
608 SnarkPoolCandidatePeerPrune,
609 SnarkPoolCandidateWorkFetchAll,
610 SnarkPoolCandidateWorkFetchError,
611 SnarkPoolCandidateWorkFetchInit,
612 SnarkPoolCandidateWorkFetchPending,
613 SnarkPoolCandidateWorkFetchSuccess,
614 SnarkPoolCandidateWorkVerifyError,
615 SnarkPoolCandidateWorkVerifyNext,
616 SnarkPoolCandidateWorkVerifyPending,
617 SnarkPoolCandidateWorkVerifySuccess,
618 SnarkPoolEffectfulSnarkPoolJobsRandomChoose,
619 SnarkUserCommandVerifyError,
620 SnarkUserCommandVerifyFinish,
621 SnarkUserCommandVerifyInit,
622 SnarkUserCommandVerifyPending,
623 SnarkUserCommandVerifySuccess,
624 SnarkUserCommandVerifyEffectfulInit,
625 SnarkWorkVerifyError,
626 SnarkWorkVerifyFinish,
627 SnarkWorkVerifyInit,
628 SnarkWorkVerifyPending,
629 SnarkWorkVerifySuccess,
630 SnarkWorkVerifyEffectfulInit,
631 TransactionPoolApplyTransitionFrontierDiff,
632 TransactionPoolApplyTransitionFrontierDiffWithAccounts,
633 TransactionPoolApplyVerifiedDiff,
634 TransactionPoolApplyVerifiedDiffWithAccounts,
635 TransactionPoolBestTipChanged,
636 TransactionPoolBestTipChangedWithAccounts,
637 TransactionPoolCollectTransactionsByFee,
638 TransactionPoolP2pSend,
639 TransactionPoolP2pSendAll,
640 TransactionPoolRebroadcast,
641 TransactionPoolStartVerify,
642 TransactionPoolStartVerifyWithAccounts,
643 TransactionPoolVerifyError,
644 TransactionPoolVerifySuccess,
645 TransactionPoolCandidateFetchAll,
646 TransactionPoolCandidateFetchError,
647 TransactionPoolCandidateFetchInit,
648 TransactionPoolCandidateFetchPending,
649 TransactionPoolCandidateFetchSuccess,
650 TransactionPoolCandidateInfoReceived,
651 TransactionPoolCandidateLibp2pTransactionsReceived,
652 TransactionPoolCandidatePeerPrune,
653 TransactionPoolCandidateVerifyError,
654 TransactionPoolCandidateVerifyNext,
655 TransactionPoolCandidateVerifyPending,
656 TransactionPoolCandidateVerifySuccess,
657 TransactionPoolEffectfulFetchAccounts,
658 TransitionFrontierGenesisInject,
659 TransitionFrontierGenesisProvenInject,
660 TransitionFrontierSyncFailed,
661 TransitionFrontierSynced,
662 TransitionFrontierCandidateBlockChainProofUpdate,
663 TransitionFrontierCandidateBlockPrevalidateError,
664 TransitionFrontierCandidateBlockPrevalidateSuccess,
665 TransitionFrontierCandidateBlockReceived,
666 TransitionFrontierCandidateBlockSnarkVerifyError,
667 TransitionFrontierCandidateBlockSnarkVerifyPending,
668 TransitionFrontierCandidateBlockSnarkVerifySuccess,
669 TransitionFrontierCandidateP2pBestTipUpdate,
670 TransitionFrontierCandidatePrune,
671 TransitionFrontierCandidateTransitionFrontierSyncTargetUpdate,
672 TransitionFrontierGenesisLedgerLoadInit,
673 TransitionFrontierGenesisLedgerLoadPending,
674 TransitionFrontierGenesisLedgerLoadSuccess,
675 TransitionFrontierGenesisProduce,
676 TransitionFrontierGenesisProveInit,
677 TransitionFrontierGenesisProvePending,
678 TransitionFrontierGenesisProveSuccess,
679 TransitionFrontierGenesisEffectfulLedgerLoadInit,
680 TransitionFrontierGenesisEffectfulProveInit,
681 TransitionFrontierSyncBestTipUpdate,
682 TransitionFrontierSyncBlocksFetchSuccess,
683 TransitionFrontierSyncBlocksNextApplyError,
684 TransitionFrontierSyncBlocksNextApplyInit,
685 TransitionFrontierSyncBlocksNextApplyPending,
686 TransitionFrontierSyncBlocksNextApplySuccess,
687 TransitionFrontierSyncBlocksPeerQueryError,
688 TransitionFrontierSyncBlocksPeerQueryInit,
689 TransitionFrontierSyncBlocksPeerQueryPending,
690 TransitionFrontierSyncBlocksPeerQueryRetry,
691 TransitionFrontierSyncBlocksPeerQuerySuccess,
692 TransitionFrontierSyncBlocksPeersQuery,
693 TransitionFrontierSyncBlocksPending,
694 TransitionFrontierSyncBlocksSendToArchive,
695 TransitionFrontierSyncBlocksSuccess,
696 TransitionFrontierSyncCommitInit,
697 TransitionFrontierSyncCommitPending,
698 TransitionFrontierSyncCommitSuccess,
699 TransitionFrontierSyncInit,
700 TransitionFrontierSyncLedgerNextEpochPending,
701 TransitionFrontierSyncLedgerNextEpochSuccess,
702 TransitionFrontierSyncLedgerRootPending,
703 TransitionFrontierSyncLedgerRootSuccess,
704 TransitionFrontierSyncLedgerStakingPending,
705 TransitionFrontierSyncLedgerStakingSuccess,
706 TransitionFrontierSyncLedgerInit,
707 TransitionFrontierSyncLedgerSuccess,
708 TransitionFrontierSyncLedgerSnarkedChildAccountsAccepted,
709 TransitionFrontierSyncLedgerSnarkedChildAccountsReceived,
710 TransitionFrontierSyncLedgerSnarkedChildAccountsRejected,
711 TransitionFrontierSyncLedgerSnarkedChildHashesAccepted,
712 TransitionFrontierSyncLedgerSnarkedChildHashesReceived,
713 TransitionFrontierSyncLedgerSnarkedChildHashesRejected,
714 TransitionFrontierSyncLedgerSnarkedMerkleTreeSyncPending,
715 TransitionFrontierSyncLedgerSnarkedMerkleTreeSyncSuccess,
716 TransitionFrontierSyncLedgerSnarkedNumAccountsAccepted,
717 TransitionFrontierSyncLedgerSnarkedNumAccountsReceived,
718 TransitionFrontierSyncLedgerSnarkedNumAccountsRejected,
719 TransitionFrontierSyncLedgerSnarkedNumAccountsSuccess,
720 TransitionFrontierSyncLedgerSnarkedPeerQueryAddressError,
721 TransitionFrontierSyncLedgerSnarkedPeerQueryAddressInit,
722 TransitionFrontierSyncLedgerSnarkedPeerQueryAddressPending,
723 TransitionFrontierSyncLedgerSnarkedPeerQueryAddressRetry,
724 TransitionFrontierSyncLedgerSnarkedPeerQueryAddressSuccess,
725 TransitionFrontierSyncLedgerSnarkedPeerQueryNumAccountsError,
726 TransitionFrontierSyncLedgerSnarkedPeerQueryNumAccountsInit,
727 TransitionFrontierSyncLedgerSnarkedPeerQueryNumAccountsPending,
728 TransitionFrontierSyncLedgerSnarkedPeerQueryNumAccountsRetry,
729 TransitionFrontierSyncLedgerSnarkedPeerQueryNumAccountsSuccess,
730 TransitionFrontierSyncLedgerSnarkedPeersQuery,
731 TransitionFrontierSyncLedgerSnarkedPending,
732 TransitionFrontierSyncLedgerSnarkedSuccess,
733 TransitionFrontierSyncLedgerStagedPartsFetchPending,
734 TransitionFrontierSyncLedgerStagedPartsFetchSuccess,
735 TransitionFrontierSyncLedgerStagedPartsPeerFetchError,
736 TransitionFrontierSyncLedgerStagedPartsPeerFetchInit,
737 TransitionFrontierSyncLedgerStagedPartsPeerFetchPending,
738 TransitionFrontierSyncLedgerStagedPartsPeerFetchSuccess,
739 TransitionFrontierSyncLedgerStagedPartsPeerInvalid,
740 TransitionFrontierSyncLedgerStagedPartsPeerValid,
741 TransitionFrontierSyncLedgerStagedReconstructEmpty,
742 TransitionFrontierSyncLedgerStagedReconstructError,
743 TransitionFrontierSyncLedgerStagedReconstructInit,
744 TransitionFrontierSyncLedgerStagedReconstructPending,
745 TransitionFrontierSyncLedgerStagedReconstructSuccess,
746 TransitionFrontierSyncLedgerStagedSuccess,
747 WatchedAccountsAdd,
748 WatchedAccountsBlockLedgerQueryInit,
749 WatchedAccountsBlockLedgerQueryPending,
750 WatchedAccountsBlockLedgerQuerySuccess,
751 WatchedAccountsLedgerInitialStateGetError,
752 WatchedAccountsLedgerInitialStateGetInit,
753 WatchedAccountsLedgerInitialStateGetPending,
754 WatchedAccountsLedgerInitialStateGetRetry,
755 WatchedAccountsLedgerInitialStateGetSuccess,
756 WatchedAccountsTransactionsIncludedInBlock,
757}
758
759impl ActionKind {
760 pub const COUNT: u16 = 628;
761}
762
763impl std::fmt::Display for ActionKind {
764 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
765 write!(f, "{self:?}")
766 }
767}
768
769impl ActionKindGet for Action {
770 fn kind(&self) -> ActionKind {
771 match self {
772 Self::CheckTimeouts(a) => a.kind(),
773 Self::EventSource(a) => a.kind(),
774 Self::P2p(a) => a.kind(),
775 Self::P2pEffectful(a) => a.kind(),
776 Self::P2pCallbacks(a) => a.kind(),
777 Self::Ledger(a) => a.kind(),
778 Self::LedgerEffects(a) => a.kind(),
779 Self::Snark(a) => a.kind(),
780 Self::TransitionFrontier(a) => a.kind(),
781 Self::SnarkPool(a) => a.kind(),
782 Self::SnarkPoolEffect(a) => a.kind(),
783 Self::TransactionPool(a) => a.kind(),
784 Self::TransactionPoolEffect(a) => a.kind(),
785 Self::ExternalSnarkWorker(a) => a.kind(),
786 Self::ExternalSnarkWorkerEffects(a) => a.kind(),
787 Self::BlockProducer(a) => a.kind(),
788 Self::BlockProducerEffectful(a) => a.kind(),
789 Self::Rpc(a) => a.kind(),
790 Self::RpcEffectful(a) => a.kind(),
791 Self::WatchedAccounts(a) => a.kind(),
792 }
793 }
794}
795
796impl ActionKindGet for CheckTimeoutsAction {
797 fn kind(&self) -> ActionKind {
798 ActionKind::CheckTimeouts
799 }
800}
801
802impl ActionKindGet for EventSourceAction {
803 fn kind(&self) -> ActionKind {
804 match self {
805 Self::ProcessEvents => ActionKind::EventSourceProcessEvents,
806 Self::NewEvent { .. } => ActionKind::EventSourceNewEvent,
807 Self::WaitForEvents => ActionKind::EventSourceWaitForEvents,
808 Self::WaitTimeout => ActionKind::EventSourceWaitTimeout,
809 }
810 }
811}
812
813impl ActionKindGet for P2pAction {
814 fn kind(&self) -> ActionKind {
815 match self {
816 Self::Initialization(a) => a.kind(),
817 Self::Connection(a) => a.kind(),
818 Self::Disconnection(a) => a.kind(),
819 Self::Identify(a) => a.kind(),
820 Self::Channels(a) => a.kind(),
821 Self::Peer(a) => a.kind(),
822 Self::Network(a) => a.kind(),
823 }
824 }
825}
826
827impl ActionKindGet for P2pEffectfulAction {
828 fn kind(&self) -> ActionKind {
829 match self {
830 Self::Channels(a) => a.kind(),
831 Self::Connection(a) => a.kind(),
832 Self::Disconnection(a) => a.kind(),
833 Self::Network(a) => a.kind(),
834 Self::Initialize => ActionKind::P2pEffectfulInitialize,
835 }
836 }
837}
838
839impl ActionKindGet for P2pCallbacksAction {
840 fn kind(&self) -> ActionKind {
841 match self {
842 Self::P2pChannelsRpcReady { .. } => ActionKind::P2pCallbacksP2pChannelsRpcReady,
843 Self::P2pChannelsRpcTimeout { .. } => ActionKind::P2pCallbacksP2pChannelsRpcTimeout,
844 Self::P2pChannelsRpcResponseReceived { .. } => {
845 ActionKind::P2pCallbacksP2pChannelsRpcResponseReceived
846 }
847 Self::P2pChannelsRpcRequestReceived { .. } => {
848 ActionKind::P2pCallbacksP2pChannelsRpcRequestReceived
849 }
850 Self::P2pChannelsStreamingRpcReady => {
851 ActionKind::P2pCallbacksP2pChannelsStreamingRpcReady
852 }
853 Self::P2pChannelsStreamingRpcTimeout { .. } => {
854 ActionKind::P2pCallbacksP2pChannelsStreamingRpcTimeout
855 }
856 Self::P2pChannelsStreamingRpcResponseReceived { .. } => {
857 ActionKind::P2pCallbacksP2pChannelsStreamingRpcResponseReceived
858 }
859 Self::P2pDisconnection { .. } => ActionKind::P2pCallbacksP2pDisconnection,
860 Self::RpcRespondBestTip { .. } => ActionKind::P2pCallbacksRpcRespondBestTip,
861 Self::P2pPubsubValidateMessage { .. } => {
862 ActionKind::P2pCallbacksP2pPubsubValidateMessage
863 }
864 }
865 }
866}
867
868impl ActionKindGet for LedgerAction {
869 fn kind(&self) -> ActionKind {
870 match self {
871 Self::Write(a) => a.kind(),
872 Self::Read(a) => a.kind(),
873 }
874 }
875}
876
877impl ActionKindGet for LedgerEffectfulAction {
878 fn kind(&self) -> ActionKind {
879 match self {
880 Self::WriteInit { .. } => ActionKind::LedgerEffectfulWriteInit,
881 Self::ReadInit { .. } => ActionKind::LedgerEffectfulReadInit,
882 }
883 }
884}
885
886impl ActionKindGet for SnarkAction {
887 fn kind(&self) -> ActionKind {
888 match self {
889 Self::BlockVerify(a) => a.kind(),
890 Self::BlockVerifyEffect(a) => a.kind(),
891 Self::WorkVerify(a) => a.kind(),
892 Self::WorkVerifyEffect(a) => a.kind(),
893 Self::UserCommandVerify(a) => a.kind(),
894 Self::UserCommandVerifyEffect(a) => a.kind(),
895 }
896 }
897}
898
899impl ActionKindGet for TransitionFrontierAction {
900 fn kind(&self) -> ActionKind {
901 match self {
902 Self::Genesis(a) => a.kind(),
903 Self::GenesisEffect(a) => a.kind(),
904 Self::Candidate(a) => a.kind(),
905 Self::Sync(a) => a.kind(),
906 Self::GenesisInject => ActionKind::TransitionFrontierGenesisInject,
907 Self::GenesisProvenInject => ActionKind::TransitionFrontierGenesisProvenInject,
908 Self::Synced { .. } => ActionKind::TransitionFrontierSynced,
909 Self::SyncFailed { .. } => ActionKind::TransitionFrontierSyncFailed,
910 }
911 }
912}
913
914impl ActionKindGet for SnarkPoolAction {
915 fn kind(&self) -> ActionKind {
916 match self {
917 Self::Candidate(a) => a.kind(),
918 Self::JobsUpdate { .. } => ActionKind::SnarkPoolJobsUpdate,
919 Self::AutoCreateCommitment => ActionKind::SnarkPoolAutoCreateCommitment,
920 Self::CommitmentCreateMany { .. } => ActionKind::SnarkPoolCommitmentCreateMany,
921 Self::CommitmentCreate { .. } => ActionKind::SnarkPoolCommitmentCreate,
922 Self::CommitmentAdd { .. } => ActionKind::SnarkPoolCommitmentAdd,
923 Self::WorkAdd { .. } => ActionKind::SnarkPoolWorkAdd,
924 Self::P2pSendAll => ActionKind::SnarkPoolP2pSendAll,
925 Self::P2pSend { .. } => ActionKind::SnarkPoolP2pSend,
926 Self::CheckTimeouts => ActionKind::SnarkPoolCheckTimeouts,
927 Self::JobCommitmentTimeout { .. } => ActionKind::SnarkPoolJobCommitmentTimeout,
928 }
929 }
930}
931
932impl ActionKindGet for SnarkPoolEffectfulAction {
933 fn kind(&self) -> ActionKind {
934 match self {
935 Self::SnarkPoolJobsRandomChoose { .. } => {
936 ActionKind::SnarkPoolEffectfulSnarkPoolJobsRandomChoose
937 }
938 }
939 }
940}
941
942impl ActionKindGet for TransactionPoolAction {
943 fn kind(&self) -> ActionKind {
944 match self {
945 Self::Candidate(a) => a.kind(),
946 Self::StartVerify { .. } => ActionKind::TransactionPoolStartVerify,
947 Self::StartVerifyWithAccounts { .. } => {
948 ActionKind::TransactionPoolStartVerifyWithAccounts
949 }
950 Self::VerifySuccess { .. } => ActionKind::TransactionPoolVerifySuccess,
951 Self::VerifyError { .. } => ActionKind::TransactionPoolVerifyError,
952 Self::BestTipChanged { .. } => ActionKind::TransactionPoolBestTipChanged,
953 Self::BestTipChangedWithAccounts { .. } => {
954 ActionKind::TransactionPoolBestTipChangedWithAccounts
955 }
956 Self::ApplyVerifiedDiff { .. } => ActionKind::TransactionPoolApplyVerifiedDiff,
957 Self::ApplyVerifiedDiffWithAccounts { .. } => {
958 ActionKind::TransactionPoolApplyVerifiedDiffWithAccounts
959 }
960 Self::ApplyTransitionFrontierDiff { .. } => {
961 ActionKind::TransactionPoolApplyTransitionFrontierDiff
962 }
963 Self::ApplyTransitionFrontierDiffWithAccounts { .. } => {
964 ActionKind::TransactionPoolApplyTransitionFrontierDiffWithAccounts
965 }
966 Self::Rebroadcast { .. } => ActionKind::TransactionPoolRebroadcast,
967 Self::CollectTransactionsByFee => ActionKind::TransactionPoolCollectTransactionsByFee,
968 Self::P2pSendAll => ActionKind::TransactionPoolP2pSendAll,
969 Self::P2pSend { .. } => ActionKind::TransactionPoolP2pSend,
970 }
971 }
972}
973
974impl ActionKindGet for TransactionPoolEffectfulAction {
975 fn kind(&self) -> ActionKind {
976 match self {
977 Self::FetchAccounts { .. } => ActionKind::TransactionPoolEffectfulFetchAccounts,
978 }
979 }
980}
981
982impl ActionKindGet for ExternalSnarkWorkerAction {
983 fn kind(&self) -> ActionKind {
984 match self {
985 Self::Start => ActionKind::ExternalSnarkWorkerStart,
986 Self::Started => ActionKind::ExternalSnarkWorkerStarted,
987 Self::StartTimeout { .. } => ActionKind::ExternalSnarkWorkerStartTimeout,
988 Self::Kill => ActionKind::ExternalSnarkWorkerKill,
989 Self::Killed => ActionKind::ExternalSnarkWorkerKilled,
990 Self::SubmitWork { .. } => ActionKind::ExternalSnarkWorkerSubmitWork,
991 Self::WorkResult { .. } => ActionKind::ExternalSnarkWorkerWorkResult,
992 Self::WorkError { .. } => ActionKind::ExternalSnarkWorkerWorkError,
993 Self::WorkTimeout { .. } => ActionKind::ExternalSnarkWorkerWorkTimeout,
994 Self::CancelWork => ActionKind::ExternalSnarkWorkerCancelWork,
995 Self::WorkCancelled => ActionKind::ExternalSnarkWorkerWorkCancelled,
996 Self::PruneWork => ActionKind::ExternalSnarkWorkerPruneWork,
997 Self::Error { .. } => ActionKind::ExternalSnarkWorkerError,
998 }
999 }
1000}
1001
1002impl ActionKindGet for ExternalSnarkWorkerEffectfulAction {
1003 fn kind(&self) -> ActionKind {
1004 match self {
1005 Self::Start { .. } => ActionKind::ExternalSnarkWorkerEffectfulStart,
1006 Self::Kill => ActionKind::ExternalSnarkWorkerEffectfulKill,
1007 Self::SubmitWork { .. } => ActionKind::ExternalSnarkWorkerEffectfulSubmitWork,
1008 Self::CancelWork => ActionKind::ExternalSnarkWorkerEffectfulCancelWork,
1009 }
1010 }
1011}
1012
1013impl ActionKindGet for BlockProducerAction {
1014 fn kind(&self) -> ActionKind {
1015 match self {
1016 Self::VrfEvaluator(a) => a.kind(),
1017 Self::BestTipUpdate { .. } => ActionKind::BlockProducerBestTipUpdate,
1018 Self::WonSlotSearch => ActionKind::BlockProducerWonSlotSearch,
1019 Self::WonSlot { .. } => ActionKind::BlockProducerWonSlot,
1020 Self::WonSlotDiscard { .. } => ActionKind::BlockProducerWonSlotDiscard,
1021 Self::WonSlotWait => ActionKind::BlockProducerWonSlotWait,
1022 Self::WonSlotTransactionsGet => ActionKind::BlockProducerWonSlotTransactionsGet,
1023 Self::WonSlotTransactionsSuccess { .. } => {
1024 ActionKind::BlockProducerWonSlotTransactionsSuccess
1025 }
1026 Self::WonSlotProduceInit => ActionKind::BlockProducerWonSlotProduceInit,
1027 Self::StagedLedgerDiffCreateInit => ActionKind::BlockProducerStagedLedgerDiffCreateInit,
1028 Self::StagedLedgerDiffCreatePending => {
1029 ActionKind::BlockProducerStagedLedgerDiffCreatePending
1030 }
1031 Self::StagedLedgerDiffCreateSuccess { .. } => {
1032 ActionKind::BlockProducerStagedLedgerDiffCreateSuccess
1033 }
1034 Self::BlockUnprovenBuild => ActionKind::BlockProducerBlockUnprovenBuild,
1035 Self::BlockProveInit => ActionKind::BlockProducerBlockProveInit,
1036 Self::BlockProvePending => ActionKind::BlockProducerBlockProvePending,
1037 Self::BlockProveSuccess { .. } => ActionKind::BlockProducerBlockProveSuccess,
1038 Self::BlockProduced => ActionKind::BlockProducerBlockProduced,
1039 Self::BlockInject => ActionKind::BlockProducerBlockInject,
1040 Self::BlockInjected => ActionKind::BlockProducerBlockInjected,
1041 }
1042 }
1043}
1044
1045impl ActionKindGet for BlockProducerEffectfulAction {
1046 fn kind(&self) -> ActionKind {
1047 match self {
1048 Self::VrfEvaluator(a) => a.kind(),
1049 Self::WonSlot { .. } => ActionKind::BlockProducerEffectfulWonSlot,
1050 Self::WonSlotDiscard { .. } => ActionKind::BlockProducerEffectfulWonSlotDiscard,
1051 Self::StagedLedgerDiffCreateInit => {
1052 ActionKind::BlockProducerEffectfulStagedLedgerDiffCreateInit
1053 }
1054 Self::StagedLedgerDiffCreateSuccess => {
1055 ActionKind::BlockProducerEffectfulStagedLedgerDiffCreateSuccess
1056 }
1057 Self::BlockUnprovenBuild => ActionKind::BlockProducerEffectfulBlockUnprovenBuild,
1058 Self::BlockProveInit => ActionKind::BlockProducerEffectfulBlockProveInit,
1059 Self::BlockProveSuccess => ActionKind::BlockProducerEffectfulBlockProveSuccess,
1060 Self::BlockProduced { .. } => ActionKind::BlockProducerEffectfulBlockProduced,
1061 }
1062 }
1063}
1064
1065impl ActionKindGet for RpcAction {
1066 fn kind(&self) -> ActionKind {
1067 match self {
1068 Self::GlobalStateGet { .. } => ActionKind::RpcGlobalStateGet,
1069 Self::StatusGet { .. } => ActionKind::RpcStatusGet,
1070 Self::HeartbeatGet { .. } => ActionKind::RpcHeartbeatGet,
1071 Self::ActionStatsGet { .. } => ActionKind::RpcActionStatsGet,
1072 Self::SyncStatsGet { .. } => ActionKind::RpcSyncStatsGet,
1073 Self::BlockProducerStatsGet { .. } => ActionKind::RpcBlockProducerStatsGet,
1074 Self::MessageProgressGet { .. } => ActionKind::RpcMessageProgressGet,
1075 Self::PeersGet { .. } => ActionKind::RpcPeersGet,
1076 Self::P2pConnectionOutgoingInit { .. } => ActionKind::RpcP2pConnectionOutgoingInit,
1077 Self::P2pConnectionOutgoingPending { .. } => {
1078 ActionKind::RpcP2pConnectionOutgoingPending
1079 }
1080 Self::P2pConnectionOutgoingError { .. } => ActionKind::RpcP2pConnectionOutgoingError,
1081 Self::P2pConnectionOutgoingSuccess { .. } => {
1082 ActionKind::RpcP2pConnectionOutgoingSuccess
1083 }
1084 Self::P2pConnectionIncomingInit { .. } => ActionKind::RpcP2pConnectionIncomingInit,
1085 Self::P2pConnectionIncomingPending { .. } => {
1086 ActionKind::RpcP2pConnectionIncomingPending
1087 }
1088 Self::P2pConnectionIncomingRespond { .. } => {
1089 ActionKind::RpcP2pConnectionIncomingRespond
1090 }
1091 Self::P2pConnectionIncomingAnswerReady { .. } => {
1092 ActionKind::RpcP2pConnectionIncomingAnswerReady
1093 }
1094 Self::P2pConnectionIncomingError { .. } => ActionKind::RpcP2pConnectionIncomingError,
1095 Self::P2pConnectionIncomingSuccess { .. } => {
1096 ActionKind::RpcP2pConnectionIncomingSuccess
1097 }
1098 Self::ScanStateSummaryGetInit { .. } => ActionKind::RpcScanStateSummaryGetInit,
1099 Self::ScanStateSummaryLedgerGetInit { .. } => {
1100 ActionKind::RpcScanStateSummaryLedgerGetInit
1101 }
1102 Self::ScanStateSummaryGetPending { .. } => ActionKind::RpcScanStateSummaryGetPending,
1103 Self::ScanStateSummaryGetSuccess { .. } => ActionKind::RpcScanStateSummaryGetSuccess,
1104 Self::SnarkPoolAvailableJobsGet { .. } => ActionKind::RpcSnarkPoolAvailableJobsGet,
1105 Self::SnarkPoolJobGet { .. } => ActionKind::RpcSnarkPoolJobGet,
1106 Self::SnarkPoolCompletedJobsGet { .. } => ActionKind::RpcSnarkPoolCompletedJobsGet,
1107 Self::SnarkPoolPendingJobsGet { .. } => ActionKind::RpcSnarkPoolPendingJobsGet,
1108 Self::SnarkerConfigGet { .. } => ActionKind::RpcSnarkerConfigGet,
1109 Self::SnarkerJobCommit { .. } => ActionKind::RpcSnarkerJobCommit,
1110 Self::SnarkerJobSpec { .. } => ActionKind::RpcSnarkerJobSpec,
1111 Self::SnarkerWorkersGet { .. } => ActionKind::RpcSnarkerWorkersGet,
1112 Self::HealthCheck { .. } => ActionKind::RpcHealthCheck,
1113 Self::ReadinessCheck { .. } => ActionKind::RpcReadinessCheck,
1114 Self::DiscoveryRoutingTable { .. } => ActionKind::RpcDiscoveryRoutingTable,
1115 Self::DiscoveryBoostrapStats { .. } => ActionKind::RpcDiscoveryBoostrapStats,
1116 Self::TransactionPool { .. } => ActionKind::RpcTransactionPool,
1117 Self::LedgerAccountsGetInit { .. } => ActionKind::RpcLedgerAccountsGetInit,
1118 Self::LedgerAccountsGetPending { .. } => ActionKind::RpcLedgerAccountsGetPending,
1119 Self::LedgerAccountsGetSuccess { .. } => ActionKind::RpcLedgerAccountsGetSuccess,
1120 Self::TransactionInjectInit { .. } => ActionKind::RpcTransactionInjectInit,
1121 Self::TransactionInjectPending { .. } => ActionKind::RpcTransactionInjectPending,
1122 Self::TransactionInjectSuccess { .. } => ActionKind::RpcTransactionInjectSuccess,
1123 Self::TransactionInjectRejected { .. } => ActionKind::RpcTransactionInjectRejected,
1124 Self::TransactionInjectFailure { .. } => ActionKind::RpcTransactionInjectFailure,
1125 Self::TransitionFrontierUserCommandsGet { .. } => {
1126 ActionKind::RpcTransitionFrontierUserCommandsGet
1127 }
1128 Self::BestChain { .. } => ActionKind::RpcBestChain,
1129 Self::ConsensusConstantsGet { .. } => ActionKind::RpcConsensusConstantsGet,
1130 Self::TransactionStatusGet { .. } => ActionKind::RpcTransactionStatusGet,
1131 Self::BlockGet { .. } => ActionKind::RpcBlockGet,
1132 Self::ConsensusTimeGet { .. } => ActionKind::RpcConsensusTimeGet,
1133 Self::LedgerStatusGetInit { .. } => ActionKind::RpcLedgerStatusGetInit,
1134 Self::LedgerStatusGetPending { .. } => ActionKind::RpcLedgerStatusGetPending,
1135 Self::LedgerStatusGetSuccess { .. } => ActionKind::RpcLedgerStatusGetSuccess,
1136 Self::LedgerAccountDelegatorsGetInit { .. } => {
1137 ActionKind::RpcLedgerAccountDelegatorsGetInit
1138 }
1139 Self::LedgerAccountDelegatorsGetPending { .. } => {
1140 ActionKind::RpcLedgerAccountDelegatorsGetPending
1141 }
1142 Self::LedgerAccountDelegatorsGetSuccess { .. } => {
1143 ActionKind::RpcLedgerAccountDelegatorsGetSuccess
1144 }
1145 Self::PooledUserCommands { .. } => ActionKind::RpcPooledUserCommands,
1146 Self::PooledZkappCommands { .. } => ActionKind::RpcPooledZkappCommands,
1147 Self::GenesisBlock { .. } => ActionKind::RpcGenesisBlock,
1148 Self::Finish { .. } => ActionKind::RpcFinish,
1149 }
1150 }
1151}
1152
1153impl ActionKindGet for RpcEffectfulAction {
1154 fn kind(&self) -> ActionKind {
1155 match self {
1156 Self::GlobalStateGet { .. } => ActionKind::RpcEffectfulGlobalStateGet,
1157 Self::StatusGet { .. } => ActionKind::RpcEffectfulStatusGet,
1158 Self::HeartbeatGet { .. } => ActionKind::RpcEffectfulHeartbeatGet,
1159 Self::ActionStatsGet { .. } => ActionKind::RpcEffectfulActionStatsGet,
1160 Self::SyncStatsGet { .. } => ActionKind::RpcEffectfulSyncStatsGet,
1161 Self::BlockProducerStatsGet { .. } => ActionKind::RpcEffectfulBlockProducerStatsGet,
1162 Self::MessageProgressGet { .. } => ActionKind::RpcEffectfulMessageProgressGet,
1163 Self::PeersGet { .. } => ActionKind::RpcEffectfulPeersGet,
1164 Self::P2pConnectionOutgoingError { .. } => {
1165 ActionKind::RpcEffectfulP2pConnectionOutgoingError
1166 }
1167 Self::P2pConnectionOutgoingSuccess { .. } => {
1168 ActionKind::RpcEffectfulP2pConnectionOutgoingSuccess
1169 }
1170 Self::P2pConnectionIncomingRespond { .. } => {
1171 ActionKind::RpcEffectfulP2pConnectionIncomingRespond
1172 }
1173 Self::P2pConnectionIncomingError { .. } => {
1174 ActionKind::RpcEffectfulP2pConnectionIncomingError
1175 }
1176 Self::P2pConnectionIncomingSuccess { .. } => {
1177 ActionKind::RpcEffectfulP2pConnectionIncomingSuccess
1178 }
1179 Self::ScanStateSummaryGetSuccess { .. } => {
1180 ActionKind::RpcEffectfulScanStateSummaryGetSuccess
1181 }
1182 Self::SnarkPoolAvailableJobsGet { .. } => {
1183 ActionKind::RpcEffectfulSnarkPoolAvailableJobsGet
1184 }
1185 Self::SnarkPoolJobGet { .. } => ActionKind::RpcEffectfulSnarkPoolJobGet,
1186 Self::SnarkPoolCompletedJobsGet { .. } => {
1187 ActionKind::RpcEffectfulSnarkPoolCompletedJobsGet
1188 }
1189 Self::SnarkPoolPendingJobsGet { .. } => ActionKind::RpcEffectfulSnarkPoolPendingJobsGet,
1190 Self::SnarkerConfigGet { .. } => ActionKind::RpcEffectfulSnarkerConfigGet,
1191 Self::SnarkerJobCommit { .. } => ActionKind::RpcEffectfulSnarkerJobCommit,
1192 Self::SnarkerJobSpec { .. } => ActionKind::RpcEffectfulSnarkerJobSpec,
1193 Self::SnarkerWorkersGet { .. } => ActionKind::RpcEffectfulSnarkerWorkersGet,
1194 Self::HealthCheck { .. } => ActionKind::RpcEffectfulHealthCheck,
1195 Self::ReadinessCheck { .. } => ActionKind::RpcEffectfulReadinessCheck,
1196 Self::DiscoveryRoutingTable { .. } => ActionKind::RpcEffectfulDiscoveryRoutingTable,
1197 Self::DiscoveryBoostrapStats { .. } => ActionKind::RpcEffectfulDiscoveryBoostrapStats,
1198 Self::TransactionPool { .. } => ActionKind::RpcEffectfulTransactionPool,
1199 Self::LedgerAccountsGetSuccess { .. } => {
1200 ActionKind::RpcEffectfulLedgerAccountsGetSuccess
1201 }
1202 Self::TransactionInjectSuccess { .. } => {
1203 ActionKind::RpcEffectfulTransactionInjectSuccess
1204 }
1205 Self::TransactionInjectRejected { .. } => {
1206 ActionKind::RpcEffectfulTransactionInjectRejected
1207 }
1208 Self::TransactionInjectFailure { .. } => {
1209 ActionKind::RpcEffectfulTransactionInjectFailure
1210 }
1211 Self::TransitionFrontierUserCommandsGet { .. } => {
1212 ActionKind::RpcEffectfulTransitionFrontierUserCommandsGet
1213 }
1214 Self::BestChain { .. } => ActionKind::RpcEffectfulBestChain,
1215 Self::ConsensusConstantsGet { .. } => ActionKind::RpcEffectfulConsensusConstantsGet,
1216 Self::TransactionStatusGet { .. } => ActionKind::RpcEffectfulTransactionStatusGet,
1217 Self::BlockGet { .. } => ActionKind::RpcEffectfulBlockGet,
1218 Self::PooledUserCommands { .. } => ActionKind::RpcEffectfulPooledUserCommands,
1219 Self::PooledZkappCommands { .. } => ActionKind::RpcEffectfulPooledZkappCommands,
1220 Self::GenesisBlock { .. } => ActionKind::RpcEffectfulGenesisBlock,
1221 Self::ConsensusTimeGet { .. } => ActionKind::RpcEffectfulConsensusTimeGet,
1222 Self::LedgerStatusGetSuccess { .. } => ActionKind::RpcEffectfulLedgerStatusGetSuccess,
1223 Self::LedgerAccountDelegatorsGetSuccess { .. } => {
1224 ActionKind::RpcEffectfulLedgerAccountDelegatorsGetSuccess
1225 }
1226 }
1227 }
1228}
1229
1230impl ActionKindGet for WatchedAccountsAction {
1231 fn kind(&self) -> ActionKind {
1232 match self {
1233 Self::Add { .. } => ActionKind::WatchedAccountsAdd,
1234 Self::LedgerInitialStateGetInit { .. } => {
1235 ActionKind::WatchedAccountsLedgerInitialStateGetInit
1236 }
1237 Self::LedgerInitialStateGetPending { .. } => {
1238 ActionKind::WatchedAccountsLedgerInitialStateGetPending
1239 }
1240 Self::LedgerInitialStateGetError { .. } => {
1241 ActionKind::WatchedAccountsLedgerInitialStateGetError
1242 }
1243 Self::LedgerInitialStateGetRetry { .. } => {
1244 ActionKind::WatchedAccountsLedgerInitialStateGetRetry
1245 }
1246 Self::LedgerInitialStateGetSuccess { .. } => {
1247 ActionKind::WatchedAccountsLedgerInitialStateGetSuccess
1248 }
1249 Self::TransactionsIncludedInBlock { .. } => {
1250 ActionKind::WatchedAccountsTransactionsIncludedInBlock
1251 }
1252 Self::BlockLedgerQueryInit { .. } => ActionKind::WatchedAccountsBlockLedgerQueryInit,
1253 Self::BlockLedgerQueryPending { .. } => {
1254 ActionKind::WatchedAccountsBlockLedgerQueryPending
1255 }
1256 Self::BlockLedgerQuerySuccess { .. } => {
1257 ActionKind::WatchedAccountsBlockLedgerQuerySuccess
1258 }
1259 }
1260 }
1261}
1262
1263impl ActionKindGet for P2pInitializeAction {
1264 fn kind(&self) -> ActionKind {
1265 match self {
1266 Self::Initialize { .. } => ActionKind::P2pInitializeInitialize,
1267 }
1268 }
1269}
1270
1271impl ActionKindGet for P2pConnectionAction {
1272 fn kind(&self) -> ActionKind {
1273 match self {
1274 Self::Outgoing(a) => a.kind(),
1275 Self::Incoming(a) => a.kind(),
1276 }
1277 }
1278}
1279
1280impl ActionKindGet for P2pDisconnectionAction {
1281 fn kind(&self) -> ActionKind {
1282 match self {
1283 Self::RandomTry => ActionKind::P2pDisconnectionRandomTry,
1284 Self::Init { .. } => ActionKind::P2pDisconnectionInit,
1285 Self::PeerClosed { .. } => ActionKind::P2pDisconnectionPeerClosed,
1286 Self::FailedCleanup { .. } => ActionKind::P2pDisconnectionFailedCleanup,
1287 Self::Finish { .. } => ActionKind::P2pDisconnectionFinish,
1288 }
1289 }
1290}
1291
1292impl ActionKindGet for P2pIdentifyAction {
1293 fn kind(&self) -> ActionKind {
1294 match self {
1295 Self::NewRequest { .. } => ActionKind::P2pIdentifyNewRequest,
1296 Self::UpdatePeerInformation { .. } => ActionKind::P2pIdentifyUpdatePeerInformation,
1297 }
1298 }
1299}
1300
1301impl ActionKindGet for P2pChannelsAction {
1302 fn kind(&self) -> ActionKind {
1303 match self {
1304 Self::MessageReceived(a) => a.kind(),
1305 Self::SignalingDiscovery(a) => a.kind(),
1306 Self::SignalingExchange(a) => a.kind(),
1307 Self::BestTip(a) => a.kind(),
1308 Self::Transaction(a) => a.kind(),
1309 Self::Snark(a) => a.kind(),
1310 Self::SnarkJobCommitment(a) => a.kind(),
1311 Self::Rpc(a) => a.kind(),
1312 Self::StreamingRpc(a) => a.kind(),
1313 }
1314 }
1315}
1316
1317impl ActionKindGet for P2pPeerAction {
1318 fn kind(&self) -> ActionKind {
1319 match self {
1320 Self::Discovered { .. } => ActionKind::P2pPeerDiscovered,
1321 Self::Ready { .. } => ActionKind::P2pPeerReady,
1322 Self::BestTipUpdate { .. } => ActionKind::P2pPeerBestTipUpdate,
1323 Self::Remove { .. } => ActionKind::P2pPeerRemove,
1324 }
1325 }
1326}
1327
1328impl ActionKindGet for P2pNetworkAction {
1329 fn kind(&self) -> ActionKind {
1330 match self {
1331 Self::Scheduler(a) => a.kind(),
1332 Self::Pnet(a) => a.kind(),
1333 Self::Select(a) => a.kind(),
1334 Self::Noise(a) => a.kind(),
1335 Self::Yamux(a) => a.kind(),
1336 Self::Identify(a) => a.kind(),
1337 Self::Kad(a) => a.kind(),
1338 Self::Pubsub(a) => a.kind(),
1339 Self::Rpc(a) => a.kind(),
1340 }
1341 }
1342}
1343
1344impl ActionKindGet for P2pChannelsEffectfulAction {
1345 fn kind(&self) -> ActionKind {
1346 match self {
1347 Self::InitChannel { .. } => ActionKind::P2pChannelsEffectfulInitChannel,
1348 Self::MessageSend { .. } => ActionKind::P2pChannelsEffectfulMessageSend,
1349 Self::SignalingDiscoveryAnswerDecrypt { .. } => {
1350 ActionKind::P2pChannelsEffectfulSignalingDiscoveryAnswerDecrypt
1351 }
1352 Self::SignalingDiscoveryOfferEncryptAndSend { .. } => {
1353 ActionKind::P2pChannelsEffectfulSignalingDiscoveryOfferEncryptAndSend
1354 }
1355 Self::SignalingExchangeOfferDecrypt { .. } => {
1356 ActionKind::P2pChannelsEffectfulSignalingExchangeOfferDecrypt
1357 }
1358 Self::SignalingExchangeAnswerEncryptAndSend { .. } => {
1359 ActionKind::P2pChannelsEffectfulSignalingExchangeAnswerEncryptAndSend
1360 }
1361 }
1362 }
1363}
1364
1365impl ActionKindGet for P2pConnectionEffectfulAction {
1366 fn kind(&self) -> ActionKind {
1367 match self {
1368 Self::Outgoing(a) => a.kind(),
1369 Self::Incoming(a) => a.kind(),
1370 }
1371 }
1372}
1373
1374impl ActionKindGet for P2pDisconnectionEffectfulAction {
1375 fn kind(&self) -> ActionKind {
1376 match self {
1377 Self::Init { .. } => ActionKind::P2pDisconnectionEffectfulInit,
1378 }
1379 }
1380}
1381
1382impl ActionKindGet for P2pNetworkEffectfulAction {
1383 fn kind(&self) -> ActionKind {
1384 match self {
1385 Self::Scheduler(a) => a.kind(),
1386 Self::Pnet(a) => a.kind(),
1387 Self::Pubsub(a) => a.kind(),
1388 Self::Identify(a) => a.kind(),
1389 Self::Kad(a) => a.kind(),
1390 }
1391 }
1392}
1393
1394impl ActionKindGet for LedgerWriteAction {
1395 fn kind(&self) -> ActionKind {
1396 match self {
1397 Self::Init { .. } => ActionKind::LedgerWriteInit,
1398 Self::Pending => ActionKind::LedgerWritePending,
1399 Self::Success { .. } => ActionKind::LedgerWriteSuccess,
1400 }
1401 }
1402}
1403
1404impl ActionKindGet for LedgerReadAction {
1405 fn kind(&self) -> ActionKind {
1406 match self {
1407 Self::FindTodos => ActionKind::LedgerReadFindTodos,
1408 Self::Init { .. } => ActionKind::LedgerReadInit,
1409 Self::Pending { .. } => ActionKind::LedgerReadPending,
1410 Self::Success { .. } => ActionKind::LedgerReadSuccess,
1411 Self::Prune { .. } => ActionKind::LedgerReadPrune,
1412 }
1413 }
1414}
1415
1416impl ActionKindGet for SnarkBlockVerifyAction {
1417 fn kind(&self) -> ActionKind {
1418 match self {
1419 Self::Init { .. } => ActionKind::SnarkBlockVerifyInit,
1420 Self::Pending { .. } => ActionKind::SnarkBlockVerifyPending,
1421 Self::Error { .. } => ActionKind::SnarkBlockVerifyError,
1422 Self::Success { .. } => ActionKind::SnarkBlockVerifySuccess,
1423 Self::Finish { .. } => ActionKind::SnarkBlockVerifyFinish,
1424 }
1425 }
1426}
1427
1428impl ActionKindGet for SnarkBlockVerifyEffectfulAction {
1429 fn kind(&self) -> ActionKind {
1430 match self {
1431 Self::Init { .. } => ActionKind::SnarkBlockVerifyEffectfulInit,
1432 }
1433 }
1434}
1435
1436impl ActionKindGet for SnarkWorkVerifyAction {
1437 fn kind(&self) -> ActionKind {
1438 match self {
1439 Self::Init { .. } => ActionKind::SnarkWorkVerifyInit,
1440 Self::Pending { .. } => ActionKind::SnarkWorkVerifyPending,
1441 Self::Error { .. } => ActionKind::SnarkWorkVerifyError,
1442 Self::Success { .. } => ActionKind::SnarkWorkVerifySuccess,
1443 Self::Finish { .. } => ActionKind::SnarkWorkVerifyFinish,
1444 }
1445 }
1446}
1447
1448impl ActionKindGet for SnarkWorkVerifyEffectfulAction {
1449 fn kind(&self) -> ActionKind {
1450 match self {
1451 Self::Init { .. } => ActionKind::SnarkWorkVerifyEffectfulInit,
1452 }
1453 }
1454}
1455
1456impl ActionKindGet for SnarkUserCommandVerifyAction {
1457 fn kind(&self) -> ActionKind {
1458 match self {
1459 Self::Init { .. } => ActionKind::SnarkUserCommandVerifyInit,
1460 Self::Pending { .. } => ActionKind::SnarkUserCommandVerifyPending,
1461 Self::Error { .. } => ActionKind::SnarkUserCommandVerifyError,
1462 Self::Success { .. } => ActionKind::SnarkUserCommandVerifySuccess,
1463 Self::Finish { .. } => ActionKind::SnarkUserCommandVerifyFinish,
1464 }
1465 }
1466}
1467
1468impl ActionKindGet for SnarkUserCommandVerifyEffectfulAction {
1469 fn kind(&self) -> ActionKind {
1470 match self {
1471 Self::Init { .. } => ActionKind::SnarkUserCommandVerifyEffectfulInit,
1472 }
1473 }
1474}
1475
1476impl ActionKindGet for TransitionFrontierGenesisAction {
1477 fn kind(&self) -> ActionKind {
1478 match self {
1479 Self::LedgerLoadInit => ActionKind::TransitionFrontierGenesisLedgerLoadInit,
1480 Self::LedgerLoadPending => ActionKind::TransitionFrontierGenesisLedgerLoadPending,
1481 Self::LedgerLoadSuccess { .. } => {
1482 ActionKind::TransitionFrontierGenesisLedgerLoadSuccess
1483 }
1484 Self::Produce => ActionKind::TransitionFrontierGenesisProduce,
1485 Self::ProveInit => ActionKind::TransitionFrontierGenesisProveInit,
1486 Self::ProvePending => ActionKind::TransitionFrontierGenesisProvePending,
1487 Self::ProveSuccess { .. } => ActionKind::TransitionFrontierGenesisProveSuccess,
1488 }
1489 }
1490}
1491
1492impl ActionKindGet for TransitionFrontierGenesisEffectfulAction {
1493 fn kind(&self) -> ActionKind {
1494 match self {
1495 Self::LedgerLoadInit { .. } => {
1496 ActionKind::TransitionFrontierGenesisEffectfulLedgerLoadInit
1497 }
1498 Self::ProveInit { .. } => ActionKind::TransitionFrontierGenesisEffectfulProveInit,
1499 }
1500 }
1501}
1502
1503impl ActionKindGet for TransitionFrontierCandidateAction {
1504 fn kind(&self) -> ActionKind {
1505 match self {
1506 Self::P2pBestTipUpdate { .. } => {
1507 ActionKind::TransitionFrontierCandidateP2pBestTipUpdate
1508 }
1509 Self::BlockReceived { .. } => ActionKind::TransitionFrontierCandidateBlockReceived,
1510 Self::BlockPrevalidateSuccess { .. } => {
1511 ActionKind::TransitionFrontierCandidateBlockPrevalidateSuccess
1512 }
1513 Self::BlockPrevalidateError { .. } => {
1514 ActionKind::TransitionFrontierCandidateBlockPrevalidateError
1515 }
1516 Self::BlockChainProofUpdate { .. } => {
1517 ActionKind::TransitionFrontierCandidateBlockChainProofUpdate
1518 }
1519 Self::BlockSnarkVerifyPending { .. } => {
1520 ActionKind::TransitionFrontierCandidateBlockSnarkVerifyPending
1521 }
1522 Self::BlockSnarkVerifySuccess { .. } => {
1523 ActionKind::TransitionFrontierCandidateBlockSnarkVerifySuccess
1524 }
1525 Self::BlockSnarkVerifyError { .. } => {
1526 ActionKind::TransitionFrontierCandidateBlockSnarkVerifyError
1527 }
1528 Self::TransitionFrontierSyncTargetUpdate => {
1529 ActionKind::TransitionFrontierCandidateTransitionFrontierSyncTargetUpdate
1530 }
1531 Self::Prune => ActionKind::TransitionFrontierCandidatePrune,
1532 }
1533 }
1534}
1535
1536impl ActionKindGet for TransitionFrontierSyncAction {
1537 fn kind(&self) -> ActionKind {
1538 match self {
1539 Self::Ledger(a) => a.kind(),
1540 Self::Init { .. } => ActionKind::TransitionFrontierSyncInit,
1541 Self::BestTipUpdate { .. } => ActionKind::TransitionFrontierSyncBestTipUpdate,
1542 Self::LedgerStakingPending => ActionKind::TransitionFrontierSyncLedgerStakingPending,
1543 Self::LedgerStakingSuccess => ActionKind::TransitionFrontierSyncLedgerStakingSuccess,
1544 Self::LedgerNextEpochPending => {
1545 ActionKind::TransitionFrontierSyncLedgerNextEpochPending
1546 }
1547 Self::LedgerNextEpochSuccess => {
1548 ActionKind::TransitionFrontierSyncLedgerNextEpochSuccess
1549 }
1550 Self::LedgerRootPending => ActionKind::TransitionFrontierSyncLedgerRootPending,
1551 Self::LedgerRootSuccess => ActionKind::TransitionFrontierSyncLedgerRootSuccess,
1552 Self::BlocksPending => ActionKind::TransitionFrontierSyncBlocksPending,
1553 Self::BlocksPeersQuery => ActionKind::TransitionFrontierSyncBlocksPeersQuery,
1554 Self::BlocksPeerQueryInit { .. } => {
1555 ActionKind::TransitionFrontierSyncBlocksPeerQueryInit
1556 }
1557 Self::BlocksPeerQueryRetry { .. } => {
1558 ActionKind::TransitionFrontierSyncBlocksPeerQueryRetry
1559 }
1560 Self::BlocksPeerQueryPending { .. } => {
1561 ActionKind::TransitionFrontierSyncBlocksPeerQueryPending
1562 }
1563 Self::BlocksPeerQueryError { .. } => {
1564 ActionKind::TransitionFrontierSyncBlocksPeerQueryError
1565 }
1566 Self::BlocksPeerQuerySuccess { .. } => {
1567 ActionKind::TransitionFrontierSyncBlocksPeerQuerySuccess
1568 }
1569 Self::BlocksFetchSuccess { .. } => ActionKind::TransitionFrontierSyncBlocksFetchSuccess,
1570 Self::BlocksNextApplyInit => ActionKind::TransitionFrontierSyncBlocksNextApplyInit,
1571 Self::BlocksNextApplyPending { .. } => {
1572 ActionKind::TransitionFrontierSyncBlocksNextApplyPending
1573 }
1574 Self::BlocksNextApplyError { .. } => {
1575 ActionKind::TransitionFrontierSyncBlocksNextApplyError
1576 }
1577 Self::BlocksNextApplySuccess { .. } => {
1578 ActionKind::TransitionFrontierSyncBlocksNextApplySuccess
1579 }
1580 Self::BlocksSendToArchive { .. } => {
1581 ActionKind::TransitionFrontierSyncBlocksSendToArchive
1582 }
1583 Self::BlocksSuccess => ActionKind::TransitionFrontierSyncBlocksSuccess,
1584 Self::CommitInit => ActionKind::TransitionFrontierSyncCommitInit,
1585 Self::CommitPending => ActionKind::TransitionFrontierSyncCommitPending,
1586 Self::CommitSuccess { .. } => ActionKind::TransitionFrontierSyncCommitSuccess,
1587 }
1588 }
1589}
1590
1591impl ActionKindGet for SnarkPoolCandidateAction {
1592 fn kind(&self) -> ActionKind {
1593 match self {
1594 Self::InfoReceived { .. } => ActionKind::SnarkPoolCandidateInfoReceived,
1595 Self::WorkFetchAll => ActionKind::SnarkPoolCandidateWorkFetchAll,
1596 Self::WorkFetchInit { .. } => ActionKind::SnarkPoolCandidateWorkFetchInit,
1597 Self::WorkFetchPending { .. } => ActionKind::SnarkPoolCandidateWorkFetchPending,
1598 Self::WorkFetchError { .. } => ActionKind::SnarkPoolCandidateWorkFetchError,
1599 Self::WorkFetchSuccess { .. } => ActionKind::SnarkPoolCandidateWorkFetchSuccess,
1600 Self::WorkVerifyNext => ActionKind::SnarkPoolCandidateWorkVerifyNext,
1601 Self::WorkVerifyPending { .. } => ActionKind::SnarkPoolCandidateWorkVerifyPending,
1602 Self::WorkVerifyError { .. } => ActionKind::SnarkPoolCandidateWorkVerifyError,
1603 Self::WorkVerifySuccess { .. } => ActionKind::SnarkPoolCandidateWorkVerifySuccess,
1604 Self::PeerPrune { .. } => ActionKind::SnarkPoolCandidatePeerPrune,
1605 }
1606 }
1607}
1608
1609impl ActionKindGet for TransactionPoolCandidateAction {
1610 fn kind(&self) -> ActionKind {
1611 match self {
1612 Self::InfoReceived { .. } => ActionKind::TransactionPoolCandidateInfoReceived,
1613 Self::FetchAll => ActionKind::TransactionPoolCandidateFetchAll,
1614 Self::FetchInit { .. } => ActionKind::TransactionPoolCandidateFetchInit,
1615 Self::FetchPending { .. } => ActionKind::TransactionPoolCandidateFetchPending,
1616 Self::FetchError { .. } => ActionKind::TransactionPoolCandidateFetchError,
1617 Self::FetchSuccess { .. } => ActionKind::TransactionPoolCandidateFetchSuccess,
1618 Self::Libp2pTransactionsReceived { .. } => {
1619 ActionKind::TransactionPoolCandidateLibp2pTransactionsReceived
1620 }
1621 Self::VerifyNext => ActionKind::TransactionPoolCandidateVerifyNext,
1622 Self::VerifyPending { .. } => ActionKind::TransactionPoolCandidateVerifyPending,
1623 Self::VerifyError { .. } => ActionKind::TransactionPoolCandidateVerifyError,
1624 Self::VerifySuccess { .. } => ActionKind::TransactionPoolCandidateVerifySuccess,
1625 Self::PeerPrune { .. } => ActionKind::TransactionPoolCandidatePeerPrune,
1626 }
1627 }
1628}
1629
1630impl ActionKindGet for BlockProducerVrfEvaluatorAction {
1631 fn kind(&self) -> ActionKind {
1632 match self {
1633 Self::EvaluateSlot { .. } => ActionKind::BlockProducerVrfEvaluatorEvaluateSlot,
1634 Self::ProcessSlotEvaluationSuccess { .. } => {
1635 ActionKind::BlockProducerVrfEvaluatorProcessSlotEvaluationSuccess
1636 }
1637 Self::InitializeEvaluator { .. } => {
1638 ActionKind::BlockProducerVrfEvaluatorInitializeEvaluator
1639 }
1640 Self::FinalizeEvaluatorInitialization { .. } => {
1641 ActionKind::BlockProducerVrfEvaluatorFinalizeEvaluatorInitialization
1642 }
1643 Self::CheckEpochEvaluability { .. } => {
1644 ActionKind::BlockProducerVrfEvaluatorCheckEpochEvaluability
1645 }
1646 Self::InitializeEpochEvaluation { .. } => {
1647 ActionKind::BlockProducerVrfEvaluatorInitializeEpochEvaluation
1648 }
1649 Self::BeginDelegatorTableConstruction => {
1650 ActionKind::BlockProducerVrfEvaluatorBeginDelegatorTableConstruction
1651 }
1652 Self::FinalizeDelegatorTableConstruction { .. } => {
1653 ActionKind::BlockProducerVrfEvaluatorFinalizeDelegatorTableConstruction
1654 }
1655 Self::SelectInitialSlot { .. } => {
1656 ActionKind::BlockProducerVrfEvaluatorSelectInitialSlot
1657 }
1658 Self::BeginEpochEvaluation { .. } => {
1659 ActionKind::BlockProducerVrfEvaluatorBeginEpochEvaluation
1660 }
1661 Self::InterruptEpochEvaluation { .. } => {
1662 ActionKind::BlockProducerVrfEvaluatorInterruptEpochEvaluation
1663 }
1664 Self::ContinueEpochEvaluation { .. } => {
1665 ActionKind::BlockProducerVrfEvaluatorContinueEpochEvaluation
1666 }
1667 Self::FinishEpochEvaluation { .. } => {
1668 ActionKind::BlockProducerVrfEvaluatorFinishEpochEvaluation
1669 }
1670 Self::WaitForNextEvaluation => {
1671 ActionKind::BlockProducerVrfEvaluatorWaitForNextEvaluation
1672 }
1673 Self::CheckEpochBounds { .. } => ActionKind::BlockProducerVrfEvaluatorCheckEpochBounds,
1674 Self::CleanupOldSlots { .. } => ActionKind::BlockProducerVrfEvaluatorCleanupOldSlots,
1675 }
1676 }
1677}
1678
1679impl ActionKindGet for BlockProducerVrfEvaluatorEffectfulAction {
1680 fn kind(&self) -> ActionKind {
1681 match self {
1682 Self::EvaluateSlot { .. } => ActionKind::BlockProducerVrfEvaluatorEffectfulEvaluateSlot,
1683 Self::SlotEvaluated { .. } => {
1684 ActionKind::BlockProducerVrfEvaluatorEffectfulSlotEvaluated
1685 }
1686 Self::InitializeStats { .. } => {
1687 ActionKind::BlockProducerVrfEvaluatorEffectfulInitializeStats
1688 }
1689 }
1690 }
1691}
1692
1693impl ActionKindGet for P2pConnectionOutgoingAction {
1694 fn kind(&self) -> ActionKind {
1695 match self {
1696 Self::RandomInit => ActionKind::P2pConnectionOutgoingRandomInit,
1697 Self::Init { .. } => ActionKind::P2pConnectionOutgoingInit,
1698 Self::Reconnect { .. } => ActionKind::P2pConnectionOutgoingReconnect,
1699 Self::OfferSdpCreatePending { .. } => {
1700 ActionKind::P2pConnectionOutgoingOfferSdpCreatePending
1701 }
1702 Self::OfferSdpCreateError { .. } => {
1703 ActionKind::P2pConnectionOutgoingOfferSdpCreateError
1704 }
1705 Self::OfferSdpCreateSuccess { .. } => {
1706 ActionKind::P2pConnectionOutgoingOfferSdpCreateSuccess
1707 }
1708 Self::OfferReady { .. } => ActionKind::P2pConnectionOutgoingOfferReady,
1709 Self::OfferSendSuccess { .. } => ActionKind::P2pConnectionOutgoingOfferSendSuccess,
1710 Self::AnswerRecvPending { .. } => ActionKind::P2pConnectionOutgoingAnswerRecvPending,
1711 Self::AnswerRecvError { .. } => ActionKind::P2pConnectionOutgoingAnswerRecvError,
1712 Self::AnswerRecvSuccess { .. } => ActionKind::P2pConnectionOutgoingAnswerRecvSuccess,
1713 Self::FinalizePending { .. } => ActionKind::P2pConnectionOutgoingFinalizePending,
1714 Self::FinalizeError { .. } => ActionKind::P2pConnectionOutgoingFinalizeError,
1715 Self::FinalizeSuccess { .. } => ActionKind::P2pConnectionOutgoingFinalizeSuccess,
1716 Self::Timeout { .. } => ActionKind::P2pConnectionOutgoingTimeout,
1717 Self::Error { .. } => ActionKind::P2pConnectionOutgoingError,
1718 Self::Success { .. } => ActionKind::P2pConnectionOutgoingSuccess,
1719 }
1720 }
1721}
1722
1723impl ActionKindGet for P2pConnectionIncomingAction {
1724 fn kind(&self) -> ActionKind {
1725 match self {
1726 Self::Init { .. } => ActionKind::P2pConnectionIncomingInit,
1727 Self::AnswerSdpCreatePending { .. } => {
1728 ActionKind::P2pConnectionIncomingAnswerSdpCreatePending
1729 }
1730 Self::AnswerSdpCreateError { .. } => {
1731 ActionKind::P2pConnectionIncomingAnswerSdpCreateError
1732 }
1733 Self::AnswerSdpCreateSuccess { .. } => {
1734 ActionKind::P2pConnectionIncomingAnswerSdpCreateSuccess
1735 }
1736 Self::AnswerReady { .. } => ActionKind::P2pConnectionIncomingAnswerReady,
1737 Self::AnswerSendSuccess { .. } => ActionKind::P2pConnectionIncomingAnswerSendSuccess,
1738 Self::FinalizePending { .. } => ActionKind::P2pConnectionIncomingFinalizePending,
1739 Self::FinalizeError { .. } => ActionKind::P2pConnectionIncomingFinalizeError,
1740 Self::FinalizeSuccess { .. } => ActionKind::P2pConnectionIncomingFinalizeSuccess,
1741 Self::Timeout { .. } => ActionKind::P2pConnectionIncomingTimeout,
1742 Self::Error { .. } => ActionKind::P2pConnectionIncomingError,
1743 Self::Success { .. } => ActionKind::P2pConnectionIncomingSuccess,
1744 Self::FinalizePendingLibp2p { .. } => {
1745 ActionKind::P2pConnectionIncomingFinalizePendingLibp2p
1746 }
1747 Self::Libp2pReceived { .. } => ActionKind::P2pConnectionIncomingLibp2pReceived,
1748 }
1749 }
1750}
1751
1752impl ActionKindGet for P2pChannelsMessageReceivedAction {
1753 fn kind(&self) -> ActionKind {
1754 ActionKind::P2pChannelsMessageReceived
1755 }
1756}
1757
1758impl ActionKindGet for P2pChannelsSignalingDiscoveryAction {
1759 fn kind(&self) -> ActionKind {
1760 match self {
1761 Self::Init { .. } => ActionKind::P2pChannelsSignalingDiscoveryInit,
1762 Self::Pending { .. } => ActionKind::P2pChannelsSignalingDiscoveryPending,
1763 Self::Ready { .. } => ActionKind::P2pChannelsSignalingDiscoveryReady,
1764 Self::RequestSend { .. } => ActionKind::P2pChannelsSignalingDiscoveryRequestSend,
1765 Self::DiscoveryRequestReceived { .. } => {
1766 ActionKind::P2pChannelsSignalingDiscoveryDiscoveryRequestReceived
1767 }
1768 Self::DiscoveredSend { .. } => ActionKind::P2pChannelsSignalingDiscoveryDiscoveredSend,
1769 Self::DiscoveredRejectReceived { .. } => {
1770 ActionKind::P2pChannelsSignalingDiscoveryDiscoveredRejectReceived
1771 }
1772 Self::DiscoveredAcceptReceived { .. } => {
1773 ActionKind::P2pChannelsSignalingDiscoveryDiscoveredAcceptReceived
1774 }
1775 Self::AnswerSend { .. } => ActionKind::P2pChannelsSignalingDiscoveryAnswerSend,
1776 Self::RequestReceived { .. } => {
1777 ActionKind::P2pChannelsSignalingDiscoveryRequestReceived
1778 }
1779 Self::DiscoveryRequestSend { .. } => {
1780 ActionKind::P2pChannelsSignalingDiscoveryDiscoveryRequestSend
1781 }
1782 Self::DiscoveredReceived { .. } => {
1783 ActionKind::P2pChannelsSignalingDiscoveryDiscoveredReceived
1784 }
1785 Self::DiscoveredReject { .. } => {
1786 ActionKind::P2pChannelsSignalingDiscoveryDiscoveredReject
1787 }
1788 Self::DiscoveredAccept { .. } => {
1789 ActionKind::P2pChannelsSignalingDiscoveryDiscoveredAccept
1790 }
1791 Self::AnswerReceived { .. } => ActionKind::P2pChannelsSignalingDiscoveryAnswerReceived,
1792 Self::AnswerDecrypted { .. } => {
1793 ActionKind::P2pChannelsSignalingDiscoveryAnswerDecrypted
1794 }
1795 }
1796 }
1797}
1798
1799impl ActionKindGet for P2pChannelsSignalingExchangeAction {
1800 fn kind(&self) -> ActionKind {
1801 match self {
1802 Self::Init { .. } => ActionKind::P2pChannelsSignalingExchangeInit,
1803 Self::Pending { .. } => ActionKind::P2pChannelsSignalingExchangePending,
1804 Self::Ready { .. } => ActionKind::P2pChannelsSignalingExchangeReady,
1805 Self::RequestSend { .. } => ActionKind::P2pChannelsSignalingExchangeRequestSend,
1806 Self::OfferReceived { .. } => ActionKind::P2pChannelsSignalingExchangeOfferReceived,
1807 Self::OfferDecryptError { .. } => {
1808 ActionKind::P2pChannelsSignalingExchangeOfferDecryptError
1809 }
1810 Self::OfferDecryptSuccess { .. } => {
1811 ActionKind::P2pChannelsSignalingExchangeOfferDecryptSuccess
1812 }
1813 Self::AnswerSend { .. } => ActionKind::P2pChannelsSignalingExchangeAnswerSend,
1814 Self::RequestReceived { .. } => ActionKind::P2pChannelsSignalingExchangeRequestReceived,
1815 Self::OfferSend { .. } => ActionKind::P2pChannelsSignalingExchangeOfferSend,
1816 Self::AnswerReceived { .. } => ActionKind::P2pChannelsSignalingExchangeAnswerReceived,
1817 }
1818 }
1819}
1820
1821impl ActionKindGet for P2pChannelsBestTipAction {
1822 fn kind(&self) -> ActionKind {
1823 match self {
1824 Self::Init { .. } => ActionKind::P2pChannelsBestTipInit,
1825 Self::Pending { .. } => ActionKind::P2pChannelsBestTipPending,
1826 Self::Ready { .. } => ActionKind::P2pChannelsBestTipReady,
1827 Self::RequestSend { .. } => ActionKind::P2pChannelsBestTipRequestSend,
1828 Self::Received { .. } => ActionKind::P2pChannelsBestTipReceived,
1829 Self::RequestReceived { .. } => ActionKind::P2pChannelsBestTipRequestReceived,
1830 Self::ResponseSend { .. } => ActionKind::P2pChannelsBestTipResponseSend,
1831 }
1832 }
1833}
1834
1835impl ActionKindGet for P2pChannelsTransactionAction {
1836 fn kind(&self) -> ActionKind {
1837 match self {
1838 Self::Init { .. } => ActionKind::P2pChannelsTransactionInit,
1839 Self::Pending { .. } => ActionKind::P2pChannelsTransactionPending,
1840 Self::Ready { .. } => ActionKind::P2pChannelsTransactionReady,
1841 Self::RequestSend { .. } => ActionKind::P2pChannelsTransactionRequestSend,
1842 Self::PromiseReceived { .. } => ActionKind::P2pChannelsTransactionPromiseReceived,
1843 Self::Received { .. } => ActionKind::P2pChannelsTransactionReceived,
1844 Self::RequestReceived { .. } => ActionKind::P2pChannelsTransactionRequestReceived,
1845 Self::ResponseSend { .. } => ActionKind::P2pChannelsTransactionResponseSend,
1846 Self::Libp2pReceived { .. } => ActionKind::P2pChannelsTransactionLibp2pReceived,
1847 Self::Libp2pBroadcast { .. } => ActionKind::P2pChannelsTransactionLibp2pBroadcast,
1848 }
1849 }
1850}
1851
1852impl ActionKindGet for P2pChannelsSnarkAction {
1853 fn kind(&self) -> ActionKind {
1854 match self {
1855 Self::Init { .. } => ActionKind::P2pChannelsSnarkInit,
1856 Self::Pending { .. } => ActionKind::P2pChannelsSnarkPending,
1857 Self::Ready { .. } => ActionKind::P2pChannelsSnarkReady,
1858 Self::RequestSend { .. } => ActionKind::P2pChannelsSnarkRequestSend,
1859 Self::PromiseReceived { .. } => ActionKind::P2pChannelsSnarkPromiseReceived,
1860 Self::Received { .. } => ActionKind::P2pChannelsSnarkReceived,
1861 Self::RequestReceived { .. } => ActionKind::P2pChannelsSnarkRequestReceived,
1862 Self::ResponseSend { .. } => ActionKind::P2pChannelsSnarkResponseSend,
1863 Self::Libp2pReceived { .. } => ActionKind::P2pChannelsSnarkLibp2pReceived,
1864 Self::Libp2pBroadcast { .. } => ActionKind::P2pChannelsSnarkLibp2pBroadcast,
1865 }
1866 }
1867}
1868
1869impl ActionKindGet for P2pChannelsSnarkJobCommitmentAction {
1870 fn kind(&self) -> ActionKind {
1871 match self {
1872 Self::Init { .. } => ActionKind::P2pChannelsSnarkJobCommitmentInit,
1873 Self::Pending { .. } => ActionKind::P2pChannelsSnarkJobCommitmentPending,
1874 Self::Ready { .. } => ActionKind::P2pChannelsSnarkJobCommitmentReady,
1875 Self::RequestSend { .. } => ActionKind::P2pChannelsSnarkJobCommitmentRequestSend,
1876 Self::PromiseReceived { .. } => {
1877 ActionKind::P2pChannelsSnarkJobCommitmentPromiseReceived
1878 }
1879 Self::Received { .. } => ActionKind::P2pChannelsSnarkJobCommitmentReceived,
1880 Self::RequestReceived { .. } => {
1881 ActionKind::P2pChannelsSnarkJobCommitmentRequestReceived
1882 }
1883 Self::ResponseSend { .. } => ActionKind::P2pChannelsSnarkJobCommitmentResponseSend,
1884 }
1885 }
1886}
1887
1888impl ActionKindGet for P2pChannelsRpcAction {
1889 fn kind(&self) -> ActionKind {
1890 match self {
1891 Self::Init { .. } => ActionKind::P2pChannelsRpcInit,
1892 Self::Pending { .. } => ActionKind::P2pChannelsRpcPending,
1893 Self::Ready { .. } => ActionKind::P2pChannelsRpcReady,
1894 Self::RequestSend { .. } => ActionKind::P2pChannelsRpcRequestSend,
1895 Self::Timeout { .. } => ActionKind::P2pChannelsRpcTimeout,
1896 Self::ResponseReceived { .. } => ActionKind::P2pChannelsRpcResponseReceived,
1897 Self::RequestReceived { .. } => ActionKind::P2pChannelsRpcRequestReceived,
1898 Self::ResponsePending { .. } => ActionKind::P2pChannelsRpcResponsePending,
1899 Self::ResponseSend { .. } => ActionKind::P2pChannelsRpcResponseSend,
1900 }
1901 }
1902}
1903
1904impl ActionKindGet for P2pChannelsStreamingRpcAction {
1905 fn kind(&self) -> ActionKind {
1906 match self {
1907 Self::Init { .. } => ActionKind::P2pChannelsStreamingRpcInit,
1908 Self::Pending { .. } => ActionKind::P2pChannelsStreamingRpcPending,
1909 Self::Ready { .. } => ActionKind::P2pChannelsStreamingRpcReady,
1910 Self::RequestSend { .. } => ActionKind::P2pChannelsStreamingRpcRequestSend,
1911 Self::Timeout { .. } => ActionKind::P2pChannelsStreamingRpcTimeout,
1912 Self::ResponseNextPartGet { .. } => {
1913 ActionKind::P2pChannelsStreamingRpcResponseNextPartGet
1914 }
1915 Self::ResponsePartReceived { .. } => {
1916 ActionKind::P2pChannelsStreamingRpcResponsePartReceived
1917 }
1918 Self::ResponseReceived { .. } => ActionKind::P2pChannelsStreamingRpcResponseReceived,
1919 Self::RequestReceived { .. } => ActionKind::P2pChannelsStreamingRpcRequestReceived,
1920 Self::ResponsePending { .. } => ActionKind::P2pChannelsStreamingRpcResponsePending,
1921 Self::ResponseSendInit { .. } => ActionKind::P2pChannelsStreamingRpcResponseSendInit,
1922 Self::ResponsePartNextSend { .. } => {
1923 ActionKind::P2pChannelsStreamingRpcResponsePartNextSend
1924 }
1925 Self::ResponsePartSend { .. } => ActionKind::P2pChannelsStreamingRpcResponsePartSend,
1926 Self::ResponseSent { .. } => ActionKind::P2pChannelsStreamingRpcResponseSent,
1927 }
1928 }
1929}
1930
1931impl ActionKindGet for P2pNetworkSchedulerAction {
1932 fn kind(&self) -> ActionKind {
1933 match self {
1934 Self::InterfaceDetected { .. } => ActionKind::P2pNetworkSchedulerInterfaceDetected,
1935 Self::InterfaceExpired { .. } => ActionKind::P2pNetworkSchedulerInterfaceExpired,
1936 Self::ListenerReady { .. } => ActionKind::P2pNetworkSchedulerListenerReady,
1937 Self::ListenerError { .. } => ActionKind::P2pNetworkSchedulerListenerError,
1938 Self::IncomingConnectionIsReady { .. } => {
1939 ActionKind::P2pNetworkSchedulerIncomingConnectionIsReady
1940 }
1941 Self::IncomingDidAccept { .. } => ActionKind::P2pNetworkSchedulerIncomingDidAccept,
1942 Self::IncomingDataIsReady { .. } => ActionKind::P2pNetworkSchedulerIncomingDataIsReady,
1943 Self::OutgoingConnect { .. } => ActionKind::P2pNetworkSchedulerOutgoingConnect,
1944 Self::OutgoingDidConnect { .. } => ActionKind::P2pNetworkSchedulerOutgoingDidConnect,
1945 Self::IncomingDataDidReceive { .. } => {
1946 ActionKind::P2pNetworkSchedulerIncomingDataDidReceive
1947 }
1948 Self::SelectDone { .. } => ActionKind::P2pNetworkSchedulerSelectDone,
1949 Self::SelectError { .. } => ActionKind::P2pNetworkSchedulerSelectError,
1950 Self::YamuxDidInit { .. } => ActionKind::P2pNetworkSchedulerYamuxDidInit,
1951 Self::Disconnect { .. } => ActionKind::P2pNetworkSchedulerDisconnect,
1952 Self::Error { .. } => ActionKind::P2pNetworkSchedulerError,
1953 Self::Disconnected { .. } => ActionKind::P2pNetworkSchedulerDisconnected,
1954 Self::Prune { .. } => ActionKind::P2pNetworkSchedulerPrune,
1955 Self::PruneStream { .. } => ActionKind::P2pNetworkSchedulerPruneStream,
1956 }
1957 }
1958}
1959
1960impl ActionKindGet for P2pNetworkPnetAction {
1961 fn kind(&self) -> ActionKind {
1962 match self {
1963 Self::IncomingData { .. } => ActionKind::P2pNetworkPnetIncomingData,
1964 Self::OutgoingData { .. } => ActionKind::P2pNetworkPnetOutgoingData,
1965 Self::SetupNonce { .. } => ActionKind::P2pNetworkPnetSetupNonce,
1966 Self::Timeout { .. } => ActionKind::P2pNetworkPnetTimeout,
1967 }
1968 }
1969}
1970
1971impl ActionKindGet for P2pNetworkSelectAction {
1972 fn kind(&self) -> ActionKind {
1973 match self {
1974 Self::Init { .. } => ActionKind::P2pNetworkSelectInit,
1975 Self::IncomingDataAuth { .. } => ActionKind::P2pNetworkSelectIncomingDataAuth,
1976 Self::IncomingDataMux { .. } => ActionKind::P2pNetworkSelectIncomingDataMux,
1977 Self::IncomingData { .. } => ActionKind::P2pNetworkSelectIncomingData,
1978 Self::IncomingPayloadAuth { .. } => ActionKind::P2pNetworkSelectIncomingPayloadAuth,
1979 Self::IncomingPayloadMux { .. } => ActionKind::P2pNetworkSelectIncomingPayloadMux,
1980 Self::IncomingPayload { .. } => ActionKind::P2pNetworkSelectIncomingPayload,
1981 Self::IncomingToken { .. } => ActionKind::P2pNetworkSelectIncomingToken,
1982 Self::OutgoingTokens { .. } => ActionKind::P2pNetworkSelectOutgoingTokens,
1983 Self::Timeout { .. } => ActionKind::P2pNetworkSelectTimeout,
1984 }
1985 }
1986}
1987
1988impl ActionKindGet for P2pNetworkNoiseAction {
1989 fn kind(&self) -> ActionKind {
1990 match self {
1991 Self::Init { .. } => ActionKind::P2pNetworkNoiseInit,
1992 Self::IncomingData { .. } => ActionKind::P2pNetworkNoiseIncomingData,
1993 Self::IncomingChunk { .. } => ActionKind::P2pNetworkNoiseIncomingChunk,
1994 Self::OutgoingChunk { .. } => ActionKind::P2pNetworkNoiseOutgoingChunk,
1995 Self::OutgoingChunkSelectMux { .. } => {
1996 ActionKind::P2pNetworkNoiseOutgoingChunkSelectMux
1997 }
1998 Self::OutgoingData { .. } => ActionKind::P2pNetworkNoiseOutgoingData,
1999 Self::OutgoingDataSelectMux { .. } => ActionKind::P2pNetworkNoiseOutgoingDataSelectMux,
2000 Self::DecryptedData { .. } => ActionKind::P2pNetworkNoiseDecryptedData,
2001 Self::HandshakeDone { .. } => ActionKind::P2pNetworkNoiseHandshakeDone,
2002 }
2003 }
2004}
2005
2006impl ActionKindGet for P2pNetworkYamuxAction {
2007 fn kind(&self) -> ActionKind {
2008 match self {
2009 Self::IncomingData { .. } => ActionKind::P2pNetworkYamuxIncomingData,
2010 Self::OutgoingData { .. } => ActionKind::P2pNetworkYamuxOutgoingData,
2011 Self::IncomingFrame { .. } => ActionKind::P2pNetworkYamuxIncomingFrame,
2012 Self::OutgoingFrame { .. } => ActionKind::P2pNetworkYamuxOutgoingFrame,
2013 Self::PingStream { .. } => ActionKind::P2pNetworkYamuxPingStream,
2014 Self::OpenStream { .. } => ActionKind::P2pNetworkYamuxOpenStream,
2015 }
2016 }
2017}
2018
2019impl ActionKindGet for P2pNetworkIdentifyAction {
2020 fn kind(&self) -> ActionKind {
2021 match self {
2022 Self::Stream(a) => a.kind(),
2023 }
2024 }
2025}
2026
2027impl ActionKindGet for P2pNetworkKadAction {
2028 fn kind(&self) -> ActionKind {
2029 match self {
2030 Self::System(a) => a.kind(),
2031 Self::Bootstrap(a) => a.kind(),
2032 Self::Request(a) => a.kind(),
2033 Self::Stream(a) => a.kind(),
2034 }
2035 }
2036}
2037
2038impl ActionKindGet for P2pNetworkPubsubAction {
2039 fn kind(&self) -> ActionKind {
2040 match self {
2041 Self::NewStream { .. } => ActionKind::P2pNetworkPubsubNewStream,
2042 Self::IncomingData { .. } => ActionKind::P2pNetworkPubsubIncomingData,
2043 Self::ValidateIncomingMessages { .. } => {
2044 ActionKind::P2pNetworkPubsubValidateIncomingMessages
2045 }
2046 Self::IncomingMessage { .. } => ActionKind::P2pNetworkPubsubIncomingMessage,
2047 Self::IncomingMessageCleanup { .. } => {
2048 ActionKind::P2pNetworkPubsubIncomingMessageCleanup
2049 }
2050 Self::Graft { .. } => ActionKind::P2pNetworkPubsubGraft,
2051 Self::Prune { .. } => ActionKind::P2pNetworkPubsubPrune,
2052 Self::WebRtcRebroadcast { .. } => ActionKind::P2pNetworkPubsubWebRtcRebroadcast,
2053 Self::Broadcast { .. } => ActionKind::P2pNetworkPubsubBroadcast,
2054 Self::Sign { .. } => ActionKind::P2pNetworkPubsubSign,
2055 Self::SignError { .. } => ActionKind::P2pNetworkPubsubSignError,
2056 Self::BroadcastSigned { .. } => ActionKind::P2pNetworkPubsubBroadcastSigned,
2057 Self::OutgoingMessage { .. } => ActionKind::P2pNetworkPubsubOutgoingMessage,
2058 Self::OutgoingMessageClear { .. } => ActionKind::P2pNetworkPubsubOutgoingMessageClear,
2059 Self::OutgoingMessageError { .. } => ActionKind::P2pNetworkPubsubOutgoingMessageError,
2060 Self::OutgoingData { .. } => ActionKind::P2pNetworkPubsubOutgoingData,
2061 Self::HandleIncomingMessage { .. } => ActionKind::P2pNetworkPubsubHandleIncomingMessage,
2062 Self::ValidateIncomingMessage { .. } => {
2063 ActionKind::P2pNetworkPubsubValidateIncomingMessage
2064 }
2065 Self::PruneMessages { .. } => ActionKind::P2pNetworkPubsubPruneMessages,
2066 Self::RejectMessage { .. } => ActionKind::P2pNetworkPubsubRejectMessage,
2067 Self::IgnoreMessage { .. } => ActionKind::P2pNetworkPubsubIgnoreMessage,
2068 Self::BroadcastValidatedMessage { .. } => {
2069 ActionKind::P2pNetworkPubsubBroadcastValidatedMessage
2070 }
2071 }
2072 }
2073}
2074
2075impl ActionKindGet for P2pNetworkRpcAction {
2076 fn kind(&self) -> ActionKind {
2077 match self {
2078 Self::Init { .. } => ActionKind::P2pNetworkRpcInit,
2079 Self::IncomingData { .. } => ActionKind::P2pNetworkRpcIncomingData,
2080 Self::IncomingMessage { .. } => ActionKind::P2pNetworkRpcIncomingMessage,
2081 Self::PrunePending { .. } => ActionKind::P2pNetworkRpcPrunePending,
2082 Self::HeartbeatSend { .. } => ActionKind::P2pNetworkRpcHeartbeatSend,
2083 Self::OutgoingQuery { .. } => ActionKind::P2pNetworkRpcOutgoingQuery,
2084 Self::OutgoingResponse { .. } => ActionKind::P2pNetworkRpcOutgoingResponse,
2085 Self::OutgoingData { .. } => ActionKind::P2pNetworkRpcOutgoingData,
2086 }
2087 }
2088}
2089
2090impl ActionKindGet for P2pConnectionOutgoingEffectfulAction {
2091 fn kind(&self) -> ActionKind {
2092 match self {
2093 Self::RandomInit { .. } => ActionKind::P2pConnectionOutgoingEffectfulRandomInit,
2094 Self::Init { .. } => ActionKind::P2pConnectionOutgoingEffectfulInit,
2095 Self::OfferSend { .. } => ActionKind::P2pConnectionOutgoingEffectfulOfferSend,
2096 Self::AnswerSet { .. } => ActionKind::P2pConnectionOutgoingEffectfulAnswerSet,
2097 Self::ConnectionAuthorizationEncryptAndSend { .. } => {
2098 ActionKind::P2pConnectionOutgoingEffectfulConnectionAuthorizationEncryptAndSend
2099 }
2100 Self::ConnectionAuthorizationDecryptAndCheck { .. } => {
2101 ActionKind::P2pConnectionOutgoingEffectfulConnectionAuthorizationDecryptAndCheck
2102 }
2103 }
2104 }
2105}
2106
2107impl ActionKindGet for P2pConnectionIncomingEffectfulAction {
2108 fn kind(&self) -> ActionKind {
2109 match self {
2110 Self::Init { .. } => ActionKind::P2pConnectionIncomingEffectfulInit,
2111 Self::ConnectionAuthorizationEncryptAndSend { .. } => {
2112 ActionKind::P2pConnectionIncomingEffectfulConnectionAuthorizationEncryptAndSend
2113 }
2114 Self::ConnectionAuthorizationDecryptAndCheck { .. } => {
2115 ActionKind::P2pConnectionIncomingEffectfulConnectionAuthorizationDecryptAndCheck
2116 }
2117 }
2118 }
2119}
2120
2121impl ActionKindGet for P2pNetworkSchedulerEffectfulAction {
2122 fn kind(&self) -> ActionKind {
2123 match self {
2124 Self::InterfaceDetected { .. } => {
2125 ActionKind::P2pNetworkSchedulerEffectfulInterfaceDetected
2126 }
2127 Self::IncomingConnectionIsReady { .. } => {
2128 ActionKind::P2pNetworkSchedulerEffectfulIncomingConnectionIsReady
2129 }
2130 Self::IncomingDidAccept { .. } => {
2131 ActionKind::P2pNetworkSchedulerEffectfulIncomingDidAccept
2132 }
2133 Self::OutgoingConnect { .. } => ActionKind::P2pNetworkSchedulerEffectfulOutgoingConnect,
2134 Self::OutgoingDidConnect { .. } => {
2135 ActionKind::P2pNetworkSchedulerEffectfulOutgoingDidConnect
2136 }
2137 Self::IncomingDataIsReady { .. } => {
2138 ActionKind::P2pNetworkSchedulerEffectfulIncomingDataIsReady
2139 }
2140 Self::NoiseSelectDone { .. } => ActionKind::P2pNetworkSchedulerEffectfulNoiseSelectDone,
2141 Self::Disconnect { .. } => ActionKind::P2pNetworkSchedulerEffectfulDisconnect,
2142 }
2143 }
2144}
2145
2146impl ActionKindGet for P2pNetworkPnetEffectfulAction {
2147 fn kind(&self) -> ActionKind {
2148 match self {
2149 Self::OutgoingData { .. } => ActionKind::P2pNetworkPnetEffectfulOutgoingData,
2150 Self::SetupNonce { .. } => ActionKind::P2pNetworkPnetEffectfulSetupNonce,
2151 }
2152 }
2153}
2154
2155impl ActionKindGet for P2pNetworkPubsubEffectfulAction {
2156 fn kind(&self) -> ActionKind {
2157 match self {
2158 Self::Sign { .. } => ActionKind::P2pNetworkPubsubEffectfulSign,
2159 Self::ValidateIncomingMessages { .. } => {
2160 ActionKind::P2pNetworkPubsubEffectfulValidateIncomingMessages
2161 }
2162 }
2163 }
2164}
2165
2166impl ActionKindGet for P2pNetworkIdentifyEffectfulAction {
2167 fn kind(&self) -> ActionKind {
2168 match self {
2169 Self::Stream(a) => a.kind(),
2170 }
2171 }
2172}
2173
2174impl ActionKindGet for P2pNetworkKadEffectfulAction {
2175 fn kind(&self) -> ActionKind {
2176 match self {
2177 Self::Discovered { .. } => ActionKind::P2pNetworkKadEffectfulDiscovered,
2178 Self::MakeRequest { .. } => ActionKind::P2pNetworkKadEffectfulMakeRequest,
2179 }
2180 }
2181}
2182
2183impl ActionKindGet for TransitionFrontierSyncLedgerAction {
2184 fn kind(&self) -> ActionKind {
2185 match self {
2186 Self::Snarked(a) => a.kind(),
2187 Self::Staged(a) => a.kind(),
2188 Self::Init => ActionKind::TransitionFrontierSyncLedgerInit,
2189 Self::Success => ActionKind::TransitionFrontierSyncLedgerSuccess,
2190 }
2191 }
2192}
2193
2194impl ActionKindGet for P2pNetworkIdentifyStreamAction {
2195 fn kind(&self) -> ActionKind {
2196 match self {
2197 Self::New { .. } => ActionKind::P2pNetworkIdentifyStreamNew,
2198 Self::IncomingData { .. } => ActionKind::P2pNetworkIdentifyStreamIncomingData,
2199 Self::Close { .. } => ActionKind::P2pNetworkIdentifyStreamClose,
2200 Self::RemoteClose { .. } => ActionKind::P2pNetworkIdentifyStreamRemoteClose,
2201 Self::Prune { .. } => ActionKind::P2pNetworkIdentifyStreamPrune,
2202 Self::SendIdentify { .. } => ActionKind::P2pNetworkIdentifyStreamSendIdentify,
2203 }
2204 }
2205}
2206
2207impl ActionKindGet for P2pNetworkKademliaAction {
2208 fn kind(&self) -> ActionKind {
2209 match self {
2210 Self::AnswerFindNodeRequest { .. } => {
2211 ActionKind::P2pNetworkKademliaAnswerFindNodeRequest
2212 }
2213 Self::UpdateFindNodeRequest { .. } => {
2214 ActionKind::P2pNetworkKademliaUpdateFindNodeRequest
2215 }
2216 Self::StartBootstrap { .. } => ActionKind::P2pNetworkKademliaStartBootstrap,
2217 Self::BootstrapFinished => ActionKind::P2pNetworkKademliaBootstrapFinished,
2218 Self::UpdateRoutingTable { .. } => ActionKind::P2pNetworkKademliaUpdateRoutingTable,
2219 }
2220 }
2221}
2222
2223impl ActionKindGet for P2pNetworkKadBootstrapAction {
2224 fn kind(&self) -> ActionKind {
2225 match self {
2226 Self::CreateRequests => ActionKind::P2pNetworkKadBootstrapCreateRequests,
2227 Self::AppendRequest { .. } => ActionKind::P2pNetworkKadBootstrapAppendRequest,
2228 Self::FinalizeRequests => ActionKind::P2pNetworkKadBootstrapFinalizeRequests,
2229 Self::RequestDone { .. } => ActionKind::P2pNetworkKadBootstrapRequestDone,
2230 Self::RequestError { .. } => ActionKind::P2pNetworkKadBootstrapRequestError,
2231 }
2232 }
2233}
2234
2235impl ActionKindGet for P2pNetworkKadRequestAction {
2236 fn kind(&self) -> ActionKind {
2237 match self {
2238 Self::New { .. } => ActionKind::P2pNetworkKadRequestNew,
2239 Self::PeerIsConnecting { .. } => ActionKind::P2pNetworkKadRequestPeerIsConnecting,
2240 Self::MuxReady { .. } => ActionKind::P2pNetworkKadRequestMuxReady,
2241 Self::StreamIsCreating { .. } => ActionKind::P2pNetworkKadRequestStreamIsCreating,
2242 Self::StreamReady { .. } => ActionKind::P2pNetworkKadRequestStreamReady,
2243 Self::RequestSent { .. } => ActionKind::P2pNetworkKadRequestRequestSent,
2244 Self::ReplyReceived { .. } => ActionKind::P2pNetworkKadRequestReplyReceived,
2245 Self::Prune { .. } => ActionKind::P2pNetworkKadRequestPrune,
2246 Self::Error { .. } => ActionKind::P2pNetworkKadRequestError,
2247 }
2248 }
2249}
2250
2251impl ActionKindGet for P2pNetworkKademliaStreamAction {
2252 fn kind(&self) -> ActionKind {
2253 match self {
2254 Self::New { .. } => ActionKind::P2pNetworkKademliaStreamNew,
2255 Self::IncomingData { .. } => ActionKind::P2pNetworkKademliaStreamIncomingData,
2256 Self::RemoteClose { .. } => ActionKind::P2pNetworkKademliaStreamRemoteClose,
2257 Self::WaitIncoming { .. } => ActionKind::P2pNetworkKademliaStreamWaitIncoming,
2258 Self::WaitOutgoing { .. } => ActionKind::P2pNetworkKademliaStreamWaitOutgoing,
2259 Self::SendRequest { .. } => ActionKind::P2pNetworkKademliaStreamSendRequest,
2260 Self::SendResponse { .. } => ActionKind::P2pNetworkKademliaStreamSendResponse,
2261 Self::OutgoingDataReady { .. } => ActionKind::P2pNetworkKademliaStreamOutgoingDataReady,
2262 Self::Close { .. } => ActionKind::P2pNetworkKademliaStreamClose,
2263 Self::Prune { .. } => ActionKind::P2pNetworkKademliaStreamPrune,
2264 }
2265 }
2266}
2267
2268impl ActionKindGet for P2pNetworkIdentifyStreamEffectfulAction {
2269 fn kind(&self) -> ActionKind {
2270 match self {
2271 Self::GetListenAddresses { .. } => {
2272 ActionKind::P2pNetworkIdentifyStreamEffectfulGetListenAddresses
2273 }
2274 }
2275 }
2276}
2277
2278impl ActionKindGet for TransitionFrontierSyncLedgerSnarkedAction {
2279 fn kind(&self) -> ActionKind {
2280 match self {
2281 Self::Pending => ActionKind::TransitionFrontierSyncLedgerSnarkedPending,
2282 Self::PeersQuery => ActionKind::TransitionFrontierSyncLedgerSnarkedPeersQuery,
2283 Self::PeerQueryNumAccountsInit { .. } => {
2284 ActionKind::TransitionFrontierSyncLedgerSnarkedPeerQueryNumAccountsInit
2285 }
2286 Self::PeerQueryNumAccountsPending { .. } => {
2287 ActionKind::TransitionFrontierSyncLedgerSnarkedPeerQueryNumAccountsPending
2288 }
2289 Self::PeerQueryNumAccountsRetry { .. } => {
2290 ActionKind::TransitionFrontierSyncLedgerSnarkedPeerQueryNumAccountsRetry
2291 }
2292 Self::PeerQueryNumAccountsError { .. } => {
2293 ActionKind::TransitionFrontierSyncLedgerSnarkedPeerQueryNumAccountsError
2294 }
2295 Self::PeerQueryNumAccountsSuccess { .. } => {
2296 ActionKind::TransitionFrontierSyncLedgerSnarkedPeerQueryNumAccountsSuccess
2297 }
2298 Self::NumAccountsReceived { .. } => {
2299 ActionKind::TransitionFrontierSyncLedgerSnarkedNumAccountsReceived
2300 }
2301 Self::NumAccountsAccepted { .. } => {
2302 ActionKind::TransitionFrontierSyncLedgerSnarkedNumAccountsAccepted
2303 }
2304 Self::NumAccountsRejected { .. } => {
2305 ActionKind::TransitionFrontierSyncLedgerSnarkedNumAccountsRejected
2306 }
2307 Self::NumAccountsSuccess { .. } => {
2308 ActionKind::TransitionFrontierSyncLedgerSnarkedNumAccountsSuccess
2309 }
2310 Self::MerkleTreeSyncPending => {
2311 ActionKind::TransitionFrontierSyncLedgerSnarkedMerkleTreeSyncPending
2312 }
2313 Self::PeerQueryAddressInit { .. } => {
2314 ActionKind::TransitionFrontierSyncLedgerSnarkedPeerQueryAddressInit
2315 }
2316 Self::PeerQueryAddressPending { .. } => {
2317 ActionKind::TransitionFrontierSyncLedgerSnarkedPeerQueryAddressPending
2318 }
2319 Self::PeerQueryAddressRetry { .. } => {
2320 ActionKind::TransitionFrontierSyncLedgerSnarkedPeerQueryAddressRetry
2321 }
2322 Self::PeerQueryAddressError { .. } => {
2323 ActionKind::TransitionFrontierSyncLedgerSnarkedPeerQueryAddressError
2324 }
2325 Self::PeerQueryAddressSuccess { .. } => {
2326 ActionKind::TransitionFrontierSyncLedgerSnarkedPeerQueryAddressSuccess
2327 }
2328 Self::ChildHashesReceived { .. } => {
2329 ActionKind::TransitionFrontierSyncLedgerSnarkedChildHashesReceived
2330 }
2331 Self::ChildHashesAccepted { .. } => {
2332 ActionKind::TransitionFrontierSyncLedgerSnarkedChildHashesAccepted
2333 }
2334 Self::ChildHashesRejected { .. } => {
2335 ActionKind::TransitionFrontierSyncLedgerSnarkedChildHashesRejected
2336 }
2337 Self::ChildAccountsReceived { .. } => {
2338 ActionKind::TransitionFrontierSyncLedgerSnarkedChildAccountsReceived
2339 }
2340 Self::ChildAccountsAccepted { .. } => {
2341 ActionKind::TransitionFrontierSyncLedgerSnarkedChildAccountsAccepted
2342 }
2343 Self::ChildAccountsRejected { .. } => {
2344 ActionKind::TransitionFrontierSyncLedgerSnarkedChildAccountsRejected
2345 }
2346 Self::MerkleTreeSyncSuccess => {
2347 ActionKind::TransitionFrontierSyncLedgerSnarkedMerkleTreeSyncSuccess
2348 }
2349 Self::Success => ActionKind::TransitionFrontierSyncLedgerSnarkedSuccess,
2350 }
2351 }
2352}
2353
2354impl ActionKindGet for TransitionFrontierSyncLedgerStagedAction {
2355 fn kind(&self) -> ActionKind {
2356 match self {
2357 Self::PartsFetchPending => {
2358 ActionKind::TransitionFrontierSyncLedgerStagedPartsFetchPending
2359 }
2360 Self::PartsPeerFetchInit => {
2361 ActionKind::TransitionFrontierSyncLedgerStagedPartsPeerFetchInit
2362 }
2363 Self::PartsPeerFetchPending { .. } => {
2364 ActionKind::TransitionFrontierSyncLedgerStagedPartsPeerFetchPending
2365 }
2366 Self::PartsPeerFetchError { .. } => {
2367 ActionKind::TransitionFrontierSyncLedgerStagedPartsPeerFetchError
2368 }
2369 Self::PartsPeerFetchSuccess { .. } => {
2370 ActionKind::TransitionFrontierSyncLedgerStagedPartsPeerFetchSuccess
2371 }
2372 Self::PartsPeerInvalid { .. } => {
2373 ActionKind::TransitionFrontierSyncLedgerStagedPartsPeerInvalid
2374 }
2375 Self::PartsPeerValid { .. } => {
2376 ActionKind::TransitionFrontierSyncLedgerStagedPartsPeerValid
2377 }
2378 Self::PartsFetchSuccess { .. } => {
2379 ActionKind::TransitionFrontierSyncLedgerStagedPartsFetchSuccess
2380 }
2381 Self::ReconstructEmpty => {
2382 ActionKind::TransitionFrontierSyncLedgerStagedReconstructEmpty
2383 }
2384 Self::ReconstructInit => ActionKind::TransitionFrontierSyncLedgerStagedReconstructInit,
2385 Self::ReconstructPending => {
2386 ActionKind::TransitionFrontierSyncLedgerStagedReconstructPending
2387 }
2388 Self::ReconstructError { .. } => {
2389 ActionKind::TransitionFrontierSyncLedgerStagedReconstructError
2390 }
2391 Self::ReconstructSuccess { .. } => {
2392 ActionKind::TransitionFrontierSyncLedgerStagedReconstructSuccess
2393 }
2394 Self::Success => ActionKind::TransitionFrontierSyncLedgerStagedSuccess,
2395 }
2396 }
2397}