• Adrian Sutton's avatar
    op-node: Add option to enable safe head history database (#9575) · 80a122ac
    Adrian Sutton authored
    * op-node: Add option to enable safe head history database.
    
    Currently it just logs the information and has no actual database.
    
    * op-node: Introduce pebble db to store safe head updates
    
    * op-node: Reset the pipeline if safe head updates fail to be recorded
    
    * go mod tidy
    
    * op-node: Truncate when L1 head is reduced.
    
    * op-node: Record accurate safe head data when restarting
    
    * op-node: Ensure the latest safe head update is reset on a pipeline reset.
    
    * op-node: Improve thread safety of safedb
    
    * op-node: Add L2 block number to stored data
    
    * op-node: Add API method to retrieve safe head at an L1 block number
    
    * op-node: Tidy up key handling in safedb.
    
    * op-node: Use an explicit reset event to clear entries invalidated by a pipeline reset
    
    Add action test to confirm reorgs are correctly handled.
    
    * op-node: Undo changes to start. We always step the safe head back at least one block.
    
    * op-node: Simplify error message when requested record is prior to start of history
    
    * op-node: Improve log message
    
    * op-node: Tidy up
    
    * op-node: Include L1 block number in response.
    
    * op-node: Add missing AssertExpectations
    
    * op-node: Verify key prefix
    80a122ac