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
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -249,13 +249,13 @@ The sender should check the payjoin proposal before signing it to prevent a mali
249
249
* If the sender's inputs' sequence numbers are all the same, check that the receiver's contributed inputs match those.
250
250
* If <code>minfeerate</code> was specified, check that the estimated fee rate of the payjoin proposal is not less than this value.
251
251
* Check that outputs from the original PSBT has not been modified except if:
252
-
* The output can contribute to fee (see below)
253
-
* The output does not belong to the sender.
252
+
** The output can contribute to fee (see below)
253
+
** The output does not belong to the sender.
254
254
255
-
If a feeoutput exists, (ie, <code>maxadditionalfeecontribution=</code> and <code>additionalfeeoutputindex=</code> have been set by the sender), the sender must checks:
256
-
* 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>.
257
-
* The <code>actual contribution</code> is less or equals to the difference of absolute fee between the payjoin proposal and the original PSBT. (This make sure the contribution actually goes to fee)
258
-
* The <code>actual contribution</code> is less or equals to <code>originalPSBTFeeRate * vsize(sender_input_type) * (count(original_psbt_inputs) - count(payjoin_proposal_inputs))</code>. (This make sure the contribution only pays for additional inputs, see [[#fee-output|Fee output]] section)
255
+
If a [[#fee-output|fee ouptut]] exists, the sender must checks:
256
+
* 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>.
257
+
* Make sure the contribution are 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.
258
+
* Make sure the contribution are 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)
259
259
260
260
The sender must be careful to only sign the inputs that were present in the original PSBT and nothing else.
0 commit comments