diff options
Diffstat (limited to 'bip-0078.mediawiki')
-rw-r--r-- | bip-0078.mediawiki | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/bip-0078.mediawiki b/bip-0078.mediawiki index 3c2fe2e..1893f0e 100644 --- a/bip-0078.mediawiki +++ b/bip-0078.mediawiki @@ -229,6 +229,9 @@ Our recommendation for <code>maxadditionalfeecontribution=</code> is <code>origi |- |P2SH-P2WPKH |91 +|- +|P2TR +|58 |} @@ -541,10 +544,16 @@ public async Task<PSBT> RequestPayjoin( // Verify that no keypaths is in the PSBT output if (proposedPSBTOutput.HDKeyPaths.Count != 0) throw new PayjoinSenderException("The receiver added keypaths to an output"); - bool isOriginalOutput = originalOutputs.Count > 0 && originalOutputs.Peek().OriginalTxOut.ScriptPubKey == proposedPSBTOutput.ScriptPubKey; - if (isOriginalOutput) + if (originalOutputs.Count == 0) + continue; + var originalOutput = originalOutputs.Peek(); + bool isOriginalOutput = originalOutput.OriginalTxOut.ScriptPubKey == proposedPSBTOutput.ScriptPubKey; + bool substitutedOutput = !isOriginalOutput && + allowOutputSubstitution && + originalOutput.OriginalTxOut.ScriptPubKey == paymentScriptPubKey; + if (isOriginalOutput || substitutedOutput) { - var originalOutput = originalOutputs.Dequeue(); + originalOutputs.Dequeue(); if (output.OriginalTxOut == feeOutput) { var actualContribution = feeOutput.Value - proposedPSBTOutput.Value; @@ -637,7 +646,7 @@ A successful exchange with: !maxadditionalfeecontribution !additionalfeeoutputindex |- -|P2SH-P2WSH +|P2SH-P2WPKH |2 sat/vbyte |0.00000182 |0 |