@soroswap/sdk
Version:
Official TypeScript SDK for Soroswap.Finance API - DEX and exchange aggregator on Stellar
80 lines • 3.46 kB
TypeScript
import { AddLiquidityRequest, AssetList, AssetListInfo, BalancesResponse, BuildQuoteRequest, BuildQuoteResponse, LiquidityResponse, Pool, PriceData, QuoteRequest, QuoteResponse, RemoveLiquidityRequest, SingleBalanceResponse, SoroswapSDKConfig, SupportedAssetLists, SupportedNetworks, UserPositionResponse } from './types';
import { SendTransactionResponse } from './types/send';
/**
* Main Soroswap SDK class
* Provides access to all Soroswap API functionality with API key authentication
*/
export declare class SoroswapSDK {
private httpClient;
private defaultNetwork;
constructor(config: SoroswapSDKConfig);
/**
* Transform asset list from enum URLs to simple strings for API
*/
private transformAssetList;
/**
* Get contract address for a specific network and contract name
*/
getContractAddress(network: SupportedNetworks, contractName: 'factory' | 'router' | 'aggregator'): Promise<{
address: string;
}>;
/**
* Get available protocols for trading
*/
getProtocols(network?: SupportedNetworks): Promise<string[]>;
/**
* Get quote for a swap
*/
quote(quoteRequest: QuoteRequest, network?: SupportedNetworks): Promise<QuoteResponse>;
/**
* This builds the quote into an XDR transaction
*/
build(buildQuoteRequest: BuildQuoteRequest, network?: SupportedNetworks): Promise<BuildQuoteResponse>;
/**
* Send signed transaction
* @returns Normalized transaction response with parsed result
*/
send(xdr: string, network?: SupportedNetworks): Promise<SendTransactionResponse>;
/**
* Get pools for specific protocols
*/
getPools(network: SupportedNetworks, protocols: string[], assetList?: (SupportedAssetLists | string)[]): Promise<Pool[]>;
/**
* Get pool for specific token pair
*/
getPoolByTokens(assetA: string, assetB: string, network: SupportedNetworks, protocols: string[]): Promise<Pool[]>;
/**
* Add liquidity to a pool
*/
addLiquidity(liquidityData: AddLiquidityRequest, network?: SupportedNetworks): Promise<LiquidityResponse>;
/**
* Remove liquidity from a pool
*/
removeLiquidity(liquidityData: RemoveLiquidityRequest, network?: SupportedNetworks): Promise<LiquidityResponse>;
/**
* Get user liquidity positions
*/
getUserPositions(address: string, network?: SupportedNetworks): Promise<UserPositionResponse[]>;
/**
* Get asset lists metadata or specific asset list
*/
getAssetList(name?: SupportedAssetLists): Promise<AssetList | AssetListInfo[]>;
/**
* Get asset prices
*/
getPrice(assets: string | string[], network?: SupportedNetworks): Promise<PriceData[]>;
/**
* Get all token balances for a wallet address
* @param walletAddress - Stellar address (G...) or contract address (C...)
* @param network - Optional network override
*/
getBalances(walletAddress: string, network?: SupportedNetworks): Promise<BalancesResponse>;
/**
* Get balance for a specific token
* @param walletAddress - Stellar address (G...) or contract address (C...)
* @param tokenAddress - Contract ID (C...) or CODE:ISSUER format
* @param network - Optional network override
*/
getTokenBalance(walletAddress: string, tokenAddress: string, network?: SupportedNetworks): Promise<SingleBalanceResponse>;
}
//# sourceMappingURL=soroswap-sdk.d.ts.map