@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
31 lines • 2.45 kB
TypeScript
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