Skip to content

Commit f32e3f7

Browse files
authored
build: use rust edition 2024 (#261)
* refactor(cli): use Error::other instead of ErrorKind::Other This was a clippy warning after latest Rust upgrade. * build: increase Rust edition to 2024 * refactor: replace set_env for logging set_env is unsafe now in Rust 2024.
1 parent 59fbb90 commit f32e3f7

File tree

4 files changed

+35
-37
lines changed

4 files changed

+35
-37
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ authors = [
66
"Ryan Ford <ryan@deltadevs.xyz>",
77
"Jonas Pusch <jonas@deltadevs.xyz>",
88
]
9-
edition = "2021"
9+
edition = "2024"
1010
description = "prism is the first trust-minimized key-transparency solution, allowing for automatic verification of service providers via light clients. Powered by Celestia."
1111
homepage = "https://prism.deltadevs.xyz"
1212
repository = "https://github.com/deltadevsde/prism"

crates/cli/src/cfg.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,7 @@ pub struct DatabaseArgs {
172172

173173
pub fn load_config(args: CommandArgs) -> Result<Config> {
174174
dotenv().ok();
175-
std::env::set_var("RUST_LOG", args.clone().log_level);
176-
pretty_env_logger::init();
175+
set_up_logging(&args.log_level);
177176

178177
let home_path = get_prism_home(&args).context("Failed to determine prism home path")?;
179178

@@ -204,6 +203,12 @@ pub fn load_config(args: CommandArgs) -> Result<Config> {
204203
Ok(final_config)
205204
}
206205

206+
fn set_up_logging(log_level: &str) {
207+
let mut builder = pretty_env_logger::formatted_builder();
208+
builder.parse_filters(log_level);
209+
builder.init();
210+
}
211+
207212
fn get_prism_home(args: &CommandArgs) -> Result<String> {
208213
let network_name = args.network_name.clone().unwrap_or_else(|| "custom".to_string());
209214
args.home_path

crates/cli/src/main.rs

Lines changed: 14 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ async fn main() -> std::io::Result<()> {
3131
Commands::LightClient(args) | Commands::Prover(args) | Commands::FullNode(args) => args,
3232
};
3333

34-
let config =
35-
load_config(args.clone()).map_err(|e| Error::new(ErrorKind::Other, e.to_string()))?;
34+
let config = load_config(args.clone()).map_err(|e| Error::other(e.to_string()))?;
3635

3736
let start_height = config.clone().network.celestia_config.unwrap_or_default().start_height;
3837

@@ -42,7 +41,7 @@ async fn main() -> std::io::Result<()> {
4241

4342
let da = initialize_light_da_layer(&config).await.map_err(|e| {
4443
error!("error initializing light da layer: {}", e);
45-
Error::new(ErrorKind::Other, e.to_string())
44+
Error::other(e.to_string())
4645
})?;
4746

4847
let client = ProverClient::builder().mock().build();
@@ -58,12 +57,9 @@ async fn main() -> std::io::Result<()> {
5857
))
5958
}
6059
Commands::Prover(_) => {
61-
let db =
62-
initialize_db(&config).map_err(|e| Error::new(ErrorKind::Other, e.to_string()))?;
60+
let db = initialize_db(&config).map_err(|e| Error::other(e.to_string()))?;
6361

64-
let da = initialize_da_layer(&config)
65-
.await
66-
.map_err(|e| Error::new(ErrorKind::Other, e.to_string()))?;
62+
let da = initialize_da_layer(&config).await.map_err(|e| Error::other(e.to_string()))?;
6763
info!(
6864
"keystore type: {:?}",
6965
config.clone().keystore_type.unwrap_or_default()
@@ -88,16 +84,13 @@ async fn main() -> std::io::Result<()> {
8884

8985
Arc::new(Prover::new(db, da, &prover_cfg).map_err(|e| {
9086
error!("error initializing prover: {}", e);
91-
Error::new(ErrorKind::Other, e.to_string())
87+
Error::other(e.to_string())
9288
})?)
9389
}
9490
Commands::FullNode(_) => {
95-
let db =
96-
initialize_db(&config).map_err(|e| Error::new(ErrorKind::Other, e.to_string()))?;
91+
let db = initialize_db(&config).map_err(|e| Error::other(e.to_string()))?;
9792

98-
let da = initialize_da_layer(&config)
99-
.await
100-
.map_err(|e| Error::new(ErrorKind::Other, e.to_string()))?;
93+
let da = initialize_da_layer(&config).await.map_err(|e| Error::other(e.to_string()))?;
10194

10295
info!(
10396
"keystore type: {:?}",
@@ -122,12 +115,12 @@ async fn main() -> std::io::Result<()> {
122115

123116
Arc::new(Prover::new(db, da, &prover_cfg).map_err(|e| {
124117
error!("error initializing prover: {}", e);
125-
Error::new(ErrorKind::Other, e.to_string())
118+
Error::other(e.to_string())
126119
})?)
127120
}
128121
};
129122

130-
node.start().await.map_err(|e| Error::new(ErrorKind::Other, e.to_string()))
123+
node.start().await.map_err(|e| Error::other(e.to_string()))
131124
}
132125

133126
fn get_signing_key(
@@ -137,7 +130,7 @@ fn get_signing_key(
137130
let keystore: Box<dyn KeyStore> = match keystore_type.unwrap_or_default().as_str() {
138131
"file" => {
139132
let file_store = FileStore::new(keystore_path.unwrap_or_default())
140-
.map_err(|e| Error::new(ErrorKind::Other, e.to_string()))?;
133+
.map_err(|e| Error::other(e.to_string()))?;
141134
Box::new(file_store)
142135
}
143136
"keychain" => Box::new(KeyChain),
@@ -146,22 +139,14 @@ fn get_signing_key(
146139
}
147140
};
148141

149-
let raw_signing_key = keystore.get_or_create_signing_key(SIGNING_KEY_ID).map_err(|e| {
150-
Error::new(
151-
ErrorKind::Other,
152-
format!("Failed to get or create signing key: {}", e),
153-
)
154-
})?;
142+
let raw_signing_key = keystore
143+
.get_or_create_signing_key(SIGNING_KEY_ID)
144+
.map_err(|e| Error::other(format!("Failed to get or create signing key: {}", e)))?;
155145

156146
// Hardcoded ED25519 as keystore_rs only supports ED25519
157147
let signing_key =
158148
SigningKey::from_algorithm_and_bytes(CryptoAlgorithm::Ed25519, raw_signing_key.as_bytes())
159-
.map_err(|e| {
160-
Error::new(
161-
ErrorKind::Other,
162-
format!("Failed to parse signing key: {}", e),
163-
)
164-
})?;
149+
.map_err(|e| Error::other(format!("Failed to parse signing key: {}", e)))?;
165150

166151
Ok(signing_key)
167152
}

crates/tests/src/lib.rs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,19 @@ fn setup_db() -> Arc<Box<dyn Database>> {
3434

3535
#[tokio::test]
3636
async fn test_light_client_prover_talking() -> Result<()> {
37-
std::env::set_var(
38-
"RUST_LOG",
39-
"DEBUG,tracing=off,sp1_stark=info,jmt=off,p3_dft=off,p3_fri=off,sp1_core_executor=info,sp1_recursion_program=info,p3_merkle_tree=off,sp1_recursion_compiler=off,sp1_core_machine=off",
40-
);
41-
pretty_env_logger::init();
37+
pretty_env_logger::formatted_builder()
38+
.filter_level(log::LevelFilter::Debug)
39+
.filter_module("tracing", log::LevelFilter::Off)
40+
.filter_module("sp1_stark", log::LevelFilter::Info)
41+
.filter_module("jmt", log::LevelFilter::Off)
42+
.filter_module("p3_dft", log::LevelFilter::Off)
43+
.filter_module("p3_fri", log::LevelFilter::Off)
44+
.filter_module("sp1_core_executor", log::LevelFilter::Info)
45+
.filter_module("sp1_recursion_program", log::LevelFilter::Info)
46+
.filter_module("p3_merkle_tree", log::LevelFilter::Off)
47+
.filter_module("sp1_recursion_compiler", log::LevelFilter::Off)
48+
.filter_module("sp1_core_machine", log::LevelFilter::Off)
49+
.init();
4250

4351
let prover_client = ProverClient::builder().mock().build();
4452

0 commit comments

Comments
 (0)