1
0
mirror of https://github.com/lightning/bolts.git synced 2024-11-19 10:00:04 +01:00
Commit Graph

413 Commits

Author SHA1 Message Date
Landon Mutch
124626e693 BOLT 2: update stylesheet for numbers and amounts; 2017-11-28 23:11:55 +00:00
Landon Mutch
f23e3dd56b BOLT 1,2,3: first pass copy-edit;
BOLT 1,2: minor header spacing fixes
BOLT 3: first pass copy edit, according to capitalization, formatting stylesheet guidelines;
2017-11-28 23:11:55 +00:00
Landon Mutch
c00df17214 BOLT 0,2: update stylesheet, apply associated changes, 2nd pass copy-edit
BOLT 0: Update style sheet to reflect correct Bitcoin capitalizations
BOLT 2: Complete second pass copy-edit according to stylesheet guidelines
2017-11-28 23:11:55 +00:00
Rusty Russell
0c92bda566 BOLT 9: Adding missing option bits for option-dataloss-protect.
Somehow this got lost in merging; pre-approved at meeting 2017-11-27.

Reported-by: Pierre-Marie Padiou
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-28 23:03:12 +00:00
Rusty Russell
963b103113 BOLT 2: add precommitment to scriptpubkey for mutual close.
This is Fabrice's #243 "BOLT2, BOLT3: reduce attack surface", split
out with minor polishing:

- Made it an optional feature (we can insist on it if we choose even bit).
- Rename from "final_scriptpubkey" to "shutdown_scriptpubkey".
- Make requirements the same as shutdown's scriptpubkey, or zero-len.
- Leave shutdown's scriptpubkey, just make sure it's the same or fail.
- Add to accept_channel as well as open_channel.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-28 00:09:57 +00:00
Rusty Russell
005372c11a tools: don't enforce alignment.
It was always going to break when we started adding options, unless we
add padding.  As no implementation requires alignment, let's skip it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-28 00:09:57 +00:00
Rusty Russell
4bb1d7e6be tools: allow `` around option names, strip them
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-28 00:09:57 +00:00
Rusty Russell
072a69fe77 BOLT 2: require that undefined bits in open_channel must be set to 0.
We already say that receiver has to ignore them.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-27 23:40:02 +00:00
Rusty Russell
3975a54a1c BOLT 2: note requirements for first_per_commitment_point.
Steal language from next_per_commitment_point requirements.

Closes: #277
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-27 23:40:02 +00:00
Rusty Russell
cb78c50b77 BOLT 2: fix terminal node ctlv_expiry calc.
It *is* 2R+G+S, which is 7, not six.  It's also identical to the previous one,
so just say that.

Reported-by: Shannon Appelcline <shannona@skotos.net>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-27 23:39:39 +00:00
Shannon Appelcline
da67c9a3f7 Appended Bitcoins to word list 2017-11-27 23:38:01 +00:00
Shannon Appelcline
c9a6d69385 Minor Typo fix. 2017-11-27 23:38:01 +00:00
Shannon Appelcline
46cf6ea1fe Line editing and some more extensive attempts to create clarity.. 2017-11-27 23:38:01 +00:00
Shannon Appelcline
287a2c4422 Minor line edits 2017-11-27 23:38:01 +00:00
Renlord Yang
2e87b35303 Update 05-onchain.md
added permalink to reference implementation code for coinbase maturity check.
2017-11-22 01:21:01 +00:00
Rusty Russell
fd560bb671
Merge pull request #267 from toadlyBroodle/master
Copy Edit and Requirements Restructuring
2017-11-17 00:03:30 +00:00
landonmutch
ba4601ba78
Merge branch 'master' into master 2017-11-15 10:07:20 -08:00
landonmutch
04301add81
Merge branch 'master' into master 2017-11-15 03:33:36 -08:00
Landon Mutch
c89a54a7da BOLT 0,1,2: fix requested changes;
update stylesheet to reflect appropriate structure of Requirement sub-items and format of digits, numerations, and quantities;
copy edit BOLTs 0,1,2 to adhere to these changes;
2017-11-15 02:55:16 -08:00
Rusty Russell
4f91f0bb2a htlckey: new basepoint avoid holding the payment secret.
This is stolen from @sstone's #243 "reduce attack surface".

This breaks compatibility, as agreed at the 2017-11-13 meeting.
Note also that it does not update the test vectors.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-14 22:58:11 +00:00
Landon Mutch
24896d847d make spellcheck.sh happy 2017-11-13 19:18:09 -08:00
Landon Mutch
d99a410d5c BOLT 2: copy edit merged changes 2017-11-13 18:32:13 -08:00
landonmutch
3d67c79235
Merge branch 'master' into master 2017-11-13 17:48:03 -08:00
Rusty Russell
046f5acb16 BOLT 2: option-data-loss: limited data loss protection.
This is the best I could come up with.  You can't know future
revocation secrets, so if you send onw I know you're ahead of me
somehow.  That means I *MUST NOT* broadcast my latest commitment
transaction, but at least if you're not malicious I'll salvage
something.

We adapt BOLT 5 in a fairly trivial way to specify to say you should
try to handle as much as you can (in fact, you should always be able
to collect their commitment transaction's direct-to-you output).

Fixes: #209
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-13 11:10:32 -08:00
Rusty Russell
a759dff029 BOLT 1, tools: add support for our first optional field.
We've always specified that fields can be appended, and we're about to
do our first.  Make it clear that you can't just send one if we add several
fields as part of the same option.

Change extract-formats to have an optional new field appended: the
input format is to simply add ' (optionname)' in the data
specification.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-13 11:10:32 -08:00
Landon Mutch
43f4a7e406 amend: update stylesheet checklist 2017-11-10 22:41:57 -08:00
Landon Mutch
074b62b666 update stylesheet checklist 2017-11-10 22:35:33 -08:00
Landon Mutch
adb13bf689 BOLT 2: first pass copy edit done;
complete first pass copy edit, following .copy-edit-stylesheed-checklist guidelines;
2017-11-10 22:18:53 -08:00
Landon Mutch
03197f2959 BOLT 1, 2: copy edit
BOLT 1: minor list formatting fix;
BOLT 2: copy edit up to line 955;
2017-11-10 18:14:27 -08:00
Landon Mutch
441da24462 Merge branch 'master' into copy-edit-bolts 2017-11-10 14:09:05 -08:00
Landon Mutch
b475639f48 BOLT 0, 1, 2: copy edit
add stylesheet item: prefer typed, not written numbers;
updated BOLT 0, 1 to reflect change;
copy edit BOLT 2 up to line 674;
2017-11-10 14:05:21 -08:00
Landon Mutch
4e70a8b607 update stylesheet checklist
fix stylesheet formatting; add passive voice item to stylesheet checklist; apply passive voice change to BOLT 1;
2017-11-10 11:49:19 -08:00
Landon Mutch
1afc143cd1 BOLT 2: first pass copy edit continued;
Done first pass copy edit, up to line 576 of BOLT 2, according to .copy-edit-stylesheet-checklist.md guidelines;
2017-11-10 11:45:51 -08:00
Landon Mutch
93afa0db9a BOLT 2: first pass copy edit;
Done first pass copy edit, up to line 279 of BOLT 2, according to .copy-edit-stylesheet-checklist.md guidelines;
2017-11-10 00:56:38 -08:00
Landon Mutch
b5d2d8b7a8 add copy editing stylesheet temporarily while drafting, for reference; 2017-11-09 23:26:09 -08:00
Landon Mutch
e885a631e8 BOLT 1: change HTML tags to markdown 2017-11-09 23:23:53 -08:00
Landon Mutch
20fca8b90c fix 01-messaging missed unordered list spacing 2017-11-09 19:03:08 -08:00
Landon Mutch
919df997a3 fix 01-messaging unordered list spacing so formats correctly in githubs markdown 2017-11-09 18:55:40 -08:00
Landon Mutch
c3ef4cabe5 fix 00-introduction, 01-messaging section spacings for format consistency 2017-11-09 18:32:52 -08:00
Landon Mutch
076ec8ab48 Merge amended branch 'master' of https://github.com/toadlyBroodle/lightning-rfc 2017-11-09 15:29:20 -08:00
Landon Mutch
2d829756e1 Amend: Make pull request changes; re-structure requirements; correct grammar
Implement changes requested by @rustyrussell: wording change, structure requirements according to whether nodes are sending or receiving;
Correct grammar, punctuation, capitalization, and style for correctness, concision, clarity, comprehension, and consistency;
2017-11-09 15:26:26 -08:00
Landon Mutch
cc86516411 Make pull request changes; re-structure requirements; correct grammar
Implement changes requested by @rustyrussell: wording change, structure requirements according to whether nodes are sending or receiving;
Correct grammar, punctuation, capitalization, and style for correctness, concision, clarity, comprehension, and consistency;
2017-11-09 13:30:53 -08:00
Landon Mutch
2f6a629a03 minor grammar, punctuation, and capitalization fixes; 2017-11-09 13:30:31 -08:00
Landon Mutch
531317b3b4 Further clarify 01-messaging requirement structures by deepening branches. 2017-11-04 18:53:46 -07:00
Landon Mutch
5450ec193a Organize 01-messaging requirements into unordered lists
Requirements were difficult to follow in existing sentence form, so I reordered them into hopefully more intuitive groups of unordered lists.
2017-11-04 14:43:56 -07:00
Landon Mutch
34878c0d96 copy-edit 01-messaging for appropriate grammer, punctuation, and style
Edit 01-messaging copy for clarity (minor rephrasing, punctuation),
    correctness (grammar, capitalization, punctuation),
    consision (minimizing wordiness, redundancy),
    and consistency (document style, e.g. 1 space between sentences,
    capitalization of headers, etc.)
2017-11-04 09:32:50 -07:00
Landon Mutch
7e4611af2b copy-edit 00-introduction for appropriate grammer, punctuation, and style
Edit 00-introduction copy for clarity (minor rephrasing, punctuation),
correctness (grammar, capitalization, punctuation),
consision (minimizing wordiness, redundancy),
and consistency (document style, e.g. 1 space between sentences,
capitalization of headers, etc.)
2017-11-04 09:32:16 -07:00
Rusty Russell
c93cd75d88
BOLT 2,4: allow an error for HTLCs which expire too far away. (#265)
Fixes: #261

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-10-31 00:21:58 +00:00
Rusty Russell
58d4d9bca3 BOLT 2: Details of HTLC Timeouts, ie. cltv_expiry_delta.
Complete rewrite, including a routing example and the new
min_final_cltv expirt.  I hope this makes it clear.

(Thanks to everyone who reviewed and gave feedback; you rock!)

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-10-19 12:44:53 -07:00
Pierre-Marie Padiou
d1fbfd30f8 BOLT 7,11: Added an optional min_final_cltv_expiry field in BOLT 11 (#258)
Added an optional `c` field in the payment request specifying the
minimum `cltv_expiry` to use for the last htlc in the route. If
not provided, default value is 9.

This commit also clarifies how `channel_update` messages are only
to be used in the context of relaying payments, and how both htlc
amounts and expiries are to be calculated backwards from the values
provided in the payment request.

Not needing the `channel_update` for the first channel in a route also
means that it is possible to make a payment through a channel which 
hasn't had any announcements yet.
2017-10-18 15:31:31 +02:00