UNPKG

zklogin-plus

Version:

A powerful zkLogin plugin for Sui blockchain - inspired by @mysten/enoki

88 lines 2.27 kB
import { SuiClient } from '@onelabs/sui/client'; import type { ZkLoginConfig, ZkLoginState, ZkLoginEvents, EphemeralKeyPairState, JwtState, UserSaltState, ZkLoginAddressState, ZkProofData, ZkLoginProvider, TransactionOptions } from '../types'; /** * 事件发射器 */ declare class EventEmitter<T extends Record<string, (...args: unknown[]) => void>> { private listeners; on<K extends keyof T>(event: K, listener: T[K]): void; off<K extends keyof T>(event: K, listener: T[K]): void; emit<K extends keyof T>(event: K, ...args: Parameters<T[K]>): void; } /** * ZkLogin客户端 */ export declare class ZkLoginClient extends EventEmitter<ZkLoginEvents> { private config; private suiClient; private storage; private sessionStorage; private state; constructor(config: ZkLoginConfig); /** * 获取当前状态 */ getState(): ZkLoginState; /** * 获取配置 */ getConfig(): Required<ZkLoginConfig>; /** * 获取Sui客户端 */ getSuiClient(): SuiClient; /** * 步骤1: 生成临时密钥对 */ generateEphemeralKeyPair(): Promise<EphemeralKeyPairState>; /** * 步骤2: 重定向到OAuth提供商 */ redirectToOAuth(provider?: ZkLoginProvider, state?: string): void; /** * 步骤3: 处理OAuth回调并解码JWT */ handleOAuthCallback(url?: string): JwtState; /** * 步骤4: 生成用户Salt */ generateSalt(): Promise<UserSaltState>; /** * 步骤5: 生成ZkLogin地址 */ generateAddress(): Promise<ZkLoginAddressState>; /** * 步骤6: 获取ZK证明 */ getZkProof(): Promise<ZkProofData>; /** * 步骤7: 执行交易 */ executeTransaction(options?: TransactionOptions): Promise<string>; /** * 请求测试代币 */ requestTestTokens(): Promise<void>; /** * 刷新地址余额 */ refreshBalance(): Promise<string>; /** * 重置所有状态 */ reset(): void; /** * 从存储中恢复状态 */ private restoreState; /** * 错误处理 */ private handleError; /** * 调试日志 */ private debug; } export {}; //# sourceMappingURL=index.d.ts.map