API说明
这里列出 UKey Wallet Sui Provider 的方法、类型、事件和错误码。调用签名或交易方法前,请先获取账户并确认当前链。
方法集
| 方法 | 说明 |
|---|---|
hasPermissions() | 核验站点是否已获得授权 |
requestPermissions() | 请求用户授权连接 |
disconnect() | 断开钱包连接 |
getAccounts() | 读取已连接账户,包含 address 和 publicKey |
getActiveChain() | 读取当前链标识 |
isConnected() | 核验连接状态 |
signAndExecuteTransactionBlock(input) | 签名并执行交易块,需传入 account 和 chain |
signTransactionBlock(input) | 仅签名交易块,需传入 account 和 chain |
signAndExecuteTransaction(input) | 新 API,使用 Transaction 签名并执行 |
signTransaction(input) | 新 API,使用 Transaction 仅签名 |
signMessage(input) | 旧版消息签名 |
signPersonalMessage(input) | 个人消息签名 |
onAccountChange(callback) | 订阅账户变化 |
onNetworkChange(callback) | 订阅网络变化 |
类型集
钱包账户
interface WalletAccount {
address: string;
publicKey: Uint8Array;
chains: string[];
features: string[];
}
签署并执行交易块输入
interface SignAndExecuteTransactionBlockInput {
transactionBlock: TransactionBlock;
options?: {
showEffects?: boolean;
showEvents?: boolean;
showObjectChanges?: boolean;
showBalanceChanges?: boolean;
showInput?: boolean;
showRawInput?: boolean;
};
}
签署交易块输出
interface SignTransactionBlockOutput {
transactionBlockBytes: string;
signature: string;
}
签署个人消息输入
interface SignPersonalMessageInput {
message: Uint8Array;
}
签署个人消息输出
interface SignPersonalMessageOutput {
signature: string;
bytes: string;
}
链列表
| 链 | 标识符 |
|---|---|
| 测试网 | sui:testnet |
| 开发网 | sui:devnet |
事件流
| 事件 | 回调入参 | 说明 |
|---|---|---|
accountChanged | { address, publicKey } | null | 当前账户已切换 |
networkChange | network: string | null | 网络已更新 |
connect | address: string | 已连接 |
disconnect | - | 已断开连接 |
错误码
| 错误码 | 说明 |
|---|---|
| 4001 | 用户取消了本次请求 |
| 4100 | 尚未完成授权 |
| -32603 | 内部处理异常 |