@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
1,402 lines • 979 kB
TypeScript
import { z } from 'zod';
import { TokenFeeType } from '../fee/types.js';
import { DerivedRouterConfig, GasRouterConfigSchema } from '../router/types.js';
import { ChainMap } from '../types.js';
export declare const WarpRouteDeployConfigSchemaErrors: {
ONLY_SYNTHETIC_REBASE: string;
NO_SYNTHETIC_ONLY: string;
};
export declare const contractVersionMatchesDependency: (version: string) => boolean;
export declare const VERSION_ERROR_MESSAGE = "Contract version must match the @hyperlane-xyz/core dependency version (11.3.1)";
export declare const TokenMetadataSchema: z.ZodObject<{
name: z.ZodString;
symbol: z.ZodString;
decimals: z.ZodOptional<z.ZodNumber>;
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;
}>]>>;
isNft: z.ZodOptional<z.ZodBoolean>;
contractVersion: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
symbol: string;
name: string;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
}, {
symbol: string;
name: string;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: string | number | bigint;
denominator: string | number | bigint;
} | undefined;
isNft?: boolean | undefined;
}>;
export type TokenMetadata = z.infer<typeof TokenMetadataSchema>;
export declare const isTokenMetadata: (config: unknown) => config is {
symbol: string;
name: string;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
};
export declare const isEverclearTokenBridgeConfig: (config: unknown) => config is {
everclearBridgeAddress: string;
outputAssets: Record<string | number, string>;
everclearFeeParams: Record<string | number, {
signature: string;
fee: number;
deadline: number;
}>;
};
export declare const BaseMovableTokenConfigSchema: z.ZodObject<{
allowedRebalancingBridges: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodObject<{
bridge: z.ZodString;
approvedTokens: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
}, "strip", z.ZodTypeAny, {
bridge: string;
approvedTokens?: string[] | undefined;
}, {
bridge: string;
approvedTokens?: string[] | undefined;
}>, "many">>>;
allowedRebalancers: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
}, "strip", z.ZodTypeAny, {
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
}, {
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
}>;
export declare const PredicateWrapperConfigSchema: z.ZodObject<{
predicateRegistry: z.ZodString;
policyId: z.ZodString;
owner: z.ZodString;
}, "strip", z.ZodTypeAny, {
owner: string;
predicateRegistry: string;
policyId: string;
}, {
owner: string;
predicateRegistry: string;
policyId: string;
}>;
export type PredicateWrapperConfig = z.infer<typeof PredicateWrapperConfigSchema>;
export declare const isPredicateWrapperConfig: (config: unknown) => config is {
owner: string;
predicateRegistry: string;
policyId: string;
};
export declare const NativeTokenConfigSchema: z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
symbol: z.ZodOptional<z.ZodString>;
decimals: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
scale: z.ZodOptional<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;
}>]>>>;
isNft: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
contractVersion: z.ZodOptional<z.ZodOptional<z.ZodString>>;
} & {
predicateWrapper: z.ZodOptional<z.ZodObject<{
predicateRegistry: z.ZodString;
policyId: z.ZodString;
owner: z.ZodString;
}, "strip", z.ZodTypeAny, {
owner: string;
predicateRegistry: string;
policyId: string;
}, {
owner: string;
predicateRegistry: string;
policyId: string;
}>>;
allowedRebalancingBridges: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodObject<{
bridge: z.ZodString;
approvedTokens: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
}, "strip", z.ZodTypeAny, {
bridge: string;
approvedTokens?: string[] | undefined;
}, {
bridge: string;
approvedTokens?: string[] | undefined;
}>, "many">>>;
allowedRebalancers: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
type: z.ZodEnum<["native", "nativeScaled"]>;
}, "strip", z.ZodTypeAny, {
type: "native" | "nativeScaled";
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
}, {
type: "native" | "nativeScaled";
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: string | number | bigint;
denominator: string | number | bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
}>;
export type NativeTokenConfig = z.infer<typeof NativeTokenConfigSchema>;
export declare const isNativeTokenConfig: (config: unknown) => config is {
type: "native" | "nativeScaled";
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
};
export declare const OpL2TokenConfigSchema: z.ZodObject<Omit<{
name: z.ZodOptional<z.ZodString>;
symbol: z.ZodOptional<z.ZodString>;
decimals: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
scale: z.ZodOptional<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;
}>]>>>;
isNft: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
contractVersion: z.ZodOptional<z.ZodOptional<z.ZodString>>;
} & {
predicateWrapper: z.ZodOptional<z.ZodObject<{
predicateRegistry: z.ZodString;
policyId: z.ZodString;
owner: z.ZodString;
}, "strip", z.ZodTypeAny, {
owner: string;
predicateRegistry: string;
policyId: string;
}, {
owner: string;
predicateRegistry: string;
policyId: string;
}>>;
allowedRebalancingBridges: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodObject<{
bridge: z.ZodString;
approvedTokens: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
}, "strip", z.ZodTypeAny, {
bridge: string;
approvedTokens?: string[] | undefined;
}, {
bridge: string;
approvedTokens?: string[] | undefined;
}>, "many">>>;
allowedRebalancers: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
type: z.ZodEnum<["native", "nativeScaled"]>;
}, "type"> & {
type: z.ZodLiteral<"nativeOpL2">;
l2Bridge: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: "nativeOpL2";
l2Bridge: string;
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
}, {
type: "nativeOpL2";
l2Bridge: string;
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: string | number | bigint;
denominator: string | number | bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
}>;
export declare const OpL1TokenConfigSchema: z.ZodObject<Omit<{
name: z.ZodOptional<z.ZodString>;
symbol: z.ZodOptional<z.ZodString>;
decimals: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
scale: z.ZodOptional<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;
}>]>>>;
isNft: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
contractVersion: z.ZodOptional<z.ZodOptional<z.ZodString>>;
} & {
predicateWrapper: z.ZodOptional<z.ZodObject<{
predicateRegistry: z.ZodString;
policyId: z.ZodString;
owner: z.ZodString;
}, "strip", z.ZodTypeAny, {
owner: string;
predicateRegistry: string;
policyId: string;
}, {
owner: string;
predicateRegistry: string;
policyId: string;
}>>;
allowedRebalancingBridges: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodObject<{
bridge: z.ZodString;
approvedTokens: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
}, "strip", z.ZodTypeAny, {
bridge: string;
approvedTokens?: string[] | undefined;
}, {
bridge: string;
approvedTokens?: string[] | undefined;
}>, "many">>>;
allowedRebalancers: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
type: z.ZodEnum<["native", "nativeScaled"]>;
}, "type"> & {
type: z.ZodLiteral<"nativeOpL1">;
portal: z.ZodString;
version: z.ZodNumber;
} & Omit<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
} & {
type: z.ZodLiteral<"offchainLookupIsm">;
urls: z.ZodArray<z.ZodString, "many">;
}, "type" | "owner">, "strip", z.ZodTypeAny, {
type: "nativeOpL1";
version: number;
urls: string[];
portal: string;
symbol?: string | undefined;
name?: string | undefined;
ownerOverrides?: Record<string, string> | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
}, {
type: "nativeOpL1";
version: number;
urls: string[];
portal: string;
symbol?: string | undefined;
name?: string | undefined;
ownerOverrides?: Record<string, string> | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: string | number | bigint;
denominator: string | number | bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
}>;
export type OpL1TokenConfig = z.infer<typeof OpL1TokenConfigSchema>;
export declare const isOpL1TokenConfig: (config: unknown) => config is {
type: "nativeOpL1";
version: number;
urls: string[];
portal: string;
symbol?: string | undefined;
name?: string | undefined;
ownerOverrides?: Record<string, string> | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
};
export type OpL2TokenConfig = z.infer<typeof OpL2TokenConfigSchema>;
export declare const isOpL2TokenConfig: (config: unknown) => config is {
type: "nativeOpL2";
l2Bridge: string;
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
};
export declare const CollateralTokenConfigSchema: z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
symbol: z.ZodOptional<z.ZodString>;
decimals: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
scale: z.ZodOptional<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;
}>]>>>;
isNft: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
contractVersion: z.ZodOptional<z.ZodOptional<z.ZodString>>;
} & {
predicateWrapper: z.ZodOptional<z.ZodObject<{
predicateRegistry: z.ZodString;
policyId: z.ZodString;
owner: z.ZodString;
}, "strip", z.ZodTypeAny, {
owner: string;
predicateRegistry: string;
policyId: string;
}, {
owner: string;
predicateRegistry: string;
policyId: string;
}>>;
allowedRebalancingBridges: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodObject<{
bridge: z.ZodString;
approvedTokens: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
}, "strip", z.ZodTypeAny, {
bridge: string;
approvedTokens?: string[] | undefined;
}, {
bridge: string;
approvedTokens?: string[] | undefined;
}>, "many">>>;
allowedRebalancers: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>;
token: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri";
token: string;
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
}, {
type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri";
token: string;
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: string | number | bigint;
denominator: string | number | bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
}>;
export type CollateralTokenConfig = z.infer<typeof CollateralTokenConfigSchema>;
export declare const isCollateralTokenConfig: (config: unknown) => config is {
type: "collateral" | "collateralVault" | "collateralVaultRebase" | "collateralFiat" | "collateralUri";
token: string;
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
};
export declare enum XERC20Type {
Velo = "velo",
Standard = "standard"
}
declare const XERC20VSLimitConfigSchema: z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Velo>;
bufferCap: z.ZodOptional<z.ZodString>;
rateLimitPerSecond: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}>;
export type XERC20VSLimitConfig = z.infer<typeof XERC20VSLimitConfigSchema>;
declare const XERC20StandardLimitConfigSchema: z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Standard>;
mint: z.ZodOptional<z.ZodString>;
burn: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}>;
export type XERC20StandardLimitConfig = z.infer<typeof XERC20StandardLimitConfigSchema>;
declare const xERC20ExtraBridgesLimitConfigsSchema: z.ZodObject<{
lockbox: z.ZodString;
limits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Velo>;
bufferCap: z.ZodOptional<z.ZodString>;
rateLimitPerSecond: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Standard>;
mint: z.ZodOptional<z.ZodString>;
burn: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}>]>;
}, "strip", z.ZodTypeAny, {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}, {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}>;
declare const xERC20TokenMetadataSchema: z.ZodObject<{
xERC20: z.ZodOptional<z.ZodObject<{
extraBridges: z.ZodOptional<z.ZodArray<z.ZodObject<{
lockbox: z.ZodString;
limits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Velo>;
bufferCap: z.ZodOptional<z.ZodString>;
rateLimitPerSecond: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Standard>;
mint: z.ZodOptional<z.ZodString>;
burn: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}>]>;
}, "strip", z.ZodTypeAny, {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}, {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}>, "many">>;
warpRouteLimits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Velo>;
bufferCap: z.ZodOptional<z.ZodString>;
rateLimitPerSecond: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Standard>;
mint: z.ZodOptional<z.ZodString>;
burn: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}>]>;
}, "strip", z.ZodTypeAny, {
warpRouteLimits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
extraBridges?: {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}[] | undefined;
}, {
warpRouteLimits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
extraBridges?: {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}[] | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
xERC20?: {
warpRouteLimits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
extraBridges?: {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}[] | undefined;
} | undefined;
}, {
xERC20?: {
warpRouteLimits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
extraBridges?: {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}[] | undefined;
} | undefined;
}>;
export type XERC20TokenMetadata = z.infer<typeof xERC20TokenMetadataSchema>;
export type XERC20TokenExtraBridgesLimits = z.infer<typeof xERC20ExtraBridgesLimitConfigsSchema>;
export declare const XERC20TokenConfigSchema: z.ZodObject<Omit<{
name: z.ZodOptional<z.ZodString>;
symbol: z.ZodOptional<z.ZodString>;
decimals: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
scale: z.ZodOptional<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;
}>]>>>;
isNft: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
contractVersion: z.ZodOptional<z.ZodOptional<z.ZodString>>;
} & {
predicateWrapper: z.ZodOptional<z.ZodObject<{
predicateRegistry: z.ZodString;
policyId: z.ZodString;
owner: z.ZodString;
}, "strip", z.ZodTypeAny, {
owner: string;
predicateRegistry: string;
policyId: string;
}, {
owner: string;
predicateRegistry: string;
policyId: string;
}>>;
allowedRebalancingBridges: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodObject<{
bridge: z.ZodString;
approvedTokens: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
}, "strip", z.ZodTypeAny, {
bridge: string;
approvedTokens?: string[] | undefined;
}, {
bridge: string;
approvedTokens?: string[] | undefined;
}>, "many">>>;
allowedRebalancers: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
type: z.ZodEnum<["collateral", "collateralVault", "collateralVaultRebase", "collateralFiat", "collateralUri"]>;
token: z.ZodString;
}, "type"> & {
type: z.ZodEnum<["xERC20", "xERC20Lockbox"]>;
} & {
xERC20: z.ZodOptional<z.ZodObject<{
extraBridges: z.ZodOptional<z.ZodArray<z.ZodObject<{
lockbox: z.ZodString;
limits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Velo>;
bufferCap: z.ZodOptional<z.ZodString>;
rateLimitPerSecond: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Standard>;
mint: z.ZodOptional<z.ZodString>;
burn: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}>]>;
}, "strip", z.ZodTypeAny, {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}, {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}>, "many">>;
warpRouteLimits: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Velo>;
bufferCap: z.ZodOptional<z.ZodString>;
rateLimitPerSecond: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}, {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
}>, z.ZodObject<{
type: z.ZodLiteral<XERC20Type.Standard>;
mint: z.ZodOptional<z.ZodString>;
burn: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}, {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
}>]>;
}, "strip", z.ZodTypeAny, {
warpRouteLimits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
extraBridges?: {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}[] | undefined;
}, {
warpRouteLimits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
extraBridges?: {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}[] | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
type: "xERC20" | "xERC20Lockbox";
token: string;
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
xERC20?: {
warpRouteLimits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
extraBridges?: {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}[] | undefined;
} | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
}, {
type: "xERC20" | "xERC20Lockbox";
token: string;
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
xERC20?: {
warpRouteLimits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
extraBridges?: {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}[] | undefined;
} | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: string | number | bigint;
denominator: string | number | bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
}>;
export type XERC20LimitsTokenConfig = z.infer<typeof XERC20TokenConfigSchema>;
export declare const isXERC20TokenConfig: (config: unknown) => config is {
type: "xERC20" | "xERC20Lockbox";
token: string;
symbol?: string | undefined;
name?: string | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
xERC20?: {
warpRouteLimits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
extraBridges?: {
lockbox: string;
limits: {
type: XERC20Type.Velo;
bufferCap?: string | undefined;
rateLimitPerSecond?: string | undefined;
} | {
type: XERC20Type.Standard;
mint?: string | undefined;
burn?: string | undefined;
};
}[] | undefined;
} | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
allowedRebalancingBridges?: Record<string | number, {
bridge: string;
approvedTokens?: string[] | undefined;
}[]> | undefined;
allowedRebalancers?: string[] | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
};
export declare const CctpTokenConfigSchema: z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
symbol: z.ZodOptional<z.ZodString>;
decimals: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
scale: z.ZodOptional<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;
}>]>>>;
isNft: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
contractVersion: z.ZodOptional<z.ZodOptional<z.ZodString>>;
} & {
type: z.ZodLiteral<"collateralCctp">;
token: z.ZodString;
messageTransmitter: z.ZodString;
tokenMessenger: z.ZodString;
cctpVersion: z.ZodEnum<["V1", "V2"]>;
minFinalityThreshold: z.ZodOptional<z.ZodNumber>;
maxFeeBps: z.ZodOptional<z.ZodNumber>;
predicateWrapper: z.ZodOptional<z.ZodObject<{
predicateRegistry: z.ZodString;
policyId: z.ZodString;
owner: z.ZodString;
}, "strip", z.ZodTypeAny, {
owner: string;
predicateRegistry: string;
policyId: string;
}, {
owner: string;
predicateRegistry: string;
policyId: string;
}>>;
} & Omit<{
owner: z.ZodString;
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
} & {
type: z.ZodLiteral<"offchainLookupIsm">;
urls: z.ZodArray<z.ZodString, "many">;
}, "type" | "owner">, "strip", z.ZodTypeAny, {
type: "collateralCctp";
token: string;
urls: string[];
messageTransmitter: string;
tokenMessenger: string;
cctpVersion: "V1" | "V2";
symbol?: string | undefined;
name?: string | undefined;
ownerOverrides?: Record<string, string> | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
minFinalityThreshold?: number | undefined;
maxFeeBps?: number | undefined;
}, {
type: "collateralCctp";
token: string;
urls: string[];
messageTransmitter: string;
tokenMessenger: string;
cctpVersion: "V1" | "V2";
symbol?: string | undefined;
name?: string | undefined;
ownerOverrides?: Record<string, string> | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: string | number | bigint;
denominator: string | number | bigint;
} | undefined;
isNft?: boolean | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
minFinalityThreshold?: number | undefined;
maxFeeBps?: number | undefined;
}>;
export type CctpTokenConfig = z.infer<typeof CctpTokenConfigSchema>;
export declare const isCctpTokenConfig: (config: unknown) => config is {
type: "collateralCctp";
token: string;
urls: string[];
messageTransmitter: string;
tokenMessenger: string;
cctpVersion: "V1" | "V2";
symbol?: string | undefined;
name?: string | undefined;
ownerOverrides?: Record<string, string> | undefined;
decimals?: number | undefined;
contractVersion?: string | undefined;
scale?: number | {
numerator: number;
denominator: number;
} | {
numerator: bigint;
denominator: bigint;
} | undefined;
isNft?: boolean | undefined;
predicateWrapper?: {
owner: string;
predicateRegistry: string;
policyId: string;
} | undefined;
minFinalityThreshold?: number | undefined;
maxFeeBps?: number | undefined;
};
export declare const DepositAddressRecipientConfigSchema: z.ZodObject<{
depositAddress: z.ZodEffects<z.ZodString, string, string>;
feeBps: z.ZodEffects<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>, string | number | undefined, string | number | undefined>;
}, "strip", z.ZodTypeAny, {
depositAddress: string;
feeBps?: string | number | undefined;
}, {
depositAddress: string;
feeBps?: string | number | undefined;
}>;
export type DepositAddressRecipientConfig = z.infer<typeof DepositAddressRecipientConfigSchema>;
export declare const DepositAddressDestinationConfigSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
depositAddress: z.ZodEffects<z.ZodString, string, string>;
feeBps: z.ZodEffects<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>, string | number | undefined, string | number | undefined>;
}, "strip", z.ZodTypeAny, {
depositAddress: string;
feeBps?: string | number | undefined;
}, {
depositAddress: string;
feeBps?: string | number | undefined;
}>>;
export type DepositAddressDestinationConfig = z.infer<typeof DepositAddressDestination