Split Output
Revision as of 10:14, 2 December 2014 by GuilhermeSalgado (talk | contribs)
This procedure is used when, either due to a large output or small inputs, the inputs required to satisfy a single output can not fit within transaction size limits.
The outBailment
will be split across two or more transactions.
Initial Conditions
- The transaction being constructed contains one output, and many inputs.
- The transaction did not exceed any size limits until the most recent input was added.
Sequence
- Update the value of the output in the transaction to be the sum of the inputs minus the required transaction fee.
- Make a copy of the outputs object corresponding to this outBailmentID.
- Update the
amount
field of the copied output by subtracting the value determined in step 1. - Push this new output to the output stack.
- Update the
status
field for this outBailmentID in the withdrawal status object to "partial-". - Perform the Finalize Transaction Procedure.
- Initialize a new transaction.