Skip to content
This repository has been archived by the owner on Jul 5, 2024. It is now read-only.

bus-mapping: Extend CircuitInputBuilder #235

Merged
merged 1 commit into from
Dec 17, 2021
Merged

Commits on Dec 17, 2021

  1. bus-mapping: Extend CircuitInputBuilder

    - CircuitInputBuilder:
        - Fix `gen_state_access_trace` by splitting the code and address in the
          context of a call.
        - Add `codes` field in the CircuitInputBuilder to keep a mapping of
          code hash -> code.
        - When doing the `gen_associated_ops` step for opcodes not yet
          implemented, instead of panic show a log warning, so that we can
          generate circuit inputs for blocks eventhough the implementation
          is not complete.  This will allow performing integration tests.
        - Resolve #207
    - rpc:
        - Add `eth_coinbase` and `eth_chainId` methods.
        - Remove `BlockNumber` in favour of the implementation in `ethers`.
    - General:
        - Replace usage of `BlockConstants` by the new struct
          `ChainConstants`.  This way we split constant parameters of the
          chain into `ChainConstants` and block parameters into `Block`.
          `BlockConstants` is now only used by the external_tracer.
        - Move `BlockConstants` from `bus-mapping/src/exec_trace.rs` to
          `bus-mapping/src/external_tracer.rs`.
        - Implement the Debug trait for some types manually to make debug
          output nicer.
        - Introduce a `circuit_input_builder` integration test with geth.
          The test builds the circuit inputs for the block where the
          Greeter.sol contract is deployed, up to step 5 from
          #222 (whith
          some missing parts)
        - Fix `mload` by allowing memory reads at addresses higher than the
          memory size found in the trace (in such case, a 0 value is read)
    ed255 committed Dec 17, 2021
    Configuration menu
    Copy the full SHA
    8c5c2c3 View commit details
    Browse the repository at this point in the history