getMint method

Future<Mint> getMint({
  1. required Ed25519HDPublicKey address,
  2. Commitment commitment = Commitment.finalized,
})

Gets information about mint with address public key.

Throws TokenAccountNotFoundException if info is not found.

Implementation

Future<Mint> getMint({
  required Ed25519HDPublicKey address,
  Commitment commitment = Commitment.finalized,
}) async {
  final info = await rpcClient
      .getAccountInfo(
        address.toBase58(),
        commitment: commitment,
        encoding: Encoding.base64,
      )
      .value;

  if (info == null) throw const TokenAccountNotFoundException();

  final raw = RawMint.fromBorsh(
    Uint8List.fromList((info.data as BinaryAccountData).data),
  );

  return Mint(
    address: address,
    supply: raw.supply,
    decimals: raw.decimals,
    isInitialized: raw.isInitialized,
    mintAuthority: raw.mintAuthorityOption == 0 ? null : raw.mintAuthority,
    freezeAuthority:
        raw.freezeAuthorityOption == 0 ? null : raw.freezeAuthority,
  );
}