Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
b9f75a0
refactor: allow chain-specific configuration of Evm
Wodann May 1, 2024
9f4abf7
refactor: rename Transaction::transact_to and clarify docs
Wodann Jun 18, 2024
ae14441
refactor: remove trait bounds on Transaction super trait
Wodann Jun 18, 2024
13aabf4
refactor: remove trait bounds from Block supertrait
Wodann Jun 18, 2024
2a84559
fix: clippy warnings
Wodann Jun 19, 2024
1c17cd0
fix: cargo doc
Wodann Jun 19, 2024
904f0f5
refactor: limit trait bounds on HaltReason
Wodann Jun 19, 2024
8a1530c
refactor: allow moving of kind
Wodann Jun 19, 2024
29f3be6
refactor: rename Transaction::nonce to nonce_opt to signal that it's …
Wodann Jun 19, 2024
9f5e2d3
refactor: replace AccessList with alloy version
Wodann Jun 19, 2024
3baf771
refactor: rename gas_priority_fee to max_priority_fee_per_gas
Wodann Jun 20, 2024
4710a4b
refactor: correct trait bound on ExecutionResult::clone
Wodann Jun 20, 2024
5bf0156
Clone
Wodann Jun 20, 2024
612bb40
refactor: only allow optional nonce check via CfgEnv
Wodann Jun 20, 2024
94d529b
fix: use alloy-eips with fix for serde
Wodann Jun 21, 2024
e68f3af
build: bump to alloy-eips v0.1.2
Wodann Jun 24, 2024
da97359
build: Cargo.lock file
Wodann Jun 24, 2024
c903557
fix: revme
Wodann Jun 24, 2024
23525aa
refactor: derive DummyHost
Wodann Jun 24, 2024
729b236
refactor: derive Clone for ExecutionResult
Wodann Jun 24, 2024
a35aaa6
refactor: remove EVMErrorForChain
Wodann Jun 24, 2024
11a4fe6
refactor: remove EVMErrorForChain
Wodann Jun 24, 2024
b3b9b71
refactor: derive Clone for CfgEnvWithChainSpec
Wodann Jun 24, 2024
1c908e1
refactor: use EVMResultGeneric
Wodann Jun 24, 2024
a4e49cc
refactor: use EVMResultGeneric
Wodann Jun 24, 2024
8e3e3be
refactor: use EVMResultGeneric
Wodann Jun 24, 2024
adf87c4
refactor: use EVMResultGeneric
Wodann Jun 24, 2024
4761941
refactor: use EVMResultGeneric
Wodann Jun 24, 2024
78fe3f2
refactor: use EVMResultGeneric
Wodann Jun 24, 2024
e65e829
refactor: add convenience EVMErrorForChain type alias
Wodann Jun 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refactor: use EVMResultGeneric
  • Loading branch information
Wodann committed Jun 25, 2024
commit adf87c4c788752e37b1fe7b25cffd65bd6e1628b
10 changes: 3 additions & 7 deletions crates/revm/src/handler/handle_types/post_execution.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,9 @@ pub type OutputHandle<'a, ChainSpecT, EXT, DB> = Arc<
dyn Fn(
&mut Context<ChainSpecT, EXT, DB>,
FrameResult,
) -> Result<
ResultAndState<ChainSpecT>,
EVMError<
<DB as Database>::Error,
<<ChainSpecT as ChainSpec>::Transaction as TransactionValidation>::ValidationError,
>,
> + 'a,
)
-> EVMResultGeneric<ResultAndState<ChainSpecT>, ChainSpecT, <DB as Database>::Error>
+ 'a,
>;

/// End handle, takes result and state and returns final result.
Expand Down
13 changes: 3 additions & 10 deletions crates/revm/src/handler/handle_types/pre_execution.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
// Includes.
use crate::{
handler::mainnet,
primitives::{
db::Database, ChainSpec, EVMError, EVMResultGeneric, Spec, TransactionValidation,
},
primitives::{db::Database, ChainSpec, EVMResultGeneric, Spec},
Context, ContextPrecompiles,
};
use std::sync::Arc;
Expand All @@ -18,13 +16,8 @@ pub type LoadPrecompilesHandle<'a, ChainSpecT, DB> =
pub type LoadAccountsHandle<'a, ChainSpecT, EXT, DB> = Arc<
dyn Fn(
&mut Context<ChainSpecT, EXT, DB>,
) -> Result<
(),
EVMError<
<DB as Database>::Error,
<<ChainSpecT as ChainSpec>::Transaction as TransactionValidation>::ValidationError,
>,
> + 'a,
) -> EVMResultGeneric<(), ChainSpecT, <DB as Database>::Error>
+ 'a,
>;

/// Deduct the caller to its limit.
Expand Down
34 changes: 6 additions & 28 deletions crates/revm/src/handler/handle_types/validation.rs
Original file line number Diff line number Diff line change
@@ -1,51 +1,29 @@
use crate::{
handler::mainnet,
primitives::{
db::Database, ChainSpec, EVMError, EVMResultGeneric, Env, InvalidTransaction, Spec,
db::Database, ChainSpec, EVMResultGeneric, Env, InvalidTransaction, Spec,
TransactionValidation,
},
Context,
};
use std::sync::Arc;

/// Handle that validates env.
pub type ValidateEnvHandle<'a, ChainSpecT, DB> = Arc<
dyn Fn(
&Env<ChainSpecT>,
) -> Result<
(),
EVMError<
<DB as Database>::Error,
<<ChainSpecT as ChainSpec>::Transaction as TransactionValidation>::ValidationError,
>,
> + 'a,
>;
pub type ValidateEnvHandle<'a, ChainSpecT, DB> =
Arc<dyn Fn(&Env<ChainSpecT>) -> EVMResultGeneric<(), ChainSpecT, <DB as Database>::Error> + 'a>;

/// Handle that validates transaction environment against the state.
/// Second parametar is initial gas.
pub type ValidateTxEnvAgainstState<'a, ChainSpecT, EXT, DB> = Arc<
dyn Fn(
&mut Context<ChainSpecT, EXT, DB>,
) -> Result<
(),
EVMError<
<DB as Database>::Error,
<<ChainSpecT as ChainSpec>::Transaction as TransactionValidation>::ValidationError,
>,
> + 'a,
) -> EVMResultGeneric<(), ChainSpecT, <DB as Database>::Error>
+ 'a,
>;

/// Initial gas calculation handle
pub type ValidateInitialTxGasHandle<'a, ChainSpecT, DB> = Arc<
dyn Fn(
&Env<ChainSpecT>,
) -> Result<
u64,
EVMError<
<DB as Database>::Error,
<<ChainSpecT as ChainSpec>::Transaction as TransactionValidation>::ValidationError,
>,
> + 'a,
dyn Fn(&Env<ChainSpecT>) -> EVMResultGeneric<u64, ChainSpecT, <DB as Database>::Error> + 'a,
>;

/// Handles related to validation.
Expand Down