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

feat: release taiko reth v1.1.4 #59

Draft
wants to merge 91 commits into
base: v1.1.4
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
4761c4b
feat: add Taiko support with new features and modules
johntaiko Dec 18, 2024
7cd13d9
feat: enhance Taiko support with additional workspace dependencies an…
johntaiko Dec 18, 2024
60ba542
fix: improve error handling in Taiko workspace dependencies
johntaiko Dec 18, 2024
7b14769
fix: update ontake block heights for Taiko hardforks
johntaiko Dec 18, 2024
1f7060a
feat: add support for taiko in evm abstract
johntaiko Dec 19, 2024
02992e4
fix: update c-kzg dependency version and improve block handling in Ta…
johntaiko Dec 19, 2024
6a043ba
refactor: rename taiko beacon consensus to taiko consensus and update…
johntaiko Dec 19, 2024
d3ceb71
feat: enhance block execution input and output structures with additi…
johntaiko Dec 19, 2024
be3a467
feat: add target and skipped lists to ExecuteOutput structure
johntaiko Dec 19, 2024
47299a6
refactor: remove unused alloy-rpc-types-eth dependency and update Car…
johntaiko Dec 23, 2024
80643d5
feat: enhance block execution with new error handling and improved da…
johntaiko Dec 23, 2024
bd2986d
feat: add taiko provider and enhance Cargo.toml configurations for ta…
johntaiko Dec 23, 2024
7c52a32
feat: integrate taiko support by adding L1 origin traits and updating…
johntaiko Dec 23, 2024
3bc5a18
feat: add taiko CLI support and enhance workspace configurations
johntaiko Dec 23, 2024
d070d75
feat: integrate reth-taiko-engine-primitives and enhance payload attr…
johntaiko Dec 23, 2024
c41641b
feat: clean up unused imports in taiko CLI and main modules
johntaiko Dec 24, 2024
d6a02cc
feat: add taiko engine types and update workspace configurations
johntaiko Dec 24, 2024
9f1ec2e
feat: add debug flag to engine messages and update forkchoice handling
johntaiko Dec 24, 2024
652a469
feat: remove unused dependencies and enhance taiko engine support
johntaiko Dec 24, 2024
1abccba
feat: remove unused payload validator dependency and streamline engin…
johntaiko Dec 24, 2024
250adef
add taiko cmds
mask-pp Dec 24, 2024
5bf228c
fix some lint errors
mask-pp Dec 24, 2024
1b239ac
fix some build errors
mask-pp Dec 24, 2024
257fe7d
feat: refactor taiko and engine dependencies, removing unused payload…
johntaiko Dec 24, 2024
7c02390
Merge branch 'v1.1.4-taiko' of gh_work:taikoxyz/taiko-reth into v1.1.…
johntaiko Dec 24, 2024
a012720
refactor: remove unused reth-taiko-engine-types dependency and relate…
johntaiko Dec 24, 2024
a91261b
feat: implement proving preflight functionality and update related types
johntaiko Dec 24, 2024
9feea10
feat: add preflight module and integrate block execution functionality
johntaiko Dec 24, 2024
1db25e1
feat: enhance TaikoImplClient with separate channels for pool content…
johntaiko Dec 24, 2024
8f34da8
fix some test cases
mask-pp Dec 24, 2024
8aae41b
feat: update dependencies to include 'taiko' features across multiple…
johntaiko Dec 24, 2024
67b1758
feat: add 'futures' and 'reth-primitives-traits' dependencies to Carg…
johntaiko Dec 24, 2024
268c63e
Merge branch 'v1.1.4-taiko' of gh_work:taikoxyz/taiko-reth into v1.1.…
johntaiko Dec 24, 2024
14700a3
refactor: remove unused preflight and client implementations from RPC…
johntaiko Dec 24, 2024
c52d7dd
refactor: update debug targets and error handling in RPC API
johntaiko Dec 24, 2024
0a27885
refactor: remove OpBlockExecutionError and related error handling fro…
johntaiko Dec 24, 2024
5c28e1e
refactor: simplify transaction environment setup and database initial…
johntaiko Dec 24, 2024
c837a31
refactor: update BlockExecutionInput structure and usage in payload b…
johntaiko Dec 24, 2024
cffb11e
refactor: add Taiko module to RethRpcModule and update related depend…
johntaiko Dec 25, 2024
706f133
refactor: update dependencies and simplify block execution structures…
johntaiko Dec 25, 2024
c42f898
refactor: remove unused dependencies and clean up code in EVM and Tai…
johntaiko Dec 25, 2024
a9bf832
refactor: remove unused 'reth-chainspec' dependency and clean up test…
johntaiko Dec 25, 2024
4afafd5
refactor: update documentation header for Taiko-Reth RPC support
johntaiko Dec 25, 2024
2d5b082
fix test case
mask-pp Dec 25, 2024
eae42c0
fix test case
mask-pp Dec 25, 2024
4ee9847
refactor: add reth-beacon-consensus dependency and update RPC structu…
johntaiko Dec 25, 2024
82f0196
Merge branch 'v1.1.4-taiko' of gh_work:taikoxyz/taiko-reth into v1.1.…
johntaiko Dec 25, 2024
cfa3558
fix some lint errors
mask-pp Dec 25, 2024
b076b16
fix some lint errors
mask-pp Dec 25, 2024
6d5251f
fix fmt
mask-pp Dec 25, 2024
baeabd7
update node readme
mask-pp Dec 25, 2024
9e6df48
fix: tests
johntaiko Dec 26, 2024
d1c2a15
feat: introduce new fields in l1origin
johntaiko Dec 26, 2024
5833f22
feat: add delete api for l1origin
johntaiko Dec 26, 2024
5acc32a
feat: Added preconf forwarding and TaikoArgs; updated dependencies
johntaiko Dec 26, 2024
5ce0d7e
Added tests for genesis chain loading
johntaiko Dec 26, 2024
19f23bb
Added L1 origin check; removed multiple error types
johntaiko Dec 26, 2024
5930606
Added L1Origin support and ProviderWithDebug; updated dependencies
johntaiko Dec 26, 2024
935c862
CHAIN_PERCONF_DEVNET test case is not satisfied
mask-pp Dec 26, 2024
b730e89
Add Dockerfile for cross-arch builds; update build script and enum
johntaiko Dec 27, 2024
4df0e14
Added cross-arch Docker image build support
johntaiko Dec 27, 2024
e3500b3
keep the error message alignment with geth
mask-pp Dec 27, 2024
b9a32e7
keep the error message alignment with geth
mask-pp Dec 27, 2024
5fa3fcb
handle optional parameter ext
mask-pp Dec 27, 2024
deb4cbc
Refactor taiko data setup to use if let syntax
johntaiko Dec 27, 2024
587b8b1
Merge branch 'v1.1.4-taiko' of gh_work:taikoxyz/taiko-reth into v1.1.…
johntaiko Dec 27, 2024
b15b302
fill the baseFee
mask-pp Dec 30, 2024
0773b63
Add Taiko support, update dependencies, refactor code, fix bugs
johntaiko Dec 30, 2024
d9b805a
chore: update internal genisis config
johntaiko Dec 30, 2024
5cb7565
Added payload ID validation; commented out ARM build steps
johntaiko Dec 30, 2024
65c004a
Removed taiko_reorg and related calls; fixed ARM64 build comments
johntaiko Dec 31, 2024
67f278d
Removed debug flag and ARM64 build steps; streamlined forkchoice updates
johntaiko Dec 31, 2024
ef5e941
fix TxPoolContentWithMinTip API
mask-pp Jan 2, 2025
071fa0b
Added TAIKO_DOCKER_IMAGE_NAME and optimized block skipping logic
johntaiko Jan 2, 2025
629f9f5
Merge branch 'v1.1.4-taiko' of gh_work:taikoxyz/taiko-reth into v1.1.…
johntaiko Jan 2, 2025
35aab34
Added block_env fields and TAIKO_DOCKER_IMAGE_NAME; removed arm64 bui…
johntaiko Jan 2, 2025
401c0e3
Updated gas_limit conversion; added TAIKO_DOCKER_IMAGE_NAME; removed …
johntaiko Jan 2, 2025
b2b1066
feat: update genesis blocks
johntaiko Jan 2, 2025
34bc46b
Switched alloy package sources to Taiko branch; added secp256k1 depen…
johntaiko Jan 3, 2025
987e66e
Renamed deposits, added taiko_block, updated imports, added debug logs
johntaiko Jan 3, 2025
efda978
Removed reth-payload-primitives, added withdrawals_hash handling
johntaiko Jan 3, 2025
2c7b7d7
Added alloy-primitives, updated validation logic
johntaiko Jan 3, 2025
cb2ffb5
Refactored TaikoApi to support new parameters; added proving_prefligh…
johntaiko Jan 7, 2025
6dc4b8e
Merge branch 'v1.1.4-taiko' of gh_work:taikoxyz/taiko-reth into feat/…
johntaiko Jan 7, 2025
8d69bd0
Removed TODO comment in tx forwarding function
johntaiko Jan 7, 2025
ed8021d
Merge pull request #61 from taikoxyz/feat/softblock
johntaiko Jan 7, 2025
eec2f2b
Refactor debug logs and streamline error handling
johntaiko Jan 7, 2025
eb02049
Added get_head_l1_origin_number method; removed debug import; fixed s…
johntaiko Jan 7, 2025
f61bb32
Commented out error logs; refactored contract handling
johntaiko Jan 8, 2025
5630863
Refactor account info retrieval and contract insertion logic
johntaiko Jan 8, 2025
f1b0e25
Added serde_json dev-dependency and L1Origin tests
johntaiko Jan 8, 2025
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: simplify transaction environment setup and database initial…
…ization in payload builder
  • Loading branch information
johntaiko committed Dec 24, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit 5c28e1ebd95d2bf49199bc26906edb620548c924
4 changes: 1 addition & 3 deletions crates/ethereum/payload/src/lib.rs
Original file line number Diff line number Diff line change
@@ -225,7 +225,6 @@ where
let mut evm = evm_config.evm_with_env(&mut db, env);

let mut receipts = Vec::new();
let mut idx = 0;
while let Some(pool_tx) = best_txs.next() {
// ensure we still have capacity for this transaction
if cumulative_gas_used + pool_tx.gas_limit() > block_gas_limit {
@@ -269,8 +268,7 @@ where
}

// Configure the environment for the tx.
*evm.tx_mut() = evm_config.tx_env(tx.as_signed(), tx.signer(), idx, block_number, &[]);
idx += 1;
*evm.tx_mut() = evm_config.tx_env(tx.as_signed(), tx.signer(), None);

let ResultAndState { result, state } = match evm.transact() {
Ok(res) => res,
11 changes: 4 additions & 7 deletions crates/taiko/payload/builder/src/builder.rs
Original file line number Diff line number Diff line change
@@ -18,11 +18,9 @@ use reth_payload_primitives::{PayloadBuilderAttributes, PayloadBuilderError};
use reth_primitives::{
proofs, Block, BlockBody, BlockExt, EthereumHardforks, Header, TransactionSigned,
};
use reth_provider::L1OriginWriter;
use reth_provider::{ChainSpecProvider, ExecutionOutcome, StateProviderFactory};
use reth_provider::{ChainSpecProvider, ExecutionOutcome, L1OriginWriter, StateProviderFactory};
use reth_revm::{
database::StateProviderDatabase,
db::State,
primitives::{BlockEnv, CfgEnvWithHandlerCfg},
};
use reth_taiko_chainspec::TaikoChainSpec;
@@ -130,8 +128,7 @@ where
let chain_spec = client.chain_spec();
let state_provider = client.state_by_block_hash(config.parent_header.hash())?;
let state = StateProviderDatabase::new(state_provider);
let mut db =
State::builder().with_database(cached_reads.as_db_mut(state)).with_bundle_update().build();
let mut db = cached_reads.as_db_mut(state);
let PayloadConfig { parent_header, attributes, extra_data: _ } = config;

debug!(target: "taiko_payload_builder", id=%attributes.payload_attributes.payload_id(), parent_hash = ?parent_header.hash(), parent_number = parent_header.number, "building new payload");
@@ -222,9 +219,9 @@ where
block.header.requests_hash = requests.as_ref().map(|r| r.requests_hash());
// now we need to update certain header fields with the results of the execution
block.header.transactions_root = proofs::calculate_transaction_root(&block.body.transactions);
let hashed_state = db.database.db.hashed_post_state(execution_outcome.state());
let hashed_state = db.inner().hashed_post_state(execution_outcome.state());
let (state_root, trie_output) = {
db.database.inner().state_root_with_updates(hashed_state.clone()).inspect_err(|err| {
db.inner().state_root_with_updates(hashed_state.clone()).inspect_err(|err| {
warn!(target: "payload_builder",
parent_hash=%parent_header.hash(),
%err,
2 changes: 2 additions & 0 deletions crates/taiko/rpc/src/api.rs
Original file line number Diff line number Diff line change
@@ -463,6 +463,8 @@ where
}

async fn proving_preflight(&self, block_id: BlockId) -> RpcResult<ProvingPreflight> {
let _permit = self.acquire_trace_permit().await;
self.eth_api().spawn_with_state_at_block(block_id, move |this| todo!()).await;
// debug!(target: "rpc::taiko", ?block_id, "Read proving preflight");
// let res = self.taiko_impl_client.proving_pre_flight(block_id).await.to_rpc_result();
// debug!(target: "rpc::taiko", ?res, "Read proving pre flight");