- 01 May, 2024 3 commits
-
-
Danyal Prout authored
-
Mark Tyneway authored
* contracts-bedrock: deployer as msg.sender Use a special deployer account for the execution of the L2 genesis script. This should remove the need to set the sender as part of the devnet. * devnet: simplify * contracts-bedrock: fix deployer * contracts-bedrock: fix build * build: fix * contracts-bedrock: more generic prank * contracts-bedrock: attempt fixup * contracts-bedrock: set deployer nonce to 0 * contracts-bedrock: prank in genesis * contracts-bedrock: fix build * contracts-bedrock: fixup * contracts-bedrock: fixup * contracts-bedrock: fixup
-
clabby authored
* feat: Add extension event to `OptimismPortal2` Adds an extension event to the `OptimismPortal2` that allows for easier indexing of proven withdrawals by off-chain monitoring services. Previously, in order to look up a proof for a withdrawal when syncing an indexer, archival state access was required. * semver lock
-
- 30 Apr, 2024 6 commits
-
-
Hoa Nguyen authored
* refactor: improve perf * improve perf * rollback * rollback --------- Co-authored-by:
Khanh Hoa <khanhoait.bka@gmail.com>
-
Diego authored
* contracts-bedrock: create CrossL2Inbox * contracts-bedrock: create ICrossL2Inbox * contracts-bedrock: create tests for CrossL2Inbox * contracts-bedrock: update CrossL2Inbox sol version to ^0.8.24 * contracts-bedrock: rename test to .t.sol ext * contracts-bedrock: make snapshots * contracts-bedrock: update semver-lock * contracts-bedrock: drop snapshots for CrossL2InboxTest * contracts-bedrock: update license for tests CrossL2Inbox * contracts-bedrock: add CrossL2Inbox to predeploys * contracts-bedrock: pin sol version of CrossL2Inbox to 0.8.25 * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: add CROSS_L2_INBOX to predeploys * contracts-bedrock: make slots internal in CrossL2Inbox * contracts-bedrock: add custom errors to CrossL2Inbox * contracts-bedrock: refactor tests for CrossL2Inbox * contracts-bedrock: use TransientContext in CrossL2Inbox * contracts-bedrock: fix L2Genesis test * contracts-bedrock: minor tweaks to documentation in tests for CrossL2Inbox * contracts-bedrock: relabel BLOCKNUMBER_SLOT to BLOCK_NUMBER_SLOT in CrossL2Inbox * contracts-bedrock: update snapshots for CrossL2Inbox * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: improve documentation for CrossL2Inbox * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: fix tests for CrossL2Inbox * contracts-bedrock: update modifier in CrossL2Inbox * contracts-bedrock: drop arguments in custom errors for CrossL2Inbox * contracts-bedrock: update snapshots for CrossL2Inbox * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: fix tests for CrossL2Inbox * contracts-bedrock: remove redundant lines in CrossL2Inbox * contracts-bedrock: add tests for CrossL2Inbox * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: minor improvements to tests for CrossL2Inbox * contracts-bedrock: remove ENTERED_SLOT in CrossL2Inbox * contracts-bedrock: remove CrossL2Inbox from isSupportedPredeploy * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: update CrossL2Inbox with eip3074 specs * contracts-bedrock: update tests for CrossL2Inbox with eip3074 specs * contracts-bedrock: improve doc in tests for CrossL2Inbox * contracts-bedrock: update snapshots for CrossL2Inbox * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: create L2ToL2CrossDomainMessenger * contracts-bedrock: create IL2ToL2CrossDomainMessenger * contracts-bedrock: create tests for L2ToL2CrossDomainMessenger * contracts-bedrock: make snapshots for L2ToL2CrossDomainMessenger * contracts-bedrock: add semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: add L2ToL2CrossDomainMessenger to predeploys * contracts-bedrock: make slots in L2ToL2CrossDomainMessenger internal * contracts-bedrock: add reentrancy protection to L2ToL2CrossDomainMessenger * contracts-bedrock: pin sol version of L2ToL2CrossDomainMessenger to 0.8.25 * contracts-bedrock: add custom errors to L2ToL2CrossDomainMessenger * contracts-bedrock: add missing documentation in L2ToL2CrossDomainMessenger * contracts-bedrock: reorder imports for L2ToL2CrossDomainMessenger * contracts-bedrock: rename errors for L2ToL2CrossDomainMessenger * contracts-bedrock: reorder vars in L2ToL2CrossDomainMessenger * contracts-bedrock: refactor tests for L2ToL2CrossDomainMessenger * contracts-bedrock: add L2_TO_L2_CROSS_DOMAIN_MESSENGER to predeploys * contracts-bedrock: fix tests for L2ToL2CrossDomainMessenger * contracts-bedrock: make snapshots for L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: reorder functions in L2ToL2CrossDomainMessenger * contracts-bedrock: mock calls to target contract for L2ToL2CrossDomainMessenger tests * contracts-bedrock: add additional checks to sendMessage in L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: minor tweaks to tests for L2ToL2CrossDomainMessenger * contracts-bedrock: add TransientContext to L2ToL2CrossDomainMessenger * contracts-bedrock: add reentrancy test for L2ToL2CrossDomainMessenger * contracts-bedrock: improve tests for L2ToL2CrossDomainMessenger * contracts-bedrock: improve documentation of tests for L2ToL2CrossDomainMessenger * contracts-bedrock: fix L2Genesis test * contracts-bedrock: update snapshots for L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: improve documentation for L2ToL2CrossDomainMessenger * contracts-bedrock: fix test for L2ToL2CrossDomainMessenger * contracts-bedrock: update snapshots for L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: fix tests for L2ToL2CrossDomainMessenger * contracts-bedrock: update modifier in L2ToL2CrossDomainMessenger * contracts-bedrock: remove legacy line in L2ToL2CrossDomainMessenger * contracts-bedrock: add additional tests for L2ToL2CrossDomainMessenger * contracts-bedrock: add assumePayable in tests for L2ToL2CrossDomainMessenger * contracts-bedrock: fix test for L2ToL2CrossDomainMessenger * contracts-bedrock: remove args from custom errors in L2ToL2CrossDomainMessenger * contracts-bedrock: update snapshots for L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: remove ENTERED_SLOT in L2ToL2CrossDomainMessenger * contracts-bedrock: remove L2ToL2CrossDomainMessenger from isSupportedPredeploy * contracts-bedrock: update semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: update L2ToL2CrossDomainMessenger with eip3074 specs * contracts-bedrock: add tests for 3074 changes on L2ToL2CrossDomainMessenger * contracts-bedrock: add missing checks for L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: make SentMessage anonymous in L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: update snapshots for L2ToL2CrossDomainMessenger * contracts-bedrock: fix title for TransientContext * contracts-bedrock: use messageVersion instead of MESSAGE_VERSION in L2ToL2CrossDomainMessenger * contracts-bedrock: reintroduce ReentrancyGuard to L2ToL2CrossDomainMessenger * contracts-bedrock: update snapshots for L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock for contracts-bedrock: update snapshots for L2ToL2CrossDomainMessenger * contracts-bedrock: remove TransientContext from L2ToL2CrossDomainMessenger * contracts-bedrock: update snapshots for L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: fix tests for L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: fix tstore in L2ToL2CrossDomainMessenger * contracts-bedrock: improve logic in L2ToL2CrossDomainMessenger * contracts-bedrock: update snapshots for L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock L2ToL2CrossDomainMessenger * contracts-bedrock: improve logic for L2ToL2CrossDomainMessenger * contracts-bedrock: update snapshots for L2ToL2CrossDomainMessenger * contracts-bedrock: update semver-lock for L2ToL2CrossDomainMessenger * contracts-bedrock: simplify vars in tests for L2ToL2CrossDomainMessenger
-
Mark Tyneway authored
* genesis: fix permit2 panic Its possible that permit2 isn't in the genesis allocs even though it should be, it removes the flexibility to define the genesis spec arbitrarily if we implicitly enforce it being present. We need a better way to check that the chain id during genesis allocation matches the chain id in the genesis spec. An attempt at this is done in https://github.com/ethereum-optimism/optimism/pull/10326. Fixes https://github.com/ethereum-optimism/optimism/issues/10309 * op-chain-ops: better check * cleanup: fix build * build: fix
-
Mark Tyneway authored
* fpac: reserve spacer slot in OptimismPortal2 Allows for merging of `OptimismPortal` that supports custom gas token and also `OptimismPortal2` that has a modified storage layout. The `OptimismPortal` has spacers to account for the storage layout changes in `OptimismPortal2` and it adds its new storage slot at the location that the spacer is added in. This faciliates the ability to merge the portal codebases in the future. * tests: fixup * semver-lock: update
-
Francis Li authored
-
Francis Li authored
-
- 29 Apr, 2024 12 commits
-
-
SanShi2023 authored
-
Mark Tyneway authored
* contracts-bedrock: small fix to cleanup L2 genesis Adds a `run()` function to the L2 genesis generation script so that its possible to run the command without the `--sig` argument. Also resolve some linting isssues, semgrep has a rule that prefers `@notice` over `@dev` for natspec comments. Also use a foundry cheatcode to set the chainid during execution to ensure that the correct chainid is set to remove the need to set it as a cli flag. * devnet: remove extra flag to foundry script * contracts-bedrock: fix test * contracts-bedrock: update config Turns on funding of genesis accounts * contracts-bedrock: fix broken test * contracts-bedrock: cleanup
-
smartcontracts authored
Cleans up the deploy script for periphery contracts. Script was a bit messy and we need a cleaned up version so that we can safely deploy and manage Drippie for the Challenger.
-
Raffaele authored
-
Adrian Sutton authored
* op-dispute-mon: Report valid and invalid claims by honest actors * op-dispute-mon: Report won, lost and pending bonds for honest actors * op-dispute-mon: Exclude refunded bonds from winnings
-
Adrian Sutton authored
-
Adrian Sutton authored
When a game is ignored because of this option it logs a warning and reports a count of ignored games via a new metric.
-
Adrian Sutton authored
Avoids it getting increasingly slower over time.
-
Mark Tyneway authored
* op-bindings: delete more dead code Remove more dead code from the `op-bindings` package. The only thing left are the generated bindings themselves which can be moved to the packages that depend on them. `op-e2e` may be the only remaining package that depends on bindings. The predeploy addresses still exist, there is a question as to where they should live. Perhaps in `op-node` since they are consensus critical parameters. The etherscan client was moved into `op-chain-ops` because it could be useful in the future but it should also be deleted if it ends up not being used at all. * indexer: fix build
-
Mark Tyneway authored
* op-bindings: more cleanup Deletes the preview more file + registry and also moves some `op-bindings` packages to `op-chain-ops`. We have some duplicate types defined in `op-chain-ops` that we can consolidate into the `foundry` and `solc` packages in subsequent commits. * build: fix
-
Mark Tyneway authored
Fixes the `make build` command to ensure that it works. Previously it checked if the env var was set for the nvm dir, but that doesn't guarantee there is a file there. Run the nvm file if it exists after checking that it exists. Can confirm that the build command works for me now locally.
-
Adrian Sutton authored
-
- 27 Apr, 2024 4 commits
-
-
Diego authored
* contracts-bedrock: create CrossL2Inbox * contracts-bedrock: create ICrossL2Inbox * contracts-bedrock: create tests for CrossL2Inbox * contracts-bedrock: update CrossL2Inbox sol version to ^0.8.24 * contracts-bedrock: rename test to .t.sol ext * contracts-bedrock: make snapshots * contracts-bedrock: update semver-lock * contracts-bedrock: drop snapshots for CrossL2InboxTest * contracts-bedrock: update license for tests CrossL2Inbox * contracts-bedrock: add CrossL2Inbox to predeploys * contracts-bedrock: pin sol version of CrossL2Inbox to 0.8.25 * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: add CROSS_L2_INBOX to predeploys * contracts-bedrock: make slots internal in CrossL2Inbox * contracts-bedrock: add custom errors to CrossL2Inbox * contracts-bedrock: refactor tests for CrossL2Inbox * contracts-bedrock: use TransientContext in CrossL2Inbox * contracts-bedrock: fix L2Genesis test * contracts-bedrock: minor tweaks to documentation in tests for CrossL2Inbox * contracts-bedrock: relabel BLOCKNUMBER_SLOT to BLOCK_NUMBER_SLOT in CrossL2Inbox * contracts-bedrock: update snapshots for CrossL2Inbox * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: improve documentation for CrossL2Inbox * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: fix tests for CrossL2Inbox * contracts-bedrock: update modifier in CrossL2Inbox * contracts-bedrock: drop arguments in custom errors for CrossL2Inbox * contracts-bedrock: update snapshots for CrossL2Inbox * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: fix tests for CrossL2Inbox * contracts-bedrock: remove redundant lines in CrossL2Inbox * contracts-bedrock: add tests for CrossL2Inbox * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: minor improvements to tests for CrossL2Inbox * contracts-bedrock: remove ENTERED_SLOT in CrossL2Inbox * contracts-bedrock: remove CrossL2Inbox from isSupportedPredeploy * contracts-bedrock: update semver-lock for CrossL2Inbox * contracts-bedrock: update CrossL2Inbox with eip3074 specs * contracts-bedrock: update tests for CrossL2Inbox with eip3074 specs * contracts-bedrock: improve doc in tests for CrossL2Inbox * contracts-bedrock: update snapshots for CrossL2Inbox * contracts-bedrock: update semver-lock for CrossL2Inbox
-
Afanti authored
* fix: typo in the code comments * fix: correct the syntax error in the code comment
-
dependabot[bot] authored
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.69 to 7.0.70. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.69...v7.0.70) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production 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>
-
dependabot[bot] authored
Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.25.9 to 1.25.10. - [Release notes](https://github.com/go-gorm/gorm/releases) - [Commits](https://github.com/go-gorm/gorm/compare/v1.25.9...v1.25.10) --- updated-dependencies: - dependency-name: gorm.io/gorm dependency-type: direct:production 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>
-
- 26 Apr, 2024 5 commits
-
-
clabby authored
Updates the system config with a major version bump for a `DisputeGameFactory` in lieu of the deprecated `L2OutputOracle`.
-
Aaron Chen authored
* op-challenger: fix a bug in TestMonitorGames * just return instead of break loop * remove blank lines
-
Park Changwan authored
* op-challenger: Share providers across different asterisc game instances Avoids loading the full state to extract the commitment for each individual game. * Fix flag error
-
Park Changwan authored
* op-challenger: Apply multiple prestates for asterisc * op-challenger: Add asterisc-prestates-url flag to configure a source for prestates based on hash
-
Adrian Sutton authored
op-challenger, op-dispute-mon: Support both old and new versions of the dispute game contracts (#10302) * op-challenger, op-dispute-mon: Support both old and new versions of the dispute game contracts. * op-challenger: Update fault dispute game contract tests to cover multiple versions.
-
- 25 Apr, 2024 10 commits
-
-
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.
-
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.
-
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.
-
Adrian Sutton authored
-
Adrian Sutton authored
Avoids loading the full state to extract the commitment for each individual game.
-
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
-
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.
-
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
-
Inphi authored
-
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:
clabby <ben@clab.by>
-