This PR proposes a number of spelling and grammar updates to BIP78. Nothing here should change the actual content of the BIP, though I’m new to Payjoin and would appreciate a sanity check :)
cc the BIP champion, @NicolasDorier
This PR proposes a number of spelling and grammar updates to BIP78. Nothing here should change the actual content of the BIP, though I’m new to Payjoin and would appreciate a sanity check :)
cc the BIP champion, @NicolasDorier
271+** If it is one of the receiver's inputs:
272 *** Verify the PSBT input is finalized
273 *** Verify that <code>non_witness_utxo</code> or <code>witness_utxo</code> are filled in.
274-** Verify that the payjoin proposal did not introduced mixed input's sequence.
275-** Verify that the payjoin proposal did not introduced mixed input's type.
276+** Verify that the payjoin proposal did not mix the sequence of the inputs.
I believe this rule actually specifies that all inputs have identical nSequence
values. Perhaps a more precise comment than the original would be
0** Verify that the payjoin proposal inputs all specify the same sequence value.
Ooo thanks for the clarification! I did not realize this was referring to nSequence
Accepted both suggestions and rebased. Appreciate you taking a look at this!
286@@ -287,8 +287,8 @@ The sender must be careful to only sign the inputs that were present in the orig
287
288 Note:
289 * The sender must allow the receiver to add/remove or modify the receiver's own outputs. (if payment output substitution is disabled, the receiver's outputs must not be removed or decreased in value)
290-* The sender should allow the receiver to not add any inputs. This is useful for the receiver to change the paymout output scriptPubKey type.
291-* If no input have been added, the sender's wallet implementation should accept the payjoin proposal, but not mark the transaction as an actual payjoin in the user interface.
292+* The sender should allow the receiver to not add any inputs. This is useful for the receiver to change the payment output scriptPubKey type.
293+* If no additional inputs have been added, the sender's wallet implementation should accept the payjoin proposal, but not mark the transaction as an actual payjoin in the user interface.
This works as-is, but could be more specific by adding a subject:
0* If the receiver added no inputs, the sender's wallet implementation should accept the payjoin proposal, but not mark the transaction as an actual payjoin in the user interface.
This clears up the language quite a bit.
I left one comment about the mixed sequence number validation step.
188@@ -189,7 +189,7 @@ The well-known error codes are:
189
190 The receiver is allowed to return implementation specific errors which may assist the sender to diagnose any issue.
191
192-However, it is important that error codes that are not well-known and that the message do not appear on the sender's software user interface.
193+However, it is important that error codes are not well-known and that the messages do not appear on the sender's software user interface.
Thanks @remcoros! I like that suggestion. I think it brings more clarity while still preserving the meaning. Admittedly, this sentence has been a bit of a head scratcher for me. If I adopt remcoros’s suggestion, I don’t think it would it need BIP author sign off, right?
For now I rebased and just left this sentence alone. If there is consensus on how to reword it without changing the meaning, I am happy to open up a follow up PR.
188@@ -189,7 +189,7 @@ The well-known error codes are:
189
190 The receiver is allowed to return implementation specific errors which may assist the sender to diagnose any issue.
191
192-However, it is important that error codes that are not well-known and that the message do not appear on the sender's software user interface.
193+However, it is important that error codes are not well-known and that the messages do not appear on the sender's software user interface.
194 Such error codes or messages could be used maliciously to phish a non technical user.
0Such error codes or messages could be used maliciously to phish a non-technical user.
188@@ -189,7 +189,7 @@ The well-known error codes are:
189
190 The receiver is allowed to return implementation specific errors which may assist the sender to diagnose any issue.
0The receiver is allowed to return implementation-specific errors which may assist the sender to diagnose any issue.
188@@ -189,7 +189,7 @@ The well-known error codes are:
189
190 The receiver is allowed to return implementation specific errors which may assist the sender to diagnose any issue.
191
192-However, it is important that error codes that are not well-known and that the message do not appear on the sender's software user interface.
193+However, it is important that error codes are not well-known and that the messages do not appear on the sender's software user interface.
194 Such error codes or messages could be used maliciously to phish a non technical user.
195 Instead those errors or messages can only appear in debug logs.
Perhaps “might” here, if this is a suggestion and not a hard rule (would need BIP author sign-off along with the proposed change in line 192). I’m not sure if this section is describing a SHOULD or a MUST.
0Instead, those errors or messages might only appear in debug logs.
343@@ -344,7 +344,7 @@ On top of this the receiver can poison analysis by randomly faking a round amoun
344
345 ===<span id="output-substitution"></span>Payment output substitution===
346
347-Unless disallowed by sender explicitly via `disableoutputsubstitution=true` or by the BIP21 url via query parameter the `pjos=0`, the receiver is free to decrease the amount, remove, or change the scriptPubKey output paying to himself.
348+Unless disallowed by sender explicitly via <code>disableoutputsubstitution=true</code> or by the BIP21 url via query parameter the <code>pjos=0</code>, the receiver is free to decrease the amount, remove, or change the scriptPubKey output paying to himself.
0Unless disallowed by the sender explicitly via <code>disableoutputsubstitution=true</code> or by the BIP21 url via the query parameter <code>pjos=0</code>, the receiver is free to decrease the amount, remove, or change the scriptPubKey output paying to himself.
edit: maybe also s/url/URL
in both places in this BIP (as URI is also capitalized).
Co-authored-by: Dan Gould <d@ngould.dev>
Co-authored-by: Jon Atack <jon@atack.com>
LGTM modulo this line, WDYT?
Oh that is a good catch! I accepted the suggestion and also took the advice to replace “url” with “URL”.