1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-22 23:48:12 +00:00
trezor-firmware/common/protob/messages-ripple.proto
grdddj 9fc5bb546b style(core): full pyright-based type-checking
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>
2022-01-07 21:41:17 +01:00

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;
}