Skip to main content

Crate cow_orderbook

Crate cow_orderbook 

Source
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

ModulePurpose
apiOrderBookApi async HTTP client with typed endpoint methods
typesRequest/response structs (OrderQuoteRequest, Order, Trade, …)
quote_amountsFee 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
CoW Protocol 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§

OnchainOrderData
On-chain placement metadata for orders submitted directly on-chain (as opposed to the off-chain API).
RateLimiter
A shared token-bucket rate limiter.
RetryPolicy
Exponential-backoff retry policy for transient HTTP failures.

Constants§

DEFAULT_RETRY_STATUS_CODES
HTTP status codes that the upstream TypeScript SDK retries on. Mirrors STATUS_CODES_TO_RETRY in packages/order-book/src/request.ts.