• Joshua Gutow's avatar
    ops: Use starting L1 Block for timestamp everywhere (#3085) · 9e976947
    Joshua Gutow authored
    * ops: Use starting L1 Block for timestamp everywhere
    
    This transitions the starting timestamp to a new flow. The L2 rollup
    is anchored on a L1 block. The L2 genesis block & rollup config use
    the timestamp of the L1 start block as the their time. Properly
    threading this through the HH tasks is a little tricky but possible.
    This is because we have two flows: creating a L1 network & placing
    the rollup on that and creating a rollup on an existing L1 network
    (like goerli). There is still a L1 starting time for the first flow.
    
    This also fixes a circular dependcy that previously existed. The
    starting timestamp was provided and served as the starting timestamp
    for the L1 genesis & the "L2 Starting Time" in the L2 Output Oracle.
    The actual L2 genesis & rollup start time were based on when the
    Optimism Portal contract was deployed (after the L2 Output Oracle
    contract must have been deployed). The rollup is resilient to being
    started before contracts are fully deployed, so using a specific
    L1 block as the start is the cleanest solution I have seen.
    
    * Fix lint
    
    * Update packages/contracts-bedrock/deploy-config/goerli.ts
    
    * Add undefined checks to l1StartingBlockTag
    
    * lint
    
    * fix checks
    Co-authored-by: default avatarMatthew Slipper <me@matthewslipper.com>
    Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
    9e976947
Name
Last commit
Last update
.changeset Loading commit data...
.circleci Loading commit data...
.github Loading commit data...
.husky Loading commit data...
.vscode Loading commit data...
.yarn/releases Loading commit data...
batch-submitter Loading commit data...
bss-core Loading commit data...
gas-oracle Loading commit data...
indexer Loading commit data...
infra/op-replica Loading commit data...
integration-tests Loading commit data...
l2geth Loading commit data...
l2geth-exporter Loading commit data...
op-batcher Loading commit data...
op-bindings Loading commit data...
op-e2e Loading commit data...
op-exporter Loading commit data...
op-node Loading commit data...
op-proposer Loading commit data...
ops Loading commit data...
ops-bedrock Loading commit data...
packages Loading commit data...
patches Loading commit data...
proxyd Loading commit data...
specs Loading commit data...
state-surgery Loading commit data...
technical-documents Loading commit data...
teleportr Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.eslintrc.js Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.markdownlint.json Loading commit data...
.nvmrc Loading commit data...
.prettierrc.js Loading commit data...
.semgrepignore Loading commit data...
.yarnrc Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
SECURITY.md Loading commit data...
cloudbuild.yaml Loading commit data...
go.work Loading commit data...
go.work.sum Loading commit data...
lerna.json Loading commit data...
package.json Loading commit data...
tsconfig.json Loading commit data...
yarn.lock Loading commit data...