viem-erc20
Version:
Viem extensions for erc20 tokens
24 lines (20 loc) • 563 B
text/typescript
import { type Address, type Client, erc20Abi, isAddress } from "viem";
import { readContract } from "viem/actions";
export const balanceOf = async function (
client: Client,
parameters: { account: Address; address: Address },
) {
const { account, address } = parameters ?? {};
if (!isAddress(account)) {
throw new Error("Invalid account");
}
if (!isAddress(address)) {
throw new Error("Invalid owner address");
}
return readContract(client, {
abi: erc20Abi,
address,
args: [account],
functionName: "balanceOf",
});
};