import { ModuleMetadata } from '@nestjs/common'; import { SimpleFallbackProviderConfig } from './simple-fallback-provider-config'; import { ConnectionInfo } from '@ethersproject/web'; import { Networkish } from './networkish'; import { RequestPolicy } from '../provider/extended-json-rpc-batch-provider'; import { MiddlewareCallback } from '@lido-nestjs/middleware'; export interface FallbackProviderModuleSyncOptions extends Pick, SimpleFallbackProviderConfig { } export interface BatchProviderModuleSyncOptions extends Pick { url: ConnectionInfo | string; network?: Networkish; requestPolicy?: RequestPolicy; fetchMiddlewares?: MiddlewareCallback>[]; } export interface FallbackProviderModuleAsyncOptions extends Pick { useFactory: (...args: any[]) => Promise | FallbackProviderModuleSyncOptions; inject: any[]; } export interface BatchProviderModuleAsyncOptions extends Pick { useFactory: (...args: any[]) => Promise | BatchProviderModuleSyncOptions; inject: any[]; }