Difference between revisions of "Startwithdrawal"

From Open Transactions
Jump to navigation Jump to search
(Errors: Remove incorrect errors)
(Errors)
 
(3 intermediate revisions by the same user not shown)
Line 11: Line 11:
  
 
==Arguments==
 
==Arguments==
 +
 +
; version
 +
: Currently required to be 1. May be incremented for future expansions to the voting pool specification.
  
 
; roundID
 
; roundID
Line 42: Line 45:
 
===Errors===
 
===Errors===
  
 +
; unknown version
 +
: The wallet does not support the supplied version number.
 
; invalid roundID
 
; invalid roundID
 
: the supplied roundID is not a positive integer
 
: the supplied roundID is not a positive integer
 +
; duplicate roundID
 +
: the supplied roundID has already been passed to a previous startwithdrawal call with a different set of arguments
 
; inputstart invalid pool
 
; inputstart invalid pool
 
: The given pool is not defined in the wallet.
 
: The given pool is not defined in the wallet.

Latest revision as of 10:29, 7 November 2014

Description

This call begins the process of creating withdrawal transactions to satisfy validated outBailment messages.

After receiving this call, the wallet attempts to construct blockchain transactions to satisfy the requested ouputs using the transaction construction algorithm.

Status

Version 1 Draft
This specificiation is still under development

Arguments

version
Currently required to be 1. May be incremented for future expansions to the voting pool specification.
roundID
A positive integer representing the consensus round for which the withdrawal is associated
inputstart
An address identifier identifying where the input selection algorithm should begin searching for eligible inputs
inputstop
An series identifier identifying where the input selection algorithm should stop searching for eligible inputs. Since each wallet can not know when the other wallets in the pool have thawed a new series, the auditors must collect this information themselves and pass it explicitly to make sure transaction generation is deterministic.
dustthreshold
A positive integer representing the minimum valid input size for the input selection algorithm, in the fundamental accounting unit for the currency (for Bitcoin, one satoshi)
changestart
An address identifier identifying the first change address to be used
outputs
An output list containing the outputs to be created during the current consensus round.

Return Values

Data

status
A withdrawal status list containing accounting information and transaction IDs corresponging to each output in the the output list
signatures
A signature list for the inputs in the created transactions to be shared with other members of the voting pool.

Errors

unknown version
The wallet does not support the supplied version number.
invalid roundID
the supplied roundID is not a positive integer
duplicate roundID
the supplied roundID has already been passed to a previous startwithdrawal call with a different set of arguments
inputstart invalid pool
The given pool is not defined in the wallet.
inputstart invalid series
The given series is not defined in the wallet.
inputstart invalid branch
The given branch is not defined in the wallet.
inputstart invalid index
The index supplied is not a positive integer between 0 an 231.
inputstart frozen series
The series indicated is not hot
inputstop invalid pool
The given pool is not defined in the wallet.
inputstop invalid series
The given series is not defined in the wallet.
invalid dustthreshold
The dusthreshold is not a positive integer between 0 and 2100000000000000
changestart invalid pool
The given pool is not defined in the wallet.
changestart invalid series
The given series is not defined in the wallet.
changestart invalid branch
The given branch is not defined in the wallet.
changestart invalid index
The index supplied is not a positive integer between 0 an 231.
changestart series not active
The charter output for the pool is not located at the 0th change address for the given series, or the next series.