Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
265 commits
Select commit Hold shift + click to select a range
9a8254d
Log background sync of RGS message with info level
andrei-21 Jun 19, 2025
6b9751b
Fix test code after `Bolt11Invoice::invoice_description` rename
tnull Jun 19, 2025
efa5b73
Update `CHANGELOG.md` for v0.6.1
tnull Jun 19, 2025
ec2b24d
Update Swift files for v0.6.1
tnull Jun 19, 2025
ff9782b
Merge pull request #582 from tnull/2025-06-cut-0.6.1-main
tnull Jun 19, 2025
01c396a
Merge pull request #584 from andrei-21/feature/log-info-rgs
tnull Jun 20, 2025
1199f7d
Set log target to module path
andrei-21 Jun 27, 2025
243c874
Merge pull request #589 from andrei-21/feature/set-log-target
tnull Jun 27, 2025
3954355
Add exponential backoff for sync failures
tosynthegeek Jun 30, 2025
775e0db
Merge pull request #588 from tosynthegeek/main
tnull Jun 30, 2025
948f289
Fix CLN crash by waiting for block height sync before channel open (#…
moisesPompilio Jul 1, 2025
3385495
Merge pull request #590 from moisesPompilio/issue-527
tnull Jul 1, 2025
c1f27ef
prefactor: rename bitcoind_rpc to bitcoind
enigbe Jun 19, 2025
b7de5f8
prefactor: prepare client for REST interface support
enigbe Jun 30, 2025
36e4c7f
feat: support chain sourcing via REST interface
enigbe Jul 1, 2025
0509e99
Merge pull request #526 from enigbe/2025-04-bitcoind-rest-sync-v2
tnull Jul 1, 2025
ed96316
Bump `uniffi` dependency to v0.28.3
tnull Jul 1, 2025
0a2bccd
Merge pull request #591 from tnull/2025-07-bump-to-uniffi-0.28
tnull Jul 2, 2025
6fe2d30
Reduce syncing and shutdown timeouts considerably
tnull May 13, 2025
9eae61d
Await on the background processing task's `JoinHandle`
tnull Jul 7, 2025
c3d6161
Improve logging in `stop`
tnull Jul 7, 2025
bc6137a
Merge pull request #592 from tnull/2025-07-make-shutdown-more-robust
tnull Jul 9, 2025
8c157c3
ci(vss): use latest gradle version
enigbe Jul 3, 2025
57e1fb1
Merge pull request #593 from enigbe/2025-07-fix-vss-integration-ci
tnull Jul 10, 2025
d5df3d0
Add option to include headers in Esplora config
benthecarman Jul 18, 2025
d7226f3
Merge pull request #596 from benthecarman/esplora-headers
tnull Jul 22, 2025
7e93a8b
Introduce `ChainSourceKind` type
tnull Jul 24, 2025
5afe490
Intermittently introduce additional `impl` blocks
tnull Jul 29, 2025
56167ce
Move Esplora sync logic to a `EsploraChainSource` type
tnull Jul 24, 2025
8a01e17
Move `EsploraChainSource` to a new module `chain::esplora`
tnull Jul 29, 2025
fd517ed
Move Electrum sync logic to a `ElectrumChainSource` type
tnull Jul 24, 2025
40d6440
Move `ElectrumChainSource` type to `chain::electrum` module
tnull Jul 29, 2025
4541a0e
Move Bitcoind sync logic to a `BitcoindChainSource` type
tnull Jul 24, 2025
a7e54d8
Move `BitcoindChainSource` type to `chain::bitcoind` module
tnull Jul 29, 2025
7cb1d34
Drop intermittent `impl` blocks on `ChainSource`
tnull Jul 29, 2025
0935401
Merge pull request #598 from tnull/2025-07-chainsource-refactor
tnull Jul 29, 2025
fb34a27
Move inner code to `sync_lightning_wallet_inner` for Esplora
tnull Jul 31, 2025
c1157a3
Move inner code to `sync_onchain_wallet_inner` for Esplora
tnull Jul 31, 2025
c765545
Move inner code to `sync_lightning_wallet_inner` for Electrum
tnull Jul 31, 2025
128fdfd
Move inner code to `sync_onchain_wallet_inner` for Electrum
tnull Jul 31, 2025
9444bc4
Move inner code to `poll_and_update_listeners_inner`
tnull Jul 31, 2025
a6349a4
Call `periodically_archive_fully_resolved_monitors` for Bitcoind
tnull Jul 31, 2025
d2cadd0
Merge pull request #599 from tnull/2025-07-fix-res-propagation-sync
tnull Aug 1, 2025
be2bc07
Bump `electrum-client` to v0.24.0
tnull Aug 7, 2025
3d35691
Fix lifetime elision warnings introduced by rustc 1.89
tnull Aug 7, 2025
5dd6417
Merge pull request #602 from tnull/2025-08-fix-electrum-breakage
tnull Aug 11, 2025
1af27ac
Bump MSRV to rustc 1.85
tnull Aug 11, 2025
241b12b
Merge pull request #606 from tnull/2025-08-bump-msrv-to-1.85
tnull Aug 11, 2025
90cde61
feat: add ability to set payment preimage for spontaneous payments
aagbotemi May 31, 2025
a147ad0
Merge pull request #549 from aagbotemi/support-preimage-spontaneous-p…
tnull Aug 13, 2025
1d06c7a
Ensure we always startup with a `rustls` `CryptoProvider`
tnull Aug 1, 2025
3ff4890
Add test that drops the node in an async context
tnull Aug 14, 2025
b7c0704
Have `ChainSource` hold `tx_broadcaster` reference
tnull Aug 14, 2025
6b9d899
Move continuous tx broadcast processing loop to `ChainSource`
tnull Aug 14, 2025
3de8b1d
Merge pull request #601 from tnull/2025-08-fix-rustls-crypto-provider…
tnull Aug 14, 2025
17a45dd
Wait on all background tasks to finish (or abort)
tnull Aug 14, 2025
5d2092b
Merge pull request #612 from tnull/2025-08-shutdown-wait-on-all-tasks
tnull Aug 14, 2025
f9d65df
Update CHANGELOG for v0.6.2
tnull Aug 14, 2025
80a5abc
Update Swift files for v0.6.2
tnull Aug 15, 2025
6e938fe
Drop nexus publishing plugin
tnull Aug 15, 2025
89bdacb
Add simpler helper script to generate MD5 and SHA checksum files
tnull Aug 15, 2025
e57927a
Add reorg property test and refactor funding logic
moisesPompilio Aug 15, 2025
6bf414f
Merge pull request #617 from tnull/2025-08-cut-v0.6.2-bindings-main
tnull Aug 15, 2025
4879002
Introduce `Runtime` object allowng to detect outer runtime context
tnull May 19, 2025
86cc3d2
Merge pull request #604 from moisesPompilio/issue-575
tnull Aug 15, 2025
12bd254
Add corresponding `_for_hash` methods to receive via jit channel
andrei-21 Aug 18, 2025
110ab06
Merge pull request #543 from tnull/2025-05-allow-to-use-runtime-handle
tnull Aug 18, 2025
217b398
Merge pull request #608 from andrei-21/feature/for-hash
tnull Aug 18, 2025
3fe4f2f
Fix RPC Txid handling and mempool eviction
moisesPompilio Aug 14, 2025
5fe06c8
Add property-based tests for RPC JSON responses
moisesPompilio Aug 14, 2025
4922e8d
Refactor move background task fields to `Runtime`
tnull Aug 18, 2025
90a4fe1
Drop `Runtime::spawn` in favor of `spawn_cancellable_background_task`
tnull Aug 19, 2025
f3aab90
Add RBF integration tests with multi-node setup
moisesPompilio Aug 19, 2025
1c02114
Merge pull request #619 from tnull/2025-08-background-task-tracking
tnull Aug 19, 2025
b755070
Introduce separate stop signal for background processor
tnull Aug 20, 2025
c428c4c
Remove duplicate call to `chain_source.stop()`
tnull Aug 20, 2025
947acf3
Merge pull request #605 from moisesPompilio/fix-evicted-transation
tnull Aug 20, 2025
ab3d78d
Use `crate::runtime::Runtime` for `VssStore`
tnull May 22, 2025
0705ced
Merge pull request #623 from tnull/2025-08-use-runtime-in-vss-store
tnull Aug 21, 2025
fd29ab5
Merge pull request #622 from tnull/2025-08-bp-stop-signal
tnull Aug 21, 2025
24e6947
Require 16kb pages sizes for Android builds
tnull Aug 21, 2025
fdaa759
Merge pull request #625 from tnull/2025-08-kotlin-android-fix-page-si…
tnull Aug 21, 2025
02208ab
Relax `MaximumFeeEstimate` confirmation target estimation
tnull Sep 2, 2025
65f49af
Merge pull request #629 from tnull/2025-08-relax-max-fee-estimate-target
tnull Sep 2, 2025
66b1a88
Stop migrating spendable outputs from pre-v0.3 format
tnull Jul 31, 2025
02c2663
Check last_best_block_hash before updating fee_rate to avoid unnecess…
moisesPompilio Sep 9, 2025
ed12e65
Bump to LDK main (4e32d852)
tnull Feb 6, 2025
4b45d7c
Switch to use `rustls-ring` everywhere
tnull Aug 15, 2025
80ac9f3
Use log timestamps with millisecond resolution
joostjager Sep 3, 2025
a489fbf
Merge pull request #462 from tnull/2025-02-upgrade-to-ldk-0.2
tnull Sep 10, 2025
8bd7f4d
Merge pull request #631 from moisesPompilio/issue-520
tnull Sep 11, 2025
66f5c28
Add static invoice support
joostjager Aug 19, 2025
8f0e4fd
Merge pull request #621 from joostjager/static-invoice-server
tnull Sep 16, 2025
006a06e
Adapt channel balance reporting to use confirmed candidate
joostjager Sep 16, 2025
f0296d2
Merge pull request #634 from joostjager/splicing-balance
tnull Sep 16, 2025
c99ff30
Log to console with node prefix
joostjager Sep 16, 2025
e8b2513
Merge pull request #636 from joostjager/multi-node-console-log
tnull Sep 17, 2025
8d18d16
Update static invoice store for invoice requests
joostjager Sep 16, 2025
efbef4c
Update static invoice test to use unannounced channels
joostjager Sep 17, 2025
0f1d66c
Merge pull request #635 from joostjager/always-online-fwd-inv-req
tnull Sep 18, 2025
3df1477
Fix wait_for_tx exponential backoff
joostjager Sep 19, 2025
97f404f
Adapt to new pay_for_offer call in upstream LDK
joostjager Sep 18, 2025
569e910
Merge pull request #639 from joostjager/pay-for-offer-refactor
tnull Sep 22, 2025
904a05f
Try to log status code for `reqwest`'s `Request` error kind
tnull Sep 22, 2025
65945f8
Merge pull request #641 from joostjager/backoff-fix
tnull Sep 22, 2025
55ffd26
Merge pull request #643 from tnull/2025-09-try-log-status
tnull Sep 24, 2025
1192085
Bump LDK and account for `FutureSpawner` move
tnull Sep 25, 2025
f3dea63
Merge pull request #648 from tnull/2025-09-fix-futurespawner
tnull Sep 25, 2025
b7598ae
Add onion mailbox for async receivers
joostjager Sep 4, 2025
8e03ddc
Merge pull request #632 from joostjager/onion-mailbox
tnull Sep 25, 2025
2ae3466
Re-format all imports
tnull Sep 28, 2025
09eacfa
Merge pull request #652 from tnull/2025-09-format-all-imports
tnull Sep 29, 2025
11b7eb5
Use cancellable task for inbound connections
joostjager Sep 22, 2025
6f1edcd
Listen on all provided addresses
joostjager Sep 22, 2025
0f621ff
Do not use random ports from ephemeral range
joostjager Sep 23, 2025
ca1e5a7
Merge pull request #644 from joostjager/multi-listen-fix
tnull Oct 1, 2025
7cef820
Merge pull request #655 from lightningdevkit/develop
tnull Oct 7, 2025
52a5f9a
Move current VSS `KVStoreSync` logic to `_internal` methods
tnull Sep 12, 2025
bc313f9
Make VSS internal methods `async`, move `block_on` to `impl KVStoreSync`
tnull Sep 12, 2025
2b40a80
Split `VssStore` into `VssStore` and `VssStoreInner`
tnull Sep 12, 2025
679b6d3
Refactor infallible `build_key` to not return an error
tnull Sep 26, 2025
2b117f5
Implement `KVStore` for `VssStore`
tnull Sep 12, 2025
ce73168
f No need to use `RwLock` if we ever only `write` it
tnull Oct 7, 2025
76c75fe
Move `SqliteStore` logic to `_internal` methods
tnull Sep 12, 2025
c0473cc
Split `SqliteStore` into `SqliteStore` and `SqliteStoreInner`
tnull Sep 12, 2025
5c09a31
Bump BDK to 2.2, rust-bitcoin to 0.32.7
tnull Oct 7, 2025
496552b
Implement `KVStore` for `SqliteStore`
tnull Sep 12, 2025
f535b50
Move `TestStoreSync` logic to `_internal` methods
tnull Sep 18, 2025
b2fca59
Split `TestSyncStore` into `TestSyncStore` and `TestSyncStoreInner`
tnull Sep 18, 2025
8aa68ff
Implement `KVStore` for `TestSyncStore`
tnull Sep 18, 2025
c9e3f71
Require both types of `KVStore`
tnull Sep 17, 2025
e92cada
Use `#[allow(deprecated)]` to silence new deprecation warnings
tnull Oct 8, 2025
fa9bd15
Merge pull request #633 from tnull/2025-09-async-vss-store
tnull Oct 8, 2025
8bc984a
Merge pull request #656 from tnull/2025-09-upgrade-bdk-2.2
tnull Oct 8, 2025
a404a94
Account for `LiquidityManager` persistence
tnull Sep 25, 2025
e4bb615
Merge pull request #650 from tnull/2025-09-liq-persistence
tnull Oct 8, 2025
351a0a9
Account for dropped `Arc` for `DefaultTimeProvider`
tnull Sep 25, 2025
9977903
Account for `lazy` being dropped from `KVStore::remove`
tnull Sep 25, 2025
7855d38
Account for lifetime change in `get_change_destination_script`
tnull Sep 30, 2025
cabcbb3
Account for `LiquidityManager` taking a broadcaster
tnull Sep 30, 2025
9ec89fe
Account for `OutputSweeper::read` being dropped
tnull Oct 2, 2025
98d2148
Merge pull request #651 from tnull/2025-09-fix-lazy-remove
tnull Oct 10, 2025
2276157
Bump to latest LDK `main`
tnull Oct 13, 2025
4cbd1bb
Merge pull request #659 from tnull/2025-10-bump-to-latest-LDK-splicing
tnull Oct 13, 2025
813b162
Bump LDK to v0.2.0-beta1
tnull Oct 14, 2025
4419953
Switch to use Rust VSS server in CI
tnull Oct 14, 2025
67bce05
Merge pull request #663 from tnull/2025-10-switch-to-rust-vss-server
tnull Oct 14, 2025
121dadb
Merge pull request #662 from tnull/2025-10-bump-to-ldk-2.0-beta1
tnull Oct 14, 2025
b3e89c6
Remove erroneous `debug_assert` when handling `PaymentForwarded`
tnull Oct 16, 2025
fc6a7ff
Use `MonitorUpdatingPersister`
arturgontijo Feb 1, 2025
8368fdd
Merge pull request #661 from tnull/2025-10-MUP
tnull Oct 16, 2025
94cc2dc
remove unnecessary arc clone
joostjager Jan 30, 2025
bbca7d2
Merge pull request #665 from tnull/2025-10-fix-erroneous-debug-assert…
tnull Oct 16, 2025
e4a0352
Switch to `nightly` `rustfmt`
tnull Oct 9, 2025
da51546
Merge pull request #657 from tnull/2025-10-switch-to-nightly-rustfmt
tnull Oct 17, 2025
9272f31
Delete `rust-toolchain.toml` afterall
tnull Oct 17, 2025
e9fe0b3
Disable `overflow_delimited_expr` to ensure stability
tnull Oct 17, 2025
a73d090
Set `rust-version` field in `Cargo.toml`
tnull Oct 17, 2025
2590ee5
Add weekly cronjob running `cargo +nightly fmt`
tnull Oct 17, 2025
edff34c
Drop superfluous `cargo build` step
tnull Oct 14, 2025
ae98bef
Add missing error logs for `ReadFailed` cases
tnull Oct 14, 2025
dd51908
Merge pull request #669 from tnull/2025-10-nightly-rustfmt-followup
tnull Oct 17, 2025
49502cf
add functionality to periodically update routing scores from an exter…
joostjager Jan 30, 2025
52705d3
cache external pathfinding scores
joostjager Feb 10, 2025
9d71d3a
Merge pull request #449 from joostjager/import-scores
joostjager Oct 23, 2025
b8cf41c
Drop `Condvar` and use `block_on` for `wait_next_event`
tnull Oct 16, 2025
05dab40
Async'ify our test suite
tnull Oct 16, 2025
8512c26
Add `async { ..await }` in remaining places
tnull Oct 20, 2025
e01ea05
Re-introduce internal runtime to `VssStore`
tnull Oct 20, 2025
8cad63b
Fix and run all tests under `cfg(vss_test)`
tnull Oct 20, 2025
d984aca
Merge pull request #670 from tnull/2025-10-asyncify-more-things
tnull Oct 28, 2025
ce4c584
Bump `electrsd` to 0.36.1
tnull Oct 28, 2025
1a134b4
Merge pull request #680 from tnull/2025-10-bump-electrsd
tnull Oct 28, 2025
76194c7
Upgrade `rand` to v0.9.2
tnull Oct 29, 2025
e173997
Use `os_rng` for seed/mnemonic generation
tnull Oct 29, 2025
7063f2c
No turbofishing for `user_channel_id`
tnull Oct 30, 2025
126c5da
Add simple workflow to generate Swift bindings in CI
tnull Oct 30, 2025
15a1b90
Ensure for all workflows we cancel in-progress jobs on repeated pushes
tnull Oct 30, 2025
faebb30
Fix bitcoind shutdown hang
benthecarman Oct 28, 2025
916e0ef
Bump LDK to 2.0.0-rc1
tnull Oct 31, 2025
c554a24
Avoid collision of `description` on `Offer`, `Refund`, `Bolt12Invoice`
tnull Oct 30, 2025
6e33f21
Merge pull request #682 from benthecarman/fix-shutdown
tnull Oct 31, 2025
2c99aa0
Implement Display for UserChannelId
chuksys Oct 31, 2025
cf0cb2f
Merge pull request #691 from tnull/2025-10-only-bump-to-ldk-2.0rc1
joostjager Oct 31, 2025
222321d
Configurable test store
joostjager Oct 15, 2025
8705214
Merge pull request #688 from tnull/2025-10-add-swift-CI
tnull Oct 31, 2025
14c1cff
Add async payment throughput benchmark
joostjager Oct 21, 2025
22ae4d2
Merge pull request #664 from joostjager/payment-benchmark
tnull Nov 3, 2025
eaad8f5
Merge pull request #690 from chuksys/impl-display-for-UserChannelId
tnull Nov 3, 2025
2c72e67
Use `[patch]` instead of switching all the dependencies
tnull Nov 5, 2025
fb41112
Elevate permissions of weekly `rustfmt` worflow
tnull Nov 5, 2025
bdb45a4
Merge pull request #694 from tnull/2025-11-use-patch
tnull Nov 5, 2025
dbfbf83
2025-11-05 automated rustfmt nightly
Nov 5, 2025
dcde77a
Merge pull request #695 from lightningdevkit/create-pull-request/patch
tnull Nov 5, 2025
cef82e4
Merge pull request #683 from tnull/2025-10-use-os-rng
tnull Nov 7, 2025
f5822a0
Introduce `InMemoryStore` for testing
tnull Nov 13, 2025
4c72541
Make `EventQueue` persistence `async`
tnull Nov 10, 2025
7c35234
Allow to set optional `RouteParametersConfig` in BOLT12 API
tnull Nov 13, 2025
996b58e
Add explicit type definition for ChannelDetails
chuksys Nov 13, 2025
ac948f6
Replace deprecated thread_rng with rng
chuksys Nov 13, 2025
8cf64ec
Merge pull request #697 from tnull/2025-11-async-event-persistence
tnull Nov 13, 2025
c4992bd
Merge pull request #704 from chuksys/replace-thread_rng-with-rng
tnull Nov 13, 2025
994e23c
Merge pull request #702 from tnull/2025-11-allow-to-set-routeparamete…
tnull Nov 14, 2025
1dd9827
Merge pull request #703 from chuksys/explicit-channel-details-close-c…
tnull Nov 14, 2025
20ffc9c
Implement `lazy` deletes for `VssStore`
tnull Oct 31, 2025
db246fc
f Restore delete_items on failed write
tnull Nov 17, 2025
c2b6b18
Add test for `lazy` deletion behavior
tnull Oct 31, 2025
be3cb48
Merge pull request #689 from tnull/2025-10-bump-to-ldk-2.0rc1
tnull Nov 17, 2025
3d5013b
Introduce schema versioning
tnull Nov 11, 2025
aa25497
Support client_trusts_lsp=true on ldk-node
martinsaposnic Sep 10, 2025
039aad4
Avoid explicit `panic`s in `handle_event`
tnull Nov 17, 2025
357ac29
Merge pull request #687 from martinsaposnic/client-trusts-lsp-2
tnull Nov 17, 2025
65f6f7b
Use obf. key as `aad` for `StorableBuilder` and obfuscate namespaces
tnull Aug 22, 2025
86239cf
Prefactor: move client construction out to `VssStore`
tnull Nov 11, 2025
a375179
Only use internal runtime in `VssStore`
tnull Nov 3, 2025
2af8103
Drop redundant `tokio::timeout`s for VSS IO
tnull Nov 6, 2025
37ee256
Bump retries and timeouts considerably
tnull Nov 10, 2025
37ed5c4
Introduce two separate `VssClient`s for async/blocking contexts
tnull Nov 10, 2025
20a93c5
Determine VSS schema version at startup
tnull Nov 12, 2025
8e5503c
Add test ensuring backwards compatibility with VSS schema `v0`
tnull Nov 13, 2025
d2153f2
Add simple test ensuring we can restart from a VSS backend
tnull Nov 13, 2025
90e9736
Merge pull request #627 from tnull/2025-08-upgrade-vss-encryption-obf…
tnull Nov 17, 2025
5f1a872
Prefactor: Move `ChainSource` creation before `Wallet` creation
tnull Nov 18, 2025
c0880d9
Try to poll chain tip on initialization
tnull Nov 18, 2025
f641845
Merge pull request #706 from tnull/2025-11-poll-tip-on-init
tnull Nov 18, 2025
0a860d4
feat: add configurable BIP39 mnemonic word counts
coreyphillips Nov 10, 2025
3034614
Merge pull request #699 from coreyphillips/feat/configurable-mnemonic…
tnull Nov 18, 2025
ba335eb
Add funding_txo to ChannelReady event
jkczyz Sep 22, 2025
c585275
Add SplicePending and SpiceFailed events
jkczyz Oct 22, 2025
16d43cd
Handle LdkEvent::FundingTransactionReadyForSigning
jkczyz Oct 23, 2025
14ae753
Refactor funds checking logic into reusable method
jkczyz Sep 22, 2025
1a576d0
Add Node::splice_in method
jkczyz Sep 22, 2025
04d1c39
Add Node::splice_out method
jkczyz Oct 23, 2025
a5c9cbf
Accept inbound splice attempts
jkczyz Oct 29, 2025
d9ebd34
Add an integration test for splicing
jkczyz Oct 23, 2025
204e04d
Test splicing in do_channel_full_cycle
jkczyz Oct 29, 2025
998c69e
Expand docs on `LSPS2ServiceConfig::client_trusts_lsp` field
tnull Nov 19, 2025
e9200ab
Merge pull request #677 from jkczyz/2025-10-splicing
tnull Nov 19, 2025
6410f92
Merge pull request #707 from tnull/2025-11-expand-client-trust-lsp-docs
tnull Nov 19, 2025
fe14855
Add draft changelog for LDK Node v0.7.0
tnull Nov 19, 2025
3ed1d13
Merge pull request #708 from tnull/2025-11-cut-0.7.0-rc.1
tnull Nov 19, 2025
8e76601
Merge tag 'v0.7.0-rc.0' into feat/v0.7.0-rc.0
rolznz Nov 21, 2025
ea2cd3e
fix: compile errors
rolznz Nov 21, 2025
8870dff
fix: compile errors
rolznz Nov 21, 2025
cea9036
fix: more errors
rolznz Nov 21, 2025
325457c
fix: more compile errors
rolznz Nov 21, 2025
9c20b76
fix: compile errors
rolznz Nov 21, 2025
8594e54
chore: remove commented out code
rolznz Nov 24, 2025
bfece53
chore: panic if unexpected namespaces are listed from vss store
rolznz Nov 24, 2025
bc0968d
fix: incorrect unused imports error
rolznz Nov 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: CI Checks - Benchmarks

on: [push, pull_request]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
benchmark:
runs-on: ubuntu-latest
env:
TOOLCHAIN: stable
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Install Rust toolchain
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain stable
rustup override set stable
- name: Enable caching for bitcoind
id: cache-bitcoind
uses: actions/cache@v4
with:
path: bin/bitcoind-${{ runner.os }}-${{ runner.arch }}
key: bitcoind-${{ runner.os }}-${{ runner.arch }}
- name: Enable caching for electrs
id: cache-electrs
uses: actions/cache@v4
with:
path: bin/electrs-${{ runner.os }}-${{ runner.arch }}
key: electrs-${{ runner.os }}-${{ runner.arch }}
- name: Download bitcoind/electrs
if: "(steps.cache-bitcoind.outputs.cache-hit != 'true' || steps.cache-electrs.outputs.cache-hit != 'true')"
run: |
source ./scripts/download_bitcoind_electrs.sh
mkdir bin
mv "$BITCOIND_EXE" bin/bitcoind-${{ runner.os }}-${{ runner.arch }}
mv "$ELECTRS_EXE" bin/electrs-${{ runner.os }}-${{ runner.arch }}
- name: Set bitcoind/electrs environment variables
run: |
echo "BITCOIND_EXE=$( pwd )/bin/bitcoind-${{ runner.os }}-${{ runner.arch }}" >> "$GITHUB_ENV"
echo "ELECTRS_EXE=$( pwd )/bin/electrs-${{ runner.os }}-${{ runner.arch }}" >> "$GITHUB_ENV"
- name: Run benchmarks
run: |
cargo bench
4 changes: 4 additions & 0 deletions .github/workflows/cln-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ name: CI Checks - CLN Integration Tests

on: [push, pull_request]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
check-cln:
runs-on: ubuntu-latest
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/cron-weekly-rustfmt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Nightly rustfmt

permissions:
contents: write
pull-requests: write

on:
schedule:
- cron: "0 0 * * 0" # runs weekly on Sunday at 00:00
workflow_dispatch: # allows manual triggering
jobs:
format:
name: Nightly rustfmt
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Run Nightly rustfmt
# Run the formatter and manually remove trailing whitespace.
run: cargo +nightly fmt && git ls-files -- '*.rs' -z | xargs sed -E -i'' -e 's/[[:space:]]+$//'
- name: Get the current date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
with:
author: Fmt Bot <bot@example.com>
title: Automated nightly rustfmt (${{ env.date }})
body: |
Automated nightly `rustfmt` changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action
commit-message: ${{ env.date }} automated rustfmt nightly
labels: rustfmt
6 changes: 5 additions & 1 deletion .github/workflows/lnd-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ name: CI Checks - LND Integration Tests

on: [push, pull_request]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
check-lnd:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -49,4 +53,4 @@ jobs:
run: LND_CERT_PATH=$LND_DATA_DIR/tls.cert LND_MACAROON_PATH=$LND_DATA_DIR/data/chain/bitcoin/regtest/admin.macaroon
RUSTFLAGS="--cfg lnd_test" cargo test --test integration_tests_lnd -- --exact --show-output
env:
LND_DATA_DIR: ${{ env.LND_DATA_DIR }}
LND_DATA_DIR: ${{ env.LND_DATA_DIR }}
6 changes: 0 additions & 6 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,9 @@ jobs:
- name: Install Rust ${{ matrix.toolchain }} toolchain
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain ${{ matrix.toolchain }}
rustup override set ${{ matrix.toolchain }}
- name: Check formatting on Rust ${{ matrix.toolchain }}
if: matrix.check-fmt
run: rustup component add rustfmt && cargo fmt --all -- --check
- name: Pin packages to allow for MSRV
if: matrix.msrv
run: |
cargo update -p home --precise "0.5.9" --verbose # home v0.5.11 requires rustc 1.81 or newer
cargo update -p idna_adapter --precise "1.1.0" --verbose # idna_adapter 1.2 switched to ICU4X, requiring 1.81 and newer
- name: Set RUSTFLAGS to deny warnings
if: "matrix.toolchain == 'stable'"
run: echo "RUSTFLAGS=-D warnings" >> "$GITHUB_ENV"
Expand Down
21 changes: 21 additions & 0 deletions .github/workflows/swift.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: CI Checks - Swift Tests

on: [push, pull_request]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
check-swift:
runs-on: macos-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set default Rust version to stable
run: rustup default stable

- name: Generate Swift bindings
run: ./scripts/uniffi_bindgen_generate_swift.sh
46 changes: 6 additions & 40 deletions .github/workflows/vss-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
env:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: YOU_MUST_CHANGE_THIS_PASSWORD
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
Expand All @@ -36,47 +36,13 @@ jobs:
repository: lightningdevkit/vss-server
path: vss-server

- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: 'corretto'
java-version: '17'

- name: Start Tomcat
- name: Build and Deploy VSS Server
run: |
docker run -d --network=host --name tomcat tomcat:latest

- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: release-candidate

- name: Create database table
run: |
psql -h localhost -U postgres -d postgres -f ./vss-server/java/app/src/main/java/org/vss/impl/postgres/sql/v0_create_vss_db.sql
env:
PGPASSWORD: YOU_MUST_CHANGE_THIS_PASSWORD

- name: Build and Deploy VSS
run: |
# Print Info
java -version
gradle --version

cd vss-server/java
gradle wrapper --gradle-version 8.1.1
./gradlew --version
./gradlew build

docker cp app/build/libs/vss-1.0.war tomcat:/usr/local/tomcat/webapps/vss.war
cd ../
- name: Run VSS Integration tests against vss-instance.
cd vss-server/rust
cargo run server/vss-server-config.toml&
- name: Run VSS Integration tests
run: |
cd ldk-node
export TEST_VSS_BASE_URL="http://localhost:8080/vss"
RUSTFLAGS="--cfg vss_test" cargo build --verbose --color always
RUSTFLAGS="--cfg vss_test" cargo test io::vss_store
RUSTFLAGS="--cfg vss_test" cargo test --test integration_tests_vss

- name: Cleanup
run: |
docker stop tomcat && docker rm tomcat
53 changes: 53 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,56 @@
# 0.7.0 - TODO
This seventh minor release introduces numerous new features, bug fixes, and API improvements. In particular, it adds support for channel Splicing, Async Payments, as well as sourcing chain data from a Bitcoin Core REST backend.

## Feature and API updates
- Experimental support for channel splicing has been added. (#677)
- **Note**: Splicing-related transactions might currently still get misclassified in the payment store.
- Support for serving and paying static invoices for Async Payments has been added. (#621, #632)
- Sourcing chain data via Bitcoin Core's REST interface is now supported. (#526)
- A new `Builder::set_chain_source_esplora_with_headers` method has been added
that allows specifying headers to be sent to the Esplora backend. (#596)
- The ability to import and merge pathfinding scores has been added. (#449)
- Passing a custom pre-image when sending spontaneous payments is now supported. (#549)
- When running in the context of a `tokio` runtime, we now attempt to reuse the
outer runtime context for our main runtime. (#543)
- Specifying a `RouteParametersConfig` when paying BOLT12 offers or sending refunds is now supported. (#702)
- Liquidity service data is now persisted across restarts. (#650)
- The bLIP-52/LSPS2 service now supports the 'client-trusts-LSP' model. (#687)
- The manual-claiming flow is now also supported for JIT invoices. (#608)
- Any key-value stores provided to `Builder::build_with_store` are now
required to implement LDK's `KVStore` as well as `KVStoreSync` interfaces.
(#633)
- The `generate_entropy_mnemonic` method now supports specifying a word count. (#699)

## Bug Fixes and Improvements
- Robustness of the shutdown procedure has been improved, minimizing risk of blocking during `Node::stop`. (#592, #612, #619, #622)
- The VSS storage backend now supports 'lazy' deletes, allowing it to avoid unnecessary remote calls for certain operations. (#689)
- The encryption and obfuscation scheme used when storing data against a VSS backend has been improved. (#627)
- Transient errors during `bitcoind` RPC chain synchronization are now retried with an exponential back-off. (#588)
- Transactions evicted from the mempool are now correctly handled when syncing via `bitcoind` RPC/REST. (#605)
- When sourcing chain data from a Bitcoin Core backend, we now poll for the
current tip in `Builder::build`, avoiding re-validating the chain from
genesis on first startup. (#706)
- A bug that could result in the node hanging on shutdown when sourcing chain data from a Bitcoin Core backend has been fixed. (#682)
- Unnecessary fee estimation calls to Bitcoin Core RPC are now avoided. (#631)
- The node now persists differential updates instead of re-persisting full channel monitor, reducing IO load. (#661)
- The previously rather restrictive `MaximumFeeEstimate` was relaxed. (#629)
- The node now listens on all provided listening addresses. (#644)

## Compatibility Notes
- The minimum supported Rust version (MSRV) has been bumped to `rustc` v1.85 (#606)
- The LDK dependency has been bumped to v0.2.
- The BDK dependency has been bumped to v2.2. (#656)
- The VSS client dependency has been updated to utilize the new `vss-client-ng` crate v0.4. (#627)
- The `rust-bitcoin` dependency has been bumped to v0.32.7. (#656)
- The `uniffi` dependency has been bumped to v0.28.3. (#591)
- The `electrum-client` dependency has been bumped to v0.24.0. (#602)
- For Kotlin/Android builds we now require 16kb page sizes, ensuring Play Store compatibility. (#625)

In total, this release features TODO files changed, TODO insertions, TODO
deletions in TODO commits from TODO authors in alphabetical order:

- TODO TODO

# 0.6.2 - Aug. 14, 2025
This patch release fixes a panic that could have been hit when syncing to a
TLS-enabled Electrum server, as well as some minor issues when shutting down
Expand Down
Loading
Loading