@smoothsend/sdk
Version:
Multi-chain gasless transaction SDK for seamless dApp integration
49 lines • 1.58 kB
TypeScript
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