mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-07-12 09:38:08 +00:00

- CLSAG signature scheme added - type hints added xmr: optimize protocol, send only required data - real_out_additional_tx_keys contains only one element as nothing more is needed during signature - only src_entr.outputs[index] is HMACed and always present. Other outputs are present only if needed which reduces comm and CPU overhead. - getting rid of subaddresses dictionary (memory requirements), now subaddr indices are present per source entry so keys are computed when needed xmr: prepare for permutation sending removal, specify index - specify source entry ordering index prior sorting by key images as original HMAC keys are generated based on these. - permutation checked just by valid HMACs, size of the set, key image sort order - sending permutation is now deprecated, will be removed in the following protocol versions - more strict state transition checks, guard strict check with respect to steps ordering
31 lines
443 B
Python
31 lines
443 B
Python
from micropython import const
|
|
|
|
from apps.monero.xmr.serialize.message_types import BlobType
|
|
|
|
_c0 = const(0)
|
|
_c1 = const(1)
|
|
_c32 = const(32)
|
|
|
|
#
|
|
# cryptonote_basic.h
|
|
#
|
|
|
|
|
|
class Hash(BlobType):
|
|
__slots__ = ("data",)
|
|
DATA_ATTR = "data"
|
|
FIX_SIZE = _c1
|
|
SIZE = _c32
|
|
|
|
|
|
class ECKey(BlobType):
|
|
__slots__ = ("bytes",)
|
|
DATA_ATTR = "bytes"
|
|
FIX_SIZE = _c1
|
|
SIZE = _c32
|
|
|
|
|
|
ECPoint = Hash
|
|
ECPublicKey = ECPoint
|
|
KeyImage = ECPoint
|