@@ -230,57 +230,14 @@ Navigate to [barn.cow.fi/](https://barn.cow.fi/) and place a tiny (real) order.
230230
231231## Project Structure
232232
233- ```
234- src/
235- ├── _server.py # Main server entry point
236- ├── api/ # API endpoints and routing
237- │ ├── app.py # Main FastAPI application
238- │ ├── healthz.py # Health check endpoint
239- │ ├── metrics.py # Metrics collection
240- │ └── routers/ # API routers
241- │ ├── baseline.py # Baseline solver router
242- │ └── mysolver.py # MySolver router
243- ├── domain/ # Domain models and business logic
244- │ ├── auction.py # Auction model
245- │ ├── solution.py # Solution model
246- │ ├── order.py # Order model
247- │ ├── liquidity.py # Liquidity model
248- │ └── common.py # Common domain types
249- ├── engines/ # Solver engine implementations
250- │ ├── base.py # Base engine protocol
251- │ ├── baseline/ # Baseline solver engine
252- │ │ ├── engine.py # Baseline implementation
253- │ │ ├── pools.py # Pool handling and AMM integration
254- │ │ ├── interactions.py # Interaction encoding for DEXs
255- │ │ ├── price_finder.py # Price calculation and clearing
256- │ │ ├── path_finder.py # Path finding algorithms
257- │ │ └── solution_builder.py # Solution construction
258- │ └── mysolver/ # Custom solver engine
259- │ └── engine.py # MySolver implementation
260- ├── infra/ # Infrastructure and configuration
261- │ ├── settings.py # Application settings
262- │ ├── logging.py # Logging configuration
263- │ ├── metrics.py # Metrics infrastructure
264- │ ├── di.py # Dependency injection
265- │ └── cli.py # Command line interface
266- ├── utils/ # Utility functions
267- │ ├── bytes_conv.py # Bytes conversion utilities
268- │ ├── hexbytes.py # Hex bytes utilities
269- │ ├── mathx.py # Math utilities
270- │ ├── amm_math.py # AMM mathematical functions
271- │ ├── serialize.py # Serialization utilities
272- │ └── u256.py # U256 utilities
273- └── tests/ # Test suite
274- ├── test_api_health_metrics.py
275- ├── test_api_solve_contract.py
276- ├── test_baseline_engine.py
277- ├── test_config.py
278- └── test_multi_engine.py
279-
280- data/
281- ├── small_example.json # Example auction data
282- └── large_example.json # Larger example auction data
283- ```
233+ The solver follows a clean, modular architecture:
234+
235+ - ** ` src/domain/ ` ** - Business models (auction, order, solution, liquidity)
236+ - ** ` src/engines/ ` ** - Solver implementations (baseline, custom)
237+ - ** ` src/api/ ` ** - FastAPI endpoints and routing
238+ - ** ` src/infra/ ` ** - Configuration, logging, metrics
239+ - ** ` src/utils/ ` ** - Shared utilities (math, serialization)
240+ - ** ` src/tests/ ` ** - Test suite
284241
285242## Non-Production Ready Parts
286243
0 commit comments