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: api: improve the correctness of Eth's trace_block #11609

Merged
merged 6 commits into from
Feb 21, 2024

Commits on Feb 16, 2024

  1. Improve the correctness of Eth's trace_block

    - Improve encoding/decoding of parameters and return values:
      - Encode "native" parameters and return values with Solidity ABI.
      - Correctly decode parameters to "create" calls.
      - Use the correct (ish) output for "create" calls.
      - Handle all forms of "create".
    - Make robust with respect to reverts:
      - Use the actor ID/address from the trace instead of looking it up in
        the state-tree (may not exist in the state-tree due to a revert).
      - Gracefully handle failed actor/contract creation.
    - Improve performance:
      - We avoid looking anything up in the state-tree when translating the
        trace, which should significantly improve performance.
    - Improve code readability:
      - Remove all "backtracking" logic.
      - Use an "environment" struct to store temporary state instead of
        attaching it to the trace.
    - Fix random bugs:
      - Fix an allocation bug in the "address" logic (need to set the
        capacity before modifying the slice).
      - Improved error checking/handling.
    Stebalien committed Feb 16, 2024
    Configuration menu
    Copy the full SHA
    9ad8fee View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aaeafbd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    91d6b5b View commit details
    Browse the repository at this point in the history
  4. fix: eth: use correct types for trace_block action/results

    - The top-level type is call/create.
    - The action/result is specific to the operation.
    Stebalien committed Feb 16, 2024
    Configuration menu
    Copy the full SHA
    cf910a8 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2024

  1. Configuration menu
    Copy the full SHA
    eb83497 View commit details
    Browse the repository at this point in the history
  2. documentation & changelog

    Stebalien committed Feb 20, 2024
    Configuration menu
    Copy the full SHA
    88dba5d View commit details
    Browse the repository at this point in the history