Skip to content

Commit e52425a

Browse files
authored
Replace snafu with this_error and remove global error enum (#1823)
This PR: - Removes global error enum by moving the variants to a BlockBuildingError enum - removes snafu dependency from everywhere except from the availability endpoint, as hotshot query service still uses it - moves error types into their relevant modules - use parse_duration and parse_size from espresso_types::utils This PR does not remove snafu dependency completely, as we need to replace snafu with this_error in hotshot query service
2 parents d342aff + d3e7e25 commit e52425a

32 files changed

+133
-276
lines changed

Cargo.lock

Lines changed: 0 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ jf-relation = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4
107107
jf-utils = { git = "https://github.com/EspressoSystems/jellyfish", tag = "0.4.5" }
108108
libp2p = { version = "0.53", default-features = false }
109109
log-panics = { version = "2.0", features = ["with-backtrace"] }
110-
snafu = "0.8"
111110
strum = { version = "0.26", features = ["derive"] }
112111
surf-disco = "0.9"
113112
tagged-base64 = "0.4"

builder/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ rand = "0.8.5"
4040
sequencer = { path = "../sequencer", features = ["testing"] }
4141
sequencer-utils = { path = "../utils" }
4242
serde = { workspace = true }
43-
snafu = { workspace = true }
4443
surf = "2.3.1"
4544
surf-disco = { workspace = true }
4645
tide-disco = { workspace = true }

builder/src/bin/permissioned-builder.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use std::{
55
use anyhow::{bail, Context};
66
use builder::permissioned::init_node;
77
use clap::Parser;
8-
use espresso_types::eth_signature_key::EthKeyPair;
8+
use espresso_types::{eth_signature_key::EthKeyPair, parse_duration};
99
use ethers::types::Address;
1010
use hotshot_types::{
1111
data::ViewNumber,
@@ -14,9 +14,7 @@ use hotshot_types::{
1414
traits::{metrics::NoMetrics, node_implementation::ConsensusTime},
1515
};
1616
use libp2p::Multiaddr;
17-
use sequencer::{
18-
options::parse_duration, persistence::no_storage::NoStorage, Genesis, L1Params, NetworkParams,
19-
};
17+
use sequencer::{persistence::no_storage::NoStorage, Genesis, L1Params, NetworkParams};
2018
use sequencer_utils::logging;
2119
use url::Url;
2220
use vbs::version::{StaticVersion, StaticVersionType};

builder/src/bin/permissionless-builder.rs

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
use std::{num::NonZeroUsize, path::PathBuf, str::FromStr, time::Duration};
1+
use std::{num::NonZeroUsize, path::PathBuf, time::Duration};
22

33
use builder::non_permissioned::{build_instance_state, BuilderConfig};
44
use clap::Parser;
5-
use cld::ClDuration;
6-
use espresso_types::eth_signature_key::EthKeyPair;
5+
use espresso_types::{eth_signature_key::EthKeyPair, parse_duration};
76
use hotshot::traits::ValidatedState;
87
use hotshot_types::{data::ViewNumber, traits::node_implementation::ConsensusTime};
98
use sequencer::{Genesis, L1Params};
109
use sequencer_utils::logging;
11-
use snafu::Snafu;
1210
use url::Url;
1311
use vbs::version::{StaticVersion, StaticVersionType};
1412

@@ -88,19 +86,6 @@ struct NonPermissionedBuilderOptions {
8886
logging: logging::Config,
8987
}
9088

91-
#[derive(Clone, Debug, Snafu)]
92-
struct ParseDurationError {
93-
reason: String,
94-
}
95-
96-
fn parse_duration(s: &str) -> Result<Duration, ParseDurationError> {
97-
ClDuration::from_str(s)
98-
.map(Duration::from)
99-
.map_err(|err| ParseDurationError {
100-
reason: err.to_string(),
101-
})
102-
}
103-
10489
#[async_std::main]
10590
async fn main() -> anyhow::Result<()> {
10691
let opt = NonPermissionedBuilderOptions::parse();

builder/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,6 @@ pub mod testing {
165165
use portpicker::pick_unused_port;
166166
use sequencer::state_signature::StateSignatureMemStorage;
167167
use serde::{Deserialize, Serialize};
168-
use snafu::{guide::feature_flags, *};
169168
use vbs::version::StaticVersion;
170169

171170
use super::*;

hotshot-state-prover/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ jf-utils = { workspace = true }
3636
reqwest = { workspace = true }
3737
sequencer-utils = { path = "../utils" }
3838
serde = { workspace = true }
39-
snafu = { workspace = true }
4039
surf-disco = { workspace = true }
4140
tide-disco = { workspace = true }
4241
time = { workspace = true }

hotshot-state-prover/src/bin/state-prover.rs

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
use std::{str::FromStr as _, time::Duration};
1+
use std::time::Duration;
22

33
use clap::Parser;
4-
use cld::ClDuration;
5-
use espresso_types::SeqTypes;
4+
use espresso_types::{parse_duration, SeqTypes};
65
use ethers::{
76
providers::{Http, Middleware, Provider},
87
signers::{coins_bip39::English, MnemonicBuilder, Signer},
@@ -12,7 +11,6 @@ use hotshot_stake_table::config::STAKE_TABLE_CAPACITY;
1211
use hotshot_state_prover::service::{run_prover_once, run_prover_service, StateProverConfig};
1312
use hotshot_types::traits::node_implementation::NodeType;
1413
use sequencer_utils::logging;
15-
use snafu::Snafu;
1614
use url::Url;
1715
use vbs::version::StaticVersionType;
1816

@@ -85,19 +83,6 @@ struct Args {
8583
logging: logging::Config,
8684
}
8785

88-
#[derive(Clone, Debug, Snafu)]
89-
pub struct ParseDurationError {
90-
reason: String,
91-
}
92-
93-
fn parse_duration(s: &str) -> Result<Duration, ParseDurationError> {
94-
ClDuration::from_str(s)
95-
.map(Duration::from)
96-
.map_err(|err| ParseDurationError {
97-
reason: err.to_string(),
98-
})
99-
}
100-
10186
#[async_std::main]
10287
async fn main() {
10388
let args = Args::parse();

marketplace-builder/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ portpicker = { workspace = true }
4040
rand = "0.8.5"
4141
sequencer = { path = "../sequencer", features = ["testing"] }
4242
serde = { workspace = true }
43-
snafu = { workspace = true }
4443
surf = "2.3.1"
4544
surf-disco = { workspace = true }
4645
tagged-base64 = { workspace = true }

marketplace-builder/src/bin/marketplace-builder.rs

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
use std::{num::NonZeroUsize, path::PathBuf, str::FromStr, time::Duration};
1+
use std::{num::NonZeroUsize, path::PathBuf, time::Duration};
22

33
use async_compatibility_layer::logging::{setup_backtrace, setup_logging};
44
use clap::Parser;
5-
use cld::ClDuration;
6-
use espresso_types::{eth_signature_key::EthKeyPair, FeeAmount, NamespaceId, SeqTypes};
5+
use espresso_types::{
6+
eth_signature_key::EthKeyPair, parse_duration, FeeAmount, NamespaceId, SeqTypes,
7+
};
78
use hotshot::traits::ValidatedState;
89
use hotshot_types::{data::ViewNumber, traits::node_implementation::ConsensusTime};
910
use marketplace_builder::{
@@ -12,7 +13,6 @@ use marketplace_builder::{
1213
};
1314
use marketplace_builder_core::testing::basic_test::NodeType;
1415
use sequencer::{Genesis, L1Params};
15-
use snafu::Snafu;
1616
use url::Url;
1717
use vbs::version::StaticVersionType;
1818

@@ -118,19 +118,6 @@ struct NonPermissionedBuilderOptions {
118118
bid_amount: FeeAmount,
119119
}
120120

121-
#[derive(Clone, Debug, Snafu)]
122-
struct ParseDurationError {
123-
reason: String,
124-
}
125-
126-
fn parse_duration(s: &str) -> Result<Duration, ParseDurationError> {
127-
ClDuration::from_str(s)
128-
.map(Duration::from)
129-
.map_err(|err| ParseDurationError {
130-
reason: err.to_string(),
131-
})
132-
}
133-
134121
#[async_std::main]
135122
async fn main() -> anyhow::Result<()> {
136123
setup_logging();

0 commit comments

Comments
 (0)