mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-06-10 01:58:45 +00:00
feat(common): Add PaymentRequest field to Ripple signing.
This commit is contained in:
parent
f2228a2cd2
commit
b0daee3a0f
@ -5,6 +5,8 @@ package hw.trezor.messages.ripple;
|
|||||||
option java_package = "com.satoshilabs.trezor.lib.protobuf";
|
option java_package = "com.satoshilabs.trezor.lib.protobuf";
|
||||||
option java_outer_classname = "TrezorMessageRipple";
|
option java_outer_classname = "TrezorMessageRipple";
|
||||||
|
|
||||||
|
import "messages-common.proto";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Request: Address at the specified index
|
* Request: Address at the specified index
|
||||||
* @start
|
* @start
|
||||||
@ -38,6 +40,7 @@ message RippleSignTx {
|
|||||||
optional uint32 last_ledger_sequence = 5; // see https://developers.ripple.com/reliable-transaction-submission.html#lastledgersequence
|
optional uint32 last_ledger_sequence = 5; // see https://developers.ripple.com/reliable-transaction-submission.html#lastledgersequence
|
||||||
required RipplePayment payment = 6; // Payment transaction type
|
required RipplePayment payment = 6; // Payment transaction type
|
||||||
optional bool chunkify = 7; // display the address in chunks of 4 characters
|
optional bool chunkify = 7; // display the address in chunks of 4 characters
|
||||||
|
optional common.PaymentRequest payment_req = 8; // SLIP-24 payment reques
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Payment transaction type
|
* Payment transaction type
|
||||||
|
2
core/src/trezor/messages.py
generated
2
core/src/trezor/messages.py
generated
@ -5388,6 +5388,7 @@ if TYPE_CHECKING:
|
|||||||
last_ledger_sequence: "int | None"
|
last_ledger_sequence: "int | None"
|
||||||
payment: "RipplePayment"
|
payment: "RipplePayment"
|
||||||
chunkify: "bool | None"
|
chunkify: "bool | None"
|
||||||
|
payment_req: "PaymentRequest | None"
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@ -5399,6 +5400,7 @@ if TYPE_CHECKING:
|
|||||||
flags: "int | None" = None,
|
flags: "int | None" = None,
|
||||||
last_ledger_sequence: "int | None" = None,
|
last_ledger_sequence: "int | None" = None,
|
||||||
chunkify: "bool | None" = None,
|
chunkify: "bool | None" = None,
|
||||||
|
payment_req: "PaymentRequest | None" = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
3
python/src/trezorlib/messages.py
generated
3
python/src/trezorlib/messages.py
generated
@ -6973,6 +6973,7 @@ class RippleSignTx(protobuf.MessageType):
|
|||||||
5: protobuf.Field("last_ledger_sequence", "uint32", repeated=False, required=False, default=None),
|
5: protobuf.Field("last_ledger_sequence", "uint32", repeated=False, required=False, default=None),
|
||||||
6: protobuf.Field("payment", "RipplePayment", repeated=False, required=True),
|
6: protobuf.Field("payment", "RipplePayment", repeated=False, required=True),
|
||||||
7: protobuf.Field("chunkify", "bool", repeated=False, required=False, default=None),
|
7: protobuf.Field("chunkify", "bool", repeated=False, required=False, default=None),
|
||||||
|
8: protobuf.Field("payment_req", "PaymentRequest", repeated=False, required=False, default=None),
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
@ -6985,6 +6986,7 @@ class RippleSignTx(protobuf.MessageType):
|
|||||||
flags: Optional["int"] = 0,
|
flags: Optional["int"] = 0,
|
||||||
last_ledger_sequence: Optional["int"] = None,
|
last_ledger_sequence: Optional["int"] = None,
|
||||||
chunkify: Optional["bool"] = None,
|
chunkify: Optional["bool"] = None,
|
||||||
|
payment_req: Optional["PaymentRequest"] = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
self.address_n: Sequence["int"] = address_n if address_n is not None else []
|
self.address_n: Sequence["int"] = address_n if address_n is not None else []
|
||||||
self.fee = fee
|
self.fee = fee
|
||||||
@ -6993,6 +6995,7 @@ class RippleSignTx(protobuf.MessageType):
|
|||||||
self.flags = flags
|
self.flags = flags
|
||||||
self.last_ledger_sequence = last_ledger_sequence
|
self.last_ledger_sequence = last_ledger_sequence
|
||||||
self.chunkify = chunkify
|
self.chunkify = chunkify
|
||||||
|
self.payment_req = payment_req
|
||||||
|
|
||||||
|
|
||||||
class RippleSignedTx(protobuf.MessageType):
|
class RippleSignedTx(protobuf.MessageType):
|
||||||
|
@ -457,6 +457,8 @@ pub struct RippleSignTx {
|
|||||||
pub payment: ::protobuf::MessageField<ripple_sign_tx::RipplePayment>,
|
pub payment: ::protobuf::MessageField<ripple_sign_tx::RipplePayment>,
|
||||||
// @@protoc_insertion_point(field:hw.trezor.messages.ripple.RippleSignTx.chunkify)
|
// @@protoc_insertion_point(field:hw.trezor.messages.ripple.RippleSignTx.chunkify)
|
||||||
pub chunkify: ::std::option::Option<bool>,
|
pub chunkify: ::std::option::Option<bool>,
|
||||||
|
// @@protoc_insertion_point(field:hw.trezor.messages.ripple.RippleSignTx.payment_req)
|
||||||
|
pub payment_req: ::protobuf::MessageField<super::messages_common::PaymentRequest>,
|
||||||
// special fields
|
// special fields
|
||||||
// @@protoc_insertion_point(special_field:hw.trezor.messages.ripple.RippleSignTx.special_fields)
|
// @@protoc_insertion_point(special_field:hw.trezor.messages.ripple.RippleSignTx.special_fields)
|
||||||
pub special_fields: ::protobuf::SpecialFields,
|
pub special_fields: ::protobuf::SpecialFields,
|
||||||
@ -569,7 +571,7 @@ impl RippleSignTx {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
|
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
|
||||||
let mut fields = ::std::vec::Vec::with_capacity(7);
|
let mut fields = ::std::vec::Vec::with_capacity(8);
|
||||||
let mut oneofs = ::std::vec::Vec::with_capacity(0);
|
let mut oneofs = ::std::vec::Vec::with_capacity(0);
|
||||||
fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
|
fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
|
||||||
"address_n",
|
"address_n",
|
||||||
@ -606,6 +608,11 @@ impl RippleSignTx {
|
|||||||
|m: &RippleSignTx| { &m.chunkify },
|
|m: &RippleSignTx| { &m.chunkify },
|
||||||
|m: &mut RippleSignTx| { &mut m.chunkify },
|
|m: &mut RippleSignTx| { &mut m.chunkify },
|
||||||
));
|
));
|
||||||
|
fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::messages_common::PaymentRequest>(
|
||||||
|
"payment_req",
|
||||||
|
|m: &RippleSignTx| { &m.payment_req },
|
||||||
|
|m: &mut RippleSignTx| { &mut m.payment_req },
|
||||||
|
));
|
||||||
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<RippleSignTx>(
|
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<RippleSignTx>(
|
||||||
"RippleSignTx",
|
"RippleSignTx",
|
||||||
fields,
|
fields,
|
||||||
@ -632,6 +639,11 @@ impl ::protobuf::Message for RippleSignTx {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
for v in &self.payment_req {
|
||||||
|
if !v.is_initialized() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -662,6 +674,9 @@ impl ::protobuf::Message for RippleSignTx {
|
|||||||
56 => {
|
56 => {
|
||||||
self.chunkify = ::std::option::Option::Some(is.read_bool()?);
|
self.chunkify = ::std::option::Option::Some(is.read_bool()?);
|
||||||
},
|
},
|
||||||
|
66 => {
|
||||||
|
::protobuf::rt::read_singular_message_into_field(is, &mut self.payment_req)?;
|
||||||
|
},
|
||||||
tag => {
|
tag => {
|
||||||
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
|
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
|
||||||
},
|
},
|
||||||
@ -696,6 +711,10 @@ impl ::protobuf::Message for RippleSignTx {
|
|||||||
if let Some(v) = self.chunkify {
|
if let Some(v) = self.chunkify {
|
||||||
my_size += 1 + 1;
|
my_size += 1 + 1;
|
||||||
}
|
}
|
||||||
|
if let Some(v) = self.payment_req.as_ref() {
|
||||||
|
let len = v.compute_size();
|
||||||
|
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
|
||||||
|
}
|
||||||
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
|
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
|
||||||
self.special_fields.cached_size().set(my_size as u32);
|
self.special_fields.cached_size().set(my_size as u32);
|
||||||
my_size
|
my_size
|
||||||
@ -723,6 +742,9 @@ impl ::protobuf::Message for RippleSignTx {
|
|||||||
if let Some(v) = self.chunkify {
|
if let Some(v) = self.chunkify {
|
||||||
os.write_bool(7, v)?;
|
os.write_bool(7, v)?;
|
||||||
}
|
}
|
||||||
|
if let Some(v) = self.payment_req.as_ref() {
|
||||||
|
::protobuf::rt::write_message_field_with_cached_size(8, v, os)?;
|
||||||
|
}
|
||||||
os.write_unknown_fields(self.special_fields.unknown_fields())?;
|
os.write_unknown_fields(self.special_fields.unknown_fields())?;
|
||||||
::std::result::Result::Ok(())
|
::std::result::Result::Ok(())
|
||||||
}
|
}
|
||||||
@ -747,6 +769,7 @@ impl ::protobuf::Message for RippleSignTx {
|
|||||||
self.last_ledger_sequence = ::std::option::Option::None;
|
self.last_ledger_sequence = ::std::option::Option::None;
|
||||||
self.payment.clear();
|
self.payment.clear();
|
||||||
self.chunkify = ::std::option::Option::None;
|
self.chunkify = ::std::option::Option::None;
|
||||||
|
self.payment_req.clear();
|
||||||
self.special_fields.clear();
|
self.special_fields.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -759,6 +782,7 @@ impl ::protobuf::Message for RippleSignTx {
|
|||||||
last_ledger_sequence: ::std::option::Option::None,
|
last_ledger_sequence: ::std::option::Option::None,
|
||||||
payment: ::protobuf::MessageField::none(),
|
payment: ::protobuf::MessageField::none(),
|
||||||
chunkify: ::std::option::Option::None,
|
chunkify: ::std::option::Option::None,
|
||||||
|
payment_req: ::protobuf::MessageField::none(),
|
||||||
special_fields: ::protobuf::SpecialFields::new(),
|
special_fields: ::protobuf::SpecialFields::new(),
|
||||||
};
|
};
|
||||||
&instance
|
&instance
|
||||||
@ -1242,24 +1266,26 @@ impl ::protobuf::reflect::ProtobufValue for RippleSignedTx {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static file_descriptor_proto_data: &'static [u8] = b"\
|
static file_descriptor_proto_data: &'static [u8] = b"\
|
||||||
\n\x15messages-ripple.proto\x12\x19hw.trezor.messages.ripple\"n\n\x10Rip\
|
\n\x15messages-ripple.proto\x12\x19hw.trezor.messages.ripple\x1a\x15mess\
|
||||||
pleGetAddress\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12!\
|
ages-common.proto\"n\n\x10RippleGetAddress\x12\x1b\n\taddress_n\x18\x01\
|
||||||
\n\x0cshow_display\x18\x02\x20\x01(\x08R\x0bshowDisplay\x12\x1a\n\x08chu\
|
\x20\x03(\rR\x08addressN\x12!\n\x0cshow_display\x18\x02\x20\x01(\x08R\
|
||||||
nkify\x18\x03\x20\x01(\x08R\x08chunkify\";\n\rRippleAddress\x12\x18\n\
|
\x0bshowDisplay\x12\x1a\n\x08chunkify\x18\x03\x20\x01(\x08R\x08chunkify\
|
||||||
\x07address\x18\x01\x20\x02(\tR\x07address\x12\x10\n\x03mac\x18\x02\x20\
|
\";\n\rRippleAddress\x12\x18\n\x07address\x18\x01\x20\x02(\tR\x07address\
|
||||||
\x01(\x0cR\x03mac\"\x85\x03\n\x0cRippleSignTx\x12\x1b\n\taddress_n\x18\
|
\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"\xd1\x03\n\x0cRippleSign\
|
||||||
\x01\x20\x03(\rR\x08addressN\x12\x10\n\x03fee\x18\x02\x20\x02(\x04R\x03f\
|
Tx\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12\x10\n\x03fee\
|
||||||
ee\x12\x17\n\x05flags\x18\x03\x20\x01(\r:\x010R\x05flags\x12\x1a\n\x08se\
|
\x18\x02\x20\x02(\x04R\x03fee\x12\x17\n\x05flags\x18\x03\x20\x01(\r:\x01\
|
||||||
quence\x18\x04\x20\x02(\rR\x08sequence\x120\n\x14last_ledger_sequence\
|
0R\x05flags\x12\x1a\n\x08sequence\x18\x04\x20\x02(\rR\x08sequence\x120\n\
|
||||||
\x18\x05\x20\x01(\rR\x12lastLedgerSequence\x12O\n\x07payment\x18\x06\x20\
|
\x14last_ledger_sequence\x18\x05\x20\x01(\rR\x12lastLedgerSequence\x12O\
|
||||||
\x02(\x0b25.hw.trezor.messages.ripple.RippleSignTx.RipplePaymentR\x07pay\
|
\n\x07payment\x18\x06\x20\x02(\x0b25.hw.trezor.messages.ripple.RippleSig\
|
||||||
ment\x12\x1a\n\x08chunkify\x18\x07\x20\x01(\x08R\x08chunkify\x1ar\n\rRip\
|
nTx.RipplePaymentR\x07payment\x12\x1a\n\x08chunkify\x18\x07\x20\x01(\x08\
|
||||||
plePayment\x12\x16\n\x06amount\x18\x01\x20\x02(\x04R\x06amount\x12\x20\n\
|
R\x08chunkify\x12J\n\x0bpayment_req\x18\x08\x20\x01(\x0b2).hw.trezor.mes\
|
||||||
\x0bdestination\x18\x02\x20\x02(\tR\x0bdestination\x12'\n\x0fdestination\
|
sages.common.PaymentRequestR\npaymentReq\x1ar\n\rRipplePayment\x12\x16\n\
|
||||||
_tag\x18\x03\x20\x01(\rR\x0edestinationTag\"S\n\x0eRippleSignedTx\x12\
|
\x06amount\x18\x01\x20\x02(\x04R\x06amount\x12\x20\n\x0bdestination\x18\
|
||||||
\x1c\n\tsignature\x18\x01\x20\x02(\x0cR\tsignature\x12#\n\rserialized_tx\
|
\x02\x20\x02(\tR\x0bdestination\x12'\n\x0fdestination_tag\x18\x03\x20\
|
||||||
\x18\x02\x20\x02(\x0cR\x0cserializedTxB:\n#com.satoshilabs.trezor.lib.pr\
|
\x01(\rR\x0edestinationTag\"S\n\x0eRippleSignedTx\x12\x1c\n\tsignature\
|
||||||
otobufB\x13TrezorMessageRipple\
|
\x18\x01\x20\x02(\x0cR\tsignature\x12#\n\rserialized_tx\x18\x02\x20\x02(\
|
||||||
|
\x0cR\x0cserializedTxB:\n#com.satoshilabs.trezor.lib.protobufB\x13Trezor\
|
||||||
|
MessageRipple\
|
||||||
";
|
";
|
||||||
|
|
||||||
/// `FileDescriptorProto` object which was a source for this generated file
|
/// `FileDescriptorProto` object which was a source for this generated file
|
||||||
@ -1276,7 +1302,8 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
|
|||||||
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
|
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
|
||||||
file_descriptor.get(|| {
|
file_descriptor.get(|| {
|
||||||
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
|
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
|
||||||
let mut deps = ::std::vec::Vec::with_capacity(0);
|
let mut deps = ::std::vec::Vec::with_capacity(1);
|
||||||
|
deps.push(super::messages_common::file_descriptor().clone());
|
||||||
let mut messages = ::std::vec::Vec::with_capacity(5);
|
let mut messages = ::std::vec::Vec::with_capacity(5);
|
||||||
messages.push(RippleGetAddress::generated_message_descriptor_data());
|
messages.push(RippleGetAddress::generated_message_descriptor_data());
|
||||||
messages.push(RippleAddress::generated_message_descriptor_data());
|
messages.push(RippleAddress::generated_message_descriptor_data());
|
||||||
|
Loading…
Reference in New Issue
Block a user