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— 代币元数据(tokenId、symbol、chainId、decimals等,以 API 为准)。PaymentCapabilitiesMatrix— 结算代币 id → 路由分组 → 路由行。PaymentCapabilityRoute— 单条可支付路由(feeRatePPM、minPaymentValue、maxPaymentValue、crosschain等,以 API 为准)。
import type {
PaymentCapabilities,
SupportedToken,
PaymentCapabilitiesMatrix,
PaymentCapabilityRoute,
} from 'gstable-js';
all
返回支持的结算代币与可支付路由矩阵(费率、限额、跨链标志等)。
client.capability.all()
参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| — | — | — | 无方法参数。GStableClient 构造函数仍需 apiKey 供其他资源使用。 |
返回值
Promise<PaymentCapabilities> — 响应结构:
supportedTokens:SupportedToken[](tokenId、symbol、chainId、decimals)。paymentCapabilities:PaymentCapabilitiesMatrix— 嵌套映射 **结算代币 id → 路由分组 → **PaymentCapabilityRoute[]****(feeRatePPM、minPaymentValue、maxPaymentValue、crosschain等)。
示例
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));
}