20 lines
641 B
Python
20 lines
641 B
Python
from solana.publickey import PublicKey
|
|
from solana.rpc.async_api import AsyncClient
|
|
from spl.token.constants import WRAPPED_SOL_MINT
|
|
|
|
from pyserum.utils import parse_bytes_data, parse_mint_decimals
|
|
|
|
|
|
async def load_bytes_data(addr: PublicKey, conn: AsyncClient) -> bytes:
|
|
res = await conn.get_account_info(addr)
|
|
return parse_bytes_data(res)
|
|
|
|
|
|
async def get_mint_decimals(conn: AsyncClient, mint_pub_key: PublicKey) -> int:
|
|
"""Get the mint decimals for a token mint"""
|
|
if mint_pub_key == WRAPPED_SOL_MINT:
|
|
return 9
|
|
|
|
bytes_data = await load_bytes_data(mint_pub_key, conn)
|
|
return parse_mint_decimals(bytes_data)
|