SDK相关的整理
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
/**
|
||||
* 定义钱包 SDK 的统一接口,用于封装不同平台的钱包接入逻辑(例如 Luffa、MetaMask、Phantom)。
|
||||
*
|
||||
*/
|
||||
|
||||
import { ISDK } from "./ISDK";
|
||||
|
||||
export interface IWalletSDK extends ISDK {
|
||||
/**
|
||||
* 连接钱包
|
||||
*
|
||||
* 触发钱包连接流程(如唤起 Luffa 钱包授权、MetaMask 插件弹窗)。
|
||||
* 成功后返回钱包地址和可选的公钥。
|
||||
*
|
||||
* @param cb 回调函数
|
||||
* - address: 钱包地址(字符串)
|
||||
* - publicKey?: 钱包公钥(部分钱包可能返回,用于后续签名验证)
|
||||
*/
|
||||
connect(cb: (address: string, publicKey?: string) => void): void;
|
||||
|
||||
/**
|
||||
* 断开钱包连接
|
||||
*
|
||||
* 清理当前钱包的会话信息(如地址、公钥、缓存的 session)。
|
||||
* 调用后 getWalletAddress() 应返回 null。
|
||||
*/
|
||||
disconnect(): void;
|
||||
|
||||
/**
|
||||
* 获取当前钱包地址
|
||||
*
|
||||
* 如果用户已连接钱包,则返回钱包地址。
|
||||
* 如果尚未连接,则返回 null。
|
||||
*/
|
||||
getWalletAddress(): string | null;
|
||||
|
||||
//
|
||||
signMessage(message: string, nonce: number, options?: any): Promise<any>;
|
||||
|
||||
//
|
||||
buildTransaction(payload: any): Promise<any>;
|
||||
|
||||
//
|
||||
signTransaction(rawData: any): Promise<any>;
|
||||
|
||||
//
|
||||
sendTransaction(signedData: any): Promise<{ hash: string }>;
|
||||
}
|
||||
Reference in New Issue
Block a user