Version 0.1 of proto file

This commit is contained in:
slush 2013-09-09 17:29:05 +02:00
parent e41387c6e4
commit 0176c60d2a

View File

@ -1,7 +1,9 @@
/*
This file describes Protocol buffers messages for bitcoin hardware wallet devices.
Author: slush <info@bitcoin.cz>
Author: Marek "slush" Palatinus <info@bitcoin.cz>
Version: 0.1
*/
// Specifies which script will be used for given transaction output.
@ -16,7 +18,7 @@ enum RequestType {
TXOUTPUT = 1;
}
// Reset device's internal state
// Ask for device details
//
// Response: Features
message Initialize {
@ -24,10 +26,10 @@ message Initialize {
// Response object for Initialize.
message Features {
optional string vendor = 2; // Name of the manufacturer, e.g. "trezor"
optional uint32 major_version = 3; // Major version of the device, e.g. 1
optional uint32 minor_version = 4; // Minor version of the device, e.g. 0
optional uint64 maxfee_kb = 10; // Maximum accepted fee per kilobyte of signed transaction
optional bytes vendor = 1; // Name of the manufacturer, e.g. "trezor"
optional uint32 major_version = 2; // Major version of the device, e.g. 1
optional uint32 minor_version = 3; // Minor version of the device, e.g. 0
optional uint64 maxfee_kb = 4; // Maximum accepted fee per kilobyte of signed transaction
}
// Test if device is live, device will send back the message on success
@ -165,14 +167,14 @@ message GetAddress {
}
message Address {
required string address = 1; // Bitcoin address in base58 encoding corresponding to GetAddress(n) call
required bytes address = 1; // Bitcoin address in base58 encoding corresponding to GetAddress(n) call
}
// Load seed and related internal settings from computer to the device. Existing seed is overwritten.
//
// Response: Success, PinMatrixRequest, Failure
message LoadDevice {
required string seed = 1; // Seed encoded as a mnemonic (12 english words)
required bytes seed = 1; // Seed encoded as a mnemonic (12 english words)
optional bytes pin = 2; // Set PIN protection for important actions
}
@ -220,7 +222,7 @@ message TxInput {
// Transaction output for SignTx workflow. It is response to TxRequest message sent by the device.
message TxOutput {
required uint32 index = 1; // Position of output in proposed transaction
required string address = 2; // Target bitcoin address in base58 encoding
required bytes address = 2; // Target bitcoin address in base58 encoding
repeated uint32 address_n = 3; // Has higher priority than "address". If the output is to myself, specify parameter for address generation algorithm.
required uint64 amount = 4; // Amount to send in satoshis
required ScriptType script_type = 5;// Select output script type