#![cfg_attr(not(test), warn(unused_crate_dependencies))]
#![forbid(unsafe_code)]
#![warn(missing_docs, rustdoc::missing_crate_level_docs)]
#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
#[cfg(target_arch = "wasm32")]
use getrandom as _;
pub mod app_data;
pub mod bytes_hex;
pub mod cancellation;
pub mod chain;
pub mod composable;
pub mod contracts;
pub mod domain;
pub mod error;
pub mod eth_flow;
pub mod multiplexer;
pub mod order;
pub mod order_book;
pub mod quote_amounts;
pub mod signature;
pub mod signing_scheme;
#[cfg(feature = "subgraph")]
pub mod subgraph;
pub mod trading;
pub use crate::{
app_data::{
AppDataCid, AppDataCidError, AppDataDoc, AppDataFlashloan, AppDataHash, AppDataMetadata,
AppDataOrderClass, AppDataPartnerFee, AppDataQuote, AppDataReferrer, AppDataReplacedOrder,
AppDataUtm, AppDataWrapperCall, COW_RS_APP_CODE, COW_RS_WASM_APP_CODE, EMPTY_APP_DATA_HASH,
EMPTY_APP_DATA_JSON, FeePolicy, LATEST_APP_DATA_VERSION,
},
cancellation::{OrderCancellation, OrderCancellations, SignedOrderCancellations},
chain::{Chain, UnsupportedChain},
composable::{
COMPOSABLE_COW, CURRENT_BLOCK_TIMESTAMP_FACTORY, ComposableCoW, ConditionalOrderParams,
EXTENSIBLE_FALLBACK_HANDLER, PollOutcome, Proof, TWAP_HANDLER, TwapData, TwapDuration,
TwapError, TwapStart, TwapStaticInput,
},
contracts::{
CoWSwapOnchainOrders, ERC20, GPV2_SETTLEMENT, GPV2_VAULT_RELAYER, GPv2OrderData,
GPv2Settlement, OnchainSignature, OnchainSigningScheme, WETH9,
},
domain::{DomainSeparator, hashed_eip712_message, hashed_ethsign_message},
error::{ApiError, Error, Result},
eth_flow::{ETH_FLOW_PRODUCTION, ETH_FLOW_STAGING, EthFlowOrder},
multiplexer::{Multiplexer, MultiplexerError, conditional_order_leaf, verify_proof},
order::{
BUY_ETH_ADDRESS, BuyTokenDestination, Order, OrderBuilder, OrderClass, OrderData,
OrderKind, OrderStatus, OrderUid, SellTokenSource,
},
order_book::{
AppDataDocument, Auction, AuctionStatus, AuctionStatusType, NativePrice, OrderBookApi,
OrderCreation, OrderQuote, OrderQuoteResponse, PriceQuality, QuoteRequest, TokenMetadata,
TotalSurplus, Trade,
},
quote_amounts::{
Amounts as QuoteAmounts, QuoteAmountsAndCosts, QuoteAmountsParams, QuoteCosts,
},
signature::{EcdsaSignature, Recovered, Signature, SignatureError},
signing_scheme::{EcdsaSigningScheme, SigningScheme},
trading::{PostedSwapOrder, SwapOrder, TradingClient},
};
#[cfg(feature = "subgraph")]
pub use crate::subgraph::{
ChainSubgraphUnavailable, DailyTotal, GraphQlError, HourlyTotal, SubgraphClient, SubgraphError,
Totals,
};