This issue tracks the work to implement the MVP for #230
The main goal is to allow us to test the new commit-reveal approach for solver competition (which is required for RFQ support) with the existing solvers with minimal "time to market". This obviously means that the MVP will not be structurally identical to the final vision. Let's discuss the road to the MVP and what still has to change afterwards.
Road to MVP
[x] implement basic structure of new Driver component
[x] implement multiplexing logic using the new Driver component (spawn a single pod which behaves like multiple drivers)
[x] instantiate external solvers as HttpSolvers
[x] instantiate SolutionSubmitter
[x] implement component making a dyn Solver compatible with commit-reveal logic
[ ] flesh out Auction preparation logic in Driver (sanity checks, liquidity collection)
[ ] flesh out Settlement verification logic in Driver (simulation, token conservation, limit price check)
[ ] copy over submission logic
Follow up work for final vision
[ ] move each solver into its own binary (this improves separation of concerns for CLI arguments)
[ ] move commit-reveal compatibility component into each solve
[ ] move liquidity collection into each solver
[ ] possibly drop multiplexing logic (it's not supposed to be used but also doesn't really hurt)
This issue tracks the work to implement the MVP for #230
The main goal is to allow us to test the new commit-reveal approach for solver competition (which is required for RFQ support) with the existing solvers with minimal "time to market". This obviously means that the MVP will not be structurally identical to the final vision. Let's discuss the road to the MVP and what still has to change afterwards.
Road to MVP
Driver
componentDriver
component (spawn a single pod which behaves like multiple drivers)HttpSolver
sSolutionSubmitter
dyn Solver
compatible with commit-reveal logicAuction
preparation logic inDriver
(sanity checks, liquidity collection)Settlement
verification logic inDriver
(simulation, token conservation, limit price check)Follow up work for final vision