UNPKG

@stable-io/cctp-sdk-definitions

Version:

Definitions for the CCTP SDK

876 lines (875 loc) 339 kB
import type { Network } from "../constants/index.js"; import * as v2 from "./v2/index.js"; export * as v1 from "./v1/index.js"; export * as v2 from "./v2/index.js"; export declare const init: <N extends Network>(network: N) => { readonly v1: { readonly nonceItem: { readonly binary: "uint"; readonly size: 8; }; readonly messageLayout: <const B extends import("binary-layout").CustomizableBytes = undefined, R extends boolean = false>(messageBody?: B, useRawDomains?: R) => readonly [{ readonly binary: "uint"; readonly size: 4; readonly custom: 0; readonly omit: true; readonly name: "version"; }, { readonly name: "sourceDomain"; } & (R extends true ? { readonly binary: "uint"; readonly size: 4; } : { readonly custom: { to: (val: number) => keyof import("../constants/index.js").AllDomains; from: (val: keyof import("../constants/index.js").AllDomains) => number; }; readonly binary: "uint"; readonly size: 4; }), { readonly name: "destinationDomain"; } & (R extends true ? { readonly binary: "uint"; readonly size: 4; } : { readonly custom: { to: (val: number) => keyof import("../constants/index.js").AllDomains; from: (val: keyof import("../constants/index.js").AllDomains) => number; }; readonly binary: "uint"; readonly size: 4; }), { readonly name: "nonce"; } & { readonly binary: "uint"; readonly size: 8; }, { readonly binary: "bytes"; readonly size: import("@stable-io/utils").Size; readonly custom: { to: (encoded: Uint8Array) => import("../address.js").UniversalAddress; from: (addr: import("../address.js").UniversalAddress) => Uint8Array<ArrayBufferLike>; }; readonly name: "sender"; }, { readonly binary: "bytes"; readonly size: import("@stable-io/utils").Size; readonly custom: { to: (encoded: Uint8Array) => import("../address.js").UniversalAddress; from: (addr: import("../address.js").UniversalAddress) => Uint8Array<ArrayBufferLike>; }; readonly name: "recipient"; }, { readonly binary: "bytes"; readonly size: import("@stable-io/utils").Size; readonly custom: { to: (encoded: Uint8Array) => import("../address.js").UniversalAddress; from: (addr: import("../address.js").UniversalAddress) => Uint8Array<ArrayBufferLike>; }; readonly name: "destinationCaller"; }, import("binary-layout").CustomizableBytesReturn<{ readonly name: "messageBody"; }, B>]; readonly burnMessageLayout: <R_1 extends boolean = false>(useRawDomains?: R_1) => readonly [{ readonly binary: "uint"; readonly size: 4; readonly custom: 0; readonly omit: true; readonly name: "version"; }, { readonly name: "sourceDomain"; } & (R_1 extends true ? { readonly binary: "uint"; readonly size: 4; } : { readonly custom: { to: (val: number) => keyof import("../constants/index.js").AllDomains; from: (val: keyof import("../constants/index.js").AllDomains) => number; }; readonly binary: "uint"; readonly size: 4; }), { readonly name: "destinationDomain"; } & (R_1 extends true ? { readonly binary: "uint"; readonly size: 4; } : { readonly custom: { to: (val: number) => keyof import("../constants/index.js").AllDomains; from: (val: keyof import("../constants/index.js").AllDomains) => number; }; readonly binary: "uint"; readonly size: 4; }), { readonly name: "nonce"; } & { readonly binary: "uint"; readonly size: 8; }, { readonly binary: "bytes"; readonly size: import("@stable-io/utils").Size; readonly custom: { to: (encoded: Uint8Array) => import("../address.js").UniversalAddress; from: (addr: import("../address.js").UniversalAddress) => Uint8Array<ArrayBufferLike>; }; readonly name: "sender"; }, { readonly binary: "bytes"; readonly size: import("@stable-io/utils").Size; readonly custom: { to: (encoded: Uint8Array) => import("../address.js").UniversalAddress; from: (addr: import("../address.js").UniversalAddress) => Uint8Array<ArrayBufferLike>; }; readonly name: "recipient"; }, { readonly binary: "bytes"; readonly size: import("@stable-io/utils").Size; readonly custom: { to: (encoded: Uint8Array) => import("../address.js").UniversalAddress; from: (addr: import("../address.js").UniversalAddress) => Uint8Array<ArrayBufferLike>; }; readonly name: "destinationCaller"; }, import("binary-layout").CustomizableBytesReturn<{ readonly name: "messageBody"; }, readonly [{ readonly binary: "uint"; readonly size: 4; readonly custom: 0; readonly omit: boolean; readonly name: "messageBodyVersion"; }, { readonly binary: "bytes"; readonly size: import("@stable-io/utils").Size; readonly custom: { to: (encoded: Uint8Array) => import("../address.js").UniversalAddress; from: (addr: import("../address.js").UniversalAddress) => Uint8Array<ArrayBufferLike>; }; readonly name: "burnToken"; }, { readonly binary: "bytes"; readonly size: import("@stable-io/utils").Size; readonly custom: { to: (encoded: Uint8Array) => import("../address.js").UniversalAddress; from: (addr: import("../address.js").UniversalAddress) => Uint8Array<ArrayBufferLike>; }; readonly name: "mintRecipient"; }, { readonly binary: "uint"; readonly size: 32; readonly custom: { to: (val: bigint) => import("@stable-io/amount").Amount<{ readonly name: "Usdc"; readonly units: readonly [{ readonly symbol: "USDC"; readonly scale: 1; }, { readonly symbol: "µUSDC"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "USDC"; readonly atomic: "µUSDC"; 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: "µUSDC"; readonly scale: bigint | import("@stable-io/amount").Rational; }]; readonly human: "USDC"; readonly atomic: "µUSDC"; readonly stringify: (val: import("@stable-io/amount").Rational) => string; }>) => bigint; }; readonly name: "amount"; }, { readonly binary: "bytes"; readonly size: import("@stable-io/utils").Size; readonly custom: { to: (encoded: Uint8Array) => import("../address.js").UniversalAddress; from: (addr: import("../address.js").UniversalAddress) => Uint8Array<ArrayBufferLike>; }; readonly name: "messageSender"; }]>]; readonly contractAddressOf: (N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N) extends infer T ? T extends (N extends bigint ? `bigint(${N})` : N extends boolean ? `boolean(${N})` : N) ? T extends "Mainnet" | "Testnet" ? { readonly Mainnet: { readonly Ethereum: { readonly messageTransmitter: "0x0a992d191deec32afe36203ad87d7d289a738f81"; readonly tokenMessenger: "0xbd3fa81b58ba92a82136038b25adec7066af3155"; }; readonly Avalanche: { readonly messageTransmitter: "0x8186359af5f57fbb40c6b14a588d2a59c0c29880"; readonly tokenMessenger: "0x6b25532e1060ce10cc3b0a99e5683b91bfde6982"; }; readonly Optimism: { readonly messageTransmitter: "0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8"; readonly tokenMessenger: "0x2B4069517957735bE00ceE0fadAE88a26365528f"; }; readonly Arbitrum: { readonly messageTransmitter: "0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca"; readonly tokenMessenger: "0x19330d10D9Cc8751218eaf51E8885D058642E08A"; }; readonly Base: { readonly messageTransmitter: "0xAD09780d193884d503182aD4588450C416D6F9D4"; readonly tokenMessenger: "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0xF3be9355363857F3e001be68856A2f96b4C39Ba9"; readonly tokenMessenger: "0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE"; }; readonly Sui: { readonly messageTransmitter: "0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b"; readonly tokenMessenger: "0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e"; }; readonly Aptos: { readonly messageTransmitter: "0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772"; readonly tokenMessenger: "0x9e6702a472080ea3caaf6ba9dfaa6effad2290a9ba9adaacd5af5c618e42782d"; }; readonly Unichain: { readonly messageTransmitter: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4"; readonly tokenMessenger: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762"; }; }; readonly Testnet: { readonly Ethereum: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Avalanche: { readonly messageTransmitter: "0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79"; readonly tokenMessenger: "0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0"; }; readonly Optimism: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Arbitrum: { readonly messageTransmitter: "0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Base: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Sui: { readonly messageTransmitter: "0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5"; readonly tokenMessenger: "0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb"; }; readonly Aptos: { readonly messageTransmitter: "0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9"; readonly tokenMessenger: "0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9"; }; readonly Unichain: { readonly messageTransmitter: "0xbc498c326533d675cf571B90A2Ced265ACb7d086"; readonly tokenMessenger: "0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782"; }; }; }[T] extends { [key: string]: unknown; [key: number]: unknown; [key: symbol]: unknown; } ? (<const K1 extends keyof { readonly Mainnet: { readonly Ethereum: { readonly messageTransmitter: "0x0a992d191deec32afe36203ad87d7d289a738f81"; readonly tokenMessenger: "0xbd3fa81b58ba92a82136038b25adec7066af3155"; }; readonly Avalanche: { readonly messageTransmitter: "0x8186359af5f57fbb40c6b14a588d2a59c0c29880"; readonly tokenMessenger: "0x6b25532e1060ce10cc3b0a99e5683b91bfde6982"; }; readonly Optimism: { readonly messageTransmitter: "0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8"; readonly tokenMessenger: "0x2B4069517957735bE00ceE0fadAE88a26365528f"; }; readonly Arbitrum: { readonly messageTransmitter: "0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca"; readonly tokenMessenger: "0x19330d10D9Cc8751218eaf51E8885D058642E08A"; }; readonly Base: { readonly messageTransmitter: "0xAD09780d193884d503182aD4588450C416D6F9D4"; readonly tokenMessenger: "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0xF3be9355363857F3e001be68856A2f96b4C39Ba9"; readonly tokenMessenger: "0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE"; }; readonly Sui: { readonly messageTransmitter: "0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b"; readonly tokenMessenger: "0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e"; }; readonly Aptos: { readonly messageTransmitter: "0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772"; readonly tokenMessenger: "0x9e6702a472080ea3caaf6ba9dfaa6effad2290a9ba9adaacd5af5c618e42782d"; }; readonly Unichain: { readonly messageTransmitter: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4"; readonly tokenMessenger: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762"; }; }; readonly Testnet: { readonly Ethereum: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Avalanche: { readonly messageTransmitter: "0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79"; readonly tokenMessenger: "0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0"; }; readonly Optimism: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Arbitrum: { readonly messageTransmitter: "0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Base: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Sui: { readonly messageTransmitter: "0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5"; readonly tokenMessenger: "0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb"; }; readonly Aptos: { readonly messageTransmitter: "0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9"; readonly tokenMessenger: "0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9"; }; readonly Unichain: { readonly messageTransmitter: "0xbc498c326533d675cf571B90A2Ced265ACb7d086"; readonly tokenMessenger: "0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782"; }; }; }[T] extends infer T_1 ? T_1 extends keyof { readonly Mainnet: { readonly Ethereum: { readonly messageTransmitter: "0x0a992d191deec32afe36203ad87d7d289a738f81"; readonly tokenMessenger: "0xbd3fa81b58ba92a82136038b25adec7066af3155"; }; readonly Avalanche: { readonly messageTransmitter: "0x8186359af5f57fbb40c6b14a588d2a59c0c29880"; readonly tokenMessenger: "0x6b25532e1060ce10cc3b0a99e5683b91bfde6982"; }; readonly Optimism: { readonly messageTransmitter: "0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8"; readonly tokenMessenger: "0x2B4069517957735bE00ceE0fadAE88a26365528f"; }; readonly Arbitrum: { readonly messageTransmitter: "0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca"; readonly tokenMessenger: "0x19330d10D9Cc8751218eaf51E8885D058642E08A"; }; readonly Base: { readonly messageTransmitter: "0xAD09780d193884d503182aD4588450C416D6F9D4"; readonly tokenMessenger: "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0xF3be9355363857F3e001be68856A2f96b4C39Ba9"; readonly tokenMessenger: "0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE"; }; readonly Sui: { readonly messageTransmitter: "0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b"; readonly tokenMessenger: "0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e"; }; readonly Aptos: { readonly messageTransmitter: "0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772"; readonly tokenMessenger: "0x9e6702a472080ea3caaf6ba9dfaa6effad2290a9ba9adaacd5af5c618e42782d"; }; readonly Unichain: { readonly messageTransmitter: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4"; readonly tokenMessenger: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762"; }; }; readonly Testnet: { readonly Ethereum: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Avalanche: { readonly messageTransmitter: "0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79"; readonly tokenMessenger: "0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0"; }; readonly Optimism: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Arbitrum: { readonly messageTransmitter: "0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Base: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Sui: { readonly messageTransmitter: "0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5"; readonly tokenMessenger: "0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb"; }; readonly Aptos: { readonly messageTransmitter: "0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9"; readonly tokenMessenger: "0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9"; }; readonly Unichain: { readonly messageTransmitter: "0xbc498c326533d675cf571B90A2Ced265ACb7d086"; readonly tokenMessenger: "0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782"; }; }; }[T] ? T_1 extends `bigint(${infer V extends bigint})` ? V : T_1 extends `boolean(${infer V_1 extends boolean})` ? V_1 : T_1 : never : never, const K2 extends keyof ({ readonly Mainnet: { readonly Ethereum: { readonly messageTransmitter: "0x0a992d191deec32afe36203ad87d7d289a738f81"; readonly tokenMessenger: "0xbd3fa81b58ba92a82136038b25adec7066af3155"; }; readonly Avalanche: { readonly messageTransmitter: "0x8186359af5f57fbb40c6b14a588d2a59c0c29880"; readonly tokenMessenger: "0x6b25532e1060ce10cc3b0a99e5683b91bfde6982"; }; readonly Optimism: { readonly messageTransmitter: "0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8"; readonly tokenMessenger: "0x2B4069517957735bE00ceE0fadAE88a26365528f"; }; readonly Arbitrum: { readonly messageTransmitter: "0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca"; readonly tokenMessenger: "0x19330d10D9Cc8751218eaf51E8885D058642E08A"; }; readonly Base: { readonly messageTransmitter: "0xAD09780d193884d503182aD4588450C416D6F9D4"; readonly tokenMessenger: "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0xF3be9355363857F3e001be68856A2f96b4C39Ba9"; readonly tokenMessenger: "0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE"; }; readonly Sui: { readonly messageTransmitter: "0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b"; readonly tokenMessenger: "0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e"; }; readonly Aptos: { readonly messageTransmitter: "0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772"; readonly tokenMessenger: "0x9e6702a472080ea3caaf6ba9dfaa6effad2290a9ba9adaacd5af5c618e42782d"; }; readonly Unichain: { readonly messageTransmitter: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4"; readonly tokenMessenger: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762"; }; }; readonly Testnet: { readonly Ethereum: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Avalanche: { readonly messageTransmitter: "0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79"; readonly tokenMessenger: "0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0"; }; readonly Optimism: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Arbitrum: { readonly messageTransmitter: "0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Base: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Sui: { readonly messageTransmitter: "0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5"; readonly tokenMessenger: "0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb"; }; readonly Aptos: { readonly messageTransmitter: "0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9"; readonly tokenMessenger: "0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9"; }; readonly Unichain: { readonly messageTransmitter: "0xbc498c326533d675cf571B90A2Ced265ACb7d086"; readonly tokenMessenger: "0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782"; }; }; }[T] extends infer T_2 ? T_2 extends { readonly Mainnet: { readonly Ethereum: { readonly messageTransmitter: "0x0a992d191deec32afe36203ad87d7d289a738f81"; readonly tokenMessenger: "0xbd3fa81b58ba92a82136038b25adec7066af3155"; }; readonly Avalanche: { readonly messageTransmitter: "0x8186359af5f57fbb40c6b14a588d2a59c0c29880"; readonly tokenMessenger: "0x6b25532e1060ce10cc3b0a99e5683b91bfde6982"; }; readonly Optimism: { readonly messageTransmitter: "0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8"; readonly tokenMessenger: "0x2B4069517957735bE00ceE0fadAE88a26365528f"; }; readonly Arbitrum: { readonly messageTransmitter: "0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca"; readonly tokenMessenger: "0x19330d10D9Cc8751218eaf51E8885D058642E08A"; }; readonly Base: { readonly messageTransmitter: "0xAD09780d193884d503182aD4588450C416D6F9D4"; readonly tokenMessenger: "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0xF3be9355363857F3e001be68856A2f96b4C39Ba9"; readonly tokenMessenger: "0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE"; }; readonly Sui: { readonly messageTransmitter: "0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b"; readonly tokenMessenger: "0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e"; }; readonly Aptos: { readonly messageTransmitter: "0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772"; readonly tokenMessenger: "0x9e6702a472080ea3caaf6ba9dfaa6effad2290a9ba9adaacd5af5c618e42782d"; }; readonly Unichain: { readonly messageTransmitter: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4"; readonly tokenMessenger: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762"; }; }; readonly Testnet: { readonly Ethereum: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Avalanche: { readonly messageTransmitter: "0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79"; readonly tokenMessenger: "0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0"; }; readonly Optimism: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Arbitrum: { readonly messageTransmitter: "0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Base: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Sui: { readonly messageTransmitter: "0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5"; readonly tokenMessenger: "0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb"; }; readonly Aptos: { readonly messageTransmitter: "0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9"; readonly tokenMessenger: "0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9"; }; readonly Unichain: { readonly messageTransmitter: "0xbc498c326533d675cf571B90A2Ced265ACb7d086"; readonly tokenMessenger: "0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782"; }; }; }[T] ? T_2 extends { [key: string]: unknown; [key: number]: unknown; [key: symbol]: unknown; } ? T_2[K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1] : never : never : never) extends infer T_3 ? T_3 extends keyof ({ readonly Mainnet: { readonly Ethereum: { readonly messageTransmitter: "0x0a992d191deec32afe36203ad87d7d289a738f81"; readonly tokenMessenger: "0xbd3fa81b58ba92a82136038b25adec7066af3155"; }; readonly Avalanche: { readonly messageTransmitter: "0x8186359af5f57fbb40c6b14a588d2a59c0c29880"; readonly tokenMessenger: "0x6b25532e1060ce10cc3b0a99e5683b91bfde6982"; }; readonly Optimism: { readonly messageTransmitter: "0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8"; readonly tokenMessenger: "0x2B4069517957735bE00ceE0fadAE88a26365528f"; }; readonly Arbitrum: { readonly messageTransmitter: "0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca"; readonly tokenMessenger: "0x19330d10D9Cc8751218eaf51E8885D058642E08A"; }; readonly Base: { readonly messageTransmitter: "0xAD09780d193884d503182aD4588450C416D6F9D4"; readonly tokenMessenger: "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0xF3be9355363857F3e001be68856A2f96b4C39Ba9"; readonly tokenMessenger: "0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE"; }; readonly Sui: { readonly messageTransmitter: "0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b"; readonly tokenMessenger: "0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e"; }; readonly Aptos: { readonly messageTransmitter: "0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772"; readonly tokenMessenger: "0x9e6702a472080ea3caaf6ba9dfaa6effad2290a9ba9adaacd5af5c618e42782d"; }; readonly Unichain: { readonly messageTransmitter: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4"; readonly tokenMessenger: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762"; }; }; readonly Testnet: { readonly Ethereum: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Avalanche: { readonly messageTransmitter: "0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79"; readonly tokenMessenger: "0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0"; }; readonly Optimism: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Arbitrum: { readonly messageTransmitter: "0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Base: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Sui: { readonly messageTransmitter: "0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5"; readonly tokenMessenger: "0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb"; }; readonly Aptos: { readonly messageTransmitter: "0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9"; readonly tokenMessenger: "0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9"; }; readonly Unichain: { readonly messageTransmitter: "0xbc498c326533d675cf571B90A2Ced265ACb7d086"; readonly tokenMessenger: "0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782"; }; }; }[T] extends infer T_4 ? T_4 extends { readonly Mainnet: { readonly Ethereum: { readonly messageTransmitter: "0x0a992d191deec32afe36203ad87d7d289a738f81"; readonly tokenMessenger: "0xbd3fa81b58ba92a82136038b25adec7066af3155"; }; readonly Avalanche: { readonly messageTransmitter: "0x8186359af5f57fbb40c6b14a588d2a59c0c29880"; readonly tokenMessenger: "0x6b25532e1060ce10cc3b0a99e5683b91bfde6982"; }; readonly Optimism: { readonly messageTransmitter: "0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8"; readonly tokenMessenger: "0x2B4069517957735bE00ceE0fadAE88a26365528f"; }; readonly Arbitrum: { readonly messageTransmitter: "0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca"; readonly tokenMessenger: "0x19330d10D9Cc8751218eaf51E8885D058642E08A"; }; readonly Base: { readonly messageTransmitter: "0xAD09780d193884d503182aD4588450C416D6F9D4"; readonly tokenMessenger: "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0xF3be9355363857F3e001be68856A2f96b4C39Ba9"; readonly tokenMessenger: "0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE"; }; readonly Sui: { readonly messageTransmitter: "0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b"; readonly tokenMessenger: "0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e"; }; readonly Aptos: { readonly messageTransmitter: "0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772"; readonly tokenMessenger: "0x9e6702a472080ea3caaf6ba9dfaa6effad2290a9ba9adaacd5af5c618e42782d"; }; readonly Unichain: { readonly messageTransmitter: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4"; readonly tokenMessenger: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762"; }; }; readonly Testnet: { readonly Ethereum: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Avalanche: { readonly messageTransmitter: "0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79"; readonly tokenMessenger: "0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0"; }; readonly Optimism: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Arbitrum: { readonly messageTransmitter: "0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Base: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Sui: { readonly messageTransmitter: "0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5"; readonly tokenMessenger: "0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb"; }; readonly Aptos: { readonly messageTransmitter: "0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9"; readonly tokenMessenger: "0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9"; }; readonly Unichain: { readonly messageTransmitter: "0xbc498c326533d675cf571B90A2Ced265ACb7d086"; readonly tokenMessenger: "0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782"; }; }; }[T] ? T_4 extends { [key: string]: unknown; [key: number]: unknown; [key: symbol]: unknown; } ? T_4[K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1] : never : never : never) ? T_3 extends `bigint(${infer V extends bigint})` ? V : T_3 extends `boolean(${infer V_1 extends boolean})` ? V_1 : T_3 : never : never>(args_0: K1, args_1: K2) => { readonly Mainnet: { readonly Ethereum: { readonly messageTransmitter: "0x0a992d191deec32afe36203ad87d7d289a738f81"; readonly tokenMessenger: "0xbd3fa81b58ba92a82136038b25adec7066af3155"; }; readonly Avalanche: { readonly messageTransmitter: "0x8186359af5f57fbb40c6b14a588d2a59c0c29880"; readonly tokenMessenger: "0x6b25532e1060ce10cc3b0a99e5683b91bfde6982"; }; readonly Optimism: { readonly messageTransmitter: "0x4d41f22c5a0e5c74090899e5a8fb597a8842b3e8"; readonly tokenMessenger: "0x2B4069517957735bE00ceE0fadAE88a26365528f"; }; readonly Arbitrum: { readonly messageTransmitter: "0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca"; readonly tokenMessenger: "0x19330d10D9Cc8751218eaf51E8885D058642E08A"; }; readonly Base: { readonly messageTransmitter: "0xAD09780d193884d503182aD4588450C416D6F9D4"; readonly tokenMessenger: "0x1682Ae6375C4E4A97e4B583BC394c861A46D8962"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0xF3be9355363857F3e001be68856A2f96b4C39Ba9"; readonly tokenMessenger: "0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE"; }; readonly Sui: { readonly messageTransmitter: "0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b"; readonly tokenMessenger: "0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e"; }; readonly Aptos: { readonly messageTransmitter: "0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772"; readonly tokenMessenger: "0x9e6702a472080ea3caaf6ba9dfaa6effad2290a9ba9adaacd5af5c618e42782d"; }; readonly Unichain: { readonly messageTransmitter: "0x353bE9E2E38AB1D19104534e4edC21c643Df86f4"; readonly tokenMessenger: "0x4e744b28E787c3aD0e810eD65A24461D4ac5a762"; }; }; readonly Testnet: { readonly Ethereum: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Avalanche: { readonly messageTransmitter: "0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79"; readonly tokenMessenger: "0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0"; }; readonly Optimism: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Arbitrum: { readonly messageTransmitter: "0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Base: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; }; readonly Solana: { readonly messageTransmitter: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd"; readonly tokenMessenger: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3"; }; readonly Polygon: { readonly messageTransmitter: "0x7865fAfC2db2093669d92c0F33AeEF291086BEFD"; readonly tokenMessenger: "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"; };