From 234f77536c0618e4095f74d2b6f7cf95db724b3b Mon Sep 17 00:00:00 2001 From: Dan Cline <6798349+Rjected@users.noreply.github.com> Date: Wed, 20 Nov 2024 14:28:09 -0500 Subject: [PATCH 1/4] feat(ci): add clippy, fmt, udeps workflows --- .github/workflows/lint.yml | 52 ++++++++++++++++++++++++++++++++++++++ .github/workflows/rust.yml | 2 +- 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..406dba4 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,52 @@ +name: Lint + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + CARGO_TERM_COLOR: always + +jobs: + clippy: + name: clippy + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: clippy + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - run: cargo clippy --workspace --lib --examples --tests --benches --all-features --locked + env: + RUSTFLAGS: -D warnings + + fmt: + name: fmt + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rustfmt + - name: Run fmt + run: cargo fmt --all --check + + udeps: + name: udeps + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - uses: taiki-e/install-action@cargo-udeps + - run: cargo udeps --workspace --lib --examples --tests --benches --all-features --locked diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 773abbc..adccf7d 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -25,7 +25,7 @@ jobs: test: runs-on: ubuntu-latest - + steps: - uses: actions/checkout@v4 with: From aff389d2085d67929a64a1a0eee74cfb451a4e59 Mon Sep 17 00:00:00 2001 From: Dan Cline <6798349+Rjected@users.noreply.github.com> Date: Wed, 20 Nov 2024 14:44:59 -0500 Subject: [PATCH 2/4] make clippy happy --- crates/cli/src/main.rs | 18 ++++++++++-------- crates/core/src/agent_controller.rs | 10 ++-------- crates/core/src/generator/mod.rs | 4 ++-- crates/core/src/generator/seeder/rand_seed.rs | 16 ++++++++-------- crates/core/src/generator/templater.rs | 7 +++---- crates/core/src/generator/util.rs | 2 +- crates/core/src/spammer/blockwise.rs | 14 ++++++-------- crates/core/src/spammer/mod.rs | 13 +++---------- crates/core/src/spammer/timed.rs | 10 ++++------ crates/core/src/spammer/util.rs | 2 +- crates/core/src/test_scenario.rs | 10 +++++----- crates/sqlite_db/src/lib.rs | 12 ++++++------ crates/testfile/src/lib.rs | 6 +++--- 13 files changed, 54 insertions(+), 70 deletions(-) diff --git a/crates/cli/src/main.rs b/crates/cli/src/main.rs index 6e40854..9eae33b 100644 --- a/crates/cli/src/main.rs +++ b/crates/cli/src/main.rs @@ -56,11 +56,11 @@ async fn main() -> Result<(), Box> { .as_ref() .unwrap_or(&vec![]) .iter() - .map(|key| PrivateKeySigner::from_str(&key).expect("invalid private key")) + .map(|key| PrivateKeySigner::from_str(key).expect("invalid private key")) .collect::>(); let signers = get_signers_with_defaults(private_keys); check_private_keys( - &testconfig.setup.to_owned().unwrap_or(vec![]), + &testconfig.setup.to_owned().unwrap_or_default(), signers.as_slice(), ); let broke_accounts = find_insufficient_balance_addrs( @@ -100,7 +100,9 @@ async fn main() -> Result<(), Box> { min_balance, } => { let testconfig = TestConfig::from_file(&testfile)?; - let rand_seed = seed.map(|s| RandSeed::from_str(&s)).unwrap_or_default(); + let rand_seed = seed + .map(|s| RandSeed::seed_from_str(&s)) + .unwrap_or_default(); let url = Url::parse(rpc_url.as_ref()).expect("Invalid RPC URL"); let rpc_client = ProviderBuilder::new() .network::() @@ -151,7 +153,7 @@ async fn main() -> Result<(), Box> { continue; } - let agent = SignerStore::new_random(signers_per_block, &rand_seed, &from_pool); + let agent = SignerStore::new_random(signers_per_block, &rand_seed, from_pool); all_signers.extend_from_slice(&agent.signers); agents.add_agent(from_pool, agent); } @@ -192,7 +194,7 @@ async fn main() -> Result<(), Box> { let fund_amount = min_balance; pending_fund_txs.push( fund_account( - &admin_signer, + admin_signer, *address, fund_amount, ð_client, @@ -234,7 +236,7 @@ async fn main() -> Result<(), Box> { let run_id = DB.insert_run(timestamp as u64, txs_per_block * duration)?; let mut spammer = BlockwiseSpammer::new(scenario, cback).await; spammer - .spam_rpc(txs_per_block, duration, Some(run_id.into())) + .spam_rpc(txs_per_block, duration, Some(run_id)) .await?; println!("Saved run. run_id = {}", run_id); } @@ -259,7 +261,7 @@ async fn main() -> Result<(), Box> { ); let tps = txs_per_second.unwrap_or(10); println!("Timed spamming with {} txs per second", tps); - let spammer = TimedSpammer::new(scenario, NilCallback::new()); + let spammer = TimedSpammer::new(scenario, NilCallback); spammer.spam_rpc(tps, duration).await?; } ContenderSubcommand::Report { id, out_file } => { @@ -394,7 +396,7 @@ async fn spam_callback_default( return SpamCallbackType::Log(LogCallback::new(rpc_client.clone())); } } - SpamCallbackType::Nil(NilCallback::new()) + SpamCallbackType::Nil(NilCallback) } async fn is_balance_sufficient( diff --git a/crates/core/src/agent_controller.rs b/crates/core/src/agent_controller.rs index 6592c3d..8416479 100644 --- a/crates/core/src/agent_controller.rs +++ b/crates/core/src/agent_controller.rs @@ -19,7 +19,7 @@ pub trait AgentRegistry { fn get_agent(&self, idx: Index) -> Option<&Address>; } -#[derive(Debug)] +#[derive(Debug, Default)] pub struct SignerStore { pub signers: Vec, } @@ -86,16 +86,10 @@ where } impl SignerStore { - pub fn new() -> Self { - SignerStore { - signers: Vec::new(), - } - } - pub fn new_random(num_signers: usize, rand_seeder: &RandSeed, acct_seed: &str) -> Self { // add numerical value of acct_seed to given seed let new_seed = rand_seeder.as_u256() + U256::from_be_slice(acct_seed.as_bytes()); - let rand_seeder = RandSeed::from_u256(new_seed); + let rand_seeder = RandSeed::seed_from_u256(new_seed); // generate random private keys with new seed let prv_keys = rand_seeder diff --git a/crates/core/src/generator/mod.rs b/crates/core/src/generator/mod.rs index e165c06..b8a4eb1 100644 --- a/crates/core/src/generator/mod.rs +++ b/crates/core/src/generator/mod.rs @@ -236,7 +236,7 @@ where // finds fuzzed values for a function call definition and populates `canonical_fuzz_map` with fuzzy values. let mut find_fuzz = |req: &FunctionCallDefinition| { - let fuzz_args = req.fuzz.to_owned().unwrap_or(vec![]); + let fuzz_args = req.fuzz.to_owned().unwrap_or_default(); let fuzz_map = self.create_fuzz_map(num_txs, &fuzz_args)?; // this may create more values than needed, but it's fine canonical_fuzz_map.extend(fuzz_map); Ok(()) @@ -299,7 +299,7 @@ where None, req.kind.to_owned(), ); - return Ok((on_spam_setup(tx.to_owned())?, tx)); + Ok((on_spam_setup(tx.to_owned())?, tx)) }; match step { diff --git a/crates/core/src/generator/seeder/rand_seed.rs b/crates/core/src/generator/seeder/rand_seed.rs index 78f4bf2..4c928b6 100644 --- a/crates/core/src/generator/seeder/rand_seed.rs +++ b/crates/core/src/generator/seeder/rand_seed.rs @@ -30,14 +30,14 @@ impl RandSeed { /// - If `seed` is less than 32 bytes, it is right-padded with 0x01. /// - If `seed` is more than 32 bytes, only the first 32 bytes are used. /// - Number types created from these bytes are interpreted as big-endian. - pub fn from_bytes(seed_bytes: &[u8]) -> Self { + pub fn seed_from_bytes(seed_bytes: &[u8]) -> Self { let mut seed_arr = [0u8; 32]; fill_bytes(seed_bytes, &mut seed_arr); Self { seed: seed_arr } } /// Interprets seed as a number in base 10 or 16. - pub fn from_str(seed: &str) -> Self { + pub fn seed_from_str(seed: &str) -> Self { let (radix, seed) = if seed.starts_with("0x") { (16u64, seed.split_at(2).1) } else { @@ -45,10 +45,10 @@ impl RandSeed { }; let n = U256::from_str_radix(seed, radix).expect("invalid seed number; must fit in 32 bytes"); - Self::from_u256(n) + Self::seed_from_u256(n) } - pub fn from_u256(seed: U256) -> Self { + pub fn seed_from_u256(seed: U256) -> Self { Self { seed: seed.to_be_bytes(), } @@ -92,7 +92,7 @@ impl Seeder for RandSeed { let val = keccak256(seed_num.as_le_slice()); let val = U256::from_be_bytes(val.0); let val = val % (max - min) + min; - RandSeed::from_u256(val) + RandSeed::seed_from_u256(val) }); Box::new(vals) } @@ -116,7 +116,7 @@ mod tests { let mut seed_bytes = [0u8; 32]; seed_bytes[seed_bytes.len() - 1] = 0x01; println!("{}", seed_bytes.encode_hex()); - let seed = super::RandSeed::from_bytes(&seed_bytes); + let seed = super::RandSeed::seed_from_bytes(&seed_bytes); println!("{}", seed.as_bytes().encode_hex()); assert_eq!(seed.as_bytes().len(), 32); assert_eq!(seed.as_u64(), 1); @@ -126,7 +126,7 @@ mod tests { #[test] fn encodes_seed_string() { - let seed = super::RandSeed::from_str("0x01"); + let seed = super::RandSeed::seed_from_str("0x01"); assert_eq!(seed.as_u64(), 1); assert_eq!(seed.as_u128(), 1); assert_eq!(seed.as_u256(), U256::from(1)); @@ -135,7 +135,7 @@ mod tests { #[test] fn encodes_seed_u256() { let n = U256::MAX; - let seed = super::RandSeed::from_u256(n); + let seed = super::RandSeed::seed_from_u256(n); assert_eq!(seed.as_u256(), n); } } diff --git a/crates/core/src/generator/templater.rs b/crates/core/src/generator/templater.rs index 689de2b..0fadd9b 100644 --- a/crates/core/src/generator/templater.rs +++ b/crates/core/src/generator/templater.rs @@ -40,7 +40,7 @@ where let mut last_end = 0; for _ in 0..num_template_vals { - let template_value = self.copy_end(&arg, last_end); + let template_value = self.copy_end(arg, last_end); let (template_key, template_end) = self.find_key(&template_value) .ok_or(ContenderError::SpamError( @@ -109,8 +109,7 @@ where .value .as_ref() .map(|s| self.replace_placeholders(s, placeholder_map)) - .map(|s| s.parse::().ok()) - .flatten(); + .and_then(|s| s.parse::().ok()); let from = funcdef .from @@ -137,7 +136,7 @@ where .parse::
() .map_err(|e| ContenderError::with_err(e, "failed to parse from address"))?; - let full_bytecode = self.replace_placeholders(&createdef.bytecode, &placeholder_map); + let full_bytecode = self.replace_placeholders(&createdef.bytecode, placeholder_map); let tx = alloy::rpc::types::TransactionRequest { from: Some(from), to: Some(alloy::primitives::TxKind::Create), diff --git a/crates/core/src/generator/util.rs b/crates/core/src/generator/util.rs index 2a6e6af..e58e7a1 100644 --- a/crates/core/src/generator/util.rs +++ b/crates/core/src/generator/util.rs @@ -17,7 +17,7 @@ use alloy::{ /// assert_eq!(calldata.encode_hex(), "60fe47b10000000000000000000000000000000000000000000000000000000012345678"); /// ``` pub fn encode_calldata(args: &[impl AsRef], sig: &str) -> Result> { - let func = json_abi::Function::parse(&sig).map_err(|e| { + let func = json_abi::Function::parse(sig).map_err(|e| { ContenderError::SpamError("failed to parse function name", Some(e.to_string())) })?; let values: Vec = args diff --git a/crates/core/src/spammer/blockwise.rs b/crates/core/src/spammer/blockwise.rs index ce76adf..d9c8787 100644 --- a/crates/core/src/spammer/blockwise.rs +++ b/crates/core/src/spammer/blockwise.rs @@ -73,8 +73,8 @@ where // collect addresses from both wallet_map (user prvkeys) and agent_store (system prvkeys) let mut all_addrs = scenario .wallet_map - .iter() - .map(|(k, _)| *k) + .keys() + .copied() .collect::>(); for (_, agent) in scenario.agent_store.all_agents() { for signer in agent.signers.iter() { @@ -355,7 +355,7 @@ where for (tx, req) in signed_txs.into_iter().zip(&reqs) { let maybe_handle = callback_handler.on_tx_sent( PendingTransactionConfig::new(tx.tx_hash().to_owned()), - &req, + req, extra.clone().into(), Some(tx_handler.clone()), ); @@ -364,10 +364,8 @@ where tx_handles } }; - for handle in handles { - if let Some(handle) = handle { - handle.await.expect("callback task failed"); - } + for handle in handles.into_iter().flatten() { + handle.await.expect("callback task failed"); } })); } @@ -428,7 +426,7 @@ mod tests { async fn watches_blocks_and_spams_them() { let anvil = spawn_anvil(); println!("anvil url: {}", anvil.endpoint_url()); - let seed = crate::generator::RandSeed::from_str("444444444444"); + let seed = crate::generator::RandSeed::seed_from_str("444444444444"); let scenario = TestScenario::new( MockConfig, MockDb.into(), diff --git a/crates/core/src/spammer/mod.rs b/crates/core/src/spammer/mod.rs index ae2fd01..8790ab6 100644 --- a/crates/core/src/spammer/mod.rs +++ b/crates/core/src/spammer/mod.rs @@ -26,14 +26,9 @@ where ) -> Option>; } +#[derive(Debug, Default)] pub struct NilCallback; -impl NilCallback { - pub fn new() -> Self { - Self {} - } -} - pub struct LogCallback { pub rpc_provider: Arc, } @@ -67,13 +62,11 @@ impl OnTxSent for LogCallback { ) -> Option> { let start_timestamp = extra .as_ref() - .map(|e| e.get("start_timestamp").map(|t| t.parse::())) - .flatten()? + .and_then(|e| e.get("start_timestamp").map(|t| t.parse::()))? .unwrap_or(0); let kind = extra .as_ref() - .map(|e| e.get("kind").map(|k| k.to_string())) - .flatten(); + .and_then(|e| e.get("kind").map(|k| k.to_string())); let handle = tokio::task::spawn(async move { if let Some(tx_actor) = tx_actor { tx_actor diff --git a/crates/core/src/spammer/timed.rs b/crates/core/src/spammer/timed.rs index f8af06e..502eb26 100644 --- a/crates/core/src/spammer/timed.rs +++ b/crates/core/src/spammer/timed.rs @@ -69,8 +69,7 @@ where tx_req.from.map(|s| s.encode_hex()).unwrap_or_default(), tx_req .to - .map(|s| s.to().map(|s| *s)) - .flatten() + .and_then(|s| s.to().copied()) .map(|s| s.encode_hex()) .unwrap_or_default(), tx_req @@ -94,10 +93,9 @@ where } }; - for handle in handles { - if let Some(handle) = handle { - handle.await.expect("failed to join task handle"); - } // ignore None values so we don't attempt to await them + for handle in handles.into_iter().flatten() { + // ignore None values so we don't attempt to await them + handle.await.expect("failed to join task handle"); } })); diff --git a/crates/core/src/spammer/util.rs b/crates/core/src/spammer/util.rs index 2080406..1a47e2a 100644 --- a/crates/core/src/spammer/util.rs +++ b/crates/core/src/spammer/util.rs @@ -25,7 +25,7 @@ pub mod test { } pub fn get_test_signers() -> Vec { - vec![ + [ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", "0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d", "0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a", diff --git a/crates/core/src/test_scenario.rs b/crates/core/src/test_scenario.rs index 926e7c9..9cfdc4d 100644 --- a/crates/core/src/test_scenario.rs +++ b/crates/core/src/test_scenario.rs @@ -98,7 +98,7 @@ where let wallet_conf = self .wallet_map .get(from) - .expect(&format!("couldn't find wallet for 'from' address {}", from)) + .unwrap_or_else(|| panic!("couldn't find wallet for 'from' address {}", from)) .to_owned(); let wallet = ProviderBuilder::new() // simple_nonce_management is unperformant but it's OK bc we're just deploying @@ -218,7 +218,7 @@ where // lookup name of contract if it exists let to_name = to_address.map(|a| { - let named_tx = self.db.get_named_tx_by_address(&a); + let named_tx = self.db.get_named_tx_by_address(a); named_tx.map(|t| t.name).unwrap_or_default() }); @@ -291,7 +291,7 @@ pub mod tests { pub struct MockConfig; - pub const COUNTER_BYTECODE: &'static str = + pub const COUNTER_BYTECODE: &str = "0x608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea264697066735822122010f3077836fb83a22ad708a23102f2b487523767e1afef5a93c614619001648b64736f6c63430008170033"; impl PlanConfig for MockConfig { @@ -409,7 +409,7 @@ pub mod tests { } pub fn get_test_scenario(anvil: &AnvilInstance) -> TestScenario { - let seed = RandSeed::from_bytes(&[0x01; 32]); + let seed = RandSeed::seed_from_bytes(&[0x01; 32]); let signers = &get_test_signers(); TestScenario::new( @@ -418,7 +418,7 @@ pub mod tests { anvil.endpoint_url(), None, seed.to_owned(), - &signers, + signers, AgentStore::new(), ) } diff --git a/crates/sqlite_db/src/lib.rs b/crates/sqlite_db/src/lib.rs index 2fc8d68..81cf2a3 100644 --- a/crates/sqlite_db/src/lib.rs +++ b/crates/sqlite_db/src/lib.rs @@ -186,7 +186,7 @@ impl DbOps for SqliteDb { .map_err(|e| ContenderError::with_err(e, "failed to prepare statement"))?; let rows = stmt - .query_map(params![run_id], |row| RunTxRow::from_row(row)) + .query_map(params![run_id], RunTxRow::from_row) .map_err(|e| ContenderError::with_err(e, "failed to map row"))?; let res = rows .map(|r| r.map(|r| r.into())) @@ -227,7 +227,7 @@ impl DbOps for SqliteDb { .map_err(|e| ContenderError::with_err(e, "failed to prepare statement"))?; let row = stmt - .query_map(params![name], |row| NamedTxRow::from_row(row)) + .query_map(params![name], NamedTxRow::from_row) .map_err(|e| ContenderError::with_err(e, "failed to map row"))?; let res = row .last() @@ -269,7 +269,7 @@ impl DbOps for SqliteDb { tx.start_timestamp, tx.end_timestamp, tx.block_number, - tx.gas_used.to_string(), + tx.gas_used, kind, ) } else { @@ -280,7 +280,7 @@ impl DbOps for SqliteDb { tx.start_timestamp, tx.end_timestamp, tx.block_number, - tx.gas_used.to_string(), + tx.gas_used, ) } }); @@ -371,7 +371,7 @@ mod tests { kind: Some("test".to_string()), }, ]; - db.insert_run_txs(run_id as u64, run_txs).unwrap(); + db.insert_run_txs(run_id, run_txs).unwrap(); let count: i64 = db .get_pool() .unwrap() @@ -379,7 +379,7 @@ mod tests { .unwrap(); assert_eq!(count, 2); - let res = db.get_run_txs(run_id as u64).unwrap(); + let res = db.get_run_txs(run_id).unwrap(); assert_eq!(res.len(), 2); } } diff --git a/crates/testfile/src/lib.rs b/crates/testfile/src/lib.rs index 8109794..43bdc43 100644 --- a/crates/testfile/src/lib.rs +++ b/crates/testfile/src/lib.rs @@ -126,11 +126,11 @@ pub mod tests { Anvil::new().block_time(1).try_spawn().unwrap() } - pub const COUNTER_BYTECODE: &'static str = + pub const COUNTER_BYTECODE: &str = "0x608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea264697066735822122010f3077836fb83a22ad708a23102f2b487523767e1afef5a93c614619001648b64736f6c63430008170033"; pub fn get_test_signers() -> Vec { - vec![ + [ "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80", "0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d", "0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a", @@ -409,7 +409,7 @@ pub mod tests { async fn fuzz_is_deterministic() { let anvil = spawn_anvil(); let test_file = get_fuzzy_testconfig(); - let seed = RandSeed::from_bytes(&[0x01; 32]); + let seed = RandSeed::seed_from_bytes(&[0x01; 32]); let signers = get_test_signers(); let scenario1 = TestScenario::new( test_file.clone(), From 812b19f897d3bfa36fed98429861bfc6441e76b3 Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Wed, 20 Nov 2024 13:35:22 -0800 Subject: [PATCH 3/4] add default impl for blockwise spammer --- crates/core/src/spammer/blockwise.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/core/src/spammer/blockwise.rs b/crates/core/src/spammer/blockwise.rs index 8928e3a..e3a1b19 100644 --- a/crates/core/src/spammer/blockwise.rs +++ b/crates/core/src/spammer/blockwise.rs @@ -12,6 +12,7 @@ use crate::{ use super::{OnTxSent, SpamTrigger, Spammer}; +#[derive(Default)] pub struct BlockwiseSpammer; impl BlockwiseSpammer { From 59ef061f73640fcd92eefa05a67f5edcc9afeacc Mon Sep 17 00:00:00 2001 From: zeroXbrock <2791467+zeroXbrock@users.noreply.github.com> Date: Wed, 20 Nov 2024 13:42:43 -0800 Subject: [PATCH 4/4] comment out unused dep (will use soon) --- Cargo.lock | 17 ----------------- Cargo.toml | 2 +- crates/core/Cargo.toml | 2 +- 3 files changed, 2 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5ba7608..53c375c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1174,7 +1174,6 @@ dependencies = [ "alloy-serde 0.5.4", "async-trait", "contender_bundle_provider", - "eyre", "futures", "rand", "serde", @@ -1435,16 +1434,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "eyre" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" -dependencies = [ - "indenter", - "once_cell", -] - [[package]] name = "fallible-iterator" version = "0.3.0" @@ -1907,12 +1896,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "indenter" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" - [[package]] name = "indexmap" version = "2.5.0" diff --git a/Cargo.toml b/Cargo.toml index 8987425..14c7cb3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,7 +24,7 @@ contender_sqlite = { path = "crates/sqlite_db/" } contender_testfile = { path = "crates/testfile/" } contender_bundle_provider = { path = "crates/bundle_provider/" } -eyre = "0.6.12" +# eyre = "0.6.12" tokio = { version = "1.40.0" } alloy = { version = "0.3.6" } serde = "1.0.209" diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 7769afa..f24f614 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -10,7 +10,7 @@ path = "src/lib.rs" [dependencies] alloy = { workspace = true, features = ["full", "node-bindings", "rpc-types-mev"] } -eyre = { workspace = true } +# eyre = { workspace = true } rand = { workspace = true } serde = { workspace = true, features = ["derive"] } futures = { workspace = true }