1. 17 Sep, 2024 8 commits
  2. 16 Sep, 2024 2 commits
    • mbaxter's avatar
      cannon: Implement thread-safe ll and sc operations (#11906) · 4af1fe6e
      mbaxter authored
      * cannon: Extract RMW op handling from shared logic
      
      * cannon: Add more test cases of LL/SC behavior
      
      * cannon: Cut ll/sc-related logic from common mips code
      
      * cannon: Setup mips helpers to return memory modification info
      
      * cannon: Add new fields to track reserved memory
      
      * cannon: Add a boolean field indicating whether an ll reservation is active
      
      * cannon: Implement ll/sc for MTCannon
      
      * cannon: Add modified sysRead tests for MTCannon
      
      * cannon: Test store operations cleare memory reservations
      
      * cannon: Update SysClockGettime to clear ll memory reservation
      
      * cannon: Fix slither warning - initialize variable
      
      * cannon: Bump MIP2.sol version
      
      * cannon: Run semver, snapshot tasks
      
      * cannon: Cut unused log msg
      
      * cannon: Add new error to MIPS interfaces
      
      * cannon: Cut stale TODO
      4af1fe6e
    • Adrian Sutton's avatar
      op-e2e: Separate helpers for proofs action tests into a new package (#11920) · ac443ef0
      Adrian Sutton authored
      * op-e2e: Move action test helpers for proofs to a separate package.
      
      * op-e2e: Use helpers package under proofs rather than a completely separate package tree for helpers.
      ac443ef0
  3. 15 Sep, 2024 2 commits
  4. 14 Sep, 2024 5 commits
    • Blaine Malone's avatar
      feat: Front OPSM with Proxy and Initialize (#11875) · 6cf35daa
      Blaine Malone authored
      * fix: getting stack underflow error.
      
      * feat: adding proxy infront of OPStackManager.
      
      * fix: PR comments, we're landing on using the initialize function over setRelease.
      
      * fix: rename function.
      
      * fix: nit
      
      * fix: infering proxy admin from superchain config.
      
      * fix: ran command: just pre-pr-no-build
      
      * fix: nits
      
      * fix: using CommonBase in DeployImplementations.s.sol.
      
      * op-chain-ops: pass superchain proxy admin address as input to deployments script
      
      ---------
      Co-authored-by: default avatarMatt Solomon <matt@mattsolomon.dev>
      Co-authored-by: default avatarprotolambda <proto@protolambda.com>
      6cf35daa
    • Axel Kingsley's avatar
      Interop: SuperSystem for E2E Tests (#11850) · 5e14a615
      Axel Kingsley authored
      * op-e2e: interop test setup (work in progress)
      
      * op-e2e: interop test setup
      
      * organization and comment updates
      
      * refactor creation code into WIP system2
      
      * save secrets per L2
      
      * Add SuperSystem Interface ; Add Users and Transactions
      
      * Further Refactoring ; Fix Test
      
      * Add Supervisor
      
      * Add Supervisor Client
      
      * Comment out Proposer
      
      * Add AddL2RPC to Supervisor Client
      
      * Fully link Supervisor and OP Node in E2E Test
      
      * correct RPC call supervisor_checkBlock
      
      * Make EOF acceptable for backend check
      
      * final structure names
      
      * Change unused functions to _ for linter
      
      * fix import order
      
      * Add Github Issue Numbers to TODOs
      
      * tynes comments: add World Resource as configurable
      
      ---------
      Co-authored-by: default avatarprotolambda <proto@protolambda.com>
      5e14a615
    • Maurelian's avatar
      feat: Scaffolding for DeployAuthSystemInput (#11890) · f70248a0
      Maurelian authored
      * feat: Scaffolding for DeployAuthSystemInput
      
      * feat: Scaffolding for DeployAuthSystem Output
      
      * feat: Address feedback and remove comments
      f70248a0
    • mbaxter's avatar
      cannon: Handle preimage bounds checks consistently (#11911) · c8d6dbb4
      mbaxter authored
      * cannon: Handle preimage bounds checks consistently
      
      * cannon: Cleanup stray comment
      c8d6dbb4
    • protolambda's avatar
      interop: interopgen v2 using OPSM (#11702) · 3056348b
      protolambda authored
      * op-chain-ops/interopgen: OPSM powered interop genesis
      
      * ci: make forge scripts available to op-e2e
      
      * op-chain-ops: address interopgen review comments
      3056348b
  5. 13 Sep, 2024 17 commits
  6. 12 Sep, 2024 6 commits
    • Matthew Slipper's avatar
      Add op-deployer proof-of-concept (#11804) · e9b80ee1
      Matthew Slipper authored
      This PR adds a proof-of-concept for `op-deployer`, a CLI tool that allows declarative management of live OP Stack chains. This POC supports initializing the declarative chain config (called an "intent") and deploying the Superchain smart contracts using the OP Stack Manager.
      
      An example intent for a Sepolia chain looks like this:
      
      ```toml
      l1ChainID = 11155111
      useFaultProofs = true
      useAltDA = false
      fundDevAccounts = true
      contractArtifactsURL = "file:///Users/matthewslipper/dev/optimism/packages/contracts-bedrock/forge-artifacts"
      
      [superchainRoles]
        proxyAdminOwner = "0xb9cdf788704088a4c0191d045c151fcbe2db14a4"
        protocolVersionsOwner = "0xb910764be39c84d572ff17713c615b5bfd7df650"
        guardian = "0x8c7e4a51acb17719d225bd17598b8a94b46c8767"
      ```
      
      When deployed, it produces a state file that looks like this:
      
      ```json
      {
        "version": 1,
        "appliedIntent": {
          "l1ChainID": 11155111,
          "superchainRoles": {
            "proxyAdminOwner": "0xb9cdf788704088a4c0191d045c151fcbe2db14a4",
            "protocolVersionsOwner": "0xb910764be39c84d572ff17713c615b5bfd7df650",
            "guardian": "0x8c7e4a51acb17719d225bd17598b8a94b46c8767"
          },
          "useFaultProofs": true,
          "useAltDA": false,
          "fundDevAccounts": true,
          "contractArtifactsURL": "file:///Users/matthewslipper/dev/optimism/packages/contracts-bedrock/forge-artifacts",
          "chains": null
        },
        "superchainDeployment": {
          "proxyAdminAddress": "0x54a6088c04a7782e69b5031579a1973a9e3c1a8c",
          "superchainConfigProxyAddress": "0xc969afc4799a9350f9f05b60748bc62f2829b03a",
          "superchainConfigImplAddress": "0x08426b74350e7cba5b52be4909c542d28b6b3962",
          "protocolVersionsProxyAddress": "0x212a023892803c7570eb317c77672c8391bf3dde",
          "protocolVersionsImplAddress": "0x2633ac74edb7ae1f1b5656e042285015f9ee477d"
        }
      }
      ```
      
      To use `op-deployer`, run `op-deployer init --dev --l1-chain-id <chain-id>`. This will initialize a deployment intent using the development keys in the repo. Then, run `op-deployer apply --l1-rpc-url <l1-rpc> --private-key <deployer-private-key>` to apply the deployment.
      
      - The contracts deployment is performed by the local Go/Forge tooling.
      - Upgrades of the contracts (i.e. modifying them after deploying the contracts afresh) is not currently supported. This will be supported in the future.
      - The rest of the pipeline (i.e., deploying L2s and generating genesis files) is not included in this PR to keep it smaller and allow us to get buy-in on the fundamental concepts behind `op-deployer` before further implementation.
      e9b80ee1
    • Matthew Slipper's avatar
    • Sebastian Stammler's avatar
    • Sebastian Stammler's avatar
    • smartcontracts's avatar
      fix: do not delete test data directory (#11869) · 0260adb1
      smartcontracts authored
      Our "just clean" command was deleting the entirety of .testdata
      which gets in several scripts now. We don't actually want to
      delete the entirety of .testdata, we want to delete anything
      inside of it (except for the gitkeep file).
      0260adb1
    • AgusDuha's avatar
      feat: introduce OptimismSuperchainERC20Factory (#11617) · 232c54d4
      AgusDuha authored
      * test: add L2 standard bridge interop unit tests (#13)
      
      * test: add L2 standard bridge interop unit tests
      
      * fix: add tests natspec
      
      * fix: unit tests fixes
      
      * fix: super to legacy tests failing
      
      * fix: mock and expect mint and burn
      
      * fix: add generic factory interface (#14)
      
      * test: add L2 standard bridge interop unit tests
      
      * fix: add tests natspec
      
      * fix: add generic factory interface
      
      * feat: modify OptimismMintableERC20Factory for convert (#17)
      
      * test: add L2 standard bridge interop unit tests
      
      * fix: add tests natspec
      
      * fix: add generic factory interface
      
      * feat: modify OptimismMintableERC20Factory for convert
      
      * fix: use only a public function for create3
      
      * feat: rollback interop factory, modify legacy one
      
      * fix: delete local token return variable
      
      * fix: PR fixes
      
      * feat: add superchain erc20 factory implementation (#23)
      
      * feat: add superchain erc20 factory implementation
      
      * fix: remove createX comments
      
      * test: add superchain erc20 factory tests (#25)
      
      * test: add superchain erc20 factory tests
      
      * test: add erc20 asserts
      
      * test: fix expect emit
      
      * fix: remove comments
      
      * feat: add constructor to superchain ERC20 beacon (#34)
      
      * test: remove factory predeploy etch
      
      ----------
      Co-authored-by: default avatar0xng <ng@defi.sucks>
      Co-authored-by: default avatar0xParticle <particle@defi.sucks>
      Co-authored-by: default avatargotzenx <78360669+gotzenx@users.noreply.github.com>
      
      * fix: set an arbitrary address for superchain erc20 impl
      
      * fix: deploy a proxy for the beacon on genesis (#45)
      
      
      ---------
      Co-authored-by: default avatar0xng <ng@defi.sucks>
      
      * fix: conflicts and imports
      
      * fix: interfaces
      
      * chore: add .testdata
      
      * fix: adding back .testdata to gitignore
      
      * fix: new conflicts from ci improvements
      
      ---------
      Co-authored-by: default avatar0xng <ng@defi.sucks>
      Co-authored-by: default avatar0xParticle <particle@defi.sucks>
      Co-authored-by: default avatargotzenx <78360669+gotzenx@users.noreply.github.com>
      Co-authored-by: default avatarDisco <131301107+0xDiscotech@users.noreply.github.com>
      232c54d4