import { Contract } from '@ethersproject/contracts'; import { Provider } from '@ethersproject/providers'; import { EthrDidRegistryDeployment } from 'ethr-did-registry'; export interface SyncLog { fromBlock: string | number; toBlock: string | number; } /** * A configuration entry for an ethereum network * It should contain at least one of `name` or `chainId` AND one of `provider`, `web3`, or `rpcUrl` * * @example ```js * { name: 'development', registry: '0x9af37603e98e0dc2b855be647c39abe984fc2445', rpcUrl: 'http://127.0.0.1:8545/' } * { name: 'goerli', chainId: 5, provider: new InfuraProvider('goerli') } * { name: 'rinkeby', provider: new AlchemyProvider('rinkeby') } * { name: 'rsk:testnet', chainId: '0x1f', rpcUrl: 'https://public-node.testnet.rsk.co' } * ``` */ export interface ProviderConfiguration extends Omit { provider?: Provider; chainId?: string | number; web3?: any; syncLog?: SyncLog; } export interface MultiProviderConfiguration extends ProviderConfiguration { networks?: ProviderConfiguration[]; } export interface InfuraConfiguration { infuraProjectId: string; } export declare type ConfigurationOptions = MultiProviderConfiguration | InfuraConfiguration; export declare type ConfiguredNetworks = Record; export declare type SyncLogs = Record; export declare function getContractForNetwork(conf: ProviderConfiguration): Contract; /** * Generates a configuration that maps ethereum network names and chainIDs to the respective ERC1056 contracts deployed * on them. * @returns a record of ERC1056 `Contract` instances * @param conf configuration options for the resolver. An array of network details. * Each network entry should contain at least one of `name` or `chainId` AND one of `provider`, `web3`, or `rpcUrl` * For convenience, you can also specify an `infuraProjectId` which will create a mapping for all the networks * supported by https://infura.io. * @example ```js * [ * { name: 'development', registry: '0x9af37603e98e0dc2b855be647c39abe984fc2445', rpcUrl: 'http://127.0.0.1:8545/' }, * { name: 'goerli', chainId: 5, provider: new InfuraProvider('goerli') }, * { name: 'rinkeby', provider: new AlchemyProvider('rinkeby') }, * { name: 'rsk:testnet', chainId: '0x1f', rpcUrl: 'https://public-node.testnet.rsk.co' }, * ] * ``` */ export declare function configureResolverWithNetworks(conf?: ConfigurationOptions): ConfiguredNetworks; export declare function configureResolverWithLogs(conf?: ConfigurationOptions): SyncLogs; //# sourceMappingURL=configuration.d.ts.map