Documentation Part V: channeld - #2132

Merged
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs
Dec 12, 2018
Merged

Documentation Part V: channeld#2132
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs

Conversation

@rustyrussell

Copy link
Copy Markdown
Collaborator

No description provided.

Comment threadopeningd/openingd.c Outdated
bool am_funder)
{
/* This is an event loop of its own. That's generally considered poor
* for, but we use it in a very limited way. */

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.

spelling: meant 'poor form' ?

Comment threadopeningd/openingd.c
/*~ This verbosity is not only useful for our own testing, but
* a courtesy to other implementaters whose brains may be so
* twisted by coding in Go, Scala and Rust that they can no
* longer read C code. */

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.

😆

Comment threadopeningd/openingd.c Outdated
struct crypto_state cs;
struct pubkey next_per_commit[NUM_SIDES];

/* Constriants on a channel they open. */

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.

Spelling: Constriants -> Constraints

Comment threadopeningd/openingd.c Outdated
status_debug("aborted opening negotiation: %s", why);
/*~ The "billboard" (exposed as "status" in the JSON listpeers RPC
* call) is a transient per-channel area which indicates important
* information about what is happening. It has a "permenant" area for

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.

Spelling: permenant -> permanent

@conscott

Copy link
Copy Markdown
Collaborator

Loving more docs! Thank you.

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

few typing/typo nits. these notes would have been nice to have last week when doing the work for the private channel flag 👍

Comment threadopeningd/openingd.c Outdated

/* Global state structure. This is only for the one specific peer and channel */
struct state {
/* Cryptographic state needed to exchange messages with the peer */

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.

Assuming this is the purview of BOLT #8, would it be useful to reference it?

Comment threadopeningd/openingd.c
}

/* For negotiation failures: we tell them it's their fault. */
/*~ For negotiation failures: we tell them the parameter we didn't like. */

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.

👍 for diplomacy

Comment threadopeningd/openingd.c Outdated
/* We ask the HSM to sign their commitment transaction for us: it knows
* our funding key, it just needs the remote funding key to create the
* witness script. It also needs the amount of the funding output,
* as segwit signatures commit to that as well, even thought it doesn't

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.

thought -> though

Comment threadopeningd/openingd.c Outdated
peer_billboard(false,
"Funding channel: create first tx, now waiting for their signature");

/* Now we they send us their signature for that first commitment

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.

remove we ?

Comment threadopeningd/openingd.c Outdated
* soon) that we put it into the first version of the protocol
* because it would be painful to add in later.
*
* My logic was seemed sound: we treat new connections as an

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.

was seemed -> seemed ?

Comment threadopeningd/openingd.c Outdated
/* If they wanted to send an msg, do so before we waste time
* doing work. If it's a global error, we'll close
* immediately. */
/*~ If they wanted to send an msg, do so before we waste time doing

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.

an msg -> a msg

…per BOLT 2.
And group struct state fields together into some kind of logical order.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…lation.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…l error.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This existed previously, but code perturbations seem to have revealed it
now: test_bad_opening reports a leak.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: Conor Scott @connscott
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: @niftynei
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

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

Very good. I think I learned something.

Comment threadopeningd/openingd.c Outdated
struct basepoints our_points;
struct pubkey our_funding_pubkey;

/* hsmd gives is our first per-commitment point, and peer tells us

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.

gives is -> gives us

Comment threadopeningd/openingd.c Outdated
* protocol has a "channel_id" field in all non-gossip messages
* so it's possible. Our one-process-one-channel mechanism
* keeps things simple: if we wanted to change this, we would
* probably be best with another daemon to de-multipliex them;

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.

multipliex -> multiplex

Reported-by: @wythe
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@niftynei

Copy link
Copy Markdown
Collaborator

ACK a2cf452

@niftynei
niftynei merged commit 9b9f9e4 into ElementsProject:masterDec 12, 2018
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.

4 participants

@rustyrussell@conscott@niftynei@wythe
, '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

Documentation Part V: channeld - #2132

Merged
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs
Dec 12, 2018
Merged

Documentation Part V: channeld#2132
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs

Conversation

@rustyrussell

Copy link
Copy Markdown
Collaborator

No description provided.

Comment threadopeningd/openingd.c Outdated
bool am_funder)
{
/* This is an event loop of its own. That's generally considered poor
* for, but we use it in a very limited way. */

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.

spelling: meant 'poor form' ?

Comment threadopeningd/openingd.c
/*~ This verbosity is not only useful for our own testing, but
* a courtesy to other implementaters whose brains may be so
* twisted by coding in Go, Scala and Rust that they can no
* longer read C code. */

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.

😆

Comment threadopeningd/openingd.c Outdated
struct crypto_state cs;
struct pubkey next_per_commit[NUM_SIDES];

/* Constriants on a channel they open. */

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.

Spelling: Constriants -> Constraints

Comment threadopeningd/openingd.c Outdated
status_debug("aborted opening negotiation: %s", why);
/*~ The "billboard" (exposed as "status" in the JSON listpeers RPC
* call) is a transient per-channel area which indicates important
* information about what is happening. It has a "permenant" area for

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.

Spelling: permenant -> permanent

@conscott

Copy link
Copy Markdown
Collaborator

Loving more docs! Thank you.

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

few typing/typo nits. these notes would have been nice to have last week when doing the work for the private channel flag 👍

Comment threadopeningd/openingd.c Outdated

/* Global state structure. This is only for the one specific peer and channel */
struct state {
/* Cryptographic state needed to exchange messages with the peer */

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.

Assuming this is the purview of BOLT #8, would it be useful to reference it?

Comment threadopeningd/openingd.c
}

/* For negotiation failures: we tell them it's their fault. */
/*~ For negotiation failures: we tell them the parameter we didn't like. */

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.

👍 for diplomacy

Comment threadopeningd/openingd.c Outdated
/* We ask the HSM to sign their commitment transaction for us: it knows
* our funding key, it just needs the remote funding key to create the
* witness script. It also needs the amount of the funding output,
* as segwit signatures commit to that as well, even thought it doesn't

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.

thought -> though

Comment threadopeningd/openingd.c Outdated
peer_billboard(false,
"Funding channel: create first tx, now waiting for their signature");

/* Now we they send us their signature for that first commitment

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.

remove we ?

Comment threadopeningd/openingd.c Outdated
* soon) that we put it into the first version of the protocol
* because it would be painful to add in later.
*
* My logic was seemed sound: we treat new connections as an

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.

was seemed -> seemed ?

Comment threadopeningd/openingd.c Outdated
/* If they wanted to send an msg, do so before we waste time
* doing work. If it's a global error, we'll close
* immediately. */
/*~ If they wanted to send an msg, do so before we waste time doing

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.

an msg -> a msg

…per BOLT 2.
And group struct state fields together into some kind of logical order.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…lation.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…l error.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This existed previously, but code perturbations seem to have revealed it
now: test_bad_opening reports a leak.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: Conor Scott @connscott
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: @niftynei
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

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

Very good. I think I learned something.

Comment threadopeningd/openingd.c Outdated
struct basepoints our_points;
struct pubkey our_funding_pubkey;

/* hsmd gives is our first per-commitment point, and peer tells us

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.

gives is -> gives us

Comment threadopeningd/openingd.c Outdated
* protocol has a "channel_id" field in all non-gossip messages
* so it's possible. Our one-process-one-channel mechanism
* keeps things simple: if we wanted to change this, we would
* probably be best with another daemon to de-multipliex them;

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.

multipliex -> multiplex

Reported-by: @wythe
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@niftynei

Copy link
Copy Markdown
Collaborator

ACK a2cf452

@niftynei
niftynei merged commit 9b9f9e4 into ElementsProject:masterDec 12, 2018
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.

4 participants

@rustyrussell@conscott@niftynei@wythe
, '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

Documentation Part V: channeld - #2132

Merged
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs
Dec 12, 2018
Merged

Documentation Part V: channeld#2132
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs

Conversation

@rustyrussell

Copy link
Copy Markdown
Collaborator

No description provided.

Comment threadopeningd/openingd.c Outdated
bool am_funder)
{
/* This is an event loop of its own. That's generally considered poor
* for, but we use it in a very limited way. */

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.

spelling: meant 'poor form' ?

Comment threadopeningd/openingd.c
/*~ This verbosity is not only useful for our own testing, but
* a courtesy to other implementaters whose brains may be so
* twisted by coding in Go, Scala and Rust that they can no
* longer read C code. */

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.

😆

Comment threadopeningd/openingd.c Outdated
struct crypto_state cs;
struct pubkey next_per_commit[NUM_SIDES];

/* Constriants on a channel they open. */

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.

Spelling: Constriants -> Constraints

Comment threadopeningd/openingd.c Outdated
status_debug("aborted opening negotiation: %s", why);
/*~ The "billboard" (exposed as "status" in the JSON listpeers RPC
* call) is a transient per-channel area which indicates important
* information about what is happening. It has a "permenant" area for

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.

Spelling: permenant -> permanent

@conscott

Copy link
Copy Markdown
Collaborator

Loving more docs! Thank you.

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

few typing/typo nits. these notes would have been nice to have last week when doing the work for the private channel flag 👍

Comment threadopeningd/openingd.c Outdated

/* Global state structure. This is only for the one specific peer and channel */
struct state {
/* Cryptographic state needed to exchange messages with the peer */

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.

Assuming this is the purview of BOLT #8, would it be useful to reference it?

Comment threadopeningd/openingd.c
}

/* For negotiation failures: we tell them it's their fault. */
/*~ For negotiation failures: we tell them the parameter we didn't like. */

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.

👍 for diplomacy

Comment threadopeningd/openingd.c Outdated
/* We ask the HSM to sign their commitment transaction for us: it knows
* our funding key, it just needs the remote funding key to create the
* witness script. It also needs the amount of the funding output,
* as segwit signatures commit to that as well, even thought it doesn't

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.

thought -> though

Comment threadopeningd/openingd.c Outdated
peer_billboard(false,
"Funding channel: create first tx, now waiting for their signature");

/* Now we they send us their signature for that first commitment

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.

remove we ?

Comment threadopeningd/openingd.c Outdated
* soon) that we put it into the first version of the protocol
* because it would be painful to add in later.
*
* My logic was seemed sound: we treat new connections as an

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.

was seemed -> seemed ?

Comment threadopeningd/openingd.c Outdated
/* If they wanted to send an msg, do so before we waste time
* doing work. If it's a global error, we'll close
* immediately. */
/*~ If they wanted to send an msg, do so before we waste time doing

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.

an msg -> a msg

…per BOLT 2.
And group struct state fields together into some kind of logical order.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…lation.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…l error.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This existed previously, but code perturbations seem to have revealed it
now: test_bad_opening reports a leak.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: Conor Scott @connscott
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: @niftynei
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

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

Very good. I think I learned something.

Comment threadopeningd/openingd.c Outdated
struct basepoints our_points;
struct pubkey our_funding_pubkey;

/* hsmd gives is our first per-commitment point, and peer tells us

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.

gives is -> gives us

Comment threadopeningd/openingd.c Outdated
* protocol has a "channel_id" field in all non-gossip messages
* so it's possible. Our one-process-one-channel mechanism
* keeps things simple: if we wanted to change this, we would
* probably be best with another daemon to de-multipliex them;

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.

multipliex -> multiplex

Reported-by: @wythe
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@niftynei

Copy link
Copy Markdown
Collaborator

ACK a2cf452

@niftynei
niftynei merged commit 9b9f9e4 into ElementsProject:masterDec 12, 2018
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.

4 participants

@rustyrussell@conscott@niftynei@wythe
, '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

Documentation Part V: channeld - #2132

Merged
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs
Dec 12, 2018
Merged

Documentation Part V: channeld#2132
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs

Conversation

@rustyrussell

Copy link
Copy Markdown
Collaborator

No description provided.

Comment threadopeningd/openingd.c Outdated
bool am_funder)
{
/* This is an event loop of its own. That's generally considered poor
* for, but we use it in a very limited way. */

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.

spelling: meant 'poor form' ?

Comment threadopeningd/openingd.c
/*~ This verbosity is not only useful for our own testing, but
* a courtesy to other implementaters whose brains may be so
* twisted by coding in Go, Scala and Rust that they can no
* longer read C code. */

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.

😆

Comment threadopeningd/openingd.c Outdated
struct crypto_state cs;
struct pubkey next_per_commit[NUM_SIDES];

/* Constriants on a channel they open. */

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.

Spelling: Constriants -> Constraints

Comment threadopeningd/openingd.c Outdated
status_debug("aborted opening negotiation: %s", why);
/*~ The "billboard" (exposed as "status" in the JSON listpeers RPC
* call) is a transient per-channel area which indicates important
* information about what is happening. It has a "permenant" area for

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.

Spelling: permenant -> permanent

@conscott

Copy link
Copy Markdown
Collaborator

Loving more docs! Thank you.

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

few typing/typo nits. these notes would have been nice to have last week when doing the work for the private channel flag 👍

Comment threadopeningd/openingd.c Outdated

/* Global state structure. This is only for the one specific peer and channel */
struct state {
/* Cryptographic state needed to exchange messages with the peer */

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.

Assuming this is the purview of BOLT #8, would it be useful to reference it?

Comment threadopeningd/openingd.c
}

/* For negotiation failures: we tell them it's their fault. */
/*~ For negotiation failures: we tell them the parameter we didn't like. */

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.

👍 for diplomacy

Comment threadopeningd/openingd.c Outdated
/* We ask the HSM to sign their commitment transaction for us: it knows
* our funding key, it just needs the remote funding key to create the
* witness script. It also needs the amount of the funding output,
* as segwit signatures commit to that as well, even thought it doesn't

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.

thought -> though

Comment threadopeningd/openingd.c Outdated
peer_billboard(false,
"Funding channel: create first tx, now waiting for their signature");

/* Now we they send us their signature for that first commitment

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.

remove we ?

Comment threadopeningd/openingd.c Outdated
* soon) that we put it into the first version of the protocol
* because it would be painful to add in later.
*
* My logic was seemed sound: we treat new connections as an

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.

was seemed -> seemed ?

Comment threadopeningd/openingd.c Outdated
/* If they wanted to send an msg, do so before we waste time
* doing work. If it's a global error, we'll close
* immediately. */
/*~ If they wanted to send an msg, do so before we waste time doing

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.

an msg -> a msg

…per BOLT 2.
And group struct state fields together into some kind of logical order.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…lation.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…l error.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This existed previously, but code perturbations seem to have revealed it
now: test_bad_opening reports a leak.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: Conor Scott @connscott
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: @niftynei
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

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

Very good. I think I learned something.

Comment threadopeningd/openingd.c Outdated
struct basepoints our_points;
struct pubkey our_funding_pubkey;

/* hsmd gives is our first per-commitment point, and peer tells us

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.

gives is -> gives us

Comment threadopeningd/openingd.c Outdated
* protocol has a "channel_id" field in all non-gossip messages
* so it's possible. Our one-process-one-channel mechanism
* keeps things simple: if we wanted to change this, we would
* probably be best with another daemon to de-multipliex them;

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.

multipliex -> multiplex

Reported-by: @wythe
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@niftynei

Copy link
Copy Markdown
Collaborator

ACK a2cf452

@niftynei
niftynei merged commit 9b9f9e4 into ElementsProject:masterDec 12, 2018
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.

4 participants

@rustyrussell@conscott@niftynei@wythe
, '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

Documentation Part V: channeld - #2132

Merged
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs
Dec 12, 2018
Merged

Documentation Part V: channeld#2132
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs

Conversation

@rustyrussell

Copy link
Copy Markdown
Collaborator

No description provided.

Comment threadopeningd/openingd.c Outdated
bool am_funder)
{
/* This is an event loop of its own. That's generally considered poor
* for, but we use it in a very limited way. */

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.

spelling: meant 'poor form' ?

Comment threadopeningd/openingd.c
/*~ This verbosity is not only useful for our own testing, but
* a courtesy to other implementaters whose brains may be so
* twisted by coding in Go, Scala and Rust that they can no
* longer read C code. */

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.

😆

Comment threadopeningd/openingd.c Outdated
struct crypto_state cs;
struct pubkey next_per_commit[NUM_SIDES];

/* Constriants on a channel they open. */

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.

Spelling: Constriants -> Constraints

Comment threadopeningd/openingd.c Outdated
status_debug("aborted opening negotiation: %s", why);
/*~ The "billboard" (exposed as "status" in the JSON listpeers RPC
* call) is a transient per-channel area which indicates important
* information about what is happening. It has a "permenant" area for

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.

Spelling: permenant -> permanent

@conscott

Copy link
Copy Markdown
Collaborator

Loving more docs! Thank you.

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

few typing/typo nits. these notes would have been nice to have last week when doing the work for the private channel flag 👍

Comment threadopeningd/openingd.c Outdated

/* Global state structure. This is only for the one specific peer and channel */
struct state {
/* Cryptographic state needed to exchange messages with the peer */

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.

Assuming this is the purview of BOLT #8, would it be useful to reference it?

Comment threadopeningd/openingd.c
}

/* For negotiation failures: we tell them it's their fault. */
/*~ For negotiation failures: we tell them the parameter we didn't like. */

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.

👍 for diplomacy

Comment threadopeningd/openingd.c Outdated
/* We ask the HSM to sign their commitment transaction for us: it knows
* our funding key, it just needs the remote funding key to create the
* witness script. It also needs the amount of the funding output,
* as segwit signatures commit to that as well, even thought it doesn't

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.

thought -> though

Comment threadopeningd/openingd.c Outdated
peer_billboard(false,
"Funding channel: create first tx, now waiting for their signature");

/* Now we they send us their signature for that first commitment

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.

remove we ?

Comment threadopeningd/openingd.c Outdated
* soon) that we put it into the first version of the protocol
* because it would be painful to add in later.
*
* My logic was seemed sound: we treat new connections as an

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.

was seemed -> seemed ?

Comment threadopeningd/openingd.c Outdated
/* If they wanted to send an msg, do so before we waste time
* doing work. If it's a global error, we'll close
* immediately. */
/*~ If they wanted to send an msg, do so before we waste time doing

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.

an msg -> a msg

…per BOLT 2.
And group struct state fields together into some kind of logical order.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…lation.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…l error.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This existed previously, but code perturbations seem to have revealed it
now: test_bad_opening reports a leak.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: Conor Scott @connscott
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: @niftynei
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

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

Very good. I think I learned something.

Comment threadopeningd/openingd.c Outdated
struct basepoints our_points;
struct pubkey our_funding_pubkey;

/* hsmd gives is our first per-commitment point, and peer tells us

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.

gives is -> gives us

Comment threadopeningd/openingd.c Outdated
* protocol has a "channel_id" field in all non-gossip messages
* so it's possible. Our one-process-one-channel mechanism
* keeps things simple: if we wanted to change this, we would
* probably be best with another daemon to de-multipliex them;

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.

multipliex -> multiplex

Reported-by: @wythe
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@niftynei

Copy link
Copy Markdown
Collaborator

ACK a2cf452

@niftynei
niftynei merged commit 9b9f9e4 into ElementsProject:masterDec 12, 2018
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.

4 participants

@rustyrussell@conscott@niftynei@wythe
, '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

Documentation Part V: channeld - #2132

Merged
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs
Dec 12, 2018
Merged

Documentation Part V: channeld#2132
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs

Conversation

@rustyrussell

Copy link
Copy Markdown
Collaborator

No description provided.

Comment threadopeningd/openingd.c Outdated
bool am_funder)
{
/* This is an event loop of its own. That's generally considered poor
* for, but we use it in a very limited way. */

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.

spelling: meant 'poor form' ?

Comment threadopeningd/openingd.c
/*~ This verbosity is not only useful for our own testing, but
* a courtesy to other implementaters whose brains may be so
* twisted by coding in Go, Scala and Rust that they can no
* longer read C code. */

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.

😆

Comment threadopeningd/openingd.c Outdated
struct crypto_state cs;
struct pubkey next_per_commit[NUM_SIDES];

/* Constriants on a channel they open. */

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.

Spelling: Constriants -> Constraints

Comment threadopeningd/openingd.c Outdated
status_debug("aborted opening negotiation: %s", why);
/*~ The "billboard" (exposed as "status" in the JSON listpeers RPC
* call) is a transient per-channel area which indicates important
* information about what is happening. It has a "permenant" area for

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.

Spelling: permenant -> permanent

@conscott

Copy link
Copy Markdown
Collaborator

Loving more docs! Thank you.

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

few typing/typo nits. these notes would have been nice to have last week when doing the work for the private channel flag 👍

Comment threadopeningd/openingd.c Outdated

/* Global state structure. This is only for the one specific peer and channel */
struct state {
/* Cryptographic state needed to exchange messages with the peer */

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.

Assuming this is the purview of BOLT #8, would it be useful to reference it?

Comment threadopeningd/openingd.c
}

/* For negotiation failures: we tell them it's their fault. */
/*~ For negotiation failures: we tell them the parameter we didn't like. */

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.

👍 for diplomacy

Comment threadopeningd/openingd.c Outdated
/* We ask the HSM to sign their commitment transaction for us: it knows
* our funding key, it just needs the remote funding key to create the
* witness script. It also needs the amount of the funding output,
* as segwit signatures commit to that as well, even thought it doesn't

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.

thought -> though

Comment threadopeningd/openingd.c Outdated
peer_billboard(false,
"Funding channel: create first tx, now waiting for their signature");

/* Now we they send us their signature for that first commitment

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.

remove we ?

Comment threadopeningd/openingd.c Outdated
* soon) that we put it into the first version of the protocol
* because it would be painful to add in later.
*
* My logic was seemed sound: we treat new connections as an

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.

was seemed -> seemed ?

Comment threadopeningd/openingd.c Outdated
/* If they wanted to send an msg, do so before we waste time
* doing work. If it's a global error, we'll close
* immediately. */
/*~ If they wanted to send an msg, do so before we waste time doing

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.

an msg -> a msg

…per BOLT 2.
And group struct state fields together into some kind of logical order.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…lation.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…l error.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This existed previously, but code perturbations seem to have revealed it
now: test_bad_opening reports a leak.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: Conor Scott @connscott
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: @niftynei
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

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

Very good. I think I learned something.

Comment threadopeningd/openingd.c Outdated
struct basepoints our_points;
struct pubkey our_funding_pubkey;

/* hsmd gives is our first per-commitment point, and peer tells us

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.

gives is -> gives us

Comment threadopeningd/openingd.c Outdated
* protocol has a "channel_id" field in all non-gossip messages
* so it's possible. Our one-process-one-channel mechanism
* keeps things simple: if we wanted to change this, we would
* probably be best with another daemon to de-multipliex them;

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.

multipliex -> multiplex

Reported-by: @wythe
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@niftynei

Copy link
Copy Markdown
Collaborator

ACK a2cf452

@niftynei
niftynei merged commit 9b9f9e4 into ElementsProject:masterDec 12, 2018
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.

4 participants

@rustyrussell@conscott@niftynei@wythe
, '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

Documentation Part V: channeld - #2132

Merged
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs
Dec 12, 2018
Merged

Documentation Part V: channeld#2132
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs

Conversation

@rustyrussell

Copy link
Copy Markdown
Collaborator

No description provided.

Comment threadopeningd/openingd.c Outdated
bool am_funder)
{
/* This is an event loop of its own. That's generally considered poor
* for, but we use it in a very limited way. */

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.

spelling: meant 'poor form' ?

Comment threadopeningd/openingd.c
/*~ This verbosity is not only useful for our own testing, but
* a courtesy to other implementaters whose brains may be so
* twisted by coding in Go, Scala and Rust that they can no
* longer read C code. */

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.

😆

Comment threadopeningd/openingd.c Outdated
struct crypto_state cs;
struct pubkey next_per_commit[NUM_SIDES];

/* Constriants on a channel they open. */

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.

Spelling: Constriants -> Constraints

Comment threadopeningd/openingd.c Outdated
status_debug("aborted opening negotiation: %s", why);
/*~ The "billboard" (exposed as "status" in the JSON listpeers RPC
* call) is a transient per-channel area which indicates important
* information about what is happening. It has a "permenant" area for

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.

Spelling: permenant -> permanent

@conscott

Copy link
Copy Markdown
Collaborator

Loving more docs! Thank you.

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

few typing/typo nits. these notes would have been nice to have last week when doing the work for the private channel flag 👍

Comment threadopeningd/openingd.c Outdated

/* Global state structure. This is only for the one specific peer and channel */
struct state {
/* Cryptographic state needed to exchange messages with the peer */

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.

Assuming this is the purview of BOLT #8, would it be useful to reference it?

Comment threadopeningd/openingd.c
}

/* For negotiation failures: we tell them it's their fault. */
/*~ For negotiation failures: we tell them the parameter we didn't like. */

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.

👍 for diplomacy

Comment threadopeningd/openingd.c Outdated
/* We ask the HSM to sign their commitment transaction for us: it knows
* our funding key, it just needs the remote funding key to create the
* witness script. It also needs the amount of the funding output,
* as segwit signatures commit to that as well, even thought it doesn't

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.

thought -> though

Comment threadopeningd/openingd.c Outdated
peer_billboard(false,
"Funding channel: create first tx, now waiting for their signature");

/* Now we they send us their signature for that first commitment

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.

remove we ?

Comment threadopeningd/openingd.c Outdated
* soon) that we put it into the first version of the protocol
* because it would be painful to add in later.
*
* My logic was seemed sound: we treat new connections as an

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.

was seemed -> seemed ?

Comment threadopeningd/openingd.c Outdated
/* If they wanted to send an msg, do so before we waste time
* doing work. If it's a global error, we'll close
* immediately. */
/*~ If they wanted to send an msg, do so before we waste time doing

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.

an msg -> a msg

…per BOLT 2.
And group struct state fields together into some kind of logical order.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…lation.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…l error.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This existed previously, but code perturbations seem to have revealed it
now: test_bad_opening reports a leak.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: Conor Scott @connscott
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: @niftynei
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

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

Very good. I think I learned something.

Comment threadopeningd/openingd.c Outdated
struct basepoints our_points;
struct pubkey our_funding_pubkey;

/* hsmd gives is our first per-commitment point, and peer tells us

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.

gives is -> gives us

Comment threadopeningd/openingd.c Outdated
* protocol has a "channel_id" field in all non-gossip messages
* so it's possible. Our one-process-one-channel mechanism
* keeps things simple: if we wanted to change this, we would
* probably be best with another daemon to de-multipliex them;

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.

multipliex -> multiplex

Reported-by: @wythe
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@niftynei

Copy link
Copy Markdown
Collaborator

ACK a2cf452

@niftynei
niftynei merged commit 9b9f9e4 into ElementsProject:masterDec 12, 2018
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.

4 participants

@rustyrussell@conscott@niftynei@wythe
, '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

Documentation Part V: channeld - #2132

Merged
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs
Dec 12, 2018
Merged

Documentation Part V: channeld#2132
niftynei merged 10 commits into
ElementsProject:masterfrom
rustyrussell:guilt/docs

Conversation

@rustyrussell

Copy link
Copy Markdown
Collaborator

No description provided.

Comment threadopeningd/openingd.c Outdated
bool am_funder)
{
/* This is an event loop of its own. That's generally considered poor
* for, but we use it in a very limited way. */

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.

spelling: meant 'poor form' ?

Comment threadopeningd/openingd.c
/*~ This verbosity is not only useful for our own testing, but
* a courtesy to other implementaters whose brains may be so
* twisted by coding in Go, Scala and Rust that they can no
* longer read C code. */

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.

😆

Comment threadopeningd/openingd.c Outdated
struct crypto_state cs;
struct pubkey next_per_commit[NUM_SIDES];

/* Constriants on a channel they open. */

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.

Spelling: Constriants -> Constraints

Comment threadopeningd/openingd.c Outdated
status_debug("aborted opening negotiation: %s", why);
/*~ The "billboard" (exposed as "status" in the JSON listpeers RPC
* call) is a transient per-channel area which indicates important
* information about what is happening. It has a "permenant" area for

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.

Spelling: permenant -> permanent

@conscott

Copy link
Copy Markdown
Collaborator

Loving more docs! Thank you.

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

few typing/typo nits. these notes would have been nice to have last week when doing the work for the private channel flag 👍

Comment threadopeningd/openingd.c Outdated

/* Global state structure. This is only for the one specific peer and channel */
struct state {
/* Cryptographic state needed to exchange messages with the peer */

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.

Assuming this is the purview of BOLT #8, would it be useful to reference it?

Comment threadopeningd/openingd.c
}

/* For negotiation failures: we tell them it's their fault. */
/*~ For negotiation failures: we tell them the parameter we didn't like. */

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.

👍 for diplomacy

Comment threadopeningd/openingd.c Outdated
/* We ask the HSM to sign their commitment transaction for us: it knows
* our funding key, it just needs the remote funding key to create the
* witness script. It also needs the amount of the funding output,
* as segwit signatures commit to that as well, even thought it doesn't

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.

thought -> though

Comment threadopeningd/openingd.c Outdated
peer_billboard(false,
"Funding channel: create first tx, now waiting for their signature");

/* Now we they send us their signature for that first commitment

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.

remove we ?

Comment threadopeningd/openingd.c Outdated
* soon) that we put it into the first version of the protocol
* because it would be painful to add in later.
*
* My logic was seemed sound: we treat new connections as an

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.

was seemed -> seemed ?

Comment threadopeningd/openingd.c Outdated
/* If they wanted to send an msg, do so before we waste time
* doing work. If it's a global error, we'll close
* immediately. */
/*~ If they wanted to send an msg, do so before we waste time doing

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.

an msg -> a msg

…per BOLT 2.
And group struct state fields together into some kind of logical order.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…lation.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…l error.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This existed previously, but code perturbations seem to have revealed it
now: test_bad_opening reports a leak.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: Conor Scott @connscott
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reported-by: @niftynei
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

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

Very good. I think I learned something.

Comment threadopeningd/openingd.c Outdated
struct basepoints our_points;
struct pubkey our_funding_pubkey;

/* hsmd gives is our first per-commitment point, and peer tells us

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.

gives is -> gives us

Comment threadopeningd/openingd.c Outdated
* protocol has a "channel_id" field in all non-gossip messages
* so it's possible. Our one-process-one-channel mechanism
* keeps things simple: if we wanted to change this, we would
* probably be best with another daemon to de-multipliex them;

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.

multipliex -> multiplex

Reported-by: @wythe
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@niftynei

Copy link
Copy Markdown
Collaborator

ACK a2cf452

@niftynei
niftynei merged commit 9b9f9e4 into ElementsProject:masterDec 12, 2018
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.

4 participants

@rustyrussell@conscott@niftynei@wythe