钱包SDK
This commit is contained in:
@@ -1,44 +1,49 @@
|
||||
import { IWalletSDK } from "../core/IWalletSDK";
|
||||
import { ISignCap } from "../core/ISignCap";
|
||||
import { ITransactionCap } from "../core/ITransactionCap";
|
||||
import { logger } from "db://assets/Scripts/Main/Common/Logger";
|
||||
|
||||
export class LuffaWalletSDK implements IWalletSDK {
|
||||
export class LuffaWalletSDK implements IWalletSDK, ISignCap, ITransactionCap {
|
||||
private address: string | null = null;
|
||||
|
||||
// 初始化
|
||||
init(cb?: Function): void {
|
||||
console.log("Luffa 钱包初始化");
|
||||
logger.log("Luffa 钱包初始化");
|
||||
cb && cb();
|
||||
}
|
||||
|
||||
connect(cb: (address: string, publicKey?: string) => void): void {
|
||||
console.log("连接 Luffa 钱包");
|
||||
// 连接钱包
|
||||
connectWallet(cb: (address: string, publicKey?: string) => void): void {
|
||||
logger.log("连接 Luffa 钱包");
|
||||
this.address = "0x123456"; // 模拟地址
|
||||
cb(this.address, "public-key");
|
||||
}
|
||||
|
||||
disconnect(): void {
|
||||
// 断开钱包连接
|
||||
disconnectWallet(): void {
|
||||
this.address = null;
|
||||
}
|
||||
|
||||
// 获取当前钱包地址
|
||||
getWalletAddress(): string | null {
|
||||
return this.address;
|
||||
}
|
||||
|
||||
async signMessage(message: string, nonce: number): Promise<any> {
|
||||
console.log("调用 Luffa 单签签名");
|
||||
return { signature: "xxx", fullMessage: `${message}-${nonce}` };
|
||||
// 签名消息
|
||||
async signMessage(message: string, options?: any): Promise<{ signature: string; fullMessage?: string }> {
|
||||
logger.log("调用 Luffa 单签签名");
|
||||
return { signature: "0xsignedmsg", fullMessage: message };
|
||||
}
|
||||
|
||||
async buildTransaction(payload: any): Promise<any> {
|
||||
console.log("构建交易", payload);
|
||||
return { raw: "rawTx" };
|
||||
// 签名交易
|
||||
async signTransaction(rawData: any): Promise<{ signedData: string }> {
|
||||
logger.log("签名交易", rawData);
|
||||
return { signedData: "0xsignedtx" };
|
||||
}
|
||||
|
||||
async signTransaction(rawData: any): Promise<any> {
|
||||
console.log("签名交易", rawData);
|
||||
return { signed: "signedTx" };
|
||||
}
|
||||
|
||||
async sendTransaction(signed: any): Promise<{ hash: string }> {
|
||||
console.log("发送交易", signed);
|
||||
return { hash: "0xabcdef" };
|
||||
// 发送交易(广播到链上)
|
||||
async sendTransaction(signedData: string): Promise<{ hash: string }> {
|
||||
logger.log("发送交易", signedData);
|
||||
return { hash: "0xhash" };
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user