-
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:
Matthew Slipper <me@matthewslipper.com> Co-authored-by:
mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
9e976947