@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
41 lines • 2.96 kB
TypeScript
import { Logger } from 'pino';
import { ProtocolType } from '@hyperlane-xyz/utils';
import { ChainMetadataManager } from '../metadata/ChainMetadataManager.js';
import type { ChainMetadata } from '../metadata/chainMetadataTypes.js';
import type { ChainMap, ChainName, ChainNameOrId } from '../types.js';
import { AleoProvider, CosmJsNativeProvider, CosmJsProvider, CosmJsWasmProvider, EthersV5Provider, ProviderMap, ProviderType, RadixProvider, SolanaWeb3Provider, StarknetJsProvider, TronProvider, TypedProvider, ViemProvider } from './ProviderType.js';
import type { ProviderBuilderFn, ProviderBuilderMap } from './providerBuilders.js';
export interface MinimalProviderRegistryOptions {
logger?: Logger;
providers?: ChainMap<ProviderMap<TypedProvider>>;
providerBuilders?: Partial<ProviderBuilderMap>;
}
export declare class MinimalProviderRegistry<MetaExt = {}> extends ChainMetadataManager<MetaExt> {
protected readonly options: MinimalProviderRegistryOptions;
protected readonly providers: ChainMap<ProviderMap<TypedProvider>>;
protected readonly providerBuilders: Partial<ProviderBuilderMap>;
readonly logger: Logger;
constructor(chainMetadata: ChainMap<ChainMetadata<MetaExt>>, options?: MinimalProviderRegistryOptions);
extendChainMetadata<NewExt = {}>(additionalMetadata: ChainMap<NewExt>): MinimalProviderRegistry<MetaExt & NewExt>;
protected getProviderBuilder(_protocol: ProtocolType, type: ProviderType): ProviderBuilderFn<TypedProvider> | undefined;
tryGetProvider(chainNameOrId: ChainNameOrId, type?: ProviderType): TypedProvider | null;
getProvider(chainNameOrId: ChainNameOrId, type?: ProviderType): TypedProvider;
protected getSpecificProvider<T>(chainNameOrId: ChainNameOrId, type: ProviderType): T;
getEthersV5Provider(chainNameOrId: ChainNameOrId): EthersV5Provider['provider'];
getViemProvider(chainNameOrId: ChainNameOrId): ViemProvider['provider'];
getSolanaWeb3Provider(chainNameOrId: ChainNameOrId): SolanaWeb3Provider['provider'];
getCosmJsProvider(chainNameOrId: ChainNameOrId): CosmJsProvider['provider'];
getCosmJsWasmProvider(chainNameOrId: ChainNameOrId): CosmJsWasmProvider['provider'];
getCosmJsNativeProvider(chainNameOrId: ChainNameOrId): CosmJsNativeProvider['provider'];
getStarknetProvider(chainNameOrId: ChainNameOrId): StarknetJsProvider['provider'];
getRadixProvider(chainNameOrId: ChainNameOrId): RadixProvider['provider'];
getAleoProvider(chainNameOrId: ChainNameOrId): AleoProvider['provider'];
getTronProvider(chainNameOrId: ChainNameOrId): TronProvider['provider'];
setProvider(chainNameOrId: ChainNameOrId, provider: TypedProvider): TypedProvider;
setProviders(providers: ChainMap<TypedProvider>): void;
intersect(chains: ChainName[], throwIfNotSubset?: boolean): {
intersection: ChainName[];
result: MinimalProviderRegistry<MetaExt>;
};
}
//# sourceMappingURL=MinimalProviderRegistry.d.ts.map