@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
23 lines • 1.78 kB
TypeScript
import { ProtocolType } from '@hyperlane-xyz/utils';
import { multiProtocolTestChainMetadata } from '../consts/testChains.js';
import type { ChainMetadata } from '../metadata/chainMetadataTypes.js';
import type { ChainMap, ChainName } from '../types.js';
import { MultiProviderAdapter, MultiProviderAdapterOptions } from './MultiProviderAdapter.js';
import { MultiProvider } from './MultiProvider.js';
import { ProviderType, TypedProvider } from './ProviderType.js';
import type { ProviderBuilderFn } from './providerBuilders.js';
export interface MultiProtocolProviderOptions extends MultiProviderAdapterOptions {
}
export declare class MultiProtocolProvider<MetaExt = {}> extends MultiProviderAdapter<MetaExt> {
static fromMultiProvider<MetaExt = {}>(mp: MultiProvider<MetaExt>, options?: MultiProtocolProviderOptions): MultiProtocolProvider<MetaExt>;
constructor(chainMetadata: ChainMap<ChainMetadata<MetaExt>>, options?: MultiProtocolProviderOptions);
protected getProviderBuilder(protocol: ProtocolType, type: ProviderType): ProviderBuilderFn<TypedProvider> | undefined;
extendChainMetadata<NewExt = {}>(additionalMetadata: ChainMap<NewExt>): MultiProtocolProvider<MetaExt & NewExt>;
intersect(chains: ChainName[], throwIfNotSubset?: boolean): {
intersection: ChainName[];
result: MultiProtocolProvider<MetaExt>;
};
static createTestMultiProtocolProvider(metadata?: typeof multiProtocolTestChainMetadata, providers?: Partial<Record<ProtocolType, TypedProvider>>): MultiProtocolProvider;
static createTestMultiProtocolProvider<MetaExt>(metadata: ChainMap<ChainMetadata<MetaExt>>, providers?: Partial<Record<ProtocolType, TypedProvider>>): MultiProtocolProvider<MetaExt>;
}
//# sourceMappingURL=MultiProtocolProvider.d.ts.map