UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

31 lines 2.45 kB
import { Address, HexString } from '@hyperlane-xyz/utils'; import type { ChainMetadata } from '../metadata/chainMetadataTypes.js'; import type { ChainMap, ChainName, ChainNameOrId } from '../types.js'; import { MinimalProviderRegistry, MinimalProviderRegistryOptions } from './MinimalProviderRegistry.js'; import { MultiProvider, MultiProviderOptions } from './MultiProvider.js'; import { ProviderType, TypedTransaction, TypedProvider } from './ProviderType.js'; import { TransactionFeeEstimate } from './transactionFeeEstimators.js'; export interface MultiProviderAdapterOptions extends MinimalProviderRegistryOptions { } export declare function wrapMultiProviderProviders<MetaExt = {}>(chainMetadata: ChainMap<ChainMetadata<MetaExt>>, providers: MultiProvider<MetaExt>['providers']): ChainMap<TypedProvider>; export declare function createAdapterFromMultiProvider<MetaExt = {}, TOptions extends MultiProviderAdapterOptions = MultiProviderAdapterOptions, TAdapter extends MultiProviderAdapter<MetaExt> = MultiProviderAdapter<MetaExt>>(AdapterClass: new (chainMetadata: ChainMap<ChainMetadata<MetaExt>>, options?: TOptions) => TAdapter, mp: MultiProvider<MetaExt>, options?: TOptions): TAdapter; export declare class MultiProviderAdapter<MetaExt = {}> extends MinimalProviderRegistry<MetaExt> { protected readonly options: MultiProviderAdapterOptions; protected getDefaultProviderType(chainNameOrId: ChainNameOrId): ProviderType | undefined; constructor(chainMetadata: ChainMap<ChainMetadata<MetaExt>>, options?: MultiProviderAdapterOptions); static fromMultiProvider<MetaExt = {}>(mp: MultiProvider<MetaExt>, options?: MultiProviderAdapterOptions): MultiProviderAdapter<MetaExt>; tryGetProvider(chainNameOrId: ChainNameOrId, type?: ProviderType): TypedProvider | null; toMultiProvider(options?: MultiProviderOptions): MultiProvider<MetaExt>; extendChainMetadata<NewExt = {}>(additionalMetadata: ChainMap<NewExt>): MultiProviderAdapter<MetaExt & NewExt>; intersect(chains: ChainName[], throwIfNotSubset?: boolean): { intersection: ChainName[]; result: MultiProviderAdapter<MetaExt>; }; estimateTransactionFee({ chainNameOrId, transaction, sender, senderPubKey, }: { chainNameOrId: ChainNameOrId; transaction: TypedTransaction; sender: Address; senderPubKey?: HexString; }): Promise<TransactionFeeEstimate>; } //# sourceMappingURL=MultiProviderAdapter.d.ts.map