Type Alias: ChainContext
ChainContext =
WithLogger& {apiClient?:CCIPAPIClient|null;apiRetryConfig?:ApiRetryConfig; }
Defined in: chain.ts:89
Context for Chain class initialization. Extends WithLogger with optional API client configuration.
Type Declaration
apiClient?
optionalapiClient:CCIPAPIClient|null
CCIP API client instance for lane information queries.
undefined(default): Creates CCIPAPIClient with DEFAULT_API_BASE_URLCCIPAPIClient: Uses provided instance (allows custom URL, fetch, etc.)null: Disables API client entirely (getLaneLatency() will throw)
Default: undefined (auto-create with production endpoint)
apiRetryConfig?
optionalapiRetryConfig:ApiRetryConfig
Retry configuration for API fallback operations. Controls exponential backoff behavior for transient errors. Default: DEFAULT_API_RETRY_CONFIG
Examples
TypeScript
const chain = await EVMChain.fromUrl(rpcUrl, { logger })
await chain.getLaneLatency(destSelector) // Works - uses production API
TypeScript
const api = new CCIPAPIClient('https://staging-api.example.com', { logger })
const chain = await EVMChain.fromUrl(rpcUrl, { apiClient: api, logger })
TypeScript
const chain = await EVMChain.fromUrl(rpcUrl, { apiClient: null, logger })
await chain.getLaneLatency(destSelector) // Throws CCIPApiClientNotAvailableError