#![forbid(unsafe_code)]
#![cfg_attr(docsrs, feature(doc_cfg))]
pub mod api;
#[cfg(feature = "evm")]
pub mod builder;
pub mod error;
pub mod evm;
#[cfg(feature = "evm")]
pub mod evm_adapter;
pub mod http;
#[cfg(feature = "lightwalletd")]
pub mod lightwalletd;
pub mod maker;
pub mod price;
pub mod records;
pub mod runtime;
mod status;
pub mod store;
pub mod taker;
pub mod zcash;
#[cfg(test)]
mod testutil;
#[cfg(all(doctest, feature = "evm", feature = "server", feature = "client", feature = "price-feed"))]
#[doc = include_str!("../README.md")]
pub struct ReadmeDoctests;
pub use api::MakerApi;
#[cfg(feature = "evm")]
pub use builder::{create_maker, create_taker};
pub use error::{Error, Result};
pub use evm::{
AdaptorEvmClient, AdaptorOutcome, ChainClients, ChainInfo, EvmClient, EvmError, EvmLock, HtlcOutcome,
RelayerClients, SentTx, TakerChain, TxHash, TxStatus, VerifierClients,
};
#[cfg(feature = "server")]
pub use http::{ClientAddress, CorsOrigins, RateLimit, ServerOptions, maker_router, serve, serve_with_shutdown};
#[cfg(feature = "client")]
pub use http::{HttpMakerApi, HttpMakerApiOptions};
#[cfg(feature = "lightwalletd")]
pub use lightwalletd::{Lightwalletd, LightwalletdOptions};
pub use maker::{AfterClaim, Inventory, Maker, MakerConfig, MakerStage, MakerSwapRecord, MakerUpdateHook, public_view};
pub use paralock_core;
pub use paralock_core::protocol::{
ClaimLimits, DEVNET_POLICY, EvmChain, Hex, MAINNET_POLICY, MakerLimits, ParalockError, ParalockErrorCode,
PrivacyOptions, Quote, QuoteLimits, Swap, SwapMode, SwapStatus, TimeoutPolicy, TimeoutPolicyParams,
};
pub use paralock_core::zcash::Network;
#[cfg(feature = "evm")]
pub use paralock_evm;
#[cfg(feature = "price-feed")]
pub use price::{CoinGecko, CoinGeckoOptions};
pub use price::{FixedPrice, PriceFn, PriceSource};
pub use runtime::{Clock, DEFAULT_USER_AGENT, Entropy, OsEntropy, SystemClock};
pub use status::SwapStatusExt;
pub use store::{FileStore, MemoryStore, StoreError, SwapStore};
pub use taker::{
DEFAULT_MAKER_FEE_ZAT, DEFAULT_TAKER_LIMITS, DEFAULT_TAKER_TIMEOUTS, ResumeOptions, SwapOptions, Taker,
TakerConfig, TakerLimits, TakerPriceCheck, TakerStage, TakerSwapRecord, TakerTimeouts,
};
pub use zcash::{NodeError, ZcashNode, ZcashRpc, ZcashRpcOptions};