Additive, fully source-compatible release (no breaking changes — existing call sites compile and behave identically).
New: fee-aware proof selection
CashuSwift.selectProofs(_:targetAmount:mint:unit:purpose:policy:denominationTarget:)— exact subset-sum for fee-free direct sends, and a fee-aware Pareto bounded-knapsack for swaps/melts. Identity-preserving (returns the caller's own proof values).ProofSelectionResult/ProofSelectionPolicy/ProofSelectionPurpose/ProofSelectionKind/ProofSelectionOptimality/ProofSelectionError.
New: denomination-distribution planning + offline send
DenominationTarget,idealDistribution(balance:…),preferredDistribution(forAmount:retained:…),denominationGap(for:…).offlineToken(for:mint:memo:)(synchronous, no mint round-trip) andcanSendOffline(_:amount:mint:unit:).- Optional
preferredKeepDistribution/preferredReturnDistributionhooks onsend/receive/swap(all default to nil = prior base-2 behaviour).