Files
18xchat/assets/Scripts/Main/Channel/core/IWalletSDK.ts
T
2025-09-27 14:04:13 +08:00

38 lines
1.1 KiB
TypeScript

/**
* 钱包基础能力接口
* - 只包含连接 / 断开 / 获取地址
* - 更高级的签名、交易能力通过扩展接口实现
*/
import { ISDK } from "./ISDK";
export interface IWalletSDK extends ISDK {
/**
* 连接钱包
*
* 触发钱包连接流程(如唤起 Luffa 钱包授权、MetaMask 插件弹窗)。
* 成功后返回钱包地址和可选的公钥。
*
* @param cb 回调函数
* - address: 钱包地址(字符串)
* - publicKey?: 钱包公钥(部分钱包可能返回,用于后续签名验证)
*/
connectWallet(cb: (address: string, publicKey?: string) => void): void;
/**
* 断开钱包连接
*
* 清理当前钱包的会话信息(如地址、公钥、缓存的 session)。
* 调用后 getWalletAddress() 应返回 null。
*/
disconnectWallet(): void;
/**
* 获取当前钱包地址
*
* 如果用户已连接钱包,则返回钱包地址。
* 如果尚未连接,则返回 null。
*/
getWalletAddress(): string | null;
}