1. 18 Jan, 2024 18 commits
  2. 17 Jan, 2024 22 commits
    • refcell.eth's avatar
      feat(op-challenger): Split Preimage Uploader Wiring (#9023) · 7ccb26bc
      refcell.eth authored
      * feat(op-challenger): large preimage uploader
      
      * feat(op-challenger): split preimage wiring
      7ccb26bc
    • Mark Tyneway's avatar
      ci-builder: fix build (#9042) · 247225b3
      Mark Tyneway authored
      Was broken with https://github.com/ethereum-optimism/optimism/pull/8920
      due to the new `jq` dependency not being present in the builder image.
      Fix by installing `jq` in the builder image.
      247225b3
    • George C. Knee's avatar
      specs: fix several links (#9040) · 10ab0984
      George C. Knee authored
      with this missing, the raw markdown without any link is rendered -> ugly/confusing
      10ab0984
    • clabby's avatar
      fix(ctb): PreimageOracle off-by-one (#9035) · 6585b7c6
      clabby authored
      * Fix `PreimageOracle` off-by-one bug
      
      * fix mips oracle bin
      6585b7c6
    • smartcontracts's avatar
      fix: update getting-started config (#9029) · a06cae81
      smartcontracts authored
      Updates the getting-started tutorial config file with the latest changes
      on develop.
      a06cae81
    • refcell.eth's avatar
      774ad161
    • Mark Tyneway's avatar
      deps: update foundry (#9038) · 0b7e171d
      Mark Tyneway authored
      Updates foundry to the commit `9e2830d7f0566e0d00b1104eeaedd5032a4e556e`.
      Includes the `vm.dumpState` cheatcode implemented in https://github.com/foundry-rs/foundry/pull/6827.
      This will unblock the migration of the genesis generation to solidity to
      improve the devex of the L2 contracts and allow us to delete a lot of
      custom Go code as well as reduce flakes in CI due to not being able to
      find the `genesis.json`.
      0b7e171d
    • Adrian Sutton's avatar
      op-challenger: Register the oracle used by each game type (#9034) · 302d3b0e
      Adrian Sutton authored
      This is prep work for being able to monitor the preimage oracle for large preimages that need to be validated and potentially challenged.
      302d3b0e
    • refcell.eth's avatar
      20ca6496
    • dependabot[bot]'s avatar
      build(deps): bump express-prom-bundle from 6.6.0 to 7.0.0 (#8958) · 3ba27451
      dependabot[bot] authored
      Bumps [express-prom-bundle](https://github.com/jochen-schweizer/express-prom-bundle) from 6.6.0 to 7.0.0.
      - [Release notes](https://github.com/jochen-schweizer/express-prom-bundle/releases)
      - [Commits](https://github.com/jochen-schweizer/express-prom-bundle/compare/6.6.0...7.0.0)
      
      ---
      updated-dependencies:
      - dependency-name: express-prom-bundle
        dependency-type: direct:production
        update-type: version-update:semver-major
      ...
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      3ba27451
    • dependabot[bot]'s avatar
      build(deps-dev): bump @typescript-eslint/eslint-plugin (#9026) · 65e4d18d
      dependabot[bot] authored
      Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.18.0 to 6.19.0.
      - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
      - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
      - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.19.0/packages/eslint-plugin)
      
      ---
      updated-dependencies:
      - dependency-name: "@typescript-eslint/eslint-plugin"
        dependency-type: direct:development
        update-type: version-update:semver-minor
      ...
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      65e4d18d
    • dependabot[bot]'s avatar
      build(deps-dev): bump nx from 17.2.4 to 17.2.8 (#9025) · e943f554
      dependabot[bot] authored
      Bumps [nx](https://github.com/nrwl/nx/tree/HEAD/packages/nx) from 17.2.4 to 17.2.8.
      - [Release notes](https://github.com/nrwl/nx/releases)
      - [Commits](https://github.com/nrwl/nx/commits/17.2.8/packages/nx)
      
      ---
      updated-dependencies:
      - dependency-name: nx
        dependency-type: direct:development
        update-type: version-update:semver-patch
      ...
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      e943f554
    • protolambda's avatar
      Fix fork tests (#9031) · 6c7f9b3c
      protolambda authored
      * op-e2e: fix fork tests
      
      go.mod: update to include ecotone l1 fee scalar receipts nil check
      
      review fixes
      
      * op-e2e: fix lint
      
      * op-e2e: start making L1-fees test a bit more compatible, but GPO contract still has shortcomings
      6c7f9b3c
    • Joshua Gutow's avatar
      op-node: Initialize EngineController inside the Driver (#8966) · a7e473e1
      Joshua Gutow authored
      This moves the EngineController up to be able to use it without having
      to intialize the Derivation Pipeline.
      a7e473e1
    • Adrian Sutton's avatar
      op-challenger: Add keccak sponge implementation (#9015) · 49abfb92
      Adrian Sutton authored
      * op-challenger: Add keccak sponge impl
      
      Provides a StateMatrix implementation that can calculate the state commitment after each permutation.
      
      * op-challenger: Add randomly generated reference tests.
      
      * op-challenger: Split library code to a separate file.
      
      * op-challenger: Expose PackState method
      
      * op-challenger: Add reader based method to make it easier to split up data correctly.
      
      * op-challenger: Fix fuzz makefile target.
      
      * op-challenger: Include full license to comply with source distribution requirements.
      49abfb92
    • clabby's avatar
      feat(ctb): Enforce EOA for `addLeavesLPP` (#9022) · ead6ebba
      clabby authored
      * Enforce that `tx.origin == msg.sender` in `addLeavesLPP`
      
      * rebase
      
      * rebase
      ead6ebba
    • refcell.eth's avatar
    • Inphi's avatar
      specs: Update L2 Output RPC method (#9030) · cb948687
      Inphi authored
      * specs: Update L2 Output RPC method
      
      * fix per review comments
      cb948687
    • Danyal Prout's avatar
      4844: Add missing consolidation properties (#8976) · e0e7e95c
      Danyal Prout authored
      * Add missing consolidation properties
      
      * Split by hardfork
      e0e7e95c
    • protolambda's avatar
      specs: specify Ecotone SystemConfig scalar data and upgrade behavior (#8991) · c1f1c66c
      protolambda authored
      * specs: specify Ecotone SystemConfig scalar data and upgrade behavior
      
      * specs: ecotone scalar specs review fixes
      
      * specs: clarify uint256/bytes32 wording
      
      * specs: clarify 4844 blob fee usage
      
      * specs: L1 attributes deposit Ecotone contents clarification review fixes
      c1f1c66c
    • clabby's avatar
      feat(ctb): Keccak dispute DA gas estimation (#8986) · 10c981b0
      clabby authored
      * init keccak proposals
      
      * merklelization
      
      * merk fixes
      
      * Preimage parts, challenge tests
      
      * Tests
      
      * bindings + snapshots
      
      * lint
      
      * tests
      
      * bind
      
      * :broom:, checks, tests
      
      * Contiguous state tests
      
      * :broom:, r4r
      
      * review
      
      * rabbit
      
      * @refcell review
      
      * bindings
      
      * bindings
      
      * @tynes review
      
      * @inphi review
      
      * Keccak dispute DA gas estimation
      
      * worst-case, all bits set
      
      * bindings
      
      * bindings
      
      * Add challenger indexing
      
      * slither
      
      * Add append-only array of proposal keys
      
      * rebase
      
      * rebase
      10c981b0
    • Juan C's avatar
      Add Kontrol proofs for OptimismPortal (#8634) · 81955146
      Juan C authored
      * Remove `OptimismPortal` from `Counter.t.sol`
      
      * Add simple state diff contract
      
      * Add `broadcast` modifier
      
      * Add json cleaning scripts
      
      * Add `statediff.sh`: execution script for summary contract generation
      
      * Add second Counter instance
      
      * Update execution script
      
      * Add `StateDiffCheatcode` contract
      
      * `run-kontrol.sh`: run `StateDiffCheatcode.recreateDeployment` test
      
      * `run-kontrol.sh`: Set `FOUNDRY_PROFILE` flag to `kontrol`
      
      * `run-kontrol.sh`: Remove `--no-forge-build`
      
      * Add `stategen` foundry profile
      
      * Update instructions to create a custom deployment from `Deploy`
      
      * Add `run-kontrol-local.sh`
      
      * Reflect `Counter.sol` being moved to kontrol folder
      
      * `statediff.sh`: update for newest summary kontrol version
      
      * Add `test/kontrol/state-change/` folder
      
      * forge install: kontrol-cheatcodes
      
      * foundry.toml: add `kontrol-cheatcodes` remapping
      
      * statediff.sh: Execute custom deployment script with `kontrol` profile
      
      * `run-kontrol-local.sh`: make `test_proveWithdrawalTransaction_paused` the default
      
      * `statediff.sh`: create dummy save files if they don't exist
      
      * `statediff.sh`: replace mustGetAddress by getAddress in Deploy.s.sol
      
      * `foundry.toml`: add `read` access to `kout` folder
      
      * Update addresses to `internal constant`s
      
      * `forge-std`: update version to `80a8f6e`
      
      * Save guardian address
      
      * Decrease `forge script` verbosity
      
      * Update summary contracts to latest version
      
      * Rename `StateDiff` to `KontrolDeployment`
      
      * Rename `statediff.sh` to `makeSummaryDeployment.sh` and move to `kontrol` folder
      
      * Update `makeSummaryDeployment.sh`
      
      * Change summary name to `DeploymentSummary`
      
      * Move deployment files and `KontrolUtils` to `utils`
      
      * Rename `StateDiffTest.sol` to `OptimismPortal.k.sol`
      
      * `OptimismPortal.k.sol`: fix typo renaming `DeploymentSummary`
      
      * Rename `state-change` to `proofs`
      
      * Move scripts under `kontrol/kontrol/scripts`
      
      * Add json cleaning scripts under `scripts/json` folder
      
      * `run-kontrol-local.sh`: update module name
      
      * `DeploymentSummary.sol`: fix typo on importing code contract
      
      * `KontrolDeployment`: do not save the guardian address
      
      * `run-kontrol-local.sh`: update proof names
      
      * Update kontrol foundry profile names
      
      * `run-kontrol-local.sh`: remove unnecessary comments
      
      * `run-kontrol.sh`: add `proveWithdrawalTransaction` proof to run
      
      * Tidy up `run-kontrol-local.sh`
      
      * Update `run-kontrol.sh`
      
      * `OptimismPortal.k.sol`: clean file
      
      * `OptimismPortal.k.sol`: add `test_finalizeWithdrawalTransaction_paused_reverts` proof
      
      * Add `test_finalizeWithdrawalTransaction_paused` to `run-kontrol-local.sh`
      
      * `.gitignore`: add `kout-deployment` and `kout-proofs`
      
      * `OptimismPortalKontrol`: make size of symbolic bytes param be 320
      
      * `KontrolUtils`: optimizations for symbolic `withdrawalProof`
      
      * Add `README.md`
      
      * Run `forge fmt`
      
      * Move dummy tests to `proofs/tests`
      
      * Update `run-kontrol.sh`
      
      * Update `DeploymentSummaryCode.sol`
      
      * `README.md`: add execution instructions
      
      * Update symbolic optimizations
      
      * Cleanup `make-summary-deployment.sh`
      
      * Cleanup `KontrolUtils`
      
      * `kontrol/README.md`: add description for `pausability-lemmas.k`
      
      * Add description for Kontrol Foundry profiles
      
      * Move `kontrol/kontrol` contents to `kontrol`
      
      * Change interface naming convention
      
      * `make-summary-deployment.sh`: `set -euo pipefail`
      
      * `run-kontrol.sh`: reorg `regen` and `rekompile` empty assignments
      
      * `KontrolUtils`: update name parameters of `createWithdrawalTransaction`
      
      * `OptimismPortal.k.sol`: Replace `assert` by `requires`
      
      * `OptimismPortal.k.sol`: remove `test_kontrol_in_foundry`
      
      * `.gitignore`: update kontrol logs location
      
      * `make-summary-deployment.sh`: change `sed` for `awk` and make its changes transient
      
      * `kontrol/README.md`: reflect dissolution of `kontrol/kontrol`
      
      * Keep track of statediff deployment json instead of `DeploymentSummary`
      
      * `KontrolUtils`: `freshAddress` typo
      
      * `KontrolUtils`: set first symbolic workaround; symb `bytes[].length` 10
      
      * forge install: forge-std
      
      v1.7.4
      
      * `make-summary-deployment.sh`: explanation for `mustGetAddress` replacement
      
      * `make-summary-deployment.sh`: missing `utils` folder in summary dir
      
      * Merging local and container script; New call methdo  to run locally otherwise no input expected or accepted
      
      * Enforcing new paramters local/container/dev for various run scenarios of version enforcement and developer god mode for expereimenting with versions/builds of kontrol
      
      * usage wording improvement
      
      * Fixing scenario no arguments passed and shifting
      
      * Update packages/contracts-bedrock/test/kontrol/scripts/make-summary-deployment.sh
      Co-authored-by: default avatarMatt Solomon <matt@mattsolomon.dev>
      
      * Update packages/contracts-bedrock/test/kontrol/scripts/run-kontrol.sh
      Co-authored-by: default avatarMatt Solomon <matt@mattsolomon.dev>
      
      * Typo in packages/contracts-bedrock/test/kontrol/proofs/utils/KontrolUtils.sol
      Co-authored-by: default avatarMatt Solomon <matt@mattsolomon.dev>
      
      * Update description of packages/contracts-bedrock/test/kontrol/scripts/run-kontrol.sh
      Co-authored-by: default avatarMatt Solomon <matt@mattsolomon.dev>
      
      * Document `run-kontrol.sh` in README
      
      * README.md: Update description of the Kontrol folder
      
      * README.md: refine foundry profile description
      
      * remove remaining `kontrol/kontrol` instances
      
      * correct location of `run-kontrol.sh` script
      
      * OptimismPortal.k.sol: rename `test_*` to `proof_*`
      
      * Kontrol-Deploy.json: update to latest code
      
      * make-summary-deployment.sh: add `forge fmt` as last summary gen step
      
      * README.md: fix formatting typo
      
      * contracts-bedrock: update bindings (kontrol proofs)
      
      * Replace `/* */` comments by `//`
      
      * OptimismPortal.k.sol: remove commented `_withdrawalProof` argument
      
      * Remove `CounterNames.json`
      
      * KontrolUtils.sol: remove unused functions
      
      * Describe `clean_json.py` and `reverse_key_values.py`
      
      * test/kontrol/README.md: fix typos
      
      * OptimismPortal.k.sol: license and typo
      
      * KontrolUtils: document the goal of `arrayLength` range
      
      * `OptimismPortal.k.sol`: rename `proof_*` to `prove_*`
      
      * Remove `createWithdrawalTransaction` function; better proof parameters
      
      * OptimismPortal.k.sol: Add tracking issue for symbolic `bytes` support
      
      * Add deployment summaries license and disclaimer comment
      
      * versions.json: bump Kontrol to 0.1.117
      
      * run-kontrol.sh: update Kontrol version getter method
      
      * run-kontrol.sh: fix typo for enforcing local Kontrol version
      
      * `OptimismPortal.k.sol`: remove `== true` no-ops
      
      * contracts-bedrock: update bindings (kontrol proofs)
      
      ---------
      Co-authored-by: default avatarF-WRunTime <Freeman.Wenzl@runtimeverification.com>
      Co-authored-by: default avatarFreeman <105403280+F-WRunTime@users.noreply.github.com>
      Co-authored-by: default avatarMatt Solomon <matt@mattsolomon.dev>
      81955146