http://opentransactions.org/wiki/index.php?title=Preparation&feed=atom&action=historyPreparation - Revision history2024-03-29T12:22:18ZRevision history for this page on the wikiMediaWiki 1.32.2http://opentransactions.org/wiki/index.php?title=Preparation&diff=3086&oldid=prevJustusranvier: Created page with "<div style="float: right"><include iframe src="https://www.lucidchart.com/documents/embeddedchart/0dd5f7d6-8511-4440-a535-32ad8508d146" width="150" height="502" frameborder="0..."2014-10-22T14:26:24Z<p>Created page with "<div style="float: right"><include iframe src="https://www.lucidchart.com/documents/embeddedchart/0dd5f7d6-8511-4440-a535-32ad8508d146" width="150" height="502" frameborder="0..."</p>
<p><b>New page</b></p><div><div style="float: right"><include iframe src="https://www.lucidchart.com/documents/embeddedchart/0dd5f7d6-8511-4440-a535-32ad8508d146" width="150" height="502" frameborder="0" scrolling="yes" /></div><br />
<br />
==Initial Conditions==<br />
<br />
The [[startwithdrawal]] API call has been received by the wallet, and all the arguments have been checked for errors.<br />
<br />
==Sequence==<br />
<br />
# The algorithm must keep track of the next change address to be used. The initial value is supplied as the <code>[[Startwithdrawal#Arguments|changestart]]</code> argument. Any time a change output is allocated, the index value of the [[address identifier]] is incremented, and if a change output is remove from a transaction the index value is decremented. The final value will be returned to the caller as the <code>[[Withdrawal status|nextchangestart]]</code> value in the [[Withdrawal status| withdrawal status list]].<br />
# Prepare an empty list for holding transactions as they are constructed and before they are signed.<br />
# Prepare an empty array to hold the transaction signatures which will be returned to the caller as the <code>[[siglist| signatures]]</code> value.<br />
# Prepare an <code>withdrawal status</code> object.<br />
## <code>roundID</code>: copied from <code>roundID</code> argument<br />
## <code>nextinputstart</code>: nil<br />
## <code>nextchangestart</code>: nil<br />
## <code>fees</code>: 0<br />
## <code>outputs</code>: should contain an entry for every output passed:<br />
### <code>outBailmentID</code>: copied from <code>outBailmentID</code> entry in <code>outputs</code> argument<br />
### <code>status</code>: empty string<br />
### <code>transactions</code>: nil<br />
<br />
[[Category:Transaction Construction Algorithm (voting pools)|01]]</div>Justusranvier