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

New evmone API: StateView & StateDiff #802

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Commits on Sep 30, 2024

  1. state: Introduce StateDiff

    Introduce the type `StateDiff` to represent a set of modifications
    to the State. Implement the procedure to collect the set of changes
    out of an intra state object.
    chfast committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    2257785 View commit details
    Browse the repository at this point in the history
  2. test: Implement StateDiff handling in TestState

    Implement `TestState::appy(StateDiff)` procedure to apply state changes
    back to the state.
    chfast committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    4b57dd2 View commit details
    Browse the repository at this point in the history
  3. state: Produce StateDiff from state modifying functions

    Return `StateDiff` out of:
    - `state::transition()` (as a subobject of `TransactionReceipt`)
    - `state::system_call()`
    - `state::finalize()`
    chfast committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    4398e95 View commit details
    Browse the repository at this point in the history
  4. state: Introduce StateView interface

    Introduce `StateView` interface as a way to read the initial/cold State.
    chfast committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    727d74d View commit details
    Browse the repository at this point in the history
  5. test: TestState implements StateView

    Implement `StateView` interface in `TestState`. This will be used later.
    chfast committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    928edb2 View commit details
    Browse the repository at this point in the history
  6. state: Use StateView from State

    Modify the `State` to require `StateView` interface as a parameter
    and use it to read the initial state values.
    
    This drops `TestState` dependency on `State`.
    chfast committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    da4cd30 View commit details
    Browse the repository at this point in the history