Skip to content

Commit caab7d0

Browse files
yash-atreyazerosnacksklkvrgrandizzy
authored
bump(revm: step 2): bump alloy + revm + alloy-evm + other deps to latest (#10454)
* restructure, move out of utils into evm, precompiles and future handlers * clean up * clean up * improve docs * scaffold handler * evaluate how to add handles * prefer EnvRef over EnvMut * address feedback of owned env * revert get_or_insert_map workaround * avoid changing types, leave mut where previously, avoid unnecessary mut * start layout out handler registry connected to evm * get create2 from frame inputs * start adding create2 handler * continue create2handler * wrap up create2 handler * clean up * continue fixing types * generalize precompiles * clean up * tag inline * fix imports * start fixing cheatcode types * use `env` on handler * clean up * temp revert * odyssey precompile was deprecated * refix cheatcode types * clean up * still facing issues with borrow-checker, double mut * open questions around passing around env * minor fix * for now work around mutability limitations by limited cloning, unclear performance impact or whether it will work with cheatcode macros * continue fixing types, still issues around cheatcodes, inspector * bump revm * bump deps * minor type fixes * bump foundry-fork-db to handle c-kzg build issue * bump rust version * utilize Host, ContextTr, JournalTr to avoid double mutable borrows * temp revert * temp revert * restore handler, improve types * refactor types * restore types * restore, clean up * continue fixing types * clean up * continue fixing types * revert journal env cloning, still issues around double borrows * fix core types per conversation, use EnvMut<'_> * fix types * more progress for foundry-evm * mutate outcome in place * temp revert exec_create * some progress with porting with_evm core loop * remove redundant types * context -> test_context in Cheatcodes config * construct new handler, wrapping evm context, imports Handler trait * temporarily comment out exec_create section to unblock * add replacement of EnvWithHandlerCfg * minor fixes * continue fixing types * continue fixing types * continue fixing types * continue fixing types * continue types * fix cached_env * remove possibly incorrect handling of CreateOutcome on methods like do_eofcreate_end as outcome is now mutated in place * add custom_printer from revm19, porting for compatibility * cast: fix types * verify: fix types * forge + script: fix types * anvil: start fixing types * anvil: continue porting types * anvil: continue porting types * anvil: continue porting types * anvil: continue porting types, small fix in foundry-evm * use AnvilEvm * stash optimism hardfork specifics for now * temp mute anvil use in forge * apply apparant fixes, test still failing * clean up * revert to replay * apply possible nonce 0/1 fixes, committed to proceed * disable nonce check in local_evm_env * undo is_odyssey remove * always spawn evm with handler * replay() -> inspect_replay() * modify macro, comment out anvil related cast tests for the time being * reapply state depth = 1 * something like this? * introduce outer block for early return * print debugging * clean up * fix merge * migrate: anvil to revm 21 (#10361) * downgrade op-revm to 2.0.0 to resolve dep conflict * op-revm 3.0 uses revm 22 * add `as_mut_dyn` to trait `MaybeFullDatabase` as we now require mut db_ref access ( * Revert "add `as_mut_dyn` to trait `MaybeFullDatabase` as we now require mut db_ref access (" This reverts commit 84d11f1. * fix: Inspector should be generic over CTX not DB * fixes helpers: new_evm_with_inspector_* to use CTX generic * fix: pass TxEnv to evm.transact * fix: inspector inference in TransactionExecutor and build_access_list_with_state * workaround: dup LogCollector to use with AnvilEvmContext * coz FoundryEvmContext is not generic over DB, instead hardoded to dyn DatabaseExt * fix tests * fix traces test * fix: use default kzg settings in blob validation * reintroduce OptimismHardfork * fix: disable nonce check if nonce is None * fix!: load state tests by addressing breaking changes in state files * BlockEnv Breaking change: - most fields now use `u64` instead of `U64` / `U256` - coinbase renamed to beneficiary - best_block_number is `u64`, prev `U64` * fix: access_list test by using evm.inspect_with_tx * fix: replace evm.transact with evm.inspect_with_tx * fix: make impl Inspector for AnvilInspector generic over CTX * fix: clone inspector in TransactionExecutor to enable evm.inspect_commit * fix: remove cloned inspector from TransactionExecutor * feat(`anvil`): op support revm 21 (#10407) * enable OpHardforks in NodeConfig * feat: add is_optimism flag to foundry_evm::Env * feat(`anvil`): set is_optimism in Backend * feat(`anvil`): introducing EvmContext enum holding Eth and Op variants. * adds OpEnv to foundry_evm_core * feat: EitherEvm * impl Evm for EitherEvm * integrate EitherEvm into RPC and executor *Map OpHaltReason and OpTransactionError * rm old evm helpers * feat(`foundry_evm`): add deposit tx parts field to Env * fix(`anvil`): set deposit tx parts in tx executor and backend.inspect_tx * nit * docs EitherEvm * nit * refac: return TxEnv and Deposit parts separately * nits * nit * make anvil result aliases more generic * nit * intermediary(`revm bump`): re-enable Anvil tests, remove duplicate `LogCollector`, entire codebase builds (#10412) * temp refactor, still facing issue * clean up * clean up * temp cleanup, can later be refd * clean up, refactor stack.rs to apply ecx restore from cache to outside lamba * fix * clean up * clean up * avoid borrowing mutably for clarity * use EthEvmContext directly * FoundryEvmContext -> EthEvmContext * continue * fix tests * fix inspectors * codebase now builds entirely * fix clippy lints * remove duplicate LogCollector in Anvil * fmt * fix clippy * fix doctests * disable nonce checks on forks, enforce setting of tx.nonce on set_nonce * fix: use `transact` from alloy-evm (#10417) * Patch revm to fix interpreter panic * bump revm * fix eof test * fix bytecode hash * fix fixture * fix fixture * fix fixture * chore: mv EitherEvm to foundry_evm (#10445) mv EitherEvm to foundry_evm_core * remove unused JournalTr * restore formatting, avoid diff * remove leftover comment re: optimism support * fix displays_chained_error test * fix doc test * remove optimism todo leftover * avoid direct field assignment, prefer *current. * create2 handler register * fix patch * fix test_broadcast_raw_create2_deployer * bump alloy and related deps apply patches for block-explorers and compilers * fix: common * fix gas meter test * fix * fix: ConsoleFmt proc_macro * more fixes * fix: validate bool removal from abi_decode_* * fix: use take_slice instead of take_slice_unchecked in Decoder * fix more validate bool removal * correctly reset env.tx to cached env, cfg and block, ref https://github.com/foundry-rs/foundry/blob/a34f4c989b94f572497631ff5c85909d674c23a6/crates/evm/evm/src/inspectors/stack.rs#L640-L649 * address more alloy-core 1.0 breaking changes * fix anvil * exec_create * fix cast * bump gcloudsdk in wallets * fix(`cheatcodes`): rand workaround Use ChaChaRng as temporary measure since proptest is on rand 8 * revert test_GasMeter, assert exact gas used * fix arbitrum test * address deprecations * doc test fixes * fix clippy warnings * remove leftover comment * fix assert_can_detect_unlinked_target_with_libraries, ref: bluealloy/revm@fc54dd0 * fix gas metering tests * restore unintended .wrap_err changes, ref: https://github.com/search?q=repo%3Afoundry-rs%2Ffoundry%20wrap_err(%22EVM%20error%22)&type=code * fix test_cheats_local_default * add CC0-1.0 license exception, has been previously approved in Reth: https://github.com/paradigmxyz/reth/blob/adb8bdc70758558d6122e87d78d73cc0f12d4dbb/deny.toml#L48 * usize depth * repin foundry-fork-db, this aligns the revm and alloy version back * fix clippy, after usize depth change * allow foundry-fork-db as git exception * revm 23 * fix: EitherEvm should work over OpTransaction * bump compilers and explorers * fix fmt * Env::from_with_spec_id -> Env::new_with_spec_id * bump clippy msrv to align with foundry.toml * chore: avoid leaking Anvil specific optimism fields into evm/core (#10466) * start sketching * maybe ? * some kind of conversion still required * continue porting * clean up types * pass op transaction in directly * fixes * restore setting of enveloped_tx * refactor anvil Env and reduce changes in tx processing * apply revm bump fixes, solar fixes * bump op-alloy-* * bump to msrv 1.86 for solar, use 0.15.* for alloy instead of pinning to 0.15.0, use alloy-evm patch for .use_ref() issue * fix: correctly set txtype when setting up TxEnv * start upgrading to revm 23 * bump PR to be revm 23+ compatible * fix: correctly set txtype when setting up TxEnv * fix: correctly set txtype when setting up TxEnv * clean up * fix merge conflict, apply fixes from upstream * bump to 0.7.2 * fix order * update block-explorers and compilers * fix clippy * fix failing abi test * empty * integrate BlobParams into anvil * fix tests * fix cast decode-event * fix tests * fix colored_traces * fix gas pausing * fix tests * fix test * update last commits from master to be u64 compatible * syn no longer implements PartialEq requiring us to use `matches!` * temp comment out journal push loop * fix clippy lint * revert clippy changes, make sure lint-foundry uses nightly clippy version * also assert that blob_count is less than the configured max_blob_count * fix: only upgrade tx_type to eip-2930 (type 1) if it is a legacy tx * optimistically remove previous workaround that was required for internal tracking, tests do not indicate it is longer required * nit * prefer using typed TransactionType over raw u8 * apply tx_type if set, upgrading from legacy to eip2930 if access_list is present and tx type is legacy * restore #[ret] macro that was removed unintendedly * replace redundant Env::new_with_spec_id(..) with default * allow passing is_optimism into Env constructor specific to Anvil * extract environment configuration into init.rs to make configuring the environment less error prone * remove redundant debug derive * restore #[cold] do hardhat log, previously preferred inline because of new context requirement for bytes but we refactor resolved this * avoid code duplication, add documented `apply_accesslist` * alloy 1.0 + fork-db 0.14 + op-alloy 0.16 + revm-insp 0.22 + block-explorers 0.17 * fix clippy * Update crates/evm/evm/src/inspectors/logs.rs Co-authored-by: Arsenii Kulikov <[email protected]> * fix fmt * set env tx type by deriving tx type from other fields if no transaction_type has been set * use hardfork configured max_blob_count rather than hardcoded Dancun in assertion and error message * add temporary workaround for failing StdChains test because eth.llamarpc.com is down * bump(`revm`: step 3): reintroduce precompile injection (#10508) * sketching * sketch * sketch * restore test * add echo precompile test * pick a safe non precompile target outside of 0x00-0xff range * add op evm test * instead of activating all precompiles by default we activate selectively based on the spec defined * add note for us pinning to OpSpecId::BEDROCK here, we should make this configurable * bump deps to latest --------- Co-authored-by: zerosnacks <[email protected]> Co-authored-by: Arsenii Kulikov <[email protected]> Co-authored-by: zerosnacks <[email protected]> Co-authored-by: grandizzy <[email protected]>
1 parent 066e0ce commit caab7d0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+1575
-1073
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 56 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ resolver = "2"
3030
version = "1.2.0"
3131
edition = "2021"
3232
# Remember to update clippy.toml as well
33-
rust-version = "1.85"
33+
rust-version = "1.86"
3434
authors = ["Foundry Contributors"]
3535
license = "MIT OR Apache-2.0"
3636
homepage = "https://github.com/foundry-rs/foundry"
@@ -195,63 +195,65 @@ foundry-wallets = { path = "crates/wallets" }
195195
foundry-linking = { path = "crates/linking" }
196196

197197
# solc & compilation utilities
198-
foundry-block-explorers = { version = "0.13.3", default-features = false }
199-
foundry-compilers = { version = "0.14.0", default-features = false }
200-
foundry-fork-db = "0.12"
198+
foundry-block-explorers = { version = "0.17.0", default-features = false }
199+
foundry-compilers = { version = "0.16.1", default-features = false }
200+
foundry-fork-db = "0.14"
201201
solang-parser = { version = "=0.3.7", package = "foundry-solang-parser" }
202-
solar-parse = { version = "=0.1.2", default-features = false }
203-
solar-sema = { version = "=0.1.2", default-features = false }
204-
205-
## revm
206-
revm = { version = "21.0.0", default-features = false }
207-
revm-inspectors = { version = "0.18.1", features = ["serde"] }
208-
op-revm = { version = "2.0.0", default-features = false }
202+
solar-parse = { version = "=0.1.3", default-features = false }
203+
solar-sema = { version = "=0.1.3", default-features = false }
209204

210205
## alloy
211-
alloy-consensus = { version = "0.13.0", default-features = false }
212-
alloy-contract = { version = "0.13.0", default-features = false }
213-
alloy-eips = { version = "0.13.0", default-features = false }
214-
alloy-genesis = { version = "0.13.0", default-features = false }
215-
alloy-json-rpc = { version = "0.13.0", default-features = false }
216-
alloy-network = { version = "0.13.0", default-features = false }
217-
alloy-provider = { version = "0.13.0", default-features = false }
218-
alloy-pubsub = { version = "0.13.0", default-features = false }
219-
alloy-rpc-client = { version = "0.13.0", default-features = false }
220-
alloy-rpc-types = { version = "0.13.0", default-features = true }
221-
alloy-serde = { version = "0.13.0", default-features = false }
222-
alloy-signer = { version = "0.13.0", default-features = false }
223-
alloy-signer-aws = { version = "0.13.0", default-features = false }
224-
alloy-signer-gcp = { version = "0.13.0", default-features = false }
225-
alloy-signer-ledger = { version = "0.13.0", default-features = false }
226-
alloy-signer-local = { version = "0.13.0", default-features = false }
227-
alloy-signer-trezor = { version = "0.13.0", default-features = false }
228-
alloy-transport = { version = "0.13.0", default-features = false }
229-
alloy-transport-http = { version = "0.13.0", default-features = false }
230-
alloy-transport-ipc = { version = "0.13.0", default-features = false }
231-
alloy-transport-ws = { version = "0.13.0", default-features = false }
206+
alloy-consensus = { version = "1.0.3", default-features = false }
207+
alloy-contract = { version = "1.0.3", default-features = false }
208+
alloy-eips = { version = "1.0.3", default-features = false }
209+
alloy-genesis = { version = "1.0.3", default-features = false }
210+
alloy-json-rpc = { version = "1.0.3", default-features = false }
211+
alloy-network = { version = "1.0.3", default-features = false }
212+
alloy-provider = { version = "1.0.3", default-features = false }
213+
alloy-pubsub = { version = "1.0.3", default-features = false }
214+
alloy-rpc-client = { version = "1.0.3", default-features = false }
215+
alloy-rpc-types = { version = "1.0.3", default-features = true }
216+
alloy-serde = { version = "1.0.3", default-features = false }
217+
alloy-signer = { version = "1.0.3", default-features = false }
218+
alloy-signer-aws = { version = "1.0.3", default-features = false }
219+
alloy-signer-gcp = { version = "1.0.3", default-features = false }
220+
alloy-signer-ledger = { version = "1.0.3", default-features = false }
221+
alloy-signer-local = { version = "1.0.3", default-features = false }
222+
alloy-signer-trezor = { version = "1.0.3", default-features = false }
223+
alloy-transport = { version = "1.0.3", default-features = false }
224+
alloy-transport-http = { version = "1.0.3", default-features = false }
225+
alloy-transport-ipc = { version = "1.0.3", default-features = false }
226+
alloy-transport-ws = { version = "1.0.3", default-features = false }
232227

233228
## alloy-core
234-
alloy-dyn-abi = "0.8.22"
235-
alloy-json-abi = "0.8.22"
236-
alloy-primitives = { version = "0.8.22", features = [
229+
alloy-dyn-abi = "1.0"
230+
alloy-json-abi = "1.0"
231+
alloy-primitives = { version = "1.0", features = [
237232
"getrandom",
238233
"rand",
239234
"map-fxhash",
240235
"map-foldhash",
241236
] }
242-
alloy-sol-macro-expander = "0.8.22"
243-
alloy-sol-macro-input = "0.8.22"
244-
alloy-sol-types = "0.8.22"
237+
alloy-sol-macro-expander = "1.0"
238+
alloy-sol-macro-input = "1.0"
239+
alloy-sol-types = "1.0"
245240

246-
alloy-chains = "0.1"
247-
alloy-evm = "0.3.2"
248-
alloy-op-evm = "0.3.2"
241+
alloy-chains = "0.2"
249242
alloy-rlp = "0.3"
250-
alloy-trie = "0.7.0"
243+
alloy-trie = "0.8.1"
251244

252245
## op-alloy
253-
op-alloy-consensus = "0.12.0"
254-
op-alloy-rpc-types = "0.12.0"
246+
op-alloy-consensus = "0.16.0"
247+
op-alloy-rpc-types = "0.16.0"
248+
249+
## revm
250+
revm = { version = "23.1.0", default-features = false }
251+
revm-inspectors = { version = "0.22.3", features = ["serde"] }
252+
op-revm = { version = "4.0.2", default-features = false }
253+
254+
## alloy-evm
255+
alloy-evm = "0.8.1"
256+
alloy-op-evm = "0.8.1"
255257

256258
## cli
257259
anstream = "0.6"
@@ -298,7 +300,9 @@ mesc = "0.3"
298300
num-format = "0.4"
299301
parking_lot = "0.12"
300302
proptest = "1"
301-
rand = "0.8"
303+
rand = "0.9"
304+
rand_08 = { package = "rand", version = "0.8" }
305+
rand_chacha = "0.9.0"
302306
rayon = "1"
303307
regex = { version = "1", default-features = false }
304308
reqwest = { version = "0.12", default-features = false, features = [
@@ -369,10 +373,14 @@ idna_adapter = "=1.1.0"
369373
# alloy-transport-ipc = { git = "https://github.com/alloy-rs/alloy", rev = "7fab7ee" }
370374
# alloy-transport-ws = { git = "https://github.com/alloy-rs/alloy", rev = "7fab7ee" }
371375

376+
## alloy-evm
377+
# alloy-evm = { git = "https://github.com/alloy-rs/evm.git", rev = "95f6a8a" }
378+
# alloy-op-evm = { git = "https://github.com/alloy-rs/evm.git", rev = "95f6a8a" }
379+
372380
## revm
373-
revm = { git = "https://github.com/bluealloy/revm.git", rev = "2401c2c3" }
374-
op-revm = { git = "https://github.com/bluealloy/revm.git", rev = "2401c2c3" }
381+
revm = { git = "https://github.com/bluealloy/revm.git", rev = "b5808253" }
382+
op-revm = { git = "https://github.com/bluealloy/revm.git", rev = "b5808253" }
375383
# revm-inspectors = { git = "https://github.com/paradigmxyz/revm-inspectors.git", rev = "a625c04" }
376384

377385
## foundry
378-
foundry-fork-db = { git = "https://github.com/foundry-rs/foundry-fork-db", rev = "811a61a" }
386+
# foundry-fork-db = { git = "https://github.com/foundry-rs/foundry-fork-db", rev = "811a61a" }

clippy.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
msrv = "1.85"
1+
msrv = "1.86"
22

33
# `bytes::Bytes` is included by default and `alloy_primitives::Bytes` is a wrapper around it,
44
# so it is safe to ignore it as well.

crates/anvil/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ yansi.workspace = true
9090
tempfile.workspace = true
9191
itertools.workspace = true
9292
rand.workspace = true
93+
rand_08.workspace = true
9394
eyre.workspace = true
9495

9596
# cli

crates/anvil/core/src/eth/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ pub struct Params<T: Default> {
3535
/// Represents ethereum JSON-RPC API
3636
#[derive(Clone, Debug, serde::Deserialize)]
3737
#[serde(tag = "method", content = "params")]
38-
#[expect(clippy::large_enum_variant)]
3938
pub enum EthRequest {
4039
#[serde(rename = "web3_clientVersion", with = "empty_params")]
4140
Web3ClientVersion(()),

crates/anvil/core/src/eth/subscription.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//! Subscription types
22
use alloy_primitives::hex;
3-
use rand::{distributions::Alphanumeric, thread_rng, Rng};
3+
use rand::{distr::Alphanumeric, rng, Rng};
44
use std::fmt;
55

66
/// Unique subscription id
@@ -48,7 +48,7 @@ impl HexIdProvider {
4848
/// Generates a random hex encoded Id
4949
pub fn gen(&self) -> String {
5050
let id: String =
51-
(&mut thread_rng()).sample_iter(Alphanumeric).map(char::from).take(self.len).collect();
51+
(&mut rng()).sample_iter(Alphanumeric).map(char::from).take(self.len).collect();
5252
let out = hex::encode(id);
5353
format!("0x{out}")
5454
}

crates/anvil/core/src/eth/transaction/mod.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@ use alloy_consensus::{
1111
};
1212
use alloy_eips::eip2718::{Decodable2718, Eip2718Error, Encodable2718};
1313
use alloy_network::{AnyReceiptEnvelope, AnyRpcTransaction, AnyTransactionReceipt, AnyTxEnvelope};
14-
use alloy_primitives::{
15-
Address, Bloom, Bytes, Log, PrimitiveSignature, TxHash, TxKind, B256, U256, U64,
16-
};
14+
use alloy_primitives::{Address, Bloom, Bytes, Log, Signature, TxHash, TxKind, B256, U256, U64};
1715
use alloy_rlp::{length_of_length, Decodable, Encodable, Header};
1816
use alloy_rpc_types::{
1917
request::TransactionRequest, trace::otterscan::OtsReceipt, AccessList, ConversionError,
@@ -531,7 +529,8 @@ impl PendingTransaction {
531529
authorization_list,
532530
input,
533531
} = tx.tx();
534-
OpTransaction::new(TxEnv {
532+
533+
let mut tx = TxEnv {
535534
caller,
536535
kind: TxKind::Call(*to),
537536
data: input.clone(),
@@ -542,10 +541,12 @@ impl PendingTransaction {
542541
gas_priority_fee: Some(*max_priority_fee_per_gas),
543542
gas_limit: *gas_limit,
544543
access_list: access_list.clone(),
545-
authorization_list: authorization_list.clone(),
546544
tx_type: 4,
547545
..Default::default()
548-
})
546+
};
547+
tx.set_signed_authorization(authorization_list.clone());
548+
549+
OpTransaction::new(tx)
549550
}
550551
TypedTransaction::Deposit(tx) => {
551552
let chain_id = tx.chain_id();
@@ -962,14 +963,14 @@ impl TypedTransaction {
962963
}
963964

964965
/// Returns the Signature of the transaction
965-
pub fn signature(&self) -> PrimitiveSignature {
966+
pub fn signature(&self) -> Signature {
966967
match self {
967968
Self::Legacy(tx) => *tx.signature(),
968969
Self::EIP2930(tx) => *tx.signature(),
969970
Self::EIP1559(tx) => *tx.signature(),
970971
Self::EIP4844(tx) => *tx.signature(),
971972
Self::EIP7702(tx) => *tx.signature(),
972-
Self::Deposit(_) => PrimitiveSignature::from_scalars_and_parity(
973+
Self::Deposit(_) => Signature::from_scalars_and_parity(
973974
B256::with_last_byte(1),
974975
B256::with_last_byte(1),
975976
false,
@@ -1521,7 +1522,7 @@ mod tests {
15211522
chain_id: Some(4),
15221523
};
15231524

1524-
let signature = PrimitiveSignature::from_str("0eb96ca19e8a77102767a41fc85a36afd5c61ccb09911cec5d3e86e193d9c5ae3a456401896b1b6055311536bf00a718568c744d8c1f9df59879e8350220ca182b").unwrap();
1525+
let signature = Signature::from_str("0eb96ca19e8a77102767a41fc85a36afd5c61ccb09911cec5d3e86e193d9c5ae3a456401896b1b6055311536bf00a718568c744d8c1f9df59879e8350220ca182b").unwrap();
15251526

15261527
let tx = TypedTransaction::Legacy(Signed::new_unchecked(
15271528
tx,

crates/anvil/src/cmd.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use core::fmt;
1212
use foundry_common::shell;
1313
use foundry_config::{Chain, Config, FigmentProviders};
1414
use futures::FutureExt;
15-
use rand::{rngs::StdRng, SeedableRng};
15+
use rand_08::{rngs::StdRng, SeedableRng};
1616
use std::{
1717
future::Future,
1818
net::IpAddr,
@@ -292,7 +292,7 @@ impl NodeArgs {
292292
if let Some(ref mnemonic) = self.mnemonic {
293293
gen = gen.phrase(mnemonic);
294294
} else if let Some(count) = self.mnemonic_random {
295-
let mut rng = rand::thread_rng();
295+
let mut rng = rand_08::thread_rng();
296296
let mnemonic = match Mnemonic::<English>::new_with_count(&mut rng, count) {
297297
Ok(mnemonic) => mnemonic.to_phrase(),
298298
Err(_) => DEFAULT_MNEMONIC.to_string(),

crates/anvil/src/config.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ use foundry_evm_core::AsEnvMut;
4343
use itertools::Itertools;
4444
use op_revm::OpTransaction;
4545
use parking_lot::RwLock;
46-
use rand::thread_rng;
46+
use rand_08::thread_rng;
4747
use revm::{
4848
context::{BlockEnv, CfgEnv, TxEnv},
4949
context_interface::block::BlobExcessGasAndPrice,

crates/anvil/src/eth/api.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ use alloy_network::{
4141
};
4242
use alloy_primitives::{
4343
map::{HashMap, HashSet},
44-
Address, Bytes, PrimitiveSignature as Signature, TxHash, TxKind, B256, B64, U256, U64,
44+
Address, Bytes, Signature, TxHash, TxKind, B256, B64, U256, U64,
4545
};
4646
use alloy_provider::utils::{
4747
eip1559_default_estimator, EIP1559_FEE_ESTIMATION_PAST_BLOCKS,

0 commit comments

Comments
 (0)