1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-02-25 05:42:03 +00:00
trezor-firmware/python/src/trezorlib/solana.py

50 lines
1.2 KiB
Python
Raw Normal View History

from typing import TYPE_CHECKING, List, Optional
2023-10-18 09:40:19 +00:00
from . import messages
if TYPE_CHECKING:
from .transport.session import Session
2023-10-18 09:40:19 +00:00
def get_public_key(
session: "Session",
2023-10-18 09:40:19 +00:00
address_n: List[int],
show_display: bool,
) -> bytes:
return session.call(
messages.SolanaGetPublicKey(address_n=address_n, show_display=show_display),
expect=messages.SolanaPublicKey,
).public_key
2023-10-18 09:43:41 +00:00
def get_address(
session: "Session",
2023-10-18 09:43:41 +00:00
address_n: List[int],
show_display: bool,
chunkify: bool = False,
) -> str:
return session.call(
2023-10-18 09:43:41 +00:00
messages.SolanaGetAddress(
address_n=address_n,
show_display=show_display,
chunkify=chunkify,
),
expect=messages.SolanaAddress,
).address
def sign_tx(
session: "Session",
address_n: List[int],
serialized_tx: bytes,
additional_info: Optional[messages.SolanaTxAdditionalInfo],
) -> bytes:
return session.call(
messages.SolanaSignTx(
address_n=address_n,
serialized_tx=serialized_tx,
additional_info=additional_info,
),
expect=messages.SolanaTxSignature,
).signature