/** * Per-chain viem RPC clients + Aave V3 view-contract addresses. * * Uses `@aave-dao/aave-address-book` as the source of truth for addresses, * so view contracts can't drift out of sync with on-chain deployments. * * RPC URL precedence: per-chain env var → viem's bundled public RPC. * Set ETHEREUM_RPC_URL / BASE_RPC_URL / ARBITRUM_RPC_URL / POLYGON_RPC_URL / * OPTIMISM_RPC_URL / AVALANCHE_RPC_URL for production reliability. */ import { type PublicClient, type Chain } from "viem"; export interface RpcChainConfig { key: string; chainId: number; viemChain: Chain; rpcEnvVar: string; addresses: { POOL: `0x${string}`; POOL_ADDRESSES_PROVIDER: `0x${string}`; UI_POOL_DATA_PROVIDER: `0x${string}`; AAVE_PROTOCOL_DATA_PROVIDER: `0x${string}`; UI_INCENTIVE_DATA_PROVIDER: `0x${string}`; WALLET_BALANCE_PROVIDER: `0x${string}`; }; } export declare const RPC_CHAINS: Record; export declare const RPC_CHAIN_NAMES: [string, ...string[]]; export declare function rpcClient(chainKey: string): PublicClient; export declare function rpcAddresses(chainKey: string): { POOL: `0x${string}`; POOL_ADDRESSES_PROVIDER: `0x${string}`; UI_POOL_DATA_PROVIDER: `0x${string}`; AAVE_PROTOCOL_DATA_PROVIDER: `0x${string}`; UI_INCENTIVE_DATA_PROVIDER: `0x${string}`; WALLET_BALANCE_PROVIDER: `0x${string}`; }; export declare function rpcChainId(chainKey: string): number; //# sourceMappingURL=rpcClient.d.ts.map