Expand description
cow-orderbook — Layer 4 CoW Protocol orderbook API client for the CoW Protocol SDK.
This crate provides the HTTP client (OrderBookApi) for interacting
with the CoW Protocol orderbook REST API, plus all request/response
types and quote-amount calculation helpers.
§Submodules
| Module | Purpose |
|---|---|
api | OrderBookApi async HTTP client with typed endpoint methods |
types | Request/response structs (OrderQuoteRequest, Order, Trade, …) |
quote_amounts | Fee breakdown, slippage, and cost-stage calculations |
§Quick start
use cow_chains::{Env, SupportedChainId};
use cow_orderbook::OrderBookApi;
let api = OrderBookApi::new(SupportedChainId::Mainnet, Env::Prod);
let version = api.get_version().await?;
println!("orderbook version: {version}");Re-exports§
pub use client_trait::OrderbookClient;pub use api::OrderBookApi;pub use api::mock_get_order;pub use api::request;pub use quote_amounts::PartnerFeeResult;pub use quote_amounts::ProtocolFeeAmountParams;pub use quote_amounts::QuoteAmounts;pub use quote_amounts::QuoteAmountsAndCostsParams;pub use quote_amounts::QuoteAmountsAndCostsResult;pub use quote_amounts::QuoteCosts;pub use quote_amounts::QuoteFeeComponent;pub use quote_amounts::QuoteNetworkFee;pub use quote_amounts::QuoteOrderParams;pub use quote_amounts::get_protocol_fee_amount;pub use quote_amounts::get_quote_amounts_after_partner_fee;pub use quote_amounts::get_quote_amounts_after_slippage;pub use quote_amounts::get_quote_amounts_and_costs;pub use quote_amounts::transform_order;pub use types::AppDataObject;pub use types::Auction;pub use types::CompetitionAuction;pub use types::CompetitionOrderStatus;pub use types::CompetitionOrderStatusKind;pub use types::EthflowData;pub use types::GetOrdersRequest;pub use types::GetTradesRequest;pub use types::InteractionData;pub use types::Order;pub use types::OrderCancellations;pub use types::OrderClass;pub use types::OrderCreation;pub use types::OrderInteractions;pub use types::OrderQuoteRequest;pub use types::OrderQuoteResponse;pub use types::OrderStatus;pub use types::OrderUid;pub use types::QuoteData;pub use types::QuoteSide;pub use types::SolverCompetition;pub use types::SolverExecution;pub use types::SolverSettlement;pub use types::TotalSurplus;pub use types::Trade;pub use types::is_eth_flow_order;
Modules§
- api
CoWProtocol orderbook HTTP client.- client_
trait - Abstraction over the orderbook HTTP API for dependency injection.
- quote_
amounts - Quote amount calculations: fee breakdown, slippage, and cost stages.
- rate_
limit - Client-side throttling and retry policy for the orderbook HTTP client.
- types
- Orderbook API request and response types.
Structs§
- Onchain
Order Data - On-chain placement metadata for orders submitted directly on-chain (as opposed to the off-chain API).
- Rate
Limiter - A shared token-bucket rate limiter.
- Retry
Policy - Exponential-backoff retry policy for transient HTTP failures.
Constants§
- DEFAULT_
RETRY_ STATUS_ CODES - HTTP status codes that the upstream
TypeScriptSDK retries on. MirrorsSTATUS_CODES_TO_RETRYinpackages/order-book/src/request.ts.