UNPKG

@roochnetwork/rooch-sdk-kit

Version:
87 lines (86 loc) 3.37 kB
import { ThirdPartyAddress, Bytes, Signer } from '@roochnetwork/rooch-sdk'; import { SupportChain } from '../feature/index.js'; import { WalletNetworkType } from './types.js'; export declare abstract class Wallet extends Signer { protected address: ThirdPartyAddress[] | undefined; protected publicKey: string | undefined; protected currentAddress: ThirdPartyAddress | undefined; /** * Connects the wallet. * @returns A promise that resolves to an array of wallet accounts. */ abstract connect(): Promise<ThirdPartyAddress[]>; abstract getName(): string; abstract getIcon(theme?: 'dark' | 'light'): string; abstract getInstallUrl(): string; abstract getDescription(): string; abstract sendBtc(input: { toAddress: string; satoshis: number; options?: { feeRate: number; }; }): Promise<string>; abstract getBalance(): Promise<{ confirmed: number; unconfirmed: number; total: string; }>; /** * Signs a message. * @param msg - The message to sign. * @returns A promise that resolves to the signature string. */ abstract sign(msg: Bytes): Promise<Bytes>; /** * Switches the network. */ abstract switchNetwork(network: WalletNetworkType): Promise<void>; /** * Retrieves the current network of the wallet. * @returns The current network as a string. */ abstract getNetwork(): Promise<WalletNetworkType>; /** * Retrieves the supported networks of the wallet. * @returns An array of supported network strings. */ abstract getSupportNetworks(): WalletNetworkType[]; /** * Registers a callback function to be invoked when accounts are changed. * @param callback - A function to be called when accounts are changed. It receives an array of account strings as its argument. */ abstract onAccountsChanged(callback: (accounts: Array<string>) => void): void; /** * Removes a previously registered callback function for account changes. * @param callback - The callback function to be removed. */ abstract removeAccountsChanged(callback: (accounts: Array<string>) => void): void; /** * Registers a callback function to be invoked when the network is changed. * @param callback - A function to be called when the network is changed. It receives the new network as its argument. */ abstract onNetworkChanged(callback: (network: string) => void): void; /** * Removes a previously registered callback function for network changes. * @param callback - The callback function to be removed. */ abstract removeNetworkChanged(callback: (network: string) => void): void; /** * Retrieves the target of the wallet. * @returns The target of the wallet. */ abstract getTarget(): any; abstract getChain(): SupportChain; /** * Normalizes the recovery ID. * @param recoveryID - The recovery ID to be normalized. * @returns The normalized recovery ID as a number. */ protected abstract normalize_recovery_id(recoveryID: number): number; /** * Checks if the wallet is installed. * @returns A promise that resolves to true if the wallet is installed, otherwise false. */ checkInstalled(): Promise<boolean>; }