1. 26 Apr, 2024 3 commits
  2. 25 Apr, 2024 12 commits
    • Mark Tyneway's avatar
      op-bindings: delete hardhat package (#10300) · ba174f4d
      Mark Tyneway authored
      This package was helpful when we still relied on hardhat
      for the compiler toolchain. Now that we use foundry, this
      is no longer used anywhere. Deleting to reduce dead code
      in the repo.
      ba174f4d
    • Mark Tyneway's avatar
      op-bindings: delete ast package (#10299) · c5a2ec41
      Mark Tyneway authored
      This package canonicalized the ast ids that were placed
      in the bindings `more` files because any change in the
      smart contracts would cause a massive diff in the storage
      layout for all storage layouts as they used the ast ids
      to represent types. We needed to canonicalize them to have
      deterministic bindings generation, otherwise CI would generate
      the bindings in a non deterministic way. As we adopted new
      solidity features, it would find edge cases in our ast canonicalize
      algo, breaking CI. This code helped us for a long time but
      now it is no longer used and can be retired.
      c5a2ec41
    • Mark Tyneway's avatar
      op-bindings: remove bindgen (#10301) · 35f29894
      Mark Tyneway authored
      Removes the bindgen cli tool from the repo since it is not owned
      by anybody and also not used to generate bindings anymore since
      we are moving away from auto generated bindings.
      35f29894
    • Adrian Sutton's avatar
    • Adrian Sutton's avatar
      op-challenger: Share providers across different game instances (#10305) · 1ca1d81b
      Adrian Sutton authored
      Avoids loading the full state to extract the commitment for each individual game.
      1ca1d81b
    • Adrian Sutton's avatar
      op-challenger: Rename `--l2-rpc` to `--l2-eth-rpc` and log warning for... · b23d3f67
      Adrian Sutton authored
      op-challenger: Rename `--l2-rpc` to `--l2-eth-rpc` and log warning for deprecated `--cannon-l2` (#10257)
      
      * op-challenger: Log a warning when deprecated --cannon-l2 option is used.
      
      * op-challenger: Rename --l2-rpc to --l2-eth-rpc for consistency with --l1-eth-rpc
      b23d3f67
    • Mark Tyneway's avatar
      op-chain-ops: delete dead code (#10298) · 59d4fbb2
      Mark Tyneway authored
      Now that genesis generation is in solidity, delete
      dead code. This code serialized solidity types suitable
      for storage. Very similar to abi encoding but not always
      the same, big difference was dynamic types, this library
      only supported dynamic types <= 31 bytes to not handle the
      chunking. This impacted the sorts of types that could
      be in the genesis storage.
      59d4fbb2
    • Diego's avatar
      Create Context-Aware Transient Storage Library (#10259) · 12a72abf
      Diego authored
      * contracts-bedrock: create TransientContext.sol
      
      * contracts-bedrock: create test for Transient.sol
      
      * contracts-bedrock: add documentation for Transient library
      
      * contracts-bedrock: fix transient test
      
      * contracts-bedrock: minor improvements to Transient lib tests
      
      * contracts-bedrock: minor improvements to documentation for tests of Transient
      
      * contracts-bedrock: minor improvements to documentation for tests of Transient
      
      * contracts-bedrock: refactor Transient lib
      
      * contracts-bedrock: add missing documentation in Transient lib
      
      * contracts-bedrock: set correct CALL_DEPTH_SLOT in Transient lib
      
      * contracts-bedrock: refactor Transient lib into TransientContext lib
      
      * contracts-bedrock: improve labeling of vars in TransientContext
      
      * contracts-bedrock: create tests for TransientContext
      
      * contracts-bedrock: change var type of CALL_DEPTH_SLOT
      
      * contracts-bedrock: refactor tests for TransientContext
      
      * contracts-bedrock: refactor tests for TransientContext
      
      * contracts-bedrock: add testFuzz_increment_fromMax_reverts
      
      * contracts-bedrock: create test_increment_overflow_succeeds
      
      * contracts-bedrock: drop underflow check in TransientContext
      
      * contracts-bedrock: add additional tests for TransientContext
      
      * contracts-bedrock: add documentation for TransientContext
      
      * contracts-bedrock: add documentation for TransientContext
      
      * contracts-bedrock: use suffix for return vars in TransientContext
      
      * contracts-bedrock: use inline hash for callDepthSlot in TransienttContext tests
      
      * contracts-bedrock: reintroduce transient-storage ignored error code to foundry.toml
      
      * contracts-bedrock: remove unnecessary tests for TransientContext
      
      * contracts-bedrock: create snapshots
      12a72abf
    • Inphi's avatar
      op-challenger: Fix list-claims command (#10042) · 1f551590
      Inphi authored
      1f551590
    • smartcontracts's avatar
      feat(ct): update max bond gas to 300m (#10275) · 03105023
      smartcontracts authored
      * feat(ct): update max bond gas to 300m
      
      Updates the maximum bond gas to 300m up from 200m. Corresponds to
      the increase in the cost of publishing a large preimage as a
      result of emitting the data as part of a log.
      
      * update kontrol
      
      x
      
      ---------
      Co-authored-by: default avatarclabby <ben@clab.by>
      03105023
    • Adrian Sutton's avatar
      op-challenger: Read created game address from receipt (#10277) · bd80e581
      Adrian Sutton authored
      Extracts the game creation logic into reusable code.
      bd80e581
    • Juan C's avatar
  3. 24 Apr, 2024 17 commits
  4. 23 Apr, 2024 8 commits
    • Mark Tyneway's avatar
      op-chain-ops: delete dead code (#10266) · 613e5dc4
      Mark Tyneway authored
      * op-chain-ops: delete dead code
      
      This commit includes the deletion of a bunch of dead code
      after https://github.com/ethereum-optimism/optimism/pull/10106
      has been merged. There is no need to maintain a bunch of custom
      go code to generate the L2 genesis anymore, all of that is handled
      directly in solidity.
      
      * op-chain-ops: delete more dead code
      
      * op-chain-ops: more cleanup
      
      * cleanup: remove old references
      
      * op-chain-ops: cleanup abstractions
      Co-authored-by: default avatarrefcell <abigger87@gmail.com>
      
      ---------
      Co-authored-by: default avatarrefcell <abigger87@gmail.com>
      613e5dc4
    • Mark Tyneway's avatar
      contracts-bedrock: delete dead script (#10265) · 3be2820e
      Mark Tyneway authored
      Now that https://github.com/ethereum-optimism/optimism/pull/10106
      has been merged, this script is dead code and can be deleted.
      It was previously the cause of many race conditions and flakes
      in CI. Now all genesis generation is done directly in solidity,
      simplifying the process as a whole.
      3be2820e
    • Sam Stokes's avatar
      op-node: prevent spamming of reqs for blocks triggered by `checkForGapInUnsafeQueue` (#10063) · 589b1fd2
      Sam Stokes authored
      * Add rangeReqId so we can cancel all associated block req via single flag
      
      * Use crypto/rand instead of math/rand for randomReqId
      
      * Use atomic counter instead of random num for rangeReqId
      
      * Remove redundant peerRequest.complete field. Use inFlight instead
      
      * Add mutex to activeRangeRequests map
      
      * Do not penalize peer for block not found error
      
      * Fix inFlight request clean up logic
      
      * Add test checks for cancelled range request
      
      * Add mutex protection to inFlight map
      
      * Use constants for ResultCode
      
      * Simplify inFlight.get method logic
      
      * Use same struct for activeRangeRequests and inFlight
      589b1fd2
    • clabby's avatar
      feat(ctb): Allow for checkpointing in claim resolution (#10248) · 0d221da6
      clabby authored
      * feat(ctb): Allow for checkpointing in claim resolution
      
      Introduces checkpointing to the `resolveClaim` function in the
      `FaultDisputeGame`, allowing for the pagination of subgame resolution.
      
      fix
      
      * review
      
      * feat(challenger): Resolution checkpointing support (#10253)
      
      * feat(challenger): Resolution checkpointing support
      
      Adds support for resolution checkpointing
      
      * op-challenger: Use a simple maximum number of child claims to resolve per call.
      
      ---------
      Co-authored-by: default avatarAdrian Sutton <adrian@oplabs.co>
      
      ---------
      Co-authored-by: default avatarAdrian Sutton <adrian@oplabs.co>
      0d221da6
    • Sam Stokes's avatar
    • Mark Tyneway's avatar
      indexer: remove bindings (#10223) · 08f3dbed
      Mark Tyneway authored
      * indexer: remove bindings
      
      Removes the dependency on the `op-bindings/bindings` package.
      This is to improve devex in the monorepo and reduce CI time
      as maintaining the bindings autogenerated in each PR just
      doesn't scale. Now each service is responsible for their own
      bindings. In the future, we can work towards releases of
      the bindings when contracts are released.
      
      Follows:
      - https://github.com/ethereum-optimism/optimism/pull/10213
      - https://github.com/ethereum-optimism/optimism/pull/10218
      - https://github.com/ethereum-optimism/optimism/pull/10221
      
      * indexer: add missing binding
      08f3dbed
    • protolambda's avatar
      L2 genesis - refactor to use solidity script (#10106) · c9567718
      protolambda authored
      * L2 genesis solidity updates by Wyatt and Mark
      
      Commits:
      - Tmp change for Graphite
      - Add Missing Predeploys to L2 Genesis Script
      - contracts-bedrock: refactor L2 genesis generation
      - wip
      - temp
      - l2 genesis generation wip
      - updates
      Co-authored-by: default avatarMark Tyneway <mark.tyneway@gmail.com>
      Co-authored-by: default avatarWyatt Barnes <me@wyatt.email>
      
      * L2 genesis refactor fixes
      
      Squashed commits:
      
      todo
      
      add ProxyAdmin predeploy, clean up test assertions
      
      order predeploy setters
      
      split Predeploys and Preinstalls
      
      L2 genesis script: bytes32(0) style suggestion
      
      move predeploy utils to predeploy library
      
      preinstalls bytecode
      
      fix typos
      
      permit2 bytecode immutable patching
      
      activate ecotone
      
      cleanup tests, fixes, ecotone
      
      work in progress GenesisL2 addition to Setup()
      
      fixes
      
      devnet allocs
      
      fix go lint
      
      more fixes
      
      fix predeploys proxy impl checking test
      
      fix solady
      
      continue Go integration
      
      l2 genesis Go integration stuff
      
      fix lint
      
      fix go lint
      
      lint fixes
      
      fixes for some PR review comments
      
      Predeploys test clean up
      
      go test superseded by solidity testing
      
      fix lint
      
      cleanup and review fixes
      
      minor fixes
      
      test fixes
      
      op-e2e l2 allocs filepath fix
      
      more devnet test funds
      
      improve logging
      
      fix devnet allocs-l2 path naming and output file moving to .devnet
      
      devnet allocs CI fixes
      
      circle ci workspace allocs-l2 fixes
      
      op-e2e: fix alloc npe
      
      fix
      
      enforce genesis allocs copy
      
      op-e2e fix
      
      go test fixes, 4788 nonce edge case, dev accounts fix, misc fixes
      
      fix test, fix flake
      
      fix tests
      
      Proxy artifact workaround
      
      update gas snapshot
      
      undo workaround, apply config change to fix
      
      undo failed workarounds
      
      * contracts-bedrock: delete dead L2 genesis testing code
      
      * state-diff: update
      
      * ctb: L2 genesis delete dead comment
      
      * contracts-bedrock: small cleanups
      
      * ctb: cleanup L2 genesis comments
      
      ---------
      Co-authored-by: default avatarWyatt Barnes <me@wyatt.email>
      Co-authored-by: default avatarMark Tyneway <mark.tyneway@gmail.com>
      c9567718
    • Mark Tyneway's avatar
      sdk: decouple from contracts-bedrock (#10258) · 53afefdd
      Mark Tyneway authored
      * sdk: decouple from contracts-bedrock
      
      Decouples the sdk from `contracts-bedrock` to enable
      it to easily be moved out of the monorepo.
      
      The foundry artifacts are build from 3fc229e3 and then
      copy/pasted into the sdk. There are no large breaking changes
      planned which is why this is safe to do. This sdk has already
      been replaced by viem and in the future a Go sdk can be broken
      out of the `op-e2e` package to serve as the reference implementation
      of a sdk.
      
      The typescript sdk will be subject to just work until new breaking
      changes are introduced but at that point we should have sufficient
      migration to the alternative solutions.
      
      * sdk: remove dead dep
      
      * deps: fix pnpm lock
      53afefdd