1. 05 Sep, 2024 10 commits
  2. 04 Sep, 2024 11 commits
    • smartcontracts's avatar
      fix: properly check all interfaces (#11734) · 1f0d8a8b
      smartcontracts authored
      Interfaces check script had a bug that would cause it to use the
      wrong ABI when checking an interface. Each compiler artifact only
      has a single ABI in it but this same ABI was being used for all
      contract definitions found within that file. Since each separate
      contract definition gets its own file anyway, this script now
      properly verifies by finding the specific definition that matches
      the filename.
      1f0d8a8b
    • Matthew Slipper's avatar
      Slim down contracts-bedrock package (#11723) · 2f10fb7a
      Matthew Slipper authored
      * Slim down contracts-bedrock package
      
      The contracts-bedrock package was over 2GB in size, mostly because it contained the Git repository. It also supported multiple platforms, which would lead to costly recompilation steps every time the image was used on a different platform (e.g., OSX).
      
      The PR updates the Dockerfile to no longer ship the Git repo. It also updates the Debian base image to a more modern, slimmed down version. The new image is <1G in size.
      
      * fix bakefile
      2f10fb7a
    • smartcontracts's avatar
      maint: add interfaces for legacy contracts (#11625) · e0f6e1e7
      smartcontracts authored
      Adds interfaces for the contracts inside of /legacy. Interface is
      not included for the LegacyMintableERC20 contract because that
      interface has already been defined elsewhere.
      e0f6e1e7
    • George Knee's avatar
      Fix copy-paste typo (#11731) · f8b421b8
      George Knee authored
      f8b421b8
    • smartcontracts's avatar
      fix: SuperchainWETH fuzz flake with bad sender (#11728) · 5a1a18d0
      smartcontracts authored
      Fixes a number of places where SuperchainWETH fuzz tests can flake
      as a result of using a sender address that is the ETHLiquidity or
      SuperchainWETH contract.
      5a1a18d0
    • Adrian Sutton's avatar
      op-program: Use PebbleDB for DiskKV (Reapply with fixes) (#11709) · e80d23b6
      Adrian Sutton authored
      * feat(op-program): Use `PebbleDB` for `DiskKV` (#11705)
      
      * feat(op-program): Use `PebbleDB` for `DiskKV`
      
      * close db
      
      * fix `testFaultProofProgramScenario` tests
      
      * switch to snappy compression
      
      https://github.com/cockroachdb/pebble/issues/3434
      
      * fix tempdir
      
      * update compat release
      
      * defer k/v until preimage server and hinter have both exited
      
      * Only open preimage source when actually needing preimages.
      
      Avoids concurrent access to the pebbledb.
      
      * op-program: Handle interrupts in host
      
      Ensures the preimage kv store is closed cleanly even when the process is sent an interrupt signal.
      Enables non-blocking IO so that read calls return io.EOF when a file handle is closed rather than blocking forever.
      
      * op-program: Restore file based kv store. Add pebble as an additional option.
      
      * op-program: Add option to specify KV store format to use
      
      * op-program: Switch pebble to perform sync writes.
      
      * op-program: Rename disk kv to file kv
      
      * op-program: Rename DBFormat to DataFormat for consistency.
      
      ---------
      Co-authored-by: default avatarclabby <ben@clab.by>
      e80d23b6
    • zhiqiangxu's avatar
      72eff5f9
    • smartcontracts's avatar
      feat: check interface differences in CI (#11677) · 337749f8
      smartcontracts authored
      Adds a new check script to contracts-bedrock that verifies that
      interfaces being added to the repository accurately represent
      the interface of the contract that the interface was generated
      for.
      337749f8
    • smartcontracts's avatar
      maint: no kontrol summaries in PRs (#11725) · 669a0fb2
      smartcontracts authored
      Removes the need for kontrol summaries to be generated at PR time.
      Summaries will now be generated during run-kontrol.sh instead.
      669a0fb2
    • Adrian Sutton's avatar
      chore: Fix lint error (#11714) · 5b907dc8
      Adrian Sutton authored
      golangci-lint v1.60.2 seems to report a new error when performing a nil check and length != 0 on maps. We're not using this version in CI yet but fix the error to simplify the code and provide for a future upgrade.
      5b907dc8
    • Matt Solomon's avatar
  3. 03 Sep, 2024 2 commits
  4. 02 Sep, 2024 3 commits
  5. 31 Aug, 2024 6 commits
  6. 30 Aug, 2024 2 commits
  7. 29 Aug, 2024 6 commits
    • Roberto Bayardo's avatar
      - make state publishing loop abort if the txpool state is not good (#11633) · 7373ce76
      Roberto Bayardo authored
      - protect txpool state vars with a mutex so they can be automically updated to avoid potential race
        condition
      7373ce76
    • AgusDuha's avatar
      test: fix standard bridge interop tests (#11668) · 323e688d
      AgusDuha authored
      * test: fix L2 standard bridge interop tests
      
      * test: mock factory implementation instead of proxy
      323e688d
    • Matt Joiner's avatar
      Conductor and sequencer p2p refactoring (#11455) · c7b91ab2
      Matt Joiner authored
      * Shutdown sequencer before stopping p2p
      
      * Check p2p isn't also disabled
      Co-authored-by: default avatarSebastian Stammler <seb@oplabs.co>
      
      * Remove missed time.Sleep
      
      * Fix up use of SetupP2P.Disabled
      
      * Revert error check after RPC boundary
      
      * Add comment about context for StopSequencer
      
      * Add Config.p2pEnabled
      
      * op-node: Make Config.P2PEnabled public
      
      ---------
      Co-authored-by: default avatarSebastian Stammler <seb@oplabs.co>
      c7b91ab2
    • mbaxter's avatar
      cannon: Add MTCannon-specific differential tests (#11605) · e53a86ac
      mbaxter authored
      * cannon: Implement multithreaded clone fuzz test
      
      * cannon: Add more clone evm tests
      
      * cannon: Add evm test for GetTID syscall
      
      * cannon: Add evm test for SysExit
      
      * cannon: Add evm test for popping exited threads from the stack
      
      * cannon: Fix futex wait handling, add evm test
      
      * cannon: Add evm test for handling waiting thread
      
      * cannon: Add test utils for defining / validating MTState expectations
      
      * cannon: Add tests for futex wake, wake traversal
      
      * cannon: Add test for SysYield
      
      * cannon: Add SysOpen test, todos
      
      * cannon: Add test for SchedQuantum preemption, fix inconsistency
      
      * cannon: Add tests for noop, unsupported syscalls
      
      * cannon: Remove duplicate constants
      
      * cannon: Add tests for unsupported futex ops
      
      * cannon: Group traversal tests, fix TestEVM_WakeupTraversalStep
      
      * cannon: Add tests for nanosleep
      
      * cannon: Add additional testcase for wakeup traversal
      
      * cannon: Tweak futex wake tests
      
      * cannon: Update mt fuzz test to use new test utils
      
      * cannon: Rename contructor method for consistency
      
      * cannon: Add some simple tests for ExpectedMTState util
      
      * cannon: Add another validation test
      
      * cannon: Move syscall lists to tests where they're used
      
      * cannon: Add comment
      
      * cannon: Extract some evm test helpers
      
      * cannon: Cleanup - use require.Equalf for formatting
      
      * cannon: Rename test util to AssertEVMReverts
      
      * cannon: Add GetThreadStacks helper
      
      * cannon: Add a few more traversal tests
      e53a86ac
    • Matthew Slipper's avatar
      Archive contract artifacts (#11626) · aebf669c
      Matthew Slipper authored
      To demonstrate how we can make our deployments more modular, this PR proposes archiving smart contract artifacts as tarballs that get uploaded to GCS. This  allows deployment tools to use precompiled artifacts rather than generating them on-the fly.
      
      The archives are named after the hash of all Solidity files in the contracts-bedrock folder, including those in `lib/`, plus some additional metadata files like `foundry.toml` and `semver-lock.json`. See `calculate-checksum.sh` for details on how the algorithm works. I'm open to feedback around what should make up the checksum.
      
      Since the atifacts are content-addressable, this PR also updates the CI pipeline to download the artifacts from GCS prior to running `pnpm monorepo`. When the Solidity codebase doesn't change, this allows the `pnpm monorepo` job to skip compiling Solidity altogether. While this won't work as well when we're actively modifying the Solidity codebase, since the hash will change, it does provide a modest speedup in CI.
      aebf669c
    • Inphi's avatar
      cannon: Fix stack patching (#11632) · 0dcccf6a
      Inphi authored
      * cannon: Fix stack patching
      
      And add `memprofilerate=0` to envp
      
      * Update cannon/mipsevm/program/patch.go
      Co-authored-by: default avatarprotolambda <proto@protolambda.com>
      
      * cleanup argv/envp string ptrs
      
      * nit
      
      * fix envar name
      
      * Update cannon/mipsevm/program/patch.go
      Co-authored-by: default avatarmbaxter <meredith@oplabs.co>
      
      * align op-program arg0
      
      ---------
      Co-authored-by: default avatarprotolambda <proto@protolambda.com>
      Co-authored-by: default avatarmbaxter <meredith@oplabs.co>
      0dcccf6a