Skip to content

0.4.0

Latest

Choose a tag to compare

@i5hi i5hi released this 18 May 11:25
· 1 commit to trunk since this release
06e95d2

[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.