#![deny(missing_docs)]
pub mod algorithm;
pub mod derived;
pub mod encoding;
pub mod feed;
pub(crate) mod graph;
pub mod price_guard;
pub mod solver;
pub mod types;
pub mod worker_pool;
pub mod worker_pool_router;
pub use algorithm::{Algorithm, AlgorithmConfig, AlgorithmError, MostLiquidAlgorithm};
pub use derived::computation::ComputationRequirements;
pub use price_guard::{
config::PriceGuardConfig,
provider::{ExternalPrice, PriceProvider, PriceProviderError},
};
pub use solver::{FyndBuilder, PoolConfig, Solver, SolverBuildError, SolverParts, WaitReadyError};
pub use types::{
BlockInfo, ClientFeeParams, ComponentId, EncodingOptions, FeeBreakdown, Order, OrderQuote,
OrderSide, OrderValidationError, PermitDetails, PermitSingle, Quote, QuoteOptions,
QuoteRequest, QuoteStatus, Route, RouteValidationError, SingleOrderQuote, SolveError,
SolveResult, Swap, TaskId, Transaction, UserTransferType,
};
pub use worker_pool::{
pool::{WorkerPool, WorkerPoolBuilder, WorkerPoolConfig},
registry::UnknownAlgorithmError,
TaskQueueHandle,
};
pub use worker_pool_router::{config::WorkerPoolRouterConfig, SolverPoolHandle, WorkerPoolRouter};