UNPKG

@aeternity/aepp-sdk

Version:

SDK for the æternity blockchain

44 lines (43 loc) 1.59 kB
import { EventEmitter } from 'eventemitter3'; import AccountRpc from '../account/Rpc.js'; import { Network, NetworkToSelect } from './rpc/types.js'; import { SUBSCRIPTION_TYPES } from './schema.js'; import BrowserConnection from './connection/Browser.js'; interface EventsBase { accountsChange: (accounts: AccountRpc[]) => void; disconnect: (p: any) => void; } export default abstract class WalletConnectorFrameBase<T extends {}> extends EventEmitter<EventsBase | T> { #private; /** * Is connected to wallet */ get isConnected(): boolean; /** * Accounts provided by wallet over subscription */ get accounts(): AccountRpc[]; protected constructor(); protected abstract _updateNetwork(params: Network): void; static _connect(name: string, connection: BrowserConnection, connector: WalletConnectorFrameBase<any>, connectNode: boolean): Promise<void>; /** * Disconnect from wallet */ disconnect(): void; /** * Request accounts from wallet */ getAccounts(): Promise<AccountRpc[]>; /** * Subscribe for wallet accounts, get account updates adding handler to `accountsChange` event * @param type - Subscription type * @param value - Should be one of 'current' (the selected account), 'connected' (all) * @returns Accounts from wallet */ subscribeAccounts(type: SUBSCRIPTION_TYPES, value: 'current' | 'connected'): Promise<AccountRpc[]>; /** * Ask wallet to select a network */ askToSelectNetwork(network: NetworkToSelect): Promise<void>; } export {};