跳到主要内容

Capabilities(公开能力)

使用 Capability 资源查询平台提供的结算代币与可支付路由费率限额跨链 等字段)。all() 请求发往 公开 base URL(publicBaseUrl),且不会携带 Authorization 头。你仍需在 GStableClient 上传入 apiKey,以便其他私有接口正常工作。

访问能力 API

GStableClient 上调用 client.capability.all()。方法本身无参数。

错误处理

公开能力接口在 HTTP 失败、信封无效或 API 返回错误 code 时,仍会抛出 GStableError(及子类)。

import { GStableClient, GStableError } from 'gstable-js';

const client = new GStableClient({ apiKey: process.env.GSTABLE_API_KEY! });

try {
const caps = await client.capability.all();
console.log(caps.supportedTokens.length);
} catch (error) {
if (error instanceof GStableError) {
console.error(`GStable error [${error.code}]: ${error.message}`);
}
}

TypeScript 类型

描述 all() 返回的公开能力矩阵,可从包根路径导入。

核心类型

  • PaymentCapabilities — 顶层响应:supportedTokens 与嵌套的 paymentCapabilities 映射。
  • SupportedToken — 代币元数据(tokenIdsymbolchainIddecimals 等,以 API 为准)。
  • PaymentCapabilitiesMatrix — 结算代币 id → 路由分组 → 路由行。
  • PaymentCapabilityRoute — 单条可支付路由(feeRatePPMminPaymentValuemaxPaymentValuecrosschain 等,以 API 为准)。
import type {
PaymentCapabilities,
SupportedToken,
PaymentCapabilitiesMatrix,
PaymentCapabilityRoute,
} from 'gstable-js';

all

返回支持的结算代币与可支付路由矩阵(费率、限额、跨链标志等)。

client.capability.all()

参数

名称类型必填说明
无方法参数。GStableClient 构造函数仍需 apiKey 供其他资源使用。

返回值

Promise<PaymentCapabilities> — 响应结构:

  • supportedTokensSupportedToken[]tokenIdsymbolchainIddecimals)。
  • paymentCapabilitiesPaymentCapabilitiesMatrix — 嵌套映射 **结算代币 id → 路由分组 → **PaymentCapabilityRoute[]****(feeRatePPMminPaymentValuemaxPaymentValuecrosschain 等)。

示例

import { GStableClient } from 'gstable-js';

const client = new GStableClient({ apiKey: process.env.GSTABLE_API_KEY! });

const caps = await client.capability.all();
console.log(caps.supportedTokens.length);

const settlementTokenId = 'polygon::usdc';
const routesByGroup = caps.paymentCapabilities[settlementTokenId];
if (routesByGroup) {
console.log(Object.keys(routesByGroup));
}