@avalanche-sdk/interchain
Version:
Interchain package for handling ICM/ICTT messages
30 lines • 1.08 kB
JavaScript
import { createPublicClient, http } from "viem";
import { tokenHomeABI } from "../../abis/tokenHomeABI";
import { getERC20TokenInfo } from "./getERC20TokenInfo";
export async function getInfoFromTokenHomeContract(chain, tokenHomeAddress) {
const sourcePublicClient = createPublicClient({
chain,
transport: http(),
});
const [tokenContractAddress, minTeleporterVersion] = await Promise.all([
sourcePublicClient.readContract({
address: tokenHomeAddress,
abi: tokenHomeABI.abi,
functionName: "getTokenAddress",
}),
sourcePublicClient.readContract({
address: tokenHomeAddress,
abi: tokenHomeABI.abi,
functionName: "getMinTeleporterVersion",
}),
]);
const { tokenName, tokenSymbol, tokenDecimals, } = await getERC20TokenInfo(chain, tokenContractAddress);
return {
tokenContractAddress,
tokenName,
tokenSymbol,
tokenDecimals,
minTeleporterVersion,
};
}
//# sourceMappingURL=getInfoFromTokenHome.js.map