mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
chore(evm): replace reth-primitives with alloy (#11232)
Signed-off-by: Abhishekkochar <abhishekkochar2@gmail.com>
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@ -7283,6 +7283,7 @@ name = "reth-evm"
|
|||||||
version = "1.0.7"
|
version = "1.0.7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"alloy-eips",
|
"alloy-eips",
|
||||||
|
"alloy-primitives",
|
||||||
"auto_impl",
|
"auto_impl",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"metrics",
|
"metrics",
|
||||||
|
|||||||
@ -23,7 +23,11 @@ reth-storage-errors.workspace = true
|
|||||||
reth-execution-types.workspace = true
|
reth-execution-types.workspace = true
|
||||||
|
|
||||||
revm.workspace = true
|
revm.workspace = true
|
||||||
|
|
||||||
|
# alloy
|
||||||
|
alloy-primitives.workspace = true
|
||||||
alloy-eips.workspace = true
|
alloy-eips.workspace = true
|
||||||
|
|
||||||
auto_impl.workspace = true
|
auto_impl.workspace = true
|
||||||
futures-util.workspace = true
|
futures-util.workspace = true
|
||||||
metrics = { workspace = true, optional = true }
|
metrics = { workspace = true, optional = true }
|
||||||
|
|||||||
@ -18,6 +18,10 @@ reth-trie.workspace = true
|
|||||||
|
|
||||||
revm.workspace = true
|
revm.workspace = true
|
||||||
|
|
||||||
|
# alloy
|
||||||
|
alloy-primitives.workspace = true
|
||||||
|
alloy-eips.workspace = true
|
||||||
|
|
||||||
serde = { workspace = true, optional = true }
|
serde = { workspace = true, optional = true }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
|
|||||||
@ -2,11 +2,13 @@
|
|||||||
|
|
||||||
use crate::ExecutionOutcome;
|
use crate::ExecutionOutcome;
|
||||||
use alloc::{borrow::Cow, collections::BTreeMap};
|
use alloc::{borrow::Cow, collections::BTreeMap};
|
||||||
|
use alloy_eips::{eip1898::ForkBlock, BlockNumHash};
|
||||||
|
use alloy_primitives::{Address, BlockHash, BlockNumber, TxHash};
|
||||||
use core::{fmt, ops::RangeInclusive};
|
use core::{fmt, ops::RangeInclusive};
|
||||||
use reth_execution_errors::{BlockExecutionError, InternalBlockExecutionError};
|
use reth_execution_errors::{BlockExecutionError, InternalBlockExecutionError};
|
||||||
use reth_primitives::{
|
use reth_primitives::{
|
||||||
Address, BlockHash, BlockNumHash, BlockNumber, ForkBlock, Receipt, SealedBlock,
|
Receipt, SealedBlock, SealedBlockWithSenders, SealedHeader, TransactionSigned,
|
||||||
SealedBlockWithSenders, SealedHeader, TransactionSigned, TransactionSignedEcRecovered, TxHash,
|
TransactionSignedEcRecovered,
|
||||||
};
|
};
|
||||||
use reth_trie::updates::TrieUpdates;
|
use reth_trie::updates::TrieUpdates;
|
||||||
use revm::db::BundleState;
|
use revm::db::BundleState;
|
||||||
@ -508,7 +510,8 @@ pub enum ChainSplit {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use reth_primitives::{Receipt, Receipts, TxType, B256};
|
use alloy_primitives::B256;
|
||||||
|
use reth_primitives::{Receipt, Receipts, TxType};
|
||||||
use revm::primitives::{AccountInfo, HashMap};
|
use revm::primitives::{AccountInfo, HashMap};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
use reth_primitives::{Request, U256};
|
use alloy_primitives::U256;
|
||||||
|
use reth_primitives::Request;
|
||||||
use revm::db::BundleState;
|
use revm::db::BundleState;
|
||||||
|
|
||||||
/// A helper type for ethereum block inputs that consists of a block and the total difficulty.
|
/// A helper type for ethereum block inputs that consists of a block and the total difficulty.
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
use crate::BlockExecutionOutput;
|
use crate::BlockExecutionOutput;
|
||||||
use reth_primitives::{
|
use alloy_primitives::{Address, BlockNumber, Bloom, Log, B256, U256};
|
||||||
logs_bloom, Account, Address, BlockNumber, Bloom, Bytecode, Log, Receipt, Receipts, Requests,
|
use reth_primitives::{logs_bloom, Account, Bytecode, Receipt, Receipts, Requests, StorageEntry};
|
||||||
StorageEntry, B256, U256,
|
|
||||||
};
|
|
||||||
use reth_trie::HashedPostState;
|
use reth_trie::HashedPostState;
|
||||||
use revm::{
|
use revm::{
|
||||||
db::{states::BundleState, BundleAccount},
|
db::{states::BundleState, BundleAccount},
|
||||||
@ -371,8 +369,8 @@ impl From<(BlockExecutionOutput<Receipt>, BlockNumber)> for ExecutionOutcome {
|
|||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use alloy_eips::{eip6110::DepositRequest, eip7002::WithdrawalRequest};
|
use alloy_eips::{eip6110::DepositRequest, eip7002::WithdrawalRequest};
|
||||||
use alloy_primitives::{FixedBytes, LogData};
|
use alloy_primitives::{Address, FixedBytes, LogData, B256};
|
||||||
use reth_primitives::{Address, Receipts, Request, Requests, TxType, B256};
|
use reth_primitives::{Receipts, Request, Requests, TxType};
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
@ -3,9 +3,10 @@
|
|||||||
use core::fmt::Display;
|
use core::fmt::Display;
|
||||||
|
|
||||||
use crate::execute::{BatchExecutor, BlockExecutorProvider, Executor};
|
use crate::execute::{BatchExecutor, BlockExecutorProvider, Executor};
|
||||||
|
use alloy_primitives::BlockNumber;
|
||||||
use reth_execution_errors::BlockExecutionError;
|
use reth_execution_errors::BlockExecutionError;
|
||||||
use reth_execution_types::{BlockExecutionInput, BlockExecutionOutput, ExecutionOutcome};
|
use reth_execution_types::{BlockExecutionInput, BlockExecutionOutput, ExecutionOutcome};
|
||||||
use reth_primitives::{BlockNumber, BlockWithSenders, Receipt};
|
use reth_primitives::{BlockWithSenders, Receipt};
|
||||||
use reth_prune_types::PruneModes;
|
use reth_prune_types::PruneModes;
|
||||||
use reth_storage_errors::provider::ProviderError;
|
use reth_storage_errors::provider::ProviderError;
|
||||||
use revm_primitives::db::Database;
|
use revm_primitives::db::Database;
|
||||||
|
|||||||
@ -5,8 +5,9 @@ pub use reth_execution_errors::{BlockExecutionError, BlockValidationError};
|
|||||||
pub use reth_execution_types::{BlockExecutionInput, BlockExecutionOutput, ExecutionOutcome};
|
pub use reth_execution_types::{BlockExecutionInput, BlockExecutionOutput, ExecutionOutcome};
|
||||||
pub use reth_storage_errors::provider::ProviderError;
|
pub use reth_storage_errors::provider::ProviderError;
|
||||||
|
|
||||||
|
use alloy_primitives::BlockNumber;
|
||||||
use core::fmt::Display;
|
use core::fmt::Display;
|
||||||
use reth_primitives::{BlockNumber, BlockWithSenders, Receipt};
|
use reth_primitives::{BlockWithSenders, Receipt};
|
||||||
use reth_prune_types::PruneModes;
|
use reth_prune_types::PruneModes;
|
||||||
use revm::State;
|
use revm::State;
|
||||||
use revm_primitives::db::Database;
|
use revm_primitives::db::Database;
|
||||||
@ -151,8 +152,8 @@ pub trait BlockExecutorProvider: Send + Sync + Clone + Unpin + 'static {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use alloy_primitives::U256;
|
||||||
use revm::db::{CacheDB, EmptyDBTyped};
|
use revm::db::{CacheDB, EmptyDBTyped};
|
||||||
use revm_primitives::U256;
|
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
|
|
||||||
#[derive(Clone, Default)]
|
#[derive(Clone, Default)]
|
||||||
|
|||||||
@ -14,12 +14,11 @@ extern crate alloc;
|
|||||||
use core::ops::Deref;
|
use core::ops::Deref;
|
||||||
|
|
||||||
use crate::builder::RethEvmBuilder;
|
use crate::builder::RethEvmBuilder;
|
||||||
use reth_primitives::{Address, TransactionSigned, TransactionSignedEcRecovered, B256, U256};
|
use alloy_primitives::{Address, Bytes, B256, U256};
|
||||||
|
use reth_primitives::{TransactionSigned, TransactionSignedEcRecovered};
|
||||||
use reth_primitives_traits::BlockHeader;
|
use reth_primitives_traits::BlockHeader;
|
||||||
use revm::{Database, Evm, GetInspector};
|
use revm::{Database, Evm, GetInspector};
|
||||||
use revm_primitives::{
|
use revm_primitives::{BlockEnv, CfgEnvWithHandlerCfg, Env, EnvWithHandlerCfg, SpecId, TxEnv};
|
||||||
BlockEnv, Bytes, CfgEnvWithHandlerCfg, Env, EnvWithHandlerCfg, SpecId, TxEnv,
|
|
||||||
};
|
|
||||||
|
|
||||||
pub mod builder;
|
pub mod builder;
|
||||||
pub mod either;
|
pub mod either;
|
||||||
|
|||||||
@ -1,9 +1,10 @@
|
|||||||
//! A no operation block executor implementation.
|
//! A no operation block executor implementation.
|
||||||
|
|
||||||
|
use alloy_primitives::BlockNumber;
|
||||||
use core::fmt::Display;
|
use core::fmt::Display;
|
||||||
use reth_execution_errors::BlockExecutionError;
|
use reth_execution_errors::BlockExecutionError;
|
||||||
use reth_execution_types::{BlockExecutionInput, BlockExecutionOutput, ExecutionOutcome};
|
use reth_execution_types::{BlockExecutionInput, BlockExecutionOutput, ExecutionOutcome};
|
||||||
use reth_primitives::{BlockNumber, BlockWithSenders, Receipt};
|
use reth_primitives::{BlockWithSenders, Receipt};
|
||||||
use reth_prune_types::PruneModes;
|
use reth_prune_types::PruneModes;
|
||||||
use reth_storage_errors::provider::ProviderError;
|
use reth_storage_errors::provider::ProviderError;
|
||||||
use revm::State;
|
use revm::State;
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
//! Provider trait for populating the EVM environment.
|
//! Provider trait for populating the EVM environment.
|
||||||
|
|
||||||
use crate::ConfigureEvmEnv;
|
use crate::ConfigureEvmEnv;
|
||||||
use reth_primitives::{BlockHashOrNumber, Header};
|
use alloy_eips::eip1898::BlockHashOrNumber;
|
||||||
|
use reth_primitives::Header;
|
||||||
use reth_storage_errors::provider::ProviderResult;
|
use reth_storage_errors::provider::ProviderResult;
|
||||||
use revm::primitives::{BlockEnv, CfgEnv, CfgEnvWithHandlerCfg, SpecId};
|
use revm::primitives::{BlockEnv, CfgEnv, CfgEnvWithHandlerCfg, SpecId};
|
||||||
|
|
||||||
|
|||||||
@ -4,12 +4,13 @@ use alloc::{boxed::Box, string::ToString};
|
|||||||
use alloy_eips::eip2935::HISTORY_STORAGE_ADDRESS;
|
use alloy_eips::eip2935::HISTORY_STORAGE_ADDRESS;
|
||||||
|
|
||||||
use crate::ConfigureEvm;
|
use crate::ConfigureEvm;
|
||||||
|
use alloy_primitives::B256;
|
||||||
use core::fmt::Display;
|
use core::fmt::Display;
|
||||||
use reth_chainspec::EthereumHardforks;
|
use reth_chainspec::EthereumHardforks;
|
||||||
use reth_execution_errors::{BlockExecutionError, BlockValidationError};
|
use reth_execution_errors::{BlockExecutionError, BlockValidationError};
|
||||||
use reth_primitives::Header;
|
use reth_primitives::Header;
|
||||||
use revm::{interpreter::Host, Database, DatabaseCommit, Evm};
|
use revm::{interpreter::Host, Database, DatabaseCommit, Evm};
|
||||||
use revm_primitives::{BlockEnv, CfgEnvWithHandlerCfg, EnvWithHandlerCfg, ResultAndState, B256};
|
use revm_primitives::{BlockEnv, CfgEnvWithHandlerCfg, EnvWithHandlerCfg, ResultAndState};
|
||||||
|
|
||||||
/// Apply the [EIP-2935](https://eips.ethereum.org/EIPS/eip-2935) pre block contract call.
|
/// Apply the [EIP-2935](https://eips.ethereum.org/EIPS/eip-2935) pre block contract call.
|
||||||
///
|
///
|
||||||
|
|||||||
@ -3,11 +3,12 @@ use alloc::{boxed::Box, string::ToString};
|
|||||||
|
|
||||||
use crate::ConfigureEvm;
|
use crate::ConfigureEvm;
|
||||||
use alloy_eips::eip4788::BEACON_ROOTS_ADDRESS;
|
use alloy_eips::eip4788::BEACON_ROOTS_ADDRESS;
|
||||||
|
use alloy_primitives::B256;
|
||||||
use reth_chainspec::EthereumHardforks;
|
use reth_chainspec::EthereumHardforks;
|
||||||
use reth_execution_errors::{BlockExecutionError, BlockValidationError};
|
use reth_execution_errors::{BlockExecutionError, BlockValidationError};
|
||||||
use reth_primitives::Header;
|
use reth_primitives::Header;
|
||||||
use revm::{interpreter::Host, Database, DatabaseCommit, Evm};
|
use revm::{interpreter::Host, Database, DatabaseCommit, Evm};
|
||||||
use revm_primitives::{BlockEnv, CfgEnvWithHandlerCfg, EnvWithHandlerCfg, ResultAndState, B256};
|
use revm_primitives::{BlockEnv, CfgEnvWithHandlerCfg, EnvWithHandlerCfg, ResultAndState};
|
||||||
|
|
||||||
/// Apply the [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) pre block contract call.
|
/// Apply the [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) pre block contract call.
|
||||||
///
|
///
|
||||||
|
|||||||
@ -4,12 +4,12 @@ use core::fmt::Display;
|
|||||||
|
|
||||||
use crate::ConfigureEvm;
|
use crate::ConfigureEvm;
|
||||||
use alloy_eips::eip7002::{WithdrawalRequest, WITHDRAWAL_REQUEST_PREDEPLOY_ADDRESS};
|
use alloy_eips::eip7002::{WithdrawalRequest, WITHDRAWAL_REQUEST_PREDEPLOY_ADDRESS};
|
||||||
|
use alloy_primitives::{Address, Bytes, FixedBytes};
|
||||||
use reth_execution_errors::{BlockExecutionError, BlockValidationError};
|
use reth_execution_errors::{BlockExecutionError, BlockValidationError};
|
||||||
use reth_primitives::{Buf, Header, Request};
|
use reth_primitives::{Buf, Header, Request};
|
||||||
use revm::{interpreter::Host, Database, DatabaseCommit, Evm};
|
use revm::{interpreter::Host, Database, DatabaseCommit, Evm};
|
||||||
use revm_primitives::{
|
use revm_primitives::{
|
||||||
Address, BlockEnv, Bytes, CfgEnvWithHandlerCfg, EnvWithHandlerCfg, ExecutionResult, FixedBytes,
|
BlockEnv, CfgEnvWithHandlerCfg, EnvWithHandlerCfg, ExecutionResult, ResultAndState,
|
||||||
ResultAndState,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Apply the [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002) post block contract call.
|
/// Apply the [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002) post block contract call.
|
||||||
|
|||||||
@ -4,12 +4,12 @@ use core::fmt::Display;
|
|||||||
|
|
||||||
use crate::ConfigureEvm;
|
use crate::ConfigureEvm;
|
||||||
use alloy_eips::eip7251::{ConsolidationRequest, CONSOLIDATION_REQUEST_PREDEPLOY_ADDRESS};
|
use alloy_eips::eip7251::{ConsolidationRequest, CONSOLIDATION_REQUEST_PREDEPLOY_ADDRESS};
|
||||||
|
use alloy_primitives::{Address, Bytes, FixedBytes};
|
||||||
use reth_execution_errors::{BlockExecutionError, BlockValidationError};
|
use reth_execution_errors::{BlockExecutionError, BlockValidationError};
|
||||||
use reth_primitives::{Buf, Header, Request};
|
use reth_primitives::{Buf, Header, Request};
|
||||||
use revm::{interpreter::Host, Database, DatabaseCommit, Evm};
|
use revm::{interpreter::Host, Database, DatabaseCommit, Evm};
|
||||||
use revm_primitives::{
|
use revm_primitives::{
|
||||||
Address, BlockEnv, Bytes, CfgEnvWithHandlerCfg, EnvWithHandlerCfg, ExecutionResult, FixedBytes,
|
BlockEnv, CfgEnvWithHandlerCfg, EnvWithHandlerCfg, ExecutionResult, ResultAndState,
|
||||||
ResultAndState,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Apply the [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) post block contract call.
|
/// Apply the [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) post block contract call.
|
||||||
|
|||||||
@ -3,10 +3,11 @@
|
|||||||
use crate::execute::{
|
use crate::execute::{
|
||||||
BatchExecutor, BlockExecutionInput, BlockExecutionOutput, BlockExecutorProvider, Executor,
|
BatchExecutor, BlockExecutionInput, BlockExecutionOutput, BlockExecutorProvider, Executor,
|
||||||
};
|
};
|
||||||
|
use alloy_primitives::BlockNumber;
|
||||||
use parking_lot::Mutex;
|
use parking_lot::Mutex;
|
||||||
use reth_execution_errors::BlockExecutionError;
|
use reth_execution_errors::BlockExecutionError;
|
||||||
use reth_execution_types::ExecutionOutcome;
|
use reth_execution_types::ExecutionOutcome;
|
||||||
use reth_primitives::{BlockNumber, BlockWithSenders, Receipt};
|
use reth_primitives::{BlockWithSenders, Receipt};
|
||||||
use reth_prune_types::PruneModes;
|
use reth_prune_types::PruneModes;
|
||||||
use reth_storage_errors::provider::ProviderError;
|
use reth_storage_errors::provider::ProviderError;
|
||||||
use revm::State;
|
use revm::State;
|
||||||
|
|||||||
Reference in New Issue
Block a user