agg-swap-client
TypeScript icon, indicating that this package has built-in type declarations

0.1.5 • Public • Published

agg-swap-client

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');

获取 Gas 价格

// 获取 Solana 链的 Gas 价格
const gasPrice = await client.getGasPrice('sol');

API 参考

SwapApiClient

构造函数

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

Package Sidebar

Install

npm i agg-swap-client

Weekly Downloads

88

Version

0.1.5

License

MIT

Unpacked Size

78.2 kB

Total Files

10

Last publish

Collaborators

  • parker010