1. 01 May, 2024 3 commits
    • Danyal Prout's avatar
      794a333b
    • Mark Tyneway's avatar
      contracts-bedrock: deployer as msg.sender (#10343) · b952dc06
      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
      b952dc06
    • clabby's avatar
      feat: Add extension event to `OptimismPortal2` (#10350) · 3f9de382
      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
      3f9de382
  2. 30 Apr, 2024 6 commits
    • Hoa Nguyen's avatar
      chore(op-service): reduce allocations (#10331) · fff6563c
      Hoa Nguyen authored
      * refactor: improve perf
      
      * improve perf
      
      * rollback
      
      * rollback
      
      ---------
      Co-authored-by: default avatarKhanh Hoa <khanhoait.bka@gmail.com>
      fff6563c
    • Diego's avatar
      feat/L2ToL2CrossDomainMessenger: create (#10297) · 472322e8
      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
      472322e8
    • Mark Tyneway's avatar
      genesis: fix permit2 panic (#10332) · acd8cf8a
      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
      acd8cf8a
    • Mark Tyneway's avatar
      fpac: reserve spacer slot in OptimismPortal2 (#10279) · aa1dc04e
      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
      aa1dc04e
    • Francis Li's avatar
      344d9192
    • Francis Li's avatar
      a7ff2303
  3. 29 Apr, 2024 12 commits
  4. 27 Apr, 2024 4 commits
    • Diego's avatar
      feat/CrossL2Inbox: create (#10296) · 826a7bdc
      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
      826a7bdc
    • Afanti's avatar
      fix: typo in the code comments (#10229) · 7e937296
      Afanti authored
      * fix: typo in the code comments
      
      * fix: correct the syntax error in the code comment
      7e937296
    • dependabot[bot]'s avatar
      dependabot(gomod): bump github.com/minio/minio-go/v7 (#10323) · 83611e5f
      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: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      83611e5f
    • dependabot[bot]'s avatar
      dependabot(gomod): bump gorm.io/gorm from 1.25.9 to 1.25.10 (#10324) · 06ab6138
      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: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      06ab6138
  5. 26 Apr, 2024 5 commits
  6. 25 Apr, 2024 10 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