Skip to content

Commit fb48ef7

Browse files
authored
WEB3-78: Update revm requirement from 10.0 to 13.0 (#195)
1 parent 7a0984e commit fb48ef7

File tree

6 files changed

+12
-17
lines changed

6 files changed

+12
-17
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ clap = { version = "4.5", features = ["derive", "env"] }
3838
log = "0.4"
3939
nybbles = { version = "0.2.1", features = ["serde"] }
4040
once_cell = "1.19"
41-
revm = { version = "10.0", default-features = false, features = ["std"] }
41+
revm = { version = "13.0", default-features = false, features = ["std"] }
4242
serde = "1.0"
4343
serde_json = "1.0"
4444
test-log = "0.2.15"

rust-toolchain.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[toolchain]
2-
channel = "1.76"
2+
channel = "1.79"
33
components = ["clippy", "rustfmt", "rust-src"]
44
targets = []
55
profile = "minimal"

steel/src/host/db/alloy.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,10 @@ impl<T: Transport + Clone, N: Network, P: Provider<T, N>> Database for AlloyDb<T
139139
Ok(storage)
140140
}
141141

142-
fn block_hash(&mut self, number: U256) -> Result<B256, Self::Error> {
143-
// SAFETY: We know number <= u64::MAX, so we can safely convert it to u64
144-
let block = self.handle.block_on(
145-
self.provider
146-
.get_block_by_number(number.to::<u64>().into(), false),
147-
)?;
142+
fn block_hash(&mut self, number: u64) -> Result<B256, Self::Error> {
143+
let block = self
144+
.handle
145+
.block_on(self.provider.get_block_by_number(number.into(), false))?;
148146
let header = block.unwrap().header;
149147
Ok(header.hash.unwrap())
150148
}

steel/src/host/db/trace.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use revm::{
2222
pub struct TraceDb<D> {
2323
accounts: HashMap<Address, HashSet<U256>>,
2424
contracts: HashMap<B256, Bytes>,
25-
block_hash_numbers: HashSet<U256>,
25+
block_hash_numbers: HashSet<u64>,
2626

2727
inner: D,
2828
}
@@ -46,7 +46,7 @@ impl<D: Database> TraceDb<D> {
4646
&self.contracts
4747
}
4848
/// Returns all the queried block numbers.
49-
pub fn block_hash_numbers(&self) -> &HashSet<U256> {
49+
pub fn block_hash_numbers(&self) -> &HashSet<u64> {
5050
&self.block_hash_numbers
5151
}
5252

@@ -89,7 +89,7 @@ impl<DB: Database> Database for TraceDb<DB> {
8989
Ok(storage)
9090
}
9191

92-
fn block_hash(&mut self, number: U256) -> Result<B256, Self::Error> {
92+
fn block_hash(&mut self, number: u64) -> Result<B256, Self::Error> {
9393
log::trace!("BLOCK: number={}", number);
9494
let block_hash = self.inner.block_hash(number)?;
9595
self.block_hash_numbers.insert(number);

steel/src/host/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,7 @@ where
148148

149149
// retrieve ancestor block headers
150150
let mut ancestors = Vec::new();
151-
if let Some(block_hash_min_number) = db.block_hash_numbers().iter().min() {
152-
let block_hash_min_number: u64 = block_hash_min_number.to();
151+
if let Some(&block_hash_min_number) = db.block_hash_numbers().iter().min() {
153152
for number in (block_hash_min_number..block_number).rev() {
154153
let rpc_block = provider
155154
.get_block_by_number(number.into(), false)

steel/src/state.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,7 @@ impl StateDb {
8181
}
8282

8383
#[inline]
84-
fn block_hash(&self, number: U256) -> B256 {
85-
// block number is never bigger then u64::MAX
86-
let number: u64 = number.to();
84+
fn block_hash(&self, number: u64) -> B256 {
8785
let hash = self
8886
.block_hashes
8987
.get(&number)
@@ -176,7 +174,7 @@ impl Database for WrapStateDb<'_> {
176174

177175
/// Get block hash by block number.
178176
#[inline]
179-
fn block_hash(&mut self, number: U256) -> Result<B256, Self::Error> {
177+
fn block_hash(&mut self, number: u64) -> Result<B256, Self::Error> {
180178
Ok(self.inner.block_hash(number))
181179
}
182180
}

0 commit comments

Comments
 (0)