1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-03-12 22:26:08 +00:00

fix(python): change nostr to use Session instead of Client

This commit is contained in:
M1nd3r 2025-02-28 15:52:53 +01:00
parent cd781d7a70
commit febac09a2f
3 changed files with 18 additions and 17 deletions

View File

@ -22,10 +22,10 @@ import typing as t
import click
from .. import messages, nostr, tools
from . import with_client
from . import with_session
if t.TYPE_CHECKING:
from ..client import TrezorClient
from ..transport.session import Session
PATH_TEMPLATE = "m/44h/1237h/{}h/0/0"
@ -38,9 +38,9 @@ def cli() -> None:
@cli.command()
@click.option("-a", "--account", default=0, help="Account index")
@with_client
@with_session
def get_pubkey(
client: "TrezorClient",
session: "Session",
account: int,
) -> str:
"""Return the pubkey derived by the given path."""
@ -48,7 +48,7 @@ def get_pubkey(
address_n = tools.parse_path(PATH_TEMPLATE.format(account))
return nostr.get_pubkey(
client,
session,
address_n,
).hex()
@ -56,9 +56,9 @@ def get_pubkey(
@cli.command()
@click.option("-a", "--account", default=0, help="Account index")
@click.argument("event")
@with_client
@with_session
def sign_event(
client: "TrezorClient",
session: "Session",
account: int,
event: str,
) -> dict[str, str]:
@ -69,7 +69,7 @@ def sign_event(
address_n = tools.parse_path(PATH_TEMPLATE.format(account))
res = nostr.sign_event(
client,
session,
messages.NostrSignEvent(
address_n=address_n,
created_at=event_json["created_at"],

View File

@ -20,12 +20,12 @@ from typing import TYPE_CHECKING
from . import messages
if TYPE_CHECKING:
from .client import TrezorClient
from .tools import Address
from .transport.session import Session
def get_pubkey(client: "TrezorClient", n: "Address") -> bytes:
return client.call(
def get_pubkey(session: "Session", n: "Address") -> bytes:
return session.call(
messages.NostrGetPubkey(
address_n=n,
),
@ -34,7 +34,7 @@ def get_pubkey(client: "TrezorClient", n: "Address") -> bytes:
def sign_event(
client: "TrezorClient",
session: "Session",
sign_event: messages.NostrSignEvent,
) -> messages.NostrEventSignature:
return client.call(sign_event, expect=messages.NostrEventSignature)
return session.call(sign_event, expect=messages.NostrEventSignature)

View File

@ -20,6 +20,7 @@ from hashlib import sha256
import pytest
from trezorlib import messages, nostr
from trezorlib.debuglink import SessionDebugWrapper as Session
from trezorlib.tools import parse_path
pytestmark = [pytest.mark.altcoin, pytest.mark.models("core")]
@ -87,9 +88,9 @@ SIGN_TEST_EVENT = messages.NostrSignEvent(
@pytest.mark.parametrize("pubkey_hex,_", VECTORS)
def test_get_pubkey(client, pubkey_hex, _):
def test_get_pubkey(session: Session, pubkey_hex, _):
response = nostr.get_pubkey(
client,
session,
n=parse_path("m/44h/1237h/0h/0/0"),
)
@ -97,8 +98,8 @@ def test_get_pubkey(client, pubkey_hex, _):
@pytest.mark.parametrize("pubkey_hex,expected_sig", VECTORS)
def test_sign_event(client, pubkey_hex, expected_sig):
response = nostr.sign_event(client, SIGN_TEST_EVENT)
def test_sign_event(session: Session, pubkey_hex, expected_sig):
response = nostr.sign_event(session, SIGN_TEST_EVENT)
assert response.pubkey == bytes.fromhex(pubkey_hex)