mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-02-16 01:22:02 +00:00
common/xmr: message changes optimizing runtime and memory (#786)
This commit is contained in:
parent
289d8276eb
commit
af6a607b39
@ -19,6 +19,7 @@ message MoneroTransactionSourceEntry {
|
||||
optional bool rct = 7; // is RingCT used (true for newer UTXOs)
|
||||
optional bytes mask = 8;
|
||||
optional MoneroMultisigKLRki multisig_kLRki = 9;
|
||||
optional uint32 subaddr_minor = 10; // minor subaddr index UTXO was sent to
|
||||
message MoneroOutputEntry {
|
||||
optional uint64 idx = 1;
|
||||
optional MoneroRctKeyPublic key = 2;
|
||||
@ -200,6 +201,7 @@ message MoneroTransactionInputViniRequest {
|
||||
optional bytes vini_hmac = 3;
|
||||
optional bytes pseudo_out = 4;
|
||||
optional bytes pseudo_out_hmac = 5;
|
||||
optional uint32 orig_idx = 6; // original sort index, before sorting by key-images
|
||||
}
|
||||
|
||||
/**
|
||||
@ -289,6 +291,7 @@ message MoneroTransactionSignInputRequest {
|
||||
optional bytes pseudo_out_hmac = 5;
|
||||
optional bytes pseudo_out_alpha = 6;
|
||||
optional bytes spend_key = 7;
|
||||
optional uint32 orig_idx = 8; // original sort index, before sorting by key-images
|
||||
}
|
||||
|
||||
/**
|
||||
@ -317,6 +320,7 @@ message MoneroTransactionFinalAck {
|
||||
optional bytes salt = 2;
|
||||
optional bytes rand_mult = 3;
|
||||
optional bytes tx_enc_keys = 4;
|
||||
optional bytes opening_key = 5; // enc master key to decrypt MLSAGs after protocol finishes correctly
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,11 +19,13 @@ class MoneroTransactionFinalAck(p.MessageType):
|
||||
salt: bytes = None,
|
||||
rand_mult: bytes = None,
|
||||
tx_enc_keys: bytes = None,
|
||||
opening_key: bytes = None,
|
||||
) -> None:
|
||||
self.cout_key = cout_key
|
||||
self.salt = salt
|
||||
self.rand_mult = rand_mult
|
||||
self.tx_enc_keys = tx_enc_keys
|
||||
self.opening_key = opening_key
|
||||
|
||||
@classmethod
|
||||
def get_fields(cls) -> Dict:
|
||||
@ -32,4 +34,5 @@ class MoneroTransactionFinalAck(p.MessageType):
|
||||
2: ('salt', p.BytesType, 0),
|
||||
3: ('rand_mult', p.BytesType, 0),
|
||||
4: ('tx_enc_keys', p.BytesType, 0),
|
||||
5: ('opening_key', p.BytesType, 0),
|
||||
}
|
||||
|
@ -22,12 +22,14 @@ class MoneroTransactionInputViniRequest(p.MessageType):
|
||||
vini_hmac: bytes = None,
|
||||
pseudo_out: bytes = None,
|
||||
pseudo_out_hmac: bytes = None,
|
||||
orig_idx: int = None,
|
||||
) -> None:
|
||||
self.src_entr = src_entr
|
||||
self.vini = vini
|
||||
self.vini_hmac = vini_hmac
|
||||
self.pseudo_out = pseudo_out
|
||||
self.pseudo_out_hmac = pseudo_out_hmac
|
||||
self.orig_idx = orig_idx
|
||||
|
||||
@classmethod
|
||||
def get_fields(cls) -> Dict:
|
||||
@ -37,4 +39,5 @@ class MoneroTransactionInputViniRequest(p.MessageType):
|
||||
3: ('vini_hmac', p.BytesType, 0),
|
||||
4: ('pseudo_out', p.BytesType, 0),
|
||||
5: ('pseudo_out_hmac', p.BytesType, 0),
|
||||
6: ('orig_idx', p.UVarintType, 0),
|
||||
}
|
||||
|
@ -24,6 +24,7 @@ class MoneroTransactionSignInputRequest(p.MessageType):
|
||||
pseudo_out_hmac: bytes = None,
|
||||
pseudo_out_alpha: bytes = None,
|
||||
spend_key: bytes = None,
|
||||
orig_idx: int = None,
|
||||
) -> None:
|
||||
self.src_entr = src_entr
|
||||
self.vini = vini
|
||||
@ -32,6 +33,7 @@ class MoneroTransactionSignInputRequest(p.MessageType):
|
||||
self.pseudo_out_hmac = pseudo_out_hmac
|
||||
self.pseudo_out_alpha = pseudo_out_alpha
|
||||
self.spend_key = spend_key
|
||||
self.orig_idx = orig_idx
|
||||
|
||||
@classmethod
|
||||
def get_fields(cls) -> Dict:
|
||||
@ -43,4 +45,5 @@ class MoneroTransactionSignInputRequest(p.MessageType):
|
||||
5: ('pseudo_out_hmac', p.BytesType, 0),
|
||||
6: ('pseudo_out_alpha', p.BytesType, 0),
|
||||
7: ('spend_key', p.BytesType, 0),
|
||||
8: ('orig_idx', p.UVarintType, 0),
|
||||
}
|
||||
|
@ -26,6 +26,7 @@ class MoneroTransactionSourceEntry(p.MessageType):
|
||||
rct: bool = None,
|
||||
mask: bytes = None,
|
||||
multisig_kLRki: MoneroMultisigKLRki = None,
|
||||
subaddr_minor: int = None,
|
||||
) -> None:
|
||||
self.outputs = outputs if outputs is not None else []
|
||||
self.real_output = real_output
|
||||
@ -36,6 +37,7 @@ class MoneroTransactionSourceEntry(p.MessageType):
|
||||
self.rct = rct
|
||||
self.mask = mask
|
||||
self.multisig_kLRki = multisig_kLRki
|
||||
self.subaddr_minor = subaddr_minor
|
||||
|
||||
@classmethod
|
||||
def get_fields(cls) -> Dict:
|
||||
@ -49,4 +51,5 @@ class MoneroTransactionSourceEntry(p.MessageType):
|
||||
7: ('rct', p.BoolType, 0),
|
||||
8: ('mask', p.BytesType, 0),
|
||||
9: ('multisig_kLRki', MoneroMultisigKLRki, 0),
|
||||
10: ('subaddr_minor', p.UVarintType, 0),
|
||||
}
|
||||
|
@ -19,11 +19,13 @@ class MoneroTransactionFinalAck(p.MessageType):
|
||||
salt: bytes = None,
|
||||
rand_mult: bytes = None,
|
||||
tx_enc_keys: bytes = None,
|
||||
opening_key: bytes = None,
|
||||
) -> None:
|
||||
self.cout_key = cout_key
|
||||
self.salt = salt
|
||||
self.rand_mult = rand_mult
|
||||
self.tx_enc_keys = tx_enc_keys
|
||||
self.opening_key = opening_key
|
||||
|
||||
@classmethod
|
||||
def get_fields(cls) -> Dict:
|
||||
@ -32,4 +34,5 @@ class MoneroTransactionFinalAck(p.MessageType):
|
||||
2: ('salt', p.BytesType, 0),
|
||||
3: ('rand_mult', p.BytesType, 0),
|
||||
4: ('tx_enc_keys', p.BytesType, 0),
|
||||
5: ('opening_key', p.BytesType, 0),
|
||||
}
|
||||
|
@ -22,12 +22,14 @@ class MoneroTransactionInputViniRequest(p.MessageType):
|
||||
vini_hmac: bytes = None,
|
||||
pseudo_out: bytes = None,
|
||||
pseudo_out_hmac: bytes = None,
|
||||
orig_idx: int = None,
|
||||
) -> None:
|
||||
self.src_entr = src_entr
|
||||
self.vini = vini
|
||||
self.vini_hmac = vini_hmac
|
||||
self.pseudo_out = pseudo_out
|
||||
self.pseudo_out_hmac = pseudo_out_hmac
|
||||
self.orig_idx = orig_idx
|
||||
|
||||
@classmethod
|
||||
def get_fields(cls) -> Dict:
|
||||
@ -37,4 +39,5 @@ class MoneroTransactionInputViniRequest(p.MessageType):
|
||||
3: ('vini_hmac', p.BytesType, 0),
|
||||
4: ('pseudo_out', p.BytesType, 0),
|
||||
5: ('pseudo_out_hmac', p.BytesType, 0),
|
||||
6: ('orig_idx', p.UVarintType, 0),
|
||||
}
|
||||
|
@ -24,6 +24,7 @@ class MoneroTransactionSignInputRequest(p.MessageType):
|
||||
pseudo_out_hmac: bytes = None,
|
||||
pseudo_out_alpha: bytes = None,
|
||||
spend_key: bytes = None,
|
||||
orig_idx: int = None,
|
||||
) -> None:
|
||||
self.src_entr = src_entr
|
||||
self.vini = vini
|
||||
@ -32,6 +33,7 @@ class MoneroTransactionSignInputRequest(p.MessageType):
|
||||
self.pseudo_out_hmac = pseudo_out_hmac
|
||||
self.pseudo_out_alpha = pseudo_out_alpha
|
||||
self.spend_key = spend_key
|
||||
self.orig_idx = orig_idx
|
||||
|
||||
@classmethod
|
||||
def get_fields(cls) -> Dict:
|
||||
@ -43,4 +45,5 @@ class MoneroTransactionSignInputRequest(p.MessageType):
|
||||
5: ('pseudo_out_hmac', p.BytesType, 0),
|
||||
6: ('pseudo_out_alpha', p.BytesType, 0),
|
||||
7: ('spend_key', p.BytesType, 0),
|
||||
8: ('orig_idx', p.UVarintType, 0),
|
||||
}
|
||||
|
@ -26,6 +26,7 @@ class MoneroTransactionSourceEntry(p.MessageType):
|
||||
rct: bool = None,
|
||||
mask: bytes = None,
|
||||
multisig_kLRki: MoneroMultisigKLRki = None,
|
||||
subaddr_minor: int = None,
|
||||
) -> None:
|
||||
self.outputs = outputs if outputs is not None else []
|
||||
self.real_output = real_output
|
||||
@ -36,6 +37,7 @@ class MoneroTransactionSourceEntry(p.MessageType):
|
||||
self.rct = rct
|
||||
self.mask = mask
|
||||
self.multisig_kLRki = multisig_kLRki
|
||||
self.subaddr_minor = subaddr_minor
|
||||
|
||||
@classmethod
|
||||
def get_fields(cls) -> Dict:
|
||||
@ -49,4 +51,5 @@ class MoneroTransactionSourceEntry(p.MessageType):
|
||||
7: ('rct', p.BoolType, 0),
|
||||
8: ('mask', p.BytesType, 0),
|
||||
9: ('multisig_kLRki', MoneroMultisigKLRki, 0),
|
||||
10: ('subaddr_minor', p.UVarintType, 0),
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user