@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
83 lines • 3.91 kB
TypeScript
import { z } from 'zod';
import { ProtocolType } from '@hyperlane-xyz/utils';
import { ChainMap, ProtocolMap } from '../../../types.js';
import { MultiProvider } from '../../MultiProvider.js';
import { TxSubmitterInterface } from './TxSubmitterInterface.js';
import { EvmSubmitterMetadataSchema } from './ethersV5/types.js';
export declare const SubmitterMetadataSchema: z.ZodUnion<[z.ZodObject<{
chain: z.ZodString;
userAddress: z.ZodOptional<z.ZodString>;
accountAddress: z.ZodOptional<z.ZodString>;
privateKey: z.ZodOptional<z.ZodString>;
extraParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
type: z.ZodLiteral<import("./TxSubmitterTypes.js").TxSubmitterType.JSON_RPC>;
}, "strip", z.ZodTypeAny, {
type: import("./TxSubmitterTypes.js").TxSubmitterType.JSON_RPC;
chain: string;
privateKey?: string | undefined;
userAddress?: string | undefined;
accountAddress?: string | undefined;
extraParams?: Record<string, string> | undefined;
}, {
type: import("./TxSubmitterTypes.js").TxSubmitterType.JSON_RPC;
chain: string;
privateKey?: string | undefined;
userAddress?: string | undefined;
accountAddress?: string | undefined;
extraParams?: Record<string, string> | undefined;
}>, z.ZodObject<{
chain: z.ZodString;
accountAddress: z.ZodOptional<z.ZodString>;
privateKey: z.ZodOptional<z.ZodString>;
extraParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
userAddress: z.ZodString;
type: z.ZodLiteral<import("./TxSubmitterTypes.js").TxSubmitterType.IMPERSONATED_ACCOUNT>;
}, "strip", z.ZodTypeAny, {
type: import("./TxSubmitterTypes.js").TxSubmitterType.IMPERSONATED_ACCOUNT;
chain: string;
userAddress: string;
privateKey?: string | undefined;
accountAddress?: string | undefined;
extraParams?: Record<string, string> | undefined;
}, {
type: import("./TxSubmitterTypes.js").TxSubmitterType.IMPERSONATED_ACCOUNT;
chain: string;
userAddress: string;
privateKey?: string | undefined;
accountAddress?: string | undefined;
extraParams?: Record<string, string> | undefined;
}>, z.ZodObject<{
chain: z.ZodString;
safeAddress: z.ZodString;
type: z.ZodLiteral<import("./TxSubmitterTypes.js").TxSubmitterType.GNOSIS_SAFE>;
}, "strip", z.ZodTypeAny, {
type: import("./TxSubmitterTypes.js").TxSubmitterType.GNOSIS_SAFE;
chain: string;
safeAddress: string;
}, {
type: import("./TxSubmitterTypes.js").TxSubmitterType.GNOSIS_SAFE;
chain: string;
safeAddress: string;
}>, z.ZodObject<{
version: z.ZodDefault<z.ZodString>;
chain: z.ZodString;
safeAddress: z.ZodString;
type: z.ZodLiteral<import("./TxSubmitterTypes.js").TxSubmitterType.GNOSIS_TX_BUILDER>;
}, "strip", z.ZodTypeAny, {
type: import("./TxSubmitterTypes.js").TxSubmitterType.GNOSIS_TX_BUILDER;
chain: string;
version: string;
safeAddress: string;
}, {
type: import("./TxSubmitterTypes.js").TxSubmitterType.GNOSIS_TX_BUILDER;
chain: string;
safeAddress: string;
version?: string | undefined;
}>, z.ZodType<import("./ethersV5/types.js").EvmIcaTxSubmitterProps, z.ZodTypeDef, import("./ethersV5/types.js").EvmIcaTxSubmitterProps>, z.ZodType<import("./ethersV5/types.js").EvmTimelockControllerSubmitterProps, z.ZodTypeDef, import("./ethersV5/types.js").EvmTimelockControllerSubmitterProps>]>;
export type SubmitterMetadata = z.infer<typeof EvmSubmitterMetadataSchema>;
/**
* Function type for getting a submitter instance.
* Used for dependency injection to break circular imports.
*/
export type SubmitterGetter = <TProtocol extends ProtocolType>(multiProvider: MultiProvider, submitterMetadata: SubmitterMetadata, coreAddressesByChain: ChainMap<Record<string, string>>, additionalSubmitterFactories?: ProtocolMap<Record<string, any>>) => Promise<TxSubmitterInterface<TProtocol>>;
//# sourceMappingURL=types.d.ts.map