/** * @name FacilitatorRpcFallback * @description Resilient RPC endpoint failover with round-robin and timeouts * for x402 SVM facilitator operations. * * Strategy: * 1. Round-robin — each call starts from the next endpoint in the rotation * 2. Timeout — each attempt gets a configurable deadline (default 8s) * 3. Failover — on transient errors or timeout, immediately tries the next endpoint * 4. Multiple public mainnet RPCs are included as defaults to avoid rate limits */ import type { FacilitatorSvmSigner } from '@x402/svm'; /** * @name FacilitatorRpcEndpoint * @description One RPC-backed facilitator signer candidate used during failover. */ export interface FacilitatorRpcEndpoint { label: string; rpcUrl?: string; signer: FacilitatorSvmSigner; } /** * @name createResilientFacilitatorSigner * @description Wraps one or more facilitator signers with round-robin load balancing, * per-attempt timeouts, and failover for transient RPC failures. */ export declare function createResilientFacilitatorSigner(endpoints: readonly FacilitatorRpcEndpoint[]): FacilitatorSvmSigner; /** * @name parseRpcFallbackUrls * @description Parses comma-separated RPC fallback URLs from environment variables or config files. */ export declare function parseRpcFallbackUrls(value: string | undefined): string[]; /** * @name uniqueRpcUrls * @description Deduplicates RPC URLs while preserving priority order. */ export declare function uniqueRpcUrls(urls: readonly string[]): string[]; /** * @name isTransientRpcError * @description Returns true when an error is likely caused by endpoint health, lag, throttling, or transport. */ export declare function isTransientRpcError(error: unknown): boolean; //# sourceMappingURL=facilitator-rpc-fallback.d.ts.map