• Matthew Slipper's avatar
    Add support for pre-existing OPSM (#12099) · 06f1406e
    Matthew Slipper authored
    * Add support for pre-existing OPSM
    
    This PR adds support for deploying OP Chains against an existing OPSM deployment. It adds a new `OPSMAddress` field to the intent to hold the address of the OPSM. When specified, the `ContractsRelease` field is ignored. In the future, this field will be pulled from the Superchain Registry.
    
    Since the Go Forge tooling doesn't support forking yet, the deployment is performed using a raw call to `eth_sendRawTransaction`. Data about the Superchain deployments is pulled from the OPSM itself via `eth_call`. To expose the deployment output following the Superchain deployment, I updated the `Deployed` event to emit the ABI-encoded bytes of the `DeployOutput` struct to avoid stack-too-deep errors. This isn't ideal, but at least it gets me all of the fields I need in a log event without more invasive changes.
    
    * chore: add version identifer to Deployed event
    
    * chore: emit msg.sender in Deployed event
    
    * Fix merge issues
    
    * test: fix specs test
    
    * semver-lock
    
    * code review updates
    
    ---------
    Co-authored-by: default avatarMatt Solomon <matt@mattsolomon.dev>
    06f1406e
Name
Last commit
Last update
..
interfaces Loading commit data...
DataAvailabilityChallenge.sol Loading commit data...
DelayedVetoable.sol Loading commit data...
L1CrossDomainMessenger.sol Loading commit data...
L1ERC721Bridge.sol Loading commit data...
L1StandardBridge.sol Loading commit data...
L2OutputOracle.sol Loading commit data...
OPContractsManager.sol Loading commit data...
OPContractsManagerInterop.sol Loading commit data...
OptimismPortal.sol Loading commit data...
OptimismPortal2.sol Loading commit data...
OptimismPortalInterop.sol Loading commit data...
ProtocolVersions.sol Loading commit data...
ResourceMetering.sol Loading commit data...
SuperchainConfig.sol Loading commit data...
SystemConfig.sol Loading commit data...
SystemConfigInterop.sol Loading commit data...