Skip to content

Commit

Permalink
cargo fmt
Browse files Browse the repository at this point in the history
  • Loading branch information
SebastienGllmt committed May 6, 2024
1 parent c795ff1 commit 115d588
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 11 deletions.
24 changes: 16 additions & 8 deletions blockchain-source/src/cardano/event.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use crate::cardano::time::Era;
use crate::{EventObject, GetNextFrom};
use anyhow::{anyhow};
use anyhow::anyhow;
use dcspark_core::{BlockId, BlockNumber, SlotNumber};

#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
Expand Down Expand Up @@ -105,7 +105,8 @@ impl<Tip> GetNextFrom for CardanoNetworkEvent<BlockEvent, Tip> {

impl BlockEvent {
pub(crate) fn from_serialized_block(raw_block: &[u8], era: &Era) -> anyhow::Result<Self> {
let block = cml_multi_era::MultiEraBlock::from_explicit_network_cbor_bytes(raw_block).expect("failed to deserialize block");
let block = cml_multi_era::MultiEraBlock::from_explicit_network_cbor_bytes(raw_block)
.expect("failed to deserialize block");
let header = &block.header();
Ok(BlockEvent {
raw_block: raw_block.to_vec(),
Expand All @@ -114,21 +115,28 @@ impl BlockEvent {
block_number: BlockNumber::new(header.block_number()),
slot_number: SlotNumber::new(header.slot()),
is_boundary_block: match &block {
cml_multi_era::MultiEraBlock::Byron(bb) => matches!(bb, cml_multi_era::byron::block::ByronBlock::EpochBoundary(_)),
_ => false
cml_multi_era::MultiEraBlock::Byron(bb) => matches!(
bb,
cml_multi_era::byron::block::ByronBlock::EpochBoundary(_)
),
_ => false,
},
// this is not in the header, and computing it requires knowing the network
// details, which makes implementing `Serialize` and `Deserialize`more complicated,
// unless we serialize this field too.
// it can be computed later inside carp, since we don't need this in the bridge.
epoch: match &block {
cml_multi_era::MultiEraBlock::Byron(bb) => match bb {
cml_multi_era::byron::block::ByronBlock::EpochBoundary(eb) => eb.header.consensus_data.epoch_id,
cml_multi_era::byron::block::ByronBlock::Main(m) => m.header.consensus_data.byron_slot_id.epoch,
cml_multi_era::byron::block::ByronBlock::EpochBoundary(eb) => {
eb.header.consensus_data.epoch_id
}
cml_multi_era::byron::block::ByronBlock::Main(m) => {
m.header.consensus_data.byron_slot_id.epoch
}
},
_ => era
.absolute_slot_to_epoch(header.slot())
.ok_or(anyhow!("can't detect epoch of block"))?
.absolute_slot_to_epoch(header.slot())
.ok_or(anyhow!("can't detect epoch of block"))?,
},
})
}
Expand Down
14 changes: 11 additions & 3 deletions blockchain-source/src/cardano/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ use anyhow::{Context as _, Result};
use cardano_net::{NetworkDescription, NetworkHandle};
pub use cardano_sdk::protocol::Tip;
use cardano_sdk::protocol::Version;
pub use configuration::{NetworkConfiguration};
pub use configuration::NetworkConfiguration;
use dcspark_core::critical_error;
pub use point::*;
use tokio::sync::{mpsc, oneshot};
Expand Down Expand Up @@ -100,9 +100,17 @@ impl CardanoSource {
let config = NetworkDescription {
anchor_hosts: vec![(url.to_string(), *port)],
chain_info: cardano_sdk::chaininfo::ChainInfo {
protocol_magic: cardano_sdk::protocol::Magic(u32::from(network_config.chain_info.protocol_magic()) as u64),
protocol_magic: cardano_sdk::protocol::Magic(u32::from(
network_config.chain_info.protocol_magic(),
) as u64),
network_id: network_config.chain_info.network_id(),
bech32_hrp_address: if network_config.chain_info == cml_chain::genesis::network_info::NetworkInfo::mainnet() { "addr" } else { "addr_test" },
bech32_hrp_address: if network_config.chain_info
== cml_chain::genesis::network_info::NetworkInfo::mainnet()
{
"addr"
} else {
"addr_test"
},
},
net_versions: vec![Version::V6, Version::V7, Version::V8],
known_points: vec![],
Expand Down

0 comments on commit 115d588

Please sign in to comment.