anchor-sdk
Version:
TypeScript SDK for interacting with Anchor ecosystem - badge minting, payment processing, and ERC1155 token management
204 lines (203 loc) • 7.82 kB
TypeScript
import { BadgeCheckRequest, WebResultAssetsBadgeResponse, WebResultBadgeAssetsResponse, WebResultBadgeCheckResponse, WebResultBadgeClaimSignatureResponse, WebResultBadgeClaimableListResponse, WebResultBadgeClaimableResponse, WebResultBadgeDetailResponse, WebResultBadgeResponse, WebResultBadgeSeriesDetailResponse, WebResultBadgeSeriesResponse, WebResultCheckResponse, WebResultCheckResultResponse, WebResultGrantBadgeRequestVO, WebResultGrantBadgeResponseVO, WebResultNftSeriesDetailResponse, WebResultNftSeriesResponse, WebResultTransactionHashProcess, WebResultUserOpHashProcess } from "./api/types";
import { Chain } from "viem";
/**
* Anchor API 客户端配置
*/
export interface AnchorApiClientConfig {
/** API 基础 URL */
apiBaseUrl: string;
/** 认证令牌 */
authToken?: string;
/** 项目 ID */
projectId?: string;
/** 网络配置 */
network: Chain;
/** Token 过期回调函数 */
onTokenExpired?: (error: Error) => void;
}
/**
* Anchor API 客户端
* 用于与 Anchor API 服务进行交互
*/
export declare class AnchorApiClient {
private apiHttpClient;
private network;
/**
* 创建 Anchor API 客户端
* @param config 客户端配置
*/
constructor(config: AnchorApiClientConfig);
/**
* 设置认证令牌
* @param token 认证令牌
*/
setAuthToken(token: string): void;
/**
* 设置 Token 过期回调
* @param callback Token 过期回调函数
*/
setTokenExpiredCallback(callback: (error: Error) => void): void;
/**
* 设置项目 ID
* @param projectId 项目 ID
*/
setProjectId(projectId: string): void;
/**
* 设置链 ID
* @param chainId 链 ID
*/
setChainId(chainId: string): void;
/**
* 获取徽章系列列表
* @param status 系列状态过滤器
* @param group 系列组过滤器
* @param limit 每页项目数
* @param nextToken 分页令牌
* @returns 徽章系列响应
*/
getBadgeSeries(status?: string, group?: string, limit?: number, nextToken?: string): Promise<WebResultBadgeSeriesResponse>;
/**
* 获取徽章系列详情
* @param seriesId 系列标识符
* @returns 徽章系列详情响应
*/
getBadgeSeriesDetail(seriesId: string): Promise<WebResultBadgeSeriesDetailResponse>;
/**
* 获取用户徽章
* @param status 徽章状态过滤器
* @param strategy 返回策略
* @param series 徽章系列过滤器
* @param limit 每页项目数
* @param nextToken 分页令牌
* @returns 徽章响应
*/
getBadges(status?: string, strategy?: string, series?: string, limit?: number, nextToken?: string): Promise<WebResultBadgeResponse>;
/**
* 获取徽章详情
* @param badgeId 徽章标识符
* @returns 徽章详情响应
*/
getBadgeDetail(badgeId: string): Promise<WebResultBadgeDetailResponse>;
/**
* 检查单个徽章可领取状态
* @param badgeId 徽章标识符
* @returns 徽章可领取响应
*/
checkSingleBadgeClaimable(badgeId: string): Promise<WebResultBadgeClaimableResponse>;
/**
* 获取用户徽章资产
* @param status 徽章状态过滤器
* @param strategy 返回策略
* @param series 徽章系列过滤器
* @param limit 每页项目数
* @param nextToken 分页令牌
* @returns 徽章资产响应
*/
getUserBadgeAssets(status?: string, strategy?: string, series?: string, limit?: number, nextToken?: string): Promise<WebResultBadgeAssetsResponse>;
/**
* 检查用户可领取徽章
* @param data 徽章检查请求
* @returns 徽章检查响应
*/
checkUserClaimableBadges(data: BadgeCheckRequest): Promise<WebResultBadgeCheckResponse>;
/**
* 获取用户可领取徽章
* @param series 徽章系列过滤器
* @param limit 每页项目数
* @param nextToken 分页令牌
* @returns 徽章可领取列表响应
*/
getUserClaimableBadges(series?: string, limit?: number, nextToken?: string): Promise<WebResultBadgeClaimableListResponse>;
/**
* 获取徽章领取签名
* @param customerAddress 客户钱包地址
* @param badgeIds 要领取的徽章 ID 列表
* @returns 徽章领取签名响应
*/
getBadgeClaimSignatures(customerAddress: string, badgeIds: string[]): Promise<WebResultBadgeClaimSignatureResponse>;
/**
* 查询资产
* @param customerIds 用户 ID 列表
* @param status 资产状态
* @param strategy 返回策略
* @param limit 返回数量限制
* @returns 资产徽章响应
*/
getUserAssets(customerIds?: string[], status?: string, strategy?: string, limit?: number): Promise<WebResultAssetsBadgeResponse>;
/**
* 授予徽章 (Legacy)
* @param data 授予徽章请求数据
* @returns 授予徽章响应
*/
grantBadge(data: WebResultGrantBadgeRequestVO): Promise<WebResultGrantBadgeResponseVO>;
/**
* 查询用户可领取或已领取的徽章 (Legacy)
* @param customerId 客户 ID
* @param status NFT 状态,值(claimable、claimed)
* @param strategy 返回数据的策略(all:返回所有徽章, max:仅返回同系列等级最高的徽章)
* @returns 徽章响应
*/
getBadgeAssets(customerId?: string, status?: "claimable" | "claimed", strategy?: "all" | "max"): Promise<WebResultBadgeResponse>;
/**
* 获取 NFT 系列 (Legacy)
* @returns NFT 系列响应
*/
getNftSeries(): Promise<WebResultNftSeriesResponse>;
/**
* 通过 ID 获取 NFT 系列 (Legacy)
* @param series NFT 系列
* @param customerId 用户 ID
* @returns NFT 系列详情响应
*/
getNftSeriesById(series: string, customerId?: string): Promise<WebResultNftSeriesDetailResponse>;
/**
* 检查徽章 (Legacy)
* @returns 检查响应
*/
checkBadge(): Promise<WebResultCheckResponse>;
/**
* 获取徽章检查结果 (Legacy)
* @returns 检查结果响应
*/
getBadgeCheckResult(): Promise<WebResultCheckResultResponse>;
/**
* 处理用户操作哈希 (Legacy)
* @param userOperationHash 用户操作哈希
* @param processType 处理类型,默认为 ERC20_TRANSFER
* @returns 处理响应
*/
processUserOpHash(userOperationHash: string, processType?: "ERC20_TRANSFER"): Promise<WebResultUserOpHashProcess>;
/**
* 加快交易处理 (Legacy)
* @param txHash 交易哈希
* @returns 处理响应
*/
processTransactionHash(txHash: string): Promise<WebResultTransactionHashProcess>;
/**
* @deprecated 使用 getBadgeClaimSignatures 替代
* 铸造徽章
* @param customerAddress 客户地址
* @param contractAddress NFT 地址
* @param claimableIds 可领取 ID 列表
* @returns NFT 铸造响应
*/
mintBadge(customerAddress: string, contractAddress: string, claimableIds: string[]): Promise<any>;
/**
* @deprecated 使用 getBadgeClaimSignatures 替代
* 使用 V2 API 铸造徽章
* @param customerAddress 客户地址
* @param contractAddress NFT 地址
* @param claimableIds 可领取 ID 列表
* @returns 铸造响应
*/
mintBadgeV2(customerAddress: string, contractAddress: string, claimableIds: string[]): Promise<any>;
/**
* @deprecated 使用 checkUserClaimableBadges 替代
* 批量铸造徽章(V2)
* @param customerAddress 客户地址
* @param contractAddress NFT 合约地址
* @param tokenIds 代币 ID 列表
* @returns 批量铸造响应
*/
batchMintBadge(customerAddress: string, contractAddress: string, tokenIds: string[]): Promise<any>;
}