Release Notes
Documentation
- Add instructions for paying an offer with the cli
- Add instructions for paying an Eclair offer
- Update docs with new mode for passing in creds
- Update docs with server updates
- Update cargo fmt instructions for contributors
- Update compiling instructions
- Add bakemacaroon instructions for paying offers
Miscellaneous Tasks
- Update cargo-dist and regenerate
- Update release process documentation & remove cosign key
README
- Add discord invitation
- Fix bakemacaroon typo
Testing
- Add bitcoind node setup for testing
- Test that ldk node can send onion message
- Add lnd git submodule
- Add initial Makefile for lnd bin
- Organize needed bitcoind data in a struct
- Clean up directory structure
- Add a utility for retrying grpc calls
- Add lnd to integration tests
- Test that lndk forwards onion messages
- Specify log level in ldk nodes
- Split off connect_network fn for reuse
- Split out setup_lndk fn for reuse
- Update test pubkey to return two keys
Actions
- Update github actions with new test process
- Install protobuf-compiler so we can build tonic_lnd
- Specify Rust version to use
- Update fmt workflow with max comment width
- Update codecov-actions to v4
Cfg
- Pass in extra ips to tls certificate
Cli
- Add global arguments for connecting to lnd
- Add cli command to pay offer
- Default macaroon path should depend on the specified network
- Add option to pass cert/macaroon in directly to cli
- Update CLI to connect to new gRPC server
- TLS connection with server
- Add option to pass in LNDK tls cert directly
- Return error code on error
- Split tls/macaroon processing into separate functions
- Add get_invoice/pay_invoice commands
- Don't pass in full cli args to read function
Clippy
- Move outer attribute into inner
- Move outer attribute into inner
Config
- Clarify where log file is stored by default
Itests
- Update lnd submodule to tagged hash change
- Add walletrpc subserver to lnd Makefile/README
- Add lnd API calls needed to set up channels
- Export bitcoind for tests
- Bump ldk-sample to newer version
- Advertise ldk node address
- Set more granular lnd logs
- Add lnd new_address api call
Lib
- Implement and use OfferMessageHandler on OfferHandler
- Refactor create_invoice_request to be a method of OfferHandler
- When finding route, add missing fee ppm parameter
- Move and Arc-ify OffersHandler
- Remove offer from map if we fail/succeed to pay
Lnd
- Export network verifier for cli
- Export get_lnd_client, features_support_onion_messages & network checker
- Convert network string to lowercase before processing
- Move get network logic into separate function
Logs
- Filter out useless dependency logs
- Add ldk sublogger
Main
- Move main logic for running lndk into a library
- Replace simple logger with log4rs
- Ignore unused imports from configure_me
- Add config option for specifying log level
- Add grpc server config options
- Auto-create data directory at ~/.lndk
- Move logger setup further up
- Handle sigterm/sigint signals
Main+lib
- Move logger out of run method
Maintainers
- Add notes from first release
Messenger
- Fix PeerConnected empty features bug
Multi
- Propagate shutdown signal from caller to lndk
- Refactor to create OfferHandler and LndkOnionMessenger
- Add verification details to invoice request
- Split off uir signing portion of create_invoice_request into a method
- Upgrade to ldk v20
- Send offer payment
- Add option to pass cert/macaroon in directly to lndk
- Delete started channel
- Expose payment when done tracking it
- Setup grpc server
- Format comments to 100 width
- Separate pay_offer into two methods
- Remove metadata ir parameter
- Allow passing in a payer note
- Configurable timeout for receiving invoice
- Move to derive_new_key for key gen
Offers
- Rename create_invoice_request
- Add logic for connecting to the introduction node peer
- Validate offer amount user input
- Wait for onion messenger ready signal before sending request
- Build a reply path for invoice request
- Send invoice request
- Verify invoice upon return
- Add InvoicePayer for paying an offer
- Add timeout for invoice response
- Change OfferState to PaymentState
- Return PaymentId for later use
- Split create_invoice_request from send_invoice_request
- Track active payments instead of offers
- Improve offer flow logs
- Handle invoice request build failures more gracefully
- Rename pay_invoice to send_payment
- Change validate_amount parameters
- Remove extra cltv expiry delta
- Add back extra cltv expiry delta
- Don't choose unadvertised node as introduction node
Onion
- Remove RefCell from MessengerUtilities
Readme
- Update branch instructions
Release
- Update cargo-dist
Server
- Require TLS for interacting with server
- New get_info and pay_offer endpoints
- Return invoice object for now
- Only log request message
- Include payer note in invoice contents
- Correctly convert invoice features
Server+cli
- Add DecodeInvoice command
Utils
- Add Default for MessengerUtilities to satisfy clippy
Install lndk 0.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/lndk-org/lndk/releases/download/v0.2.0/lndk-installer.sh | sh
Download lndk 0.2.0
File | Platform | Checksum |
---|---|---|
lndk-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
lndk-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
lndk-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo lndk-org/lndk
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>