#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc = include_str!("../README.md")]
#![cfg_attr(
test,
allow(
clippy::indexing_slicing,
clippy::panic,
reason = "tests rely on panic-on-failure for simpler assertions"
)
)]
#[cfg(feature = "telemetry")]
use tracing as _;
#[cfg(feature = "telemetry")]
use tracing_core as _;
pub mod amount;
pub mod chain;
pub mod error;
pub mod error_reason;
pub mod extensions;
pub mod facilitator;
pub mod hooks;
pub mod payment;
pub mod resource_server;
pub mod scheme;
pub mod wire;
pub use resource_server::{ResourceServer, WirePaymentPayload};
#[cfg(feature = "cache")]
#[cfg_attr(docsrs, doc(cfg(feature = "cache")))]
pub mod cache;
#[cfg(feature = "metrics")]
#[cfg_attr(docsrs, doc(cfg(feature = "metrics")))]
pub mod metrics;
pub use error::{ClientError, FacilitatorError, SettlementError, VerificationError};
pub use error_reason::{AsPaymentProblem, ErrorReason, PaymentProblem};
pub use facilitator::{BoxFuture, DynFacilitator, Facilitator};
pub use hooks::{
DynFacilitatorHooks, FacilitatorHooks, FailureRecovery, HookDecision, HookedFacilitator,
SettleContext as HookSettleContext, VerifyContext as HookVerifyContext,
};
#[cfg(test)]
use proptest as _;