Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: bump alloy and reth #87

Merged
merged 1 commit into from
Nov 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1,839 changes: 1,109 additions & 730 deletions Cargo.lock

Large diffs are not rendered by default.

62 changes: 33 additions & 29 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -138,57 +138,61 @@ odyssey-node = { path = "crates/node" }
odyssey-wallet = { path = "crates/wallet" }
odyssey-walltime = { path = "crates/walltime" }

alloy = { version = "0.5.3", features = [
alloy = { version = "0.6.4", features = [
"contract",
"providers",
"provider-http",
"signers",
] }
alloy-network = { version = "0.5.3" }
alloy-primitives = { version = "0.8.7" }
alloy-rpc-types = { version = "0.5.3" }
alloy-signer-local = { version = "0.5.3", features = ["mnemonic"] }
alloy-consensus = "0.6.4"
alloy-eips = "0.6.4"
alloy-network = "0.6.4"
alloy-primitives = "0.8.11"
alloy-rpc-types = "0.6.4"
alloy-signer-local = { version = "0.6.4", features = ["mnemonic"] }

# tokio
tokio = { version = "1.21", default-features = false }

# reth
reth-chainspec = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-cli = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-cli-util = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-evm = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-rpc-eth-api = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-node-api = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-node-builder = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-node-core = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050", features = [
reth-chainspec = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-cli = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-cli-util = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-evm = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-rpc-eth-api = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-node-api = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-node-builder = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-node-core = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf", features = [
"optimism",
] }
reth-optimism-node = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050", features = [
reth-optimism-node = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf", features = [
"optimism",
] }
reth-optimism-cli = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050", features = [
reth-optimism-cli = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf", features = [
"optimism",
] }
reth-optimism-rpc = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050", features = [
reth-optimism-rpc = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf", features = [
"optimism",
] }
reth-optimism-forks = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-optimism-chainspec = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-primitives = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050", features = [
reth-optimism-forks = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-optimism-chainspec = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-primitives = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf", features = [
"optimism",
] }
reth-provider = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050", features = [
reth-provider = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf", features = [
"optimism",
] }
reth-revm = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-storage-api = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-tracing = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-network = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-network-types = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
reth-chain-state = { git = "https://github.com/paradigmxyz/reth.git", rev = "e98a050" }
revm-precompile ={version= "14.0.0",features=["secp256r1"]}
reth-revm = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-storage-api = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-tracing = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-trie-db = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-network = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-network-types = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
reth-chain-state = { git = "https://github.com/paradigmxyz/reth.git", rev = "4b4f9cf" }
revm-primitives = { version = "14.0.0" }
revm-precompile = { version = "15.0.0", features = ["secp256r1"] }

# metrics
metrics = "0.23.0"
Expand Down
4 changes: 2 additions & 2 deletions bin/odyssey/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ use odyssey_wallet::{OdysseyWallet, OdysseyWalletApiServer};
use odyssey_walltime::{OdysseyWallTime, OdysseyWallTimeRpcApiServer};
use reth_node_builder::{engine_tree_config::TreeConfig, EngineNodeLauncher};
use reth_optimism_cli::Cli;
use reth_optimism_node::{args::RollupArgs, node::OptimismAddOns};
use reth_optimism_node::{args::RollupArgs, node::OpAddOns};
use reth_provider::{providers::BlockchainProvider2, CanonStateSubscriptions};
use tracing::{info, warn};

Expand All @@ -54,7 +54,7 @@ fn main() {
let node = builder
.with_types_and_provider::<OdysseyNode, BlockchainProvider2<_>>()
.with_components(OdysseyNode::components(&rollup_args))
.with_add_ons(OptimismAddOns::new(rollup_args.sequencer_http.clone()))
.with_add_ons(OpAddOns::new(rollup_args.sequencer_http.clone()))
.extend_rpc_modules(move |ctx| {
// register odyssey wallet namespace
if let Ok(sk) = std::env::var("EXP1_SK") {
Expand Down
5 changes: 5 additions & 0 deletions crates/node/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ categories.workspace = true

[dependencies]
revm-precompile.workspace = true
revm-primitives.workspace = true

reth-cli.workspace = true
reth-node-api.workspace = true
reth-node-builder.workspace = true
Expand All @@ -23,9 +25,12 @@ reth-primitives.workspace = true
reth-evm.workspace = true
reth-revm.workspace = true
reth-transaction-pool.workspace = true
reth-trie-db.workspace = true
reth-network.workspace = true
reth-network-types.workspace = true

alloy-consensus.workspace = true
alloy-eips.workspace = true
alloy-primitives.workspace = true

serde_json.workspace = true
Expand Down
16 changes: 8 additions & 8 deletions crates/node/src/chainspec.rs
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
//! Odyssey chainspec parsing logic.
use std::sync::LazyLock;

use alloy_eips::eip1559::ETHEREUM_BLOCK_GAS_LIMIT;
use alloy_primitives::{b256, U256};
use reth_chainspec::{
once_cell_set, BaseFeeParams, BaseFeeParamsKind, Chain, ChainHardforks, ChainSpec,
EthereumHardfork, ForkCondition, NamedChain,
};
use reth_cli::chainspec::{parse_genesis, ChainSpecParser};
use reth_optimism_chainspec::OpChainSpec;
use reth_optimism_forks::OptimismHardfork;
use reth_primitives::constants::ETHEREUM_BLOCK_GAS_LIMIT;
use reth_optimism_forks::OpHardfork;
use std::sync::Arc;

/// Odyssey forks.
Expand All @@ -32,10 +32,10 @@ pub static ODYSSEY_FORKS: LazyLock<ChainHardforks> = LazyLock::new(|| {
),
(EthereumHardfork::Shanghai.boxed(), ForkCondition::Timestamp(0)),
(EthereumHardfork::Cancun.boxed(), ForkCondition::Timestamp(0)),
(OptimismHardfork::Regolith.boxed(), ForkCondition::Timestamp(0)),
(OptimismHardfork::Bedrock.boxed(), ForkCondition::Block(0)),
(OptimismHardfork::Ecotone.boxed(), ForkCondition::Timestamp(0)),
(OptimismHardfork::Canyon.boxed(), ForkCondition::Timestamp(0)),
(OpHardfork::Regolith.boxed(), ForkCondition::Timestamp(0)),
(OpHardfork::Bedrock.boxed(), ForkCondition::Block(0)),
(OpHardfork::Ecotone.boxed(), ForkCondition::Timestamp(0)),
(OpHardfork::Canyon.boxed(), ForkCondition::Timestamp(0)),
(EthereumHardfork::Prague.boxed(), ForkCondition::Timestamp(0)),
])
});
Expand Down Expand Up @@ -71,7 +71,7 @@ pub static ODYSSEY_MAINNET: LazyLock<Arc<OpChainSpec>> = LazyLock::new(|| {
base_fee_params: BaseFeeParamsKind::Variable(
vec![
(EthereumHardfork::London.boxed(), BaseFeeParams::optimism()),
(OptimismHardfork::Canyon.boxed(), BaseFeeParams::optimism_canyon()),
(OpHardfork::Canyon.boxed(), BaseFeeParams::optimism_canyon()),
]
.into(),
),
Expand Down Expand Up @@ -128,7 +128,7 @@ mod tests {
use super::OdysseyChainSpecParser;
use reth_chainspec::EthereumHardforks;
use reth_cli::chainspec::ChainSpecParser;
use reth_optimism_forks::OptimismHardforks;
use reth_optimism_forks::OpHardforks;

#[test]
fn chainspec_parser_adds_prague() {
Expand Down
37 changes: 17 additions & 20 deletions crates/node/src/evm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,13 @@
//! This currently configures the instructions defined in [EIP3074-instructions](https://github.com/paradigmxyz/eip3074-instructions), and the
//! precompiles defined by [`revm_precompile`].

use alloy_consensus::Header;
use alloy_primitives::{Address, Bytes, TxKind, U256};
use reth_chainspec::{ChainSpec, EthereumHardfork, Head};
use reth_node_api::{ConfigureEvm, ConfigureEvmEnv, NextBlockEnvAttributes};
use reth_optimism_chainspec::OpChainSpec;
use reth_optimism_forks::OptimismHardfork;
use reth_primitives::{
revm_primitives::{CfgEnvWithHandlerCfg, TxEnv},
transaction::FillTxEnv,
Header, TransactionSigned,
};
use reth_optimism_chainspec::{DecodeError, OpChainSpec};
use reth_optimism_forks::OpHardfork;
use reth_primitives::{transaction::FillTxEnv, TransactionSigned};
use reth_revm::{
handler::register::EvmHandler,
inspector_handle_register,
Expand All @@ -31,6 +28,7 @@ use reth_revm::{
ContextPrecompiles, Database, Evm, EvmBuilder, GetInspector,
};
use revm_precompile::secp256r1;
use revm_primitives::{CfgEnvWithHandlerCfg, TxEnv};
use std::sync::Arc;

/// Custom EVM configuration
Expand Down Expand Up @@ -72,6 +70,7 @@ impl OdysseyEvmConfig {

impl ConfigureEvmEnv for OdysseyEvmConfig {
type Header = Header;
type Error = DecodeError;

fn fill_tx_env(&self, tx_env: &mut TxEnv, transaction: &TransactionSigned, sender: Address) {
transaction.fill_tx_env(tx_env, sender);
Expand Down Expand Up @@ -170,7 +169,7 @@ impl ConfigureEvmEnv for OdysseyEvmConfig {
&self,
parent: &Self::Header,
attributes: NextBlockEnvAttributes,
) -> (CfgEnvWithHandlerCfg, BlockEnv) {
) -> Result<(CfgEnvWithHandlerCfg, BlockEnv), Self::Error> {
// configure evm env based on parent block
let cfg_env = CfgEnv::default().with_chain_id(self.chain_spec.chain().id());

Expand Down Expand Up @@ -210,13 +209,13 @@ impl ConfigureEvmEnv for OdysseyEvmConfig {
blob_excess_gas_and_price,
};

(
Ok((
CfgEnvWithHandlerCfg {
cfg_env,
handler_cfg: HandlerCfg { spec_id, is_optimism: true },
},
block_env,
)
))
}
}

Expand Down Expand Up @@ -254,17 +253,17 @@ impl ConfigureEvm for OdysseyEvmConfig {
fn revm_spec(chain_spec: &ChainSpec, block: &Head) -> reth_revm::primitives::SpecId {
if chain_spec.fork(EthereumHardfork::Prague).active_at_head(block) {
reth_revm::primitives::OSAKA
} else if chain_spec.fork(OptimismHardfork::Granite).active_at_head(block) {
} else if chain_spec.fork(OpHardfork::Granite).active_at_head(block) {
reth_revm::primitives::GRANITE
} else if chain_spec.fork(OptimismHardfork::Fjord).active_at_head(block) {
} else if chain_spec.fork(OpHardfork::Fjord).active_at_head(block) {
reth_revm::primitives::FJORD
} else if chain_spec.fork(OptimismHardfork::Ecotone).active_at_head(block) {
} else if chain_spec.fork(OpHardfork::Ecotone).active_at_head(block) {
reth_revm::primitives::ECOTONE
} else if chain_spec.fork(OptimismHardfork::Canyon).active_at_head(block) {
} else if chain_spec.fork(OpHardfork::Canyon).active_at_head(block) {
reth_revm::primitives::CANYON
} else if chain_spec.fork(OptimismHardfork::Regolith).active_at_head(block) {
} else if chain_spec.fork(OpHardfork::Regolith).active_at_head(block) {
reth_revm::primitives::REGOLITH
} else if chain_spec.fork(OptimismHardfork::Bedrock).active_at_head(block) {
} else if chain_spec.fork(OpHardfork::Bedrock).active_at_head(block) {
reth_revm::primitives::BEDROCK
} else if chain_spec.fork(EthereumHardfork::Prague).active_at_head(block) {
reth_revm::primitives::PRAGUE
Expand Down Expand Up @@ -304,10 +303,8 @@ fn revm_spec(chain_spec: &ChainSpec, block: &Head) -> reth_revm::primitives::Spe
mod tests {
use super::*;
use reth_chainspec::{Chain, ChainSpecBuilder, EthereumHardfork};
use reth_primitives::{
revm_primitives::{BlockEnv, CfgEnv, SpecId},
ForkCondition,
};
use reth_primitives::ForkCondition;
use revm_primitives::{BlockEnv, CfgEnv, SpecId};

#[test]
fn test_fill_cfg_and_block_env() {
Expand Down
Loading