Update Status
Revision as of 20:53, 8 July 2015 by Justusranvier (talk | contribs)
Initial Conditions
- Every outBailmentID in the output list provided has a non-nil
statusvalue in the withdrawal status object.
Sequence
- Update the status for any split outBailments which exist:
- Split outBailments have more than one item in their
outpointsarray and have an existingstatusvalue of "success". - Change the
statusfor all split outBailments from "success" to "split".
- Split outBailments have more than one item in their
- Update the status for any partial outBailments which exist:
- Partial outBailments have existing
statusvalue of "partial-". - Calculate the total missing value needed to satisfy the partial outputs.
- The missing value of an outBailment is the originally-requested size of the outBailment minus the sum of all outputs created to satisfy it (if any exist).
- Obtain a list of eligible inputs from the series after
inputstopand calculate their total value. - If the eligible value of this series is greater than the total missing value, then the series after
inputstopis the target series.- If not, repeat the above process while keeping a running total of eligible value until a target series is located.
- Append the number of the target series to the
statusvalue for every partial series.
- Obtain a list of eligible inputs from the series after
- Partial outBailments have existing
- Update the
nextinputstartvalue.- If the input stack is empty,
nextinputstartis the first address identifier for the the series afterinputstop. - If the input stack is not empty,
nextinputstartis the address identifier for the next input in the stack.
- If the input stack is empty,