@aeternity/aepp-sdk
Version:
SDK for the æternity blockchain
44 lines (43 loc) • 1.59 kB
TypeScript
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 {};