Sync Fork#10
Merged
amackillop merged 261 commits intoOct 15, 2025
Merged
Conversation
.. and forward it to our `LiquditySource`.
.. to align with other event handling variants: First log, then act, then emit event if everything went okay.
.. so far we just silently fail if something goes wrong, eventually we'll need to implement retrying channel opens to honor buy requests that didn't succeed on the first attempt.
…ervice-support Add bLIP-52 / LSPS2 service-side support
General improvements: - Add TestConfig wrapper around Config to allow per-test log field overrides while preserving the general test setup. - Test facade logger. - Add logging module and validate log entries. - Improve UniFFI logging adding UniFFI flag for relevant log objects. - Remove facade level, because the concrete `Log` impl controls max log level.
…ng-interface Test logging interface
Historically, we aligned `uniffi` and non-`uniffi` APIs as much as possible (mostly because there are no rendered docs available for the latter). As the APIs have diverged a bit by now anyways, we here have `Builder::set_entropy_seed_bytes` take a `[u8; 64]`, which makes for a better API in Rust.
…by-array Have `Builder::set_entropy_seed_bytes` take `[u8; 64]` for non-`uniffi`
…-failures Handle remaining panic on persistence failure
Return specific error if the node is restarted with a different network from the one it was first created with. This will be caught when trying to load the `BDK` wallet.
Add `NetworkMismatch` error type
Sets up a local environment for LND integration testing in CI Closes 505
.. we add a field describing exactly how much the LSP withheld.
Implements BackgroundSyncConfig to control background wallet synchronization behavior. - Allows users to explicitly disable background wallet synchronization - Sets intervals to minimum threshold if specified value is below it Context: Some users have setups where they need to rely exclusively on manual syncing. Previously, they had to set intervals to u64::MAX as a workaround to effectively disable background syncing. This implementation provides a cleaner, explicit approach for controlling sync behavior when manual syncing via sync_wallets() is preferred. Breaking change: Existing implementations may need updates to accommodate the new configuration structure. Closes lightningdevkit#310
…ails-nits Add `counterparty_skimmed_fee_msat` field to `PaymentKind::Bolt11Jit`
…l-wallet-sync Allow disabling wallet background syncing
In certain node configurations a user might want or need to announce different addresses to the network than the ones they bind their tcp listeners to.
This error type can provide more context to callers about why the node configuration does not support channel announcements.
A new integration test that configures nodes using the new announcement addresses configuration. Ensures that both nodes receive the correct alias and address for nodes using and not using this new feature.
…ddresses Support separate node announcement addresses
Previously, we'd always disallow forwarding to unannounced channels. However, if we're acting as an LSP, we *should* allow forwarding to unannounced channels.
…annel-forward-if-lsp Allow forwarding to unannounced channels if LSP service is enabled
Adds tests to: - Open a payment channel with LND. - Request and pay an invoice, verifying receipt. - Generate an invoice for LND to pay, verifying receipt. Uses lnd_grpc_rust for gRPC communication. Closes lightningdevkit#505
Configures CI to run LND tests using the Docker Compose environment. Closes lightningdevkit#505
- Add timeout, max retries, and error handling to wait_for_block and wait_for_tx functions in Python tests - Catch and log connection errors instead of failing immediately - Use shorter sleep interval (0.5s) to match Kotlin implementation - Add error messages during retries This addresses the "Connection reset by peer" errors in CI by making the Python tests more resilient to temporary network issues when connecting to the Esplora API.
.. to be easier reusable via `KVStore` also
.. where the former holds the latter in an `Arc` that can be used in async/`Future` contexts more easily.
.. to be easier reusable via `KVStore` also
.. where the former holds the latter in an `Arc` that can be used in async/`Future` contexts more easily.
As an intermediary step, we require any store to implement both `KVStore` and `KVStoreSync`, allowing us to switch over step-by-step. We already switch to the fully-async background processor variant here.
The `bdk_wallet` release 2.2 deprecated BDK's signer API in favor of using `bitcoin::psbt::sign`. As the best approach for switching to that API is currently not entirely clear, we intermittently allow for the use of the deprecated APIs to silence the warnings and unbreak our CI.
…tore Require both `KVStore` and `KVStoreSync` implementations, switch BP to be fully-async
…-2.2 Bump BDK to 2.2, rust-bitcoin to 0.32.7
We recently implemented persistence for the `lightning-liquidity` service state. Here we make corresponding changes in LDK Node to have our service state persisted.
…ence Account for `LiquidityManager` persistence
…move Account for `Arc`s and `lazy` being dropped
- We fix an oversight introduced in 9977903 where we switched `Cargo.toml` to use local dependencies instead of pointing to an appropriate upstream commit - We account for Splicing-related events - We account for `KeysManager` taking a new flag for v2-payment-key derivation.
…est-LDK-splicing Bump to latest LDK `main`
We update our LDK dependency to the just-released v0.2.0-beta1.
Since we just deprecated the Java version of the VSS server, we here switch our CI over to use the Rust version.
…ust-vss-server Switch to use Rust VSS server in CI
…-2.0-beta1 Bump LDK to v0.2.0-beta1
5a6ec24 to
d401979
Compare
…15/sync-fork * upstream/main: (177 commits) Switch to use Rust VSS server in CI Bump LDK to v0.2.0-beta1 Bump to latest LDK `main` Account for `OutputSweeper::read` being dropped Account for `LiquidityManager` taking a broadcaster Account for lifetime change in `get_change_destination_script` Account for `lazy` being dropped from `KVStore::remove` Account for dropped `Arc` for `DefaultTimeProvider` Account for `LiquidityManager` persistence Use `#[allow(deprecated)]` to silence new deprecation warnings Require both types of `KVStore` Implement `KVStore` for `TestSyncStore` Split `TestSyncStore` into `TestSyncStore` and `TestSyncStoreInner` Move `TestStoreSync` logic to `_internal` methods Implement `KVStore` for `SqliteStore` Bump BDK to 2.2, rust-bitcoin to 0.32.7 Split `SqliteStore` into `SqliteStore` and `SqliteStoreInner` Move `SqliteStore` logic to `_internal` methods f No need to use `RwLock` if we ever only `write` it Implement `KVStore` for `VssStore` ...
d401979 to
a263427
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Syncing the probing fork to be up to date with upstream main