Closed
Description
In this issue we document progress on the remaining items for a 0.1 release:
- Basic functionality in Rust (Initial implementation of LDK Node #11)
- Provide usage example and readme (Add usage example and check docs #35)
- Extend test coverage by introducing
proptest
- Add the capability of configuring a
seed: [u8; 32]
- Payment store (Initial payment store implementation #13)
-
Add last change timestamp toPaymentInfo
-
Expose method to retrieve recent payments based on timestamp. - Expose method to retrieve payments based on filter.
-
Create and implKVStoreUnpersister
trait - Create and impl
KVStore
trait
-
- Expose connect/disconnect methods (Unify interface types and expose
connect
/disconnect
methods #52) - Add
ChannelPending
event (AddChannelPending
event #60) - Allow spending on-chain funds (Allow for withdrawing on-chain funds #61)
- Impl
KVStorePersister
KVStore
-based SQLite backend (AddSqliteStore
backend #100) - Rethink serialization (Rethink serialization #30)
- Re-use upstream serialization macros for now (Re-use
rust-lightning
's serialization macros #23) - Figure out compat. guarantees
- Figure out format/framework to use
- Re-use upstream serialization macros for now (Re-use
- Regularly broadcast node announcements (Regularly broadcast node announcements #93)
- Switch to use
NetAddress
es (Switch to use NetAddress for peer addresses #85) -
Maybe:Uniffi bindings (UniFFI bindings #25)- Expose remaining interface methods (e.g.,
list_peers
,list_channels
) (Expose list peers and channels #56) - Review and merge in Update generate swift bindings script to create swift package tnull/ldk-node#1
- Test Kotlin packaging vs local maven
- Impl Kotlin publishing vs Maven Central (Add Gradle and GitHub Actions tooling to package for Maven Central #59)
- Test Swift packaging (Get binding generation & publishing ready for 0.1 release #114)
- Expose remaining interface methods (e.g.,
-
Maybe:Integrate RGS (Implement configurableGossipSource
to allow RGS gossip updates #70) - 0conf channel support (Allow for trusted inbound 0conf channels #69)
- Non-blocking event queue access (Introduce non-blocking event queue access #91)
- Include non-permanently connected peers in
list_peers()
(Include non-permanently connected peers inlist_peers()
#95) - Only avoid duplicate payments if we didn't fail sending (Only avoid duplicate payments if we didn't fail sending (and expose
list_payments
) #96) - Enforce successful initial fee rate update (Update fee rate cache on startup and make sync interval configurable #102)
- Expose easy way to set log level (Improve logging #108)
- Move builder to dedicated module and improve its Rust API (Move
Builder
to own module, allow for shared runtime reference. #115) - Don't panic when avoidable (Prefer returning errors over panicking where possible #119)
- Allow to set
ChannelConfig
(Allow to specify and updateChannelConfig
#122) - Update some config defaults and expose them in bindings (Update config defaults and expose them in bindings #124)
- Expose BIP39 generation (Expose BIP39 Mnemonic generation in bindings #113)
- Remove superfluous
SendingFailed
status (Remove unnecessaryPaymentStatus::SendingFailed
#125)
Release prep:
- Switch default network config to
bitcoin
(Break builder pattern to expose all setters via bindings #88) - Go once more over serialization Double-check serialization #76
- Document and enforce MSRV Get binding generation & publishing ready for 0.1 release #114
- Update version number in Rust and all bindings.
- Upload Swift package and update checksum.
Post release
- Update README to include instructions for bindings.
- Publish Python package (Add python packaging #128)
- Publish Kotlin/JVM package
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Done