added more clarification - #1395

Closed
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069
Closed

added more clarification#1395
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069

Conversation

@gabbyprecious

Copy link
Copy Markdown

No description provided.

@gabbyprecious
gabbyprecious marked this pull request as draft March 30, 2022 13:41
@gabbyprecious

Copy link
Copy Markdown
Author

@ConorOkus please is this in line?

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

Merging #1395 (a3820f5) into main (7671ae5) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@ Coverage Diff @@## main #1395 +/- ##
==========================================
- Coverage 90.76% 90.76% -0.01% 
==========================================
Files 73 73 Lines 41195 41195 Branches 41195 41195 ==========================================
- Hits 37392 37391 -1 - Misses 3803 3804 +1 
Impacted FilesCoverage Δ
lightning/src/chain/mod.rs61.11% <ø> (ø)
lightning/src/ln/functional_tests.rs97.06% <0.00%> (-0.02%)⬇️

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 7671ae5...a3820f5. Read the comment docs.

pub trait Filter {
/// Registers interest in a transaction with `txid` and having an output with `script_pubkey` as
/// Registers interest in funding transactions to inform LDK that a channel
/// Funding transaction is transaction with `txid` and having an output with `script_pubkey` as

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.

I don't think we want to narrow the definition of this function to only funding transaction(s). Yes, it's true today, but specifying it in the docs and committing to it I don't think we want to do.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

What would be a better description that clarifies and differentiates what it does with register_output

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.

The key difference here is one looks at a given transaction being broadcasted, one looks for spends of a given output being broadcasted.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt, should I go with this;

/// Registers interest in transactions to inform LDK that a channel.
/// Transactions with txid and having an output with script_pubkey as
/// a spending condition.

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.

I dont think these functions should have any reference to what kind of transaction it is (channel/close/open/etc).

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

So I should leave them at what they were?

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.

I mean I do think they need to be clarified, because we've seen a good chunk of confusion on them, but it remains entirely unclear to me exactly how they should be clarified :/

fn register_tx(&self, txid: &Txid, script_pubkey: &Script);

/// Registers interest in spends of a transaction output.
/// Registers interest in spends of a force close transaction.

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.

This isn't just about force-closure transactions - we also use it to detect normal closures, etc.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt is this a better description; Registers interest in spends of a closing transaction.

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.

Its not "spends of a closing transaction", though, its "spends of a given outpoint", ie any time a given output is spent we care.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any interest in continuing to work on this, @gabbyprecious? Sorry it ended up being a bit unclear what the docs should say.

@gabbyprecious

Copy link
Copy Markdown
Author

@TheBlueMatt yes, is there any clarity on what it should say. Will also be checking other issues

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the late reply, we had the lightning spec summit last week.

I don't have perfect clarity - I've seen a lot of user confusion on this API, so I think we do need to clarify, but its kinda unclear to me how to do so (without changing the definition/API contract here).

Do you find the meaning of register_tx clearer if we separate out the mention of the script from the first sentence? Maybe something like "Registers interest in a given transaction confirming. The txid of the transaction is provided, as well as a script_pubkey of an output in the transaction, useful for those using BIP 157/158 filters"?

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any desire to keep working on this @gabbyprecious?

@gabbyprecious

Copy link
Copy Markdown
Author

Yes, if there's more clarity on it.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the delay in responding. Maybe we just include in the docs a specific contrast between the two methods. Ie in one of them write exactly how it differs from the other, noting that one is about spends and the other is about transactions themselves.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Closing in favor of #3036

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.

Further clarify register_tx/register_output distinction in docs

3 participants

@gabbyprecious@codecov-commenter@TheBlueMatt
, '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

added more clarification - #1395

Closed
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069
Closed

added more clarification#1395
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069

Conversation

@gabbyprecious

Copy link
Copy Markdown

No description provided.

@gabbyprecious
gabbyprecious marked this pull request as draft March 30, 2022 13:41
@gabbyprecious

Copy link
Copy Markdown
Author

@ConorOkus please is this in line?

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

Merging #1395 (a3820f5) into main (7671ae5) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@ Coverage Diff @@## main #1395 +/- ##
==========================================
- Coverage 90.76% 90.76% -0.01% 
==========================================
Files 73 73 Lines 41195 41195 Branches 41195 41195 ==========================================
- Hits 37392 37391 -1 - Misses 3803 3804 +1 
Impacted FilesCoverage Δ
lightning/src/chain/mod.rs61.11% <ø> (ø)
lightning/src/ln/functional_tests.rs97.06% <0.00%> (-0.02%)⬇️

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 7671ae5...a3820f5. Read the comment docs.

pub trait Filter {
/// Registers interest in a transaction with `txid` and having an output with `script_pubkey` as
/// Registers interest in funding transactions to inform LDK that a channel
/// Funding transaction is transaction with `txid` and having an output with `script_pubkey` as

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.

I don't think we want to narrow the definition of this function to only funding transaction(s). Yes, it's true today, but specifying it in the docs and committing to it I don't think we want to do.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

What would be a better description that clarifies and differentiates what it does with register_output

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.

The key difference here is one looks at a given transaction being broadcasted, one looks for spends of a given output being broadcasted.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt, should I go with this;

/// Registers interest in transactions to inform LDK that a channel.
/// Transactions with txid and having an output with script_pubkey as
/// a spending condition.

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.

I dont think these functions should have any reference to what kind of transaction it is (channel/close/open/etc).

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

So I should leave them at what they were?

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.

I mean I do think they need to be clarified, because we've seen a good chunk of confusion on them, but it remains entirely unclear to me exactly how they should be clarified :/

fn register_tx(&self, txid: &Txid, script_pubkey: &Script);

/// Registers interest in spends of a transaction output.
/// Registers interest in spends of a force close transaction.

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.

This isn't just about force-closure transactions - we also use it to detect normal closures, etc.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt is this a better description; Registers interest in spends of a closing transaction.

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.

Its not "spends of a closing transaction", though, its "spends of a given outpoint", ie any time a given output is spent we care.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any interest in continuing to work on this, @gabbyprecious? Sorry it ended up being a bit unclear what the docs should say.

@gabbyprecious

Copy link
Copy Markdown
Author

@TheBlueMatt yes, is there any clarity on what it should say. Will also be checking other issues

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the late reply, we had the lightning spec summit last week.

I don't have perfect clarity - I've seen a lot of user confusion on this API, so I think we do need to clarify, but its kinda unclear to me how to do so (without changing the definition/API contract here).

Do you find the meaning of register_tx clearer if we separate out the mention of the script from the first sentence? Maybe something like "Registers interest in a given transaction confirming. The txid of the transaction is provided, as well as a script_pubkey of an output in the transaction, useful for those using BIP 157/158 filters"?

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any desire to keep working on this @gabbyprecious?

@gabbyprecious

Copy link
Copy Markdown
Author

Yes, if there's more clarity on it.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the delay in responding. Maybe we just include in the docs a specific contrast between the two methods. Ie in one of them write exactly how it differs from the other, noting that one is about spends and the other is about transactions themselves.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Closing in favor of #3036

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.

Further clarify register_tx/register_output distinction in docs

3 participants

@gabbyprecious@codecov-commenter@TheBlueMatt
, '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

added more clarification - #1395

Closed
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069
Closed

added more clarification#1395
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069

Conversation

@gabbyprecious

Copy link
Copy Markdown

No description provided.

@gabbyprecious
gabbyprecious marked this pull request as draft March 30, 2022 13:41
@gabbyprecious

Copy link
Copy Markdown
Author

@ConorOkus please is this in line?

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

Merging #1395 (a3820f5) into main (7671ae5) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@ Coverage Diff @@## main #1395 +/- ##
==========================================
- Coverage 90.76% 90.76% -0.01% 
==========================================
Files 73 73 Lines 41195 41195 Branches 41195 41195 ==========================================
- Hits 37392 37391 -1 - Misses 3803 3804 +1 
Impacted FilesCoverage Δ
lightning/src/chain/mod.rs61.11% <ø> (ø)
lightning/src/ln/functional_tests.rs97.06% <0.00%> (-0.02%)⬇️

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 7671ae5...a3820f5. Read the comment docs.

pub trait Filter {
/// Registers interest in a transaction with `txid` and having an output with `script_pubkey` as
/// Registers interest in funding transactions to inform LDK that a channel
/// Funding transaction is transaction with `txid` and having an output with `script_pubkey` as

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.

I don't think we want to narrow the definition of this function to only funding transaction(s). Yes, it's true today, but specifying it in the docs and committing to it I don't think we want to do.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

What would be a better description that clarifies and differentiates what it does with register_output

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.

The key difference here is one looks at a given transaction being broadcasted, one looks for spends of a given output being broadcasted.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt, should I go with this;

/// Registers interest in transactions to inform LDK that a channel.
/// Transactions with txid and having an output with script_pubkey as
/// a spending condition.

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.

I dont think these functions should have any reference to what kind of transaction it is (channel/close/open/etc).

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

So I should leave them at what they were?

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.

I mean I do think they need to be clarified, because we've seen a good chunk of confusion on them, but it remains entirely unclear to me exactly how they should be clarified :/

fn register_tx(&self, txid: &Txid, script_pubkey: &Script);

/// Registers interest in spends of a transaction output.
/// Registers interest in spends of a force close transaction.

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.

This isn't just about force-closure transactions - we also use it to detect normal closures, etc.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt is this a better description; Registers interest in spends of a closing transaction.

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.

Its not "spends of a closing transaction", though, its "spends of a given outpoint", ie any time a given output is spent we care.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any interest in continuing to work on this, @gabbyprecious? Sorry it ended up being a bit unclear what the docs should say.

@gabbyprecious

Copy link
Copy Markdown
Author

@TheBlueMatt yes, is there any clarity on what it should say. Will also be checking other issues

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the late reply, we had the lightning spec summit last week.

I don't have perfect clarity - I've seen a lot of user confusion on this API, so I think we do need to clarify, but its kinda unclear to me how to do so (without changing the definition/API contract here).

Do you find the meaning of register_tx clearer if we separate out the mention of the script from the first sentence? Maybe something like "Registers interest in a given transaction confirming. The txid of the transaction is provided, as well as a script_pubkey of an output in the transaction, useful for those using BIP 157/158 filters"?

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any desire to keep working on this @gabbyprecious?

@gabbyprecious

Copy link
Copy Markdown
Author

Yes, if there's more clarity on it.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the delay in responding. Maybe we just include in the docs a specific contrast between the two methods. Ie in one of them write exactly how it differs from the other, noting that one is about spends and the other is about transactions themselves.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Closing in favor of #3036

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.

Further clarify register_tx/register_output distinction in docs

3 participants

@gabbyprecious@codecov-commenter@TheBlueMatt
, '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

added more clarification - #1395

Closed
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069
Closed

added more clarification#1395
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069

Conversation

@gabbyprecious

Copy link
Copy Markdown

No description provided.

@gabbyprecious
gabbyprecious marked this pull request as draft March 30, 2022 13:41
@gabbyprecious

Copy link
Copy Markdown
Author

@ConorOkus please is this in line?

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

Merging #1395 (a3820f5) into main (7671ae5) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@ Coverage Diff @@## main #1395 +/- ##
==========================================
- Coverage 90.76% 90.76% -0.01% 
==========================================
Files 73 73 Lines 41195 41195 Branches 41195 41195 ==========================================
- Hits 37392 37391 -1 - Misses 3803 3804 +1 
Impacted FilesCoverage Δ
lightning/src/chain/mod.rs61.11% <ø> (ø)
lightning/src/ln/functional_tests.rs97.06% <0.00%> (-0.02%)⬇️

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 7671ae5...a3820f5. Read the comment docs.

pub trait Filter {
/// Registers interest in a transaction with `txid` and having an output with `script_pubkey` as
/// Registers interest in funding transactions to inform LDK that a channel
/// Funding transaction is transaction with `txid` and having an output with `script_pubkey` as

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.

I don't think we want to narrow the definition of this function to only funding transaction(s). Yes, it's true today, but specifying it in the docs and committing to it I don't think we want to do.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

What would be a better description that clarifies and differentiates what it does with register_output

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.

The key difference here is one looks at a given transaction being broadcasted, one looks for spends of a given output being broadcasted.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt, should I go with this;

/// Registers interest in transactions to inform LDK that a channel.
/// Transactions with txid and having an output with script_pubkey as
/// a spending condition.

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.

I dont think these functions should have any reference to what kind of transaction it is (channel/close/open/etc).

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

So I should leave them at what they were?

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.

I mean I do think they need to be clarified, because we've seen a good chunk of confusion on them, but it remains entirely unclear to me exactly how they should be clarified :/

fn register_tx(&self, txid: &Txid, script_pubkey: &Script);

/// Registers interest in spends of a transaction output.
/// Registers interest in spends of a force close transaction.

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.

This isn't just about force-closure transactions - we also use it to detect normal closures, etc.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt is this a better description; Registers interest in spends of a closing transaction.

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.

Its not "spends of a closing transaction", though, its "spends of a given outpoint", ie any time a given output is spent we care.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any interest in continuing to work on this, @gabbyprecious? Sorry it ended up being a bit unclear what the docs should say.

@gabbyprecious

Copy link
Copy Markdown
Author

@TheBlueMatt yes, is there any clarity on what it should say. Will also be checking other issues

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the late reply, we had the lightning spec summit last week.

I don't have perfect clarity - I've seen a lot of user confusion on this API, so I think we do need to clarify, but its kinda unclear to me how to do so (without changing the definition/API contract here).

Do you find the meaning of register_tx clearer if we separate out the mention of the script from the first sentence? Maybe something like "Registers interest in a given transaction confirming. The txid of the transaction is provided, as well as a script_pubkey of an output in the transaction, useful for those using BIP 157/158 filters"?

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any desire to keep working on this @gabbyprecious?

@gabbyprecious

Copy link
Copy Markdown
Author

Yes, if there's more clarity on it.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the delay in responding. Maybe we just include in the docs a specific contrast between the two methods. Ie in one of them write exactly how it differs from the other, noting that one is about spends and the other is about transactions themselves.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Closing in favor of #3036

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.

Further clarify register_tx/register_output distinction in docs

3 participants

@gabbyprecious@codecov-commenter@TheBlueMatt
, '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

added more clarification - #1395

Closed
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069
Closed

added more clarification#1395
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069

Conversation

@gabbyprecious

Copy link
Copy Markdown

No description provided.

@gabbyprecious
gabbyprecious marked this pull request as draft March 30, 2022 13:41
@gabbyprecious

Copy link
Copy Markdown
Author

@ConorOkus please is this in line?

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

Merging #1395 (a3820f5) into main (7671ae5) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@ Coverage Diff @@## main #1395 +/- ##
==========================================
- Coverage 90.76% 90.76% -0.01% 
==========================================
Files 73 73 Lines 41195 41195 Branches 41195 41195 ==========================================
- Hits 37392 37391 -1 - Misses 3803 3804 +1 
Impacted FilesCoverage Δ
lightning/src/chain/mod.rs61.11% <ø> (ø)
lightning/src/ln/functional_tests.rs97.06% <0.00%> (-0.02%)⬇️

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 7671ae5...a3820f5. Read the comment docs.

pub trait Filter {
/// Registers interest in a transaction with `txid` and having an output with `script_pubkey` as
/// Registers interest in funding transactions to inform LDK that a channel
/// Funding transaction is transaction with `txid` and having an output with `script_pubkey` as

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.

I don't think we want to narrow the definition of this function to only funding transaction(s). Yes, it's true today, but specifying it in the docs and committing to it I don't think we want to do.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

What would be a better description that clarifies and differentiates what it does with register_output

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.

The key difference here is one looks at a given transaction being broadcasted, one looks for spends of a given output being broadcasted.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt, should I go with this;

/// Registers interest in transactions to inform LDK that a channel.
/// Transactions with txid and having an output with script_pubkey as
/// a spending condition.

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.

I dont think these functions should have any reference to what kind of transaction it is (channel/close/open/etc).

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

So I should leave them at what they were?

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.

I mean I do think they need to be clarified, because we've seen a good chunk of confusion on them, but it remains entirely unclear to me exactly how they should be clarified :/

fn register_tx(&self, txid: &Txid, script_pubkey: &Script);

/// Registers interest in spends of a transaction output.
/// Registers interest in spends of a force close transaction.

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.

This isn't just about force-closure transactions - we also use it to detect normal closures, etc.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt is this a better description; Registers interest in spends of a closing transaction.

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.

Its not "spends of a closing transaction", though, its "spends of a given outpoint", ie any time a given output is spent we care.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any interest in continuing to work on this, @gabbyprecious? Sorry it ended up being a bit unclear what the docs should say.

@gabbyprecious

Copy link
Copy Markdown
Author

@TheBlueMatt yes, is there any clarity on what it should say. Will also be checking other issues

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the late reply, we had the lightning spec summit last week.

I don't have perfect clarity - I've seen a lot of user confusion on this API, so I think we do need to clarify, but its kinda unclear to me how to do so (without changing the definition/API contract here).

Do you find the meaning of register_tx clearer if we separate out the mention of the script from the first sentence? Maybe something like "Registers interest in a given transaction confirming. The txid of the transaction is provided, as well as a script_pubkey of an output in the transaction, useful for those using BIP 157/158 filters"?

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any desire to keep working on this @gabbyprecious?

@gabbyprecious

Copy link
Copy Markdown
Author

Yes, if there's more clarity on it.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the delay in responding. Maybe we just include in the docs a specific contrast between the two methods. Ie in one of them write exactly how it differs from the other, noting that one is about spends and the other is about transactions themselves.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Closing in favor of #3036

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.

Further clarify register_tx/register_output distinction in docs

3 participants

@gabbyprecious@codecov-commenter@TheBlueMatt
, '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

added more clarification - #1395

Closed
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069
Closed

added more clarification#1395
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069

Conversation

@gabbyprecious

Copy link
Copy Markdown

No description provided.

@gabbyprecious
gabbyprecious marked this pull request as draft March 30, 2022 13:41
@gabbyprecious

Copy link
Copy Markdown
Author

@ConorOkus please is this in line?

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

Merging #1395 (a3820f5) into main (7671ae5) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@ Coverage Diff @@## main #1395 +/- ##
==========================================
- Coverage 90.76% 90.76% -0.01% 
==========================================
Files 73 73 Lines 41195 41195 Branches 41195 41195 ==========================================
- Hits 37392 37391 -1 - Misses 3803 3804 +1 
Impacted FilesCoverage Δ
lightning/src/chain/mod.rs61.11% <ø> (ø)
lightning/src/ln/functional_tests.rs97.06% <0.00%> (-0.02%)⬇️

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 7671ae5...a3820f5. Read the comment docs.

pub trait Filter {
/// Registers interest in a transaction with `txid` and having an output with `script_pubkey` as
/// Registers interest in funding transactions to inform LDK that a channel
/// Funding transaction is transaction with `txid` and having an output with `script_pubkey` as

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.

I don't think we want to narrow the definition of this function to only funding transaction(s). Yes, it's true today, but specifying it in the docs and committing to it I don't think we want to do.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

What would be a better description that clarifies and differentiates what it does with register_output

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.

The key difference here is one looks at a given transaction being broadcasted, one looks for spends of a given output being broadcasted.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt, should I go with this;

/// Registers interest in transactions to inform LDK that a channel.
/// Transactions with txid and having an output with script_pubkey as
/// a spending condition.

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.

I dont think these functions should have any reference to what kind of transaction it is (channel/close/open/etc).

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

So I should leave them at what they were?

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.

I mean I do think they need to be clarified, because we've seen a good chunk of confusion on them, but it remains entirely unclear to me exactly how they should be clarified :/

fn register_tx(&self, txid: &Txid, script_pubkey: &Script);

/// Registers interest in spends of a transaction output.
/// Registers interest in spends of a force close transaction.

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.

This isn't just about force-closure transactions - we also use it to detect normal closures, etc.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt is this a better description; Registers interest in spends of a closing transaction.

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.

Its not "spends of a closing transaction", though, its "spends of a given outpoint", ie any time a given output is spent we care.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any interest in continuing to work on this, @gabbyprecious? Sorry it ended up being a bit unclear what the docs should say.

@gabbyprecious

Copy link
Copy Markdown
Author

@TheBlueMatt yes, is there any clarity on what it should say. Will also be checking other issues

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the late reply, we had the lightning spec summit last week.

I don't have perfect clarity - I've seen a lot of user confusion on this API, so I think we do need to clarify, but its kinda unclear to me how to do so (without changing the definition/API contract here).

Do you find the meaning of register_tx clearer if we separate out the mention of the script from the first sentence? Maybe something like "Registers interest in a given transaction confirming. The txid of the transaction is provided, as well as a script_pubkey of an output in the transaction, useful for those using BIP 157/158 filters"?

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any desire to keep working on this @gabbyprecious?

@gabbyprecious

Copy link
Copy Markdown
Author

Yes, if there's more clarity on it.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the delay in responding. Maybe we just include in the docs a specific contrast between the two methods. Ie in one of them write exactly how it differs from the other, noting that one is about spends and the other is about transactions themselves.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Closing in favor of #3036

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.

Further clarify register_tx/register_output distinction in docs

3 participants

@gabbyprecious@codecov-commenter@TheBlueMatt
, '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

added more clarification - #1395

Closed
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069
Closed

added more clarification#1395
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069

Conversation

@gabbyprecious

Copy link
Copy Markdown

No description provided.

@gabbyprecious
gabbyprecious marked this pull request as draft March 30, 2022 13:41
@gabbyprecious

Copy link
Copy Markdown
Author

@ConorOkus please is this in line?

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

Merging #1395 (a3820f5) into main (7671ae5) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@ Coverage Diff @@## main #1395 +/- ##
==========================================
- Coverage 90.76% 90.76% -0.01% 
==========================================
Files 73 73 Lines 41195 41195 Branches 41195 41195 ==========================================
- Hits 37392 37391 -1 - Misses 3803 3804 +1 
Impacted FilesCoverage Δ
lightning/src/chain/mod.rs61.11% <ø> (ø)
lightning/src/ln/functional_tests.rs97.06% <0.00%> (-0.02%)⬇️

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 7671ae5...a3820f5. Read the comment docs.

pub trait Filter {
/// Registers interest in a transaction with `txid` and having an output with `script_pubkey` as
/// Registers interest in funding transactions to inform LDK that a channel
/// Funding transaction is transaction with `txid` and having an output with `script_pubkey` as

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.

I don't think we want to narrow the definition of this function to only funding transaction(s). Yes, it's true today, but specifying it in the docs and committing to it I don't think we want to do.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

What would be a better description that clarifies and differentiates what it does with register_output

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.

The key difference here is one looks at a given transaction being broadcasted, one looks for spends of a given output being broadcasted.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt, should I go with this;

/// Registers interest in transactions to inform LDK that a channel.
/// Transactions with txid and having an output with script_pubkey as
/// a spending condition.

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.

I dont think these functions should have any reference to what kind of transaction it is (channel/close/open/etc).

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

So I should leave them at what they were?

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.

I mean I do think they need to be clarified, because we've seen a good chunk of confusion on them, but it remains entirely unclear to me exactly how they should be clarified :/

fn register_tx(&self, txid: &Txid, script_pubkey: &Script);

/// Registers interest in spends of a transaction output.
/// Registers interest in spends of a force close transaction.

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.

This isn't just about force-closure transactions - we also use it to detect normal closures, etc.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt is this a better description; Registers interest in spends of a closing transaction.

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.

Its not "spends of a closing transaction", though, its "spends of a given outpoint", ie any time a given output is spent we care.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any interest in continuing to work on this, @gabbyprecious? Sorry it ended up being a bit unclear what the docs should say.

@gabbyprecious

Copy link
Copy Markdown
Author

@TheBlueMatt yes, is there any clarity on what it should say. Will also be checking other issues

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the late reply, we had the lightning spec summit last week.

I don't have perfect clarity - I've seen a lot of user confusion on this API, so I think we do need to clarify, but its kinda unclear to me how to do so (without changing the definition/API contract here).

Do you find the meaning of register_tx clearer if we separate out the mention of the script from the first sentence? Maybe something like "Registers interest in a given transaction confirming. The txid of the transaction is provided, as well as a script_pubkey of an output in the transaction, useful for those using BIP 157/158 filters"?

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any desire to keep working on this @gabbyprecious?

@gabbyprecious

Copy link
Copy Markdown
Author

Yes, if there's more clarity on it.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the delay in responding. Maybe we just include in the docs a specific contrast between the two methods. Ie in one of them write exactly how it differs from the other, noting that one is about spends and the other is about transactions themselves.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Closing in favor of #3036

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.

Further clarify register_tx/register_output distinction in docs

3 participants

@gabbyprecious@codecov-commenter@TheBlueMatt
, '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

added more clarification - #1395

Closed
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069
Closed

added more clarification#1395
gabbyprecious wants to merge 1 commit into
lightningdevkit:mainfrom
gabbyprecious:clarify-reg-tx-register-output#1069

Conversation

@gabbyprecious

Copy link
Copy Markdown

No description provided.

@gabbyprecious
gabbyprecious marked this pull request as draft March 30, 2022 13:41
@gabbyprecious

Copy link
Copy Markdown
Author

@ConorOkus please is this in line?

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

Merging #1395 (a3820f5) into main (7671ae5) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@ Coverage Diff @@## main #1395 +/- ##
==========================================
- Coverage 90.76% 90.76% -0.01% 
==========================================
Files 73 73 Lines 41195 41195 Branches 41195 41195 ==========================================
- Hits 37392 37391 -1 - Misses 3803 3804 +1 
Impacted FilesCoverage Δ
lightning/src/chain/mod.rs61.11% <ø> (ø)
lightning/src/ln/functional_tests.rs97.06% <0.00%> (-0.02%)⬇️

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 7671ae5...a3820f5. Read the comment docs.

pub trait Filter {
/// Registers interest in a transaction with `txid` and having an output with `script_pubkey` as
/// Registers interest in funding transactions to inform LDK that a channel
/// Funding transaction is transaction with `txid` and having an output with `script_pubkey` as

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.

I don't think we want to narrow the definition of this function to only funding transaction(s). Yes, it's true today, but specifying it in the docs and committing to it I don't think we want to do.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

What would be a better description that clarifies and differentiates what it does with register_output

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.

The key difference here is one looks at a given transaction being broadcasted, one looks for spends of a given output being broadcasted.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt, should I go with this;

/// Registers interest in transactions to inform LDK that a channel.
/// Transactions with txid and having an output with script_pubkey as
/// a spending condition.

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.

I dont think these functions should have any reference to what kind of transaction it is (channel/close/open/etc).

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

So I should leave them at what they were?

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.

I mean I do think they need to be clarified, because we've seen a good chunk of confusion on them, but it remains entirely unclear to me exactly how they should be clarified :/

fn register_tx(&self, txid: &Txid, script_pubkey: &Script);

/// Registers interest in spends of a transaction output.
/// Registers interest in spends of a force close transaction.

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.

This isn't just about force-closure transactions - we also use it to detect normal closures, etc.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

@TheBlueMatt is this a better description; Registers interest in spends of a closing transaction.

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.

Its not "spends of a closing transaction", though, its "spends of a given outpoint", ie any time a given output is spent we care.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any interest in continuing to work on this, @gabbyprecious? Sorry it ended up being a bit unclear what the docs should say.

@gabbyprecious

Copy link
Copy Markdown
Author

@TheBlueMatt yes, is there any clarity on what it should say. Will also be checking other issues

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the late reply, we had the lightning spec summit last week.

I don't have perfect clarity - I've seen a lot of user confusion on this API, so I think we do need to clarify, but its kinda unclear to me how to do so (without changing the definition/API contract here).

Do you find the meaning of register_tx clearer if we separate out the mention of the script from the first sentence? Maybe something like "Registers interest in a given transaction confirming. The txid of the transaction is provided, as well as a script_pubkey of an output in the transaction, useful for those using BIP 157/158 filters"?

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Any desire to keep working on this @gabbyprecious?

@gabbyprecious

Copy link
Copy Markdown
Author

Yes, if there's more clarity on it.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Sorry for the delay in responding. Maybe we just include in the docs a specific contrast between the two methods. Ie in one of them write exactly how it differs from the other, noting that one is about spends and the other is about transactions themselves.

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Closing in favor of #3036

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.

Further clarify register_tx/register_output distinction in docs

3 participants

@gabbyprecious@codecov-commenter@TheBlueMatt