summaryrefslogtreecommitdiff
path: root/bip-0078.mediawiki
diff options
context:
space:
mode:
authornicolas.dorier <nicolas.dorier@gmail.com>2020-06-19 15:19:22 +0900
committernicolas.dorier <nicolas.dorier@gmail.com>2020-06-19 15:19:22 +0900
commit549107933cfa1c3081fca241f500b02c0ee3b353 (patch)
tree2986285df945fe2eddb6d165afc64844da94a310 /bip-0078.mediawiki
parentbd9740074338593c594394be365c3bed1b6cc3df (diff)
downloadbips-549107933cfa1c3081fca241f500b02c0ee3b353.tar.xz
Allow outputs to be increased
Diffstat (limited to 'bip-0078.mediawiki')
-rw-r--r--bip-0078.mediawiki8
1 files changed, 4 insertions, 4 deletions
diff --git a/bip-0078.mediawiki b/bip-0078.mediawiki
index 25d36bf..3bb8fc3 100644
--- a/bip-0078.mediawiki
+++ b/bip-0078.mediawiki
@@ -271,10 +271,10 @@ The sender should check the payjoin proposal before signing it to prevent a mali
*** 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>.
*** 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.
*** 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)
-** If the output is the payment output and payment output substitution is disabled.
+** If the output is the payment output and payment output substitution is allowed.
*** Do not make any check
** Else
-*** Make sure the output's value did not changed.
+*** Make sure the output's value did not decreased.
** Verify that all sender's outputs (ie, all outputs except the output actually paid to the receiver) from the original PSBT are in the proposal.
* Once the proposal is signed, if <code>minfeerate</code> was specified, check that the fee rate of the payjoin transaction is not less than this value.
@@ -561,8 +561,8 @@ public async Task<PSBT> RequestPayjoin(
}
else
{
- if (originalOutput.OriginalTxOut.Value != proposedPSBTOutput.Value)
- throw new PayjoinSenderException("The receiver changed one of our outputs");
+ if (originalOutput.OriginalTxOut.Value > proposedPSBTOutput.Value)
+ throw new PayjoinSenderException("The receiver decreased the value of one of the outputs");
}
// We fill up information we had on the signed PSBT, so we can sign it.
foreach (var hdKey in output.SignedPSBTOutput.HDKeyPaths)