UNPKG

1.76 kBTypeScriptView Raw
1import { Tx } from "./types";
2
3export interface Account {
4 address: string;
5 privateKey: string;
6 sign(data: string): MessageSignature;
7 signTransaction(
8 tx: Tx,
9 cb?: (err: Error, result: TxSignature) => void
10 ): Promise<TxSignature>;
11 encrypt(password: string, options?: any): PrivateKey;
12}
13
14export interface Signature {
15 messageHash: string;
16 r: string;
17 s: string;
18 v: string;
19}
20export interface MessageSignature extends Signature {
21 message: string;
22 signature: string;
23}
24export interface TxSignature extends Signature {
25 rawTransaction: string;
26}
27
28export interface PrivateKey {
29 address: string;
30 crypto: {
31 cipher: string;
32 ciphertext: string;
33 cipherparams: {
34 iv: string;
35 };
36 kdf: string;
37 kdfparams: {
38 dklen: number;
39 n: number;
40 p: number;
41 r: number;
42 salt: string;
43 };
44 mac: string;
45 };
46 id: string;
47 version: number;
48}
49
50export default interface Accounts {
51 create(entropy?: string): Account;
52 privateKeyToAccount(privKey: string): Account;
53 publicToAddress(key: string): string;
54 signTransaction(
55 tx: Tx,
56 privateKey: string,
57 cb?: (err: Error, result: TxSignature) => void
58 ): Promise<TxSignature>;
59 recoverTransaction(signature: string): string;
60 sign(
61 data: string,
62 privateKey: string
63 ): MessageSignature;
64 recover(
65 sigOrHash: string | Signature,
66 sigOrV?: string,
67 r?: string,
68 s?: string
69 ): string;
70 encrypt(privateKey: string, password: string): PrivateKey;
71 decrypt(privateKey: PrivateKey, password: string): Account;
72 wallet: {
73 create(numberOfAccounts: number, entropy: string): Account[];
74 add(account: string | Account): any;
75 remove(account: string | number): any;
76 save(password: string, keyname?: string): string;
77 load(password: string, keyname: string): any;
78 clear(): any;
79 };
80}