UNPKG

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

Version:

EVM support for the CCTPR corridor of the CCTP SDK

164 lines 7.33 kB
import type { DeriveType } from "binary-layout"; import { Network } from "@stable-io/cctp-sdk-definitions"; export declare const offChainQuoteLayout: <N extends Network>(network: N) => readonly [{ readonly size: 1; readonly custom: { to: (val: number) => keyof import("@stable-io/cctp-sdk-definitions").EvmDomains; from: (val: keyof import("@stable-io/cctp-sdk-definitions").EvmDomains) => number; }; readonly binary: "uint"; readonly name: "sourceDomain"; }, { 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 binary: "uint"; readonly size: 4; readonly custom: { readonly to: (value: number) => Date; readonly from: (value: Date) => number; }; readonly name: "expirationTime"; }, { readonly binary: "switch"; readonly idSize: 1; readonly idTag: "chargeIn"; readonly layouts: readonly [readonly [readonly [0, "usdc"], readonly [{ readonly binary: "uint"; readonly size: 8; readonly custom: { to: (val: bigint) => import("@stable-io/amount").Amount<{ readonly name: "Usdc"; readonly units: readonly [{ readonly symbol: "USDC"; readonly scale: 1; }, { readonly symbol: "\u00B5USDC"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "USDC"; readonly atomic: "\u00B5USDC"; readonly stringify: (val: import("@stable-io/amount").Rational) => string; }>; from: (amount: import("@stable-io/amount").Amount<{ readonly name: "Usdc"; readonly units: readonly [{ readonly symbol: "USDC"; readonly scale: 1; }, { readonly symbol: "\u00B5USDC"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "USDC"; readonly atomic: "\u00B5USDC"; readonly stringify: (val: import("@stable-io/amount").Rational) => string; }>) => bigint; }; readonly name: "amount"; }]], readonly [readonly [1, "gasToken"], readonly [{ readonly binary: "uint"; readonly size: 16; readonly custom: { to: (val: bigint) => import("@stable-io/amount").Amount<{ readonly name: "EvmGasToken"; readonly units: readonly [{ readonly symbol: "EvmGasToken"; readonly scale: 1n; }, { readonly symbol: "nEvmGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "aEvmGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "EvmGasToken"; readonly atomic: "aEvmGasToken"; }>; from: (amount: import("@stable-io/amount").Amount<{ readonly name: "EvmGasToken"; readonly units: readonly [{ readonly symbol: "EvmGasToken"; readonly scale: 1n; }, { readonly symbol: "nEvmGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }, { readonly symbol: "aEvmGasToken"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "EvmGasToken"; readonly atomic: "aEvmGasToken"; }>) => bigint; }; readonly name: "amount"; }]]]; readonly name: "relayFee"; }]; export type OffChainQuote<N extends Network> = DeriveType<ReturnType<typeof offChainQuoteLayout<N>>>; //# sourceMappingURL=offChainQuote.d.ts.map