You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trezor-firmware/src/apps/monero/xmr/keccak_hasher.py

28 lines
647 B

from trezor.utils import HashWriter
from apps.monero.xmr import crypto
from apps.monero.xmr.serialize import int_serialize
class KeccakXmrArchive:
def __init__(self, ctx=None):
self.kwriter = get_keccak_writer(ctx)
def get_digest(self):
return self.kwriter.get_digest()
def buffer(self, buf):
return self.kwriter.write(buf)
def uvarint(self, i):
int_serialize.dump_uvarint(self.kwriter, i)
def uint(self, i, width):
int_serialize.dump_uint(self.kwriter, i, width)
def get_keccak_writer(ctx=None):
if ctx is None:
ctx = crypto.get_keccak()
return HashWriter(ctx)