Skip to content

Commit

Permalink
Merge pull request #60 from dcSpark/remove-cardano-sdk-blocks
Browse files Browse the repository at this point in the history
Remove cardano_sdk usage for parsing blocks
  • Loading branch information
SebastienGllmt committed May 7, 2024
2 parents 3e603b2 + e9d99dc commit 05ab02e
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 364 deletions.
3 changes: 3 additions & 0 deletions blockchain-source/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@ serde = { version = "1.0.144" }
tokio = { version = "1", features = [ "full" ] }
thiserror = { version = "1.0" }
tracing = { version = "0.1" }
cml-multi-era = { version = "5.3.1" }
cml-chain = { version = "5.3.1" }
cml-core = { version = "5.3.1" }
132 changes: 0 additions & 132 deletions blockchain-source/src/cardano/block.rs

This file was deleted.

136 changes: 0 additions & 136 deletions blockchain-source/src/cardano/byron.rs

This file was deleted.

55 changes: 10 additions & 45 deletions blockchain-source/src/cardano/configuration.rs
Original file line number Diff line number Diff line change
@@ -1,56 +1,21 @@
use super::{time::Era, Point};
use cardano_sdk::protocol::Magic;
use dcspark_core::{BlockId, SlotNumber};
use std::borrow::Cow;

#[derive(Clone, Debug, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[serde(deny_unknown_fields)]
#[derive(Clone, Debug)]
pub struct NetworkConfiguration {
pub chain_info: ChainInfo,
pub chain_info: cml_chain::genesis::network_info::NetworkInfo,
pub relay: (Cow<'static, str>, u16),
pub from: Point,
pub genesis_parent: BlockId,
pub genesis: BlockId,
pub shelley_era_config: Era,
}

#[derive(Clone, Debug, serde::Deserialize)]
pub enum ChainInfo {
Mainnet,
Preprod,
Preview,
Testnet,
Custom { protocol_magic: u64, network_id: u8 },
}

impl From<ChainInfo> for cardano_sdk::chaininfo::ChainInfo {
fn from(info: ChainInfo) -> Self {
match info {
ChainInfo::Mainnet => cardano_sdk::chaininfo::ChainInfo::MAINNET,
ChainInfo::Preprod => cardano_sdk::chaininfo::ChainInfo::PREPROD,
ChainInfo::Testnet => cardano_sdk::chaininfo::ChainInfo::TESTNET,
ChainInfo::Preview => cardano_sdk::chaininfo::ChainInfo {
protocol_magic: Magic(2),
network_id: 0b0000,
bech32_hrp_address: "addr_test",
},
ChainInfo::Custom {
protocol_magic,
network_id,
} => cardano_sdk::chaininfo::ChainInfo {
protocol_magic: Magic(protocol_magic),
network_id,
bech32_hrp_address: "addr_test",
},
}
}
}

impl NetworkConfiguration {
pub fn mainnet() -> Self {
Self {
chain_info: ChainInfo::Mainnet,
chain_info: cml_chain::genesis::network_info::NetworkInfo::mainnet(),
relay: (Cow::Borrowed("relays-new.cardano-mainnet.iohk.io."), 3001),
from: Point::BlockHeader {
slot_nb: SlotNumber::new(4492800),
Expand All @@ -70,7 +35,7 @@ impl NetworkConfiguration {

pub fn testnet() -> Self {
Self {
chain_info: ChainInfo::Testnet,
chain_info: cml_chain::genesis::network_info::NetworkInfo::testnet(),
relay: (
Cow::Borrowed("relays-new.cardano-testnet.iohkdev.io."),
3001,
Expand All @@ -93,7 +58,7 @@ impl NetworkConfiguration {

pub fn preprod() -> Self {
Self {
chain_info: ChainInfo::Preprod,
chain_info: cml_chain::genesis::network_info::NetworkInfo::preprod(),
relay: (Cow::Borrowed("preprod-node.world.dev.cardano.org."), 30000),
from: Point::BlockHeader {
slot_nb: SlotNumber::new(86400),
Expand All @@ -113,7 +78,7 @@ impl NetworkConfiguration {

pub fn preview() -> Self {
Self {
chain_info: ChainInfo::Preview,
chain_info: cml_chain::genesis::network_info::NetworkInfo::preview(),
relay: (Cow::Borrowed("preview-node.world.dev.cardano.org."), 30002),
from: Point::BlockHeader {
slot_nb: SlotNumber::new(25400),
Expand All @@ -133,10 +98,10 @@ impl NetworkConfiguration {

pub fn sancho() -> Self {
Self {
chain_info: ChainInfo::Custom {
protocol_magic: 4,
network_id: 1,
},
chain_info: cml_chain::genesis::network_info::NetworkInfo::new(
1,
cml_core::network::ProtocolMagic::from(4),
),
relay: (
Cow::Borrowed("sanchonet-node.world.dev.cardano.org."),
30004,
Expand Down

0 comments on commit 05ab02e

Please sign in to comment.