TypeScript SDK 用于与 Aggregator Swap API 交互,支持多链资产交换和价格查询。
npm install agg-swap-client
- 完整的 TypeScript 类型支持
- 支持多链资产交换(Solana、Ethereum、Base 等)
- 简洁易用的 API 接口
- 基于 Axios 的 HTTP 请求
import { SwapApiClient } from 'agg-swap-client';
// 创建客户端实例,指定 API 服务器地址
const client = new SwapApiClient('http://your-api-url');
// 获取所有支持的区块链信息
const chains = await client.getChains();
console.log(chains);
// 获取 Solana 链上的代币列表
const tokens = await client.getTokens('sol');
// 搜索特定代币
const usdcTokens = await client.getTokens('sol,eth', 'usdc');
// 获取 Solana 上 USDC 代币的详细信息
const token = await client.getToken('sol', 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v');
// 获取 SOL 到 USDC 的交换报价
const quote = await client.getQuotation({
fromChain: 'sol',
toChain: 'sol',
fromTokenAddress: 'So11111111111111111111111111111111111111112',
toTokenAddress: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
fromAmount: '1000000000',
fromAddress: 'YourFromAddress',
toAddress: 'YourToAddress',
slippage: 0.1
});
// 访问交易请求数据
if (quote.transactionRequest) {
// 检查是否是 EVM 交易
if ('to' in quote.transactionRequest) {
console.log('EVM Transaction:', {
to: quote.transactionRequest.to,
from: quote.transactionRequest.from,
data: quote.transactionRequest.data,
value: quote.transactionRequest.value
});
}
// 检查是否是 Solana 交易
else if ('data' in quote.transactionRequest) {
console.log('Solana Transaction Data:', quote.transactionRequest.data);
}
}
// 获取 SOL 代币的 USD 价格
const price = await client.getTokenPrice('So11111111111111111111111111111111111111112', 'sol');
// 获取 Solana 链的 Gas 价格
const gasPrice = await client.getGasPrice('sol');
constructor(baseURL: string = 'http://localhost:3000')
创建一个新的 SwapApiClient 实例。
-
getChains(): Promise<LiFiChain[]>
获取所有支持的区块链信息。 -
getTokens(chains: string, searchTerm?: string): Promise<LiFiTokensResponse>
获取指定链上的代币列表,可选搜索关键词。 -
getToken(chain: string, token: string): Promise<LiFiToken>
获取特定代币的详细信息。 -
getQuotation(params: QuotationParams): Promise<LiFiQuoteResponse>
获取代币交换报价和可用路由。 -
getTokenPrice(token: string, chain: string): Promise<string>
获取代币的 USD 价格。 -
getGasPrice(chain: string): Promise<string>
获取特定链的 Gas 价格。
所有类型定义都从包中导出:
import {
LiFiChain,
LiFiToken,
LiFiTokensResponse,
LiFiQuoteResponse,
LiFiStep,
EVMTransactionRequest,
SolanaTransactionRequest
} from 'agg-swap-client';
-
LiFiChain
: 区块链信息 -
LiFiToken
: 代币信息 -
LiFiTokensResponse
: 代币列表响应 -
LiFiQuoteResponse
: 交换报价响应 -
EVMTransactionRequest
: EVM 交易请求 -
SolanaTransactionRequest
: Solana 交易请求
# 安装依赖
npm install
# 构建
npm run build
# 测试
npm run test
MIT