UNPKG

@stable-io/cctp-sdk-cctpr-evm

Version:

EVM support for the CCTPR corridor of the CCTP SDK

302 lines 16.1 kB
import type { DeriveType } from "binary-layout"; import type { Network } from "@stable-io/cctp-sdk-definitions"; export declare const quoteRelayLayout: <N extends Network>(network: N) => { readonly binary: "switch"; readonly idSize: 1; readonly idTag: "quoteRelay"; readonly layouts: readonly [readonly [readonly [129, "inUsdc"], readonly [{ readonly size: 1; readonly custom: { to: (val: number) => import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, { Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; }[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>; from: (val: import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, { Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; }[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>) => number; }; readonly binary: "uint"; readonly name: "destinationDomain"; }, { readonly binary: "uint"; readonly size: 1; readonly endianness: "big"; readonly custom: { readonly to: (encoded: number) => "v1" | "v2Direct" | "avaxHop"; readonly from: (name: "v1" | "v2Direct" | "avaxHop") => number; }; readonly name: "corridor"; }, { readonly binary: "uint"; readonly size: 4; readonly custom: { to: (val: number) => import("@stable-io/amount").Amount<{ readonly name: "GasToken"; readonly units: readonly [{ readonly symbol: "GasToken"; readonly scale: 1n; }, { readonly symbol: "mGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "\u00B5GasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "nGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "aGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "GasToken"; }>; from: (amount: import("@stable-io/amount").Amount<{ readonly name: "GasToken"; readonly units: readonly [{ readonly symbol: "GasToken"; readonly scale: 1n; }, { readonly symbol: "mGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "\u00B5GasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "nGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "aGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "GasToken"; }>) => number; }; readonly name: "gasDropoff"; }]], readonly [readonly [130, "inGasToken"], readonly [{ readonly size: 1; readonly custom: { to: (val: number) => import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, { Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; }[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>; from: (val: import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, { Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; }[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>) => number; }; readonly binary: "uint"; readonly name: "destinationDomain"; }, { readonly binary: "uint"; readonly size: 1; readonly endianness: "big"; readonly custom: { readonly to: (encoded: number) => "v1" | "v2Direct" | "avaxHop"; readonly from: (name: "v1" | "v2Direct" | "avaxHop") => number; }; readonly name: "corridor"; }, { readonly binary: "uint"; readonly size: 4; readonly custom: { to: (val: number) => import("@stable-io/amount").Amount<{ readonly name: "GasToken"; readonly units: readonly [{ readonly symbol: "GasToken"; readonly scale: 1n; }, { readonly symbol: "mGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "\u00B5GasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "nGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "aGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "GasToken"; }>; from: (amount: import("@stable-io/amount").Amount<{ readonly name: "GasToken"; readonly units: readonly [{ readonly symbol: "GasToken"; readonly scale: 1n; }, { readonly symbol: "mGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "\u00B5GasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "nGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "aGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "GasToken"; }>) => number; }; readonly name: "gasDropoff"; }]]]; }; export type QuoteRelay<N extends Network> = DeriveType<ReturnType<typeof quoteRelayLayout<N>>>; export declare const quoteRelayArrayLayout: <N extends Network>(network: N) => { readonly binary: "array"; readonly layout: { readonly binary: "switch"; readonly idSize: 1; readonly idTag: "quoteRelay"; readonly layouts: readonly [readonly [readonly [129, "inUsdc"], readonly [{ readonly size: 1; readonly custom: { to: (val: number) => import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, { Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; }[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>; from: (val: import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, { Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; }[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>) => number; }; readonly binary: "uint"; readonly name: "destinationDomain"; }, { readonly binary: "uint"; readonly size: 1; readonly endianness: "big"; readonly custom: { readonly to: (encoded: number) => "v1" | "v2Direct" | "avaxHop"; readonly from: (name: "v1" | "v2Direct" | "avaxHop") => number; }; readonly name: "corridor"; }, { readonly binary: "uint"; readonly size: 4; readonly custom: { to: (val: number) => import("@stable-io/amount").Amount<{ readonly name: "GasToken"; readonly units: readonly [{ readonly symbol: "GasToken"; readonly scale: 1n; }, { readonly symbol: "mGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "\u00B5GasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "nGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "aGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "GasToken"; }>; from: (amount: import("@stable-io/amount").Amount<{ readonly name: "GasToken"; readonly units: readonly [{ readonly symbol: "GasToken"; readonly scale: 1n; }, { readonly symbol: "mGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "\u00B5GasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "nGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "aGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "GasToken"; }>) => number; }; readonly name: "gasDropoff"; }]], readonly [readonly [130, "inGasToken"], readonly [{ readonly size: 1; readonly custom: { to: (val: number) => import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, { Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; }[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>; from: (val: import("@stable-io/utils").ApplyAliases<import("@stable-io/cctp-sdk-definitions").DomainAliases, { Mainnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Solana", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; Testnet: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; }[N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N][number]>) => number; }; readonly binary: "uint"; readonly name: "destinationDomain"; }, { readonly binary: "uint"; readonly size: 1; readonly endianness: "big"; readonly custom: { readonly to: (encoded: number) => "v1" | "v2Direct" | "avaxHop"; readonly from: (name: "v1" | "v2Direct" | "avaxHop") => number; }; readonly name: "corridor"; }, { readonly binary: "uint"; readonly size: 4; readonly custom: { to: (val: number) => import("@stable-io/amount").Amount<{ readonly name: "GasToken"; readonly units: readonly [{ readonly symbol: "GasToken"; readonly scale: 1n; }, { readonly symbol: "mGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "\u00B5GasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "nGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "aGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "GasToken"; }>; from: (amount: import("@stable-io/amount").Amount<{ readonly name: "GasToken"; readonly units: readonly [{ readonly symbol: "GasToken"; readonly scale: 1n; }, { readonly symbol: "mGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "\u00B5GasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "nGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "aGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "GasToken"; }>) => number; }; readonly name: "gasDropoff"; }]]]; }; }; export declare const quoteRelayResultLayout: { readonly binary: "array"; readonly layout: { readonly binary: "uint"; readonly size: 32; }; }; //# sourceMappingURL=quoteRelay.d.ts.map