Skip to content

Commit 3e83f53

Browse files
committed
refactor: merge DevNet into TestNet variant and identify devnet with magic ID 42
1 parent 32ea3f1 commit 3e83f53

File tree

12 files changed

+73
-72
lines changed

12 files changed

+73
-72
lines changed

internal/cardano-node/mithril-cardano-node-chain/src/chain_observer/cli_observer.rs

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,6 @@ impl CardanoCliRunner {
167167
fn post_config_command<'a>(&'a self, command: &'a mut Command) -> &'a mut Command {
168168
match self.network {
169169
CardanoNetwork::MainNet => command.arg("--mainnet"),
170-
CardanoNetwork::DevNet(magic) => command.args(vec![
171-
"--cardano-mode",
172-
"--testnet-magic",
173-
&magic.to_string(),
174-
]),
175170
CardanoNetwork::TestNet(magic) => {
176171
command.args(vec!["--testnet-magic", &magic.to_string()])
177172
}
@@ -638,26 +633,6 @@ mod tests {
638633
);
639634
}
640635

641-
#[tokio::test]
642-
async fn test_cli_devnet_runner() {
643-
let runner = CardanoCliRunner::new(
644-
PathBuf::from("cardano-cli"),
645-
PathBuf::from("/tmp/whatever.sock"),
646-
CardanoNetwork::DevNet(25),
647-
);
648-
649-
assert_cli_command!(
650-
runner.command_for_epoch(),
651-
r#""cardano-cli" "latest" "query" "tip" "--cardano-mode" "--testnet-magic" "25""#,
652-
envs: vec![(OsStr::new("CARDANO_NODE_SOCKET_PATH"), Some(OsStr::new("/tmp/whatever.sock")))]
653-
);
654-
assert_cli_command!(
655-
runner.command_for_stake_distribution(),
656-
r#""cardano-cli" "latest" "query" "stake-distribution" "--cardano-mode" "--testnet-magic" "25""#,
657-
envs: vec![(OsStr::new("CARDANO_NODE_SOCKET_PATH"), Some(OsStr::new("/tmp/whatever.sock")))]
658-
);
659-
}
660-
661636
#[tokio::test]
662637
async fn test_cli_mainnet_runner() {
663638
let runner = CardanoCliRunner::new(

mithril-aggregator/src/artifact_builder/cardano_database.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ mod tests {
161161
let test_dir = get_test_directory("should_compute_valid_artifact");
162162

163163
let beacon = CardanoDbBeacon::new(123, 3);
164-
let network = CardanoNetwork::DevNet(123);
164+
let network = CardanoNetwork::TestNet(123);
165165
let immutable_trio_file_size = 777;
166166
let ledger_file_size = 6666;
167167
let volatile_file_size = 99;

mithril-aggregator/src/artifact_builder/cardano_database_artifacts/ancillary.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ mod tests {
266266
let result = AncillaryArtifactBuilder::new(
267267
vec![],
268268
Arc::new(DumbSnapshotter::default()),
269-
CardanoNetwork::DevNet(123),
269+
CardanoNetwork::TestNet(123),
270270
TestLogger::stdout(),
271271
);
272272

@@ -284,7 +284,7 @@ mod tests {
284284
let builder = AncillaryArtifactBuilder::new(
285285
vec![Arc::new(uploader)],
286286
Arc::new(DumbSnapshotter::default()),
287-
CardanoNetwork::DevNet(123),
287+
CardanoNetwork::TestNet(123),
288288
logger,
289289
)
290290
.unwrap();
@@ -301,7 +301,7 @@ mod tests {
301301
let builder = AncillaryArtifactBuilder::new(
302302
vec![Arc::new(uploader)],
303303
Arc::new(DumbSnapshotter::default()),
304-
CardanoNetwork::DevNet(123),
304+
CardanoNetwork::TestNet(123),
305305
TestLogger::stdout(),
306306
)
307307
.unwrap();
@@ -330,7 +330,7 @@ mod tests {
330330
let builder = AncillaryArtifactBuilder::new(
331331
uploaders,
332332
Arc::new(DumbSnapshotter::default()),
333-
CardanoNetwork::DevNet(123),
333+
CardanoNetwork::TestNet(123),
334334
TestLogger::stdout(),
335335
)
336336
.unwrap();
@@ -370,7 +370,7 @@ mod tests {
370370
let builder = AncillaryArtifactBuilder::new(
371371
uploaders,
372372
Arc::new(DumbSnapshotter::new(CompressionAlgorithm::Gzip)),
373-
CardanoNetwork::DevNet(123),
373+
CardanoNetwork::TestNet(123),
374374
TestLogger::stdout(),
375375
)
376376
.unwrap();
@@ -417,7 +417,7 @@ mod tests {
417417
let builder = AncillaryArtifactBuilder::new(
418418
vec![Arc::new(uploader)],
419419
Arc::new(DumbSnapshotter::new(CompressionAlgorithm::Gzip)),
420-
CardanoNetwork::DevNet(123),
420+
CardanoNetwork::TestNet(123),
421421
TestLogger::stdout(),
422422
)
423423
.unwrap();
@@ -442,7 +442,7 @@ mod tests {
442442
let builder = AncillaryArtifactBuilder::new(
443443
vec![Arc::new(uploader)],
444444
Arc::new(DumbSnapshotter::default()),
445-
CardanoNetwork::DevNet(123),
445+
CardanoNetwork::TestNet(123),
446446
TestLogger::stdout(),
447447
)
448448
.unwrap();
@@ -467,7 +467,7 @@ mod tests {
467467
let builder = AncillaryArtifactBuilder::new(
468468
vec![Arc::new(uploader)],
469469
Arc::new(snapshotter),
470-
CardanoNetwork::DevNet(123),
470+
CardanoNetwork::TestNet(123),
471471
TestLogger::stdout(),
472472
)
473473
.unwrap();
@@ -501,7 +501,7 @@ mod tests {
501501
let builder = AncillaryArtifactBuilder::new(
502502
vec![Arc::new(uploader)],
503503
Arc::new(snapshotter),
504-
CardanoNetwork::DevNet(123),
504+
CardanoNetwork::TestNet(123),
505505
TestLogger::stdout(),
506506
)
507507
.unwrap();

mithril-aggregator/src/artifact_builder/cardano_database_artifacts/digest.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ mod tests {
388388
target_location: temp_dir.clone(),
389389
compression_algorithm: CompressionAlgorithm::Gzip,
390390
},
391-
CardanoNetwork::DevNet(123),
391+
CardanoNetwork::TestNet(123),
392392
temp_dir,
393393
Arc::new(immutable_file_digest_mapper),
394394
TestLogger::stdout(),
@@ -421,7 +421,7 @@ mod tests {
421421
target_location: temp_dir.clone(),
422422
compression_algorithm: CompressionAlgorithm::Gzip,
423423
},
424-
CardanoNetwork::DevNet(123),
424+
CardanoNetwork::TestNet(123),
425425
temp_dir,
426426
Arc::new(immutable_file_digest_mapper),
427427
TestLogger::stdout(),
@@ -455,7 +455,7 @@ mod tests {
455455
target_location: temp_dir.clone(),
456456
compression_algorithm: CompressionAlgorithm::Gzip,
457457
},
458-
CardanoNetwork::DevNet(123),
458+
CardanoNetwork::TestNet(123),
459459
PathBuf::from("/tmp/whatever"),
460460
Arc::new(MockImmutableFileDigestMapper::new()),
461461
logger,
@@ -480,7 +480,7 @@ mod tests {
480480
target_location: temp_dir.clone(),
481481
compression_algorithm: CompressionAlgorithm::Gzip,
482482
},
483-
CardanoNetwork::DevNet(123),
483+
CardanoNetwork::TestNet(123),
484484
PathBuf::from("/tmp/whatever"),
485485
Arc::new(MockImmutableFileDigestMapper::new()),
486486
TestLogger::stdout(),
@@ -513,7 +513,7 @@ mod tests {
513513
target_location: temp_dir.clone(),
514514
compression_algorithm: CompressionAlgorithm::Gzip,
515515
},
516-
CardanoNetwork::DevNet(123),
516+
CardanoNetwork::TestNet(123),
517517
PathBuf::from("/tmp/whatever"),
518518
Arc::new(MockImmutableFileDigestMapper::new()),
519519
TestLogger::stdout(),
@@ -553,7 +553,7 @@ mod tests {
553553
target_location: temp_dir.clone(),
554554
compression_algorithm: CompressionAlgorithm::Gzip,
555555
},
556-
CardanoNetwork::DevNet(123),
556+
CardanoNetwork::TestNet(123),
557557
PathBuf::from("/tmp/whatever"),
558558
Arc::new(MockImmutableFileDigestMapper::new()),
559559
TestLogger::stdout(),
@@ -601,7 +601,7 @@ mod tests {
601601
target_location: temp_dir.clone(),
602602
compression_algorithm: CompressionAlgorithm::Gzip,
603603
},
604-
CardanoNetwork::DevNet(123),
604+
CardanoNetwork::TestNet(123),
605605
temp_dir,
606606
Arc::new(immutable_file_digest_mapper),
607607
TestLogger::stdout(),
@@ -633,7 +633,7 @@ mod tests {
633633

634634
let compression_algorithm = CompressionAlgorithm::Gzip;
635635
let beacon = CardanoDbBeacon::new(3, 456);
636-
let network = CardanoNetwork::DevNet(24);
636+
let network = CardanoNetwork::TestNet(24);
637637

638638
let builder = DigestArtifactBuilder::new(
639639
SanitizedUrlWithTrailingSlash::parse("https://aggregator/").unwrap(),

mithril-aggregator/src/http_server/routes/router.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ pub struct RouterConfig {
3939
impl RouterConfig {
4040
pub fn dummy() -> Self {
4141
Self {
42-
network: CardanoNetwork::DevNet(87),
42+
network: CardanoNetwork::TestNet(87),
4343
server_url: SanitizedUrlWithTrailingSlash::parse("http://0.0.0.0:8000/").unwrap(),
4444
allowed_discriminants: BTreeSet::from([
4545
SignedEntityTypeDiscriminants::MithrilStakeDistribution,

mithril-client/src/utils/bootstrap_files.rs

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,32 @@ mod test {
8585
}
8686

8787
#[test]
88-
fn create_bootstrap_node_files_does_not_create_protocol_magic_id_file_and_create_clean_file_for_devnet()
89-
{
88+
fn create_bootstrap_node_files_creates_protocol_magic_id_file_and_create_clean_file_for_devnet()
89+
{
9090
let db_dir = temp_dir!().join("db");
9191
std::fs::create_dir_all(&db_dir).unwrap();
9292
let network = CardanoNetwork::from_code("devnet".to_string(), Some(123)).unwrap();
9393
let logger = slog::Logger::root(slog::Discard, o!());
9494

9595
create_bootstrap_node_files(&logger, &db_dir, &network.to_string()).unwrap();
9696

97+
let file_content =
98+
std::fs::read_to_string(db_dir.join(PROTOCOL_MAGIC_ID_FILENAME)).unwrap();
99+
assert_eq!(file_content, network.code().to_string());
100+
101+
assert!(db_dir.join(CLEAN_FILE_NAME).exists());
102+
}
103+
104+
#[test]
105+
fn create_bootstrap_node_files_does_not_create_protocol_magic_id_file_and_create_clean_file_for_private_network()
106+
{
107+
let db_dir = temp_dir!().join("db");
108+
std::fs::create_dir_all(&db_dir).unwrap();
109+
let network = CardanoNetwork::from_code("private".to_string(), Some(123)).unwrap();
110+
let logger = slog::Logger::root(slog::Discard, o!());
111+
112+
create_bootstrap_node_files(&logger, &db_dir, &network.to_string()).unwrap();
113+
97114
assert!(!db_dir.join(PROTOCOL_MAGIC_ID_FILENAME).exists());
98115

99116
assert!(db_dir.join(CLEAN_FILE_NAME).exists());

mithril-common/src/entities/cardano_database.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ mod tests {
186186
fn dummy() -> CardanoDatabaseSnapshot {
187187
CardanoDatabaseSnapshot::new(
188188
"mk-root-1111111111".to_string(),
189-
CardanoNetwork::DevNet(87),
189+
CardanoNetwork::TestNet(87),
190190
CardanoDbBeacon::new(2222, 55555),
191191
CardanoDatabaseSnapshotArtifactData {
192192
total_db_size_uncompressed: 0,

mithril-common/src/entities/cardano_network.rs

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use crate::{MagicId, StdResult};
77
const MAINNET_MAGIC_ID: MagicId = 764824073;
88
const PREPROD_MAGIC_ID: MagicId = 1;
99
const PREVIEW_MAGIC_ID: MagicId = 2;
10+
pub(crate) const DEVNET_MAGIC_ID: MagicId = 42;
1011

1112
#[derive(Error, Debug)]
1213
pub enum CardanoNetworkError {
@@ -21,11 +22,8 @@ pub enum CardanoNetwork {
2122
/// The Cardano mainnet network
2223
MainNet,
2324

24-
/// A Cardano test network (testnet, preview, or preprod)
25+
/// A Cardano test network (preview, preprod or private devnet)
2526
TestNet(MagicId),
26-
27-
/// A Cardano private devnet
28-
DevNet(MagicId),
2927
}
3028

3129
impl CardanoNetwork {
@@ -38,6 +36,7 @@ impl CardanoNetwork {
3836
"mainnet" => Ok(CardanoNetwork::MainNet),
3937
"preview" => Ok(CardanoNetwork::TestNet(PREVIEW_MAGIC_ID)),
4038
"preprod" => Ok(CardanoNetwork::TestNet(PREPROD_MAGIC_ID)),
39+
"devnet" => Ok(CardanoNetwork::TestNet(DEVNET_MAGIC_ID)),
4140
"private" => {
4241
if let Some(magic) = network_magic {
4342
Ok(CardanoNetwork::TestNet(magic))
@@ -47,15 +46,6 @@ impl CardanoNetwork {
4746
))
4847
}
4948
}
50-
"devnet" => {
51-
if let Some(magic) = network_magic {
52-
Ok(CardanoNetwork::DevNet(magic))
53-
} else {
54-
Err(CardanoNetworkError::ParseFromCode(
55-
"no NETWORK MAGIC number given for devnet network".to_string(),
56-
))
57-
}
58-
}
5949
what => Err(CardanoNetworkError::ParseFromCode(format!(
6050
"could not parse network '{what}', the only recognized networks are: mainnet, devnet, testnet, preview, preprod and private"
6151
))),
@@ -66,7 +56,6 @@ impl CardanoNetwork {
6656
pub fn code(&self) -> MagicId {
6757
match *self {
6858
CardanoNetwork::MainNet => MAINNET_MAGIC_ID,
69-
CardanoNetwork::DevNet(magic_id) => magic_id,
7059
CardanoNetwork::TestNet(magic_id) => magic_id,
7160
}
7261
}
@@ -87,10 +76,10 @@ impl Display for CardanoNetwork {
8776
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8877
match *self {
8978
CardanoNetwork::MainNet => write!(f, "mainnet"),
90-
CardanoNetwork::DevNet(_) => write!(f, "devnet"),
9179
CardanoNetwork::TestNet(magic_id) => match magic_id {
9280
PREVIEW_MAGIC_ID => write!(f, "preview"),
9381
PREPROD_MAGIC_ID => write!(f, "preprod"),
82+
DEVNET_MAGIC_ID => write!(f, "devnet"),
9483
_ => write!(f, "private"),
9584
},
9685
}
@@ -139,6 +128,14 @@ mod tests {
139128
CardanoNetwork::from_code("preprod".to_string(), Some(123)).unwrap(),
140129
CardanoNetwork::TestNet(PREPROD_MAGIC_ID)
141130
);
131+
assert_eq!(
132+
CardanoNetwork::from_code("devnet".to_string(), None).unwrap(),
133+
CardanoNetwork::TestNet(DEVNET_MAGIC_ID)
134+
);
135+
assert_eq!(
136+
CardanoNetwork::from_code("devnet".to_string(), Some(123)).unwrap(),
137+
CardanoNetwork::TestNet(DEVNET_MAGIC_ID)
138+
);
142139
assert_eq!(
143140
CardanoNetwork::from_code("private".to_string(), Some(123)).unwrap(),
144141
CardanoNetwork::TestNet(123)
@@ -180,12 +177,22 @@ mod tests {
180177
.unwrap();
181178
assert!(allow_unparsable_block);
182179

183-
let allow_unparsable_block = CardanoNetwork::DevNet(123)
180+
let allow_unparsable_block = CardanoNetwork::TestNet(DEVNET_MAGIC_ID)
181+
.compute_allow_unparsable_block(false)
182+
.unwrap();
183+
assert!(!allow_unparsable_block);
184+
185+
let allow_unparsable_block = CardanoNetwork::TestNet(DEVNET_MAGIC_ID)
186+
.compute_allow_unparsable_block(true)
187+
.unwrap();
188+
assert!(allow_unparsable_block);
189+
190+
let allow_unparsable_block = CardanoNetwork::TestNet(123)
184191
.compute_allow_unparsable_block(false)
185192
.unwrap();
186193
assert!(!allow_unparsable_block);
187194

188-
let allow_unparsable_block = CardanoNetwork::DevNet(123)
195+
let allow_unparsable_block = CardanoNetwork::TestNet(123)
189196
.compute_allow_unparsable_block(true)
190197
.unwrap();
191198
assert!(allow_unparsable_block);
@@ -200,7 +207,7 @@ mod tests {
200207
}
201208

202209
assert_all_conversions_eq(CardanoNetwork::MainNet, "mainnet");
203-
assert_all_conversions_eq(CardanoNetwork::DevNet(123456), "devnet");
210+
assert_all_conversions_eq(CardanoNetwork::TestNet(DEVNET_MAGIC_ID), "devnet");
204211
assert_all_conversions_eq(CardanoNetwork::TestNet(PREVIEW_MAGIC_ID), "preview");
205212
assert_all_conversions_eq(CardanoNetwork::TestNet(PREPROD_MAGIC_ID), "preprod");
206213
assert_all_conversions_eq(CardanoNetwork::TestNet(123456), "private");

mithril-common/src/entities/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ pub use cardano_database::{
4141
};
4242
pub use cardano_db_beacon::CardanoDbBeacon;
4343
pub use cardano_network::CardanoNetwork;
44+
pub(crate) use cardano_network::DEVNET_MAGIC_ID;
4445
pub use cardano_stake_distribution::CardanoStakeDistribution;
4546
pub use cardano_transaction::{CardanoTransaction, TransactionHash};
4647
pub use cardano_transactions_set_proof::CardanoTransactionsSetProof;

0 commit comments

Comments
 (0)