Signature status

From Open Transactions
Revision as of 17:14, 30 June 2015 by Justusranvier (talk | contribs) (Initial page creation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The startwithdrawal API call returns a list of signatures which can be shared with other members of the voting pool to create an valid withdrawal transaction.

The list is formatted as a JSON object.

Schema

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Withdrawal signature list",
    "description": "Signatures for a list of unfinished transactions which are shared among voting pool members to finalize a transaction",
    "type": "object",
    "properties": {
        "roundID": {
            "type": "number",
            "description": "A positive integer representing the consensus round for which the withdrawal is associated",
            "minimum": 0,
            "exclusiveMinimum": false
        },
        "transactions": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "ntxid": {
                        "type": "string",
                        "description": "Hex-encoded normalized transaction id associated with the withdrawal"
                    },
                    "inputs": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "required": {
                                    "type": "integer",
                                    "description": "Number of signatures required to fully sign the input",
                                    "minimum": 0,
                                    "maximum": 20,
                                    "exclusiveMinimum": false
                                },
                                "signatures": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "Hex-encoded ECDSA signature"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}


Example

  • Input 0 is a 2-of-3 multisig script and none of the required signatures have been supplied
  • Input 1 is a 2-of-3 multisig script and all of the required signatures have been supplied
{
    "roundID": 42,
    "transactions": [
        {
            "ntxid": "0000000000000000000000000000000000000000000000000000000000000000",
            "inputs": [
                {
                    "required": 2,
                    "signatures": [ "", "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "" ]
                },
                {
                    "required": 2,
                    "signatures": [ "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", "", "" ]
                }
            ]
        },
        {
            "ntxid": "1111111111111111111111111111111111111111111111111111111111111111",
            "inputs": [
                {
                    "required": 2,
                    "signatures": [ "", "", "iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii" ]
                }
            ]
        }
    ]
}