UNPKG

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

Version:

EVM support for the CCTPR corridor of the CCTP SDK

179 lines 7.47 kB
import type { DeriveType } from "binary-layout"; import { Rational } from "@stable-io/amount"; import { type Network } from "@stable-io/cctp-sdk-definitions"; export declare const gasDropoffItem: { binary: "uint"; size: 4; 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 | Rational; }, { readonly symbol: "\u00B5GasToken"; readonly scale: bigint | Rational; }, { readonly symbol: "nGasToken"; readonly scale: bigint | Rational; }, { readonly symbol: "aGasToken"; readonly scale: bigint | 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 | Rational; }, { readonly symbol: "\u00B5GasToken"; readonly scale: bigint | Rational; }, { readonly symbol: "nGasToken"; readonly scale: bigint | Rational; }, { readonly symbol: "aGasToken"; readonly scale: bigint | Rational; }]; readonly human: "GasToken"; }>) => number; }; }; export declare const usdcItem: { binary: "uint"; size: 8; 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 | Rational; }]; readonly human: "USDC"; readonly atomic: "\u00B5USDC"; readonly stringify: (val: 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 | Rational; }]; readonly human: "USDC"; readonly atomic: "\u00B5USDC"; readonly stringify: (val: Rational) => string; }>) => bigint; }; }; export declare const evmGasTokenItem: { binary: "uint"; size: 16; 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 | Rational; }, { readonly symbol: "aEvmGasToken"; readonly scale: bigint | 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 | Rational; }, { readonly symbol: "aEvmGasToken"; readonly scale: bigint | Rational; }]; readonly human: "EvmGasToken"; readonly atomic: "aEvmGasToken"; }>) => bigint; }; }; export declare const evmDomainItem: { 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"; }; export declare const supportedDomainItem: <N extends Network>(network: N) => { 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"; }; export declare const timestampItem: { readonly binary: "uint"; readonly size: 4; readonly custom: { readonly to: (value: number) => Date; readonly from: (value: Date) => number; }; }; export declare const corridors: readonly ["v1", "v2Direct", "avaxHop"]; export type Corridor = typeof corridors[number]; export declare const corridorItem: { 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; }; }; export declare const bakedInDomains: readonly ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Noble", "Base", "Solana", "Polygon", "Sui", "Aptos", "Unichain", "Linea"]; export declare const extraDomains: <N extends Network>(network: N) => readonly ["Codex", "Sonic", "Worldchain"]; export type ExtraDomain<N extends Network> = ReturnType<typeof extraDomains<N>>[number]; export type ExtraChainIds<N extends Network> = Partial<Record<ExtraDomain<N>, number>>; export declare const domainChainIdPairLayout: <N extends Network>(network: N) => readonly [{ readonly custom: { to: (val: number) => "Codex" | "Sonic" | "Worldchain"; from: (val: "Codex" | "Sonic" | "Worldchain") => number; }; readonly binary: "uint"; readonly size: 4; readonly name: "domain"; }, { readonly name: "chainId"; readonly binary: "uint"; readonly size: 2; }]; export type DomainChainIdPair<N extends Network> = DeriveType<ReturnType<typeof domainChainIdPairLayout<N>>>; export declare const feeAdjustmentTypes: readonly ["v1", "v2Direct", "avaxHop", "gasDropoff"]; export type FeeAdjustmentType = typeof feeAdjustmentTypes[number]; //# sourceMappingURL=common.d.ts.map