1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-09 16:18:10 +00:00
trezor-firmware/core/src/apps/solana/format.py
2023-12-05 22:11:41 +01:00

40 lines
1.0 KiB
Python

from typing import TYPE_CHECKING
from trezor.strings import format_amount, format_timestamp
if TYPE_CHECKING:
from .transaction.instructions import Instruction
def format_pubkey(_: Instruction, value: bytes | None) -> str:
from trezor.crypto import base58
if value is None:
raise ValueError # should not be called with optional pubkey
return base58.encode(value)
def format_lamports(_: Instruction, value: int) -> str:
formatted = format_amount(value, decimals=9)
return f"{formatted} SOL"
def format_token_amount(instruction: Instruction, value: int) -> str:
assert hasattr(instruction, "decimals") # enforced in instructions.py.mako
formatted = format_amount(value, decimals=instruction.decimals)
return f"{formatted}"
def format_unix_timestamp(_: Instruction, value: int) -> str:
return format_timestamp(value)
def format_int(_: Instruction, value: int) -> str:
return str(value)
def format_identity(_: Instruction, value: str) -> str:
return value