paych: fix voucher amount verification #3821
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Payment channels can be
For example when a client wants to retrieve data
For example when a data provider receives a voucher on a payment channel
The payment channel state includes a field
toSend
, which is the sum of submitted vouchers in all lanes.When a voucher is created on an Inbound payment channel or received and added on an Outbound payment channel we:
toSend
<= channel balanceHowever
toSend
already includes the amount for submitted vouchers. So in fact we should not includetoSend
when comparing the total voucher amount to the channel balance.Currently we fetch vouchers from the datastore and from channel state. However in order to reach channel state, the vouchers must have been either
Therefore the vouchers should already be in the datastore, there’s no need to fetch them from channel state. So this PR changes the code to only get vouchers from the datastore.Update: After talking with @magik6k we decided not to change this behaviour