Skip to content

Commit 5ce4c57

Browse files
committed
refactor(p2p_channels_snark_job_commitment): Combine all action types of the p2p_channels_snark_job_commitment module into the parent action type
1 parent 718a031 commit 5ce4c57

File tree

11 files changed

+238
-421
lines changed

11 files changed

+238
-421
lines changed

node/src/event_source/event_source_effects.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::p2p::channels::rpc::P2pChannelsRpcReadyAction;
1111
use crate::p2p::channels::snark::{
1212
P2pChannelsSnarkLibp2pReceivedAction, P2pChannelsSnarkReadyAction,
1313
};
14-
use crate::p2p::channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentReadyAction;
14+
use crate::p2p::channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentAction;
1515
use crate::p2p::channels::{ChannelId, P2pChannelsMessageReceivedAction};
1616
use crate::p2p::connection::incoming::{
1717
P2pConnectionIncomingAnswerSdpCreateErrorAction,
@@ -181,8 +181,9 @@ pub fn event_source_effects<S: Service>(store: &mut Store<S>, action: EventSourc
181181
}
182182
ChannelId::SnarkJobCommitmentPropagation => {
183183
// TODO(binier): maybe dispatch success and then ready.
184-
store
185-
.dispatch(P2pChannelsSnarkJobCommitmentReadyAction { peer_id });
184+
store.dispatch(P2pChannelsSnarkJobCommitmentAction::Ready {
185+
peer_id,
186+
});
186187
}
187188
ChannelId::Rpc => {
188189
// TODO(binier): maybe dispatch success and then ready.

node/src/logger/logger_effects.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -401,20 +401,20 @@ pub fn logger_effects<S: Service>(store: &Store<S>, action: ActionWithMetaRef<'_
401401
_ => {}
402402
},
403403
P2pChannelsAction::SnarkJobCommitment(action) => match action {
404-
P2pChannelsSnarkJobCommitmentAction::Init(action) => {
404+
P2pChannelsSnarkJobCommitmentAction::Init { peer_id } => {
405405
openmina_core::log::debug!(
406406
meta.time();
407407
kind = kind.to_string(),
408-
summary = format!("peer_id: {}", action.peer_id),
409-
peer_id = action.peer_id.to_string()
408+
summary = format!("peer_id: {}", peer_id),
409+
peer_id = peer_id.to_string()
410410
);
411411
}
412-
P2pChannelsSnarkJobCommitmentAction::Ready(action) => {
412+
P2pChannelsSnarkJobCommitmentAction::Ready { peer_id } => {
413413
openmina_core::log::debug!(
414414
meta.time();
415415
kind = kind.to_string(),
416-
summary = format!("peer_id: {}", action.peer_id),
417-
peer_id = action.peer_id.to_string()
416+
summary = format!("peer_id: {}", peer_id),
417+
peer_id = peer_id.to_string()
418418
);
419419
}
420420
_ => {}

node/src/p2p/channels/snark_job_commitment/p2p_channels_snark_job_commitment_actions.rs

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,6 @@
11
use super::*;
22

3-
impl redux::EnablingCondition<crate::State> for P2pChannelsSnarkJobCommitmentInitAction {
4-
fn is_enabled(&self, state: &crate::State) -> bool {
5-
self.is_enabled(&state.p2p)
6-
}
7-
}
8-
9-
impl redux::EnablingCondition<crate::State> for P2pChannelsSnarkJobCommitmentPendingAction {
10-
fn is_enabled(&self, state: &crate::State) -> bool {
11-
self.is_enabled(&state.p2p)
12-
}
13-
}
14-
15-
impl redux::EnablingCondition<crate::State> for P2pChannelsSnarkJobCommitmentReadyAction {
16-
fn is_enabled(&self, state: &crate::State) -> bool {
17-
self.is_enabled(&state.p2p)
18-
}
19-
}
20-
21-
impl redux::EnablingCondition<crate::State> for P2pChannelsSnarkJobCommitmentRequestSendAction {
22-
fn is_enabled(&self, state: &crate::State) -> bool {
23-
self.is_enabled(&state.p2p)
24-
}
25-
}
26-
27-
impl redux::EnablingCondition<crate::State> for P2pChannelsSnarkJobCommitmentPromiseReceivedAction {
28-
fn is_enabled(&self, state: &crate::State) -> bool {
29-
self.is_enabled(&state.p2p)
30-
}
31-
}
32-
33-
impl redux::EnablingCondition<crate::State> for P2pChannelsSnarkJobCommitmentReceivedAction {
34-
fn is_enabled(&self, state: &crate::State) -> bool {
35-
self.is_enabled(&state.p2p)
36-
}
37-
}
38-
39-
impl redux::EnablingCondition<crate::State> for P2pChannelsSnarkJobCommitmentRequestReceivedAction {
40-
fn is_enabled(&self, state: &crate::State) -> bool {
41-
self.is_enabled(&state.p2p)
42-
}
43-
}
44-
45-
impl redux::EnablingCondition<crate::State> for P2pChannelsSnarkJobCommitmentResponseSendAction {
3+
impl redux::EnablingCondition<crate::State> for P2pChannelsSnarkJobCommitmentAction {
464
fn is_enabled(&self, state: &crate::State) -> bool {
475
self.is_enabled(&state.p2p)
486
}

node/src/p2p/mod.rs

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -110,26 +110,7 @@ impl_into_global_action!(channels::snark::P2pChannelsSnarkResponseSendAction);
110110
impl_into_global_action!(channels::snark::P2pChannelsSnarkLibp2pReceivedAction);
111111
impl_into_global_action!(channels::snark::P2pChannelsSnarkLibp2pBroadcastAction);
112112

113-
impl_into_global_action!(channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentInitAction);
114-
impl_into_global_action!(
115-
channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentPendingAction
116-
);
117-
impl_into_global_action!(channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentReadyAction);
118-
impl_into_global_action!(
119-
channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentRequestSendAction
120-
);
121-
impl_into_global_action!(
122-
channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentPromiseReceivedAction
123-
);
124-
impl_into_global_action!(
125-
channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentReceivedAction
126-
);
127-
impl_into_global_action!(
128-
channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentRequestReceivedAction
129-
);
130-
impl_into_global_action!(
131-
channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentResponseSendAction
132-
);
113+
impl_into_global_action!(channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentAction);
133114

134115
impl_into_global_action!(channels::rpc::P2pChannelsRpcInitAction);
135116
impl_into_global_action!(channels::rpc::P2pChannelsRpcPendingAction);

node/src/p2p/p2p_effects.rs

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -357,30 +357,20 @@ pub fn p2p_effects<S: Service>(store: &mut Store<S>, action: P2pActionWithMeta)
357357
action.effects(&meta, store);
358358
}
359359
},
360-
P2pChannelsAction::SnarkJobCommitment(action) => match action {
361-
P2pChannelsSnarkJobCommitmentAction::Init(action) => {
362-
action.effects(&meta, store);
363-
}
364-
P2pChannelsSnarkJobCommitmentAction::Pending(_) => {}
365-
P2pChannelsSnarkJobCommitmentAction::Ready(action) => {
366-
action.effects(&meta, store);
367-
}
368-
P2pChannelsSnarkJobCommitmentAction::RequestSend(action) => {
369-
action.effects(&meta, store);
370-
}
371-
P2pChannelsSnarkJobCommitmentAction::PromiseReceived(_) => {}
372-
P2pChannelsSnarkJobCommitmentAction::Received(action) => {
373-
action.effects(&meta, store);
360+
P2pChannelsAction::SnarkJobCommitment(action) => {
361+
// TODO: does the order matter here? if not this clone can be removed
362+
action.clone().effects(&meta, store);
363+
if let P2pChannelsSnarkJobCommitmentAction::Received {
364+
peer_id,
365+
commitment,
366+
} = action
367+
{
374368
store.dispatch(SnarkPoolJobCommitmentAddAction {
375-
commitment: action.commitment,
376-
sender: action.peer_id,
369+
commitment,
370+
sender: peer_id,
377371
});
378372
}
379-
P2pChannelsSnarkJobCommitmentAction::RequestReceived(_) => {}
380-
P2pChannelsSnarkJobCommitmentAction::ResponseSend(action) => {
381-
action.effects(&meta, store);
382-
}
383-
},
373+
}
384374
P2pChannelsAction::Rpc(action) => match action {
385375
P2pChannelsRpcAction::Init(action) => {
386376
action.effects(&meta, store);

node/src/snark_pool/snark_pool_effects.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use openmina_core::snark::SnarkJobCommitment;
33
use crate::p2p::channels::snark::{
44
P2pChannelsSnarkLibp2pBroadcastAction, P2pChannelsSnarkResponseSendAction,
55
};
6-
use crate::p2p::channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentResponseSendAction;
6+
use crate::p2p::channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentAction;
77
use crate::{ExternalSnarkWorkerAction, Service, SnarkerStrategy, State, Store};
88

99
use super::candidate::snark_pool_candidate_effects;
@@ -138,7 +138,7 @@ pub fn snark_pool_effects<S: Service>(store: &mut Store<S>, action: SnarkPoolAct
138138
let (commitments, first_index, last_index) =
139139
data_to_send(state, index_and_limit, |job| job.commitment_msg().cloned());
140140

141-
let send_commitments = P2pChannelsSnarkJobCommitmentResponseSendAction {
141+
let send_commitments = P2pChannelsSnarkJobCommitmentAction::ResponseSend {
142142
peer_id: a.peer_id,
143143
commitments,
144144
first_index,

p2p/src/channels/p2p_channels_effects.rs

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ use super::{
1313
P2pChannelsSnarkRequestReceivedAction, SnarkPropagationChannelMsg,
1414
},
1515
snark_job_commitment::{
16-
P2pChannelsSnarkJobCommitmentPromiseReceivedAction,
17-
P2pChannelsSnarkJobCommitmentReceivedAction,
18-
P2pChannelsSnarkJobCommitmentRequestReceivedAction,
19-
SnarkJobCommitmentPropagationChannelMsg,
16+
P2pChannelsSnarkJobCommitmentAction, SnarkJobCommitmentPropagationChannelMsg,
2017
},
2118
ChannelMsg, P2pChannelsMessageReceivedAction,
2219
};
@@ -29,9 +26,7 @@ impl P2pChannelsMessageReceivedAction {
2926
P2pChannelsSnarkRequestReceivedAction: redux::EnablingCondition<S>,
3027
P2pChannelsSnarkPromiseReceivedAction: redux::EnablingCondition<S>,
3128
P2pChannelsSnarkReceivedAction: redux::EnablingCondition<S>,
32-
P2pChannelsSnarkJobCommitmentRequestReceivedAction: redux::EnablingCondition<S>,
33-
P2pChannelsSnarkJobCommitmentPromiseReceivedAction: redux::EnablingCondition<S>,
34-
P2pChannelsSnarkJobCommitmentReceivedAction: redux::EnablingCondition<S>,
29+
P2pChannelsSnarkJobCommitmentAction: redux::EnablingCondition<S>,
3530
P2pChannelsRpcRequestReceivedAction: redux::EnablingCondition<S>,
3631
P2pChannelsRpcResponseReceivedAction: redux::EnablingCondition<S>,
3732
P2pDisconnectionInitAction: redux::EnablingCondition<S>,
@@ -64,19 +59,19 @@ impl P2pChannelsMessageReceivedAction {
6459
},
6560
ChannelMsg::SnarkJobCommitmentPropagation(msg) => match msg {
6661
SnarkJobCommitmentPropagationChannelMsg::GetNext { limit } => {
67-
store.dispatch(P2pChannelsSnarkJobCommitmentRequestReceivedAction {
62+
store.dispatch(P2pChannelsSnarkJobCommitmentAction::RequestReceived {
6863
peer_id,
6964
limit,
7065
})
7166
}
7267
SnarkJobCommitmentPropagationChannelMsg::WillSend { count } => {
73-
store.dispatch(P2pChannelsSnarkJobCommitmentPromiseReceivedAction {
68+
store.dispatch(P2pChannelsSnarkJobCommitmentAction::PromiseReceived {
7469
peer_id,
7570
promised_count: count,
7671
})
7772
}
7873
SnarkJobCommitmentPropagationChannelMsg::Commitment(commitment) => {
79-
store.dispatch(P2pChannelsSnarkJobCommitmentReceivedAction {
74+
store.dispatch(P2pChannelsSnarkJobCommitmentAction::Received {
8075
peer_id,
8176
commitment,
8277
})

0 commit comments

Comments
 (0)