You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: bip-0078.mediawiki
+30-20Lines changed: 30 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -260,7 +260,7 @@ The sender should check the payjoin proposal before signing it to prevent a mali
260
260
** Verify that all of sender's inputs from the original PSBT are in the proposal.
261
261
* For each outputs in the proposal:
262
262
** Verify that no keypaths is in the PSBT output
263
-
** If the output is the [[#fee-output|fee ouptut]]:
263
+
** If the output is the [[#fee-output|fee output]]:
264
264
*** The amount that was substracted from the output's value is less or equal to <code>maxadditionalfeecontribution</code>. Let's call this amount <code>actual contribution</code>.
265
265
*** Make sure the actual contribution is only paying fee: The <code>actual contribution</code> is less or equals to the difference of absolute fee between the payjoin proposal and the original PSBT.
266
266
*** Make sure the actual contribution is only paying for fee incurred by additional inputs: <code>actual contribution</code> is less or equals to <code>originalPSBTFeeRate * vsize(sender_input_type) * (count(original_psbt_inputs) - count(payjoin_proposal_inputs))</code>. (see [[#fee-output|Fee output]] section)
@@ -274,8 +274,8 @@ The sender should check the payjoin proposal before signing it to prevent a mali
274
274
The sender must be careful to only sign the inputs that were present in the original PSBT and nothing else.
275
275
276
276
Note:
277
-
* The sender must allow the receiver to add/remove or modify his own outputs (Except is explicitely disabled via the optional parameter <code>disableoutputsubstitution=</code>)
278
-
* The sender should allow the receiver to not add any input. Useful for the receiver to change the paymout output scriptPubKey type.
277
+
* The sender must allow the receiver to add/remove or modify the receiver's own outputs (Except if explicitly disabled via the optional parameter <code>disableoutputsubstitution=</code>)
278
+
* The sender should allow the receiver to not add any inputs. This is useful for the receiver to change the paymout output scriptPubKey type.
279
279
* 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.
280
280
281
281
Our method of checking the fee allows the receiver and the sender to batch payments in the payjoin transaction.
@@ -413,22 +413,20 @@ public async Task<PSBT> RequestPayjoin(
413
413
PSBTOutput feePSBTOutput = null;
414
414
if (optionalParameters.AdditionalFeeOutputIndex != null && optionalParameters.MaxAdditionalFeeContribution != null)
0 commit comments