Repository navigation
deps: upgrade VLS to 1.0.0-rc.1 - #758
Merged
Merged
Conversation
Bump vls-core, vls-persist, vls-protocol and vls-protocol-signer to 1.0.0-rc.1 (bitcoin 0.32 / LDK 0.2 stack). - gl-client: ChannelEntry moved upstream into vls-core and is now re-exported from lightning_signer::persist::model instead of vls_persist::model. The record format is unchanged, so entries persisted by the old version still deserialize, and rollbacks stay possible. - gl-client: update expected error string in test_empty_message; vls-protocol errors now have per-variant Display impls, which renders ShortRead as "short read". - gl-sdk: bump lightning-invoice 0.33 -> 0.34 to match vls-core and replace the std-feature-gated timestamp() with duration_since_epoch(). Note this is externally breaking for gl-client consumers that use the re-exported bitcoin/lightning/lightning_invoice types (LDK 0.1 -> 0.2).
ihordiachenko
approved these changes
Oct 19, 2026
| let key = vls_persist::model::NodeChannelId(hex::decode(&key).unwrap()); | ||
|
|
||
| let value: vls_persist::model::ChannelEntry = | ||
| let value: lightning_signer::persist::model::ChannelEntry = |
Collaborator
There was a problem hiding this comment.
ChannelEntry didn't change beyond the namespace, right?
Collaborator
Author
There was a problem hiding this comment.
Yes, that's my understanding, and I have tried to run against a couple of my nodes too. But since this is a crucial detail to get right, I will create a small loader that we can run over the entire population of nodes to ensure they all load as expected. Be right back :-)
Collaborator
Author
There was a problem hiding this comment.
Following your question, I went through the entire population of GL nodes and found the following results:
| Metric | EU | US | Overall |
|---|---|---|---|
| Entries loaded OK | 100.000% | 99.998% | 99.9997% |
| Entries failed to load | 0.000% | 0.0012% | 0.0003% |
ChannelEntry share of entries |
1.02% | 2.61% | 1.38% |
| Entries with signatures | 1.40% | 11.28% | 3.65% |
| Tombstoned entries | 0.000% | 0.0008% | 0.0002% |
| Signatures verified (own nodes) | 100% | 100% | 100% |
Notice that the entries that ended up failing to load and the non-existent ChannelEntry's are all archived nodes, and predate this upgrade. As such I consider this experiment successful :-)
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.
Bump VLS to 1.0.0-rc.1 from crates.io across the signer stack.
protocol error: short read)DB-persisted ChannelEntry records stay readable with this version (rollback-safe).
Tested: workspace test suite green (308 passed, 0 failed).