src: move HashWriter to trezor.utils

pull/25/head
Jan Pochyla 6 years ago
parent d4038cc03a
commit a4081bab72

@ -1,16 +0,0 @@
class HashWriter:
def __init__(self, hashfunc):
self.ctx = hashfunc()
self.buf = bytearray(1) # used in append()
def extend(self, buf: bytearray):
self.ctx.update(buf)
def append(self, b: int):
self.buf[0] = b
self.ctx.update(self.buf)
def get_digest(self, *args) -> bytes:
return self.ctx.digest(*args)

@ -2,8 +2,7 @@ from ubinascii import hexlify
from trezor.crypto.hashlib import sha256
from trezor import ui
from trezor.ui.text import TEXT_MARGIN_LEFT
from trezor.utils import chunks, split_words
from apps.common.hash_writer import HashWriter
from trezor.utils import chunks, split_words, HashWriter
from apps.wallet.sign_tx.signing import write_varint

@ -2,7 +2,7 @@
def message_digest(message):
from apps.wallet.sign_tx.signing import write_varint
from trezor.crypto.hashlib import sha3_256
from apps.common.hash_writer import HashWriter
from trezor.utils import HashWriter
h = HashWriter(sha3_256)
signed_message_header = 'Ethereum Signed Message:\n'

@ -1,7 +1,7 @@
from trezor.messages.EthereumSignTx import EthereumSignTx
from trezor.messages.EthereumTxRequest import EthereumTxRequest
from trezor.messages import FailureType
from apps.common.hash_writer import HashWriter
from trezor.utils import HashWriter
from trezor.crypto import rlp
from apps.ethereum import tokens, layout

@ -1,12 +1,12 @@
from trezor.crypto.hashlib import sha256
from trezor.crypto import bip32
from trezor.utils import HashWriter
from trezor.messages.MultisigRedeemScriptType import MultisigRedeemScriptType
from trezor.messages.HDNodePathType import HDNodePathType
from trezor.messages import FailureType
from apps.wallet.sign_tx.writers import *
from apps.common.hash_writer import *
class MultisigError(ValueError):

@ -1,11 +1,11 @@
from trezor.crypto.hashlib import sha256
from trezor.messages.SignTx import SignTx
from trezor.messages import InputScriptType, FailureType
from trezor.utils import HashWriter
from apps.wallet.sign_tx.writers import *
from apps.wallet.sign_tx.scripts import output_script_p2pkh, output_script_multisig
from apps.wallet.sign_tx.multisig import multisig_get_pubkeys
from apps.common.hash_writer import HashWriter
class Bip143Error(ValueError):

@ -3,13 +3,13 @@ from micropython import const
from trezor.crypto import base58, bip32, der
from trezor.crypto.curve import secp256k1
from trezor.crypto.hashlib import sha256
from trezor.utils import HashWriter
from trezor.messages import OutputScriptType
from trezor.messages.TxRequestDetailsType import TxRequestDetailsType
from trezor.messages.TxRequestSerializedType import TxRequestSerializedType
from apps.common import address_type, coins
from apps.common.hash_writer import HashWriter
from apps.wallet.sign_tx.addresses import *
from apps.wallet.sign_tx.helpers import *
from apps.wallet.sign_tx.scripts import *

@ -59,3 +59,20 @@ def format_amount(amount, decimals):
def format_ordinal(number):
return str(number) + {1: 'st', 2: 'nd', 3: 'rd'}.get(4 if 10 <= number % 100 < 20 else number % 10, 'th')
class HashWriter:
def __init__(self, hashfunc):
self.ctx = hashfunc()
self.buf = bytearray(1) # used in append()
def extend(self, buf: bytearray):
self.ctx.update(buf)
def append(self, b: int):
self.buf[0] = b
self.ctx.update(self.buf)
def get_digest(self, *args) -> bytes:
return self.ctx.digest(*args)

Loading…
Cancel
Save