mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-05-08 18:08:46 +00:00
feat(core): Implement PaymentNotification validation.
This commit is contained in:
parent
a008a06015
commit
0cdcfa5e25
@ -143,6 +143,7 @@ Q(apps.misc.cipher_key_value)
|
|||||||
Q(apps.misc.get_ecdh_session_key)
|
Q(apps.misc.get_ecdh_session_key)
|
||||||
Q(apps.misc.get_entropy)
|
Q(apps.misc.get_entropy)
|
||||||
Q(apps.misc.get_firmware_hash)
|
Q(apps.misc.get_firmware_hash)
|
||||||
|
Q(apps.misc.payment_notification)
|
||||||
Q(apps.misc.sign_identity)
|
Q(apps.misc.sign_identity)
|
||||||
Q(apps.nostr)
|
Q(apps.nostr)
|
||||||
Q(apps.nostr.get_pubkey)
|
Q(apps.nostr.get_pubkey)
|
||||||
@ -227,6 +228,7 @@ Q(omni)
|
|||||||
Q(ownership)
|
Q(ownership)
|
||||||
Q(passphrase)
|
Q(passphrase)
|
||||||
Q(paths)
|
Q(paths)
|
||||||
|
Q(payment_notification)
|
||||||
Q(payment_request)
|
Q(payment_request)
|
||||||
Q(pin)
|
Q(pin)
|
||||||
Q(progress)
|
Q(progress)
|
||||||
|
25
core/src/apps/misc/payment_notification.py
Normal file
25
core/src/apps/misc/payment_notification.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from trezor.messages import PaymentNotification, Success
|
||||||
|
|
||||||
|
from apps.common.keychain import Keychain
|
||||||
|
|
||||||
|
from apps.common.keychain import with_slip44_keychain
|
||||||
|
|
||||||
|
|
||||||
|
@with_slip44_keychain(slip44_id=0, slip21_namespaces=[[b"SLIP-0024"]])
|
||||||
|
async def payment_notification(msg: PaymentNotification, keychain: Keychain) -> Success:
|
||||||
|
from trezor.messages import Success
|
||||||
|
from trezor.wire import DataError
|
||||||
|
|
||||||
|
from apps.common.payment_request import PaymentRequestVerifier
|
||||||
|
|
||||||
|
if msg.payment_req is None:
|
||||||
|
raise DataError("Missing payment request.")
|
||||||
|
|
||||||
|
PaymentRequestVerifier(msg.payment_req, 0, keychain).verify()
|
||||||
|
|
||||||
|
# TODO Show payment request memos.
|
||||||
|
|
||||||
|
return Success()
|
Loading…
Reference in New Issue
Block a user