UNPKG

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
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>; }