Skip to content
This repository has been archived by the owner on Apr 11, 2021. It is now read-only.

Replace calls to ExecutionManager#ovmSLOAD and ExecutionManager#ovmSSTORE with native calls to SLOAD and SSTORE #1

Merged
merged 22 commits into from
Jan 28, 2020

Commits on Jan 22, 2020

  1. Override the MSTORE OPCODE

    The goal here is to override the CALL opcode so we can replace calls to
    ovmSLOAD to native SLOAD operations. To start we've overridden the
    simpler MSTORE opcode and print "MSTORE Overriden" to verify the opcode has been
    overriden.
    masonforest committed Jan 22, 2020
    Configuration menu
    Copy the full SHA
    5c13a2a View commit details
    Browse the repository at this point in the history
  2. Override CALL opcode

    The goal is to override he CALL opcode and replace calls to "ovmStore"
    with native SSTORE calls. This first step runs a call operation and
    verifies that the correct arguments were passed in.
    masonforest committed Jan 22, 2020
    Configuration menu
    Copy the full SHA
    4bfe043 View commit details
    Browse the repository at this point in the history
  3. Print SSTORE on SSTORE and SLOAD on SLOAD

    The next step is to actually hook up these opcodes to native SLOAD and
    SSTORE
    masonforest committed Jan 22, 2020
    Configuration menu
    Copy the full SHA
    1cf19d8 View commit details
    Browse the repository at this point in the history
  4. Add mstoreBytes

    masonforest committed Jan 22, 2020
    Configuration menu
    Copy the full SHA
    608d335 View commit details
    Browse the repository at this point in the history
  5. Add call function in test

    masonforest committed Jan 22, 2020
    Configuration menu
    Copy the full SHA
    e83f2b7 View commit details
    Browse the repository at this point in the history
  6. Only match methodIds on the first 4 bytes of calldata

    Th remaining bytes are parameter data
    masonforest committed Jan 22, 2020
    Configuration menu
    Copy the full SHA
    2ed2db0 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ccb684b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    30b157a View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2020

  1. Pass OVM tests

    masonforest committed Jan 24, 2020
    Configuration menu
    Copy the full SHA
    e78aecb View commit details
    Browse the repository at this point in the history
  2. Pass ovm_test.go

    masonforest committed Jan 24, 2020
    Configuration menu
    Copy the full SHA
    a3a9d1d View commit details
    Browse the repository at this point in the history
  3. Assert against the returned value of the CALL

    ..instead of the "success code"
    masonforest committed Jan 24, 2020
    Configuration menu
    Copy the full SHA
    eb5eb82 View commit details
    Browse the repository at this point in the history
  4. Add optimism genesis file

    masonforest committed Jan 24, 2020
    Configuration menu
    Copy the full SHA
    d30dd58 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    681f566 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ffa4817 View commit details
    Browse the repository at this point in the history
  7. Add a README

    * Use an environment variable to set EXECUTION_MANAGER_ADDRESS
    masonforest committed Jan 24, 2020
    Configuration menu
    Copy the full SHA
    412d857 View commit details
    Browse the repository at this point in the history
  8. Add .github

    masonforest committed Jan 24, 2020
    Configuration menu
    Copy the full SHA
    41282cc View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2020

  1. Configuration menu
    Copy the full SHA
    c52fa1a View commit details
    Browse the repository at this point in the history
  2. Extract isCallTo into its own function

    * Check that `len(args)` is greater than 4
    masonforest committed Jan 27, 2020
    Configuration menu
    Copy the full SHA
    a61a624 View commit details
    Browse the repository at this point in the history
  3. Call native SSTORE an SLOAD in the context of the caller

    When calling the shimmed SSTORE and SLOAD we were storing to and loading
    from the ExecutionMananger's storage space. Instead we now call from the
    context of the `caller` of the contract. This gives each contract its
    own storage space so state isn't clobbered between contracts.
    masonforest committed Jan 27, 2020
    Configuration menu
    Copy the full SHA
    395c483 View commit details
    Browse the repository at this point in the history
  4. Update client identifier

    masonforest committed Jan 27, 2020
    Configuration menu
    Copy the full SHA
    fd849f7 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2020

  1. Update Govm gasLimit

    masonforest committed Jan 28, 2020
    Configuration menu
    Copy the full SHA
    59c81f4 View commit details
    Browse the repository at this point in the history
  2. Rename genesis file

    masonforest committed Jan 28, 2020
    Configuration menu
    Copy the full SHA
    7b89309 View commit details
    Browse the repository at this point in the history