Skip to content

Commit 858c2a9

Browse files
authored
Merge pull request #938 from 0xMimir/feat/reducer-porting-clenup
Updated channels to reuse logic
2 parents 4128f01 + 74386ab commit 858c2a9

File tree

44 files changed

+475
-1200
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+475
-1200
lines changed

node/src/action.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ impl redux::EnablingCondition<crate::State> for Action {
113113

114114
impl From<redux::AnyAction> for Action {
115115
fn from(action: redux::AnyAction) -> Self {
116-
*action.0.downcast::<Self>().expect("Downcast failed")
116+
match action.0.downcast() {
117+
Ok(action) => *action,
118+
Err(action) => Self::P2p(*action.downcast().expect("Downcast failed")),
119+
}
117120
}
118121
}

node/src/action_kind.rs

Lines changed: 21 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,13 @@ use crate::ledger::LedgerAction;
2929
use crate::ledger_effectful::LedgerEffectfulAction;
3030
use crate::p2p::callbacks::P2pCallbacksAction;
3131
use crate::p2p::channels::best_tip::P2pChannelsBestTipAction;
32-
use crate::p2p::channels::best_tip_effectful::P2pChannelsBestTipEffectfulAction;
3332
use crate::p2p::channels::rpc::P2pChannelsRpcAction;
34-
use crate::p2p::channels::rpc_effectful::P2pChannelsRpcEffectfulAction;
3533
use crate::p2p::channels::signaling::discovery::P2pChannelsSignalingDiscoveryAction;
36-
use crate::p2p::channels::signaling::discovery_effectful::P2pChannelsSignalingDiscoveryEffectfulAction;
3734
use crate::p2p::channels::signaling::exchange::P2pChannelsSignalingExchangeAction;
38-
use crate::p2p::channels::signaling::exchange_effectful::P2pChannelsSignalingExchangeEffectfulAction;
3935
use crate::p2p::channels::snark::P2pChannelsSnarkAction;
40-
use crate::p2p::channels::snark_effectful::P2pChannelsSnarkEffectfulAction;
4136
use crate::p2p::channels::snark_job_commitment::P2pChannelsSnarkJobCommitmentAction;
42-
use crate::p2p::channels::snark_job_commitment_effectful::P2pChannelsSnarkJobCommitmentEffectfulAction;
4337
use crate::p2p::channels::streaming_rpc::P2pChannelsStreamingRpcAction;
44-
use crate::p2p::channels::streaming_rpc_effectful::P2pChannelsStreamingRpcEffectfulAction;
4538
use crate::p2p::channels::transaction::P2pChannelsTransactionAction;
46-
use crate::p2p::channels::transaction_effectful::P2pChannelsTransactionEffectfulAction;
4739
use crate::p2p::channels::{
4840
P2pChannelsAction, P2pChannelsEffectfulAction, P2pChannelsMessageReceivedAction,
4941
};
@@ -221,9 +213,12 @@ pub enum ActionKind {
221213
P2pChannelsBestTipRequestReceived,
222214
P2pChannelsBestTipRequestSend,
223215
P2pChannelsBestTipResponseSend,
224-
P2pChannelsBestTipEffectfulInit,
225-
P2pChannelsBestTipEffectfulRequestSend,
226-
P2pChannelsBestTipEffectfulResponseSend,
216+
P2pChannelsEffectfulInitChannel,
217+
P2pChannelsEffectfulMessageSend,
218+
P2pChannelsEffectfulSignalingDiscoveryAnswerDecrypt,
219+
P2pChannelsEffectfulSignalingDiscoveryOfferEncryptAndSend,
220+
P2pChannelsEffectfulSignalingExchangeAnswerEncryptAndSend,
221+
P2pChannelsEffectfulSignalingExchangeOfferDecrypt,
227222
P2pChannelsMessageReceived,
228223
P2pChannelsRpcInit,
229224
P2pChannelsRpcPending,
@@ -234,9 +229,6 @@ pub enum ActionKind {
234229
P2pChannelsRpcResponseReceived,
235230
P2pChannelsRpcResponseSend,
236231
P2pChannelsRpcTimeout,
237-
P2pChannelsRpcEffectfulInit,
238-
P2pChannelsRpcEffectfulRequestSend,
239-
P2pChannelsRpcEffectfulResponseSend,
240232
P2pChannelsSignalingDiscoveryAnswerDecrypted,
241233
P2pChannelsSignalingDiscoveryAnswerReceived,
242234
P2pChannelsSignalingDiscoveryAnswerSend,
@@ -253,10 +245,6 @@ pub enum ActionKind {
253245
P2pChannelsSignalingDiscoveryReady,
254246
P2pChannelsSignalingDiscoveryRequestReceived,
255247
P2pChannelsSignalingDiscoveryRequestSend,
256-
P2pChannelsSignalingDiscoveryEffectfulAnswerDecrypt,
257-
P2pChannelsSignalingDiscoveryEffectfulInit,
258-
P2pChannelsSignalingDiscoveryEffectfulMessageSend,
259-
P2pChannelsSignalingDiscoveryEffectfulOfferEncryptAndSend,
260248
P2pChannelsSignalingExchangeAnswerReceived,
261249
P2pChannelsSignalingExchangeAnswerSend,
262250
P2pChannelsSignalingExchangeInit,
@@ -268,10 +256,6 @@ pub enum ActionKind {
268256
P2pChannelsSignalingExchangeReady,
269257
P2pChannelsSignalingExchangeRequestReceived,
270258
P2pChannelsSignalingExchangeRequestSend,
271-
P2pChannelsSignalingExchangeEffectfulAnswerEncryptAndSend,
272-
P2pChannelsSignalingExchangeEffectfulInit,
273-
P2pChannelsSignalingExchangeEffectfulMessageSend,
274-
P2pChannelsSignalingExchangeEffectfulOfferDecrypt,
275259
P2pChannelsSnarkInit,
276260
P2pChannelsSnarkLibp2pBroadcast,
277261
P2pChannelsSnarkLibp2pReceived,
@@ -282,9 +266,6 @@ pub enum ActionKind {
282266
P2pChannelsSnarkRequestReceived,
283267
P2pChannelsSnarkRequestSend,
284268
P2pChannelsSnarkResponseSend,
285-
P2pChannelsSnarkEffectfulInit,
286-
P2pChannelsSnarkEffectfulRequestSend,
287-
P2pChannelsSnarkEffectfulResponseSend,
288269
P2pChannelsSnarkJobCommitmentInit,
289270
P2pChannelsSnarkJobCommitmentPending,
290271
P2pChannelsSnarkJobCommitmentPromiseReceived,
@@ -293,9 +274,6 @@ pub enum ActionKind {
293274
P2pChannelsSnarkJobCommitmentRequestReceived,
294275
P2pChannelsSnarkJobCommitmentRequestSend,
295276
P2pChannelsSnarkJobCommitmentResponseSend,
296-
P2pChannelsSnarkJobCommitmentEffectfulInit,
297-
P2pChannelsSnarkJobCommitmentEffectfulRequestSend,
298-
P2pChannelsSnarkJobCommitmentEffectfulResponseSend,
299277
P2pChannelsStreamingRpcInit,
300278
P2pChannelsStreamingRpcPending,
301279
P2pChannelsStreamingRpcReady,
@@ -310,11 +288,6 @@ pub enum ActionKind {
310288
P2pChannelsStreamingRpcResponseSendInit,
311289
P2pChannelsStreamingRpcResponseSent,
312290
P2pChannelsStreamingRpcTimeout,
313-
P2pChannelsStreamingRpcEffectfulInit,
314-
P2pChannelsStreamingRpcEffectfulRequestSend,
315-
P2pChannelsStreamingRpcEffectfulResponseNextPartGet,
316-
P2pChannelsStreamingRpcEffectfulResponsePartSend,
317-
P2pChannelsStreamingRpcEffectfulResponseSendInit,
318291
P2pChannelsTransactionInit,
319292
P2pChannelsTransactionLibp2pBroadcast,
320293
P2pChannelsTransactionLibp2pReceived,
@@ -325,9 +298,6 @@ pub enum ActionKind {
325298
P2pChannelsTransactionRequestReceived,
326299
P2pChannelsTransactionRequestSend,
327300
P2pChannelsTransactionResponseSend,
328-
P2pChannelsTransactionEffectfulInit,
329-
P2pChannelsTransactionEffectfulRequestSend,
330-
P2pChannelsTransactionEffectfulResponseSend,
331301
P2pConnectionIncomingAnswerReady,
332302
P2pConnectionIncomingAnswerSdpCreateError,
333303
P2pConnectionIncomingAnswerSdpCreatePending,
@@ -718,7 +688,7 @@ pub enum ActionKind {
718688
}
719689

720690
impl ActionKind {
721-
pub const COUNT: u16 = 601;
691+
pub const COUNT: u16 = 579;
722692
}
723693

724694
impl std::fmt::Display for ActionKind {
@@ -1284,14 +1254,20 @@ impl ActionKindGet for P2pNetworkAction {
12841254
impl ActionKindGet for P2pChannelsEffectfulAction {
12851255
fn kind(&self) -> ActionKind {
12861256
match self {
1287-
Self::SignalingDiscovery(a) => a.kind(),
1288-
Self::SignalingExchange(a) => a.kind(),
1289-
Self::BestTip(a) => a.kind(),
1290-
Self::Rpc(a) => a.kind(),
1291-
Self::Snark(a) => a.kind(),
1292-
Self::SnarkJobCommitment(a) => a.kind(),
1293-
Self::StreamingRpc(a) => a.kind(),
1294-
Self::Transaction(a) => a.kind(),
1257+
Self::InitChannel { .. } => ActionKind::P2pChannelsEffectfulInitChannel,
1258+
Self::MessageSend { .. } => ActionKind::P2pChannelsEffectfulMessageSend,
1259+
Self::SignalingDiscoveryAnswerDecrypt { .. } => {
1260+
ActionKind::P2pChannelsEffectfulSignalingDiscoveryAnswerDecrypt
1261+
}
1262+
Self::SignalingDiscoveryOfferEncryptAndSend { .. } => {
1263+
ActionKind::P2pChannelsEffectfulSignalingDiscoveryOfferEncryptAndSend
1264+
}
1265+
Self::SignalingExchangeOfferDecrypt { .. } => {
1266+
ActionKind::P2pChannelsEffectfulSignalingExchangeOfferDecrypt
1267+
}
1268+
Self::SignalingExchangeAnswerEncryptAndSend { .. } => {
1269+
ActionKind::P2pChannelsEffectfulSignalingExchangeAnswerEncryptAndSend
1270+
}
12951271
}
12961272
}
12971273
}
@@ -1946,112 +1922,6 @@ impl ActionKindGet for P2pNetworkRpcAction {
19461922
}
19471923
}
19481924

1949-
impl ActionKindGet for P2pChannelsSignalingDiscoveryEffectfulAction {
1950-
fn kind(&self) -> ActionKind {
1951-
match self {
1952-
Self::Init { .. } => ActionKind::P2pChannelsSignalingDiscoveryEffectfulInit,
1953-
Self::MessageSend { .. } => {
1954-
ActionKind::P2pChannelsSignalingDiscoveryEffectfulMessageSend
1955-
}
1956-
Self::OfferEncryptAndSend { .. } => {
1957-
ActionKind::P2pChannelsSignalingDiscoveryEffectfulOfferEncryptAndSend
1958-
}
1959-
Self::AnswerDecrypt { .. } => {
1960-
ActionKind::P2pChannelsSignalingDiscoveryEffectfulAnswerDecrypt
1961-
}
1962-
}
1963-
}
1964-
}
1965-
1966-
impl ActionKindGet for P2pChannelsSignalingExchangeEffectfulAction {
1967-
fn kind(&self) -> ActionKind {
1968-
match self {
1969-
Self::Init { .. } => ActionKind::P2pChannelsSignalingExchangeEffectfulInit,
1970-
Self::MessageSend { .. } => {
1971-
ActionKind::P2pChannelsSignalingExchangeEffectfulMessageSend
1972-
}
1973-
Self::OfferDecrypt { .. } => {
1974-
ActionKind::P2pChannelsSignalingExchangeEffectfulOfferDecrypt
1975-
}
1976-
Self::AnswerEncryptAndSend { .. } => {
1977-
ActionKind::P2pChannelsSignalingExchangeEffectfulAnswerEncryptAndSend
1978-
}
1979-
}
1980-
}
1981-
}
1982-
1983-
impl ActionKindGet for P2pChannelsBestTipEffectfulAction {
1984-
fn kind(&self) -> ActionKind {
1985-
match self {
1986-
Self::Init { .. } => ActionKind::P2pChannelsBestTipEffectfulInit,
1987-
Self::RequestSend { .. } => ActionKind::P2pChannelsBestTipEffectfulRequestSend,
1988-
Self::ResponseSend { .. } => ActionKind::P2pChannelsBestTipEffectfulResponseSend,
1989-
}
1990-
}
1991-
}
1992-
1993-
impl ActionKindGet for P2pChannelsRpcEffectfulAction {
1994-
fn kind(&self) -> ActionKind {
1995-
match self {
1996-
Self::Init { .. } => ActionKind::P2pChannelsRpcEffectfulInit,
1997-
Self::RequestSend { .. } => ActionKind::P2pChannelsRpcEffectfulRequestSend,
1998-
Self::ResponseSend { .. } => ActionKind::P2pChannelsRpcEffectfulResponseSend,
1999-
}
2000-
}
2001-
}
2002-
2003-
impl ActionKindGet for P2pChannelsSnarkEffectfulAction {
2004-
fn kind(&self) -> ActionKind {
2005-
match self {
2006-
Self::Init { .. } => ActionKind::P2pChannelsSnarkEffectfulInit,
2007-
Self::RequestSend { .. } => ActionKind::P2pChannelsSnarkEffectfulRequestSend,
2008-
Self::ResponseSend { .. } => ActionKind::P2pChannelsSnarkEffectfulResponseSend,
2009-
}
2010-
}
2011-
}
2012-
2013-
impl ActionKindGet for P2pChannelsSnarkJobCommitmentEffectfulAction {
2014-
fn kind(&self) -> ActionKind {
2015-
match self {
2016-
Self::Init { .. } => ActionKind::P2pChannelsSnarkJobCommitmentEffectfulInit,
2017-
Self::RequestSend { .. } => {
2018-
ActionKind::P2pChannelsSnarkJobCommitmentEffectfulRequestSend
2019-
}
2020-
Self::ResponseSend { .. } => {
2021-
ActionKind::P2pChannelsSnarkJobCommitmentEffectfulResponseSend
2022-
}
2023-
}
2024-
}
2025-
}
2026-
2027-
impl ActionKindGet for P2pChannelsStreamingRpcEffectfulAction {
2028-
fn kind(&self) -> ActionKind {
2029-
match self {
2030-
Self::Init { .. } => ActionKind::P2pChannelsStreamingRpcEffectfulInit,
2031-
Self::RequestSend { .. } => ActionKind::P2pChannelsStreamingRpcEffectfulRequestSend,
2032-
Self::ResponseNextPartGet { .. } => {
2033-
ActionKind::P2pChannelsStreamingRpcEffectfulResponseNextPartGet
2034-
}
2035-
Self::ResponseSendInit { .. } => {
2036-
ActionKind::P2pChannelsStreamingRpcEffectfulResponseSendInit
2037-
}
2038-
Self::ResponsePartSend { .. } => {
2039-
ActionKind::P2pChannelsStreamingRpcEffectfulResponsePartSend
2040-
}
2041-
}
2042-
}
2043-
}
2044-
2045-
impl ActionKindGet for P2pChannelsTransactionEffectfulAction {
2046-
fn kind(&self) -> ActionKind {
2047-
match self {
2048-
Self::Init { .. } => ActionKind::P2pChannelsTransactionEffectfulInit,
2049-
Self::RequestSend { .. } => ActionKind::P2pChannelsTransactionEffectfulRequestSend,
2050-
Self::ResponseSend { .. } => ActionKind::P2pChannelsTransactionEffectfulResponseSend,
2051-
}
2052-
}
2053-
}
2054-
20551925
impl ActionKindGet for P2pConnectionOutgoingEffectfulAction {
20561926
fn kind(&self) -> ActionKind {
20571927
match self {

node/src/logger/logger_effects.rs

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use openmina_core::log::inner::field::{display, DisplayValue};
22
use openmina_core::log::inner::Value;
33
use openmina_core::log::{time_to_str, ActionEvent, EventContext};
4-
use p2p::channels::P2pChannelsEffectfulAction;
54
use p2p::connection::P2pConnectionEffectfulAction;
65
use p2p::{P2pNetworkConnectionError, P2pNetworkSchedulerAction, PeerId};
76

@@ -106,22 +105,7 @@ pub fn logger_effects<S: Service>(store: &Store<S>, action: ActionWithMetaRef<'_
106105
},
107106
},
108107
Action::P2pEffectful(action) => match action {
109-
p2p::P2pEffectfulAction::Channels(action) => match action {
110-
P2pChannelsEffectfulAction::SignalingDiscovery(action) => {
111-
action.action_event(&context)
112-
}
113-
P2pChannelsEffectfulAction::SignalingExchange(action) => {
114-
action.action_event(&context)
115-
}
116-
P2pChannelsEffectfulAction::BestTip(action) => action.action_event(&context),
117-
P2pChannelsEffectfulAction::Rpc(action) => action.action_event(&context),
118-
P2pChannelsEffectfulAction::StreamingRpc(action) => action.action_event(&context),
119-
P2pChannelsEffectfulAction::SnarkJobCommitment(action) => {
120-
action.action_event(&context)
121-
}
122-
P2pChannelsEffectfulAction::Snark(action) => action.action_event(&context),
123-
P2pChannelsEffectfulAction::Transaction(action) => action.action_event(&context),
124-
},
108+
p2p::P2pEffectfulAction::Channels(action) => action.action_event(&context),
125109
p2p::P2pEffectfulAction::Connection(action) => match action {
126110
P2pConnectionEffectfulAction::Outgoing(action) => action.action_event(&context),
127111
P2pConnectionEffectfulAction::Incoming(action) => action.action_event(&context),

node/src/p2p/mod.rs

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,6 @@
11
pub use ::p2p::*;
22
use p2p::{
3-
channels::{
4-
best_tip_effectful::P2pChannelsBestTipEffectfulAction,
5-
rpc_effectful::P2pChannelsRpcEffectfulAction,
6-
signaling::{
7-
discovery_effectful::P2pChannelsSignalingDiscoveryEffectfulAction,
8-
exchange_effectful::P2pChannelsSignalingExchangeEffectfulAction,
9-
},
10-
snark_effectful::P2pChannelsSnarkEffectfulAction,
11-
snark_job_commitment_effectful::P2pChannelsSnarkJobCommitmentEffectfulAction,
12-
streaming_rpc_effectful::P2pChannelsStreamingRpcEffectfulAction,
13-
transaction_effectful::P2pChannelsTransactionEffectfulAction,
14-
},
3+
channels::P2pChannelsEffectfulAction,
154
network::identify::stream_effectful::P2pNetworkIdentifyStreamEffectfulAction,
165
};
176

@@ -138,17 +127,8 @@ impl_into_global_action!(effectful p2p::P2pNetworkPnetEffectfulAction);
138127
impl_into_global_action!(effectful connection::incoming_effectful::P2pConnectionIncomingEffectfulAction);
139128
impl_into_global_action!(effectful connection::outgoing_effectful::P2pConnectionOutgoingEffectfulAction);
140129
impl_into_global_action!(effectful p2p::disconnection_effectful::P2pDisconnectionEffectfulAction);
141-
impl_into_global_action!(
142-
effectful P2pChannelsSignalingDiscoveryEffectfulAction
143-
);
144-
impl_into_global_action!(effectful P2pChannelsSignalingExchangeEffectfulAction);
145-
impl_into_global_action!(effectful P2pChannelsBestTipEffectfulAction);
146-
impl_into_global_action!(effectful P2pChannelsStreamingRpcEffectfulAction);
147-
impl_into_global_action!(effectful P2pChannelsTransactionEffectfulAction);
148-
impl_into_global_action!(effectful P2pChannelsSnarkJobCommitmentEffectfulAction);
149-
impl_into_global_action!(effectful P2pChannelsRpcEffectfulAction);
150-
impl_into_global_action!(effectful P2pChannelsSnarkEffectfulAction);
151130
impl_into_global_action!(effectful network::pubsub::P2pNetworkPubsubEffectfulAction);
152131
impl_into_global_action!(effectful P2pNetworkIdentifyStreamEffectfulAction);
132+
impl_into_global_action!(effectful P2pChannelsEffectfulAction);
153133

154134
impl p2p::P2pActionTrait<crate::State> for crate::Action {}

0 commit comments

Comments
 (0)