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

Simplify BatcherDb #81

Merged
merged 1 commit into from
Jan 23, 2024
Merged

Conversation

intoverflow
Copy link
Member

3 major changes:

  • BatcherDb::get_full_eth_block() now returns a reference (previously returned owned/moved data).
  • BatcherDb::get_eth_block_ether() has been removed.
  • Introduce BatcherDb::validate(). This function gets called in DeriveMachine::new(). It checks the Db for consistency. (These checks used to be performed by MemDb in the getters.)

@intoverflow
Copy link
Member Author

Tested with

$ RUST_BACKTRACE=1 RUST_LOG=info ../zeth/target/release/op-derive \
    --eth-rpc-url="https://eth-mainnet.g.alchemy.com/v2/[my api key]" \
    --op-rpc-url="https://opt-mainnet.g.alchemy.com/v2[my api key]" \
    --cache=cache \
    --op-block-no=110800000 \
    --op-blocks=10000

@intoverflow intoverflow requested a review from Wollac January 22, 2024 22:03
@Wollac Wollac merged commit d57f2fc into fix/block-validation Jan 23, 2024
4 checks passed
@Wollac Wollac deleted the tcarstens/fix/block-validation branch January 23, 2024 08:19
hashcashier pushed a commit that referenced this pull request Jan 23, 2024
* verify op block loaded from DB

* improve errors

* Simplify BatcherDb (#81)

* fix warnings

---------

Co-authored-by: Tim Carstens <[email protected]>
CeciliaZ030 referenced this pull request in CeciliaZ030/zeth Feb 5, 2024
* verify op block loaded from DB

* improve errors

* Simplify BatcherDb (taikoxyz#81)

* fix warnings

---------

Co-authored-by: Tim Carstens <[email protected]>
CeciliaZ030 referenced this pull request in CeciliaZ030/zeth Feb 12, 2024
commit 0aa4be1
Author: ceciliaz030 <[email protected]>
Date:   Mon Feb 12 18:42:01 2024 +0800

    feature taiko compile

commit f3b6a0f
Author: ceciliaz030 <[email protected]>
Date:   Mon Feb 12 01:31:59 2024 +0800

    TaikoProvider, TaikoSystemInfo, preflight

commit 1e9ffe2
Author: ceciliaz030 <[email protected]>
Date:   Mon Feb 12 01:31:15 2024 +0800

    host refactor

commit 851b817
Author: ceciliaz030 <[email protected]>
Date:   Sat Feb 10 02:51:09 2024 +0800

    fix

commit 39d8654
Author: ceciliaz030 <[email protected]>
Date:   Sat Feb 10 02:35:08 2024 +0800

    fix lib/hosts

commit f87ffd7
Author: Cecilia Zhang <[email protected]>
Date:   Sat Feb 10 01:39:55 2024 +0800

    refactor host Taiko API

commit ef4172f
Author: ceciliaz030 <[email protected]>
Date:   Wed Feb 7 21:54:13 2024 +0800

    wip

commit 6867af4
Author: Wolfgang Welz <[email protected]>
Date:   Tue Jan 23 11:43:23 2024 +0100

    Fix OP block header validation (taikoxyz#74)

    * verify op block loaded from DB

    * improve errors

    * Simplify BatcherDb (taikoxyz#81)

    * fix warnings

    ---------

    Co-authored-by: Tim Carstens <[email protected]>

commit 3a99983
Author: Wolfgang Welz <[email protected]>
Date:   Mon Jan 22 22:10:46 2024 +0100

    Fix batch queue handling in Optimism derivation  (taikoxyz#73)

    * sort batches in a multimap

    * update copyright

commit 7280614
Author: Wolfgang Welz <[email protected]>
Date:   Mon Jan 22 21:21:48 2024 +0100

    feat: Use revm Optimism execution (taikoxyz#44)

    * do not default source_hash and mint

    * use revm optimism execution

    * update testdata

    * add optimism tests

    * upgrade revm to latest commit

    * upgrade revm with latest op changes

    * Upgrade `revm` in Optimism execution (taikoxyz#76)

    * Update dependencies versions

    * fix revm commit

    * use correct tags

    * use EVM in comments

    * update copyright

    * register optimism revm handle

    * update revm

    * update k256

    ---------

    Co-authored-by: john xu <[email protected]>

    ---------

    Co-authored-by: john xu <[email protected]>

commit fbe4255
Author: Wolfgang Welz <[email protected]>
Date:   Fri Dec 22 15:52:52 2023 +0100

    Fix channel bank handling in Optimism derivation (taikoxyz#71)

    * fix channel bank

    * channel_index is not mut

commit 0b2efed
Author: Wolfgang Welz <[email protected]>
Date:   Tue Dec 19 13:06:40 2023 +0100

    Fix frame parsing and loading in Optimism derivation (taikoxyz#68)

    * cleanup frame parsing

    * fix frame loading

    * move byte wrapping into RLP encoding

    * improve documentation

    * fmt

    * use an actual Batch for the tests

    * log batcher transaction

    * add unit tests

commit 4c0496c
Author: Tim Carstens <[email protected]>
Date:   Mon Dec 18 04:25:01 2023 -0800

    Optimism L1 -> L2 derivation (taikoxyz#51)

    * transactions module

    * TxEssence trait

    * Generic Transaction struct

    * tx essence as a generic parameter

    * OptimismTxEssence

    * op chain spec

    * OpTxExecStrategy

    * redundant block builder type params

    * strategy bundles

    * host binary parameters

    * profiling flag

    * optimism

    * new derivation binary skeleton, copy over libs

    * providers and conversion utils

    * epoch transitioning

    * basic derive flow

    * host-side derivation

    * read metadata from op head

    * op-derive guest

    * disable guest memory leaks

    * heapless batch derivation

    * Add missing import

    * Remove heapless BinaryHeap

    * Remove heapless

    * Introduce op-derive tool

    * Remove ethers types from BatcherDb trait

    * Verify new op block has correct transaction list

    * Move derive logic into library

    * Fix bug in transaction trie reconstruction

    * Introduce get_op_header() to BatcherDb

    * Clippy warning

    * Default Serde value for FileProvider::receipts

    * Disable bloom filter checks

    * Clippy

    * Clippy

    * Fix parsing of from and to fields for deposits

    * Reintroduce filtering by log bloom

    * fmt

    * Add support for local exec to op-derive

    * Enforce block_number is correct in MemDb

    * Split derive() into multiple functions

    * Remove redundant check for batch parent hash

    * Remove redundant copy of system config

    * Remove redundant block number check

    * Cleanup

    * Remove redundant vector of eth blocks

    * Add base_fee_per_gas to Epoch

    * Store deposits in Epoch

    * Add Eth tail to DeriveOutput

    * Cleanup

    * Move deque_next_epoch_if_none to State

    * Move eth block processing to Batches

    * Reorg and cleanup

    * More cleanup

    * run cargo fmt --all

    * fix clippy warnings

    * remove unused imports

    * format guest code

    * add op-derive cmd test

    * add cmd tests

    * cleanup optimism/mod

    * Rename command line args

    * Fix test arguments

    * Rename config field to max_channel_bank_size

    * Enforce decompression limit of MAX_RLP_BYTES_PER_CHANNEL

    * Use constant OPTIMISM_DEPOSITED_TX_TYPE when checking batch validity

    * Import from std instead of alloc/core

    * Re-enable core::mem::forget() optimization

    * Replace asserts with ensures; enforce absence of receipts for Op blocks

    * Simplfy iteration through derived transactions

    * Add Bonsai support to op-derive. Also add Bonsai session status to output when polling

    * More println

    * Rework Batcher initialization

    * More logging

    * More log output if Bonsai workflow fails

    ---------

    Co-authored-by: Rami Khalil <[email protected]>
    Co-authored-by: Wolfgang Welz <[email protected]>

commit 916f8c5
Author: Wolfgang Welz <[email protected]>
Date:   Tue Dec 12 19:39:39 2023 +0100

    Update CI (taikoxyz#60)

    * Update and fix CI

    * fix cargo-install version

    * try without cache

    * Revert "try without cache"

    This reverts commit d91547ab1697989050cfdfce35229e8899b0b27f.

    * add GITHUB_TOKEN

    * review suggestions

    * make version env

commit c24c7b8
Author: John Smith <[email protected]>
Date:   Tue Dec 12 22:02:16 2023 +0800

    fix: use PathBuf instead of String to compatible different platforms and non-Unicode sequences in filepath  (taikoxyz#65)

    * fix: use PathBuf and Path for compatibility

    * fix: use PathBuf as cache path type

commit ee88f6d
Author: John Smith <[email protected]>
Date:   Tue Dec 12 00:11:27 2023 +0800

    fix: clippy complain (taikoxyz#64)

commit 3e70593
Author: Wolfgang Welz <[email protected]>
Date:   Mon Nov 27 09:43:01 2023 +0100

    Pre-flight and block building improvements (taikoxyz#55)

    * cleanup host crate

    * minor cleanups

    * fix trie creation

    * separate node maps

    * fix tests

    * fix proof generation

    * fix integration test

    * add documentation

    * inline public mpt methods

    * move mpt functions

    * fix verification of zero RPC accounts

commit 59c23fd
Author: Wolfgang Welz <[email protected]>
Date:   Tue Nov 21 17:23:03 2023 +0100

    chore: MPT cleanups (taikoxyz#56)

    * MPT cleanups

    * avoid clone when calling hash

    * fix clippy

commit 71135b7
Author: Tim Carstens <[email protected]>
Date:   Tue Nov 21 07:09:20 2023 -0800

    Reintroduce data() on TxEssence (taikoxyz#57)

commit 2290e8b
Author: Wolfgang Welz <[email protected]>
Date:   Sat Nov 18 10:24:53 2023 +0100

    cleanup transaction code (taikoxyz#53)

commit 2dc0bc6
Author: Wolfgang Welz <[email protected]>
Date:   Sat Nov 18 10:23:30 2023 +0100

    chore(deps): bump risc0 to v0.19.1 (taikoxyz#54)

    * upgrade dependencies

    * upgrade dependencies

commit eed232b
Author: Wolfgang Welz <[email protected]>
Date:   Wed Nov 1 19:05:41 2023 +0100

    upgrade risc0 to v0.19 (taikoxyz#50)

commit 69402de
Author: Tim Carstens <[email protected]>
Date:   Thu Oct 26 13:07:33 2023 -0700

    Introduce op-info tool (taikoxyz#48)

    * Introduce op-info tool

    * Whitespace

    * Update host/Cargo.toml

    Co-authored-by: Wolfgang Welz <[email protected]>

    * Update Cargo.lock

    ---------

    Co-authored-by: Wolfgang Welz <[email protected]>

commit 2f12782
Author: Wolfgang Welz <[email protected]>
Date:   Thu Oct 19 23:10:56 2023 +0200

    fix clippy (taikoxyz#45)

commit 4db793c
Author: John Smith <[email protected]>
Date:   Thu Oct 19 21:14:19 2023 +0800

    fix: extra data can equal to MAX_EXTRA_DATA_BYTES (taikoxyz#43)

commit ddb349b
Author: Tim Carstens <[email protected]>
Date:   Thu Oct 19 04:35:16 2023 -0700

    Enable RPC retries (taikoxyz#42)
johntaiko pushed a commit to johntaiko/zeth that referenced this pull request Apr 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants