Breez SDK Liquid 0.1.4
Features & Bug fixes
- Send/Receive Lightning payments
- CLI Interface
- Foreign languages bindings
- Pay BTC on-chain
- Receive via on-chain address
- LNURL-Pay
- LNURL-Withdraw
- Send to a Lightning address
What's Changed
- Definining an Interface for the First Tests by @hydra-yse in #2
- Split models and rename wallet by @hydra-yse in #11
- Add support for logging by @ok300 in #14
- Add
get_info
method to wallet by @hydra-yse in #12 - Temporarily removing wallet cache persistence by @hydra-yse in #20
- Setting claim absolute fees to constant amount by @hydra-yse in #17
- Simplify workspace layout by @ok300 in #21
- Remove unused variable by @ok300 in #22
- Simplify range validation by @ok300 in #23
- Fix receive-payment by increasing claim absolute_fee by @ok300 in #24
- Simplify readme intros by @ok300 in #27
- Add SQLite primary methods for ongoing swaps by @hydra-yse in #28
- Consolidate wallet initialization by @ok300 in #30
- Simplify cargo dependencies by @ok300 in #35
- Add CI config by @ok300 in #37
- Add requested amount field to
receive_payment
by @hydra-yse in #33 - docs: add mention of necessary sqlite3 env setup by @ok300 in #40
- Add
onchain_amount_sat
field to received swaps by @hydra-yse in #41 - Remove unused dependency: tokio by @ok300 in #46
- Add automatic database directory on wallet startup by @hydra-yse in #47
- Derive Debug for relevant structs by @ok300 in #45
- Change to blinding variant
slip77
by @ok300 in #49 - Simplify init arg by @ok300 in #50
- Default to a 12-word mnemonic by @ok300 in #51
- Consolidate constants and default init values by @ok300 in #52
- Make network a mandatory arg of init() by @ok300 in #53
- Replace
get_chain()
with aFrom
trait by @ok300 in #54 - Consolidate reverse swap amounts calculation by @ok300 in #55
- Fix processing of the init network flag by @ok300 in #57
- Consolidate reverse swap onchain amount arg by @ok300 in #58
- Bump lwk to v0.3.0 by @ok300 in #61
- Bump
boltz-client
by @ok300 in #62 - Add support for pending send by @hydra-yse in #48
- Switch to single-threaded claiming by @hydra-yse in #63
- Remove Boltz internal txid logging by @hydra-yse in #64
- Update library tests with hardcoded data by @hydra-yse in #67
- Bump boltz-client, fix fee calculation by @ok300 in #68
- Differentiate between mainnet and testnet Electrum URLs by @ok300 in #69
- Add QR code to receive command in cli by @hydra-yse in #71
- Add transaction persistence to lwk instance by @hydra-yse in #70
- Add JSON response objects to cli by @hydra-yse in #81
- Switch to persisting invoice rather than amount by @hydra-yse in #66
- Add uniffi bindings by @ok300 in #59
- cli: Add log file by @hydra-yse in #87
- CLI: Use qrcode-rs instead of qr2term by @ok300 in #88
- Use a different DB file per network by @ok300 in #91
- Address uniffi feedback by @ok300 in #90
- Add fee persistence to payments by @hydra-yse in #83
- Remove
active_address
fromWalletInfo
by @ok300 in #95 - Rename BoltzError to Generic by @ok300 in #96
- LWK cache removal: remove dependency on hash tag by @ok300 in #102
- Remove receive options from CLI by @hydra-yse in #100
- Add backup and restore functionality by @hydra-yse in #65
- Add fee calculation to payment receive by @hydra-yse in #101
- Add pre-commit hook to repo by @hydra-yse in #94
- Add Android / iOS bindings by @dangeross in #97
- Add React Native bindings by @dangeross in #98
- Add React Native package by @dangeross in #99
- Add more details to
swap_status
error by @ok300 in #106 - Bump boltz-client by @ok300 in #108
- CLI: Change log write mode to "append" by @hydra-yse in #110
- CI: build bindings, add binding tests by @ok300 in #114
- Add CI step to check RN bindings by @ok300 in #115
- Integrate boltz-client fix for swapstatus by @ok300 in #111
- Expand error message on invalid swap state by @ok300 in #112
- Rename init() to connect() by @ok300 in #119
- [frb] : Add support for Dart/Flutter bindings - Part I by @erdemyerebasmaz in #116
- Add license by @dangeross in #122
- Rename project: Rust, uniffi by @ok300 in #133
- Rename project: android, swift and react native bindings by @dangeross in #134
- Add python bindings by @dangeross in #129
- Update receive to support only payer amount by @ok300 in #131
- Add more robust resolve for pending swaps by @hydra-yse in #137
- Rename workspace members (subfolders) by @ok300 in #149
- CLI: Allow choosing custom network by @ok300 in #151
- Integrate ureq fix from Boltz Client by @ok300 in #148
- Add request, response to API methods by @ok300 in #153
- Fix ordering of default UDL fields by @dangeross in #156
- Add kotlin multiplatform bindings by @dangeross in #128
- Add CI workflows for publishing by @dangeross in #130
- [frb] : Add support for Dart/Flutter bindings - Part II by @erdemyerebasmaz in #121
- Change secp256k1-zkp source by @dangeross in #160
- Rename wallet to SDK or LiquidSdk by @ok300 in #157
- Fix BindingWallet naming by @dangeross in #163
- CI: Check Dart/Flutter bindings & run static code analysis for Dart/Flutter packages by @erdemyerebasmaz in #161
- Fix conversion of enum's in Kotlin by @dangeross in #165
- Various CI fixes by @dangeross in #162
- Set line length back to 110 on Dart projects by @erdemyerebasmaz in #167
- Upgrade
send_payment
to v2 by @hydra-yse in #171 - [Draft] Migrate receive-payment to V2 API, use WS to get status by @ok300 in #166
- [Draft] Track swap status updates via websocket event stream by @ok300 in #170
- Add refund flow and improve v2 submarine state handling by @hydra-yse in #182
- Improve submarine swap flow by @hydra-yse in #136
- Remove deprecated v1 code by @ok300 in #186
- Pattern match the linux x86_64 clang directory by @dangeross in #188
- Only build core package for Linux/Windows targets by @erdemyerebasmaz in #164
- Use P2TR address as destination when estimating fees by @ok300 in #190
- Flutter android build by @dangeross in #202
- [Flutter] Update dependencies to latest compatible by @erdemyerebasmaz in #203
- Rename bindings directories by @dangeross in #201
- Move bindings to langs directory (part 1) by @dangeross in #205
- Move bindings to langs directory (part 2) by @dangeross in #206
- Payment lifecycle by @ok300 in #184
- Uniffi: Add
list-payments
to UDL by @ok300 in #204 - Stop using singleton instance on Dart bindings by @erdemyerebasmaz in #208
- Only build core package for Linux/Windows targets by @erdemyerebasmaz in #210
- Send: fix tracking swap type by @ok300 in #217
- Send: store preimage on Complete by @ok300 in #216
- Expose
sync
through Dart bindings by @erdemyerebasmaz in #221 - Send: Retrieve and store preimage for non-cooperative claim by @ok300 in #222
- Update example app on Flutter plugin by @erdemyerebasmaz in #220
- Fix broken rust security-framework dependency by @dangeross in #225
- SDK events framework by @dangeross in #193
- Send: persist pseudo-tx after to broadcast the lockup by @ok300 in #233
- Add option to specify backup path by @hydra-yse in #228
- Fix cooperative refund and improve keypair generation by @hydra-yse in #223
- Bump
flutter_rust_bridge_codegen
to2.0.0-dev.36
and generate bindings by @erdemyerebasmaz in #237 - Async websocket handling by @dangeross in #234
- Add shutdown signal by @ok300 in #238
- Integrate shutdown signal in tokio::select by @ok300 in #247
- Improve stream handling by @dangeross in #244
- Add ability to parse an invoice by @ok300 in #240
- Remove tokio runtime by @erdemyerebasmaz in #239
- Add random keypair generation to receive by @hydra-yse in #255
- Return pending payment by @dangeross in #245
- Cancel the created swap on timeout by @dangeross in #249
- Add send re-subscription and handle state change on swap expiry by @hydra-yse in #256
- Add global SDK logger by @ok300 in #242
- Trigger manual refunds on expired pending send swaps by @dangeross in #258
- Add Config by @dangeross in #267
- Bump lwk-wollet to fix
InsufficientFunds
error by @ok300 in #268 - Swapper trait by @roeierez in #246
- Mark
default_config
&&parse_invoice
to be generated as sync functions on Dart bindings by @erdemyerebasmaz in #280 - Ensure we have preimage persisted before claiming by @roeierez in #273
- Cargo fmt by @ok300 in #281
- Cargo clippy by @ok300 in #286
- Send: correctly handle
TransactionClaimed
Boltz event by @ok300 in #272 - Remove file trailing space by @dangeross in #288
- Abstract swapper stream as part of swapper trait by @roeierez in #287
- Add config to flutter example by @dangeross in #274
- Run RN codegen with ktlint 1.3.0 by @dangeross in #294
- Abstract onchain wallet behind its own module and trait by @roeierez in #291
- Adjust onchain fee estimation based on destination address type by @ok300 in #293
- Send swap handler by @roeierez in #295
- Extract out receive swap handling logic by @roeierez in #296
- Send: Add checks for
TimedOut
payments by @hydra-yse in #266 - Add magic routing hint support by @ok300 in #265
- Cleanup, fix typos by @ok300 in #299
- Abstract ChainService by @roeierez in #303
- Bump
flutter_rust_bridge
to2.0.0-dev.38
by @erdemyerebasmaz in #304 - Add temporary build file to gitignore by @ok300 in #307
get_info
: removewith_scan
argument by @ok300 in #306- Receive: Switch payment to pending state when lockup is in the mempool by @hydra-yse in #301
- Receive: Add zero-conf checks and properly manage state updates by @hydra-yse in #292
- [Flutter] Create reference implementation for Liquid SDK connection manager, event & log stream handler by @erdemyerebasmaz in #305
- Fix (re)connect swap subscription by @dangeross in #311
- Publish CI fixes by @dangeross in #289
- Add invoice details to
Payment
by @hydra-yse in #309 - Add persistence and swap state tests by @hydra-yse in #312
- Send Chain Swap by @dangeross in #298
- Fix Package.swift xcframework url by @dangeross in #316
- Integrate
sdk-common
by @ok300 in #308 - Hybrid chain service by @roeierez in #320
- Bump
flutter_rust_bridge
to2.0.0
by @erdemyerebasmaz in #327 - Receive Chain Swaps by @dangeross in #310
- Use lowball fees only on lockup and cooperative refund by @roeierez in #332
- Use swapper proxy to extract referral ID by @ok300 in #329
- Fix typo by @ok300 in #334
- CI: Test if SDK compiles with latest dependencies by @ok300 in #323
- Add
FiatAPI
methods to Liquid SDK by @ok300 in #331 - Monitor chain swap addresses by @dangeross in #322
- Verify chain swap server lockup transaction by @dangeross in #330
- Added
just
recipe that installs SDK requirements by @erdemyerebasmaz in #335 - Fix handling of f32 type by @dangeross in #336
- Add payment examples to the RN app by @dangeross in #337
- Update boltz-client by @dangeross in #338
- Add prelude by @ok300 in #339
- Fix typo by @ok300 in #342
- Fix
just
recipe args for building binaries for Apple, Android and other platforms by @erdemyerebasmaz in #344 - Change onchain request/response structs for clarity by @dangeross in #340
- Expose duplicates of "external structs that cannot be mirrored" through Dart/Flutter plugin by @erdemyerebasmaz in #348
- RN fixes by @dangeross in #349
- Install protoc on workflow by @dangeross in #352
- Tests: Add unit tests for primary SDK methods by @hydra-yse in #346
- [Flutter] Fix relative path of packages by @erdemyerebasmaz in #353
- Add
fetch_onchain_limits
service method by @ok300 in #343 - Publish Dart and Flutter packages by @dangeross in #356
- Attempt to load Breez Liquid library via
ExternalLibrary.process()
if t fails to load viaopen()
by @erdemyerebasmaz in #357 - Fix RN type generation by @dangeross in #362
- Fix transition from
RefundPending
toFailed
by @ok300 in #367 - Bug fixes & improvements on Flutter plugin example app by @erdemyerebasmaz in #359
- Update
list-payments
: exclude chain swap refunds by @ok300 in #366 - CI: bump checkout action to v4 by @ok300 in #363
- Pin
flutter_rust_bridge
to 2.0.0 by @erdemyerebasmaz in #368 - Update core README by @dangeross in #370
- Send: Fix refund
InsufficientFunds
error when calculating broadcast fee by @hydra-yse in #360 - Remove duplicate
refund_send
,refund_send_non_cooperative
by @ok300 in #361 - Change Config param to zero_conf_min_fee_rate_msat by @dangeross in #374
- Rename
wallet
toinstance
by @erdemyerebasmaz in #379 - Rename namespace by @dangeross in #345
- Bump lwk_wollet to 0.7.0 by @dangeross in #380
- Remove build-other from publish CI by @dangeross in #381
- Fix CI dependencies by @dangeross in #384
- List payments filtering and paging by @dangeross in #369
- Update UDL to fix python default argment ordering by @dangeross in #385
- Regenerate RN by @dangeross in #387
- Map Lwk InsufficientFunds error to PaymentError::InsufficientFunds by @dangeross in #386
- Fix flutter CI check by @ok300 in #389
- Update lwk to 0.7.0 by @dangeross in #394
- Allow custom
pay_onchain
claim fees by @dangeross in #391
Full Changelog: https://github.com/breez/breez-sdk-liquid/commits/0.1.4