UNPKG

@opendatalabs/vana-sdk

Version:

A TypeScript library for interacting with Vana Network smart contracts.

47 lines 1.16 kB
import { createPublicClient, http, createWalletClient as viemCreateWalletClient } from "viem"; import { chains, mokshaTestnet } from "../config/chains.js"; const defaultFromBlocks = { 14800: 732312n, // Moksha Testnet - earliest contract deployment 1480: 758584n // Vana Mainnet - earliest contract deployment }; function getDefaultFromBlock(chainId) { return defaultFromBlocks[chainId] || 0n; } let cachedClient; const createClient = (chainId = mokshaTestnet.id) => { if (!cachedClient || cachedClient.chain?.id !== chainId) { const chain = chains[chainId]; if (!chain) { throw new Error(`Chain ${chainId} not found`); } cachedClient = createPublicClient({ chain, transport: http() }); } return cachedClient; }; const createWalletClient = (chainId = mokshaTestnet.id, account) => { const chain = chains[chainId]; if (!chain) { throw new Error(`Chain ${chainId} not found`); } return viemCreateWalletClient({ chain, transport: http(), account }); }; export { createClient, createWalletClient, defaultFromBlocks, getDefaultFromBlock }; //# sourceMappingURL=client.js.map