- 18 Jan, 2024 17 commits
-
-
David Cardenas authored
-
Luke authored
-
refcell.eth authored
-
protolambda authored
Co-authored-by:
Roberto Bayardo <bayardo@alum.mit.edu>
-
Evan Richard authored
* op-node: L2 Dencun implementation updates init branch Update reference to Eclipse/Ecotone in specs. Pull in Danyal's deposit source and add additional tests. Add notion of ParentBeaconRoot and build a contract deploy tx in attributes.go. Add a test for activating dencun l2 fork after genesis. Add draft ecotone setup. Add first pass of Eclipse upgrade txns Fix tests/compile Code review feedback Obey linter. Move ecotone setup to helpers.go; get the ParentBeaconBlockRoot from the l1Info in attributes.go. chore(op-node): Add tests for Ecotone deposit transactions (#8746) * Source hash teEvanJRichard <evan@oplabs.co> dencun review fixes derive: ecotone upgradeTo abi encoding op-e2e: test L2 exclusion of blob-txs in Ecotone op-node/rollup: deduplicate ecotone activation helper func, fix rollup config var name op-chain-ops: clarify 4788 contract nonce op-node/rollup: add setEcotone to ecotone upgrade txs dencun review fixes Dencun: P2P / EngineAPI / ExecutionPayloadEnvelope changes Includes: - Pass through execution payload (Envelope type everywhere) by Danyal, extended by Proto - Fix ecotone upgrade txns, by Danyal - ci fixes by Danyal - P2P Req/Resp (version based encoding/decoding) by Danyal - EngineAPI v3 usage by Danyl, rebased by Proto on EngineController (from trianglesphere) - Block v3 Gossip validation, by Danyal - Block v3 Gossip publishing, by Proto Rebased on updated Ecotone / Dencun base branch op-e2e: fix upgrade-txs count in test op-node: fix l1 info scalar migration, implement dencun review suggestions op-node: more dencun review nit fixes op-node: rabbit suggestions, but fixed Fix nil pointer in p2p sync for Ecotone blocks dencun: fix more nits op-e2e: fix lint Co-authored-by:
Danyal Prout <me@dany.al> Co-authored-by:
protolambda <proto@protolambda.com> Co-authored-by:
EvanJRichard <evan@oplabs.co> * Add tests for attribute matching * Provide a no-op blob fetcher to prevent derivation error Fail tests when there is an unknown error Fix typo / empty array to nil Update L2 tests to ecotone / add additional checks * op-e2e: dencun action-test setup fixes * op-node: op-conductor dencun todo * dencun: fix review nit about parent beacon block root gossip check style --------- Co-authored-by:
Danyal Prout <me@dany.al> Co-authored-by:
protolambda <proto@protolambda.com>
-
protolambda authored
* op-chain-ops,op-node: ecotone upgrade txs, fix l1-fee scalar migration Co-authored-by:
Danyal Prout <me@dany.al> Co-authored-by:
protolambda <proto@protolambda.com> Co-authored-by:
EvanJRichard <evan@oplabs.co> * op-chain-ops: execute ecotone upgrade txs on L2 genesis generation * op-e2e: update fees test to cover regolith and ecotone fees incl. strict GPO comparison * op-chain-ops: add StateDB interface assertion * ecotone-upgrade: implement version naming review suggestion * op-node: clean up system config scalars parsing, add unit tests * op-service: fix version name * op-node: improve L1info to sys-config reverse translation step * op-node: fix sys-config ecotone scalars getter refactor bug --------- Co-authored-by:
Danyal Prout <me@dany.al> Co-authored-by:
EvanJRichard <evan@oplabs.co>
-
clabby authored
* Large preimage proposals spec * toc
-
dependabot[bot] authored
Bumps [supertest](https://github.com/ladjs/supertest) from 6.3.3 to 6.3.4. - [Release notes](https://github.com/ladjs/supertest/releases) - [Commits](https://github.com/ladjs/supertest/compare/v6.3.3...v6.3.4) --- updated-dependencies: - dependency-name: supertest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
Mark Tyneway authored
* contracts-bedrock: modularize deployer script Move logic for interacting with artifacts outside of the deployer contract into its own contract. This allows for other contracts to easily inherit the contract so that any contract can read in contract addresses. * ctb: handle devnet * contracts-bedrock: fixup * lint: fix
-
dependabot[bot] authored
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 49.0.0 to 50.0.1. - [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases) - [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v49.0.0...v50.0.1) --- updated-dependencies: - dependency-name: eslint-plugin-unicorn dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
Maurelian authored
-
Diego authored
* op-chain-ops: create op-version-check forked from op-upgrade * op-version-check: drop logic for upgrading contracts * op-version-check: add logic for outputting contract versions * op-version-check: improve support for checking multiple chains * op-version-check: replace legacy upgrade references * op-chain-ops: create README * op-version-check: improve README * op-version-check: drop unnecessary deploy-config flag * op-version-check: create op-version-check in Makefile * op-version-check: add usage section to README * op-chain-ops: add op-version-check to README * op-version-check: fix path in README * op-version-check: remove unused function toDeployConfigName * op-version-check: drop capitalization on error strings * op-node: capitalize writeJSONFile function this makes it accessible when op-node/cmd/genesis is imported as a package * op-chain-ops: use op-node/cmd/genesis for writeJSON * op-chain-ops: set name op_node_genesis for import * op-chain-ops: use op-node WriteJSONFile in op-upgrade * op-chains-ops: move to toSuperchainName to upgrades package * op-chain-ops: output all contracts for op-version-check addresses https://github.com/ethereum-optimism/optimism/pull/8859#issuecomment-1881663953 * op-chain-ops: add logging if chain ID is skipped by op-version-check * op-service: create jsonutil/write * op-chain-ops use jsonutil in op-upgrade, op-version-check * op-chain-ops: pass RPC URLs as flags in op-version-check * op-chain-ops: refactor of op-version-check * op-chain-ops: refactor of op-version-check * op-chain-ops: add more logging for op-version-check * op-chain-ops: add more logging for op-version-check
-
clabby authored
* Add minimum proposal size + configuration * @inphi review
-
Roberto Bayardo authored
-
Mark Tyneway authored
The foundry install script uses `jq` so we must install `jq` as early as possible in `ci-builder` to ensure that its always present. Follow up to https://github.com/ethereum-optimism/optimism/pull/9042 which fixes the broken build from https://github.com/ethereum-optimism/optimism/pull/8920. I don't think that #8920 broke the fix in this commit so perhaps the build was broken longer than we thought? Either way, we need new forge version in CI that was introduced in https://github.com/ethereum-optimism/optimism/pull/9038 so we need a successful build of `ci-builder`.
-
Mark Tyneway authored
* contracts-bedrock: bump forge-std 1fd874f0efdb711cb6807c4f4a000ed2805dc809 Bumps `forge-std` to the latest commit that includes the `vm.dumpState` cheatcode. - https://github.com/foundry-rs/forge-std/pull/499 - https://github.com/foundry-rs/foundry/pull/6827 * contracts-bedrock: fix build
-
refcell.eth authored
-
- 17 Jan, 2024 23 commits
-
-
refcell.eth authored
* feat(op-challenger): large preimage uploader * feat(op-challenger): split preimage wiring
-
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.
-
George C. Knee authored
with this missing, the raw markdown without any link is rendered -> ugly/confusing
-
clabby authored
* Fix `PreimageOracle` off-by-one bug * fix mips oracle bin
-
smartcontracts authored
Updates the getting-started tutorial config file with the latest changes on develop.
-
refcell.eth authored
-
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`.
-
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.
-
refcell.eth authored
-
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:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
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:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
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:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
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
-
Joshua Gutow authored
This moves the EngineController up to be able to use it without having to intialize the Derivation Pipeline.
-
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.
-
clabby authored
* Enforce that `tx.origin == msg.sender` in `addLeavesLPP` * rebase * rebase
-
refcell.eth authored
-
Inphi authored
* specs: Update L2 Output RPC method * fix per review comments
-
Danyal Prout authored
* Add missing consolidation properties * Split by hardfork
-
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
-
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
-
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:
Matt Solomon <matt@mattsolomon.dev> * Update packages/contracts-bedrock/test/kontrol/scripts/run-kontrol.sh Co-authored-by:
Matt Solomon <matt@mattsolomon.dev> * Typo in packages/contracts-bedrock/test/kontrol/proofs/utils/KontrolUtils.sol Co-authored-by:
Matt Solomon <matt@mattsolomon.dev> * Update description of packages/contracts-bedrock/test/kontrol/scripts/run-kontrol.sh Co-authored-by:
Matt 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:
F-WRunTime <Freeman.Wenzl@runtimeverification.com> Co-authored-by:
Freeman <105403280+F-WRunTime@users.noreply.github.com> Co-authored-by:
Matt Solomon <matt@mattsolomon.dev>
-
Park Changwan authored
-