Commit Graph

146 Commits

Author SHA1 Message Date
Daniel Granhão
ca23206ae8 WASM: end-to-end-test support (#846)
* Wasm: end-to-end-test support

* Update testing dev docs

* Expose Arc in prelude

* Switch to waterfalls fork

* Set node version
2025-04-24 09:43:55 +01:00
Daniel Granhão
c0079d93eb Drop unnecessary tip requests (#891) 2025-04-22 18:17:35 +01:00
yse
8a33bb42e6 feat: switch Esplora client url to Breez server instance (#845)
Co-authored-by: Ross Savage <mr.dangeross@googlemail.com>
2025-04-08 10:27:13 +02:00
Daniel Granhão
42a489722b WASM: db backups (#851)
* WASM: db backups

* Address review feedback

* Log backup recovery errors and proceed
2025-04-06 10:03:33 +01:00
Ross Savage
cf601f4622 Store claim/refund addresses (#849)
* Store claim/refund addresses

* Store receive claim address before constructing the tx
2025-04-03 06:28:32 +02:00
Daniel Granhão
f437c9194e Add regtest end-to-end tests (#816)
* Add regtest end-to-end tests

* Check that regtest environment is set up

* Add todo comment

* Add missing gloo-timers feature

* Link GH issues

* Update DEVELOPMENT.md

* Update boltz submodule

* Fix after rebase
2025-04-03 01:26:21 +01:00
Ross Savage
0c88e09fc3 Pay fees with USDT asset (payjoin) (#779)
* Add payjoin implementation

* Fix Core Wasm tests
2025-04-02 11:05:02 +00:00
Daniel Granhão
35aeb62e36 WASM: fix clippy and tests (#823) 2025-03-27 22:56:53 +00:00
yse
640821a95d feat: use esplora for lwk wollet (#818) 2025-03-27 17:54:12 +01:00
Ross Savage
1d111d0c30 Use MaybeSend + MaybeSync for all traits (#817) 2025-03-27 13:26:24 +01:00
yse
89c18c541b feat: add Esplora support to Boltz swapper (#805)
Co-authored-by: Daniel Granhão <32176319+danielgranhao@users.noreply.github.com>
2025-03-27 12:55:56 +01:00
yse
10e3ab71e0 feat: add Esplora client to chain services (#761)
Co-authored-by: Daniel Granhão <32176319+danielgranhao@users.noreply.github.com>
2025-03-27 10:40:10 +01:00
Daniel Granhão
80f6156c87 WASM: fix various minor issues (#810)
* Use tokio-stream on wasm builds

* Add missing MaybeSend/Sync

* Fix unused warning

* Exclude From<UrlError> impl
2025-03-26 01:23:36 +00:00
Daniel Granhão
a06c6d522e WASM: prevent filesystem access (#792)
* WASM: prevent filesystem access

* Exclude logger module on wasm

* Drop use of conditional compilation in `LiquidOnchainWallet`

* Expose `LiquidSdkBuilder` and configure build for wasm

* Move working_dir setup and log header to connect with signer

* Add in memory persister constructor

* Drop builder connect method

* Remove `empty_wallet_cache` from WASM interface

* Impose custom persister on wasm
2025-03-24 13:31:22 +00:00
Daniel Granhão
2952b6133e Expose real time synced event (#800) 2025-03-24 11:46:02 +00:00
Ross Savage
ba256ea51c Fix LNURL drain and payment info (#776)
* Fix LNURL-pay drain not working

* Add LNURL info and BIP353 address to Liquid payment details

* Add bip353_address to LiquidAddress SendDestination
2025-03-17 14:11:00 +01:00
Roei Erez
1d5fda1428 Merge pull request #764 from breez/refactor-recoverer
Refactor recoverer
2025-03-15 16:21:40 +02:00
Daniel Granhão
7bd09aea5d WASM: Update boltz client dependency and use included wasm tokio-tungstenite (#769)
* Update boltz client dependency and use included wasm tokio-tungstenite

* Avoid unnecessary swapper init

* Update boltz client rev after merge
2025-03-15 10:29:35 +00:00
Roei Erez
ecb95661d8 Refactor recoverer for more clarity 2025-03-13 13:41:53 +02:00
Ross Savage
6d72fdce57 WASM: Interface (#757)
* Define common types

* Define sdk types

* Add SDK methods

* Add LiquidSdkBuilder

* Add callback interfaces

* Update CI for WASM

* Replace async and test macros

* Update sdk-common/macros dependencies
2025-03-11 06:21:46 +01:00
Ross Savage
69e17c60a1 Fix Clippy issues (#758) 2025-02-26 12:42:34 +01:00
Ross Savage
b390864986 Chain swap: calculate cooperative tx size and allow immediate refund (#715)
* Calculate cooperative tx sizes

* Allow immediate refund of failed incoming chain swap

* Update to merged trunk

* Calculate refundable amount from utxos

* Revert removable of utxo selection

* Apply suggestions from code review

Co-authored-by: Daniel Granhão <32176319+danielgranhao@users.noreply.github.com>

---------

Co-authored-by: Daniel Granhão <32176319+danielgranhao@users.noreply.github.com>
2025-02-21 08:09:53 +01:00
Erdem Yerebasmaz
ded8ef16b8 Extract description from metadata_str for LNURL payments (#740)
* Extract description from LnUrlPayRequestData's metadata on lnurl_pay

* Persist description from lnurlp metadata on payment details description

* Use invoice description if it's available then fallback to description from metadata

for LNURLp payments
2025-02-18 17:25:34 +03:00
Daniel Granhão
eb3b12021c Remove min 0-conf fee rate (#750) 2025-02-18 12:20:39 +00:00
Ross Savage
6bf203dd80 Add seed to ConnectRequest (#748)
* Add seed option to ConnectRequest

* Explicitly require mnemonic or seed
2025-02-17 17:37:06 +01:00
Daniel Granhão
3ec57ad93e Add tx propagation grace period to swap recovery (#733)
* Add tx propagation grace period to swap recovery

* Add missing tx reset checks and improve logs
2025-02-17 13:23:32 +00:00
Daniel Granhão
fc03572588 Persist and expose BIP353 addresses (#718)
* Persist and expose BIP353 addresses

* Increment schema minor version

* Move bip353 address from LNURL context to SendDestination

* Update after sdk-common merge

* Address review

* Only try to insert bip353 address when available
2025-02-11 15:29:16 +00:00
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
yse
e7a7adaf8a feat: remove swapper initialization at startup (#712) 2025-02-06 14:24:55 +01: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
Daniel Granhão
0c9d2b8cbe Prevent missing notifications due to concurrent SDK instances (#697)
* Prevent missing notifications due to concurrent SDK instances

* Expose swap claim tx id and use it to derive WaitingConfirmation in plugins

* Use id type as get payment request variant
2025-02-03 17:33:07 +00:00
Ross Savage
b24046c5e9 LNURL-pay drain (#674)
* LNURL-pay drain

* Fix min_sendable calculation
2025-01-29 14:44:46 +01:00
Ross Savage
ad5b108eda Fix the send amount for swap payments (#693) 2025-01-25 19:59:36 +01:00
Ross Savage
652c23800e Configure asset metadata (#659)
* Configure asset metadata

* Apply suggestions from code review

* Return BIP21 URI also when only non-bitcoin asset_id is defined

* Rename AssetMetadata functions
2025-01-24 16:57:22 +01:00
Ross Savage
e196a91973 Multi-asset send/receive (#645)
* Multi-asset send/receive

* Apply suggestions from code review

Co-authored-by: Daniel Granhão <32176319+danielgranhao@users.noreply.github.com>

* Log the prepare asset_id

---------

Co-authored-by: Daniel Granhão <32176319+danielgranhao@users.noreply.github.com>
2025-01-24 16:55:51 +01:00
Daniel Granhão
7841939e6a Expose amountless swap fees auto acceptance (#690)
* Expose amountless swap fees auto acceptance

* Move field behind optional ones

* Add serde default to auto_accepted_fees
2025-01-24 10:18:34 +00:00
Daniel Granhão
53fb22ab41 Chain swap refund tx fee bumping (#688)
* Chain swap refund tx fee bumping

* Add "pending" to refund tx id field names

* Rename pending to last
2025-01-24 09:41:32 +00:00
Daniel Granhão
6760960cb0 Add SdkEvent for refundable swap (#683) 2025-01-21 14:43:23 +00:00
yse
95998013a9 fix: remove mandatory API key checks (#639) 2025-01-21 08:32:05 +01:00
yse
4abcebcde8 feat: add sort_ascending flag to list_payments (#679) 2025-01-21 08:06:18 +01:00
Ross Savage
746b6e0223 Discount Confidential Transactions (#637)
* Update dependencies

* Use discount-ct when building txs

* Broadcast using the electrum client

* Fix CI

* Remove use of esplora url

* Address PR feedback

* Fix dart/flutter

* Update zero-conf fee rate check

* Fix clippy
2025-01-19 13:57:38 +01:00
Ross Savage
f92a6b9f0f Ensure fees are calculated without overflow (#671) 2025-01-17 15:28:09 +01:00
Daniel Granhão
bc779e3269 Fix amountless receiver amount and waiting fee acceptance condition (#670) 2025-01-17 13:26:42 +00:00
Daniel Granhão
037c77ab9f Fix swap structs PartialEq implementation (#662) 2025-01-17 10:57:44 +00:00
Daniel Granhão
95bbd0e49b Implement optimistic locking for read-update-write swap operations (#652)
* Implement optimistic locking for read-update-write swap operations

* Fail on stale swap update and add tests
2025-01-12 22:44:15 +00:00
Ross Savage
50cb8be18c Add destination pubkey and bolt12 invoice to payment details (#649)
* Add destination pubkey and bolt12 invoice to payment details

* Change macro to fn
2025-01-10 13:53:43 +03:00
Ross Savage
66810ecdf6 feat: add swap expiry timestamp (#622) 2025-01-08 14:55:47 +01:00
Daniel Granhão
a9ec1c01dd Fix fees shown for send chain swaps 2025-01-06 12:45:56 +00:00
Daniel Granhão
fa70c0b6df Add receiver amount to FetchPaymentProposedFeesResponse 2025-01-03 09:53:12 +00:00
Daniel Granhão
c4f707f87e Derive chain swap fees using claim tx amount when available 2025-01-02 10:40:31 +00:00