Skip to content

Scroll review #10

@frisitano

Description

@frisitano

Feedback from scroll colleague:

overall it looks great, very clean. here's some initial feedback:

  • seems like extcodesize is the same as revm's original, why override it then? if the thinking is we can later add a version optimized for zkVM setup (loading code size from state instead of calling code.len()), then we can add that later.
  • for L1BlockInfo some of the terminology is not what we normally use. I guess you just followed the Optimism example here.
  • for fees I'm not sure we should use saturating_mul, etc. In the unlikely scenario where these overflow we should error instead of failing silently.
  • just want to confirm, is Context re-created for each transaction? asking because l1_block_info might change in the middle of a block.
  • precompile_not_implemented seems a bit different from how we disabled these in l2geth. not sure if this would break compatibility though.
  • fees: currently scroll uses a hardcoded "beneficiary", we either need to make sure to pass this in block.coinbase or need to consider this in the code. also our 1559 fee deduction is a bit different, as not ETH is burnt.
  • I see the Optimism version overrides some other things (validate_env, validate_tx_against_state, etc.), we don't need these changes?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions