UNPKG

@stable-io/cctp-sdk-definitions

Version:

Definitions for the CCTP SDK

59 lines 3.45 kB
import type { SuppressExpansion } from "@stable-io/utils"; import type { Domain, ExpandedDomain, SimplifyDomain } from "./domains.js"; export declare const platformDomainEntries: readonly [readonly ["Evm", readonly ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]], readonly ["Cosmwasm", readonly ["Noble"]], readonly ["Solana", readonly ["Solana"]], readonly ["Sui", readonly ["Sui"]], readonly ["Aptos", readonly ["Aptos"]]]; export declare const platforms: readonly ["Evm", "Cosmwasm", "Solana", "Sui", "Aptos"]; export type Platform = typeof platforms[number]; export declare const domainsOf: (<const K1 extends "Solana" | "Sui" | "Aptos" | "Evm" | "Cosmwasm">(args_0: K1) => { readonly Evm: readonly ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"]; readonly Cosmwasm: readonly ["Noble"]; readonly Solana: readonly ["Solana"]; readonly Sui: readonly ["Sui"]; readonly Aptos: readonly ["Aptos"]; }[K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1]) & { readonly has: (args_0: string) => boolean; readonly get: (args_0: string) => (readonly ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base", "Polygon", "Unichain", "Linea", "Codex", "Sonic", "Worldchain"] | readonly ["Noble"] | readonly ["Solana"] | readonly ["Sui"] | readonly ["Aptos"]) | undefined; }; type ExpandedDomainsOf<P extends Platform> = ReturnType<typeof domainsOf<P>>[number]; export type DomainsOf<P extends Platform> = SimplifyDomain<ExpandedDomainsOf<P>>; export declare const platformOf: (<const K1 extends "Ethereum" | "Avalanche" | "Optimism" | "Arbitrum" | "Noble" | "Solana" | "Base" | "Polygon" | "Sui" | "Aptos" | "Unichain" | "Linea" | "Codex" | "Sonic" | "Worldchain">(args_0: K1) => { Ethereum: "Evm"; Avalanche: "Evm"; Optimism: "Evm"; Arbitrum: "Evm"; Base: "Evm"; Polygon: "Evm"; Unichain: "Evm"; Linea: "Evm"; Codex: "Evm"; Sonic: "Evm"; Worldchain: "Evm"; Noble: "Cosmwasm"; Solana: "Solana"; Sui: "Sui"; Aptos: "Aptos"; }[K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1]) & { readonly has: (args_0: string) => boolean; readonly get: (args_0: string) => ("Solana" | "Sui" | "Aptos" | "Evm" | "Cosmwasm") | undefined; }; export type PlatformOf<D extends ExpandedDomain> = ReturnType<typeof platformOf<D>>; export interface EvmDomains extends SuppressExpansion<ExpandedDomainsOf<"Evm">> { } export declare const isEvmDomain: (domain: Domain) => domain is DomainsOf<"Evm">; declare module "../../registry.js" { interface DomainAliases { EvmDomains: [ExpandedDomainsOf<"Evm">, EvmDomains]; } } export declare const addressFormatOf: (<const K1 extends "Solana" | "Sui" | "Aptos" | "Evm" | "Cosmwasm">(args_0: K1) => { Evm: [20, "hex"]; Cosmwasm: [32, "bech32"]; Solana: [32, "base58"]; Sui: [32, "hex"]; Aptos: [32, "hex"]; }[K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1]) & { readonly has: (args_0: string) => boolean; readonly get: (args_0: string) => ([20, "hex"] | [32, "bech32"] | [32, "base58"] | [32, "hex"]) | undefined; }; export type AddressFormatOf<P extends Platform> = ReturnType<typeof addressFormatOf<P>>; export {}; //# sourceMappingURL=platforms.d.ts.map