Skip to content

Allow to set optional RouteParametersConfig in BOLT12 API - #702

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12
Nov 14, 2025
Merged

Allow to set optional RouteParametersConfig in BOLT12 API#702
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12

Conversation

@tnull

Copy link
Copy Markdown
Collaborator

Closes#347.

Previously, LDK only allowed to set this for BOLT11 payments. Since we now can, we allow to specify the RouteParametersConfig in BOLT12 and UnifiedQrPayment APIs.

Previously, LDK only allowed to set this for BOLT11 payments. Since we
now can, we allow to specify the `RouteParametersConfig` in BOLT12 and
`UnifiedQrPayment` APIs.
@tnulltnull added this to the 0.7 milestone Nov 13, 2025
@tnull
tnull requested a review from jkczyzNovember 13, 2025 13:15
@ldk-reviews-bot

ldk-reviews-bot commented Nov 13, 2025

Copy link
Copy Markdown

👋 Thanks for assigning @jkczyz as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@tnulltnull moved this to Goal: Merge in Weekly GoalsNov 13, 2025
@tnulltnull self-assigned this Nov 13, 2025
Comment threadsrc/payment/bolt12.rs
/// node-wide parameters configured via [`Config::route_parameters`] on a per-field basis.
pub fn send(
&self, offer: &Offer, quantity: Option<u64>, payer_note: Option<String>,
route_parameters: Option<RouteParametersConfig>,

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.

Not sure your feeling on this, but could avoid an additional Option parameter by chaining a call when creating Bolt12Payment:

node.bolt12_payment().with_route_params(route_params).send()

Though maybe an argument against is that it is specific to sending so not relevant to other calls. At very least, these aren't specific to a given Offer.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Yeah, I guess that would make sense if we did the builder-style refactor eventually. Not necessarily opposed to it, but IMO if we would go in that direction we should probably consider refactor the payment APIs to be fully in builder -pattern style.

@tnull
tnull merged commit 994e23c into lightningdevkit:mainNov 14, 2025
17 checks passed
@github-project-automationgithub-project-automationBot moved this from Goal: Merge to Done in Weekly GoalsNov 14, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Allow to set SendingParameters in BOLT12 send methods

3 participants

@tnull@ldk-reviews-bot@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" + '
Allow to set optional `RouteParametersConfig` in BOLT12 API by tnull · Pull Request #702 · lightningdevkit/ldk-node · GitHub
Skip to content

Allow to set optional RouteParametersConfig in BOLT12 API - #702

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12
Nov 14, 2025
Merged

Allow to set optional RouteParametersConfig in BOLT12 API#702
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12

Conversation

@tnull

Copy link
Copy Markdown
Collaborator

Closes#347.

Previously, LDK only allowed to set this for BOLT11 payments. Since we now can, we allow to specify the RouteParametersConfig in BOLT12 and UnifiedQrPayment APIs.

Previously, LDK only allowed to set this for BOLT11 payments. Since we
now can, we allow to specify the `RouteParametersConfig` in BOLT12 and
`UnifiedQrPayment` APIs.
@tnulltnull added this to the 0.7 milestone Nov 13, 2025
@tnull
tnull requested a review from jkczyzNovember 13, 2025 13:15
@ldk-reviews-bot

ldk-reviews-bot commented Nov 13, 2025

Copy link
Copy Markdown

👋 Thanks for assigning @jkczyz as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@tnulltnull moved this to Goal: Merge in Weekly GoalsNov 13, 2025
@tnulltnull self-assigned this Nov 13, 2025
Comment threadsrc/payment/bolt12.rs
/// node-wide parameters configured via [`Config::route_parameters`] on a per-field basis.
pub fn send(
&self, offer: &Offer, quantity: Option<u64>, payer_note: Option<String>,
route_parameters: Option<RouteParametersConfig>,

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.

Not sure your feeling on this, but could avoid an additional Option parameter by chaining a call when creating Bolt12Payment:

node.bolt12_payment().with_route_params(route_params).send()

Though maybe an argument against is that it is specific to sending so not relevant to other calls. At very least, these aren't specific to a given Offer.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Yeah, I guess that would make sense if we did the builder-style refactor eventually. Not necessarily opposed to it, but IMO if we would go in that direction we should probably consider refactor the payment APIs to be fully in builder -pattern style.

@tnull
tnull merged commit 994e23c into lightningdevkit:mainNov 14, 2025
17 checks passed
@github-project-automationgithub-project-automationBot moved this from Goal: Merge to Done in Weekly GoalsNov 14, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Allow to set SendingParameters in BOLT12 send methods

3 participants

@tnull@ldk-reviews-bot@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('^' + ".*" + ' Allow to set optional `RouteParametersConfig` in BOLT12 API by tnull · Pull Request #702 · lightningdevkit/ldk-node · GitHub
Skip to content

Allow to set optional RouteParametersConfig in BOLT12 API - #702

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12
Nov 14, 2025
Merged

Allow to set optional RouteParametersConfig in BOLT12 API#702
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12

Conversation

@tnull

Copy link
Copy Markdown
Collaborator

Closes#347.

Previously, LDK only allowed to set this for BOLT11 payments. Since we now can, we allow to specify the RouteParametersConfig in BOLT12 and UnifiedQrPayment APIs.

Previously, LDK only allowed to set this for BOLT11 payments. Since we
now can, we allow to specify the `RouteParametersConfig` in BOLT12 and
`UnifiedQrPayment` APIs.
@tnulltnull added this to the 0.7 milestone Nov 13, 2025
@tnull
tnull requested a review from jkczyzNovember 13, 2025 13:15
@ldk-reviews-bot

ldk-reviews-bot commented Nov 13, 2025

Copy link
Copy Markdown

👋 Thanks for assigning @jkczyz as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@tnulltnull moved this to Goal: Merge in Weekly GoalsNov 13, 2025
@tnulltnull self-assigned this Nov 13, 2025
Comment threadsrc/payment/bolt12.rs
/// node-wide parameters configured via [`Config::route_parameters`] on a per-field basis.
pub fn send(
&self, offer: &Offer, quantity: Option<u64>, payer_note: Option<String>,
route_parameters: Option<RouteParametersConfig>,

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.

Not sure your feeling on this, but could avoid an additional Option parameter by chaining a call when creating Bolt12Payment:

node.bolt12_payment().with_route_params(route_params).send()

Though maybe an argument against is that it is specific to sending so not relevant to other calls. At very least, these aren't specific to a given Offer.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Yeah, I guess that would make sense if we did the builder-style refactor eventually. Not necessarily opposed to it, but IMO if we would go in that direction we should probably consider refactor the payment APIs to be fully in builder -pattern style.

@tnull
tnull merged commit 994e23c into lightningdevkit:mainNov 14, 2025
17 checks passed
@github-project-automationgithub-project-automationBot moved this from Goal: Merge to Done in Weekly GoalsNov 14, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Allow to set SendingParameters in BOLT12 send methods

3 participants

@tnull@ldk-reviews-bot@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('^' + ".*" + ' Allow to set optional `RouteParametersConfig` in BOLT12 API by tnull · Pull Request #702 · lightningdevkit/ldk-node · GitHub
Skip to content

Allow to set optional RouteParametersConfig in BOLT12 API - #702

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12
Nov 14, 2025
Merged

Allow to set optional RouteParametersConfig in BOLT12 API#702
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12

Conversation

@tnull

Copy link
Copy Markdown
Collaborator

Closes#347.

Previously, LDK only allowed to set this for BOLT11 payments. Since we now can, we allow to specify the RouteParametersConfig in BOLT12 and UnifiedQrPayment APIs.

Previously, LDK only allowed to set this for BOLT11 payments. Since we
now can, we allow to specify the `RouteParametersConfig` in BOLT12 and
`UnifiedQrPayment` APIs.
@tnulltnull added this to the 0.7 milestone Nov 13, 2025
@tnull
tnull requested a review from jkczyzNovember 13, 2025 13:15
@ldk-reviews-bot

ldk-reviews-bot commented Nov 13, 2025

Copy link
Copy Markdown

👋 Thanks for assigning @jkczyz as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@tnulltnull moved this to Goal: Merge in Weekly GoalsNov 13, 2025
@tnulltnull self-assigned this Nov 13, 2025
Comment threadsrc/payment/bolt12.rs
/// node-wide parameters configured via [`Config::route_parameters`] on a per-field basis.
pub fn send(
&self, offer: &Offer, quantity: Option<u64>, payer_note: Option<String>,
route_parameters: Option<RouteParametersConfig>,

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.

Not sure your feeling on this, but could avoid an additional Option parameter by chaining a call when creating Bolt12Payment:

node.bolt12_payment().with_route_params(route_params).send()

Though maybe an argument against is that it is specific to sending so not relevant to other calls. At very least, these aren't specific to a given Offer.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Yeah, I guess that would make sense if we did the builder-style refactor eventually. Not necessarily opposed to it, but IMO if we would go in that direction we should probably consider refactor the payment APIs to be fully in builder -pattern style.

@tnull
tnull merged commit 994e23c into lightningdevkit:mainNov 14, 2025
17 checks passed
@github-project-automationgithub-project-automationBot moved this from Goal: Merge to Done in Weekly GoalsNov 14, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Allow to set SendingParameters in BOLT12 send methods

3 participants

@tnull@ldk-reviews-bot@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" + ' Allow to set optional `RouteParametersConfig` in BOLT12 API by tnull · Pull Request #702 · lightningdevkit/ldk-node · GitHub
Skip to content

Allow to set optional RouteParametersConfig in BOLT12 API - #702

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12
Nov 14, 2025
Merged

Allow to set optional RouteParametersConfig in BOLT12 API#702
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12

Conversation

@tnull

Copy link
Copy Markdown
Collaborator

Closes#347.

Previously, LDK only allowed to set this for BOLT11 payments. Since we now can, we allow to specify the RouteParametersConfig in BOLT12 and UnifiedQrPayment APIs.

Previously, LDK only allowed to set this for BOLT11 payments. Since we
now can, we allow to specify the `RouteParametersConfig` in BOLT12 and
`UnifiedQrPayment` APIs.
@tnulltnull added this to the 0.7 milestone Nov 13, 2025
@tnull
tnull requested a review from jkczyzNovember 13, 2025 13:15
@ldk-reviews-bot

ldk-reviews-bot commented Nov 13, 2025

Copy link
Copy Markdown

👋 Thanks for assigning @jkczyz as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@tnulltnull moved this to Goal: Merge in Weekly GoalsNov 13, 2025
@tnulltnull self-assigned this Nov 13, 2025
Comment threadsrc/payment/bolt12.rs
/// node-wide parameters configured via [`Config::route_parameters`] on a per-field basis.
pub fn send(
&self, offer: &Offer, quantity: Option<u64>, payer_note: Option<String>,
route_parameters: Option<RouteParametersConfig>,

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.

Not sure your feeling on this, but could avoid an additional Option parameter by chaining a call when creating Bolt12Payment:

node.bolt12_payment().with_route_params(route_params).send()

Though maybe an argument against is that it is specific to sending so not relevant to other calls. At very least, these aren't specific to a given Offer.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Yeah, I guess that would make sense if we did the builder-style refactor eventually. Not necessarily opposed to it, but IMO if we would go in that direction we should probably consider refactor the payment APIs to be fully in builder -pattern style.

@tnull
tnull merged commit 994e23c into lightningdevkit:mainNov 14, 2025
17 checks passed
@github-project-automationgithub-project-automationBot moved this from Goal: Merge to Done in Weekly GoalsNov 14, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Allow to set SendingParameters in BOLT12 send methods

3 participants

@tnull@ldk-reviews-bot@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('^' + ".*" + ' Allow to set optional `RouteParametersConfig` in BOLT12 API by tnull · Pull Request #702 · lightningdevkit/ldk-node · GitHub
Skip to content

Allow to set optional RouteParametersConfig in BOLT12 API - #702

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12
Nov 14, 2025
Merged

Allow to set optional RouteParametersConfig in BOLT12 API#702
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12

Conversation

@tnull

Copy link
Copy Markdown
Collaborator

Closes#347.

Previously, LDK only allowed to set this for BOLT11 payments. Since we now can, we allow to specify the RouteParametersConfig in BOLT12 and UnifiedQrPayment APIs.

Previously, LDK only allowed to set this for BOLT11 payments. Since we
now can, we allow to specify the `RouteParametersConfig` in BOLT12 and
`UnifiedQrPayment` APIs.
@tnulltnull added this to the 0.7 milestone Nov 13, 2025
@tnull
tnull requested a review from jkczyzNovember 13, 2025 13:15
@ldk-reviews-bot

ldk-reviews-bot commented Nov 13, 2025

Copy link
Copy Markdown

👋 Thanks for assigning @jkczyz as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@tnulltnull moved this to Goal: Merge in Weekly GoalsNov 13, 2025
@tnulltnull self-assigned this Nov 13, 2025
Comment threadsrc/payment/bolt12.rs
/// node-wide parameters configured via [`Config::route_parameters`] on a per-field basis.
pub fn send(
&self, offer: &Offer, quantity: Option<u64>, payer_note: Option<String>,
route_parameters: Option<RouteParametersConfig>,

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.

Not sure your feeling on this, but could avoid an additional Option parameter by chaining a call when creating Bolt12Payment:

node.bolt12_payment().with_route_params(route_params).send()

Though maybe an argument against is that it is specific to sending so not relevant to other calls. At very least, these aren't specific to a given Offer.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Yeah, I guess that would make sense if we did the builder-style refactor eventually. Not necessarily opposed to it, but IMO if we would go in that direction we should probably consider refactor the payment APIs to be fully in builder -pattern style.

@tnull
tnull merged commit 994e23c into lightningdevkit:mainNov 14, 2025
17 checks passed
@github-project-automationgithub-project-automationBot moved this from Goal: Merge to Done in Weekly GoalsNov 14, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Allow to set SendingParameters in BOLT12 send methods

3 participants

@tnull@ldk-reviews-bot@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('^' + ".*" + ' Allow to set optional `RouteParametersConfig` in BOLT12 API by tnull · Pull Request #702 · lightningdevkit/ldk-node · GitHub
Skip to content

Allow to set optional RouteParametersConfig in BOLT12 API - #702

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12
Nov 14, 2025
Merged

Allow to set optional RouteParametersConfig in BOLT12 API#702
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12

Conversation

@tnull

Copy link
Copy Markdown
Collaborator

Closes#347.

Previously, LDK only allowed to set this for BOLT11 payments. Since we now can, we allow to specify the RouteParametersConfig in BOLT12 and UnifiedQrPayment APIs.

Previously, LDK only allowed to set this for BOLT11 payments. Since we
now can, we allow to specify the `RouteParametersConfig` in BOLT12 and
`UnifiedQrPayment` APIs.
@tnulltnull added this to the 0.7 milestone Nov 13, 2025
@tnull
tnull requested a review from jkczyzNovember 13, 2025 13:15
@ldk-reviews-bot

ldk-reviews-bot commented Nov 13, 2025

Copy link
Copy Markdown

👋 Thanks for assigning @jkczyz as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@tnulltnull moved this to Goal: Merge in Weekly GoalsNov 13, 2025
@tnulltnull self-assigned this Nov 13, 2025
Comment threadsrc/payment/bolt12.rs
/// node-wide parameters configured via [`Config::route_parameters`] on a per-field basis.
pub fn send(
&self, offer: &Offer, quantity: Option<u64>, payer_note: Option<String>,
route_parameters: Option<RouteParametersConfig>,

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.

Not sure your feeling on this, but could avoid an additional Option parameter by chaining a call when creating Bolt12Payment:

node.bolt12_payment().with_route_params(route_params).send()

Though maybe an argument against is that it is specific to sending so not relevant to other calls. At very least, these aren't specific to a given Offer.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Yeah, I guess that would make sense if we did the builder-style refactor eventually. Not necessarily opposed to it, but IMO if we would go in that direction we should probably consider refactor the payment APIs to be fully in builder -pattern style.

@tnull
tnull merged commit 994e23c into lightningdevkit:mainNov 14, 2025
17 checks passed
@github-project-automationgithub-project-automationBot moved this from Goal: Merge to Done in Weekly GoalsNov 14, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Allow to set SendingParameters in BOLT12 send methods

3 participants

@tnull@ldk-reviews-bot@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); } })(); })(); Allow to set optional `RouteParametersConfig` in BOLT12 API by tnull · Pull Request #702 · lightningdevkit/ldk-node · GitHub
Skip to content

Allow to set optional RouteParametersConfig in BOLT12 API - #702

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12
Nov 14, 2025
Merged

Allow to set optional RouteParametersConfig in BOLT12 API#702
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2025-11-allow-to-set-routeparameters-in-bolt12

Conversation

@tnull

Copy link
Copy Markdown
Collaborator

Closes#347.

Previously, LDK only allowed to set this for BOLT11 payments. Since we now can, we allow to specify the RouteParametersConfig in BOLT12 and UnifiedQrPayment APIs.

Previously, LDK only allowed to set this for BOLT11 payments. Since we
now can, we allow to specify the `RouteParametersConfig` in BOLT12 and
`UnifiedQrPayment` APIs.
@tnulltnull added this to the 0.7 milestone Nov 13, 2025
@tnull
tnull requested a review from jkczyzNovember 13, 2025 13:15
@ldk-reviews-bot

ldk-reviews-bot commented Nov 13, 2025

Copy link
Copy Markdown

👋 Thanks for assigning @jkczyz as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@tnulltnull moved this to Goal: Merge in Weekly GoalsNov 13, 2025
@tnulltnull self-assigned this Nov 13, 2025
Comment threadsrc/payment/bolt12.rs
/// node-wide parameters configured via [`Config::route_parameters`] on a per-field basis.
pub fn send(
&self, offer: &Offer, quantity: Option<u64>, payer_note: Option<String>,
route_parameters: Option<RouteParametersConfig>,

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.

Not sure your feeling on this, but could avoid an additional Option parameter by chaining a call when creating Bolt12Payment:

node.bolt12_payment().with_route_params(route_params).send()

Though maybe an argument against is that it is specific to sending so not relevant to other calls. At very least, these aren't specific to a given Offer.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Yeah, I guess that would make sense if we did the builder-style refactor eventually. Not necessarily opposed to it, but IMO if we would go in that direction we should probably consider refactor the payment APIs to be fully in builder -pattern style.

@tnull
tnull merged commit 994e23c into lightningdevkit:mainNov 14, 2025
17 checks passed
@github-project-automationgithub-project-automationBot moved this from Goal: Merge to Done in Weekly GoalsNov 14, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Allow to set SendingParameters in BOLT12 send methods

3 participants

@tnull@ldk-reviews-bot@jkczyz