Skip to content
This repository was archived by the owner on Aug 3, 2026. It is now read-only.

Update to LDK 0.0.121 - #126

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119
Feb 1, 2024
Merged

Update to LDK 0.0.121#126
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119

Conversation

@optout21

@optout21optout21 commented Dec 5, 2023

Copy link
Copy Markdown
Contributor

Updated to LDK 0.0.121 and bitcoin library 0.30.2.
Also updated MSRV to 1.63, as LDK requires that (since 0.0.119).

Fixes#125 .

TODO:

  • Fix issue of circular type dep SimpleArcPeerManager <-> GossipVerifier
  • squash commits

Relevant changes in LDK:

  • Added temporary_channel_id to create_channel. #2699
  • Replace maze of BOLT11 payment utilities with parameter generators #2727
  • Drop non-anchor channel fee upper bound limit entirely #2696
  • Update to rust-bitcoin v0.30.2 #2740
  • Add peer_id and channel_id explicitly to log records #2314
  • Pass Record by value to Logger
  • GossipVerifier now takes a PeerManager type (leads to circular type deps)
  • Onion routing: signature of send_onion_message() has changed, path is not needed
  • New ConectionNeeded event, ignored
  • DefaultMessageRouter takes a network graph
  • In WalletSource, sign_tx() has been changed to sign_psbt()
  • Event processor process_events_async() has additional argument for fetching duration, constant 0 used here
  • and some others

@orbitalturtle

Copy link
Copy Markdown

Just curious if this is still in the works :)

@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

@tnull

tnull commented Jan 3, 2024

Copy link
Copy Markdown
Contributor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

Right, but do you intend to go ahead with this PR? If not, I'd be happy to take it over and upgrade ldk-sample.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Yes, I plan to do this in next 1-2 days, but no hard commitment :D

@optout21

Copy link
Copy Markdown
ContributorAuthor

I run into a small problem here:
I'm up to date till LDK Dec 5 cbde4a7
PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types.
@tnull@TheBlueMatt

@tnull

tnull commented Jan 4, 2024

Copy link
Copy Markdown
Contributor

I run into a small problem here: I'm up to date till LDK Dec 5 cbde4a7 PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types. @tnull@TheBlueMatt

Ugh, that might indeed be an issue we should fix upstream. Not sure if we need to find a (likely ugly) workaround here and roll it back, or wait for the upstream change though. @TheBlueMatt Any opinion on this?

@optout21

optout21 commented Jan 4, 2024

Copy link
Copy Markdown
ContributorAuthor

I did a workaround, by creating a version of GossipVerifier without a PeerManager, called SimpleGossipVerifier, in a separate file. This workaround probably BREAKS functionality, and is ugly.
Rest of the adaptations are done, but the GossipVerifier issue has to be finalized.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Also mentioning @johncantrell97 , the author of #2773 .

@TheBlueMatt

Copy link
Copy Markdown
Contributor

Ugh, thanks for doing this! Sorry it took a while to get back to this. We'll want to (partially) revert [#2773.](lightningdevkit/rust-lightning#2773.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Update: PR #2773 was partially reverted by PR #2822 .
It looks like LDK v0.0.119 will have to be skipped, and wait for v0.0.120.
I plan to check into the changes as required by current LDK main, post-2822.

@optout21optout21 changed the title [WIP] Update to LDK 0.0.119[WIP] Update to LDK 0.0.120Jan 18, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK v0.0.120 has been released, includes #2822.
These changes should bring ldk-sample up to date with LDK v0.0.120 (and bitcoin 0.30.2)

@optout21optout21 changed the title [WIP] Update to LDK 0.0.120Update to LDK 0.0.120Jan 18, 2024
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from 8ac6a80 to d33c07eCompareJanuary 18, 2024 21:19
@optout21
optout21 marked this pull request as ready for review January 18, 2024 21:25
@optout21

Copy link
Copy Markdown
ContributorAuthor

There's one CI test failure, one dependency lib was not found, object 0.32.2, seems unrelated to changes here, in stable build there was no failure.

@optout21optout21 changed the title Update to LDK 0.0.120Update to LDK 0.0.121Jan 24, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

Bumped from 120 to 121.

@optout21
optout21 marked this pull request as draft January 24, 2024 21:34
@optout21

Copy link
Copy Markdown
ContributorAuthor

Also updated minimal tested Rust version to 1.63, as LDK requires that now (since 0.0.119), and previously tested 1.48 caused some dependency issues (tokio 1.35.1, backtrace 0.3.69, object 0.32.2 does not work for 1.48).

@optout21
optout21 marked this pull request as ready for review January 24, 2024 21:51
Comment threadsrc/bitcoind_client.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/convert.rs Outdated
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from b70d39c to 37d9df6CompareJanuary 25, 2024 11:45
Comment threadsrc/main.rs Outdated

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, mod one unwrap I missed before (sorry for that).

Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
@tnull

tnull commented Feb 1, 2024

Copy link
Copy Markdown
Contributor

@optout21 I think this should be very close to landing, mod the nits above.

@optout21

Copy link
Copy Markdown
ContributorAuthor

@optout21 I think this should be very close to landing, mod the nits above.

Done now. Thanks for reminding, it slid lower in my to-do.

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@tnull
tnull merged commit 3bb8258 into lightningdevkit:mainFeb 1, 2024
@domZippilli

domZippilli commented Feb 6, 2024

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

@jkczyz

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

payment_parameters_from_invoice would be preferable. The error checking here is probably overkill. The unwraps in payment_parameters_from_invoice are fine because PaymentParameters has a Payee, and some methods are only applicable to certain types of Payees.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update bitcoin library

6 participants

@optout21@orbitalturtle@tnull@TheBlueMatt@domZippilli@jkczyz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Update to LDK 0.0.121 by optout21 · Pull Request #126 · lightningdevkit/ldk-sample · GitHub
Skip to content
This repository was archived by the owner on Aug 3, 2026. It is now read-only.

Update to LDK 0.0.121 - #126

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119
Feb 1, 2024
Merged

Update to LDK 0.0.121#126
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119

Conversation

@optout21

@optout21optout21 commented Dec 5, 2023

Copy link
Copy Markdown
Contributor

Updated to LDK 0.0.121 and bitcoin library 0.30.2.
Also updated MSRV to 1.63, as LDK requires that (since 0.0.119).

Fixes#125 .

TODO:

  • Fix issue of circular type dep SimpleArcPeerManager <-> GossipVerifier
  • squash commits

Relevant changes in LDK:

  • Added temporary_channel_id to create_channel. #2699
  • Replace maze of BOLT11 payment utilities with parameter generators #2727
  • Drop non-anchor channel fee upper bound limit entirely #2696
  • Update to rust-bitcoin v0.30.2 #2740
  • Add peer_id and channel_id explicitly to log records #2314
  • Pass Record by value to Logger
  • GossipVerifier now takes a PeerManager type (leads to circular type deps)
  • Onion routing: signature of send_onion_message() has changed, path is not needed
  • New ConectionNeeded event, ignored
  • DefaultMessageRouter takes a network graph
  • In WalletSource, sign_tx() has been changed to sign_psbt()
  • Event processor process_events_async() has additional argument for fetching duration, constant 0 used here
  • and some others

@orbitalturtle

Copy link
Copy Markdown

Just curious if this is still in the works :)

@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

@tnull

tnull commented Jan 3, 2024

Copy link
Copy Markdown
Contributor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

Right, but do you intend to go ahead with this PR? If not, I'd be happy to take it over and upgrade ldk-sample.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Yes, I plan to do this in next 1-2 days, but no hard commitment :D

@optout21

Copy link
Copy Markdown
ContributorAuthor

I run into a small problem here:
I'm up to date till LDK Dec 5 cbde4a7
PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types.
@tnull@TheBlueMatt

@tnull

tnull commented Jan 4, 2024

Copy link
Copy Markdown
Contributor

I run into a small problem here: I'm up to date till LDK Dec 5 cbde4a7 PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types. @tnull@TheBlueMatt

Ugh, that might indeed be an issue we should fix upstream. Not sure if we need to find a (likely ugly) workaround here and roll it back, or wait for the upstream change though. @TheBlueMatt Any opinion on this?

@optout21

optout21 commented Jan 4, 2024

Copy link
Copy Markdown
ContributorAuthor

I did a workaround, by creating a version of GossipVerifier without a PeerManager, called SimpleGossipVerifier, in a separate file. This workaround probably BREAKS functionality, and is ugly.
Rest of the adaptations are done, but the GossipVerifier issue has to be finalized.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Also mentioning @johncantrell97 , the author of #2773 .

@TheBlueMatt

Copy link
Copy Markdown
Contributor

Ugh, thanks for doing this! Sorry it took a while to get back to this. We'll want to (partially) revert [#2773.](lightningdevkit/rust-lightning#2773.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Update: PR #2773 was partially reverted by PR #2822 .
It looks like LDK v0.0.119 will have to be skipped, and wait for v0.0.120.
I plan to check into the changes as required by current LDK main, post-2822.

@optout21optout21 changed the title [WIP] Update to LDK 0.0.119[WIP] Update to LDK 0.0.120Jan 18, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK v0.0.120 has been released, includes #2822.
These changes should bring ldk-sample up to date with LDK v0.0.120 (and bitcoin 0.30.2)

@optout21optout21 changed the title [WIP] Update to LDK 0.0.120Update to LDK 0.0.120Jan 18, 2024
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from 8ac6a80 to d33c07eCompareJanuary 18, 2024 21:19
@optout21
optout21 marked this pull request as ready for review January 18, 2024 21:25
@optout21

Copy link
Copy Markdown
ContributorAuthor

There's one CI test failure, one dependency lib was not found, object 0.32.2, seems unrelated to changes here, in stable build there was no failure.

@optout21optout21 changed the title Update to LDK 0.0.120Update to LDK 0.0.121Jan 24, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

Bumped from 120 to 121.

@optout21
optout21 marked this pull request as draft January 24, 2024 21:34
@optout21

Copy link
Copy Markdown
ContributorAuthor

Also updated minimal tested Rust version to 1.63, as LDK requires that now (since 0.0.119), and previously tested 1.48 caused some dependency issues (tokio 1.35.1, backtrace 0.3.69, object 0.32.2 does not work for 1.48).

@optout21
optout21 marked this pull request as ready for review January 24, 2024 21:51
Comment threadsrc/bitcoind_client.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/convert.rs Outdated
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from b70d39c to 37d9df6CompareJanuary 25, 2024 11:45
Comment threadsrc/main.rs Outdated

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, mod one unwrap I missed before (sorry for that).

Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
@tnull

tnull commented Feb 1, 2024

Copy link
Copy Markdown
Contributor

@optout21 I think this should be very close to landing, mod the nits above.

@optout21

Copy link
Copy Markdown
ContributorAuthor

@optout21 I think this should be very close to landing, mod the nits above.

Done now. Thanks for reminding, it slid lower in my to-do.

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@tnull
tnull merged commit 3bb8258 into lightningdevkit:mainFeb 1, 2024
@domZippilli

domZippilli commented Feb 6, 2024

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

@jkczyz

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

payment_parameters_from_invoice would be preferable. The error checking here is probably overkill. The unwraps in payment_parameters_from_invoice are fine because PaymentParameters has a Payee, and some methods are only applicable to certain types of Payees.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update bitcoin library

6 participants

@optout21@orbitalturtle@tnull@TheBlueMatt@domZippilli@jkczyz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Update to LDK 0.0.121 by optout21 · Pull Request #126 · lightningdevkit/ldk-sample · GitHub
Skip to content
This repository was archived by the owner on Aug 3, 2026. It is now read-only.

Update to LDK 0.0.121 - #126

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119
Feb 1, 2024
Merged

Update to LDK 0.0.121#126
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119

Conversation

@optout21

@optout21optout21 commented Dec 5, 2023

Copy link
Copy Markdown
Contributor

Updated to LDK 0.0.121 and bitcoin library 0.30.2.
Also updated MSRV to 1.63, as LDK requires that (since 0.0.119).

Fixes#125 .

TODO:

  • Fix issue of circular type dep SimpleArcPeerManager <-> GossipVerifier
  • squash commits

Relevant changes in LDK:

  • Added temporary_channel_id to create_channel. #2699
  • Replace maze of BOLT11 payment utilities with parameter generators #2727
  • Drop non-anchor channel fee upper bound limit entirely #2696
  • Update to rust-bitcoin v0.30.2 #2740
  • Add peer_id and channel_id explicitly to log records #2314
  • Pass Record by value to Logger
  • GossipVerifier now takes a PeerManager type (leads to circular type deps)
  • Onion routing: signature of send_onion_message() has changed, path is not needed
  • New ConectionNeeded event, ignored
  • DefaultMessageRouter takes a network graph
  • In WalletSource, sign_tx() has been changed to sign_psbt()
  • Event processor process_events_async() has additional argument for fetching duration, constant 0 used here
  • and some others

@orbitalturtle

Copy link
Copy Markdown

Just curious if this is still in the works :)

@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

@tnull

tnull commented Jan 3, 2024

Copy link
Copy Markdown
Contributor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

Right, but do you intend to go ahead with this PR? If not, I'd be happy to take it over and upgrade ldk-sample.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Yes, I plan to do this in next 1-2 days, but no hard commitment :D

@optout21

Copy link
Copy Markdown
ContributorAuthor

I run into a small problem here:
I'm up to date till LDK Dec 5 cbde4a7
PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types.
@tnull@TheBlueMatt

@tnull

tnull commented Jan 4, 2024

Copy link
Copy Markdown
Contributor

I run into a small problem here: I'm up to date till LDK Dec 5 cbde4a7 PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types. @tnull@TheBlueMatt

Ugh, that might indeed be an issue we should fix upstream. Not sure if we need to find a (likely ugly) workaround here and roll it back, or wait for the upstream change though. @TheBlueMatt Any opinion on this?

@optout21

optout21 commented Jan 4, 2024

Copy link
Copy Markdown
ContributorAuthor

I did a workaround, by creating a version of GossipVerifier without a PeerManager, called SimpleGossipVerifier, in a separate file. This workaround probably BREAKS functionality, and is ugly.
Rest of the adaptations are done, but the GossipVerifier issue has to be finalized.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Also mentioning @johncantrell97 , the author of #2773 .

@TheBlueMatt

Copy link
Copy Markdown
Contributor

Ugh, thanks for doing this! Sorry it took a while to get back to this. We'll want to (partially) revert [#2773.](lightningdevkit/rust-lightning#2773.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Update: PR #2773 was partially reverted by PR #2822 .
It looks like LDK v0.0.119 will have to be skipped, and wait for v0.0.120.
I plan to check into the changes as required by current LDK main, post-2822.

@optout21optout21 changed the title [WIP] Update to LDK 0.0.119[WIP] Update to LDK 0.0.120Jan 18, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK v0.0.120 has been released, includes #2822.
These changes should bring ldk-sample up to date with LDK v0.0.120 (and bitcoin 0.30.2)

@optout21optout21 changed the title [WIP] Update to LDK 0.0.120Update to LDK 0.0.120Jan 18, 2024
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from 8ac6a80 to d33c07eCompareJanuary 18, 2024 21:19
@optout21
optout21 marked this pull request as ready for review January 18, 2024 21:25
@optout21

Copy link
Copy Markdown
ContributorAuthor

There's one CI test failure, one dependency lib was not found, object 0.32.2, seems unrelated to changes here, in stable build there was no failure.

@optout21optout21 changed the title Update to LDK 0.0.120Update to LDK 0.0.121Jan 24, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

Bumped from 120 to 121.

@optout21
optout21 marked this pull request as draft January 24, 2024 21:34
@optout21

Copy link
Copy Markdown
ContributorAuthor

Also updated minimal tested Rust version to 1.63, as LDK requires that now (since 0.0.119), and previously tested 1.48 caused some dependency issues (tokio 1.35.1, backtrace 0.3.69, object 0.32.2 does not work for 1.48).

@optout21
optout21 marked this pull request as ready for review January 24, 2024 21:51
Comment threadsrc/bitcoind_client.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/convert.rs Outdated
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from b70d39c to 37d9df6CompareJanuary 25, 2024 11:45
Comment threadsrc/main.rs Outdated

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, mod one unwrap I missed before (sorry for that).

Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
@tnull

tnull commented Feb 1, 2024

Copy link
Copy Markdown
Contributor

@optout21 I think this should be very close to landing, mod the nits above.

@optout21

Copy link
Copy Markdown
ContributorAuthor

@optout21 I think this should be very close to landing, mod the nits above.

Done now. Thanks for reminding, it slid lower in my to-do.

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@tnull
tnull merged commit 3bb8258 into lightningdevkit:mainFeb 1, 2024
@domZippilli

domZippilli commented Feb 6, 2024

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

@jkczyz

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

payment_parameters_from_invoice would be preferable. The error checking here is probably overkill. The unwraps in payment_parameters_from_invoice are fine because PaymentParameters has a Payee, and some methods are only applicable to certain types of Payees.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update bitcoin library

6 participants

@optout21@orbitalturtle@tnull@TheBlueMatt@domZippilli@jkczyz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Update to LDK 0.0.121 by optout21 · Pull Request #126 · lightningdevkit/ldk-sample · GitHub
Skip to content
This repository was archived by the owner on Aug 3, 2026. It is now read-only.

Update to LDK 0.0.121 - #126

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119
Feb 1, 2024
Merged

Update to LDK 0.0.121#126
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119

Conversation

@optout21

@optout21optout21 commented Dec 5, 2023

Copy link
Copy Markdown
Contributor

Updated to LDK 0.0.121 and bitcoin library 0.30.2.
Also updated MSRV to 1.63, as LDK requires that (since 0.0.119).

Fixes#125 .

TODO:

  • Fix issue of circular type dep SimpleArcPeerManager <-> GossipVerifier
  • squash commits

Relevant changes in LDK:

  • Added temporary_channel_id to create_channel. #2699
  • Replace maze of BOLT11 payment utilities with parameter generators #2727
  • Drop non-anchor channel fee upper bound limit entirely #2696
  • Update to rust-bitcoin v0.30.2 #2740
  • Add peer_id and channel_id explicitly to log records #2314
  • Pass Record by value to Logger
  • GossipVerifier now takes a PeerManager type (leads to circular type deps)
  • Onion routing: signature of send_onion_message() has changed, path is not needed
  • New ConectionNeeded event, ignored
  • DefaultMessageRouter takes a network graph
  • In WalletSource, sign_tx() has been changed to sign_psbt()
  • Event processor process_events_async() has additional argument for fetching duration, constant 0 used here
  • and some others

@orbitalturtle

Copy link
Copy Markdown

Just curious if this is still in the works :)

@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

@tnull

tnull commented Jan 3, 2024

Copy link
Copy Markdown
Contributor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

Right, but do you intend to go ahead with this PR? If not, I'd be happy to take it over and upgrade ldk-sample.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Yes, I plan to do this in next 1-2 days, but no hard commitment :D

@optout21

Copy link
Copy Markdown
ContributorAuthor

I run into a small problem here:
I'm up to date till LDK Dec 5 cbde4a7
PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types.
@tnull@TheBlueMatt

@tnull

tnull commented Jan 4, 2024

Copy link
Copy Markdown
Contributor

I run into a small problem here: I'm up to date till LDK Dec 5 cbde4a7 PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types. @tnull@TheBlueMatt

Ugh, that might indeed be an issue we should fix upstream. Not sure if we need to find a (likely ugly) workaround here and roll it back, or wait for the upstream change though. @TheBlueMatt Any opinion on this?

@optout21

optout21 commented Jan 4, 2024

Copy link
Copy Markdown
ContributorAuthor

I did a workaround, by creating a version of GossipVerifier without a PeerManager, called SimpleGossipVerifier, in a separate file. This workaround probably BREAKS functionality, and is ugly.
Rest of the adaptations are done, but the GossipVerifier issue has to be finalized.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Also mentioning @johncantrell97 , the author of #2773 .

@TheBlueMatt

Copy link
Copy Markdown
Contributor

Ugh, thanks for doing this! Sorry it took a while to get back to this. We'll want to (partially) revert [#2773.](lightningdevkit/rust-lightning#2773.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Update: PR #2773 was partially reverted by PR #2822 .
It looks like LDK v0.0.119 will have to be skipped, and wait for v0.0.120.
I plan to check into the changes as required by current LDK main, post-2822.

@optout21optout21 changed the title [WIP] Update to LDK 0.0.119[WIP] Update to LDK 0.0.120Jan 18, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK v0.0.120 has been released, includes #2822.
These changes should bring ldk-sample up to date with LDK v0.0.120 (and bitcoin 0.30.2)

@optout21optout21 changed the title [WIP] Update to LDK 0.0.120Update to LDK 0.0.120Jan 18, 2024
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from 8ac6a80 to d33c07eCompareJanuary 18, 2024 21:19
@optout21
optout21 marked this pull request as ready for review January 18, 2024 21:25
@optout21

Copy link
Copy Markdown
ContributorAuthor

There's one CI test failure, one dependency lib was not found, object 0.32.2, seems unrelated to changes here, in stable build there was no failure.

@optout21optout21 changed the title Update to LDK 0.0.120Update to LDK 0.0.121Jan 24, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

Bumped from 120 to 121.

@optout21
optout21 marked this pull request as draft January 24, 2024 21:34
@optout21

Copy link
Copy Markdown
ContributorAuthor

Also updated minimal tested Rust version to 1.63, as LDK requires that now (since 0.0.119), and previously tested 1.48 caused some dependency issues (tokio 1.35.1, backtrace 0.3.69, object 0.32.2 does not work for 1.48).

@optout21
optout21 marked this pull request as ready for review January 24, 2024 21:51
Comment threadsrc/bitcoind_client.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/convert.rs Outdated
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from b70d39c to 37d9df6CompareJanuary 25, 2024 11:45
Comment threadsrc/main.rs Outdated

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, mod one unwrap I missed before (sorry for that).

Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
@tnull

tnull commented Feb 1, 2024

Copy link
Copy Markdown
Contributor

@optout21 I think this should be very close to landing, mod the nits above.

@optout21

Copy link
Copy Markdown
ContributorAuthor

@optout21 I think this should be very close to landing, mod the nits above.

Done now. Thanks for reminding, it slid lower in my to-do.

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@tnull
tnull merged commit 3bb8258 into lightningdevkit:mainFeb 1, 2024
@domZippilli

domZippilli commented Feb 6, 2024

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

@jkczyz

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

payment_parameters_from_invoice would be preferable. The error checking here is probably overkill. The unwraps in payment_parameters_from_invoice are fine because PaymentParameters has a Payee, and some methods are only applicable to certain types of Payees.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update bitcoin library

6 participants

@optout21@orbitalturtle@tnull@TheBlueMatt@domZippilli@jkczyz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Update to LDK 0.0.121 by optout21 · Pull Request #126 · lightningdevkit/ldk-sample · GitHub
Skip to content
This repository was archived by the owner on Aug 3, 2026. It is now read-only.

Update to LDK 0.0.121 - #126

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119
Feb 1, 2024
Merged

Update to LDK 0.0.121#126
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119

Conversation

@optout21

@optout21optout21 commented Dec 5, 2023

Copy link
Copy Markdown
Contributor

Updated to LDK 0.0.121 and bitcoin library 0.30.2.
Also updated MSRV to 1.63, as LDK requires that (since 0.0.119).

Fixes#125 .

TODO:

  • Fix issue of circular type dep SimpleArcPeerManager <-> GossipVerifier
  • squash commits

Relevant changes in LDK:

  • Added temporary_channel_id to create_channel. #2699
  • Replace maze of BOLT11 payment utilities with parameter generators #2727
  • Drop non-anchor channel fee upper bound limit entirely #2696
  • Update to rust-bitcoin v0.30.2 #2740
  • Add peer_id and channel_id explicitly to log records #2314
  • Pass Record by value to Logger
  • GossipVerifier now takes a PeerManager type (leads to circular type deps)
  • Onion routing: signature of send_onion_message() has changed, path is not needed
  • New ConectionNeeded event, ignored
  • DefaultMessageRouter takes a network graph
  • In WalletSource, sign_tx() has been changed to sign_psbt()
  • Event processor process_events_async() has additional argument for fetching duration, constant 0 used here
  • and some others

@orbitalturtle

Copy link
Copy Markdown

Just curious if this is still in the works :)

@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

@tnull

tnull commented Jan 3, 2024

Copy link
Copy Markdown
Contributor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

Right, but do you intend to go ahead with this PR? If not, I'd be happy to take it over and upgrade ldk-sample.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Yes, I plan to do this in next 1-2 days, but no hard commitment :D

@optout21

Copy link
Copy Markdown
ContributorAuthor

I run into a small problem here:
I'm up to date till LDK Dec 5 cbde4a7
PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types.
@tnull@TheBlueMatt

@tnull

tnull commented Jan 4, 2024

Copy link
Copy Markdown
Contributor

I run into a small problem here: I'm up to date till LDK Dec 5 cbde4a7 PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types. @tnull@TheBlueMatt

Ugh, that might indeed be an issue we should fix upstream. Not sure if we need to find a (likely ugly) workaround here and roll it back, or wait for the upstream change though. @TheBlueMatt Any opinion on this?

@optout21

optout21 commented Jan 4, 2024

Copy link
Copy Markdown
ContributorAuthor

I did a workaround, by creating a version of GossipVerifier without a PeerManager, called SimpleGossipVerifier, in a separate file. This workaround probably BREAKS functionality, and is ugly.
Rest of the adaptations are done, but the GossipVerifier issue has to be finalized.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Also mentioning @johncantrell97 , the author of #2773 .

@TheBlueMatt

Copy link
Copy Markdown
Contributor

Ugh, thanks for doing this! Sorry it took a while to get back to this. We'll want to (partially) revert [#2773.](lightningdevkit/rust-lightning#2773.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Update: PR #2773 was partially reverted by PR #2822 .
It looks like LDK v0.0.119 will have to be skipped, and wait for v0.0.120.
I plan to check into the changes as required by current LDK main, post-2822.

@optout21optout21 changed the title [WIP] Update to LDK 0.0.119[WIP] Update to LDK 0.0.120Jan 18, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK v0.0.120 has been released, includes #2822.
These changes should bring ldk-sample up to date with LDK v0.0.120 (and bitcoin 0.30.2)

@optout21optout21 changed the title [WIP] Update to LDK 0.0.120Update to LDK 0.0.120Jan 18, 2024
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from 8ac6a80 to d33c07eCompareJanuary 18, 2024 21:19
@optout21
optout21 marked this pull request as ready for review January 18, 2024 21:25
@optout21

Copy link
Copy Markdown
ContributorAuthor

There's one CI test failure, one dependency lib was not found, object 0.32.2, seems unrelated to changes here, in stable build there was no failure.

@optout21optout21 changed the title Update to LDK 0.0.120Update to LDK 0.0.121Jan 24, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

Bumped from 120 to 121.

@optout21
optout21 marked this pull request as draft January 24, 2024 21:34
@optout21

Copy link
Copy Markdown
ContributorAuthor

Also updated minimal tested Rust version to 1.63, as LDK requires that now (since 0.0.119), and previously tested 1.48 caused some dependency issues (tokio 1.35.1, backtrace 0.3.69, object 0.32.2 does not work for 1.48).

@optout21
optout21 marked this pull request as ready for review January 24, 2024 21:51
Comment threadsrc/bitcoind_client.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/convert.rs Outdated
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from b70d39c to 37d9df6CompareJanuary 25, 2024 11:45
Comment threadsrc/main.rs Outdated

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, mod one unwrap I missed before (sorry for that).

Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
@tnull

tnull commented Feb 1, 2024

Copy link
Copy Markdown
Contributor

@optout21 I think this should be very close to landing, mod the nits above.

@optout21

Copy link
Copy Markdown
ContributorAuthor

@optout21 I think this should be very close to landing, mod the nits above.

Done now. Thanks for reminding, it slid lower in my to-do.

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@tnull
tnull merged commit 3bb8258 into lightningdevkit:mainFeb 1, 2024
@domZippilli

domZippilli commented Feb 6, 2024

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

@jkczyz

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

payment_parameters_from_invoice would be preferable. The error checking here is probably overkill. The unwraps in payment_parameters_from_invoice are fine because PaymentParameters has a Payee, and some methods are only applicable to certain types of Payees.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update bitcoin library

6 participants

@optout21@orbitalturtle@tnull@TheBlueMatt@domZippilli@jkczyz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Update to LDK 0.0.121 by optout21 · Pull Request #126 · lightningdevkit/ldk-sample · GitHub
Skip to content
This repository was archived by the owner on Aug 3, 2026. It is now read-only.

Update to LDK 0.0.121 - #126

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119
Feb 1, 2024
Merged

Update to LDK 0.0.121#126
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119

Conversation

@optout21

@optout21optout21 commented Dec 5, 2023

Copy link
Copy Markdown
Contributor

Updated to LDK 0.0.121 and bitcoin library 0.30.2.
Also updated MSRV to 1.63, as LDK requires that (since 0.0.119).

Fixes#125 .

TODO:

  • Fix issue of circular type dep SimpleArcPeerManager <-> GossipVerifier
  • squash commits

Relevant changes in LDK:

  • Added temporary_channel_id to create_channel. #2699
  • Replace maze of BOLT11 payment utilities with parameter generators #2727
  • Drop non-anchor channel fee upper bound limit entirely #2696
  • Update to rust-bitcoin v0.30.2 #2740
  • Add peer_id and channel_id explicitly to log records #2314
  • Pass Record by value to Logger
  • GossipVerifier now takes a PeerManager type (leads to circular type deps)
  • Onion routing: signature of send_onion_message() has changed, path is not needed
  • New ConectionNeeded event, ignored
  • DefaultMessageRouter takes a network graph
  • In WalletSource, sign_tx() has been changed to sign_psbt()
  • Event processor process_events_async() has additional argument for fetching duration, constant 0 used here
  • and some others

@orbitalturtle

Copy link
Copy Markdown

Just curious if this is still in the works :)

@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

@tnull

tnull commented Jan 3, 2024

Copy link
Copy Markdown
Contributor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

Right, but do you intend to go ahead with this PR? If not, I'd be happy to take it over and upgrade ldk-sample.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Yes, I plan to do this in next 1-2 days, but no hard commitment :D

@optout21

Copy link
Copy Markdown
ContributorAuthor

I run into a small problem here:
I'm up to date till LDK Dec 5 cbde4a7
PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types.
@tnull@TheBlueMatt

@tnull

tnull commented Jan 4, 2024

Copy link
Copy Markdown
Contributor

I run into a small problem here: I'm up to date till LDK Dec 5 cbde4a7 PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types. @tnull@TheBlueMatt

Ugh, that might indeed be an issue we should fix upstream. Not sure if we need to find a (likely ugly) workaround here and roll it back, or wait for the upstream change though. @TheBlueMatt Any opinion on this?

@optout21

optout21 commented Jan 4, 2024

Copy link
Copy Markdown
ContributorAuthor

I did a workaround, by creating a version of GossipVerifier without a PeerManager, called SimpleGossipVerifier, in a separate file. This workaround probably BREAKS functionality, and is ugly.
Rest of the adaptations are done, but the GossipVerifier issue has to be finalized.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Also mentioning @johncantrell97 , the author of #2773 .

@TheBlueMatt

Copy link
Copy Markdown
Contributor

Ugh, thanks for doing this! Sorry it took a while to get back to this. We'll want to (partially) revert [#2773.](lightningdevkit/rust-lightning#2773.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Update: PR #2773 was partially reverted by PR #2822 .
It looks like LDK v0.0.119 will have to be skipped, and wait for v0.0.120.
I plan to check into the changes as required by current LDK main, post-2822.

@optout21optout21 changed the title [WIP] Update to LDK 0.0.119[WIP] Update to LDK 0.0.120Jan 18, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK v0.0.120 has been released, includes #2822.
These changes should bring ldk-sample up to date with LDK v0.0.120 (and bitcoin 0.30.2)

@optout21optout21 changed the title [WIP] Update to LDK 0.0.120Update to LDK 0.0.120Jan 18, 2024
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from 8ac6a80 to d33c07eCompareJanuary 18, 2024 21:19
@optout21
optout21 marked this pull request as ready for review January 18, 2024 21:25
@optout21

Copy link
Copy Markdown
ContributorAuthor

There's one CI test failure, one dependency lib was not found, object 0.32.2, seems unrelated to changes here, in stable build there was no failure.

@optout21optout21 changed the title Update to LDK 0.0.120Update to LDK 0.0.121Jan 24, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

Bumped from 120 to 121.

@optout21
optout21 marked this pull request as draft January 24, 2024 21:34
@optout21

Copy link
Copy Markdown
ContributorAuthor

Also updated minimal tested Rust version to 1.63, as LDK requires that now (since 0.0.119), and previously tested 1.48 caused some dependency issues (tokio 1.35.1, backtrace 0.3.69, object 0.32.2 does not work for 1.48).

@optout21
optout21 marked this pull request as ready for review January 24, 2024 21:51
Comment threadsrc/bitcoind_client.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/convert.rs Outdated
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from b70d39c to 37d9df6CompareJanuary 25, 2024 11:45
Comment threadsrc/main.rs Outdated

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, mod one unwrap I missed before (sorry for that).

Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
@tnull

tnull commented Feb 1, 2024

Copy link
Copy Markdown
Contributor

@optout21 I think this should be very close to landing, mod the nits above.

@optout21

Copy link
Copy Markdown
ContributorAuthor

@optout21 I think this should be very close to landing, mod the nits above.

Done now. Thanks for reminding, it slid lower in my to-do.

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@tnull
tnull merged commit 3bb8258 into lightningdevkit:mainFeb 1, 2024
@domZippilli

domZippilli commented Feb 6, 2024

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

@jkczyz

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

payment_parameters_from_invoice would be preferable. The error checking here is probably overkill. The unwraps in payment_parameters_from_invoice are fine because PaymentParameters has a Payee, and some methods are only applicable to certain types of Payees.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update bitcoin library

6 participants

@optout21@orbitalturtle@tnull@TheBlueMatt@domZippilli@jkczyz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Update to LDK 0.0.121 by optout21 · Pull Request #126 · lightningdevkit/ldk-sample · GitHub
Skip to content
This repository was archived by the owner on Aug 3, 2026. It is now read-only.

Update to LDK 0.0.121 - #126

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119
Feb 1, 2024
Merged

Update to LDK 0.0.121#126
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119

Conversation

@optout21

@optout21optout21 commented Dec 5, 2023

Copy link
Copy Markdown
Contributor

Updated to LDK 0.0.121 and bitcoin library 0.30.2.
Also updated MSRV to 1.63, as LDK requires that (since 0.0.119).

Fixes#125 .

TODO:

  • Fix issue of circular type dep SimpleArcPeerManager <-> GossipVerifier
  • squash commits

Relevant changes in LDK:

  • Added temporary_channel_id to create_channel. #2699
  • Replace maze of BOLT11 payment utilities with parameter generators #2727
  • Drop non-anchor channel fee upper bound limit entirely #2696
  • Update to rust-bitcoin v0.30.2 #2740
  • Add peer_id and channel_id explicitly to log records #2314
  • Pass Record by value to Logger
  • GossipVerifier now takes a PeerManager type (leads to circular type deps)
  • Onion routing: signature of send_onion_message() has changed, path is not needed
  • New ConectionNeeded event, ignored
  • DefaultMessageRouter takes a network graph
  • In WalletSource, sign_tx() has been changed to sign_psbt()
  • Event processor process_events_async() has additional argument for fetching duration, constant 0 used here
  • and some others

@orbitalturtle

Copy link
Copy Markdown

Just curious if this is still in the works :)

@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

@tnull

tnull commented Jan 3, 2024

Copy link
Copy Markdown
Contributor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

Right, but do you intend to go ahead with this PR? If not, I'd be happy to take it over and upgrade ldk-sample.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Yes, I plan to do this in next 1-2 days, but no hard commitment :D

@optout21

Copy link
Copy Markdown
ContributorAuthor

I run into a small problem here:
I'm up to date till LDK Dec 5 cbde4a7
PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types.
@tnull@TheBlueMatt

@tnull

tnull commented Jan 4, 2024

Copy link
Copy Markdown
Contributor

I run into a small problem here: I'm up to date till LDK Dec 5 cbde4a7 PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types. @tnull@TheBlueMatt

Ugh, that might indeed be an issue we should fix upstream. Not sure if we need to find a (likely ugly) workaround here and roll it back, or wait for the upstream change though. @TheBlueMatt Any opinion on this?

@optout21

optout21 commented Jan 4, 2024

Copy link
Copy Markdown
ContributorAuthor

I did a workaround, by creating a version of GossipVerifier without a PeerManager, called SimpleGossipVerifier, in a separate file. This workaround probably BREAKS functionality, and is ugly.
Rest of the adaptations are done, but the GossipVerifier issue has to be finalized.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Also mentioning @johncantrell97 , the author of #2773 .

@TheBlueMatt

Copy link
Copy Markdown
Contributor

Ugh, thanks for doing this! Sorry it took a while to get back to this. We'll want to (partially) revert [#2773.](lightningdevkit/rust-lightning#2773.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Update: PR #2773 was partially reverted by PR #2822 .
It looks like LDK v0.0.119 will have to be skipped, and wait for v0.0.120.
I plan to check into the changes as required by current LDK main, post-2822.

@optout21optout21 changed the title [WIP] Update to LDK 0.0.119[WIP] Update to LDK 0.0.120Jan 18, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK v0.0.120 has been released, includes #2822.
These changes should bring ldk-sample up to date with LDK v0.0.120 (and bitcoin 0.30.2)

@optout21optout21 changed the title [WIP] Update to LDK 0.0.120Update to LDK 0.0.120Jan 18, 2024
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from 8ac6a80 to d33c07eCompareJanuary 18, 2024 21:19
@optout21
optout21 marked this pull request as ready for review January 18, 2024 21:25
@optout21

Copy link
Copy Markdown
ContributorAuthor

There's one CI test failure, one dependency lib was not found, object 0.32.2, seems unrelated to changes here, in stable build there was no failure.

@optout21optout21 changed the title Update to LDK 0.0.120Update to LDK 0.0.121Jan 24, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

Bumped from 120 to 121.

@optout21
optout21 marked this pull request as draft January 24, 2024 21:34
@optout21

Copy link
Copy Markdown
ContributorAuthor

Also updated minimal tested Rust version to 1.63, as LDK requires that now (since 0.0.119), and previously tested 1.48 caused some dependency issues (tokio 1.35.1, backtrace 0.3.69, object 0.32.2 does not work for 1.48).

@optout21
optout21 marked this pull request as ready for review January 24, 2024 21:51
Comment threadsrc/bitcoind_client.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/convert.rs Outdated
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from b70d39c to 37d9df6CompareJanuary 25, 2024 11:45
Comment threadsrc/main.rs Outdated

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, mod one unwrap I missed before (sorry for that).

Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
@tnull

tnull commented Feb 1, 2024

Copy link
Copy Markdown
Contributor

@optout21 I think this should be very close to landing, mod the nits above.

@optout21

Copy link
Copy Markdown
ContributorAuthor

@optout21 I think this should be very close to landing, mod the nits above.

Done now. Thanks for reminding, it slid lower in my to-do.

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@tnull
tnull merged commit 3bb8258 into lightningdevkit:mainFeb 1, 2024
@domZippilli

domZippilli commented Feb 6, 2024

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

@jkczyz

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

payment_parameters_from_invoice would be preferable. The error checking here is probably overkill. The unwraps in payment_parameters_from_invoice are fine because PaymentParameters has a Payee, and some methods are only applicable to certain types of Payees.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update bitcoin library

6 participants

@optout21@orbitalturtle@tnull@TheBlueMatt@domZippilli@jkczyz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Update to LDK 0.0.121 by optout21 · Pull Request #126 · lightningdevkit/ldk-sample · GitHub
Skip to content
This repository was archived by the owner on Aug 3, 2026. It is now read-only.

Update to LDK 0.0.121 - #126

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119
Feb 1, 2024
Merged

Update to LDK 0.0.121#126
tnull merged 1 commit into
lightningdevkit:mainfrom
optout21:ldk-119

Conversation

@optout21

@optout21optout21 commented Dec 5, 2023

Copy link
Copy Markdown
Contributor

Updated to LDK 0.0.121 and bitcoin library 0.30.2.
Also updated MSRV to 1.63, as LDK requires that (since 0.0.119).

Fixes#125 .

TODO:

  • Fix issue of circular type dep SimpleArcPeerManager <-> GossipVerifier
  • squash commits

Relevant changes in LDK:

  • Added temporary_channel_id to create_channel. #2699
  • Replace maze of BOLT11 payment utilities with parameter generators #2727
  • Drop non-anchor channel fee upper bound limit entirely #2696
  • Update to rust-bitcoin v0.30.2 #2740
  • Add peer_id and channel_id explicitly to log records #2314
  • Pass Record by value to Logger
  • GossipVerifier now takes a PeerManager type (leads to circular type deps)
  • Onion routing: signature of send_onion_message() has changed, path is not needed
  • New ConectionNeeded event, ignored
  • DefaultMessageRouter takes a network graph
  • In WalletSource, sign_tx() has been changed to sign_psbt()
  • Event processor process_events_async() has additional argument for fetching duration, constant 0 used here
  • and some others

@orbitalturtle

Copy link
Copy Markdown

Just curious if this is still in the works :)

@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

@tnull

tnull commented Jan 3, 2024

Copy link
Copy Markdown
Contributor

LDK 0.0.119 is available for some time now -- unless at the time of creation of this PR. However, more adaption is needed, TODO.

Right, but do you intend to go ahead with this PR? If not, I'd be happy to take it over and upgrade ldk-sample.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Yes, I plan to do this in next 1-2 days, but no hard commitment :D

@optout21

Copy link
Copy Markdown
ContributorAuthor

I run into a small problem here:
I'm up to date till LDK Dec 5 cbde4a7
PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types.
@tnull@TheBlueMatt

@tnull

tnull commented Jan 4, 2024

Copy link
Copy Markdown
Contributor

I run into a small problem here: I'm up to date till LDK Dec 5 cbde4a7 PR #2773 simplified GossipVerifier, which takes now a PeerManager type parameter, but our PeerManager takes a GossipVerifier, which creates a circular dependency in the types. @tnull@TheBlueMatt

Ugh, that might indeed be an issue we should fix upstream. Not sure if we need to find a (likely ugly) workaround here and roll it back, or wait for the upstream change though. @TheBlueMatt Any opinion on this?

@optout21

optout21 commented Jan 4, 2024

Copy link
Copy Markdown
ContributorAuthor

I did a workaround, by creating a version of GossipVerifier without a PeerManager, called SimpleGossipVerifier, in a separate file. This workaround probably BREAKS functionality, and is ugly.
Rest of the adaptations are done, but the GossipVerifier issue has to be finalized.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Also mentioning @johncantrell97 , the author of #2773 .

@TheBlueMatt

Copy link
Copy Markdown
Contributor

Ugh, thanks for doing this! Sorry it took a while to get back to this. We'll want to (partially) revert [#2773.](lightningdevkit/rust-lightning#2773.

@optout21

Copy link
Copy Markdown
ContributorAuthor

Update: PR #2773 was partially reverted by PR #2822 .
It looks like LDK v0.0.119 will have to be skipped, and wait for v0.0.120.
I plan to check into the changes as required by current LDK main, post-2822.

@optout21optout21 changed the title [WIP] Update to LDK 0.0.119[WIP] Update to LDK 0.0.120Jan 18, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

LDK v0.0.120 has been released, includes #2822.
These changes should bring ldk-sample up to date with LDK v0.0.120 (and bitcoin 0.30.2)

@optout21optout21 changed the title [WIP] Update to LDK 0.0.120Update to LDK 0.0.120Jan 18, 2024
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from 8ac6a80 to d33c07eCompareJanuary 18, 2024 21:19
@optout21
optout21 marked this pull request as ready for review January 18, 2024 21:25
@optout21

Copy link
Copy Markdown
ContributorAuthor

There's one CI test failure, one dependency lib was not found, object 0.32.2, seems unrelated to changes here, in stable build there was no failure.

@optout21optout21 changed the title Update to LDK 0.0.120Update to LDK 0.0.121Jan 24, 2024
@optout21

Copy link
Copy Markdown
ContributorAuthor

Bumped from 120 to 121.

@optout21
optout21 marked this pull request as draft January 24, 2024 21:34
@optout21

Copy link
Copy Markdown
ContributorAuthor

Also updated minimal tested Rust version to 1.63, as LDK requires that now (since 0.0.119), and previously tested 1.48 caused some dependency issues (tokio 1.35.1, backtrace 0.3.69, object 0.32.2 does not work for 1.48).

@optout21
optout21 marked this pull request as ready for review January 24, 2024 21:51
Comment threadsrc/bitcoind_client.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
Comment threadsrc/convert.rs Outdated
@optout21
optout21force-pushed the ldk-119 branch 2 times, most recently from b70d39c to 37d9df6CompareJanuary 25, 2024 11:45
Comment threadsrc/main.rs Outdated

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, mod one unwrap I missed before (sorry for that).

Comment threadsrc/cli.rs Outdated
Comment threadsrc/cli.rs Outdated
@tnull

tnull commented Feb 1, 2024

Copy link
Copy Markdown
Contributor

@optout21 I think this should be very close to landing, mod the nits above.

@optout21

Copy link
Copy Markdown
ContributorAuthor

@optout21 I think this should be very close to landing, mod the nits above.

Done now. Thanks for reminding, it slid lower in my to-do.

@tnulltnull left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@tnull
tnull merged commit 3bb8258 into lightningdevkit:mainFeb 1, 2024
@domZippilli

domZippilli commented Feb 6, 2024

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

@jkczyz

Copy link
Copy Markdown
Contributor

Hey, dunno if anyone will see this, but I was wondering if the team considered using payment_parameters_from_invoice for cli::send_payment implementation. That was introduced by @TheBlueMatt in #2727, and we're considering using it for our upgrade, but noticed it wasn't used here. The implementation of payment_parameters_from_invoice does seem to have some key differences from what ended up here, like unwraps and not as much specificity to errors, so I'm wondering if it was a conscious choice not to use it, or it was just overlooked.

payment_parameters_from_invoice would be preferable. The error checking here is probably overkill. The unwraps in payment_parameters_from_invoice are fine because PaymentParameters has a Payee, and some methods are only applicable to certain types of Payees.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update bitcoin library

6 participants

@optout21@orbitalturtle@tnull@TheBlueMatt@domZippilli@jkczyz