Skip to content

Add LSPS1 client-side integration - #418

Merged
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration
Feb 6, 2025
Merged

Add LSPS1 client-side integration#418
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration

Conversation

@tnull

@tnulltnull commented Dec 4, 2024

Copy link
Copy Markdown
Collaborator

We add the capability to act as an LSPS1 / bLIP-51 client.

@tnull
tnull marked this pull request as draft December 4, 2024 14:49
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from a160bf2 to d0eb977CompareDecember 4, 2024 14:55
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from d0eb977 to fe59fedCompareDecember 10, 2024 13:37
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 82fc329 to 9d47470CompareJanuary 10, 2025 12:09
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 9d47470 to 5e13aa5CompareJanuary 16, 2025 09:33
@tnull
tnull marked this pull request as ready for review January 16, 2025 09:33
@tnulltnull added this to the 0.5 milestone Jan 16, 2025
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 5e13aa5 to 2780049CompareJanuary 17, 2025 08:47
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main after #426 landed.

@tnulltnull mentioned this pull request Jan 17, 2025
10 tasks
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 115f732 to a2593aeCompareJanuary 30, 2025 13:19
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main to resolve minor changes.

@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 1d68d58 to e3725b4CompareJanuary 30, 2025 13:41
@tnull
tnull requested a review from jkczyzJanuary 30, 2025 14:02
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs
.. to align with the rest of the APIs where we usually go `node_id`,
`address`, etc.
We add support for LSPS1 liquidity sources. To this end we slightly
refactor our logic to first create a `LiquiditySourceBuilder` that then
can be used to `build()` the `LiquiditySource` with the configured
services.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 4 times, most recently from 9cec3f4 to 0e590baCompareFebruary 1, 2025 09:09
We add the logic required to send `create_order` requests and check on
their status.
We add an `Lsps1Liquidity` API object, mirroring the approach we took
with the `payment` APIs.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 0e590ba to b1a277cCompareFebruary 6, 2025 09:55
@tnull

tnull commented Feb 6, 2025

Copy link
Copy Markdown
CollaboratorAuthor

Now went ahead and squashed fixups, including the doc changes:

> git diff-tree -U2 0e590ba9 b1a277c6diff --git a/src/liquidity.rs b/src/liquidity.rs
index 7414260c..cbc19954 100644
--- a/src/liquidity.rs+++ b/src/liquidity.rs@@ -224,9 +224,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -285,9 +285,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -343,9 +343,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -390,9 +390,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -442,9 +442,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -964,6 +964,11 @@ pub(crate) struct LSPS2BuyResponse {
/// Should be retrieved by calling [`Node::lsps1_liquidity`].
///
+/// To open [bLIP-52 / LSPS2] JIT channels, please refer to+/// [`Bolt11Payment::receive_via_jit_channel`].+///
/// [bLIP-51 / LSPS1]: https://github.com/lightning/blips/blob/master/blip-0051.md
+/// [bLIP-52 / LSPS2]: https://github.com/lightning/blips/blob/master/blip-0052.md
/// [`Node::lsps1_liquidity`]: crate::Node::lsps1_liquidity
+/// [`Bolt11Payment::receive_via_jit_channel`]: crate::payment::Bolt11Payment::receive_via_jit_channel
#[derive(Clone)]
pub struct LSPS1Liquidity {

@tnull
tnull merged commit f1fdee5 into lightningdevkit:mainFeb 6, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tnull@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" + '
Add LSPS1 client-side integration by tnull · Pull Request #418 · lightningdevkit/ldk-node · GitHub
Skip to content

Add LSPS1 client-side integration - #418

Merged
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration
Feb 6, 2025
Merged

Add LSPS1 client-side integration#418
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration

Conversation

@tnull

@tnulltnull commented Dec 4, 2024

Copy link
Copy Markdown
Collaborator

We add the capability to act as an LSPS1 / bLIP-51 client.

@tnull
tnull marked this pull request as draft December 4, 2024 14:49
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from a160bf2 to d0eb977CompareDecember 4, 2024 14:55
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from d0eb977 to fe59fedCompareDecember 10, 2024 13:37
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 82fc329 to 9d47470CompareJanuary 10, 2025 12:09
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 9d47470 to 5e13aa5CompareJanuary 16, 2025 09:33
@tnull
tnull marked this pull request as ready for review January 16, 2025 09:33
@tnulltnull added this to the 0.5 milestone Jan 16, 2025
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 5e13aa5 to 2780049CompareJanuary 17, 2025 08:47
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main after #426 landed.

@tnulltnull mentioned this pull request Jan 17, 2025
10 tasks
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 115f732 to a2593aeCompareJanuary 30, 2025 13:19
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main to resolve minor changes.

@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 1d68d58 to e3725b4CompareJanuary 30, 2025 13:41
@tnull
tnull requested a review from jkczyzJanuary 30, 2025 14:02
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs
.. to align with the rest of the APIs where we usually go `node_id`,
`address`, etc.
We add support for LSPS1 liquidity sources. To this end we slightly
refactor our logic to first create a `LiquiditySourceBuilder` that then
can be used to `build()` the `LiquiditySource` with the configured
services.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 4 times, most recently from 9cec3f4 to 0e590baCompareFebruary 1, 2025 09:09
We add the logic required to send `create_order` requests and check on
their status.
We add an `Lsps1Liquidity` API object, mirroring the approach we took
with the `payment` APIs.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 0e590ba to b1a277cCompareFebruary 6, 2025 09:55
@tnull

tnull commented Feb 6, 2025

Copy link
Copy Markdown
CollaboratorAuthor

Now went ahead and squashed fixups, including the doc changes:

> git diff-tree -U2 0e590ba9 b1a277c6diff --git a/src/liquidity.rs b/src/liquidity.rs
index 7414260c..cbc19954 100644
--- a/src/liquidity.rs+++ b/src/liquidity.rs@@ -224,9 +224,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -285,9 +285,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -343,9 +343,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -390,9 +390,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -442,9 +442,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -964,6 +964,11 @@ pub(crate) struct LSPS2BuyResponse {
/// Should be retrieved by calling [`Node::lsps1_liquidity`].
///
+/// To open [bLIP-52 / LSPS2] JIT channels, please refer to+/// [`Bolt11Payment::receive_via_jit_channel`].+///
/// [bLIP-51 / LSPS1]: https://github.com/lightning/blips/blob/master/blip-0051.md
+/// [bLIP-52 / LSPS2]: https://github.com/lightning/blips/blob/master/blip-0052.md
/// [`Node::lsps1_liquidity`]: crate::Node::lsps1_liquidity
+/// [`Bolt11Payment::receive_via_jit_channel`]: crate::payment::Bolt11Payment::receive_via_jit_channel
#[derive(Clone)]
pub struct LSPS1Liquidity {

@tnull
tnull merged commit f1fdee5 into lightningdevkit:mainFeb 6, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tnull@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('^' + ".*" + ' Add LSPS1 client-side integration by tnull · Pull Request #418 · lightningdevkit/ldk-node · GitHub
Skip to content

Add LSPS1 client-side integration - #418

Merged
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration
Feb 6, 2025
Merged

Add LSPS1 client-side integration#418
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration

Conversation

@tnull

@tnulltnull commented Dec 4, 2024

Copy link
Copy Markdown
Collaborator

We add the capability to act as an LSPS1 / bLIP-51 client.

@tnull
tnull marked this pull request as draft December 4, 2024 14:49
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from a160bf2 to d0eb977CompareDecember 4, 2024 14:55
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from d0eb977 to fe59fedCompareDecember 10, 2024 13:37
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 82fc329 to 9d47470CompareJanuary 10, 2025 12:09
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 9d47470 to 5e13aa5CompareJanuary 16, 2025 09:33
@tnull
tnull marked this pull request as ready for review January 16, 2025 09:33
@tnulltnull added this to the 0.5 milestone Jan 16, 2025
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 5e13aa5 to 2780049CompareJanuary 17, 2025 08:47
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main after #426 landed.

@tnulltnull mentioned this pull request Jan 17, 2025
10 tasks
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 115f732 to a2593aeCompareJanuary 30, 2025 13:19
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main to resolve minor changes.

@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 1d68d58 to e3725b4CompareJanuary 30, 2025 13:41
@tnull
tnull requested a review from jkczyzJanuary 30, 2025 14:02
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs
.. to align with the rest of the APIs where we usually go `node_id`,
`address`, etc.
We add support for LSPS1 liquidity sources. To this end we slightly
refactor our logic to first create a `LiquiditySourceBuilder` that then
can be used to `build()` the `LiquiditySource` with the configured
services.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 4 times, most recently from 9cec3f4 to 0e590baCompareFebruary 1, 2025 09:09
We add the logic required to send `create_order` requests and check on
their status.
We add an `Lsps1Liquidity` API object, mirroring the approach we took
with the `payment` APIs.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 0e590ba to b1a277cCompareFebruary 6, 2025 09:55
@tnull

tnull commented Feb 6, 2025

Copy link
Copy Markdown
CollaboratorAuthor

Now went ahead and squashed fixups, including the doc changes:

> git diff-tree -U2 0e590ba9 b1a277c6diff --git a/src/liquidity.rs b/src/liquidity.rs
index 7414260c..cbc19954 100644
--- a/src/liquidity.rs+++ b/src/liquidity.rs@@ -224,9 +224,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -285,9 +285,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -343,9 +343,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -390,9 +390,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -442,9 +442,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -964,6 +964,11 @@ pub(crate) struct LSPS2BuyResponse {
/// Should be retrieved by calling [`Node::lsps1_liquidity`].
///
+/// To open [bLIP-52 / LSPS2] JIT channels, please refer to+/// [`Bolt11Payment::receive_via_jit_channel`].+///
/// [bLIP-51 / LSPS1]: https://github.com/lightning/blips/blob/master/blip-0051.md
+/// [bLIP-52 / LSPS2]: https://github.com/lightning/blips/blob/master/blip-0052.md
/// [`Node::lsps1_liquidity`]: crate::Node::lsps1_liquidity
+/// [`Bolt11Payment::receive_via_jit_channel`]: crate::payment::Bolt11Payment::receive_via_jit_channel
#[derive(Clone)]
pub struct LSPS1Liquidity {

@tnull
tnull merged commit f1fdee5 into lightningdevkit:mainFeb 6, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tnull@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('^' + ".*" + ' Add LSPS1 client-side integration by tnull · Pull Request #418 · lightningdevkit/ldk-node · GitHub
Skip to content

Add LSPS1 client-side integration - #418

Merged
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration
Feb 6, 2025
Merged

Add LSPS1 client-side integration#418
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration

Conversation

@tnull

@tnulltnull commented Dec 4, 2024

Copy link
Copy Markdown
Collaborator

We add the capability to act as an LSPS1 / bLIP-51 client.

@tnull
tnull marked this pull request as draft December 4, 2024 14:49
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from a160bf2 to d0eb977CompareDecember 4, 2024 14:55
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from d0eb977 to fe59fedCompareDecember 10, 2024 13:37
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 82fc329 to 9d47470CompareJanuary 10, 2025 12:09
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 9d47470 to 5e13aa5CompareJanuary 16, 2025 09:33
@tnull
tnull marked this pull request as ready for review January 16, 2025 09:33
@tnulltnull added this to the 0.5 milestone Jan 16, 2025
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 5e13aa5 to 2780049CompareJanuary 17, 2025 08:47
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main after #426 landed.

@tnulltnull mentioned this pull request Jan 17, 2025
10 tasks
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 115f732 to a2593aeCompareJanuary 30, 2025 13:19
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main to resolve minor changes.

@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 1d68d58 to e3725b4CompareJanuary 30, 2025 13:41
@tnull
tnull requested a review from jkczyzJanuary 30, 2025 14:02
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs
.. to align with the rest of the APIs where we usually go `node_id`,
`address`, etc.
We add support for LSPS1 liquidity sources. To this end we slightly
refactor our logic to first create a `LiquiditySourceBuilder` that then
can be used to `build()` the `LiquiditySource` with the configured
services.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 4 times, most recently from 9cec3f4 to 0e590baCompareFebruary 1, 2025 09:09
We add the logic required to send `create_order` requests and check on
their status.
We add an `Lsps1Liquidity` API object, mirroring the approach we took
with the `payment` APIs.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 0e590ba to b1a277cCompareFebruary 6, 2025 09:55
@tnull

tnull commented Feb 6, 2025

Copy link
Copy Markdown
CollaboratorAuthor

Now went ahead and squashed fixups, including the doc changes:

> git diff-tree -U2 0e590ba9 b1a277c6diff --git a/src/liquidity.rs b/src/liquidity.rs
index 7414260c..cbc19954 100644
--- a/src/liquidity.rs+++ b/src/liquidity.rs@@ -224,9 +224,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -285,9 +285,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -343,9 +343,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -390,9 +390,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -442,9 +442,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -964,6 +964,11 @@ pub(crate) struct LSPS2BuyResponse {
/// Should be retrieved by calling [`Node::lsps1_liquidity`].
///
+/// To open [bLIP-52 / LSPS2] JIT channels, please refer to+/// [`Bolt11Payment::receive_via_jit_channel`].+///
/// [bLIP-51 / LSPS1]: https://github.com/lightning/blips/blob/master/blip-0051.md
+/// [bLIP-52 / LSPS2]: https://github.com/lightning/blips/blob/master/blip-0052.md
/// [`Node::lsps1_liquidity`]: crate::Node::lsps1_liquidity
+/// [`Bolt11Payment::receive_via_jit_channel`]: crate::payment::Bolt11Payment::receive_via_jit_channel
#[derive(Clone)]
pub struct LSPS1Liquidity {

@tnull
tnull merged commit f1fdee5 into lightningdevkit:mainFeb 6, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tnull@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" + ' Add LSPS1 client-side integration by tnull · Pull Request #418 · lightningdevkit/ldk-node · GitHub
Skip to content

Add LSPS1 client-side integration - #418

Merged
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration
Feb 6, 2025
Merged

Add LSPS1 client-side integration#418
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration

Conversation

@tnull

@tnulltnull commented Dec 4, 2024

Copy link
Copy Markdown
Collaborator

We add the capability to act as an LSPS1 / bLIP-51 client.

@tnull
tnull marked this pull request as draft December 4, 2024 14:49
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from a160bf2 to d0eb977CompareDecember 4, 2024 14:55
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from d0eb977 to fe59fedCompareDecember 10, 2024 13:37
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 82fc329 to 9d47470CompareJanuary 10, 2025 12:09
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 9d47470 to 5e13aa5CompareJanuary 16, 2025 09:33
@tnull
tnull marked this pull request as ready for review January 16, 2025 09:33
@tnulltnull added this to the 0.5 milestone Jan 16, 2025
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 5e13aa5 to 2780049CompareJanuary 17, 2025 08:47
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main after #426 landed.

@tnulltnull mentioned this pull request Jan 17, 2025
10 tasks
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 115f732 to a2593aeCompareJanuary 30, 2025 13:19
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main to resolve minor changes.

@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 1d68d58 to e3725b4CompareJanuary 30, 2025 13:41
@tnull
tnull requested a review from jkczyzJanuary 30, 2025 14:02
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs
.. to align with the rest of the APIs where we usually go `node_id`,
`address`, etc.
We add support for LSPS1 liquidity sources. To this end we slightly
refactor our logic to first create a `LiquiditySourceBuilder` that then
can be used to `build()` the `LiquiditySource` with the configured
services.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 4 times, most recently from 9cec3f4 to 0e590baCompareFebruary 1, 2025 09:09
We add the logic required to send `create_order` requests and check on
their status.
We add an `Lsps1Liquidity` API object, mirroring the approach we took
with the `payment` APIs.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 0e590ba to b1a277cCompareFebruary 6, 2025 09:55
@tnull

tnull commented Feb 6, 2025

Copy link
Copy Markdown
CollaboratorAuthor

Now went ahead and squashed fixups, including the doc changes:

> git diff-tree -U2 0e590ba9 b1a277c6diff --git a/src/liquidity.rs b/src/liquidity.rs
index 7414260c..cbc19954 100644
--- a/src/liquidity.rs+++ b/src/liquidity.rs@@ -224,9 +224,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -285,9 +285,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -343,9 +343,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -390,9 +390,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -442,9 +442,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -964,6 +964,11 @@ pub(crate) struct LSPS2BuyResponse {
/// Should be retrieved by calling [`Node::lsps1_liquidity`].
///
+/// To open [bLIP-52 / LSPS2] JIT channels, please refer to+/// [`Bolt11Payment::receive_via_jit_channel`].+///
/// [bLIP-51 / LSPS1]: https://github.com/lightning/blips/blob/master/blip-0051.md
+/// [bLIP-52 / LSPS2]: https://github.com/lightning/blips/blob/master/blip-0052.md
/// [`Node::lsps1_liquidity`]: crate::Node::lsps1_liquidity
+/// [`Bolt11Payment::receive_via_jit_channel`]: crate::payment::Bolt11Payment::receive_via_jit_channel
#[derive(Clone)]
pub struct LSPS1Liquidity {

@tnull
tnull merged commit f1fdee5 into lightningdevkit:mainFeb 6, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tnull@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('^' + ".*" + ' Add LSPS1 client-side integration by tnull · Pull Request #418 · lightningdevkit/ldk-node · GitHub
Skip to content

Add LSPS1 client-side integration - #418

Merged
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration
Feb 6, 2025
Merged

Add LSPS1 client-side integration#418
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration

Conversation

@tnull

@tnulltnull commented Dec 4, 2024

Copy link
Copy Markdown
Collaborator

We add the capability to act as an LSPS1 / bLIP-51 client.

@tnull
tnull marked this pull request as draft December 4, 2024 14:49
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from a160bf2 to d0eb977CompareDecember 4, 2024 14:55
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from d0eb977 to fe59fedCompareDecember 10, 2024 13:37
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 82fc329 to 9d47470CompareJanuary 10, 2025 12:09
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 9d47470 to 5e13aa5CompareJanuary 16, 2025 09:33
@tnull
tnull marked this pull request as ready for review January 16, 2025 09:33
@tnulltnull added this to the 0.5 milestone Jan 16, 2025
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 5e13aa5 to 2780049CompareJanuary 17, 2025 08:47
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main after #426 landed.

@tnulltnull mentioned this pull request Jan 17, 2025
10 tasks
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 115f732 to a2593aeCompareJanuary 30, 2025 13:19
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main to resolve minor changes.

@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 1d68d58 to e3725b4CompareJanuary 30, 2025 13:41
@tnull
tnull requested a review from jkczyzJanuary 30, 2025 14:02
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs
.. to align with the rest of the APIs where we usually go `node_id`,
`address`, etc.
We add support for LSPS1 liquidity sources. To this end we slightly
refactor our logic to first create a `LiquiditySourceBuilder` that then
can be used to `build()` the `LiquiditySource` with the configured
services.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 4 times, most recently from 9cec3f4 to 0e590baCompareFebruary 1, 2025 09:09
We add the logic required to send `create_order` requests and check on
their status.
We add an `Lsps1Liquidity` API object, mirroring the approach we took
with the `payment` APIs.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 0e590ba to b1a277cCompareFebruary 6, 2025 09:55
@tnull

tnull commented Feb 6, 2025

Copy link
Copy Markdown
CollaboratorAuthor

Now went ahead and squashed fixups, including the doc changes:

> git diff-tree -U2 0e590ba9 b1a277c6diff --git a/src/liquidity.rs b/src/liquidity.rs
index 7414260c..cbc19954 100644
--- a/src/liquidity.rs+++ b/src/liquidity.rs@@ -224,9 +224,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -285,9 +285,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -343,9 +343,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -390,9 +390,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -442,9 +442,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -964,6 +964,11 @@ pub(crate) struct LSPS2BuyResponse {
/// Should be retrieved by calling [`Node::lsps1_liquidity`].
///
+/// To open [bLIP-52 / LSPS2] JIT channels, please refer to+/// [`Bolt11Payment::receive_via_jit_channel`].+///
/// [bLIP-51 / LSPS1]: https://github.com/lightning/blips/blob/master/blip-0051.md
+/// [bLIP-52 / LSPS2]: https://github.com/lightning/blips/blob/master/blip-0052.md
/// [`Node::lsps1_liquidity`]: crate::Node::lsps1_liquidity
+/// [`Bolt11Payment::receive_via_jit_channel`]: crate::payment::Bolt11Payment::receive_via_jit_channel
#[derive(Clone)]
pub struct LSPS1Liquidity {

@tnull
tnull merged commit f1fdee5 into lightningdevkit:mainFeb 6, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tnull@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('^' + ".*" + ' Add LSPS1 client-side integration by tnull · Pull Request #418 · lightningdevkit/ldk-node · GitHub
Skip to content

Add LSPS1 client-side integration - #418

Merged
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration
Feb 6, 2025
Merged

Add LSPS1 client-side integration#418
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration

Conversation

@tnull

@tnulltnull commented Dec 4, 2024

Copy link
Copy Markdown
Collaborator

We add the capability to act as an LSPS1 / bLIP-51 client.

@tnull
tnull marked this pull request as draft December 4, 2024 14:49
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from a160bf2 to d0eb977CompareDecember 4, 2024 14:55
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from d0eb977 to fe59fedCompareDecember 10, 2024 13:37
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 82fc329 to 9d47470CompareJanuary 10, 2025 12:09
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 9d47470 to 5e13aa5CompareJanuary 16, 2025 09:33
@tnull
tnull marked this pull request as ready for review January 16, 2025 09:33
@tnulltnull added this to the 0.5 milestone Jan 16, 2025
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 5e13aa5 to 2780049CompareJanuary 17, 2025 08:47
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main after #426 landed.

@tnulltnull mentioned this pull request Jan 17, 2025
10 tasks
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 115f732 to a2593aeCompareJanuary 30, 2025 13:19
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main to resolve minor changes.

@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 1d68d58 to e3725b4CompareJanuary 30, 2025 13:41
@tnull
tnull requested a review from jkczyzJanuary 30, 2025 14:02
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs
.. to align with the rest of the APIs where we usually go `node_id`,
`address`, etc.
We add support for LSPS1 liquidity sources. To this end we slightly
refactor our logic to first create a `LiquiditySourceBuilder` that then
can be used to `build()` the `LiquiditySource` with the configured
services.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 4 times, most recently from 9cec3f4 to 0e590baCompareFebruary 1, 2025 09:09
We add the logic required to send `create_order` requests and check on
their status.
We add an `Lsps1Liquidity` API object, mirroring the approach we took
with the `payment` APIs.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 0e590ba to b1a277cCompareFebruary 6, 2025 09:55
@tnull

tnull commented Feb 6, 2025

Copy link
Copy Markdown
CollaboratorAuthor

Now went ahead and squashed fixups, including the doc changes:

> git diff-tree -U2 0e590ba9 b1a277c6diff --git a/src/liquidity.rs b/src/liquidity.rs
index 7414260c..cbc19954 100644
--- a/src/liquidity.rs+++ b/src/liquidity.rs@@ -224,9 +224,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -285,9 +285,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -343,9 +343,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -390,9 +390,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -442,9 +442,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -964,6 +964,11 @@ pub(crate) struct LSPS2BuyResponse {
/// Should be retrieved by calling [`Node::lsps1_liquidity`].
///
+/// To open [bLIP-52 / LSPS2] JIT channels, please refer to+/// [`Bolt11Payment::receive_via_jit_channel`].+///
/// [bLIP-51 / LSPS1]: https://github.com/lightning/blips/blob/master/blip-0051.md
+/// [bLIP-52 / LSPS2]: https://github.com/lightning/blips/blob/master/blip-0052.md
/// [`Node::lsps1_liquidity`]: crate::Node::lsps1_liquidity
+/// [`Bolt11Payment::receive_via_jit_channel`]: crate::payment::Bolt11Payment::receive_via_jit_channel
#[derive(Clone)]
pub struct LSPS1Liquidity {

@tnull
tnull merged commit f1fdee5 into lightningdevkit:mainFeb 6, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tnull@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); } })(); })(); Add LSPS1 client-side integration by tnull · Pull Request #418 · lightningdevkit/ldk-node · GitHub
Skip to content

Add LSPS1 client-side integration - #418

Merged
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration
Feb 6, 2025
Merged

Add LSPS1 client-side integration#418
tnull merged 7 commits into
lightningdevkit:mainfrom
tnull:2024-07-lsps1-integration

Conversation

@tnull

@tnulltnull commented Dec 4, 2024

Copy link
Copy Markdown
Collaborator

We add the capability to act as an LSPS1 / bLIP-51 client.

@tnull
tnull marked this pull request as draft December 4, 2024 14:49
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from a160bf2 to d0eb977CompareDecember 4, 2024 14:55
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from d0eb977 to fe59fedCompareDecember 10, 2024 13:37
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 82fc329 to 9d47470CompareJanuary 10, 2025 12:09
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 9d47470 to 5e13aa5CompareJanuary 16, 2025 09:33
@tnull
tnull marked this pull request as ready for review January 16, 2025 09:33
@tnulltnull added this to the 0.5 milestone Jan 16, 2025
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 5e13aa5 to 2780049CompareJanuary 17, 2025 08:47
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main after #426 landed.

@tnulltnull mentioned this pull request Jan 17, 2025
10 tasks
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 115f732 to a2593aeCompareJanuary 30, 2025 13:19
@tnull

Copy link
Copy Markdown
CollaboratorAuthor

Rebased on main to resolve minor changes.

@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 2 times, most recently from 1d68d58 to e3725b4CompareJanuary 30, 2025 13:41
@tnull
tnull requested a review from jkczyzJanuary 30, 2025 14:02
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs Outdated
Comment threadsrc/liquidity.rs
Comment threadsrc/liquidity.rs
.. to align with the rest of the APIs where we usually go `node_id`,
`address`, etc.
We add support for LSPS1 liquidity sources. To this end we slightly
refactor our logic to first create a `LiquiditySourceBuilder` that then
can be used to `build()` the `LiquiditySource` with the configured
services.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch 4 times, most recently from 9cec3f4 to 0e590baCompareFebruary 1, 2025 09:09
We add the logic required to send `create_order` requests and check on
their status.
We add an `Lsps1Liquidity` API object, mirroring the approach we took
with the `payment` APIs.
@tnull
tnullforce-pushed the 2024-07-lsps1-integration branch from 0e590ba to b1a277cCompareFebruary 6, 2025 09:55
@tnull

tnull commented Feb 6, 2025

Copy link
Copy Markdown
CollaboratorAuthor

Now went ahead and squashed fixups, including the doc changes:

> git diff-tree -U2 0e590ba9 b1a277c6diff --git a/src/liquidity.rs b/src/liquidity.rs
index 7414260c..cbc19954 100644
--- a/src/liquidity.rs+++ b/src/liquidity.rs@@ -224,9 +224,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -285,9 +285,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -343,9 +343,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -390,9 +390,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -442,9 +442,9 @@ where
match sender.send(response) {
Ok(()) => (),
- Err(e) => {+ Err(_) => {
log_error!(
self.logger,
- "Failed to handle response from liquidity service: {:?}",- e+ "Failed to handle response for request {:?} from liquidity service",+ request_id
);
},
@@ -964,6 +964,11 @@ pub(crate) struct LSPS2BuyResponse {
/// Should be retrieved by calling [`Node::lsps1_liquidity`].
///
+/// To open [bLIP-52 / LSPS2] JIT channels, please refer to+/// [`Bolt11Payment::receive_via_jit_channel`].+///
/// [bLIP-51 / LSPS1]: https://github.com/lightning/blips/blob/master/blip-0051.md
+/// [bLIP-52 / LSPS2]: https://github.com/lightning/blips/blob/master/blip-0052.md
/// [`Node::lsps1_liquidity`]: crate::Node::lsps1_liquidity
+/// [`Bolt11Payment::receive_via_jit_channel`]: crate::payment::Bolt11Payment::receive_via_jit_channel
#[derive(Clone)]
pub struct LSPS1Liquidity {

@tnull
tnull merged commit f1fdee5 into lightningdevkit:mainFeb 6, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@tnull@jkczyz