mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-23 16:08:17 +00:00
9fc5bb546b
Changes many fields to required -- as far as we were able to figure out, signing would fail if these fields aren't provided anyway, so this should not pose a compatibility problem. Co-authored-by: matejcik <ja@matejcik.cz>
60 lines
2.0 KiB
Protocol Buffer
60 lines
2.0 KiB
Protocol Buffer
syntax = "proto2";
|
|
package hw.trezor.messages.ripple;
|
|
|
|
// Sugar for easier handling in Java
|
|
option java_package = "com.satoshilabs.trezor.lib.protobuf";
|
|
option java_outer_classname = "TrezorMessageRipple";
|
|
|
|
/**
|
|
* Request: Address at the specified index
|
|
* @start
|
|
* @next RippleAddress
|
|
*/
|
|
message RippleGetAddress {
|
|
repeated uint32 address_n = 1; // BIP-32 path. For compatibility with other wallets, must be m/44'/144'/index'
|
|
optional bool show_display = 2; // optionally show on display before sending the result
|
|
}
|
|
|
|
/**
|
|
* Response: Address for the given index
|
|
* @end
|
|
*/
|
|
message RippleAddress {
|
|
required string address = 1; // Address in Ripple format (base58 of a pubkey with checksum)
|
|
}
|
|
|
|
/**
|
|
* Request: ask device to sign Ripple transaction
|
|
* @start
|
|
* @next RippleSignedTx
|
|
*/
|
|
message RippleSignTx {
|
|
repeated uint32 address_n = 1; // BIP-32 path. For compatibility with other wallets, must be m/44'/144'/index'
|
|
required uint64 fee = 2; // fee (in drops) for the transaction
|
|
optional uint32 flags = 3 [default=0]; // transaction flags
|
|
required uint32 sequence = 4; // transaction sequence number
|
|
optional uint32 last_ledger_sequence = 5; // see https://developers.ripple.com/reliable-transaction-submission.html#lastledgersequence
|
|
required RipplePayment payment = 6; // Payment transaction type
|
|
|
|
/**
|
|
* Payment transaction type
|
|
* - simple A sends money to B
|
|
* - only a subset of fields is supported
|
|
* - see https://developers.ripple.com/payment.html
|
|
*/
|
|
message RipplePayment {
|
|
required uint64 amount = 1; // only XRP is supported at the moment so this an integer
|
|
required string destination = 2; // destination account address
|
|
optional uint32 destination_tag = 3; // destination tag to identify payments
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Response: signature for transaction
|
|
* @end
|
|
*/
|
|
message RippleSignedTx {
|
|
required bytes signature = 1;
|
|
required bytes serialized_tx = 2;
|
|
}
|