Commit Graph

38 Commits

Author SHA1 Message Date
Daniel Granhão
99d8765681 Support regtest (#707)
* Support regtest

* Fix bindings, print and switch boltz client crate

* Remove stop-grace-period

* Fix docker compose issues

* feat: add rt-sync to regtest setup

* Configure local rtsync instance on default regtest config

* Bump sdk-common rev

* Fix compose restart missing quotation

* Specify platform only in base configurations

* Fix after rebase

---------

Co-authored-by: yse <hydra_yse@proton.me>
2025-02-07 16:00:59 +00:00
Ross Savage
0b4acc6f6a Add seed passphrase to ConnectRequest (#722)
* Add seed passphrase to ConnectRequest

* Fix tests
2025-02-06 11:32:47 +01:00
Ross Savage
2f3326d7b2 Make data-sync opt-out (#692) 2025-01-25 20:00:36 +01:00
yse
95998013a9 fix: remove mandatory API key checks (#639) 2025-01-21 08:32:05 +01:00
yse
3a09bbe653 fix: increase keep-alive time and add cli sync flag (#672)
Reflects changes from breez/data-sync#14
2025-01-17 18:25:47 +01:00
ok300
eba09c6faf Fix clippy CI step (#593)
* Add workspace-wide clippy lint config

* CLI: fix clippy
2024-12-09 16:43:29 +00:00
Ross Savage
802e9eece7 Configurable cache dir (#567)
* Add a configurable cache dir

* Fix UDL field position
2024-11-18 13:36:38 +01:00
yse
42f4ca0129 feat: require Breez API key globally on mainnet (#520) 2024-10-08 16:17:34 +02:00
yse
189e257f89 feat: add lowball broadcast support with API key for all transaction types (#489) 2024-09-20 13:04:49 +02:00
Ross Savage
da43f7ff78 Rename namespace (#345)
* Rename namespace

* Fix flutter build

* Fix kotlin-multiplatform CI

* Rename repositories
2024-07-09 17:25:05 +02:00
ok300
713108adb8 Add prelude (#339) 2024-06-27 17:37:38 +00:00
ok300
bcb4743260 Integrate sdk-common (#308)
* Rename Network to LiquidSdkNetwork to avoid naming conflicts with sdk-common

* Integrate sdk-common: re-use parse_invoice

* Fix UDL bindings tests

* Add input parser support

* CLI: Add input parser support

* Integrate lnurl-pay

* Cargo format, re-generate FRB and RN bindings

* Duplicate LnUrlPayError, update FRB/UniFFI bindings

* Move duplicate LnUrlPayError to FRB bindings.rs

* Add support for lnurl-withdraw

* Lnurl-withdraw: convert units, incorporate fees

* Bump sdk-common, rename InputType::LnUrlError

* Bump sdk-common, remove Wrapped prefix from LnUrlPaySuccessData, LnUrlPayResult

* LNURL-withdraw: add missing UDL mappings

* Add support for LNURL-auth

* Move LNURL structs into models.rs

* Rename LiquidSdkNetwork to LiquidNetwork

* Fix binding tests

* Fix tests

* Move FRB mirroring structs to bindings.rs

* Remove TODO

* Bump sdk-common, remove sdk-common dependency on rusqlite

* Propagate LiquidNetwork rename into flutter example app

* CI: install protobuf before running clippy

* CI: add rust cache, protobuf for remaining rust steps
2024-06-20 16:18:50 +00:00
Ross Savage
5d9a8f18a3 Add Config (#267)
* Add config

* Add rustdocs to Config, send_payment (#271)

---------

Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
2024-06-01 06:32:45 +02:00
ok300
f6082f2aa5 Add global SDK logger (#242)
* Add SDK global logger

* Add bindings

* Fix path to internal uniffi log

* Exclude "set_log_stream" from generated RN methods

* Move logger-specific structs to a separate module

* Delegate init_logging to method in logger.rs

* Rename uniffi BindingLogger to UniffiBindingLogger

* Add set_log_stream for dart bindings

* Add SDK logger to Dart bindings

* Rename dart binding logger to DartBindingLogger

* Add rustdocs

* RN bindings: Add manual handling for setLogStream()

* Re-generate dart bindings

* Re-generate RN bindings

* Remove LOG_INIT cell

* Set global maximum log level once on initialization

Return a LiquidSdkError::Generic instead of Anyhow error when initializing log stream on Dart bindings

* Do not panic when initializing binding loggers

* Rename LogStream to Logger

---------

Co-authored-by: Erdem Yerebasmaz <erdem@yerebasmaz.com>
2024-05-31 18:01:39 +00:00
ok300
e5dba1043e Add ability to parse an invoice (#240)
* Add ability to parse an invoice

* Simplify LNInvoice initialization

* Add missing LNInvoice fields

* Cargo fmt

* Re-generate bindings after merging main branch

* Explicitly check the invoice signature

* Remove redundant signature check

* Strip potential lightning: prefix before parsing bolt11
2024-05-30 13:26:00 +00:00
ok300
434fb80d49 Add shutdown signal (#238)
* Add shutdown signal handling

Revert periodic sync interval change

Revert keep-alive interval change

CLI: Add disconnect command

SDK: Add scaffolding for is_started, shutdown()

Simplify instance init

* Rebase on savage-async-ws branch

* Avoid waiting when shutdown signal is received in the sync loop

* Directly use shutdown signal in background threads

* Acquire is_started lock at the very beginning of start()

* Fix cargo clippy warnings

* Update RN generator (kt): set bindingLiquidSdk to null on disconnect()

* Update RN generator (swift): set bindingLiquidSdk to nil on disconnect()

* Startup: only run foreground sync() if this could be the first run

* Start a sync() in background, before regular sync() loop

* Remove ensure_started check from start()

* Add bindings for disconnect()

* Remove foreground sync condition from startup

* Simplify background sync loop
2024-05-30 08:04:30 +00:00
Ross Savage
06b848a8f3 SDK events framework (#193)
* Add events framework

* Adapt RN codegen and add synced event

* Only use get_connection internally
2024-05-25 06:20:14 +02:00
ok300
8a1508ab07 Rename wallet to SDK or LiquidSdk (#157)
* Rename global instance in bindings.rs

* Rename wallet to SDK or LiquidSdk

* Rename BindingWallet to BindingLiquidSdk

* Rename wallet to lwk_wollet, signer to lwk_signer

* Rename LsSdkError to LiquidSdkError

* Cargo fmt

* Rename LsSdkError in RN generator

---------

Co-authored-by: Ross Savage <hello@satimoto.com>
2024-05-03 13:53:37 +00:00
ok300
708a3526c7 Add request, response to API methods (#153)
* Add request, response to get_info()

* Add request, response to prepare_send_payment()

* Add request, response to restore()

* Add request, response to connect()

* Update lib/bindings/src/breez_liquid_sdk.udl

Co-authored-by: Ross Savage <551697+dangeross@users.noreply.github.com>

* Update lib/bindings/src/breez_liquid_sdk.udl

Co-authored-by: Ross Savage <551697+dangeross@users.noreply.github.com>

* Update lib/core/src/bindings.rs

Co-authored-by: Ross Savage <551697+dangeross@users.noreply.github.com>

* Fix bindings.rs call

* Update connect to handle ConnectRequest

---------

Co-authored-by: Ross Savage <551697+dangeross@users.noreply.github.com>
Co-authored-by: Ross Savage <hello@satimoto.com>
2024-05-03 08:48:03 +00:00
ok300
3df6a5c3d4 CLI: Allow choosing custom network (#151)
* CLI: Allow choosing custom network

* Cargo fmt
2024-05-02 18:27:31 +00:00
ok300
cb7e753c95 Rename project: Rust, uniffi (#133)
* Rename rust crates, uniffi bindings

* Rename uniffi tests

* Rename uniffi UDL file
2024-05-02 05:44:47 +00:00
Erdem Yerebasmaz
3b94544b89 Apply frb's file structure changes to cli 2024-04-29 18:41:37 +03:00
ok300
522bdaea5c Rename init() to connect() (#119)
* Rename init() to connect()

* Shorten commit ID for secp256k1-zkp dependency

* Update RN bindings

* Rename the manually coded init function to connect

* Update RN example app

---------

Co-authored-by: Ross Savage <hello@satimoto.com>
Co-authored-by: Ross Savage <551697+dangeross@users.noreply.github.com>
2024-04-29 15:25:48 +00:00
yse
857db3cc33 fix: change log write mode to append (#110) 2024-04-26 19:40:45 +02:00
yse
1d3ed4b00c feat: add fee calculation to payment receive (#101) 2024-04-25 10:56:21 +02:00
ok300
fa0cde18d6 Use a different DB file per network (#91)
* Use DEFAULT_DATA_DIR instead of hardcoded string in CLI

* Use a different DB file per network
2024-04-17 17:28:03 +00:00
yse
3efbdb97cb cli: add log file (#87) 2024-04-16 21:28:40 +02:00
ok300
e2ace48b48 Add uniffi bindings (#59)
* Rename CLI and lib projects

* Place lib in a workspace

* Add uniffi package

* Bump uniffi version

* Add uniffi.toml config file to customize lib names

* Add makefile for kotlin, python, swift bindings

* Add missing PaymentError variant

* Rename BoltzGeneric error variant
2024-04-15 15:32:16 +00:00
yse
efc970d1e0 feat: add json responses to cli (#81) 2024-04-09 21:30:02 +02:00
ok300
16a13efd72 Make network a mandatory arg of init() (#53) 2024-03-26 06:00:25 +01:00
ok300
e6a8a84050 Consolidate constants and default init values (#52) 2024-03-26 05:58:30 +01:00
ok300
402a712b9b Simplify init arg (#50)
* Change to blinding variant slip77

* Simplify init arg
2024-03-26 05:54:41 +01:00
ok300
a55b496f27 Remove unused dependency: tokio (#46) 2024-03-21 19:52:41 +00:00
ok300
516f95a685 Consolidate wallet initialization (#30)
* Consolidate wallet initialization
2024-03-19 12:39:08 +00:00
yse
21335d73aa feat: add primary methods for ongoing swaps (#28)
* Fix receive-payment by increasing claim absolute_fee

* feat: added sqlite methods for ongoing swaps

* fix: create specific error type when persisting swaps

---------
Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
2024-03-19 13:13:33 +01:00
ok300
69363c662f Add support for logging 2024-03-15 12:50:17 +01:00
yse
c17bbc9c4f chore: splitting models and renaming wallet (#11)
* chore: split code and rename wallet
* chore: removing `wait_for_tx`
2024-03-13 10:27:57 +01:00
yse
ffadce402e feat: adding initial methods (#2)
Note that the structure is still experimental and subject to change, refer to breez-sdk-liquid#2 for more details
2024-03-13 09:10:26 +01:00