You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
[0.4.0]
Added
BOLT12 invoice support in submarine_cooperative_claim. New LightningInvoice enum (Bolt11 / Bolt12) in util::invoice, plus a util::bolt12::parse_bolt12_invoice helper.
get_tx(txid) on the BitcoinClient and LiquidClient traits, implemented for both Electrum and Esplora backends.
Optional transaction: Option<TransactionOut> field on ClaimDetails and RefundDetails, plus a new TransactionOut { id, vout } struct, to support the extended swap-restore API response.
Python bindings: BtcLikeTransaction.hex() and BtcLikeTransaction.txid().
Changed
HTTP error reporting in BoltzApiClientV2 unified across GET / POST / PATCH. Non-success responses now surface as Error::HTTPStatusNotSuccess(StatusCode, Value) carrying both status and the server-returned body (JSON or text), instead of Error::HTTP(String) with only the error field.
201 Created responses are now treated as success.
macros is published as boltz-client-macros = "1.0.0" on crates.io; the workspace no longer depends on it by path.
Boltz regtest submodule bumped; submarine integration tests updated to cooperatively claim mainchain swaps (the new backend defers claims).
CI now builds the language bindings.
Removed the "early alpha" warning from the crate docs.
Dependencies
Added lightning = "0.2.2" (for BOLT12 parsing).
Bumped env_logger from 0.7 to 0.11.8.
Locked wasm-pack version in tooling.
Breaking
ClaimDetails and RefundDetails gained a new field; struct-literal construction of these types must be updated.
Boltz HTTP failures previously returned Error::HTTP(String); they now return Error::HTTPStatusNotSuccess(StatusCode, Value). The Error::HTTP variant still exists for other call sites, so callers that pattern-matched it for Boltz errors will silently stop matching.