@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
390 lines • 14.4 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, {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}, {
amount: string | number | bigint;
destination: string;
origin: 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.ZodEffects<z.ZodNullable<z.ZodString>, string, string | null>;
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;
intermediateChainName: string;
intermediateIbcDenom: string;
intermediateRouterAddress: string;
}, {
type: import("../index.js").TokenConnectionType.IbcHyperlane;
token: string;
sourcePort: string;
sourceChannel: string;
intermediateChainName: string;
intermediateIbcDenom: string;
intermediateRouterAddress: string;
}>]>, "many">>;
coinGeckoId: z.ZodOptional<z.ZodString>;
scale: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
numerator: z.ZodNumber;
denominator: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
numerator: number;
denominator: number;
}, {
numerator: number;
denominator: number;
}>, z.ZodObject<{
numerator: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>, bigint, string | number | bigint>;
denominator: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodBigInt, z.ZodNumber]>, z.ZodString]>, bigint, string | number | bigint>, bigint, string | number | bigint>;
}, "strip", z.ZodTypeAny, {
numerator: bigint;
denominator: bigint;
}, {
numerator: string | number | bigint;
denominator: string | number | bigint;
}>]>>;
warpRouteId: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
symbol: string;
name: string;
decimals: number;
chainName: string;
standard: import("../index.js").TokenStandard;
addressOrDenom: string;
logoURI?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
collateralAddressOrDenom?: string | undefined;
igpTokenAddressOrDenom?: 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;
intermediateChainName: string;
intermediateIbcDenom: string;
intermediateRouterAddress: string;
})[] | undefined;
coinGeckoId?: string | undefined;
warpRouteId?: string | undefined;
}, {
symbol: string;
name: string;
decimals: number;
chainName: string;
standard: import("../index.js").TokenStandard;
addressOrDenom: string | null;
logoURI?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: string | number | bigint;
denominator: string | number | bigint;
} | undefined;
collateralAddressOrDenom?: string | undefined;
igpTokenAddressOrDenom?: 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;
intermediateChainName: string;
intermediateIbcDenom: string;
intermediateRouterAddress: string;
})[] | undefined;
coinGeckoId?: string | undefined;
warpRouteId?: 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, {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}, {
amount: string | number | bigint;
destination: string;
origin: 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, {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}, {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}>, "many">>;
routeBlacklist: z.ZodOptional<z.ZodArray<z.ZodObject<{
origin: z.ZodString;
destination: z.ZodString;
}, "strip", z.ZodTypeAny, {
destination: string;
origin: string;
}, {
destination: string;
origin: string;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
localFeeConstants?: {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}[] | undefined;
interchainFeeConstants?: {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}[] | undefined;
routeBlacklist?: {
destination: string;
origin: string;
}[] | undefined;
}, {
localFeeConstants?: {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}[] | undefined;
interchainFeeConstants?: {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}[] | undefined;
routeBlacklist?: {
destination: string;
origin: string;
}[] | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
tokens: {
symbol: string;
name: string;
decimals: number;
chainName: string;
standard: import("../index.js").TokenStandard;
addressOrDenom: string;
logoURI?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
collateralAddressOrDenom?: string | undefined;
igpTokenAddressOrDenom?: 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;
intermediateChainName: string;
intermediateIbcDenom: string;
intermediateRouterAddress: string;
})[] | undefined;
coinGeckoId?: string | undefined;
warpRouteId?: string | undefined;
}[];
options?: {
localFeeConstants?: {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}[] | undefined;
interchainFeeConstants?: {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}[] | undefined;
routeBlacklist?: {
destination: string;
origin: string;
}[] | undefined;
} | undefined;
}, {
tokens: {
symbol: string;
name: string;
decimals: number;
chainName: string;
standard: import("../index.js").TokenStandard;
addressOrDenom: string | null;
logoURI?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: string | number | bigint;
denominator: string | number | bigint;
} | undefined;
collateralAddressOrDenom?: string | undefined;
igpTokenAddressOrDenom?: 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;
intermediateChainName: string;
intermediateIbcDenom: string;
intermediateRouterAddress: string;
})[] | undefined;
coinGeckoId?: string | undefined;
warpRouteId?: string | undefined;
}[];
options?: {
localFeeConstants?: {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}[] | undefined;
interchainFeeConstants?: {
amount: string | number | bigint;
destination: string;
origin: string;
addressOrDenom?: string | undefined;
}[] | undefined;
routeBlacklist?: {
destination: string;
origin: string;
}[] | undefined;
} | undefined;
}>;
export type FeeConstantConfig = z.infer<typeof FeeConstantConfigSchema>;
export type RouteBlacklist = Array<{
origin: ChainName;
destination: ChainName;
}>;
export declare enum WarpTxCategory {
Approval = "approval",
Revoke = "revoke",
Transfer = "transfer"
}
export type WarpTypedTransaction = TypedTransaction & {
category: WarpTxCategory;
};
export type WarpCoreConfig = z.infer<typeof WarpCoreConfigSchema>;
export interface WarpCoreFeeEstimate {
interchainQuote: TokenAmount;
localQuote: TokenAmount;
tokenFeeQuote?: TokenAmount;
}
export {};
//# sourceMappingURL=types.d.ts.map