/** * @name perps/phoenix/phoenix-relay-api * @description Relay.link API client for cross-chain deposits to Solana. * * Uses the Relay.link REST API to generate deposit addresses for bridging * funds from EVM chains (Ethereum, Base, Arbitrum, etc.) to Solana USDC. * * @module perps/phoenix/phoenix-relay-api */ /** Solana chain ID in Relay (not an EVM chain ID). */ export declare const RELAY_SOLANA_CHAIN_ID = 792703809; /** USDC mint on Solana — the destination currency for cross-chain deposits. */ export declare const RELAY_SOLANA_USDC_ADDRESS = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"; /** Common EVM chain IDs supported by Relay for cross-chain deposits. */ export declare const RELAY_EVM_CHAIN_IDS: { readonly ethereum: 1; readonly optimism: 10; readonly bsc: 56; readonly polygon: 137; readonly arbitrum: 42161; readonly base: 8453; readonly avalanche: 43114; readonly blast: 81457; readonly scroll: 534352; readonly linea: 59144; }; /** Native zero address for EVM chains (used for native currency like ETH). */ export declare const RELAY_EVM_NATIVE_ADDRESS = "0x0000000000000000000000000000000000000000"; /** USDC addresses on common EVM chains. */ export declare const RELAY_EVM_USDC_ADDRESSES: Record; export interface CrossChainQuoteRequest { /** Recipient wallet on Solana (base58). */ recipient: string; /** Origin chain ID (e.g. 1 for Ethereum, 8453 for Base). */ originChainId: number; /** Origin currency address (native = 0x000...000, or ERC20 contract). */ originCurrency: string; /** Amount in smallest unit (wei for ETH, or token units for ERC20). */ amount: string; /** Trade type: EXACT_INPUT (default) or EXPECTED_OUTPUT. */ tradeType?: 'EXACT_INPUT' | 'EXPECTED_OUTPUT'; } export interface CrossChainQuoteResponse { depositAddress: string; requestId: string; steps: unknown[]; fees: { gas: { amount: string; currency: string; }; relayer?: { amount: string; currency: string; }; }; details: { operation: string; timeEstimate: number; currencyIn: { currency: { symbol: string; name: string; decimals: number; chainId: number; }; amount: string; }; currencyOut: { currency: { symbol: string; name: string; decimals: number; chainId: number; }; amount: string; }; }; } export interface DepositStatusResponse { status: 'pending' | 'success' | 'failed' | 'refunded' | 'delayed'; inTxHashes: string[]; txHashes: string[]; updatedAt: number; originChainId: number; destinationChainId: number; } export interface RelayChainInfo { id: number; name: string; displayName: string; depositEnabled: boolean; currency: { symbol: string; address: string; decimals: number; }; } /** * Fetch a cross-chain deposit quote from Relay.link. * The user sends funds to the deposit address and receives USDC on Solana. */ export declare function getCrossChainQuote(params: CrossChainQuoteRequest): Promise; /** * Check the status of a cross-chain deposit by requestId. */ export declare function getDepositStatus(requestId: string): Promise; /** * Get all chains supported by Relay for cross-chain deposits. */ export declare function getSupportedChains(): Promise; //# sourceMappingURL=phoenix-relay-api.d.ts.map