mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-01-18 03:10:58 +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.messages import EthereumAddress
|
||||||
from trezor.ui.layouts import show_address
|
from trezor.ui.layouts import show_address
|
||||||
|
|
||||||
@ -23,15 +21,12 @@ async def get_address(
|
|||||||
await paths.validate_path(ctx, keychain, msg.address_n)
|
await paths.validate_path(ctx, keychain, msg.address_n)
|
||||||
|
|
||||||
node = keychain.derive(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
|
if len(msg.address_n) > 1: # path has slip44 network identifier
|
||||||
network = networks.by_slip44(msg.address_n[1] & 0x7FFF_FFFF)
|
network = networks.by_slip44(msg.address_n[1] & 0x7FFF_FFFF)
|
||||||
else:
|
else:
|
||||||
network = None
|
network = None
|
||||||
address = address_from_bytes(address_bytes, network)
|
address = address_from_bytes(node.ethereum_pubkeyhash(), network)
|
||||||
|
|
||||||
if msg.show_display:
|
if msg.show_display:
|
||||||
title = paths.address_n_to_str(msg.address_n)
|
title = paths.address_n_to_str(msg.address_n)
|
||||||
|
Loading…
Reference in New Issue
Block a user