UNPKG

@smoothsend/sdk

Version:

Multi-chain gasless transaction SDK for seamless dApp integration

87 lines 3.77 kB
import { SupportedChain, ChainConfig, ChainEcosystem, TransferRequest, TransferQuote, SignatureData, SignedTransferData, TransferResult, TokenBalance, TokenInfo, BatchTransferRequest, SmoothSendConfig, EventListener, ChainInfo, HealthResponse, GasEstimateResponse, DomainSeparatorResponse, TransferStatusResponse } from '../types'; export declare class SmoothSendSDK { private adapters; private eventListeners; private config; private initialized; private initializationPromise; constructor(config?: SmoothSendConfig); /** * Initialize adapters with dynamic or static configuration */ private initializeAdapters; private _doInitialize; private initializeDynamicAdapters; private initializeStaticAdapters; private createAdapter; /** * Fetch supported chains from both relayers */ private fetchSupportedChains; /** * Fetch chain configuration from the appropriate relayer */ private fetchChainConfig; /** * Get default configuration for a chain (fallback when dynamic config fails) */ private getDefaultChainConfig; /** * Refresh chain configurations from relayers */ refreshChainConfigs(): Promise<void>; addEventListener(listener: EventListener): void; removeEventListener(listener: EventListener): void; private emitEvent; getQuote(request: TransferRequest): Promise<TransferQuote>; prepareTransfer(request: TransferRequest, quote: TransferQuote): Promise<SignatureData>; executeTransfer(signedData: SignedTransferData, chain: SupportedChain): Promise<TransferResult>; transfer(request: TransferRequest, signer: any): Promise<TransferResult>; batchTransfer(request: BatchTransferRequest, signer: any): Promise<TransferResult[]>; getBalance(chain: SupportedChain, address: string, token?: string): Promise<TokenBalance[]>; getTokenInfo(chain: SupportedChain, token: string): Promise<TokenInfo>; getNonce(chain: SupportedChain, address: string): Promise<string>; getTransactionStatus(chain: SupportedChain, txHash: string): Promise<any>; validateAddress(chain: SupportedChain, address: string): Promise<boolean>; validateAmount(chain: SupportedChain, amount: string, token: string): Promise<boolean>; getSupportedChains(): Promise<SupportedChain[]>; getChainConfig(chain: SupportedChain): Promise<ChainConfig>; isChainSupported(chain: string): Promise<boolean>; /** * Get supported tokens for a specific chain (from dynamic config) */ getSupportedTokens(chain: SupportedChain): Promise<string[]>; /** * Health check endpoint */ getHealth(): Promise<HealthResponse>; /** * Get supported blockchain networks */ getSupportedChainsInfo(): Promise<ChainInfo[]>; /** * Get supported tokens for a specific chain */ getSupportedTokensForChain(chainName: string): Promise<TokenInfo[]>; /** * Estimate gas cost for transfers */ estimateGas(chainName: string, transfers: any[]): Promise<GasEstimateResponse>; /** * Get EIP-712 domain separator for a specific chain */ getDomainSeparator(chainName: string): Promise<DomainSeparatorResponse>; /** * Check transfer execution status */ getTransferStatus(chainName: string, transferHash: string): Promise<TransferStatusResponse>; /** * Check if a chain belongs to a specific ecosystem */ getChainEcosystem(chain: SupportedChain): ChainEcosystem; private getAdapter; static getSupportedChains(): SupportedChain[]; static getChainConfig(chain: SupportedChain): ChainConfig; static getAllChainConfigs(): Record<SupportedChain, ChainConfig>; } //# sourceMappingURL=SmoothSendSDK.d.ts.map