import type { Account, Address, Chain, Client, Transport } from 'viem'; import type { Assign, Prettify } from '../types.js'; type ChainContract = { address: Address; blockCreated?: number; }; export declare const supportedChains: readonly [52014, 5201420]; export declare const supportedContracts: readonly ["ensBaseRegistrarImplementation", "ensBulkRenewal", "ensDnsRegistrar", "ensDnssecImpl", "ensEthRegistrarController", "ensNameWrapper", "ensPublicResolver", "ensRegistry", "ensReverseRegistrar", "ensDefaultReverseRegistrar", "ensUniversalResolver"]; export type SupportedChain = (typeof supportedChains)[number]; export type SupportedContract = (typeof supportedContracts)[number]; export declare const addresses: { readonly 52014: { readonly ensBaseRegistrarImplementation: { readonly address: "0x5207496C1248BbD2AeeDd57Bde44dd9d4E9F1b59"; }; readonly ensBulkRenewal: { readonly address: "0x8ACdF3703fF6182F265F5c910f6ecc2d96Cec77D"; }; readonly ensDnsRegistrar: { readonly address: "0x359d9095d34157892258521c3D4c76F99Fc93ac1"; }; readonly ensDnssecImpl: { readonly address: "0x3E2fE726d1F6DaDfFa80411209FfF9eeBc28b383"; }; readonly ensEthRegistrarController: { readonly address: "0x3CFa6D6E7e1216393C2cb9393Bc0f411492E33e9"; }; readonly ensNameWrapper: { readonly address: "0xd8F4B1A91469B05d9E0b15Cac4917Ee47b2A6f64"; }; readonly ensPublicResolver: { readonly address: "0xDb4A3Abb6703232e20a118a104e7f4EbB3e2738D"; }; readonly ensRegistry: { readonly address: "0x6F311F2212593165988Dff84977e24C1005dBb85"; }; readonly ensReverseRegistrar: { readonly address: "0xFBB14eDBD8D3f6E7BB240bFA388f6582df0d8E7A"; }; readonly ensDefaultReverseRegistrar: { readonly address: "0x3bED61fE4d7d3Bc79E46912Ee7ACce2c231aA0a6"; }; readonly ensUniversalResolver: { readonly address: "0x75509153af7db00BeeCc30EC042299fD30e2cb6e"; }; readonly multicall3: { readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11"; }; }; readonly 5201420: { readonly ensBaseRegistrarImplementation: { readonly address: "0x7b787b31Ad58D563D7B3938b4bbfAB2c588624C5"; }; readonly ensBulkRenewal: { readonly address: "0xF0cdD96029276584C04e812A23AD5975bC4fdBB2"; }; readonly ensDnsRegistrar: { readonly address: "0x7AB311D3059b26F5045d794284e34EcAd920cfAC"; }; readonly ensDnssecImpl: { readonly address: "0x14EA3265cde1A78d9A84500401956aD0BaF6D360"; }; readonly ensEthRegistrarController: { readonly address: "0x5BFb2958062Ac12d2019Ac1E69243DDbafCCc2c5"; }; readonly ensNameWrapper: { readonly address: "0x388f495A886644883F41a5958C11382e7c0D23F5"; }; readonly ensPublicResolver: { readonly address: "0x1B148DF21F18cFaEC68b71FBF11692F569658b3D"; }; readonly ensRegistry: { readonly address: "0x2466B8Ef6Bedd1b48FA7e0CdBeBc2300d913C701"; }; readonly ensReverseRegistrar: { readonly address: "0x470680Df59dB243409F67ec7EaC78D8e6f834047"; }; readonly ensDefaultReverseRegistrar: { readonly address: "0xF5319d92519F73cbCF7D5Ed38495eb4c61BD09AC"; }; readonly ensUniversalResolver: { readonly address: "0xEe1f847de4d2DA11E46328B83d7551771D8f778c"; }; readonly multicall3: { readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11"; }; }; }; type Subgraphs = { ens: { url: string; }; }; export declare const subgraphs: { readonly 52014: { readonly ens: { readonly url: "https://subgraph.electroneum.com/subgraphs/name/etn-subgraph"; }; }; readonly 5201420: { readonly ens: { readonly url: "http://localhost:8000/subgraphs/name/graphprotocol/ens"; }; }; }; type EnsChainContracts = { ensBaseRegistrarImplementation: ChainContract; ensDnsRegistrar: ChainContract; ensEthRegistrarController: ChainContract; ensNameWrapper: ChainContract; ensPublicResolver: ChainContract; ensRegistry: ChainContract; ensReverseRegistrar: ChainContract; ensDefaultReverseRegistrar: ChainContract; ensBulkRenewal: ChainContract; ensDnssecImpl: ChainContract; }; type BaseChainContracts = { multicall3: ChainContract; ensUniversalResolver: ChainContract; }; export type ChainWithEns = Omit & { contracts: BaseChainContracts & EnsChainContracts; subgraphs: Subgraphs; }; export type ChainWithBaseContracts = Assign, { contracts?: Partial; }>; export type CheckedChainWithEns = TChain['id'] extends SupportedChain ? TChain & { contracts: Prettify<(typeof addresses)[TChain['id']]>; subgraphs: (typeof subgraphs)[TChain['id']]; } : never; export type ClientWithEns = Client; export type ClientWithAccount = Client; export {};