mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-22 06:18:07 +00:00
fix(core/ethereum): use built-in ethereum_pubkeyhash() in get_address
This commit is contained in:
parent
faa807f995
commit
eacaffd079
@ -1,5 +1,3 @@
|
||||
from trezor.crypto.curve import secp256k1
|
||||
from trezor.crypto.hashlib import sha3_256
|
||||
from trezor.messages import EthereumAddress
|
||||
from trezor.ui.layouts import show_address
|
||||
|
||||
@ -23,15 +21,12 @@ async def get_address(
|
||||
await paths.validate_path(ctx, keychain, msg.address_n)
|
||||
|
||||
node = keychain.derive(msg.address_n)
|
||||
seckey = node.private_key()
|
||||
public_key = secp256k1.publickey(seckey, False) # uncompressed
|
||||
address_bytes = sha3_256(public_key[1:], keccak=True).digest()[12:]
|
||||
|
||||
if len(msg.address_n) > 1: # path has slip44 network identifier
|
||||
network = networks.by_slip44(msg.address_n[1] & 0x7FFF_FFFF)
|
||||
else:
|
||||
network = None
|
||||
address = address_from_bytes(address_bytes, network)
|
||||
address = address_from_bytes(node.ethereum_pubkeyhash(), network)
|
||||
|
||||
if msg.show_display:
|
||||
title = paths.address_n_to_str(msg.address_n)
|
||||
|
Loading…
Reference in New Issue
Block a user