@stable-io/cctp-sdk-definitions
Version:
Definitions for the CCTP SDK
876 lines (875 loc) • 339 kB
TypeScript
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";
};