import type { PickDeep } from 'type-fest'; import { type CCIPRequest, type OffchainTokenData, type WithLogger, NetworkType } from './types.ts'; /** * Returns the USDC attestation for a given tokenAmount.extraData and txHash * https://developers.circle.com/cctp/quickstarts/transfer-usdc-ethereum-to-arc#3-3-retrieve-attestation * * @param opts - CCTPv2 options * @param networkType - network type (mainnet or testnet) * @returns USDC/CCTP attestation and message */ export declare function getUsdcAttestation(opts: { /** CCTP sourceDomain */ sourceDomain: number; /** CCTP burn eventNonce */ nonce: number; /** burn txHash, same as CCIP request */ txHash: string; }, networkType: NetworkType): Promise<{ attestation: string; message: string; }>; /** * CCTP V2 finality tier identifiers returned by Circle's burn-fees API. * * These are **opaque tier IDs**, not block counts or durations. * The CCTP V2 whitepaper (Section 8, Table 2) defines exactly two tiers today; * additional tiers may be added in the future (the wide spacing between values * is intentional to leave room). * * @see https://developers.circle.com/cctp/concepts/fees * @see CCTP V2 Whitepaper, Section 8 — "Finality Levels" */ /** Fast / pre-finality tier: attested seconds after soft confirmation. */ export declare const CCTP_FINALITY_FAST = 1000; /** Standard / finalized tier: attested after full on-chain finality. */ export declare const CCTP_FINALITY_STANDARD = 2000; /** * Fetches USDC burn fee tiers from Circle's CCTP API. * * @param sourceDomain - CCTP source domain identifier * @param destDomain - CCTP destination domain identifier * @param networkType - network type (mainnet or testnet) * @returns Array of fee tiers with finality thresholds and BPS fees * @throws {@link CCIPUsdcBurnFeesError} if the HTTP request fails or the response is not a valid array of fee tiers */ export declare function getUsdcBurnFees(sourceDomain: number, destDomain: number, networkType: NetworkType): Promise<{ finalityThreshold: number; minimumFee: number; }[]>; /** * Returns the LBTC attestation for a given payload hash * * @param payloadHash - hash of the payload of the LBTC transfer * @param networkType - network type (mainnet or testnet) * @returns LBTC attestation bytes */ export declare function getLbtcAttestation(payloadHash: string, networkType: NetworkType): Promise<{ attestation: string; }>; /** * Fetch CCIPv1 offchain token data for USDC and LBTC tokenAmounts * @param request - CCIPRequest containing tx.hash and message * @returns Promise resolving to an OffchainTokenData for each tokenAmount */ export declare function getOffchainTokenData(request: PickDeep, { logger }?: WithLogger): Promise; //# sourceMappingURL=offchain.d.ts.map