UNPKG

@smoothsend/sdk

Version:

Multi-chain gasless transaction SDK for seamless dApp integration

49 lines 1.58 kB
import { ChainConfig, SupportedChain, ChainInfo } from '../types'; export interface DynamicChainConfig extends ChainConfig { tokens: string[]; contractAddress?: string; feeSettings?: { baseFeeBps: number; minFeeWei: string; maxFeeBps: number; }; } export interface RelayerChainInfo extends ChainInfo { contractAddress?: string; rpcUrl?: string; } export declare class ChainConfigService { private configCache; private cacheExpiry; private readonly CACHE_TTL; /** * Fetch chain configuration from relayer's API endpoints */ fetchChainConfig(relayerUrl: string, chainName?: string): Promise<DynamicChainConfig[]>; /** * Get configuration for a specific supported chain */ getChainConfig(chain: SupportedChain, fallbackConfig?: ChainConfig): Promise<DynamicChainConfig>; /** * Get all available chain configurations */ getAllChainConfigs(fallbackConfigs?: Record<SupportedChain, ChainConfig>): Promise<Record<string, DynamicChainConfig>>; /** * Clear the configuration cache */ clearCache(): void; /** * Set custom cache TTL */ setCacheTtl(ttlMs: number): void; private mapRelayerChainToConfig; private getRelayerUrlForChain; private matchesChain; private matchesChainName; private getChainKey; private getDefaultRpcUrl; private getNativeCurrencyForChain; private getDefaultTokensForChain; } export declare const chainConfigService: ChainConfigService; //# sourceMappingURL=chainConfigService.d.ts.map