@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
336 lines • 12.3 kB
TypeScript
import { z } from 'zod';
import type { TypedTransaction } from '../providers/ProviderType.js';
import type { TokenAmount } from '../token/TokenAmount.js';
import type { ChainName } from '../types.js';
/**
* Configuration used for instantiating a WarpCore
* Contains the relevant tokens and their connections
*/
declare const FeeConstantConfigSchema: z.ZodArray<z.ZodObject<{
origin: z.ZodString;
destination: z.ZodString;
amount: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBigInt]>;
addressOrDenom: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}, {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}>, "many">;
export declare const WarpCoreConfigSchema: z.ZodObject<{
tokens: z.ZodArray<z.ZodObject<{
chainName: z.ZodString;
standard: z.ZodNativeEnum<typeof import("../index.js").TokenStandard>;
decimals: z.ZodNumber;
symbol: z.ZodString;
name: z.ZodString;
addressOrDenom: z.ZodUnion<[z.ZodString, z.ZodNull]>;
collateralAddressOrDenom: z.ZodOptional<z.ZodString>;
igpTokenAddressOrDenom: z.ZodOptional<z.ZodString>;
logoURI: z.ZodOptional<z.ZodString>;
connections: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
type: z.ZodOptional<z.ZodLiteral<import("../index.js").TokenConnectionType.Hyperlane>>;
token: z.ZodString;
}, "strip", z.ZodTypeAny, {
token: string;
type?: import("../index.js").TokenConnectionType.Hyperlane | undefined;
}, {
token: string;
type?: import("../index.js").TokenConnectionType.Hyperlane | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<import("../index.js").TokenConnectionType.Ibc>;
token: z.ZodString;
sourcePort: z.ZodString;
sourceChannel: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../index.js").TokenConnectionType.Ibc;
token: string;
sourcePort: string;
sourceChannel: string;
}, {
type: import("../index.js").TokenConnectionType.Ibc;
token: string;
sourcePort: string;
sourceChannel: string;
}>]>, z.ZodObject<{
type: z.ZodLiteral<import("../index.js").TokenConnectionType.IbcHyperlane>;
token: z.ZodString;
sourcePort: z.ZodString;
sourceChannel: z.ZodString;
intermediateChainName: z.ZodString;
intermediateIbcDenom: z.ZodString;
intermediateRouterAddress: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: import("../index.js").TokenConnectionType.IbcHyperlane;
token: string;
sourcePort: string;
sourceChannel: string;
intermediateRouterAddress: string;
intermediateChainName: string;
intermediateIbcDenom: string;
}, {
type: import("../index.js").TokenConnectionType.IbcHyperlane;
token: string;
sourcePort: string;
sourceChannel: string;
intermediateRouterAddress: string;
intermediateChainName: string;
intermediateIbcDenom: string;
}>]>, "many">>;
coinGeckoId: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
symbol: string;
name: string;
decimals: number;
standard: import("../index.js").TokenStandard;
chainName: string;
addressOrDenom: string | null;
collateralAddressOrDenom?: string | undefined;
igpTokenAddressOrDenom?: string | undefined;
logoURI?: string | undefined;
connections?: ({
token: string;
type?: import("../index.js").TokenConnectionType.Hyperlane | undefined;
} | {
type: import("../index.js").TokenConnectionType.Ibc;
token: string;
sourcePort: string;
sourceChannel: string;
} | {
type: import("../index.js").TokenConnectionType.IbcHyperlane;
token: string;
sourcePort: string;
sourceChannel: string;
intermediateRouterAddress: string;
intermediateChainName: string;
intermediateIbcDenom: string;
})[] | undefined;
coinGeckoId?: string | undefined;
}, {
symbol: string;
name: string;
decimals: number;
standard: import("../index.js").TokenStandard;
chainName: string;
addressOrDenom: string | null;
collateralAddressOrDenom?: string | undefined;
igpTokenAddressOrDenom?: string | undefined;
logoURI?: string | undefined;
connections?: ({
token: string;
type?: import("../index.js").TokenConnectionType.Hyperlane | undefined;
} | {
type: import("../index.js").TokenConnectionType.Ibc;
token: string;
sourcePort: string;
sourceChannel: string;
} | {
type: import("../index.js").TokenConnectionType.IbcHyperlane;
token: string;
sourcePort: string;
sourceChannel: string;
intermediateRouterAddress: string;
intermediateChainName: string;
intermediateIbcDenom: string;
})[] | undefined;
coinGeckoId?: string | undefined;
}>, "many">;
options: z.ZodOptional<z.ZodObject<{
localFeeConstants: z.ZodOptional<z.ZodArray<z.ZodObject<{
origin: z.ZodString;
destination: z.ZodString;
amount: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBigInt]>;
addressOrDenom: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}, {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}>, "many">>;
interchainFeeConstants: z.ZodOptional<z.ZodArray<z.ZodObject<{
origin: z.ZodString;
destination: z.ZodString;
amount: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBigInt]>;
addressOrDenom: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}, {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}>, "many">>;
routeBlacklist: z.ZodOptional<z.ZodArray<z.ZodObject<{
origin: z.ZodString;
destination: z.ZodString;
}, "strip", z.ZodTypeAny, {
origin: string;
destination: string;
}, {
origin: string;
destination: string;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
localFeeConstants?: {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}[] | undefined;
interchainFeeConstants?: {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}[] | undefined;
routeBlacklist?: {
origin: string;
destination: string;
}[] | undefined;
}, {
localFeeConstants?: {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}[] | undefined;
interchainFeeConstants?: {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}[] | undefined;
routeBlacklist?: {
origin: string;
destination: string;
}[] | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
tokens: {
symbol: string;
name: string;
decimals: number;
standard: import("../index.js").TokenStandard;
chainName: string;
addressOrDenom: string | null;
collateralAddressOrDenom?: string | undefined;
igpTokenAddressOrDenom?: string | undefined;
logoURI?: string | undefined;
connections?: ({
token: string;
type?: import("../index.js").TokenConnectionType.Hyperlane | undefined;
} | {
type: import("../index.js").TokenConnectionType.Ibc;
token: string;
sourcePort: string;
sourceChannel: string;
} | {
type: import("../index.js").TokenConnectionType.IbcHyperlane;
token: string;
sourcePort: string;
sourceChannel: string;
intermediateRouterAddress: string;
intermediateChainName: string;
intermediateIbcDenom: string;
})[] | undefined;
coinGeckoId?: string | undefined;
}[];
options?: {
localFeeConstants?: {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}[] | undefined;
interchainFeeConstants?: {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}[] | undefined;
routeBlacklist?: {
origin: string;
destination: string;
}[] | undefined;
} | undefined;
}, {
tokens: {
symbol: string;
name: string;
decimals: number;
standard: import("../index.js").TokenStandard;
chainName: string;
addressOrDenom: string | null;
collateralAddressOrDenom?: string | undefined;
igpTokenAddressOrDenom?: string | undefined;
logoURI?: string | undefined;
connections?: ({
token: string;
type?: import("../index.js").TokenConnectionType.Hyperlane | undefined;
} | {
type: import("../index.js").TokenConnectionType.Ibc;
token: string;
sourcePort: string;
sourceChannel: string;
} | {
type: import("../index.js").TokenConnectionType.IbcHyperlane;
token: string;
sourcePort: string;
sourceChannel: string;
intermediateRouterAddress: string;
intermediateChainName: string;
intermediateIbcDenom: string;
})[] | undefined;
coinGeckoId?: string | undefined;
}[];
options?: {
localFeeConstants?: {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}[] | undefined;
interchainFeeConstants?: {
origin: string;
amount: string | number | bigint;
destination: string;
addressOrDenom?: string | undefined;
}[] | undefined;
routeBlacklist?: {
origin: string;
destination: string;
}[] | undefined;
} | undefined;
}>;
export type FeeConstantConfig = z.infer<typeof FeeConstantConfigSchema>;
export type RouteBlacklist = Array<{
origin: ChainName;
destination: ChainName;
}>;
export declare enum WarpTxCategory {
Approval = "approval",
Transfer = "transfer"
}
export type WarpTypedTransaction = TypedTransaction & {
category: WarpTxCategory;
};
export type WarpCoreConfig = z.infer<typeof WarpCoreConfigSchema>;
export interface WarpCoreFeeEstimate {
interchainQuote: TokenAmount;
localQuote: TokenAmount;
}
export {};
//# sourceMappingURL=types.d.ts.map