@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
1,427 lines • 303 kB
TypeScript
/**
* The types defined here are the source of truth for chain metadata.
* ANY CHANGES HERE NEED TO BE REFLECTED IN HYPERLANE-BASE CONFIG PARSING.
*/
import { z } from 'zod';
import { ModuleType } from '@hyperlane-xyz/sdk';
import { ProtocolType } from '@hyperlane-xyz/utils';
import { MultiProvider } from '../providers/MultiProvider.js';
import { ChainMap, ChainName } from '../types.js';
import { HyperlaneDeploymentArtifacts } from './deploymentArtifacts.js';
export declare enum RpcConsensusType {
Single = "single",
Fallback = "fallback",
Quorum = "quorum"
}
export declare enum AgentLogLevel {
Off = "off",
Error = "error",
Warn = "warn",
Info = "info",
Debug = "debug",
Trace = "trace"
}
export declare enum AgentLogFormat {
Json = "json",
Compact = "compact",
Full = "full",
Pretty = "pretty"
}
export declare enum AgentIndexMode {
Block = "block",
Sequence = "sequence"
}
export declare enum AgentSignerKeyType {
Aws = "aws",
Hex = "hexKey",
Node = "node",
Cosmos = "cosmosKey",
Starknet = "starkKey"
}
export declare enum AgentSealevelPriorityFeeOracleType {
Helius = "helius",
Constant = "constant"
}
export declare enum AgentSealevelHeliusFeeLevel {
Recommended = "recommended",
Min = "min",
Low = "low",
Medium = "medium",
High = "high",
VeryHigh = "veryHigh",
UnsafeMax = "unsafeMax"
}
export declare enum AgentSealevelTransactionSubmitterType {
Rpc = "rpc",
Jito = "jito"
}
declare const AgentSignerHexKeySchema: z.ZodObject<{
type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Hex>>;
key: z.ZodString;
}, "strip", z.ZodTypeAny, {
key: string;
type?: AgentSignerKeyType.Hex | undefined;
}, {
key: string;
type?: AgentSignerKeyType.Hex | undefined;
}>;
declare const AgentSignerAwsKeySchema: z.ZodObject<{
type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Aws>>;
id: z.ZodString;
region: z.ZodString;
}, "strip", z.ZodTypeAny, {
id: string;
region: string;
type?: AgentSignerKeyType.Aws | undefined;
}, {
id: string;
region: string;
type?: AgentSignerKeyType.Aws | undefined;
}>;
declare const AgentSignerNodeSchema: z.ZodObject<{
type: z.ZodLiteral<AgentSignerKeyType.Node>;
}, "strip", z.ZodTypeAny, {
type: AgentSignerKeyType.Node;
}, {
type: AgentSignerKeyType.Node;
}>;
declare const AgentSignerSchema: z.ZodUnion<[z.ZodObject<{
type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Hex>>;
key: z.ZodString;
}, "strip", z.ZodTypeAny, {
key: string;
type?: AgentSignerKeyType.Hex | undefined;
}, {
key: string;
type?: AgentSignerKeyType.Hex | undefined;
}>, z.ZodObject<{
type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Aws>>;
id: z.ZodString;
region: z.ZodString;
}, "strip", z.ZodTypeAny, {
id: string;
region: string;
type?: AgentSignerKeyType.Aws | undefined;
}, {
id: string;
region: string;
type?: AgentSignerKeyType.Aws | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<AgentSignerKeyType.Cosmos>;
prefix: z.ZodString;
key: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: AgentSignerKeyType.Cosmos;
key: string;
prefix: string;
}, {
type: AgentSignerKeyType.Cosmos;
key: string;
prefix: string;
}>, z.ZodObject<{
type: z.ZodLiteral<AgentSignerKeyType.Node>;
}, "strip", z.ZodTypeAny, {
type: AgentSignerKeyType.Node;
}, {
type: AgentSignerKeyType.Node;
}>]>;
export type AgentSignerHexKey = z.infer<typeof AgentSignerHexKeySchema>;
export type AgentSignerAwsKey = z.infer<typeof AgentSignerAwsKeySchema>;
export type AgentSignerCosmosKey = z.infer<typeof AgentSignerNodeSchema>;
export type AgentSignerNode = z.infer<typeof AgentSignerNodeSchema>;
export type AgentSigner = z.infer<typeof AgentSignerSchema>;
declare const AgentCosmosChainMetadataSchema: z.ZodObject<{
canonicalAsset: z.ZodString;
gasPrice: z.ZodObject<{
denom: z.ZodString;
amount: z.ZodString;
}, "strip", z.ZodTypeAny, {
denom: string;
amount: string;
}, {
denom: string;
amount: string;
}>;
contractAddressBytes: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
gasPrice: {
denom: string;
amount: string;
};
canonicalAsset: string;
contractAddressBytes: number;
}, {
gasPrice: {
denom: string;
amount: string;
};
canonicalAsset: string;
contractAddressBytes: number;
}>;
export type AgentCosmosGasPrice = z.infer<typeof AgentCosmosChainMetadataSchema>['gasPrice'];
declare const AgentSealevelChainMetadataSchema: z.ZodObject<{
priorityFeeOracle: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<AgentSealevelPriorityFeeOracleType.Helius>;
url: z.ZodString;
feeLevel: z.ZodNativeEnum<typeof AgentSealevelHeliusFeeLevel>;
}, "strip", z.ZodTypeAny, {
type: AgentSealevelPriorityFeeOracleType.Helius;
url: string;
feeLevel: AgentSealevelHeliusFeeLevel;
}, {
type: AgentSealevelPriorityFeeOracleType.Helius;
url: string;
feeLevel: AgentSealevelHeliusFeeLevel;
}>, z.ZodObject<{
type: z.ZodLiteral<AgentSealevelPriorityFeeOracleType.Constant>;
fee: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
}, "strip", z.ZodTypeAny, {
type: AgentSealevelPriorityFeeOracleType.Constant;
fee: string | number;
}, {
type: AgentSealevelPriorityFeeOracleType.Constant;
fee: string | number;
}>]>>;
transactionSubmitter: z.ZodOptional<z.ZodObject<{
type: z.ZodNativeEnum<typeof AgentSealevelTransactionSubmitterType>;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: AgentSealevelTransactionSubmitterType;
url?: string | undefined;
}, {
type: AgentSealevelTransactionSubmitterType;
url?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
priorityFeeOracle?: {
type: AgentSealevelPriorityFeeOracleType.Helius;
url: string;
feeLevel: AgentSealevelHeliusFeeLevel;
} | {
type: AgentSealevelPriorityFeeOracleType.Constant;
fee: string | number;
} | undefined;
transactionSubmitter?: {
type: AgentSealevelTransactionSubmitterType;
url?: string | undefined;
} | undefined;
}, {
priorityFeeOracle?: {
type: AgentSealevelPriorityFeeOracleType.Helius;
url: string;
feeLevel: AgentSealevelHeliusFeeLevel;
} | {
type: AgentSealevelPriorityFeeOracleType.Constant;
fee: string | number;
} | undefined;
transactionSubmitter?: {
type: AgentSealevelTransactionSubmitterType;
url?: string | undefined;
} | undefined;
}>;
export type AgentSealevelChainMetadata = z.infer<typeof AgentSealevelChainMetadataSchema>;
export type AgentSealevelPriorityFeeOracle = AgentSealevelChainMetadata['priorityFeeOracle'];
export type AgentSealevelTransactionSubmitter = AgentSealevelChainMetadata['transactionSubmitter'];
export declare const AgentChainMetadataSchema: z.ZodEffects<z.ZodObject<{
name: z.ZodString;
availability: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
status: z.ZodLiteral<import("@hyperlane-xyz/sdk").ChainStatus.Disabled>;
reasons: z.ZodArray<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ChainDisabledReason>, "many">;
}, "strip", z.ZodTypeAny, {
status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled;
reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[];
}, {
status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled;
reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[];
}>, z.ZodObject<{
status: z.ZodLiteral<import("@hyperlane-xyz/sdk").ChainStatus.Live>;
}, "strip", z.ZodTypeAny, {
status: import("@hyperlane-xyz/sdk").ChainStatus.Live;
}, {
status: import("@hyperlane-xyz/sdk").ChainStatus.Live;
}>]>>;
bech32Prefix: z.ZodOptional<z.ZodString>;
blockExplorers: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
url: z.ZodString;
apiUrl: z.ZodString;
apiKey: z.ZodOptional<z.ZodString>;
family: z.ZodOptional<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ExplorerFamily>>;
}, "strip", z.ZodTypeAny, {
name: string;
url: string;
apiUrl: string;
apiKey?: string | undefined;
family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined;
}, {
name: string;
url: string;
apiUrl: string;
apiKey?: string | undefined;
family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined;
}>, "many">>;
blocks: z.ZodOptional<z.ZodObject<{
confirmations: z.ZodNumber;
reorgPeriod: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
estimateBlockTime: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
confirmations: number;
reorgPeriod?: string | number | undefined;
estimateBlockTime?: number | undefined;
}, {
confirmations: number;
reorgPeriod?: string | number | undefined;
estimateBlockTime?: number | undefined;
}>>;
bypassBatchSimulation: z.ZodOptional<z.ZodBoolean>;
chainId: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
customGrpcUrls: z.ZodOptional<z.ZodString>;
deployer: z.ZodOptional<z.ZodObject<{
name: z.ZodString;
email: z.ZodOptional<z.ZodString>;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
email?: string | undefined;
url?: string | undefined;
}, {
name: string;
email?: string | undefined;
url?: string | undefined;
}>>;
displayName: z.ZodOptional<z.ZodString>;
displayNameShort: z.ZodOptional<z.ZodString>;
domainId: z.ZodNumber;
gasCurrencyCoinGeckoId: z.ZodOptional<z.ZodString>;
gnosisSafeTransactionServiceUrl: z.ZodOptional<z.ZodString>;
grpcUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
http: z.ZodString;
concurrency: z.ZodOptional<z.ZodNumber>;
webSocket: z.ZodOptional<z.ZodString>;
pagination: z.ZodOptional<z.ZodObject<{
maxBlockRange: z.ZodOptional<z.ZodNumber>;
minBlockNumber: z.ZodOptional<z.ZodNumber>;
maxBlockAge: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}>>;
retry: z.ZodOptional<z.ZodObject<{
maxRequests: z.ZodNumber;
baseRetryMs: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
maxRequests: number;
baseRetryMs: number;
}, {
maxRequests: number;
baseRetryMs: number;
}>>;
public: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}>, "many">>;
index: z.ZodOptional<z.ZodObject<{
from: z.ZodOptional<z.ZodNumber>;
chunk: z.ZodOptional<z.ZodNumber>;
mode: z.ZodOptional<z.ZodNativeEnum<typeof AgentIndexMode>>;
}, "strip", z.ZodTypeAny, {
from?: number | undefined;
chunk?: number | undefined;
mode?: AgentIndexMode | undefined;
}, {
from?: number | undefined;
chunk?: number | undefined;
mode?: AgentIndexMode | undefined;
}>>;
isTestnet: z.ZodOptional<z.ZodBoolean>;
logoURI: z.ZodOptional<z.ZodString>;
nativeToken: z.ZodOptional<z.ZodObject<{
name: z.ZodString;
symbol: z.ZodString;
decimals: z.ZodNumber;
denom: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
symbol: string;
name: string;
decimals: number;
denom?: string | undefined;
}, {
symbol: string;
name: string;
decimals: number;
denom?: string | undefined;
}>>;
protocol: z.ZodNativeEnum<typeof ProtocolType>;
restUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
http: z.ZodString;
concurrency: z.ZodOptional<z.ZodNumber>;
webSocket: z.ZodOptional<z.ZodString>;
pagination: z.ZodOptional<z.ZodObject<{
maxBlockRange: z.ZodOptional<z.ZodNumber>;
minBlockNumber: z.ZodOptional<z.ZodNumber>;
maxBlockAge: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}>>;
retry: z.ZodOptional<z.ZodObject<{
maxRequests: z.ZodNumber;
baseRetryMs: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
maxRequests: number;
baseRetryMs: number;
}, {
maxRequests: number;
baseRetryMs: number;
}>>;
public: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}>, "many">>;
rpcUrls: z.ZodArray<z.ZodObject<{
http: z.ZodString;
concurrency: z.ZodOptional<z.ZodNumber>;
webSocket: z.ZodOptional<z.ZodString>;
pagination: z.ZodOptional<z.ZodObject<{
maxBlockRange: z.ZodOptional<z.ZodNumber>;
minBlockNumber: z.ZodOptional<z.ZodNumber>;
maxBlockAge: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}>>;
retry: z.ZodOptional<z.ZodObject<{
maxRequests: z.ZodNumber;
baseRetryMs: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
maxRequests: number;
baseRetryMs: number;
}, {
maxRequests: number;
baseRetryMs: number;
}>>;
public: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}>, "many">;
slip44: z.ZodOptional<z.ZodNumber>;
technicalStack: z.ZodOptional<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ChainTechnicalStack>>;
transactionOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
gasPrice: z.ZodOptional<z.ZodObject<{
denom: z.ZodString;
amount: z.ZodString;
}, "strip", z.ZodTypeAny, {
denom: string;
amount: string;
}, {
denom: string;
amount: string;
}>>;
signer: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Hex>>;
key: z.ZodString;
}, "strip", z.ZodTypeAny, {
key: string;
type?: AgentSignerKeyType.Hex | undefined;
}, {
key: string;
type?: AgentSignerKeyType.Hex | undefined;
}>, z.ZodObject<{
type: z.ZodOptional<z.ZodLiteral<AgentSignerKeyType.Aws>>;
id: z.ZodString;
region: z.ZodString;
}, "strip", z.ZodTypeAny, {
id: string;
region: string;
type?: AgentSignerKeyType.Aws | undefined;
}, {
id: string;
region: string;
type?: AgentSignerKeyType.Aws | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<AgentSignerKeyType.Cosmos>;
prefix: z.ZodString;
key: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: AgentSignerKeyType.Cosmos;
key: string;
prefix: string;
}, {
type: AgentSignerKeyType.Cosmos;
key: string;
prefix: string;
}>, z.ZodObject<{
type: z.ZodLiteral<AgentSignerKeyType.Node>;
}, "strip", z.ZodTypeAny, {
type: AgentSignerKeyType.Node;
}, {
type: AgentSignerKeyType.Node;
}>]>>;
merkleTreeHook: z.ZodString;
interchainGasPaymaster: z.ZodString;
mailbox: z.ZodString;
interchainSecurityModule: z.ZodOptional<z.ZodString>;
validatorAnnounce: z.ZodString;
canonicalAsset: z.ZodOptional<z.ZodString>;
contractAddressBytes: z.ZodOptional<z.ZodNumber>;
customRpcUrls: z.ZodOptional<z.ZodString>;
rpcConsensusType: z.ZodOptional<z.ZodNativeEnum<typeof RpcConsensusType>>;
priorityFeeOracle: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodLiteral<AgentSealevelPriorityFeeOracleType.Helius>;
url: z.ZodString;
feeLevel: z.ZodNativeEnum<typeof AgentSealevelHeliusFeeLevel>;
}, "strip", z.ZodTypeAny, {
type: AgentSealevelPriorityFeeOracleType.Helius;
url: string;
feeLevel: AgentSealevelHeliusFeeLevel;
}, {
type: AgentSealevelPriorityFeeOracleType.Helius;
url: string;
feeLevel: AgentSealevelHeliusFeeLevel;
}>, z.ZodObject<{
type: z.ZodLiteral<AgentSealevelPriorityFeeOracleType.Constant>;
fee: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
}, "strip", z.ZodTypeAny, {
type: AgentSealevelPriorityFeeOracleType.Constant;
fee: string | number;
}, {
type: AgentSealevelPriorityFeeOracleType.Constant;
fee: string | number;
}>]>>>;
transactionSubmitter: z.ZodOptional<z.ZodOptional<z.ZodObject<{
type: z.ZodNativeEnum<typeof AgentSealevelTransactionSubmitterType>;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: AgentSealevelTransactionSubmitterType;
url?: string | undefined;
}, {
type: AgentSealevelTransactionSubmitterType;
url?: string | undefined;
}>>>;
}, "strip", z.ZodTypeAny, {
name: string;
chainId: string | number;
domainId: number;
protocol: ProtocolType;
rpcUrls: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[];
merkleTreeHook: string;
interchainGasPaymaster: string;
mailbox: string;
validatorAnnounce: string;
availability?: {
status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled;
reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[];
} | {
status: import("@hyperlane-xyz/sdk").ChainStatus.Live;
} | undefined;
bech32Prefix?: string | undefined;
blockExplorers?: {
name: string;
url: string;
apiUrl: string;
apiKey?: string | undefined;
family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined;
}[] | undefined;
blocks?: {
confirmations: number;
reorgPeriod?: string | number | undefined;
estimateBlockTime?: number | undefined;
} | undefined;
bypassBatchSimulation?: boolean | undefined;
customGrpcUrls?: string | undefined;
deployer?: {
name: string;
email?: string | undefined;
url?: string | undefined;
} | undefined;
displayName?: string | undefined;
displayNameShort?: string | undefined;
gasCurrencyCoinGeckoId?: string | undefined;
gnosisSafeTransactionServiceUrl?: string | undefined;
grpcUrls?: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[] | undefined;
index?: {
from?: number | undefined;
chunk?: number | undefined;
mode?: AgentIndexMode | undefined;
} | undefined;
isTestnet?: boolean | undefined;
logoURI?: string | undefined;
nativeToken?: {
symbol: string;
name: string;
decimals: number;
denom?: string | undefined;
} | undefined;
restUrls?: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[] | undefined;
slip44?: number | undefined;
technicalStack?: import("@hyperlane-xyz/sdk").ChainTechnicalStack | undefined;
transactionOverrides?: Record<string, any> | undefined;
gasPrice?: {
denom: string;
amount: string;
} | undefined;
signer?: {
key: string;
type?: AgentSignerKeyType.Hex | undefined;
} | {
id: string;
region: string;
type?: AgentSignerKeyType.Aws | undefined;
} | {
type: AgentSignerKeyType.Cosmos;
key: string;
prefix: string;
} | {
type: AgentSignerKeyType.Node;
} | undefined;
interchainSecurityModule?: string | undefined;
canonicalAsset?: string | undefined;
contractAddressBytes?: number | undefined;
customRpcUrls?: string | undefined;
rpcConsensusType?: RpcConsensusType | undefined;
priorityFeeOracle?: {
type: AgentSealevelPriorityFeeOracleType.Helius;
url: string;
feeLevel: AgentSealevelHeliusFeeLevel;
} | {
type: AgentSealevelPriorityFeeOracleType.Constant;
fee: string | number;
} | undefined;
transactionSubmitter?: {
type: AgentSealevelTransactionSubmitterType;
url?: string | undefined;
} | undefined;
}, {
name: string;
chainId: string | number;
domainId: number;
protocol: ProtocolType;
rpcUrls: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[];
merkleTreeHook: string;
interchainGasPaymaster: string;
mailbox: string;
validatorAnnounce: string;
availability?: {
status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled;
reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[];
} | {
status: import("@hyperlane-xyz/sdk").ChainStatus.Live;
} | undefined;
bech32Prefix?: string | undefined;
blockExplorers?: {
name: string;
url: string;
apiUrl: string;
apiKey?: string | undefined;
family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined;
}[] | undefined;
blocks?: {
confirmations: number;
reorgPeriod?: string | number | undefined;
estimateBlockTime?: number | undefined;
} | undefined;
bypassBatchSimulation?: boolean | undefined;
customGrpcUrls?: string | undefined;
deployer?: {
name: string;
email?: string | undefined;
url?: string | undefined;
} | undefined;
displayName?: string | undefined;
displayNameShort?: string | undefined;
gasCurrencyCoinGeckoId?: string | undefined;
gnosisSafeTransactionServiceUrl?: string | undefined;
grpcUrls?: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[] | undefined;
index?: {
from?: number | undefined;
chunk?: number | undefined;
mode?: AgentIndexMode | undefined;
} | undefined;
isTestnet?: boolean | undefined;
logoURI?: string | undefined;
nativeToken?: {
symbol: string;
name: string;
decimals: number;
denom?: string | undefined;
} | undefined;
restUrls?: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[] | undefined;
slip44?: number | undefined;
technicalStack?: import("@hyperlane-xyz/sdk").ChainTechnicalStack | undefined;
transactionOverrides?: Record<string, any> | undefined;
gasPrice?: {
denom: string;
amount: string;
} | undefined;
signer?: {
key: string;
type?: AgentSignerKeyType.Hex | undefined;
} | {
id: string;
region: string;
type?: AgentSignerKeyType.Aws | undefined;
} | {
type: AgentSignerKeyType.Cosmos;
key: string;
prefix: string;
} | {
type: AgentSignerKeyType.Node;
} | undefined;
interchainSecurityModule?: string | undefined;
canonicalAsset?: string | undefined;
contractAddressBytes?: number | undefined;
customRpcUrls?: string | undefined;
rpcConsensusType?: RpcConsensusType | undefined;
priorityFeeOracle?: {
type: AgentSealevelPriorityFeeOracleType.Helius;
url: string;
feeLevel: AgentSealevelHeliusFeeLevel;
} | {
type: AgentSealevelPriorityFeeOracleType.Constant;
fee: string | number;
} | undefined;
transactionSubmitter?: {
type: AgentSealevelTransactionSubmitterType;
url?: string | undefined;
} | undefined;
}>, {
name: string;
chainId: string | number;
domainId: number;
protocol: ProtocolType;
rpcUrls: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[];
merkleTreeHook: string;
interchainGasPaymaster: string;
mailbox: string;
validatorAnnounce: string;
availability?: {
status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled;
reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[];
} | {
status: import("@hyperlane-xyz/sdk").ChainStatus.Live;
} | undefined;
bech32Prefix?: string | undefined;
blockExplorers?: {
name: string;
url: string;
apiUrl: string;
apiKey?: string | undefined;
family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined;
}[] | undefined;
blocks?: {
confirmations: number;
reorgPeriod?: string | number | undefined;
estimateBlockTime?: number | undefined;
} | undefined;
bypassBatchSimulation?: boolean | undefined;
customGrpcUrls?: string | undefined;
deployer?: {
name: string;
email?: string | undefined;
url?: string | undefined;
} | undefined;
displayName?: string | undefined;
displayNameShort?: string | undefined;
gasCurrencyCoinGeckoId?: string | undefined;
gnosisSafeTransactionServiceUrl?: string | undefined;
grpcUrls?: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[] | undefined;
index?: {
from?: number | undefined;
chunk?: number | undefined;
mode?: AgentIndexMode | undefined;
} | undefined;
isTestnet?: boolean | undefined;
logoURI?: string | undefined;
nativeToken?: {
symbol: string;
name: string;
decimals: number;
denom?: string | undefined;
} | undefined;
restUrls?: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[] | undefined;
slip44?: number | undefined;
technicalStack?: import("@hyperlane-xyz/sdk").ChainTechnicalStack | undefined;
transactionOverrides?: Record<string, any> | undefined;
gasPrice?: {
denom: string;
amount: string;
} | undefined;
signer?: {
key: string;
type?: AgentSignerKeyType.Hex | undefined;
} | {
id: string;
region: string;
type?: AgentSignerKeyType.Aws | undefined;
} | {
type: AgentSignerKeyType.Cosmos;
key: string;
prefix: string;
} | {
type: AgentSignerKeyType.Node;
} | undefined;
interchainSecurityModule?: string | undefined;
canonicalAsset?: string | undefined;
contractAddressBytes?: number | undefined;
customRpcUrls?: string | undefined;
rpcConsensusType?: RpcConsensusType | undefined;
priorityFeeOracle?: {
type: AgentSealevelPriorityFeeOracleType.Helius;
url: string;
feeLevel: AgentSealevelHeliusFeeLevel;
} | {
type: AgentSealevelPriorityFeeOracleType.Constant;
fee: string | number;
} | undefined;
transactionSubmitter?: {
type: AgentSealevelTransactionSubmitterType;
url?: string | undefined;
} | undefined;
}, {
name: string;
chainId: string | number;
domainId: number;
protocol: ProtocolType;
rpcUrls: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[];
merkleTreeHook: string;
interchainGasPaymaster: string;
mailbox: string;
validatorAnnounce: string;
availability?: {
status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled;
reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[];
} | {
status: import("@hyperlane-xyz/sdk").ChainStatus.Live;
} | undefined;
bech32Prefix?: string | undefined;
blockExplorers?: {
name: string;
url: string;
apiUrl: string;
apiKey?: string | undefined;
family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined;
}[] | undefined;
blocks?: {
confirmations: number;
reorgPeriod?: string | number | undefined;
estimateBlockTime?: number | undefined;
} | undefined;
bypassBatchSimulation?: boolean | undefined;
customGrpcUrls?: string | undefined;
deployer?: {
name: string;
email?: string | undefined;
url?: string | undefined;
} | undefined;
displayName?: string | undefined;
displayNameShort?: string | undefined;
gasCurrencyCoinGeckoId?: string | undefined;
gnosisSafeTransactionServiceUrl?: string | undefined;
grpcUrls?: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[] | undefined;
index?: {
from?: number | undefined;
chunk?: number | undefined;
mode?: AgentIndexMode | undefined;
} | undefined;
isTestnet?: boolean | undefined;
logoURI?: string | undefined;
nativeToken?: {
symbol: string;
name: string;
decimals: number;
denom?: string | undefined;
} | undefined;
restUrls?: {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}[] | undefined;
slip44?: number | undefined;
technicalStack?: import("@hyperlane-xyz/sdk").ChainTechnicalStack | undefined;
transactionOverrides?: Record<string, any> | undefined;
gasPrice?: {
denom: string;
amount: string;
} | undefined;
signer?: {
key: string;
type?: AgentSignerKeyType.Hex | undefined;
} | {
id: string;
region: string;
type?: AgentSignerKeyType.Aws | undefined;
} | {
type: AgentSignerKeyType.Cosmos;
key: string;
prefix: string;
} | {
type: AgentSignerKeyType.Node;
} | undefined;
interchainSecurityModule?: string | undefined;
canonicalAsset?: string | undefined;
contractAddressBytes?: number | undefined;
customRpcUrls?: string | undefined;
rpcConsensusType?: RpcConsensusType | undefined;
priorityFeeOracle?: {
type: AgentSealevelPriorityFeeOracleType.Helius;
url: string;
feeLevel: AgentSealevelHeliusFeeLevel;
} | {
type: AgentSealevelPriorityFeeOracleType.Constant;
fee: string | number;
} | undefined;
transactionSubmitter?: {
type: AgentSealevelTransactionSubmitterType;
url?: string | undefined;
} | undefined;
}>;
export type AgentChainMetadata = z.infer<typeof AgentChainMetadataSchema>;
export declare const AgentConfigSchema: z.ZodObject<{
metricsPort: z.ZodOptional<z.ZodNumber>;
chains: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodObject<{
name: z.ZodString;
availability: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
status: z.ZodLiteral<import("@hyperlane-xyz/sdk").ChainStatus.Disabled>;
reasons: z.ZodArray<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ChainDisabledReason>, "many">;
}, "strip", z.ZodTypeAny, {
status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled;
reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[];
}, {
status: import("@hyperlane-xyz/sdk").ChainStatus.Disabled;
reasons: import("@hyperlane-xyz/sdk").ChainDisabledReason[];
}>, z.ZodObject<{
status: z.ZodLiteral<import("@hyperlane-xyz/sdk").ChainStatus.Live>;
}, "strip", z.ZodTypeAny, {
status: import("@hyperlane-xyz/sdk").ChainStatus.Live;
}, {
status: import("@hyperlane-xyz/sdk").ChainStatus.Live;
}>]>>;
bech32Prefix: z.ZodOptional<z.ZodString>;
blockExplorers: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
url: z.ZodString;
apiUrl: z.ZodString;
apiKey: z.ZodOptional<z.ZodString>;
family: z.ZodOptional<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ExplorerFamily>>;
}, "strip", z.ZodTypeAny, {
name: string;
url: string;
apiUrl: string;
apiKey?: string | undefined;
family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined;
}, {
name: string;
url: string;
apiUrl: string;
apiKey?: string | undefined;
family?: import("@hyperlane-xyz/sdk").ExplorerFamily | undefined;
}>, "many">>;
blocks: z.ZodOptional<z.ZodObject<{
confirmations: z.ZodNumber;
reorgPeriod: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
estimateBlockTime: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
confirmations: number;
reorgPeriod?: string | number | undefined;
estimateBlockTime?: number | undefined;
}, {
confirmations: number;
reorgPeriod?: string | number | undefined;
estimateBlockTime?: number | undefined;
}>>;
bypassBatchSimulation: z.ZodOptional<z.ZodBoolean>;
chainId: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
customGrpcUrls: z.ZodOptional<z.ZodString>;
deployer: z.ZodOptional<z.ZodObject<{
name: z.ZodString;
email: z.ZodOptional<z.ZodString>;
url: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
email?: string | undefined;
url?: string | undefined;
}, {
name: string;
email?: string | undefined;
url?: string | undefined;
}>>;
displayName: z.ZodOptional<z.ZodString>;
displayNameShort: z.ZodOptional<z.ZodString>;
domainId: z.ZodNumber;
gasCurrencyCoinGeckoId: z.ZodOptional<z.ZodString>;
gnosisSafeTransactionServiceUrl: z.ZodOptional<z.ZodString>;
grpcUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
http: z.ZodString;
concurrency: z.ZodOptional<z.ZodNumber>;
webSocket: z.ZodOptional<z.ZodString>;
pagination: z.ZodOptional<z.ZodObject<{
maxBlockRange: z.ZodOptional<z.ZodNumber>;
minBlockNumber: z.ZodOptional<z.ZodNumber>;
maxBlockAge: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}>>;
retry: z.ZodOptional<z.ZodObject<{
maxRequests: z.ZodNumber;
baseRetryMs: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
maxRequests: number;
baseRetryMs: number;
}, {
maxRequests: number;
baseRetryMs: number;
}>>;
public: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}>, "many">>;
index: z.ZodOptional<z.ZodObject<{
from: z.ZodOptional<z.ZodNumber>;
chunk: z.ZodOptional<z.ZodNumber>;
mode: z.ZodOptional<z.ZodNativeEnum<typeof AgentIndexMode>>;
}, "strip", z.ZodTypeAny, {
from?: number | undefined;
chunk?: number | undefined;
mode?: AgentIndexMode | undefined;
}, {
from?: number | undefined;
chunk?: number | undefined;
mode?: AgentIndexMode | undefined;
}>>;
isTestnet: z.ZodOptional<z.ZodBoolean>;
logoURI: z.ZodOptional<z.ZodString>;
nativeToken: z.ZodOptional<z.ZodObject<{
name: z.ZodString;
symbol: z.ZodString;
decimals: z.ZodNumber;
denom: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
symbol: string;
name: string;
decimals: number;
denom?: string | undefined;
}, {
symbol: string;
name: string;
decimals: number;
denom?: string | undefined;
}>>;
protocol: z.ZodNativeEnum<typeof ProtocolType>;
restUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
http: z.ZodString;
concurrency: z.ZodOptional<z.ZodNumber>;
webSocket: z.ZodOptional<z.ZodString>;
pagination: z.ZodOptional<z.ZodObject<{
maxBlockRange: z.ZodOptional<z.ZodNumber>;
minBlockNumber: z.ZodOptional<z.ZodNumber>;
maxBlockAge: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}>>;
retry: z.ZodOptional<z.ZodObject<{
maxRequests: z.ZodNumber;
baseRetryMs: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
maxRequests: number;
baseRetryMs: number;
}, {
maxRequests: number;
baseRetryMs: number;
}>>;
public: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}>, "many">>;
rpcUrls: z.ZodArray<z.ZodObject<{
http: z.ZodString;
concurrency: z.ZodOptional<z.ZodNumber>;
webSocket: z.ZodOptional<z.ZodString>;
pagination: z.ZodOptional<z.ZodObject<{
maxBlockRange: z.ZodOptional<z.ZodNumber>;
minBlockNumber: z.ZodOptional<z.ZodNumber>;
maxBlockAge: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}, {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
}>>;
retry: z.ZodOptional<z.ZodObject<{
maxRequests: z.ZodNumber;
baseRetryMs: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
maxRequests: number;
baseRetryMs: number;
}, {
maxRequests: number;
baseRetryMs: number;
}>>;
public: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}, {
http: string;
concurrency?: number | undefined;
webSocket?: string | undefined;
pagination?: {
maxBlockRange?: number | undefined;
minBlockNumber?: number | undefined;
maxBlockAge?: number | undefined;
} | undefined;
retry?: {
maxRequests: number;
baseRetryMs: number;
} | undefined;
public?: boolean | undefined;
}>, "many">;
slip44: z.ZodOptional<z.ZodNumber>;
technicalStack: z.ZodOptional<z.ZodNativeEnum<typeof import("@hyperlane-xyz/sdk").ChainTechnicalStack>>;
transactionOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
gasPrice: z.ZodOptional<z.ZodObject<{
denom: z.ZodString;
amount: z.ZodString;
}, "strip", z.ZodTypeAny, {
denom: string;
amount: string;
}, {
denom: string;
amount: string;
}>>;
signer: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
type: z.ZodOptional<