export declare enum ChainId { EthereumMainnet = 1, EthereumGoerli = 5, EthereumHardhat = 31337 } export interface HouseImpls { community: string; } export interface RoundImpls { infinite: string; timed: string; } export interface GovPowerStrategies { allowlist: string; balanceOf: string; balanceOfErc20: string; balanceOfErc1155: string; checkpointableErc721: string; vanilla: string; } export interface EthereumAuthStrategies { sig: string; tx: string; } export interface AuthStrategies { infinite: EthereumAuthStrategies; timed: EthereumAuthStrategies; } export interface HetodotusContracts { factRegistry: string; l1HeadersStore: string; } export interface ClassHashes { infinite: string; timed: string; } export interface EVMContracts { prophouse: string; messenger: string; house: HouseImpls; round: RoundImpls; starknetCommit: string; } export interface StarknetContracts { roundFactory: string; strategyRegistry: string; blockRegistry: string; govPower: GovPowerStrategies; auth: AuthStrategies; herodotus: HetodotusContracts; classHashes: ClassHashes; } export interface ContractAddresses { evm: EVMContracts; starknet: StarknetContracts; } export declare const contracts: Record; /** * Get addresses of contracts that have been deployed to a supported chain. * Throws if there are no known contracts deployed on the corresponding chain. * @param chainId The desired chainId */ export declare const getContractAddressesForChainOrThrow: (chainId: number) => ContractAddresses;