1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-04-25 11:39:02 +00:00
trezor-firmware/src/apps/lisk/verify_message.py
2018-05-23 11:47:07 +02:00

20 lines
682 B
Python

async def lisk_verify_message(ctx, msg):
from trezor.crypto.curve import ed25519
from .helpers import get_address_from_public_key
from trezor import wire
from trezor.messages.Success import Success
from trezor.messages.FailureType import ProcessError
from apps.wallet.verify_message import require_confirm_verify_message
verify = ed25519.verify(msg.public_key, msg.signature, msg.message)
if not verify:
raise wire.FailureError(ProcessError, 'Invalid signature')
address = get_address_from_public_key(msg.public_key)
await require_confirm_verify_message(ctx, address, msg.message)
return Success(message='Message verified')