Fix interaction with max and unbounded overdraft #474
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.
Fixes #473
Bug explanation:
Each source is associated with an optional fallback account that is used to fund any missing amount from that source.
When using the
max
source, it will use the OP_TAKE_MAX instruction to cap the subsource's funding.OP_TAKE_MAX returns the amount missing to max out (or 0), and the amount remaining if it was already maxed out.
When the subsource has no fallback, the amount missing is simply discarded
When the subsource has a fallback, the amount missing should be taken from it unconditionally to max out the funding, which should be done with the OP_TAKE_ALWAYS instruction.