From 319dcac62621f0b695c24f34d5353efa924ead4c Mon Sep 17 00:00:00 2001 From: Jean-Philippe Raynaud Date: Wed, 15 May 2024 10:20:46 +0200 Subject: [PATCH 01/49] feat: provide conversions between pallas Point and ChainPoint --- .../src/entities/cardano_chain_point.rs | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/mithril-common/src/entities/cardano_chain_point.rs b/mithril-common/src/entities/cardano_chain_point.rs index d49262ed7de..50ea4f39b56 100644 --- a/mithril-common/src/entities/cardano_chain_point.rs +++ b/mithril-common/src/entities/cardano_chain_point.rs @@ -1,3 +1,4 @@ +use pallas_network::miniprotocols::{chainsync::Tip, Point}; use serde::{Deserialize, Serialize}; /// [Cardano Slot number](https://docs.cardano.org/learn/cardano-node/#slotsandepochs) @@ -21,3 +22,48 @@ pub struct ChainPoint { /// The hex encoded block hash pub block_hash: BlockHash, } + +impl From for Point { + fn from(chain_point: ChainPoint) -> Self { + Point::Specific( + chain_point.slot_number, + hex::decode(&chain_point.block_hash).unwrap(), // TODO: keep block_hash as a Vec + ) + } +} + +impl From for ChainPoint { + fn from(point: Point) -> Self { + match point { + Point::Specific(slot_number, block_hash) => Self { + slot_number, + block_number: 0, + block_hash: hex::encode(block_hash), + }, + Point::Origin => Self { + slot_number: 0, + block_number: 0, + block_hash: String::new(), + }, + } + } +} + +impl From for ChainPoint { + fn from(tip: Tip) -> Self { + let chain_point: Self = tip.0.into(); + Self { + slot_number: chain_point.slot_number, + block_number: tip.1, + block_hash: chain_point.block_hash, + } + } +} + +impl From for Tip { + fn from(chain_point: ChainPoint) -> Self { + let block_number = chain_point.block_number; + let point: Point = chain_point.into(); + Tip(point, block_number) + } +} From 369b0c0dbc3f9015f6cee39d2b5ee1a32b9464a3 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Raynaud Date: Wed, 15 May 2024 10:21:30 +0200 Subject: [PATCH 02/49] feat: add ChainBlockNextAction entity --- mithril-common/src/chain_reader/entity.rs | 22 ++++++++++++++++++++++ mithril-common/src/chain_reader/mod.rs | 5 +++++ mithril-common/src/lib.rs | 1 + 3 files changed, 28 insertions(+) create mode 100644 mithril-common/src/chain_reader/entity.rs create mode 100644 mithril-common/src/chain_reader/mod.rs diff --git a/mithril-common/src/chain_reader/entity.rs b/mithril-common/src/chain_reader/entity.rs new file mode 100644 index 00000000000..ee8cea585cd --- /dev/null +++ b/mithril-common/src/chain_reader/entity.rs @@ -0,0 +1,22 @@ +use pallas_traverse::MultiEraBlock; + +use crate::entities::ChainPoint; + +/// The parsed chain block representation +pub type ParsedBlock<'a> = MultiEraBlock<'a>; + +/// The action that indicates what to do next when scanning the chain +pub enum ChainBlockNextAction<'a> { + /// RollForward event (we are still on the correct fork) + RollForward { + /// The next point in the chain to read + next_point: ChainPoint, + /// The parsed block + block: ParsedBlock<'a>, + }, + /// RollBackward event (we are on an incorrect fork, we need to get back a point to roll forward again) + RollBackward { + /// The rollback point in the chain to read (as a new valid point to read from on the main chain, which has already been seen) + rollback_point: ChainPoint, + }, +} diff --git a/mithril-common/src/chain_reader/mod.rs b/mithril-common/src/chain_reader/mod.rs new file mode 100644 index 00000000000..92b6f3ae747 --- /dev/null +++ b/mithril-common/src/chain_reader/mod.rs @@ -0,0 +1,5 @@ +mod entity; +mod pallas_chain_reader; + +pub use entity::*; +pub use pallas_chain_reader::*; diff --git a/mithril-common/src/lib.rs b/mithril-common/src/lib.rs index 6fb6924cfc4..2994d22b6cd 100644 --- a/mithril-common/src/lib.rs +++ b/mithril-common/src/lib.rs @@ -53,6 +53,7 @@ macro_rules! cfg_test_tools { pub mod api_version; pub mod certificate_chain; pub mod chain_observer; +pub mod chain_reader; pub mod crypto_helper; pub mod entities; #[macro_use] From 558ef5416a4ec3bd2d8807102c90dfc5159ea419 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Raynaud Date: Wed, 15 May 2024 10:23:20 +0200 Subject: [PATCH 03/49] feat: add ChainBlockReader interface --- mithril-common/src/chain_reader/interface.rs | 18 ++++++++++++++++++ mithril-common/src/chain_reader/mod.rs | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 mithril-common/src/chain_reader/interface.rs diff --git a/mithril-common/src/chain_reader/interface.rs b/mithril-common/src/chain_reader/interface.rs new file mode 100644 index 00000000000..a27bf68c9bc --- /dev/null +++ b/mithril-common/src/chain_reader/interface.rs @@ -0,0 +1,18 @@ +use async_trait::async_trait; + +use crate::{entities::ChainPoint, StdResult}; + +use super::ChainBlockNextAction; + +/// The trait that reads events to either: +/// - read next block on the chain +/// - rollback to another point in case of rollback +/// - do nothing +#[async_trait] +pub trait ChainBlockReader { + /// Get next chain block action + async fn get_next_chain_block( + &self, + point: &ChainPoint, + ) -> StdResult>>; +} diff --git a/mithril-common/src/chain_reader/mod.rs b/mithril-common/src/chain_reader/mod.rs index 92b6f3ae747..f18397900c7 100644 --- a/mithril-common/src/chain_reader/mod.rs +++ b/mithril-common/src/chain_reader/mod.rs @@ -1,5 +1,7 @@ mod entity; +mod interface; mod pallas_chain_reader; pub use entity::*; +pub use interface::*; pub use pallas_chain_reader::*; From 6c3375782f8eaf2d3446cda07e79231b97812d11 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Raynaud Date: Wed, 15 May 2024 10:25:26 +0200 Subject: [PATCH 04/49] wip: implement PallasChainBlockReader --- .../src/chain_reader/pallas_chain_reader.rs | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 mithril-common/src/chain_reader/pallas_chain_reader.rs diff --git a/mithril-common/src/chain_reader/pallas_chain_reader.rs b/mithril-common/src/chain_reader/pallas_chain_reader.rs new file mode 100644 index 00000000000..656c695a046 --- /dev/null +++ b/mithril-common/src/chain_reader/pallas_chain_reader.rs @@ -0,0 +1,73 @@ +use std::path::{Path, PathBuf}; + +use anyhow::{anyhow, Context}; +use async_trait::async_trait; +use pallas_network::{facades::NodeClient, miniprotocols::chainsync::NextResponse}; +use pallas_traverse::MultiEraBlock; +use slog::Logger; + +use crate::{entities::ChainPoint, CardanoNetwork, StdResult}; + +use super::{ChainBlockNextAction, ChainBlockReader}; + +/// ][PallasChainReader] which reads blocks with chainsync mini protocol +pub struct PallasChainReader { + socket: PathBuf, + network: CardanoNetwork, + logger: Logger, +} + +impl PallasChainReader { + /// Factory + pub fn new(socket: &Path, network: CardanoNetwork, logger: Logger) -> Self { + Self { + socket: socket.to_owned(), + network, + logger, + } + } + + /// Creates and returns a new `NodeClient` connected to the specified socket. + async fn new_client(&self) -> StdResult { + let magic = self.network.code(); + NodeClient::connect(&self.socket, magic) + .await + .map_err(|err| anyhow!(err)) + .with_context(|| "PallasChainObserver failed to create new client") + } +} + +#[async_trait] +impl<'a> ChainBlockReader<'a> for PallasChainReader { + async fn get_next_chain_block( + &self, + point: &ChainPoint, + ) -> StdResult>> { + let mut client = self.new_client().await?; + + let chainsync = client.chainsync(); + + let (intersect_point, _) = chainsync + .find_intersect(vec![point.to_owned().into()]) + .await?; + let _ = intersect_point + .ok_or_else(|| anyhow!("PallasChainReader failed to find intersect")) + .unwrap(); + + match chainsync.request_next().await? { + NextResponse::RollForward(raw_block, forward_tip) => { + let block = MultiEraBlock::decode(&raw_block.to_owned())?; + Ok(Some(ChainBlockNextAction::RollForward { + next_point: forward_tip.into(), + block, + })) + } + NextResponse::RollBackward(rollback_point, _) => { + Ok(Some(ChainBlockNextAction::RollBackward { + rollback_point: rollback_point.into(), + })) + } + NextResponse::Await => Ok(None), + } + } +} From 3fa1a672a4173b387a931aa0631dd23d2fa6d6b2 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Raynaud Date: Wed, 15 May 2024 13:12:42 +0200 Subject: [PATCH 05/49] fix: use raw block content instead of parsed blocks --- mithril-common/src/chain_reader/entity.rs | 12 ++++++------ mithril-common/src/chain_reader/interface.rs | 2 +- mithril-common/src/chain_reader/mod.rs | 2 ++ .../src/chain_reader/pallas_chain_reader.rs | 13 ++++--------- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/mithril-common/src/chain_reader/entity.rs b/mithril-common/src/chain_reader/entity.rs index ee8cea585cd..7e846f4d65b 100644 --- a/mithril-common/src/chain_reader/entity.rs +++ b/mithril-common/src/chain_reader/entity.rs @@ -1,18 +1,18 @@ -use pallas_traverse::MultiEraBlock; +use pallas_network::miniprotocols::chainsync::BlockContent; use crate::entities::ChainPoint; -/// The parsed chain block representation -pub type ParsedBlock<'a> = MultiEraBlock<'a>; +/// The raw chain block representation +pub struct RawChainBlock(pub BlockContent); /// The action that indicates what to do next when scanning the chain -pub enum ChainBlockNextAction<'a> { +pub enum ChainBlockNextAction { /// RollForward event (we are still on the correct fork) RollForward { /// The next point in the chain to read next_point: ChainPoint, - /// The parsed block - block: ParsedBlock<'a>, + /// The raw chain block + raw_block: RawChainBlock, }, /// RollBackward event (we are on an incorrect fork, we need to get back a point to roll forward again) RollBackward { diff --git a/mithril-common/src/chain_reader/interface.rs b/mithril-common/src/chain_reader/interface.rs index a27bf68c9bc..16d0f9c3491 100644 --- a/mithril-common/src/chain_reader/interface.rs +++ b/mithril-common/src/chain_reader/interface.rs @@ -14,5 +14,5 @@ pub trait ChainBlockReader { async fn get_next_chain_block( &self, point: &ChainPoint, - ) -> StdResult>>; + ) -> StdResult>; } diff --git a/mithril-common/src/chain_reader/mod.rs b/mithril-common/src/chain_reader/mod.rs index f18397900c7..c5f13f410c5 100644 --- a/mithril-common/src/chain_reader/mod.rs +++ b/mithril-common/src/chain_reader/mod.rs @@ -1,3 +1,5 @@ +//! Tools to read chain blocks sequentially + mod entity; mod interface; mod pallas_chain_reader; diff --git a/mithril-common/src/chain_reader/pallas_chain_reader.rs b/mithril-common/src/chain_reader/pallas_chain_reader.rs index 656c695a046..3a5f381ab3c 100644 --- a/mithril-common/src/chain_reader/pallas_chain_reader.rs +++ b/mithril-common/src/chain_reader/pallas_chain_reader.rs @@ -3,27 +3,23 @@ use std::path::{Path, PathBuf}; use anyhow::{anyhow, Context}; use async_trait::async_trait; use pallas_network::{facades::NodeClient, miniprotocols::chainsync::NextResponse}; -use pallas_traverse::MultiEraBlock; -use slog::Logger; use crate::{entities::ChainPoint, CardanoNetwork, StdResult}; -use super::{ChainBlockNextAction, ChainBlockReader}; +use super::{ChainBlockNextAction, ChainBlockReader, RawChainBlock}; /// ][PallasChainReader] which reads blocks with chainsync mini protocol pub struct PallasChainReader { socket: PathBuf, network: CardanoNetwork, - logger: Logger, } impl PallasChainReader { /// Factory - pub fn new(socket: &Path, network: CardanoNetwork, logger: Logger) -> Self { + pub fn new(socket: &Path, network: CardanoNetwork) -> Self { Self { socket: socket.to_owned(), network, - logger, } } @@ -42,7 +38,7 @@ impl<'a> ChainBlockReader<'a> for PallasChainReader { async fn get_next_chain_block( &self, point: &ChainPoint, - ) -> StdResult>> { + ) -> StdResult> { let mut client = self.new_client().await?; let chainsync = client.chainsync(); @@ -56,10 +52,9 @@ impl<'a> ChainBlockReader<'a> for PallasChainReader { match chainsync.request_next().await? { NextResponse::RollForward(raw_block, forward_tip) => { - let block = MultiEraBlock::decode(&raw_block.to_owned())?; Ok(Some(ChainBlockNextAction::RollForward { next_point: forward_tip.into(), - block, + raw_block: RawChainBlock(raw_block), })) } NextResponse::RollBackward(rollback_point, _) => { From 68befc1f7d255cd2db2924187a5a3b17268eaca4 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Raynaud Date: Wed, 15 May 2024 15:05:01 +0200 Subject: [PATCH 06/49] feat: make PallasChainReader reuse node client Co-authored-by: Alexsander Falcucci --- mithril-common/src/chain_reader/interface.rs | 2 +- .../src/chain_reader/pallas_chain_reader.rs | 26 ++++++++++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/mithril-common/src/chain_reader/interface.rs b/mithril-common/src/chain_reader/interface.rs index 16d0f9c3491..d45d68804e8 100644 --- a/mithril-common/src/chain_reader/interface.rs +++ b/mithril-common/src/chain_reader/interface.rs @@ -12,7 +12,7 @@ use super::ChainBlockNextAction; pub trait ChainBlockReader { /// Get next chain block action async fn get_next_chain_block( - &self, + &mut self, point: &ChainPoint, ) -> StdResult>; } diff --git a/mithril-common/src/chain_reader/pallas_chain_reader.rs b/mithril-common/src/chain_reader/pallas_chain_reader.rs index 3a5f381ab3c..cae4c90eb93 100644 --- a/mithril-common/src/chain_reader/pallas_chain_reader.rs +++ b/mithril-common/src/chain_reader/pallas_chain_reader.rs @@ -12,6 +12,7 @@ use super::{ChainBlockNextAction, ChainBlockReader, RawChainBlock}; pub struct PallasChainReader { socket: PathBuf, network: CardanoNetwork, + client: Option, } impl PallasChainReader { @@ -20,6 +21,7 @@ impl PallasChainReader { Self { socket: socket.to_owned(), network, + client: None, } } @@ -31,15 +33,33 @@ impl PallasChainReader { .map_err(|err| anyhow!(err)) .with_context(|| "PallasChainObserver failed to create new client") } + + async fn get_client(&mut self) -> StdResult<&mut NodeClient> { + if self.client.is_none() { + self.client = Some(self.new_client().await?); + } + + Ok(self.client.as_mut().unwrap()) + } +} + +impl Drop for PallasChainReader { + fn drop(&mut self) { + if let Some(client) = self.client.take() { + tokio::spawn(async move { + let _ = client.abort().await; + }); + } + } } #[async_trait] -impl<'a> ChainBlockReader<'a> for PallasChainReader { +impl ChainBlockReader for PallasChainReader { async fn get_next_chain_block( - &self, + &mut self, point: &ChainPoint, ) -> StdResult> { - let mut client = self.new_client().await?; + let client = self.get_client().await?; let chainsync = client.chainsync(); From c072815135aa323f2c3e68a5b62e57388f6b18d5 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Raynaud Date: Wed, 15 May 2024 16:25:50 +0200 Subject: [PATCH 07/49] feat: implement test server for chainsync mini-protocol Co-authored-by: Alexsander Falcucci --- .../src/chain_reader/pallas_chain_reader.rs | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/mithril-common/src/chain_reader/pallas_chain_reader.rs b/mithril-common/src/chain_reader/pallas_chain_reader.rs index cae4c90eb93..afd6dcb0f64 100644 --- a/mithril-common/src/chain_reader/pallas_chain_reader.rs +++ b/mithril-common/src/chain_reader/pallas_chain_reader.rs @@ -86,3 +86,57 @@ impl ChainBlockReader for PallasChainReader { } } } + +#[cfg(test)] +mod tests { + use std::{fs, path::PathBuf}; + use tokio::net::UnixListener; + + use crate::{chain_reader::ChainBlockNextAction, entities::ChainPoint}; + + /// Sets up a mock server for related tests. + async fn setup_server( + socket_path: PathBuf, + queries: Vec<(ChainPoint, ChainBlockNextAction)>, + ) -> tokio::task::JoinHandle<()> { + tokio::spawn({ + async move { + if socket_path.exists() { + fs::remove_file(&socket_path).expect("Previous socket removal failed"); + } + + let unix_listener = UnixListener::bind(socket_path.as_path()).unwrap(); + let mut server = pallas_network::facades::NodeServer::accept(&unix_listener, 10) + .await + .unwrap(); + for query in queries { + let (point, action) = query; + match action { + ChainBlockNextAction::RollForward { + raw_block, + next_point, + } => { + server + .chainsync() + .send_intersect_found(point.into(), next_point.clone().into()) + .await + .unwrap(); + server + .chainsync() + .send_roll_forward(raw_block.0, next_point.into()) + .await + .unwrap(); + } + ChainBlockNextAction::RollBackward { rollback_point } => { + server + .chainsync() + .send_roll_backward(point.into(), rollback_point.into()) + .await + .unwrap(); + } + } + } + } + }) + } +} From 4385c825da695b597ab5458d9b06e4accf68b3a5 Mon Sep 17 00:00:00 2001 From: Alexsander Falcucci Date: Mon, 20 May 2024 09:42:17 +0200 Subject: [PATCH 08/49] feat: refactor chain block processing logic in pallaschainreader - add a `process_next_chain_block` method to `chainblockreader` - implement `process_next_chain_block` in `pallaschainreader` - modify `get_next_chain_block` in `pallaschainreader` to use `process_next_chain_block` - update tests in the `chainblockreader` module - create a new directory for testing in the system's temporary folder --- mithril-common/src/chain_reader/interface.rs | 9 +- .../src/chain_reader/pallas_chain_reader.rs | 117 ++++++++---------- 2 files changed, 61 insertions(+), 65 deletions(-) diff --git a/mithril-common/src/chain_reader/interface.rs b/mithril-common/src/chain_reader/interface.rs index d45d68804e8..fac6e6c36a2 100644 --- a/mithril-common/src/chain_reader/interface.rs +++ b/mithril-common/src/chain_reader/interface.rs @@ -1,4 +1,5 @@ use async_trait::async_trait; +use pallas_network::{facades::NodeClient, miniprotocols::chainsync}; use crate::{entities::ChainPoint, StdResult}; @@ -10,7 +11,13 @@ use super::ChainBlockNextAction; /// - do nothing #[async_trait] pub trait ChainBlockReader { - /// Get next chain block action + /// Process the next chain block action + async fn process_next_chain_block( + &mut self, + point: chainsync::NextResponse, + ) -> StdResult>; + + /// Get the next chain block async fn get_next_chain_block( &mut self, point: &ChainPoint, diff --git a/mithril-common/src/chain_reader/pallas_chain_reader.rs b/mithril-common/src/chain_reader/pallas_chain_reader.rs index afd6dcb0f64..72de7b151cb 100644 --- a/mithril-common/src/chain_reader/pallas_chain_reader.rs +++ b/mithril-common/src/chain_reader/pallas_chain_reader.rs @@ -2,7 +2,10 @@ use std::path::{Path, PathBuf}; use anyhow::{anyhow, Context}; use async_trait::async_trait; -use pallas_network::{facades::NodeClient, miniprotocols::chainsync::NextResponse}; +use pallas_network::{ + facades::NodeClient, + miniprotocols::chainsync::{self, NextResponse}, +}; use crate::{entities::ChainPoint, CardanoNetwork, StdResult}; @@ -55,22 +58,11 @@ impl Drop for PallasChainReader { #[async_trait] impl ChainBlockReader for PallasChainReader { - async fn get_next_chain_block( + async fn process_next_chain_block( &mut self, - point: &ChainPoint, + next: chainsync::NextResponse, ) -> StdResult> { - let client = self.get_client().await?; - - let chainsync = client.chainsync(); - - let (intersect_point, _) = chainsync - .find_intersect(vec![point.to_owned().into()]) - .await?; - let _ = intersect_point - .ok_or_else(|| anyhow!("PallasChainReader failed to find intersect")) - .unwrap(); - - match chainsync.request_next().await? { + match next { NextResponse::RollForward(raw_block, forward_tip) => { Ok(Some(ChainBlockNextAction::RollForward { next_point: forward_tip.into(), @@ -85,58 +77,55 @@ impl ChainBlockReader for PallasChainReader { NextResponse::Await => Ok(None), } } + + async fn get_next_chain_block( + &mut self, + point: &ChainPoint, + ) -> StdResult> { + let client = self.get_client().await?; + let chainsync = client.chainsync(); + + chainsync + .find_intersect(vec![point.to_owned().into()]) + .await?; + + let next = match chainsync.has_agency() { + true => chainsync.request_next().await?, + false => chainsync.recv_while_must_reply().await?, + }; + + self.process_next_chain_block(next).await + } } #[cfg(test)] mod tests { - use std::{fs, path::PathBuf}; - use tokio::net::UnixListener; - - use crate::{chain_reader::ChainBlockNextAction, entities::ChainPoint}; - - /// Sets up a mock server for related tests. - async fn setup_server( - socket_path: PathBuf, - queries: Vec<(ChainPoint, ChainBlockNextAction)>, - ) -> tokio::task::JoinHandle<()> { - tokio::spawn({ - async move { - if socket_path.exists() { - fs::remove_file(&socket_path).expect("Previous socket removal failed"); - } - - let unix_listener = UnixListener::bind(socket_path.as_path()).unwrap(); - let mut server = pallas_network::facades::NodeServer::accept(&unix_listener, 10) - .await - .unwrap(); - for query in queries { - let (point, action) = query; - match action { - ChainBlockNextAction::RollForward { - raw_block, - next_point, - } => { - server - .chainsync() - .send_intersect_found(point.into(), next_point.clone().into()) - .await - .unwrap(); - server - .chainsync() - .send_roll_forward(raw_block.0, next_point.into()) - .await - .unwrap(); - } - ChainBlockNextAction::RollBackward { rollback_point } => { - server - .chainsync() - .send_roll_backward(point.into(), rollback_point.into()) - .await - .unwrap(); - } - } - } - } - }) + + use pallas_network::miniprotocols::Point; + + use super::*; + + use crate::test_utils::TempDir; + + /// Creates a new work directory in the system's temporary folder. + fn create_temp_dir(folder_name: &str) -> PathBuf { + TempDir::create_with_short_path("pallas_chain_observer_test", folder_name) + } + + #[tokio::test] + async fn get_next_chain_block() { + let socket_path = create_temp_dir("get_next_chain_block.socket").join("node.socket"); + let mut chain_reader = PallasChainReader::new(&socket_path, CardanoNetwork::TestNet(10)); + let known_point = Point::Specific( + 1654413, + hex::decode("7de1f036df5a133ce68a82877d14354d0ba6de7625ab918e75f3e2ecb29771c2") + .unwrap(), + ); + + let next_chain_block = chain_reader + .get_next_chain_block(&ChainPoint::from(known_point)) + .await + .unwrap(); + println!("Socket path: {:?}", socket_path); } } From c7462a69e0dd2e23b556f492acaa92e62beca764 Mon Sep 17 00:00:00 2001 From: Alexsander Falcucci Date: Mon, 20 May 2024 09:46:37 +0200 Subject: [PATCH 09/49] refactor: refactor chain reader module in pallas chain - remove unused import of `nodeclient` from `chain_reader/interface.rs` - change the variable name `next_chain_block` to `_next_chain_block` in `chain_reader/pallas_chain_reader.rs` - add a debug print statement for `socket_path` in `chain_reader/pallas_chain_reader.rs` --- mithril-common/src/chain_reader/interface.rs | 2 +- mithril-common/src/chain_reader/pallas_chain_reader.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mithril-common/src/chain_reader/interface.rs b/mithril-common/src/chain_reader/interface.rs index fac6e6c36a2..e223b491ba2 100644 --- a/mithril-common/src/chain_reader/interface.rs +++ b/mithril-common/src/chain_reader/interface.rs @@ -1,5 +1,5 @@ use async_trait::async_trait; -use pallas_network::{facades::NodeClient, miniprotocols::chainsync}; +use pallas_network::miniprotocols::chainsync; use crate::{entities::ChainPoint, StdResult}; diff --git a/mithril-common/src/chain_reader/pallas_chain_reader.rs b/mithril-common/src/chain_reader/pallas_chain_reader.rs index 72de7b151cb..94ec6af0f24 100644 --- a/mithril-common/src/chain_reader/pallas_chain_reader.rs +++ b/mithril-common/src/chain_reader/pallas_chain_reader.rs @@ -121,11 +121,11 @@ mod tests { hex::decode("7de1f036df5a133ce68a82877d14354d0ba6de7625ab918e75f3e2ecb29771c2") .unwrap(), ); + println!("Socket path: {:?}", socket_path); - let next_chain_block = chain_reader + let _next_chain_block = chain_reader .get_next_chain_block(&ChainPoint::from(known_point)) .await .unwrap(); - println!("Socket path: {:?}", socket_path); } } From 85b14f22490cb62bd7b1cc011f47de5c942927a0 Mon Sep 17 00:00:00 2001 From: Alexsander Falcucci Date: Mon, 20 May 2024 16:43:38 +0200 Subject: [PATCH 10/49] test: refactor error handling and test setup in pallaschainreader - changes were made to the `pallaschainreader` struct, adding the `new` method and modifying the error context message - additional imports and async function `setup_server` were added for mock server setup in tests - modifications were made to the `get_next_chain_block` test, spawning a client and setting up a server for testing --- .../src/chain_reader/pallas_chain_reader.rs | 104 ++++++++++++++++-- 1 file changed, 95 insertions(+), 9 deletions(-) diff --git a/mithril-common/src/chain_reader/pallas_chain_reader.rs b/mithril-common/src/chain_reader/pallas_chain_reader.rs index 94ec6af0f24..b00fa4b5918 100644 --- a/mithril-common/src/chain_reader/pallas_chain_reader.rs +++ b/mithril-common/src/chain_reader/pallas_chain_reader.rs @@ -19,7 +19,7 @@ pub struct PallasChainReader { } impl PallasChainReader { - /// Factory + /// Creates a new `PallasChainReader` with the specified socket and network. pub fn new(socket: &Path, network: CardanoNetwork) -> Self { Self { socket: socket.to_owned(), @@ -34,7 +34,7 @@ impl PallasChainReader { NodeClient::connect(&self.socket, magic) .await .map_err(|err| anyhow!(err)) - .with_context(|| "PallasChainObserver failed to create new client") + .with_context(|| "PallasChainReader failed to create new client") } async fn get_client(&mut self) -> StdResult<&mut NodeClient> { @@ -101,7 +101,13 @@ impl ChainBlockReader for PallasChainReader { #[cfg(test)] mod tests { - use pallas_network::miniprotocols::Point; + use std::fs; + + use pallas_network::miniprotocols::{ + chainsync::{BlockContent, ClientRequest, HeaderContent, Tip}, + Point, + }; + use tokio::net::UnixListener; use super::*; @@ -112,20 +118,100 @@ mod tests { TempDir::create_with_short_path("pallas_chain_observer_test", folder_name) } + /// Sets up a mock server for related tests. + /// + /// Use the `intersections` parameter to define exactly how many + /// local state queries should be intersepted by the `mock_server` + /// and avoid any panic errors. + async fn setup_server(socket_path: PathBuf, intersections: u32) -> tokio::task::JoinHandle<()> { + let known_point = Point::Specific( + 1654413, + hex::decode("7de1f036df5a133ce68a82877d14354d0ba6de7625ab918e75f3e2ecb29771c2") + .unwrap(), + ); + + tokio::spawn({ + async move { + if socket_path.exists() { + fs::remove_file(&socket_path).expect("Previous socket removal failed"); + } + + let unix_listener = UnixListener::bind(socket_path.as_path()).unwrap(); + let mut server = pallas_network::facades::NodeServer::accept(&unix_listener, 10) + .await + .unwrap(); + + let chansync_server = server.chainsync(); + + let intersect_points = + match chansync_server.recv_while_idle().await.unwrap().unwrap() { + ClientRequest::Intersect(points) => points, + ClientRequest::RequestNext => panic!("unexpected message"), + }; + + chansync_server + .send_intersect_found(known_point.clone(), Tip(known_point.clone(), 1337)) + .await + .unwrap(); + + // chansync_server receives request next from client, sends rollbackwards + match chansync_server.recv_while_idle().await.unwrap().unwrap() { + ClientRequest::RequestNext => (), + ClientRequest::Intersect(_) => panic!("unexpected message"), + }; + + chansync_server + .send_roll_backward(known_point.clone(), Tip(known_point.clone(), 1337)) + .await + .unwrap(); + + // server receives request next from client, sends rollforwards + match chansync_server.recv_while_idle().await.unwrap().unwrap() { + ClientRequest::RequestNext => (), + ClientRequest::Intersect(_) => panic!("unexpected message"), + }; + + // mock + let block = BlockContent(hex::decode("c0ffeec0ffeec0ffee").unwrap()); + + chansync_server + .send_roll_forward(block, Tip(known_point.clone(), 1337)) + .await + .unwrap(); + + // server receives request next from client, sends await reply + // then rollforwards + match chansync_server.recv_while_idle().await.unwrap().unwrap() { + ClientRequest::RequestNext => (), + ClientRequest::Intersect(_) => panic!("unexpected message"), + }; + + chansync_server.send_await_reply().await.unwrap(); + server.abort().await; + } + }) + } + #[tokio::test] async fn get_next_chain_block() { let socket_path = create_temp_dir("get_next_chain_block.socket").join("node.socket"); - let mut chain_reader = PallasChainReader::new(&socket_path, CardanoNetwork::TestNet(10)); + let server = setup_server(socket_path.clone(), 1); let known_point = Point::Specific( 1654413, hex::decode("7de1f036df5a133ce68a82877d14354d0ba6de7625ab918e75f3e2ecb29771c2") .unwrap(), ); - println!("Socket path: {:?}", socket_path); - let _next_chain_block = chain_reader - .get_next_chain_block(&ChainPoint::from(known_point)) - .await - .unwrap(); + let client = tokio::spawn(async move { + let mut chain_reader = + PallasChainReader::new(&socket_path, CardanoNetwork::TestNet(10)); + chain_reader + .get_next_chain_block(&ChainPoint::from(known_point)) + .await + .unwrap(); + }); + + let (_, client_res) = tokio::join!(server, client); + println!("{:?}", client_res); } } From a5b1eab1fad24ba55f968019e8172fcb1b810a27 Mon Sep 17 00:00:00 2001 From: Alexsander Falcucci Date: Mon, 20 May 2024 17:16:16 +0200 Subject: [PATCH 11/49] refactor: improve error handling and message processing - remove unnecessary match block and panic statement - update the chain reader to properly handle messages --- mithril-common/src/chain_reader/pallas_chain_reader.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/mithril-common/src/chain_reader/pallas_chain_reader.rs b/mithril-common/src/chain_reader/pallas_chain_reader.rs index b00fa4b5918..b38342c59cf 100644 --- a/mithril-common/src/chain_reader/pallas_chain_reader.rs +++ b/mithril-common/src/chain_reader/pallas_chain_reader.rs @@ -143,11 +143,7 @@ mod tests { let chansync_server = server.chainsync(); - let intersect_points = - match chansync_server.recv_while_idle().await.unwrap().unwrap() { - ClientRequest::Intersect(points) => points, - ClientRequest::RequestNext => panic!("unexpected message"), - }; + chansync_server.recv_while_idle().await.unwrap(); chansync_server .send_intersect_found(known_point.clone(), Tip(known_point.clone(), 1337)) From dea94840e112426a480967c80ebdfa11d2afcab5 Mon Sep 17 00:00:00 2001 From: Alexsander Falcucci Date: Mon, 20 May 2024 18:00:36 +0200 Subject: [PATCH 12/49] fix: improve error handling and test coverage - fix a typo in the pallaschainreader error message - update the usage of nodeserver in the tests module --- .../src/chain_reader/pallas_chain_reader.rs | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/mithril-common/src/chain_reader/pallas_chain_reader.rs b/mithril-common/src/chain_reader/pallas_chain_reader.rs index b38342c59cf..b639b4a8c05 100644 --- a/mithril-common/src/chain_reader/pallas_chain_reader.rs +++ b/mithril-common/src/chain_reader/pallas_chain_reader.rs @@ -34,7 +34,7 @@ impl PallasChainReader { NodeClient::connect(&self.socket, magic) .await .map_err(|err| anyhow!(err)) - .with_context(|| "PallasChainReader failed to create new client") + .with_context(|| "PallasChainReader failed to create a new client") } async fn get_client(&mut self) -> StdResult<&mut NodeClient> { @@ -103,9 +103,12 @@ mod tests { use std::fs; - use pallas_network::miniprotocols::{ - chainsync::{BlockContent, ClientRequest, HeaderContent, Tip}, - Point, + use pallas_network::{ + facades::NodeServer, + miniprotocols::{ + chainsync::{BlockContent, ClientRequest, Tip}, + Point, + }, }; use tokio::net::UnixListener; @@ -137,9 +140,7 @@ mod tests { } let unix_listener = UnixListener::bind(socket_path.as_path()).unwrap(); - let mut server = pallas_network::facades::NodeServer::accept(&unix_listener, 10) - .await - .unwrap(); + let mut server = NodeServer::accept(&unix_listener, 10).await.unwrap(); let chansync_server = server.chainsync(); @@ -190,17 +191,16 @@ mod tests { #[tokio::test] async fn get_next_chain_block() { - let socket_path = create_temp_dir("get_next_chain_block.socket").join("node.socket"); - let server = setup_server(socket_path.clone(), 1); + let socket_path = create_temp_dir("get_next_chain_block").join("node.socket"); let known_point = Point::Specific( 1654413, hex::decode("7de1f036df5a133ce68a82877d14354d0ba6de7625ab918e75f3e2ecb29771c2") .unwrap(), ); - + let server = setup_server(socket_path.clone(), 1); let client = tokio::spawn(async move { let mut chain_reader = - PallasChainReader::new(&socket_path, CardanoNetwork::TestNet(10)); + PallasChainReader::new(socket_path.as_path(), CardanoNetwork::TestNet(10)); chain_reader .get_next_chain_block(&ChainPoint::from(known_point)) .await From c3db1afd1c6c769882b2226cef0655e8d221afaa Mon Sep 17 00:00:00 2001 From: Alexsander Falcucci Date: Mon, 20 May 2024 18:24:27 +0200 Subject: [PATCH 13/49] refactor: refactor server setup for improved async handling - remove unnecessary code related to `known_point` initialization - modify the `setup_server` function to return a `joinhandle` - add an `await` statement when initializing the `server` variable in tests module - change the type of `server` variable to include the `await` statement --- .../src/chain_reader/pallas_chain_reader.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/mithril-common/src/chain_reader/pallas_chain_reader.rs b/mithril-common/src/chain_reader/pallas_chain_reader.rs index b639b4a8c05..4ee8eba74a7 100644 --- a/mithril-common/src/chain_reader/pallas_chain_reader.rs +++ b/mithril-common/src/chain_reader/pallas_chain_reader.rs @@ -100,7 +100,6 @@ impl ChainBlockReader for PallasChainReader { #[cfg(test)] mod tests { - use std::fs; use pallas_network::{ @@ -127,18 +126,18 @@ mod tests { /// local state queries should be intersepted by the `mock_server` /// and avoid any panic errors. async fn setup_server(socket_path: PathBuf, intersections: u32) -> tokio::task::JoinHandle<()> { - let known_point = Point::Specific( - 1654413, - hex::decode("7de1f036df5a133ce68a82877d14354d0ba6de7625ab918e75f3e2ecb29771c2") - .unwrap(), - ); - tokio::spawn({ async move { if socket_path.exists() { fs::remove_file(&socket_path).expect("Previous socket removal failed"); } + let known_point = Point::Specific( + 1654413, + hex::decode("7de1f036df5a133ce68a82877d14354d0ba6de7625ab918e75f3e2ecb29771c2") + .unwrap(), + ); + let unix_listener = UnixListener::bind(socket_path.as_path()).unwrap(); let mut server = NodeServer::accept(&unix_listener, 10).await.unwrap(); @@ -197,7 +196,7 @@ mod tests { hex::decode("7de1f036df5a133ce68a82877d14354d0ba6de7625ab918e75f3e2ecb29771c2") .unwrap(), ); - let server = setup_server(socket_path.clone(), 1); + let server = setup_server(socket_path.clone(), 1).await; let client = tokio::spawn(async move { let mut chain_reader = PallasChainReader::new(socket_path.as_path(), CardanoNetwork::TestNet(10)); From 43382a5434df4da146496f0835175897886be113 Mon Sep 17 00:00:00 2001 From: Alexsander Falcucci Date: Mon, 20 May 2024 19:50:35 +0200 Subject: [PATCH 14/49] refactor: refactor debug statements and function calls - add `debug` derive to `rawchainblock` and `chainblocknextaction` structs - add `println` statements for debugging purposes - update function calls in `impl chainblockreader for pallaschainreader` - remove match conditions in `mod tests` section that were unnecessary - update variable assignments and logging in `mod tests` section --- mithril-common/src/chain_reader/entity.rs | 2 ++ .../src/chain_reader/pallas_chain_reader.rs | 27 +++++++++---------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/mithril-common/src/chain_reader/entity.rs b/mithril-common/src/chain_reader/entity.rs index 7e846f4d65b..2144ee49603 100644 --- a/mithril-common/src/chain_reader/entity.rs +++ b/mithril-common/src/chain_reader/entity.rs @@ -3,9 +3,11 @@ use pallas_network::miniprotocols::chainsync::BlockContent; use crate::entities::ChainPoint; /// The raw chain block representation +#[derive(Debug)] pub struct RawChainBlock(pub BlockContent); /// The action that indicates what to do next when scanning the chain +#[derive(Debug)] pub enum ChainBlockNextAction { /// RollForward event (we are still on the correct fork) RollForward { diff --git a/mithril-common/src/chain_reader/pallas_chain_reader.rs b/mithril-common/src/chain_reader/pallas_chain_reader.rs index 4ee8eba74a7..fb9950248fc 100644 --- a/mithril-common/src/chain_reader/pallas_chain_reader.rs +++ b/mithril-common/src/chain_reader/pallas_chain_reader.rs @@ -70,6 +70,7 @@ impl ChainBlockReader for PallasChainReader { })) } NextResponse::RollBackward(rollback_point, _) => { + println!("Rolling back to {:?}", rollback_point); Ok(Some(ChainBlockNextAction::RollBackward { rollback_point: rollback_point.into(), })) @@ -84,16 +85,22 @@ impl ChainBlockReader for PallasChainReader { ) -> StdResult> { let client = self.get_client().await?; let chainsync = client.chainsync(); + println!("1.find_intersect start"); - chainsync + let intersection = chainsync .find_intersect(vec![point.to_owned().into()]) .await?; + println!("2.find_intersect done"); + println!("intersection: {:?}", intersection); let next = match chainsync.has_agency() { true => chainsync.request_next().await?, false => chainsync.recv_while_must_reply().await?, }; + println!("3.request_next done"); + println!("next: {:?}", next); + self.process_next_chain_block(next).await } } @@ -151,10 +158,7 @@ mod tests { .unwrap(); // chansync_server receives request next from client, sends rollbackwards - match chansync_server.recv_while_idle().await.unwrap().unwrap() { - ClientRequest::RequestNext => (), - ClientRequest::Intersect(_) => panic!("unexpected message"), - }; + chansync_server.recv_while_idle().await.unwrap(); chansync_server .send_roll_backward(known_point.clone(), Tip(known_point.clone(), 1337)) @@ -162,10 +166,7 @@ mod tests { .unwrap(); // server receives request next from client, sends rollforwards - match chansync_server.recv_while_idle().await.unwrap().unwrap() { - ClientRequest::RequestNext => (), - ClientRequest::Intersect(_) => panic!("unexpected message"), - }; + chansync_server.recv_while_idle().await.unwrap(); // mock let block = BlockContent(hex::decode("c0ffeec0ffeec0ffee").unwrap()); @@ -177,10 +178,7 @@ mod tests { // server receives request next from client, sends await reply // then rollforwards - match chansync_server.recv_while_idle().await.unwrap().unwrap() { - ClientRequest::RequestNext => (), - ClientRequest::Intersect(_) => panic!("unexpected message"), - }; + chansync_server.recv_while_idle().await.unwrap(); chansync_server.send_await_reply().await.unwrap(); server.abort().await; @@ -200,10 +198,11 @@ mod tests { let client = tokio::spawn(async move { let mut chain_reader = PallasChainReader::new(socket_path.as_path(), CardanoNetwork::TestNet(10)); - chain_reader + let chain_block = chain_reader .get_next_chain_block(&ChainPoint::from(known_point)) .await .unwrap(); + println!("unicorn: {:?}", chain_block); }); let (_, client_res) = tokio::join!(server, client); From fa339fe1c38d42ef53dd8aca3051f3573a2981ce Mon Sep 17 00:00:00 2001 From: Alexsander Falcucci Date: Mon, 20 May 2024 21:45:00 +0200 Subject: [PATCH 15/49] feat: refactor test files for improved readability - add a function `get_fake_chain_point` to create chainpoint - comment out `println!` statements - add assert in test for expected chain block action --- default.profraw | Bin 0 -> 590336 bytes .../src/chain_reader/pallas_chain_reader.rs | 20 ++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 default.profraw diff --git a/default.profraw b/default.profraw new file mode 100644 index 0000000000000000000000000000000000000000..f4e44404def442cf42820b6ae6e7c74e31dede47 GIT binary patch literal 590336 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%0ADGL{ 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

aXA$DB#+noc-g}h=^+X{)Fzx=X(EGy|f_Fvy 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

  • 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
  • a{;eUBRvy| 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