1 |
|
2 | import reduct = require('reduct');
|
3 | import Store from '../services/store';
|
4 | import Config from './config';
|
5 | import { EventEmitter } from 'events';
|
6 | import { AccountInfo } from '../types/accounts';
|
7 | import { ConnectOptions, PluginInstance } from '../types/plugin';
|
8 | export interface AccountEntry {
|
9 | plugin: PluginInstance;
|
10 | info: AccountInfo;
|
11 | }
|
12 | export default class Accounts extends EventEmitter {
|
13 | protected config: Config;
|
14 | protected store: Store;
|
15 | protected address: string;
|
16 | protected accounts: Map<string, AccountEntry>;
|
17 | constructor(deps: reduct.Injector);
|
18 | loadIlpAddress(): Promise<void>;
|
19 | connect(options: ConnectOptions): Promise<void[]>;
|
20 | disconnect(): Promise<void[]>;
|
21 | getOwnAddress(): string;
|
22 | setOwnAddress(newAddress: string): void;
|
23 | getPlugin(accountId: string): PluginInstance;
|
24 | exists(accountId: string): boolean;
|
25 | getAccountIds(): string[];
|
26 | getAssetCode(accountId: string): string | undefined;
|
27 | add(accountId: string, creds: any): void;
|
28 | remove(accountId: string): PluginInstance | undefined;
|
29 | getInfo(accountId: string): AccountInfo;
|
30 | getChildAddress(accountId: string): string;
|
31 | getStatus(): {
|
32 | address: string;
|
33 | accounts: {};
|
34 | };
|
35 | private getPluginFromCreds;
|
36 | }
|