Difference between revisions of "Update Status"

From Open Transactions
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 next un-thawed series and calculate their total value.
+
### Obtain a list of eligible inputs from the series after inputstop and calculate their total value.
### If the eligible value of the next un-thawed series is greater than the total missing value, then the next un-thawed series is the target series.
+
### 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

Sequence

  1. Update the status for any split outBailments which exist:
    1. Split outBailments have more than one item in their outpoints array and have an existing status value of "success".
    2. Change the status for all split outBailments from "success" to "split".
  2. Update the status for any partial outBailments which exist:
    1. Partial outBailments have existing status value of "partial-".
    2. Calculate the total missing value needed to satisfy the partial outputs.
    3. 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).
      1. Obtain a list of eligible inputs from the series after inputstop and calculate their total value.
      2. If the eligible value of this series is greater than the total missing value, then the series after inputstop is the target series.
        1. If not, repeat the above process while keeping a running total of eligible value until a target series is located.
      3. Append the number of the target series to the status value for every partial series.
  3. Update the nextinputstart value.
    1. If the input stack is empty, nextinputstart is the first address identifier for the next un-thawed series.
    2. If the input stack is not empty, nextinputstart is the address identifier for the next input in the stack.