fix(derive): Pipeline#129
Conversation
|
Struggled with iteration over previous stages due to conflicting nested associated trait types. So I've modified each stage's reset to first call the previous stage's reset and bubble up any errors there. This follows the reference implementation but optimistically resets all stages instead of iterating over each and resetting in order. See: https://github.com/ethereum-optimism/optimism/blob/develop/op-node/rollup/derive/pipeline.go#L93-L96 If we need to implement iterative reset, we can have the |
|
Additionally, the current pipeline gives ownership of each stage to the successive stage. This means the top-level pipeline object or "stage stack" wrapper does not have a handle to the concrete |
|
I don't really like either of these introduced changes and would like to think through a simpler solution that also doesn't require a large refactor of the stage nesting architecture of the current pipeline. |
fix(derive): Trait Abstractions and Pipeline Builder
|
Merged pr handled the above questions 😄 |
Description
This is an ugly refactor of the derivation pipeline builder using a simple, concrete online stack of the stages.