http://opentransactions.org/wiki/index.php?title=Rollback_Last_Output&feed=atom&action=historyRollback Last Output - Revision history2024-03-29T12:06:09ZRevision history for this page on the wikiMediaWiki 1.32.2http://opentransactions.org/wiki/index.php?title=Rollback_Last_Output&diff=3099&oldid=prevJustusranvier at 14:41, 22 October 20142014-10-22T14:41:23Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 14:41, 22 October 2014</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l21" >Line 21:</td>
<td colspan="2" class="diff-lineno">Line 21:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Add the next input from the stack to the transaction.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Add the next input from the stack to the transaction.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Perform the [[Finalize Transaction]] procedure.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Perform the [[Finalize Transaction]] procedure.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div># [[Initialize Transaction|Initialize]] a new transaction.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div># [[Initialize <ins class="diffchange diffchange-inline">New </ins>Transaction|Initialize]] a new transaction.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Transaction Construction Algorithm (voting pools)|<del class="diffchange diffchange-inline">09</del>]]</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Category:Transaction Construction Algorithm (voting pools)|<ins class="diffchange diffchange-inline">11</ins>]]</div></td></tr>
</table>Justusranvierhttp://opentransactions.org/wiki/index.php?title=Rollback_Last_Output&diff=3094&oldid=prevJustusranvier: Created page with "<div style="float: right"><include iframe src="https://www.lucidchart.com/documents/embeddedchart/81fbb6f6-b150-4a06-915e-7633b05da9af" width="300" height="600" frameborder="0..."2014-10-22T14:34:52Z<p>Created page with "<div style="float: right"><include iframe src="https://www.lucidchart.com/documents/embeddedchart/81fbb6f6-b150-4a06-915e-7633b05da9af" width="300" height="600" frameborder="0..."</p>
<p><b>New page</b></p><div><div style="float: right"><include iframe src="https://www.lucidchart.com/documents/embeddedchart/81fbb6f6-b150-4a06-915e-7633b05da9af" width="300" height="600" frameborder="0" scrolling="yes" /></div><br />
<br />
This procedure is used if a transaction has exceeded the size limit, and can be brought back under the limit by removing the most-recently added output and the inputs needed to support it from the transaction <br />
<br />
The removed inputs and outputs will be added to the beginning of a new transaction.<br />
<br />
This procedure will remove one more input than is required to bring the transaction below size limits, and then add exactly one more. This will always result in a valid transaction because the only way to reach this procedure is by having successfully completed at least one [[Add Next Output]] cycle for the current transaction prior to adding an output or input that pushes the transaction over the size limit.<br />
<br />
==Initial Conditions==<br />
<br />
* An oversize transaction contains one or more outputs and their supporting inputs which do not exceed transaction size limits, and one output which does not.<br />
* The number of inputs which are solely dedicated to satisfying the most recently-added output (not required for previous outputs) may be zero or more.<br />
<br />
==Sequence==<br />
<br />
# Remove the most-recently added output from the transaction and return it to the output stack.<br />
#* This will cause the output to be the first one added to the next transaction.<br />
# Remove the most-recently added input from the transaction and return it to the input stack.<br />
# If the sum of input values exceeds the sum of output values by an amount greater than the required transaction fee:<br />
#* Continue removing inputs one at a time until the sum of the input values falls below the needed output + transaction fee value.<br />
# Add the next input from the stack to the transaction.<br />
# Perform the [[Finalize Transaction]] procedure.<br />
# [[Initialize Transaction|Initialize]] a new transaction.<br />
<br />
[[Category:Transaction Construction Algorithm (voting pools)|09]]</div>Justusranvier