Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to LDK 0.4.2 #53

Merged
merged 173 commits into from
Nov 4, 2024
Merged

Update to LDK 0.4.2 #53

merged 173 commits into from
Nov 4, 2024

Commits on Jun 21, 2024

  1. Fix inbound capacity comment

    elnosh committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    182bc21 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2024

  1. Merge pull request lightningdevkit#317 from elnosh/fix-inbound-comment

    Fix inbound capacity comment
    tnull authored Jun 23, 2024
    Configuration menu
    Copy the full SHA
    66fec69 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2024

  1. Allow start from outer runtime

    We add a `Node::start_with_runtime` method that allows to reuse a
    pre-existing runtime, e.g., to avoid stacking runtime contexts when
    running in a tokio async environment.
    tnull committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    f2074f1 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. Revert "Pin url to v2.5.0 in CI to fix MSRV breakage"

    This reverts commit 0285b55.
    tnull committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    a7466c6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ab059a8 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2024

  1. Configuration menu
    Copy the full SHA
    a60900f View commit details
    Browse the repository at this point in the history
  2. Merge pull request lightningdevkit#323 from jbesraa/2024-07-10-ignore…

    …-uniffi-target-folder
    
    Ignore all `target` folders including bindings
    tnull authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    13ec8df View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2024

  1. Merge pull request lightningdevkit#319 from lightningdevkit/2024-06-s…

    …tart-with-runtime
    
    Allow start from outer runtime
    tnull authored Jul 11, 2024
    Configuration menu
    Copy the full SHA
    8a4afb6 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. Pin cc to 1.0.105 for MSRV

    jbesraa committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    abfcc2e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    403c137 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2024

  1. Revert "Pin cc to 1.0.105 for MSRV"

    This reverts commit abfcc2e.
    tnull committed Jul 15, 2024
    Configuration menu
    Copy the full SHA
    4793289 View commit details
    Browse the repository at this point in the history
  2. Merge pull request lightningdevkit#326 from tnull/2024-07-unpin-cc

    Revert "Pin `cc` to `1.0.105` for MSRV"
    tnull authored Jul 15, 2024
    Configuration menu
    Copy the full SHA
    8dd3790 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. Add BIP21 Unified QR Code Support (lightningdevkit#302)

    * Add `UnifiedQrPayment` module for BIP21 URIs
    
    Firstly, I thought I staged and made commits for `unified_qr.rs`
    so sorry if this is out of order!
    
    But in `unified_qr.rs` I
      - I introduced the `UnifiedQrPayment` struct to handle creating
        and paying BIP21 URIs
      - `receive` generates a URI with an on-chain address and BOLT11
         invoice and returns the URI as a string
      - `send` will parse a given URI string and attempt to send the
        BOLT12 offer, BOLT11 invoice, then if those fail the fallback
        on-chain address will be paid to.
      - Then I included tests for URI generation and URI parsing
      - Also has logging and error handling for payment operations
    
    * Add `unified_qr_payment` payment handler to `Node`
    
      - implement unified_qr_payment method to create the
        Unified QR  payment handler
      - Includes conditional UniFFI features and updates docs
        with BIP21 and BOLT11 links
    
    * Add support for `unified_qr` in payment mod
    
      - Included unified_qr in payment module
      - Added `PaymentResult` and `UnifiedQrPayment`
        from unified_qr for public use
    
    * Add bip21 crate to handle BIP21 URIs
    
    * Add `UnifiedQrPayment` and `PaymentResult` to `ldk_node.udl`
    
      - Introduced `UnifiedQrPayment` method to `Node` interface
      - Add `UnifiedQrPayment` interface with `receieve and
        `send` methods
      - Add `PaymentResult` interface (enum) with `Onchain`,
        `Bolt11` and `Bolt12` fields
    
    These changes add support for our UniFFI bindings and enable
    the use of `unified_qr_payment` payment handler in Swift,
    and Kotlin.
    
    * Update `Error` enum with URI related errors
    
      - Add `UriParameterFailed` and `InvalidUri` fields to
        the `Error` enum
      - Added related error  messages in the Display impl for
        the new fields
    
    * Add `PaymentResult` import for UniFFI bindings
    
      - Added `PaymentResult` so the .udl could access
        the enum
      - Added comment to explain the need to import any
        re-exported items to enure they're accessible in
        UniFFI. (becasue rustc says to add them in `lib.rs`
    
    * Add Unified QR `send`/`receive` integration tests
    
      - Added `unified_qr_send_receive` test to verify the `UnifedQrPayment`
        functionality
      - Added logic to handle paying a `BOLT12` offer, `BOLT11` invoice,
        and if those fail `On-chain` tx from a URI.
      - Validated each payments successful event
      - Ensured the off-chain and on-chain balacnes reflected the payment
        attempts
    
    * Update PR with optimizations and nit fixups
    
    The changes include:
      - Fixed a handful of nits for better readability in
        docs and simple grammar errors and made various name
        changes that affected the committed files.
      - Added a helper function in unified_qr.rs called
        capitalize_qr_params to format the lightning param in
        the receive method
      - Removed the optional message in the receive method and
        made it a required &str
      - Adjusted UDL formatting to use tabs instead of spaces
    
    These changes were made to improve code quality and
    maintainability based on the review feedback
    
    * Refactor URI parsing and add Bolt12 offer in receive
    
    Changes include:
      - Modified serialize_params to serialize both invoices and offers
      - Refactored deserialize_temp by removing the code that was
        parsing based on the lightning invoice/offer prefix. I instead
        used for loop to iterate over each lightning parameter,
        attempting to parse the string as an offer first, and then as an
        invoice. May need to log an error if neither succeeds
      - Added support for Bolt12 offers in the receive method
      - Updated capitalize_params function to handle multiple lightning
        parameters
      - Added a generate_bip21_uri test to show what the uri looks
        like in integration_tests_rust
      - Adjusted integration tests. Still needs work
    
    Still trying to figure out a bug related to Bolt12 offers being
    "paid" when it should fall back to an on-chain tx
    
    * Update BOLT12 offer to use `lno` key
    
    In this commit:
      - In serialize_params, BOLT12 offers were changed
        to be serialized with the `lno` key rather than
        the `lightning` key
      - During deserializing, I had to make the same update.
        Used a match to check whether it was a `lightning`
        or `lno` key and then parsed accordingly.
      - Next, a small name change: capitalize_qr_params to
        format_uri. Previously I changed the value after
        "&lightning" to all caps, but the "&lno=" value
        wasn't being changed. So, added a helper method inside
        format_uri to capitalize the values given the key!
      - Updated corresponding tests with `lno` update
    
    Small nits:
      - Updated QrPaymentResult with more thorough docs
      - Added a parsing test with an offer
    
    * Refactor for clarity and improve error handling
    
    This commit fixes a handful of minor comments/nits
    that include:
      - Updates to set the `bip21`  crates default-features to false,
        to minimize dependencies.
      - Enable the `std` feature since we use/benefit from it.
    
      - In `receive` return `InvoiceCreationFailed` or `OfferCreationFailed`
        when creating an invoice or offer. Rather than silently logging the
        error.
      - Also in `receive` we first check if an amount is specified, and if
        not, return an error and abort.
      - Pass in `Config` to `UnifiedQrPayment` struct to use the users config
        network.
      - In `send` instead of checking each network for the `NetworkChecked`
        URI, we pass in the `Config::Network`.
      - Simplifed param parsing in `deserialize_temp` by directly finding
        the key and parsing the corresponding value.
    
      - General documentation fixes.
      - In parsing tests, moved longer invoice/offer strings into.
        variables that start with expected_ for clarity.
    
    * Fix docs for clarity
    
    Cleaned up the docs so they are easier to understand for the
    user. Also changed the message param in receive to description.
    slanesuke authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    77a0bbe View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. Request current fee rates only once

    .. rather than once per target.
    tnull committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    caa4d22 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8a59dc0 View commit details
    Browse the repository at this point in the history
  3. Account for check-cfg

    Recently, Rust 1.80 introduced automatic checking of `cfg` flags (see
    https://blog.rust-lang.org/2024/05/06/check-cfg.html). Here,
    we add all custom `cfg`s to the expected list
    tnull committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    5733b58 View commit details
    Browse the repository at this point in the history
  4. Merge pull request lightningdevkit#335 from tnull/2024-07-account-for…

    …-check-cfg
    
    Account for `check-cfg`
    tnull authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    5b9b607 View commit details
    Browse the repository at this point in the history
  5. Merge pull request lightningdevkit#334 from tnull/2024-07-fix-onchain…

    …-payment-variable-naming-bindings
    tnull authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    8e5dbfe View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    987f78c View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. Configuration menu
    Copy the full SHA
    f382ea0 View commit details
    Browse the repository at this point in the history
  2. Merge pull request lightningdevkit#337 from slanesuke/2024-08-fix-cln…

    …-test-cfg
    
    Fix: added `cfg(cln_test)` to `Cargo.toml`
    tnull authored Aug 2, 2024
    Configuration menu
    Copy the full SHA
    d76509b View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. Configuration menu
    Copy the full SHA
    ed841e0 View commit details
    Browse the repository at this point in the history
  2. Merge pull request lightningdevkit#338 from tnull/2024-08-pin-tokio

    Pin `tokio` to v1.38.1 to fix MSRV build
    tnull authored Aug 7, 2024
    Configuration menu
    Copy the full SHA
    952b889 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2024

  1. Configuration menu
    Copy the full SHA
    40170d9 View commit details
    Browse the repository at this point in the history
  2. Merge pull request lightningdevkit#340 from tnull/2024-08-cache-downl…

    …oads
    
    Enable caching for `bitcoind`/`electrs` in CI
    tnull authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    0d4ff37 View commit details
    Browse the repository at this point in the history
  3. Make cache keys OS-specific

    .. just to be sure.
    tnull committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    30ce72d View commit details
    Browse the repository at this point in the history
  4. Merge pull request lightningdevkit#341 from tnull/2024-08-make-cache-…

    …os-specific
    
    Make cache `key`s OS-specific
    tnull authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    2bbb764 View commit details
    Browse the repository at this point in the history
  5. Try fix caching

    ... see if dropping $HOME works.
    tnull committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    6b35703 View commit details
    Browse the repository at this point in the history
  6. Merge pull request lightningdevkit#342 from tnull/2024-08-try-fix-cac…

    …hing
    
    Try fix caching
    tnull authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    dcdbaf7 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. Try fixing caching once more

    .. since it stopped working now?
    tnull committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    41ae206 View commit details
    Browse the repository at this point in the history
  2. Merge pull request lightningdevkit#343 from tnull/2024-08-try-fix-cac…

    …hing-2
    
    Try fixing caching once more
    tnull authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    dffb790 View commit details
    Browse the repository at this point in the history
  3. Fix caching third attempt

    .. we previously only set the environment variables when we downloaded
    the binaries. Here, we set them in a separate step to have them being
    usable when we're hitting the cache
    tnull committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    0cfb829 View commit details
    Browse the repository at this point in the history
  4. Merge pull request lightningdevkit#344 from tnull/2024-08-try-fix-cac…

    …hing-3
    
    Fix caching third attempt
    tnull authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    3b645b3 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. Add payer_note in PaymentKind::Bolt12

    Add support for including `payer_note` in `Bolt12Offer`
    and `PaymentKind::Bolt12` and updated the relevant code to
    handle where the new `payer_note` field was required.
    slanesuke committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    683bfb3 View commit details
    Browse the repository at this point in the history
  2. Merge pull request lightningdevkit#327 from slanesuke/2024-07-expose-…

    …payer_note-in-PKbolt12
    
    Expose `payer_note` in `PaymentKind::Bolt12`
    tnull authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    76fb23f View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2024

  1. Return a non-Arced Bolt12Payment for non-uniffi

    .. somehow this was previously overlooked.
    tnull committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c5b8d6e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e233188 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2024

  1. Introduce SendingParameters struct

    `SendingParameters` allows users to override opinionated values while
    routing a payment such as `max_total_routing_fees`, `max_path_count`
    `max_total_cltv_delta`, and `max_channel_saturation_power_of_half`
    
    Updated docs for `max_channel_saturation_power_of_half` for
    clarity.
    slanesuke committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    5fe90d1 View commit details
    Browse the repository at this point in the history
  2. Add default SendingParameters to node config

    Introduced `sending_parameters_config` to `Config` for node-wide
    routing and pathfinding configuration. Also, added default values
    for `SendingParameters` to ensure reasonable defaults when no
    custom settings are provided by the user.
    slanesuke committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    bf4ddff View commit details
    Browse the repository at this point in the history
  3. Add SendingParameters to bolt11 send

    Updated `Bolt11Payment` `send` method to accept `SendingParameters`,
    as a parameter. If the user provided sending params the default
    values are overridden.
    slanesuke committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    d6e6ff7 View commit details
    Browse the repository at this point in the history
  4. Add SendingParameters to bolt11 send_using_amount

    Added the optional `SendingParameters` to `send_using_amount` in
    `Bolt11Payment`. If the user provides sending params the values
    will be overridden otherwise they'll use the default values.
    slanesuke committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    2b85ba9 View commit details
    Browse the repository at this point in the history
  5. Add SendingParameters to spontaneous send

    Added optional SendingParameters to the send method in
    SpontaneousPayment. If the user provides sending params
    the values will be overridden otherwise they remain the
    same.
    slanesuke committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    4822336 View commit details
    Browse the repository at this point in the history
  6. Merge pull request lightningdevkit#336 from slanesuke/2024-07-introdu…

    …ce-PaymentParameters
    
    Add `SendingParameters` struct for customizable payments
    tnull authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    398ece5 View commit details
    Browse the repository at this point in the history
  7. Fix python send

    tnull committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    76d0698 View commit details
    Browse the repository at this point in the history
  8. Reorder config imports

    tnull committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    4235a19 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3ca42ff View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2024

  1. Refactor max_total_routing_fee_msat to allow setting None

    Previously, the `SendingParamters` field was simply an `Option<u64>`,
    which however means we could just override it to be `Some`. Here, we
    have it be `Option<Option<u64>>` which allows the `None` override. As
    UniFFI doesn't support `Option<Option<..>>`, we work around this via a
    dedicated `enum` that is only exposed under the `uniffi` feature.
    tnull committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    8a432b1 View commit details
    Browse the repository at this point in the history
  2. Drop default_cltv_expiry_delta

    .. as it was used for spontaneous payments only and hence a bit
    misleading.
    
    We drop it for now and see if any users would complain. If so, it would
    probably be sufficient for it to be an optional parameter on the
    spontaneous payments methods.
    tnull committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    b282d42 View commit details
    Browse the repository at this point in the history
  3. Refactor ChannelConfig / MaxDustHTLCExposure

    Previously, we chose to expose `ChannelConfig` as a Uniffi `interface`,
    providing accessor methods. Unfortunately this forced us to `Arc` it
    everywhere in the API, and also didn't allow to retrieve the currently
    set dust exposure limits. Here, we refactor our version of
    `ChannelConfig` to be a normal `struct` (Uniffi `dictionary`), and only
    expose the `MaxDustHTLCExposure` as an enum-`interface`.
    tnull committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    09d68ee View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ab7cc70 View commit details
    Browse the repository at this point in the history
  5. Merge pull request lightningdevkit#350 from tnull/2024-08-channel-con…

    …fig-refactor
    
    Refactor `ChannelConfig` / `MaxDustHTLCExposure`
    tnull authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    ea448a1 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2024

  1. Configuration menu
    Copy the full SHA
    7202c83 View commit details
    Browse the repository at this point in the history
  2. Refactor FeeEstimator to introduce local target variants

    .. previously we used LDK's `FeeEstimator` and `ConfirmationTarget` and
    ~misused some of the latter's variants for our non-Lightning operations.
    
    Here, we introduce our own `FeeEstimator` and `ConfirmationTarget`
    allowing to add specific variants for `ChannelFunding` and
    `OnchainPayment`s, for example.
    tnull committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    42a695e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4535c5f View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2024

  1. Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows

    Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7.
    - [Release notes](https://github.com/actions/download-artifact/releases)
    - [Commits](actions/download-artifact@v3...v4.1.7)
    
    ---
    updated-dependencies:
    - dependency-name: actions/download-artifact
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored Sep 3, 2024
    Configuration menu
    Copy the full SHA
    e805403 View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2024

  1. Merge pull request lightningdevkit#353 from lightningdevkit/dependabo…

    …t/github_actions/dot-github/workflows/actions/download-artifact-4.1.7
    
    Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows
    tnull authored Sep 4, 2024
    Configuration menu
    Copy the full SHA
    bd42f57 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. Configuration menu
    Copy the full SHA
    1183019 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    648058e View commit details
    Browse the repository at this point in the history
  3. Add copyright notices where they were missing

    Previously, only a few files included coypright headers. Here, we fix
    the omission and add the headers to all files where they were absent.
    tnull committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    7eca7fb View commit details
    Browse the repository at this point in the history
  4. Merge pull request lightningdevkit#355 from tnull/2024-09-add-copyrig…

    …ht-headers
    
    Add copyright notices where they were missing
    tnull authored Sep 5, 2024
    Configuration menu
    Copy the full SHA
    6d8382b View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2024

  1. Vss-client upgrade to 0.3.x

    G8XSU committed Sep 7, 2024
    Configuration menu
    Copy the full SHA
    6be51c6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    92612dc View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. Configuration menu
    Copy the full SHA
    7c7b98b View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. Merge pull request lightningdevkit#357 from G8XSU/vss-client-upgrade

    Vss-client upgrade to 0.3.x
    tnull authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    1a6a2ca View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. feat: sanitize and set node alias

    What this commit does:
    Implements a method `set_node_alias` on NodeBuilder to allow
    callers customize/set the value of the node alias. This method
    sanitizes the user-provided alias by ensuring the following:
     + Node alias is UTF-8-encoded String
     + Node alias is non-empty
     + Node alias cannot exceed 32 bytes
     + Node alias is only valid up to the first null byte. Every
       character after the null byte is discraded
    
    Additionally, a test case is provided to cover sanitizing
    empty node alias, as well as an alias with emojis (copied and
    modified from rust-lightning) and a sandwiched null byte.
    enigbe committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    12dfc1a View commit details
    Browse the repository at this point in the history
  2. feat: broadcast node announcement with set alias

    What this commit does:
    Broadcasts node announcement with the user-provided alias, if set,
    else, uses the default [0u8;32].
    
    Additionally, adds a random node alias generating function for use
    in the generation of random configuration.
    enigbe committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    e54bfe0 View commit details
    Browse the repository at this point in the history
  3. fix: correct node announcement, simplify setting alias, clean

         alias sanitization
    
    - Skips broadcasting node announcement in the event that either
      the node alias or the listening addresses are not set.
    - Aligns the InvalidNodeAlias error variant with the others to
      make it work with language bindings.
    - Simplifies the method to set the node alias.
    - Cleans up the alias sanitizing function to ensure that protocol-
      compliant aliases (in this case, empty strings) are not flagged.
      Additionally, removes the check for sandwiched null byte.
    - Finally, adds the relevant update to struct and interface to
      reflect changes in Rust types.
    enigbe committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    5bd4a88 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8e73296 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7ad7029 View commit details
    Browse the repository at this point in the history
  6. refactor: update node alias sanitization

    What this commit does:
    + Updates the sanitization function for node alias to return NodeAlias
    + Updates the node alias type in the configuration to NodeAlias and implements a conversion to/from String for bindings
    + With this update, regardless of where the alias is set, i.e. in the set_node_alias or directly, sanitization occurs.
    enigbe committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    81a0f4d View commit details
    Browse the repository at this point in the history
  7. refactor: decompose connecting w/ peer & opening a channel

    What this commit does:
    + Decomposes connect_open_channel into two different functions:
       open_channel and open_announced_channel. This allows opening
       announced channels based on configured node alias and listening
       addresses values.
    + This enforces channel announcement only on the condition that
        both configuration values are set.
    + Additionally, a new error variant `OpenAnnouncedChannelFailed`
        is introduced to capture failure.
    
        Note: I thought I added the `InvalidNodeAlias` variant in the
        previous commit
    enigbe committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    32e7096 View commit details
    Browse the repository at this point in the history
  8. docs: cleanup documentation

    enigbe committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    059a30e View commit details
    Browse the repository at this point in the history
  9. test: update tests due to connect_open_channel decomposition

    What this commit does:
    + Replaces calls to `connect_open_channel` with `open_channel` and
        `open_announced_channel` where appropriate.
    
    Status: Work In Progress (WIP)
    
    Observation:
    + The integration tests are now flaky and need further investigation
        to ascertain the reason(s) why and then to fix.
    enigbe committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    09fca09 View commit details
    Browse the repository at this point in the history
  10. fix: change channel config type in open_(announced)_channel

    What this commit does:
    + Removes the wrapping Arc from the channel config. This is a missed
        update after rebasing.
    enigbe committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    1160034 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    6c3deaf View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    6aff282 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. refactor: improve channel announcement logic and fix binding tests

    This commit addresses changes necessary to:
    - fix failing tests for generated bindings
    - remove unnecessary error variant previously introduced to capture
      failure associated with opening announced channels, and re-use
      existing variants that better capture the reasons, i.e. `InvalidNodeAlias`
      and `InvalidSocketAddress`, why opening an announced channel failed.
    - correct visibility specifiers for objects, and
    - cleanup nitpicks
    
    Specific modifications across several files include:
    - updating the UDL file, as well as tests related to python and kotlin
      that call `open_channel` and/or open_announced_channel
    - repositioning/rearranging methods and struct fields
    - introducing enums (`ChannelAnnouncementStatus` & `ChannelAnnouncementBlocker`)
      to capture and codify channel announceable eligibility, providing reasons
      for unannounceable channels
    - modifying `can_announce_channel` to utilize the aforementioned enums,
      as opposed to simply returning a boolean value.
    - cleaning up and renaming `connect_open_channel` to `open_channel_inner`,
      and maintaining a boolean flag for channel announcement
    - updating documentation, unit, and integration tests that factor all
      these changes
    enigbe committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    0af5df6 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2024

  1. fix(test): Implement conditional channel opening based on aliases and…

    … addresses
    
    This commit addresses flaky test issues related to conditional channel
    opening between nodes, considering node aliases and listening addresses.
    
    Changes in test modules:
    - Add/modify helper functions to randomize channel announcement flags
    - Generate random node aliases based on announcement flags:
      * Set custom alias if announce_channel is true
      * Use default alias otherwise
    - Update channel opening logic to account for node and channel announcements
    enigbe committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    4fd1cb8 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. Configuration menu
    Copy the full SHA
    c9ebeb6 View commit details
    Browse the repository at this point in the history
  2. Revert "fix(test): Implement conditional channel opening based on ali…

    …ases and addresses"
    
    This reverts commit 4fd1cb8 as unit
    tests need to be kept deterministic, i.e., opening announced channels is
    a deliberate choice on a per test case basis.
    tnull committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    11f9a89 View commit details
    Browse the repository at this point in the history
  3. Clarify Builder/Config docs

    We improve the docs a bit, highlight the requirements for node aliases,
    and that we'll only ever allow announcing channels if they are properly
    set.
    tnull committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    b8e3d7a View commit details
    Browse the repository at this point in the history
  4. Fix alignment in config docs

    tnull committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    7c3232c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    81c36d4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d630365 View commit details
    Browse the repository at this point in the history
  7. Replace ChannelAnnouncementStatus boilerplate with a simple bool flag

    We drop the previously-introduced
    `ChannelAnnouncementStatus`/`ChannelAnnouncementBlocker` types. While
    informative, they were a bit too much boilerplate. Instead we opt to
    simply return a `bool` from `may_announce_channel`, and don't spawn the
    node announcment task to begin with if we're not configured properly.
    tnull committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    58f40b9 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. Make announcing channels in tests a choice again

    Previously, we always opened announced channels in tests, but it should
    be a deliberate choice depending on the scenario we're trying to test
    for.
    tnull committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    534b1ac View commit details
    Browse the repository at this point in the history
  2. Drop open_announced_channel from README

    .. as we generally want to ~discourage users from arbitrarily opening
    announced channels. They really only should do so if they are willing
    and able to run a proper 24/7 forwarding node. And node operators will
    likely know what to look for in the API.
    tnull committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    85862f5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    58188b8 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2024

  1. Prefactor: Move src/wallet.rs to src/wallet/mod.rs

    We will be adding some wallet persistence/serialization related types
    and in a separate module down the line, so here we perepare for it by
    already moving the wallet code to a module directory.
    tnull committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    a225e1e View commit details
    Browse the repository at this point in the history
  2. Update the world

    ... we update LDK, lightning-liquidity, BDK, rust-bitcoin, rust-esplora-client,
    rust-electrum-client, etc.
    tnull committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    d0de144 View commit details
    Browse the repository at this point in the history
  3. Merge pull request lightningdevkit#358 from tnull/2024-08-upgrade-to-…

    …LDK-0.0.124-BDK-1.0
    tnull authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    3f1c842 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2024

  1. Re-add block_in_place in stop

    ... which somehow was removed as part of the recent refactoring.
    tnull committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    176b5c6 View commit details
    Browse the repository at this point in the history
  2. Merge pull request lightningdevkit#373 from tnull/2024-10-stop-block-…

    …in-place
    
    Re-add `block_in_place` in `stop`
    tnull authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    6372475 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2024

  1. Upgrade LDK to v0.0.125

    Since LDK v0.0.124 was yanked.
    G8XSU committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    789dbdb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3ef3c3e View commit details
    Browse the repository at this point in the history
  3. Merge pull request lightningdevkit#375 from G8XSU/ldk-125-upgrade

    Upgrade LDK to v0.0.125
    tnull authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    0c816c8 View commit details
    Browse the repository at this point in the history
  4. Add ChainSource enum

    .. which will allow us to switch between different chain sources.
    tnull committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    0265c2d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    da65835 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4da77eb View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9096382 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3105a28 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    fd0c26f View commit details
    Browse the repository at this point in the history
  10. Move syncing tasks to ChainSource

    .. which also gives us the opportunity to simplify and  DRY up the logic
    between background and manual syncing.
    tnull committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    d66edd4 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    835baf4 View commit details
    Browse the repository at this point in the history
  12. Introduce persisted NodeMetrics struct

    Previously, we persisted some of the `latest_` fields exposed via
    `NodeStatus`. Here, we now refactor this via a persisted `NodeMetrics`
    struct which allows to persist more fields across restarts. In
    particular, we now persist the latest time we sync the on-chain wallet,
    resulting in only doing a full scan on first initialization, and doing
    incremental syncing afterwards.
    
    As both of these operations are really really lightweight, we don't
    bother to migrate the old persisted timestamps for RGS updates and node
    announcement broadcasts over to the new data format.
    tnull committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    4ccc93a View commit details
    Browse the repository at this point in the history
  13. Prefactor: Expose config objects via config module

    .. to further de-clutter the top-level docs.
    tnull committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    66ca6be View commit details
    Browse the repository at this point in the history
  14. Prefactor: Move ChannelConfig to config

    .. to also expose it via the `config` module rather than at the
    top-level docs.
    tnull committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    ad60e07 View commit details
    Browse the repository at this point in the history
  15. Move Esplora-specific sync options to dedicated config

    .. as other upcoming chain sources might not have the same config
    options such as syncing intervals, or at least not with the same
    semantics.
    tnull committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    94ff68f View commit details
    Browse the repository at this point in the history
  16. Merge pull request lightningdevkit#365 from tnull/2024-10-chain-sourc…

    …e-refactor
    
    Refactor syncing and introduce `ChainSource`
    tnull authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    26e61e8 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    61673b1 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    7e93628 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    07c34ef View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    bf74365 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    6eebd00 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    374dd60 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    8fa90f0 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    b7beff0 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    8e6e935 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    7befec7 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    5594560 View commit details
    Browse the repository at this point in the history
  28. Retry more aggressively in VssStore.

    Since a failed persistence might cause LDK to panic.
    G8XSU committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    2c824ff View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2024

  1. Merge pull request lightningdevkit#374 from G8XSU/replay-events

    Replay events on event handling failures due to persistence failures.
    tnull authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    cffdf7e View commit details
    Browse the repository at this point in the history
  2. Implement Listen for Wallet

    .. which we'll use to feed blocks to it in following commits.
    tnull committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    0bec579 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c59d781 View commit details
    Browse the repository at this point in the history
  4. Add initial polling logic

    We first initialize by synchronizing all `Listen` implementations, and
    then head into a loop continuously polling our RPC `BlockSource`.
    
    We also implement a `BoundedHeaderCache` to limit in-memory footprint.
    tnull committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    ab5a620 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b756d79 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    935a17e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ce3606e View commit details
    Browse the repository at this point in the history
  8. Retrieve and apply unconfirmed transactions from the mempool

    .. to allow the on-chain wallet to detect what's inflight.
    tnull committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    8e1dda1 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6da0b98 View commit details
    Browse the repository at this point in the history
  10. Only enforce successful fee rate cache updates on mainnet

    This behavior mirrors what we do in the Esplora case: we only enforce
    successful fee rate updates on mainnet. On regtest/signet/testnet we
    will just skip (i.e. return `Ok(())`) if we fail to retrieve the updates
    (e.g., when bitcoind's `estimatesmartfee` isn't sufficiently populated)
    and will either keep previously-retrieved values or worst case fallback
    to the fallback defaults.
    tnull committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    e268b80 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    0a65272 View commit details
    Browse the repository at this point in the history
  12. Drop flaky connect_to_public_esplora test

    .. as it regularly makes CI fail and doesn't provide us anything really.
    tnull committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    4a086c3 View commit details
    Browse the repository at this point in the history
  13. Relax onchain_fee_buffer in tests slightly

    .. to account for slight differences in fee rate estmations between
    chain sources.
    tnull committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    f165c74 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    7c629f2 View commit details
    Browse the repository at this point in the history
  15. Merge pull request lightningdevkit#370 from tnull/2024-10-add-bitcoin…

    …d-support
    
    Add bitcoind RPC support
    tnull authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    af5d85a View commit details
    Browse the repository at this point in the history
  16. Upgrade Uniffi version

    tnull committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    ef9810c View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    d0a14d2 View commit details
    Browse the repository at this point in the history
  18. Merge pull request lightningdevkit#368 from G8XSU/inc-retries

    Retry more aggressively in VssStore.
    tnull authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    ca6c2fa View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2024

  1. Merge pull request lightningdevkit#379 from tnull/2024-10-upgrade-uniffi

    Upgrade UniFFI to 0.27.3
    tnull authored Oct 17, 2024
    Configuration menu
    Copy the full SHA
    137bfff View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2646629 View commit details
    Browse the repository at this point in the history
  3. Default to LnUrlJWT auth for using VSS.

    build_with_vss_store now uses LNURL-Auth as the
    default method for authentication/authorization.
    G8XSU committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    ffea164 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cf91516 View commit details
    Browse the repository at this point in the history
  5. Merge pull request lightningdevkit#369 from G8XSU/vss-lnauth

    Enable using VssStore with VssHeaderProvider.
    tnull authored Oct 17, 2024
    Configuration menu
    Copy the full SHA
    9ba95be View commit details
    Browse the repository at this point in the history
  6. Use KeyObfuscator in VssStore.

    For client-side key obfuscation, improving privacy and security.
    G8XSU committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    0ae0fc1 View commit details
    Browse the repository at this point in the history
  7. Merge pull request lightningdevkit#378 from G8XSU/vss-obfu

    Use KeyObfuscator in VssStore.
    tnull authored Oct 17, 2024
    Configuration menu
    Copy the full SHA
    5909063 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b05d99b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5bb4855 View commit details
    Browse the repository at this point in the history
  10. Merge pull request lightningdevkit#376 from G8XSU/vss-bindings

    Launch VSS, Expose build_with_vss* methods in bindings.
    tnull authored Oct 17, 2024
    Configuration menu
    Copy the full SHA
    651f837 View commit details
    Browse the repository at this point in the history
  11. Bump version number to 0.4.0

    tnull committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    cfb8565 View commit details
    Browse the repository at this point in the history
  12. Update CHANGELOG for v0.4

    tnull committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    ff47a97 View commit details
    Browse the repository at this point in the history
  13. Update Swift files for v0.4.0

    tnull committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    86b22ef View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    db66cb9 View commit details
    Browse the repository at this point in the history
  15. Update CHANGELOG.md

    tnull authored Oct 17, 2024
    Configuration menu
    Copy the full SHA
    3ae579e View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2024

  1. Configuration menu
    Copy the full SHA
    3684f29 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a9e6fba View commit details
    Browse the repository at this point in the history
  3. Bump version number to 0.4.1

    jkczyz committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    296f390 View commit details
    Browse the repository at this point in the history
  4. Update CHANGELOG for v0.4.1

    jkczyz committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    c571960 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e031651 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2024

  1. Merge tag 'v0.4.1'

    rolznz committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    d4a2f2c View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. Configuration menu
    Copy the full SHA
    ec26f06 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2024

  1. Merge pull request lightningdevkit#387 from whfuyn/fix-invalid-witnes…

    …s-program-len
    
    Fix invalid witness program length
    tnull authored Oct 28, 2024
    Configuration menu
    Copy the full SHA
    bcea1c2 View commit details
    Browse the repository at this point in the history
  2. Add comments and debug assertions for list_unspent_utxos

    We previously erroneously included the version byte trying to construct
    a `WitnessProgram`, which was was recently fixed. Here we add some more
    comments to the code explaining what went wrong, and also add a debug
    assertion checking `list_unspent_utxos` retrieves at least one `Utxo`
    when we see any confirmed balances.
    tnull committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    3b5f00b View commit details
    Browse the repository at this point in the history
  3. Update CHANGELOG for v0.4.2

    tnull committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    c228e7f View commit details
    Browse the repository at this point in the history
  4. Bump version number to v0.4.2

    tnull committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    e177de5 View commit details
    Browse the repository at this point in the history
  5. Update Swift files for v0.4.2

    tnull committed Oct 28, 2024
    Configuration menu
    Copy the full SHA
    8a7a591 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2156611 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2024

  1. Configuration menu
    Copy the full SHA
    b4dfcea View commit details
    Browse the repository at this point in the history
  2. chore: log sync start times

    rolznz committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    9bd2cd4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d8d0557 View commit details
    Browse the repository at this point in the history
  4. chore: update log copy

    rolznz committed Nov 2, 2024
    Configuration menu
    Copy the full SHA
    500df72 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2024

  1. Configuration menu
    Copy the full SHA
    1b02d2b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0c70be7 View commit details
    Browse the repository at this point in the history