#![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))]
pub use cowprotocol_appdata::app_data;
#[cfg(feature = "subgraph")]
pub use cowprotocol_orderbook::subgraph;
pub use cowprotocol_orderbook::{error, eth_flow, order_book, quote_amounts, transport};
pub use cowprotocol_primitives::{chain, composable, contracts, domain, multiplexer};
pub use cowprotocol_signing::{cancellation, order, signature, signing_scheme};
pub use crate::{
app_data::{
AppDataCid, AppDataCidError, AppDataDoc, AppDataFlashloan, AppDataHash, AppDataHooks,
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, Hook,
LATEST_APP_DATA_VERSION, MAX_CID_STR_LEN, PreparedAppData, app_data_cid,
app_data_hash_from_cid, parse_app_data_cid,
},
cancellation::{
OrderCancellation, OrderCancellations, SignedOrderCancellation, SignedOrderCancellations,
cancellation_typed_data,
},
chain::{Chain, UnsupportedChain},
composable::{
COMPOSABLE_COW, CURRENT_BLOCK_TIMESTAMP_FACTORY, ComposableCoW, ConditionalOrderParams,
ConditionalOrderRevert, EXTENSIBLE_FALLBACK_HANDLER, IConditionalOrder, PayloadStruct,
Proof, ProofLocation, TWAP_HANDLER, TwapData, TwapDataBuilder, TwapDuration, TwapError,
TwapStart, TwapStaticInput, decode_conditional_order_revert, forwarder_signature,
safe_handler_signature,
},
contracts::{
CoWSwapEthFlow, CoWSwapOnchainOrders, ERC20, EthFlowOrderData, GPV2_ORDER_TYPE_HASH,
GPV2_SETTLEMENT, GPV2_VAULT_RELAYER, GPv2OrderData, GPv2Settlement, OnchainSignature,
OnchainSigningScheme, WETH9,
},
domain::{
DOMAIN_NAME, DOMAIN_VERSION, DomainSeparator, eip712_message_hash, settlement_domain,
},
error::{ApiError, Error, OrderbookApiErrorType, Result, RetryHint, VerifyOwnerError},
eth_flow::{ETH_FLOW_PRODUCTION, ETH_FLOW_STAGING, EthFlowOrder},
multiplexer::{
MerkleProof, Multiplexer, MultiplexerError, conditional_order_leaf, verify_proof,
},
order::{
BUY_ETH_ADDRESS, BuyTokenDestination, OrderClass, OrderData, OrderKind, OrderUid,
OrderUidParseError, OrderUidParts, SellTokenSource, order_typed_data, parse_order_uid,
},
order_book::{
AppDataDocument, Auction, AuctionStatus, AuctionStatusType,
DEFAULT_ORDER_VALID_TO_MAX_HORIZON_SECS, NativePrice, Order, OrderBookApi, OrderCreation,
OrderCreationBuilder, OrderQuote, OrderQuoteResponse, OrderStatus, OrderSubmission,
PriceQuality, QuoteAppData, QuoteRequest, QuoteRequestBuilder, QuotedOrder,
ReadyQuoteRequestBuilder, TokenMetadata, TotalSurplus, Trade,
},
quote_amounts::{
Amounts as QuoteAmounts, DEFAULT_SLIPPAGE_BPS, OrderCosts, ProtocolFeeBps,
QuoteAmountsAndCosts, QuoteAmountsParams, QuoteCosts,
},
signature::{
EcdsaSignature, Recovered, Signature, SignatureError, ecdsa_from_components, ecdsa_recover,
parse_ecdsa, sign_ecdsa, sign_ecdsa_async, signing_message,
},
signing_scheme::{EcdsaSigningScheme, SigningScheme},
transport::{HttpMethod, HttpRequest, HttpResponse, HttpTransport},
};
#[cfg(all(feature = "http-client", target_arch = "wasm32"))]
pub use crate::transport::FetchTransport;
#[cfg(all(feature = "http-client", not(target_arch = "wasm32")))]
pub use crate::transport::ReqwestTransport;
#[cfg(feature = "http-client")]
pub use crate::{order_book::OrderBookApiBuilder, transport::DefaultTransport};
pub mod prelude {
pub use crate::{
AppDataDoc, AppDataHash, Chain, EMPTY_APP_DATA_HASH, EMPTY_APP_DATA_JSON, Error,
OrderBookApi, OrderCreation, OrderCreationBuilder, OrderData, OrderKind,
OrderQuoteResponse, OrderSubmission, OrderUid, PriceQuality, QuoteAppData, QuoteRequest,
QuoteRequestBuilder, QuotedOrder, ReadyQuoteRequestBuilder, Result, Signature,
SigningScheme, settlement_domain,
};
#[cfg(feature = "http-client")]
pub use crate::OrderBookApiBuilder;
pub use crate::EcdsaSigningScheme;
}
#[cfg(feature = "subgraph")]
pub use crate::subgraph::{
ChainSubgraphUnavailable, DailyTotal, GraphQlError, HourlyTotal, SubgraphClient, SubgraphError,
Totals,
};