-
Notifications
You must be signed in to change notification settings - Fork 29
/
messages-ripple.proto
58 lines (52 loc) · 1.82 KB
/
messages-ripple.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
syntax = "proto2";
// Sugar for easier handling in Java
option java_package = "com.shapeshift.keepkey.lib.protobuf";
option java_outer_classname = "KeepKeyMessageRipple";
/**
* 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 {
optional 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'
optional uint64 fee = 2; // fee (in drops) for the transaction
optional uint32 flags = 3; // transaction flags
optional uint32 sequence = 4; // transaction sequence number
optional uint32 last_ledger_sequence = 5; // see https://developers.ripple.com/reliable-transaction-submission.html#lastledgersequence
optional 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 {
optional uint64 amount = 1; // only XRP is supported at the moment so this an integer
optional string destination = 2; // destination account address
optional uint32 destination_tag = 3; // destination tag to identify payments
}
/**
* Response: signature for transaction
* @end
*/
message RippleSignedTx {
optional bytes signature = 1;
optional bytes serialized_tx = 2;
}