# Difference between revisions of "Update Status"

Jump to navigation
Jump to search

(→Sequence: clarify procedure for calculating target series) |
|||

Line 14: | Line 14: | ||

## Calculate the total missing value needed to satisfy the partial outputs. | ## 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). | ## 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 | + | ### Obtain a list of eligible inputs from the series after inputstop and calculate their total value. |

− | ### If the eligible value of | + | ### If the eligible value of this series is greater than the total missing value, then the series after inputstop is the target series. |

#### If not, repeat the above process while keeping a running total of eligible value until a target series is located. | #### 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 <code>status</code> value for every partial series. | ### Append the number of the target series to the <code>status</code> value for every partial series. |

## Revision as of 20:52, 8 July 2015

## Initial Conditions

- Every outBailmentID in the output list provided has a non-nil
`status`

value in the withdrawal status object.

## Sequence

- Update the status for any split outBailments which exist:
- Split outBailments have more than one item in their
`outpoints`

array and have an existing`status`

value of "success". - Change the
`status`

for 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
`status`

value 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 inputstop and calculate their total value.
- If the eligible value of this series is greater than the total missing value, then the series after inputstop is 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
`status`

value for every partial series.

- Partial outBailments have existing
- Update the
`nextinputstart`

value.- If the input stack is empty,
`nextinputstart`

is the first address identifier for the next un-thawed series. - If the input stack is not empty,
`nextinputstart`

is the address identifier for the next input in the stack.

- If the input stack is empty,