Include source and destination nodes in routing::Score - #1133

Merged
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer
Oct 19, 2021
Merged

Include source and destination nodes in routing::Score#1133
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer

Conversation

@jkczyz

@jkczyzjkczyz commented Oct 18, 2021

Copy link
Copy Markdown
Contributor

Expand routing::Score::channel_penalty_msat to include the source and target node ids of the channel. This allows scorers to avoid certain nodes altogether if desired.

In order to make the scoring tests easier to read, only check the
relevant RouteHop fields. The remaining fields are tested elsewhere.
Expand the test to show the path used without scoring.
@codecov

codecovBot commented Oct 19, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1133 (a950b8f) into main (001bc71) will increase coverage by 0.00%.
The diff coverage is 96.61%.

❗ Current head a950b8f differs from pull request most recent head 54f490c. Consider uploading reports for the commit 54f490c to get more accurate results
Impacted file tree graph

@@ Coverage Diff @@## main #1133 +/- ##
=======================================
Coverage 90.56% 90.56% =======================================
Files 67 67 Lines 34567 34597 +30 =======================================
+ Hits 31305 31334 +29 - Misses 3262 3263 +1 
Impacted FilesCoverage Δ
lightning/src/routing/router.rs95.71% <96.42%> (+<0.01%)⬆️
lightning/src/routing/scorer.rs66.66% <100.00%> (+9.52%)⬆️
lightning-invoice/src/de.rs80.73% <0.00%> (-0.21%)⬇️
lightning/src/ln/functional_tests.rs97.33% <0.00%> (+0.01%)⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 001bc71...54f490c. Read the comment docs.

/// Scoring is in terms of fees willing to be paid in order to avoid routing through a channel.
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
fn channel_penalty_msat(&self, short_channel_id: u64) -> u64;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

nit +"in the given direction" on the docs.

@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from d8f0266 to a950b8fCompareOctober 19, 2021 05:35
Comment threadlightning/src/routing/mod.rs Outdated
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
/// Returns the fee in msats willing to be paid to avoid routing through the given channel from
/// `source` to `destination`.

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.

This isn't the source and dest of the payment itself, right? Just the forwarder/forwardee of the given short_channel_id? Those names are a bit overloaded for me lol

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Correct. I could use the more general term target instead of destination and reword the docs a bit.

@valentinewallacevalentinewallace 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.

Thanks, that makes it clearer for me

@TheBlueMattTheBlueMatt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you squash.

Expand routing::Score::channel_penalty_msat to include the source and
target node ids of the channel. This allows scorers to avoid certain
nodes altogether if desired.
@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from e3a1b8a to 54f490cCompareOctober 19, 2021 18:04
@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Squashed without changed:

$ git diff-tree -U1 e3a1b8acd 54f490c8c
$

@TheBlueMatt
TheBlueMatt merged commit 083828a into lightningdevkit:mainOct 19, 2021
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.

3 participants

@jkczyz@TheBlueMatt@valentinewallace
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Include source and destination nodes in routing::Score - #1133

Merged
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer
Oct 19, 2021
Merged

Include source and destination nodes in routing::Score#1133
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer

Conversation

@jkczyz

@jkczyzjkczyz commented Oct 18, 2021

Copy link
Copy Markdown
Contributor

Expand routing::Score::channel_penalty_msat to include the source and target node ids of the channel. This allows scorers to avoid certain nodes altogether if desired.

In order to make the scoring tests easier to read, only check the
relevant RouteHop fields. The remaining fields are tested elsewhere.
Expand the test to show the path used without scoring.
@codecov

codecovBot commented Oct 19, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1133 (a950b8f) into main (001bc71) will increase coverage by 0.00%.
The diff coverage is 96.61%.

❗ Current head a950b8f differs from pull request most recent head 54f490c. Consider uploading reports for the commit 54f490c to get more accurate results
Impacted file tree graph

@@ Coverage Diff @@## main #1133 +/- ##
=======================================
Coverage 90.56% 90.56% =======================================
Files 67 67 Lines 34567 34597 +30 =======================================
+ Hits 31305 31334 +29 - Misses 3262 3263 +1 
Impacted FilesCoverage Δ
lightning/src/routing/router.rs95.71% <96.42%> (+<0.01%)⬆️
lightning/src/routing/scorer.rs66.66% <100.00%> (+9.52%)⬆️
lightning-invoice/src/de.rs80.73% <0.00%> (-0.21%)⬇️
lightning/src/ln/functional_tests.rs97.33% <0.00%> (+0.01%)⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 001bc71...54f490c. Read the comment docs.

/// Scoring is in terms of fees willing to be paid in order to avoid routing through a channel.
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
fn channel_penalty_msat(&self, short_channel_id: u64) -> u64;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

nit +"in the given direction" on the docs.

@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from d8f0266 to a950b8fCompareOctober 19, 2021 05:35
Comment threadlightning/src/routing/mod.rs Outdated
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
/// Returns the fee in msats willing to be paid to avoid routing through the given channel from
/// `source` to `destination`.

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.

This isn't the source and dest of the payment itself, right? Just the forwarder/forwardee of the given short_channel_id? Those names are a bit overloaded for me lol

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Correct. I could use the more general term target instead of destination and reword the docs a bit.

@valentinewallacevalentinewallace 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.

Thanks, that makes it clearer for me

@TheBlueMattTheBlueMatt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you squash.

Expand routing::Score::channel_penalty_msat to include the source and
target node ids of the channel. This allows scorers to avoid certain
nodes altogether if desired.
@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from e3a1b8a to 54f490cCompareOctober 19, 2021 18:04
@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Squashed without changed:

$ git diff-tree -U1 e3a1b8acd 54f490c8c
$

@TheBlueMatt
TheBlueMatt merged commit 083828a into lightningdevkit:mainOct 19, 2021
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.

3 participants

@jkczyz@TheBlueMatt@valentinewallace
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Include source and destination nodes in routing::Score - #1133

Merged
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer
Oct 19, 2021
Merged

Include source and destination nodes in routing::Score#1133
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer

Conversation

@jkczyz

@jkczyzjkczyz commented Oct 18, 2021

Copy link
Copy Markdown
Contributor

Expand routing::Score::channel_penalty_msat to include the source and target node ids of the channel. This allows scorers to avoid certain nodes altogether if desired.

In order to make the scoring tests easier to read, only check the
relevant RouteHop fields. The remaining fields are tested elsewhere.
Expand the test to show the path used without scoring.
@codecov

codecovBot commented Oct 19, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1133 (a950b8f) into main (001bc71) will increase coverage by 0.00%.
The diff coverage is 96.61%.

❗ Current head a950b8f differs from pull request most recent head 54f490c. Consider uploading reports for the commit 54f490c to get more accurate results
Impacted file tree graph

@@ Coverage Diff @@## main #1133 +/- ##
=======================================
Coverage 90.56% 90.56% =======================================
Files 67 67 Lines 34567 34597 +30 =======================================
+ Hits 31305 31334 +29 - Misses 3262 3263 +1 
Impacted FilesCoverage Δ
lightning/src/routing/router.rs95.71% <96.42%> (+<0.01%)⬆️
lightning/src/routing/scorer.rs66.66% <100.00%> (+9.52%)⬆️
lightning-invoice/src/de.rs80.73% <0.00%> (-0.21%)⬇️
lightning/src/ln/functional_tests.rs97.33% <0.00%> (+0.01%)⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 001bc71...54f490c. Read the comment docs.

/// Scoring is in terms of fees willing to be paid in order to avoid routing through a channel.
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
fn channel_penalty_msat(&self, short_channel_id: u64) -> u64;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

nit +"in the given direction" on the docs.

@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from d8f0266 to a950b8fCompareOctober 19, 2021 05:35
Comment threadlightning/src/routing/mod.rs Outdated
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
/// Returns the fee in msats willing to be paid to avoid routing through the given channel from
/// `source` to `destination`.

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.

This isn't the source and dest of the payment itself, right? Just the forwarder/forwardee of the given short_channel_id? Those names are a bit overloaded for me lol

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Correct. I could use the more general term target instead of destination and reword the docs a bit.

@valentinewallacevalentinewallace 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.

Thanks, that makes it clearer for me

@TheBlueMattTheBlueMatt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you squash.

Expand routing::Score::channel_penalty_msat to include the source and
target node ids of the channel. This allows scorers to avoid certain
nodes altogether if desired.
@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from e3a1b8a to 54f490cCompareOctober 19, 2021 18:04
@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Squashed without changed:

$ git diff-tree -U1 e3a1b8acd 54f490c8c
$

@TheBlueMatt
TheBlueMatt merged commit 083828a into lightningdevkit:mainOct 19, 2021
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.

3 participants

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

Include source and destination nodes in routing::Score - #1133

Merged
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer
Oct 19, 2021
Merged

Include source and destination nodes in routing::Score#1133
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer

Conversation

@jkczyz

@jkczyzjkczyz commented Oct 18, 2021

Copy link
Copy Markdown
Contributor

Expand routing::Score::channel_penalty_msat to include the source and target node ids of the channel. This allows scorers to avoid certain nodes altogether if desired.

In order to make the scoring tests easier to read, only check the
relevant RouteHop fields. The remaining fields are tested elsewhere.
Expand the test to show the path used without scoring.
@codecov

codecovBot commented Oct 19, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1133 (a950b8f) into main (001bc71) will increase coverage by 0.00%.
The diff coverage is 96.61%.

❗ Current head a950b8f differs from pull request most recent head 54f490c. Consider uploading reports for the commit 54f490c to get more accurate results
Impacted file tree graph

@@ Coverage Diff @@## main #1133 +/- ##
=======================================
Coverage 90.56% 90.56% =======================================
Files 67 67 Lines 34567 34597 +30 =======================================
+ Hits 31305 31334 +29 - Misses 3262 3263 +1 
Impacted FilesCoverage Δ
lightning/src/routing/router.rs95.71% <96.42%> (+<0.01%)⬆️
lightning/src/routing/scorer.rs66.66% <100.00%> (+9.52%)⬆️
lightning-invoice/src/de.rs80.73% <0.00%> (-0.21%)⬇️
lightning/src/ln/functional_tests.rs97.33% <0.00%> (+0.01%)⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 001bc71...54f490c. Read the comment docs.

/// Scoring is in terms of fees willing to be paid in order to avoid routing through a channel.
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
fn channel_penalty_msat(&self, short_channel_id: u64) -> u64;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

nit +"in the given direction" on the docs.

@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from d8f0266 to a950b8fCompareOctober 19, 2021 05:35
Comment threadlightning/src/routing/mod.rs Outdated
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
/// Returns the fee in msats willing to be paid to avoid routing through the given channel from
/// `source` to `destination`.

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.

This isn't the source and dest of the payment itself, right? Just the forwarder/forwardee of the given short_channel_id? Those names are a bit overloaded for me lol

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Correct. I could use the more general term target instead of destination and reword the docs a bit.

@valentinewallacevalentinewallace 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.

Thanks, that makes it clearer for me

@TheBlueMattTheBlueMatt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you squash.

Expand routing::Score::channel_penalty_msat to include the source and
target node ids of the channel. This allows scorers to avoid certain
nodes altogether if desired.
@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from e3a1b8a to 54f490cCompareOctober 19, 2021 18:04
@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Squashed without changed:

$ git diff-tree -U1 e3a1b8acd 54f490c8c
$

@TheBlueMatt
TheBlueMatt merged commit 083828a into lightningdevkit:mainOct 19, 2021
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.

3 participants

@jkczyz@TheBlueMatt@valentinewallace
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Include source and destination nodes in routing::Score - #1133

Merged
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer
Oct 19, 2021
Merged

Include source and destination nodes in routing::Score#1133
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer

Conversation

@jkczyz

@jkczyzjkczyz commented Oct 18, 2021

Copy link
Copy Markdown
Contributor

Expand routing::Score::channel_penalty_msat to include the source and target node ids of the channel. This allows scorers to avoid certain nodes altogether if desired.

In order to make the scoring tests easier to read, only check the
relevant RouteHop fields. The remaining fields are tested elsewhere.
Expand the test to show the path used without scoring.
@codecov

codecovBot commented Oct 19, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1133 (a950b8f) into main (001bc71) will increase coverage by 0.00%.
The diff coverage is 96.61%.

❗ Current head a950b8f differs from pull request most recent head 54f490c. Consider uploading reports for the commit 54f490c to get more accurate results
Impacted file tree graph

@@ Coverage Diff @@## main #1133 +/- ##
=======================================
Coverage 90.56% 90.56% =======================================
Files 67 67 Lines 34567 34597 +30 =======================================
+ Hits 31305 31334 +29 - Misses 3262 3263 +1 
Impacted FilesCoverage Δ
lightning/src/routing/router.rs95.71% <96.42%> (+<0.01%)⬆️
lightning/src/routing/scorer.rs66.66% <100.00%> (+9.52%)⬆️
lightning-invoice/src/de.rs80.73% <0.00%> (-0.21%)⬇️
lightning/src/ln/functional_tests.rs97.33% <0.00%> (+0.01%)⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 001bc71...54f490c. Read the comment docs.

/// Scoring is in terms of fees willing to be paid in order to avoid routing through a channel.
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
fn channel_penalty_msat(&self, short_channel_id: u64) -> u64;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

nit +"in the given direction" on the docs.

@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from d8f0266 to a950b8fCompareOctober 19, 2021 05:35
Comment threadlightning/src/routing/mod.rs Outdated
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
/// Returns the fee in msats willing to be paid to avoid routing through the given channel from
/// `source` to `destination`.

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.

This isn't the source and dest of the payment itself, right? Just the forwarder/forwardee of the given short_channel_id? Those names are a bit overloaded for me lol

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Correct. I could use the more general term target instead of destination and reword the docs a bit.

@valentinewallacevalentinewallace 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.

Thanks, that makes it clearer for me

@TheBlueMattTheBlueMatt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you squash.

Expand routing::Score::channel_penalty_msat to include the source and
target node ids of the channel. This allows scorers to avoid certain
nodes altogether if desired.
@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from e3a1b8a to 54f490cCompareOctober 19, 2021 18:04
@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Squashed without changed:

$ git diff-tree -U1 e3a1b8acd 54f490c8c
$

@TheBlueMatt
TheBlueMatt merged commit 083828a into lightningdevkit:mainOct 19, 2021
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.

3 participants

@jkczyz@TheBlueMatt@valentinewallace
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Include source and destination nodes in routing::Score - #1133

Merged
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer
Oct 19, 2021
Merged

Include source and destination nodes in routing::Score#1133
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer

Conversation

@jkczyz

@jkczyzjkczyz commented Oct 18, 2021

Copy link
Copy Markdown
Contributor

Expand routing::Score::channel_penalty_msat to include the source and target node ids of the channel. This allows scorers to avoid certain nodes altogether if desired.

In order to make the scoring tests easier to read, only check the
relevant RouteHop fields. The remaining fields are tested elsewhere.
Expand the test to show the path used without scoring.
@codecov

codecovBot commented Oct 19, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1133 (a950b8f) into main (001bc71) will increase coverage by 0.00%.
The diff coverage is 96.61%.

❗ Current head a950b8f differs from pull request most recent head 54f490c. Consider uploading reports for the commit 54f490c to get more accurate results
Impacted file tree graph

@@ Coverage Diff @@## main #1133 +/- ##
=======================================
Coverage 90.56% 90.56% =======================================
Files 67 67 Lines 34567 34597 +30 =======================================
+ Hits 31305 31334 +29 - Misses 3262 3263 +1 
Impacted FilesCoverage Δ
lightning/src/routing/router.rs95.71% <96.42%> (+<0.01%)⬆️
lightning/src/routing/scorer.rs66.66% <100.00%> (+9.52%)⬆️
lightning-invoice/src/de.rs80.73% <0.00%> (-0.21%)⬇️
lightning/src/ln/functional_tests.rs97.33% <0.00%> (+0.01%)⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 001bc71...54f490c. Read the comment docs.

/// Scoring is in terms of fees willing to be paid in order to avoid routing through a channel.
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
fn channel_penalty_msat(&self, short_channel_id: u64) -> u64;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

nit +"in the given direction" on the docs.

@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from d8f0266 to a950b8fCompareOctober 19, 2021 05:35
Comment threadlightning/src/routing/mod.rs Outdated
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
/// Returns the fee in msats willing to be paid to avoid routing through the given channel from
/// `source` to `destination`.

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.

This isn't the source and dest of the payment itself, right? Just the forwarder/forwardee of the given short_channel_id? Those names are a bit overloaded for me lol

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Correct. I could use the more general term target instead of destination and reword the docs a bit.

@valentinewallacevalentinewallace 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.

Thanks, that makes it clearer for me

@TheBlueMattTheBlueMatt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you squash.

Expand routing::Score::channel_penalty_msat to include the source and
target node ids of the channel. This allows scorers to avoid certain
nodes altogether if desired.
@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from e3a1b8a to 54f490cCompareOctober 19, 2021 18:04
@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Squashed without changed:

$ git diff-tree -U1 e3a1b8acd 54f490c8c
$

@TheBlueMatt
TheBlueMatt merged commit 083828a into lightningdevkit:mainOct 19, 2021
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.

3 participants

@jkczyz@TheBlueMatt@valentinewallace
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Include source and destination nodes in routing::Score - #1133

Merged
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer
Oct 19, 2021
Merged

Include source and destination nodes in routing::Score#1133
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer

Conversation

@jkczyz

@jkczyzjkczyz commented Oct 18, 2021

Copy link
Copy Markdown
Contributor

Expand routing::Score::channel_penalty_msat to include the source and target node ids of the channel. This allows scorers to avoid certain nodes altogether if desired.

In order to make the scoring tests easier to read, only check the
relevant RouteHop fields. The remaining fields are tested elsewhere.
Expand the test to show the path used without scoring.
@codecov

codecovBot commented Oct 19, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1133 (a950b8f) into main (001bc71) will increase coverage by 0.00%.
The diff coverage is 96.61%.

❗ Current head a950b8f differs from pull request most recent head 54f490c. Consider uploading reports for the commit 54f490c to get more accurate results
Impacted file tree graph

@@ Coverage Diff @@## main #1133 +/- ##
=======================================
Coverage 90.56% 90.56% =======================================
Files 67 67 Lines 34567 34597 +30 =======================================
+ Hits 31305 31334 +29 - Misses 3262 3263 +1 
Impacted FilesCoverage Δ
lightning/src/routing/router.rs95.71% <96.42%> (+<0.01%)⬆️
lightning/src/routing/scorer.rs66.66% <100.00%> (+9.52%)⬆️
lightning-invoice/src/de.rs80.73% <0.00%> (-0.21%)⬇️
lightning/src/ln/functional_tests.rs97.33% <0.00%> (+0.01%)⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 001bc71...54f490c. Read the comment docs.

/// Scoring is in terms of fees willing to be paid in order to avoid routing through a channel.
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
fn channel_penalty_msat(&self, short_channel_id: u64) -> u64;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

nit +"in the given direction" on the docs.

@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from d8f0266 to a950b8fCompareOctober 19, 2021 05:35
Comment threadlightning/src/routing/mod.rs Outdated
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
/// Returns the fee in msats willing to be paid to avoid routing through the given channel from
/// `source` to `destination`.

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.

This isn't the source and dest of the payment itself, right? Just the forwarder/forwardee of the given short_channel_id? Those names are a bit overloaded for me lol

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Correct. I could use the more general term target instead of destination and reword the docs a bit.

@valentinewallacevalentinewallace 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.

Thanks, that makes it clearer for me

@TheBlueMattTheBlueMatt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you squash.

Expand routing::Score::channel_penalty_msat to include the source and
target node ids of the channel. This allows scorers to avoid certain
nodes altogether if desired.
@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from e3a1b8a to 54f490cCompareOctober 19, 2021 18:04
@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Squashed without changed:

$ git diff-tree -U1 e3a1b8acd 54f490c8c
$

@TheBlueMatt
TheBlueMatt merged commit 083828a into lightningdevkit:mainOct 19, 2021
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.

3 participants

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

Include source and destination nodes in routing::Score - #1133

Merged
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer
Oct 19, 2021
Merged

Include source and destination nodes in routing::Score#1133
TheBlueMatt merged 2 commits into
lightningdevkit:mainfrom
jkczyz:2021-10-expand-scorer

Conversation

@jkczyz

@jkczyzjkczyz commented Oct 18, 2021

Copy link
Copy Markdown
Contributor

Expand routing::Score::channel_penalty_msat to include the source and target node ids of the channel. This allows scorers to avoid certain nodes altogether if desired.

In order to make the scoring tests easier to read, only check the
relevant RouteHop fields. The remaining fields are tested elsewhere.
Expand the test to show the path used without scoring.
@codecov

codecovBot commented Oct 19, 2021

Copy link
Copy Markdown

Codecov Report

Merging #1133 (a950b8f) into main (001bc71) will increase coverage by 0.00%.
The diff coverage is 96.61%.

❗ Current head a950b8f differs from pull request most recent head 54f490c. Consider uploading reports for the commit 54f490c to get more accurate results
Impacted file tree graph

@@ Coverage Diff @@## main #1133 +/- ##
=======================================
Coverage 90.56% 90.56% =======================================
Files 67 67 Lines 34567 34597 +30 =======================================
+ Hits 31305 31334 +29 - Misses 3262 3263 +1 
Impacted FilesCoverage Δ
lightning/src/routing/router.rs95.71% <96.42%> (+<0.01%)⬆️
lightning/src/routing/scorer.rs66.66% <100.00%> (+9.52%)⬆️
lightning-invoice/src/de.rs80.73% <0.00%> (-0.21%)⬇️
lightning/src/ln/functional_tests.rs97.33% <0.00%> (+0.01%)⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 001bc71...54f490c. Read the comment docs.

/// Scoring is in terms of fees willing to be paid in order to avoid routing through a channel.
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
fn channel_penalty_msat(&self, short_channel_id: u64) -> u64;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

nit +"in the given direction" on the docs.

@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from d8f0266 to a950b8fCompareOctober 19, 2021 05:35
Comment threadlightning/src/routing/mod.rs Outdated
pub trait Score {
/// Returns the fee in msats willing to be paid to avoid routing through the given channel.
/// Returns the fee in msats willing to be paid to avoid routing through the given channel from
/// `source` to `destination`.

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.

This isn't the source and dest of the payment itself, right? Just the forwarder/forwardee of the given short_channel_id? Those names are a bit overloaded for me lol

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Correct. I could use the more general term target instead of destination and reword the docs a bit.

@valentinewallacevalentinewallace 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.

Thanks, that makes it clearer for me

@TheBlueMattTheBlueMatt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you squash.

Expand routing::Score::channel_penalty_msat to include the source and
target node ids of the channel. This allows scorers to avoid certain
nodes altogether if desired.
@jkczyz
jkczyzforce-pushed the 2021-10-expand-scorer branch from e3a1b8a to 54f490cCompareOctober 19, 2021 18:04
@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Squashed without changed:

$ git diff-tree -U1 e3a1b8acd 54f490c8c
$

@TheBlueMatt
TheBlueMatt merged commit 083828a into lightningdevkit:mainOct 19, 2021
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.

3 participants

@jkczyz@TheBlueMatt@valentinewallace