Skip to content

Commit

Permalink
Cleanup all unused Getters
Browse files Browse the repository at this point in the history
  • Loading branch information
rakita committed Feb 6, 2025
1 parent 718613e commit 1acedf6
Show file tree
Hide file tree
Showing 21 changed files with 27 additions and 384 deletions.
2 changes: 0 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 0 additions & 7 deletions crates/context/interface/src/block.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,3 @@ pub trait Block {
self.blob_excess_gas_and_price().map(|a| a.excess_blob_gas)
}
}

#[auto_impl(&, &mut, Box, Arc)]
pub trait BlockGetter {
type Block: Block;

fn block(&self) -> &Self::Block;
}
7 changes: 0 additions & 7 deletions crates/context/interface/src/cfg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,3 @@ pub enum CreateScheme {
salt: U256,
},
}

#[auto_impl(&, &mut, Box, Arc)]
pub trait CfgGetter {
type Cfg: Cfg;

fn cfg(&self) -> &Self::Cfg;
}
9 changes: 0 additions & 9 deletions crates/context/interface/src/errors.rs

This file was deleted.

4 changes: 0 additions & 4 deletions crates/context/interface/src/host.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
mod dummy;

pub use crate::journaled_state::StateLoad;
use database_interface::Database;
pub use dummy::DummyHost;

use crate::{context::ContextGetters, journaled_state::AccountLoad, Block, Journal};
use primitives::{Address, Bytes, Log, B256, BLOCK_HASH_HISTORY, U256};

/// EVM context host.
//#[auto_impl(&mut, Box)]
pub trait Host: ContextGetters {
fn set_error(&mut self, error: <Self::Db as Database>::Error) {
*self.error() = Err(error);
Expand Down
115 changes: 0 additions & 115 deletions crates/context/interface/src/host/dummy.rs

This file was deleted.

42 changes: 2 additions & 40 deletions crates/context/interface/src/journaled_state.rs
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
use crate::host::{SStoreResult, SelfDestructResult};
use core::ops::{Deref, DerefMut};
use database_interface::{Database, DatabaseGetter};
use database_interface::Database;
use primitives::{Address, Bytes, HashSet, Log, B256, U256};
use specification::hardfork::SpecId;
use state::{Account, Bytecode};
use std::boxed::Box;

use crate::host::{SStoreResult, SelfDestructResult};

pub trait Journal {
type Database: Database;
Expand Down Expand Up @@ -214,39 +212,3 @@ pub struct AccountLoad {
/// Is account empty, if `true` account is not created
pub is_empty: bool,
}

/// Helper that extracts database error from [`JournalGetter`].
pub type JournalDBError<CTX> =
<<<CTX as JournalGetter>::Journal as Journal>::Database as Database>::Error;

pub trait JournalGetter: DatabaseGetter {
type Journal: Journal<Database = <Self as DatabaseGetter>::Database>;

fn journal(&mut self) -> &mut Self::Journal;

fn journal_ref(&self) -> &Self::Journal;
}

impl<T: JournalGetter> JournalGetter for &mut T {
type Journal = T::Journal;

fn journal(&mut self) -> &mut Self::Journal {
T::journal(*self)
}

fn journal_ref(&self) -> &Self::Journal {
T::journal_ref(*self)
}
}

impl<T: JournalGetter> JournalGetter for Box<T> {
type Journal = T::Journal;

fn journal(&mut self) -> &mut Self::Journal {
T::journal(self.as_mut())
}

fn journal_ref(&self) -> &Self::Journal {
T::journal_ref(self.as_ref())
}
}
12 changes: 5 additions & 7 deletions crates/context/interface/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,14 @@ extern crate alloc as std;
pub mod block;
pub mod cfg;
pub mod context;
pub mod errors;
pub mod host;
pub mod journaled_state;
pub mod result;
pub mod transaction;

pub use block::{Block, BlockGetter};
pub use cfg::{Cfg, CfgGetter, CreateScheme, TransactTo};
pub use block::Block;
pub use cfg::{Cfg, CreateScheme, TransactTo};
pub use context::ContextGetters;
pub use database_interface::{DBErrorMarker, Database, DatabaseGetter};
pub use errors::ErrorGetter;
pub use journaled_state::{Journal, JournalDBError, JournalGetter};
pub use transaction::{Transaction, TransactionGetter, TransactionType};
pub use database_interface::{DBErrorMarker, Database};
pub use journaled_state::Journal;
pub use transaction::{Transaction, TransactionType};
79 changes: 1 addition & 78 deletions crates/context/src/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@ use crate::{
block::BlockEnv, cfg::CfgEnv, journaled_state::JournaledState, setters::ContextSetters,
tx::TxEnv,
};
use context_interface::{
Block, BlockGetter, Cfg, CfgGetter, ContextGetters, DatabaseGetter, ErrorGetter, Journal,
JournalGetter, Transaction, TransactionGetter,
};
use context_interface::{Block, Cfg, ContextGetters, Journal, Transaction};
use core::ops::{Deref, DerefMut};
use database_interface::{Database, EmptyDB};
use derive_where::derive_where;
Expand Down Expand Up @@ -368,77 +365,3 @@ where
f(&mut self.journaled_state);
}
}

impl<BLOCK, TX, CFG: Cfg, DB: Database, JOURNAL: Journal<Database = DB>, CHAIN> CfgGetter
for Context<BLOCK, TX, CFG, DB, JOURNAL, CHAIN>
{
type Cfg = CFG;

fn cfg(&self) -> &Self::Cfg {
&self.cfg
}
}

impl<BLOCK, TX, SPEC, DB, JOURNAL, CHAIN> JournalGetter
for Context<BLOCK, TX, SPEC, DB, JOURNAL, CHAIN>
where
DB: Database,
JOURNAL: Journal<Database = DB>,
{
type Journal = JOURNAL;

fn journal(&mut self) -> &mut Self::Journal {
&mut self.journaled_state
}

fn journal_ref(&self) -> &Self::Journal {
&self.journaled_state
}
}

impl<BLOCK, TX, SPEC, DB, JOURNAL, CHAIN> DatabaseGetter
for Context<BLOCK, TX, SPEC, DB, JOURNAL, CHAIN>
where
DB: Database,
JOURNAL: Journal<Database = DB>,
{
type Database = DB;

fn db(&mut self) -> &mut Self::Database {
self.journaled_state.db()
}

fn db_ref(&self) -> &Self::Database {
self.journaled_state.db_ref()
}
}

impl<BLOCK, TX: Transaction, SPEC, DB: Database, JOURNAL: Journal<Database = DB>, CHAIN> ErrorGetter
for Context<BLOCK, TX, SPEC, DB, JOURNAL, CHAIN>
{
type Error = DB::Error;

fn take_error(&mut self) -> Result<(), Self::Error> {
core::mem::replace(&mut self.error, Ok(()))
}
}

impl<BLOCK, TX: Transaction, SPEC, DB: Database, JOURNAL: Journal<Database = DB>, CHAIN>
TransactionGetter for Context<BLOCK, TX, SPEC, DB, JOURNAL, CHAIN>
{
type Transaction = TX;

fn tx(&self) -> &Self::Transaction {
&self.tx
}
}

impl<BLOCK: Block, TX, SPEC, DB: Database, JOURNAL: Journal<Database = DB>, CHAIN> BlockGetter
for Context<BLOCK, TX, SPEC, DB, JOURNAL, CHAIN>
{
type Block = BLOCK;

fn block(&self) -> &Self::Block {
&self.block
}
}
9 changes: 0 additions & 9 deletions crates/database/interface/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,12 +124,3 @@ impl<T: DatabaseRef + DatabaseCommit> DatabaseCommit for WrapDatabaseRef<T> {
self.0.commit(changes)
}
}

#[auto_impl(&mut, Box)]
pub trait DatabaseGetter {
type Database: Database;

fn db(&mut self) -> &mut Self::Database;

fn db_ref(&self) -> &Self::Database;
}
1 change: 0 additions & 1 deletion crates/handler/interface/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ all = "warn"

[dependencies]
# revm
specification.workspace = true

[dev-dependencies]
database.workspace = true
Expand Down
28 changes: 0 additions & 28 deletions crates/handler/interface/src/precompile_provider.rs

This file was deleted.

Loading

0 comments on commit 1acedf6

Please sign in to comment.