• Joshua Gutow's avatar
    Op Node: Fix one reorg bug (#2956) · 3855d105
    Joshua Gutow authored
    The `unsafeHead` or `l2Head` is state managed between two separate
    processes: the driver state loop and the derivation pipeline. It
    is updated during a reorg, during block creation, or during p2p
    payload insertion. What happened is that during block creation
    the state loop would inform the derivation pipeline of the new
    unsafe L2 head; however it was using an old value. This would
    cause the communication back from the pipeline to use an old
    unsafe head during the setting inside the state loop. Then
    the state loop would create a new L2 block with the same L2 parent
    thus causing an inadvertent chain reorganization.
    
    This commit also reverts the very significant increase in sequencer
    drift to a more reasonable value.
    Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
    3855d105
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...
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...