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
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -249,7 +249,7 @@ The receiver needs to do some check on the original PSBT before proceeding:
249
249
===Sender's payjoin proposal checklist===
250
250
251
251
The sender should check the payjoin proposal before signing it to prevent a malicious receiver from stealing money.
252
-
252
+
253
253
* Verify that the absolute fee of the payjoin proposal is equals or higher than the original PSBT.
254
254
* If the receiver's BIP21 signalled <code>pjos=0</code>, disable payment output substitution.
255
255
* Verify that the transaction version, and the nLockTime are unchanged.
@@ -325,7 +325,7 @@ Because the receiver needs to bump the fee to keep the same fee rate as the orig
325
325
326
326
The validation (policy and consensus) of the original transaction is optional: a receiver without a full node can decide to create the payjoin transaction and automatically broadcast the original transaction after a timeout of 1 minute, and only verify that it has been propagated in the network.
327
327
328
-
However, non-interactive receivers (like a payment processor) need to verify the transaction to prevent UTXO probing attacks.
328
+
However, non-interactive receivers (like a payment processor) need to verify the transaction to prevent UTXO probing attacks.
329
329
330
330
This is not a concern for interactive receivers like Wasabi Wallet, because those receivers can just limit the number of original PSBT proposals of a specific address to one. With such wallets, the attacker has no way to generate new deposit addresses to probe the UTXOs.
331
331
@@ -498,7 +498,7 @@ public async Task<PSBT> RequestPayjoin(
498
498
if (proposedPSBTInput.NonWitnessUtxo != null || proposedPSBTInput.WitnessUtxo != null)
499
499
throw new PayjoinSenderException("The receiver added non_witness_utxo or witness_utxo to one of our inputs");
500
500
sequences.Add(proposedTxIn.Sequence);
501
-
501
+
502
502
// Fill up the info from the original PSBT input so we can sign and get fees.
0 commit comments