aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2017-12-07 09:05:09 +0800
committerFabio Berger <me@fabioberger.com>2017-12-07 09:05:09 +0800
commite893e8c44234fc65789c906aefb240145100fe4e (patch)
tree6110920065e119f0cc9ed0de13d44d8a23321f43
parent3db5efa26434f647c6b49147ebe46aba3b7d4959 (diff)
downloaddexon-sol-tools-e893e8c44234fc65789c906aefb240145100fe4e.tar.gz
dexon-sol-tools-e893e8c44234fc65789c906aefb240145100fe4e.tar.zst
dexon-sol-tools-e893e8c44234fc65789c906aefb240145100fe4e.zip
Add type defs for ledgerco and ethereumjs-tx
-rw-r--r--packages/subproviders/src/globals.d.ts48
-rw-r--r--packages/subproviders/src/types.ts2
2 files changed, 37 insertions, 13 deletions
diff --git a/packages/subproviders/src/globals.d.ts b/packages/subproviders/src/globals.d.ts
index 362587e08..3e50bedaa 100644
--- a/packages/subproviders/src/globals.d.ts
+++ b/packages/subproviders/src/globals.d.ts
@@ -1,27 +1,56 @@
/// <reference types='chai-typescript-typings' />
/// <reference types='chai-as-promised-typescript-typings' />
declare module 'dirty-chai';
-declare module 'ledgerco';
-declare module 'ethereumjs-tx';
declare module 'es6-promisify';
// tslint:disable:max-classes-per-file
// tslint:disable:class-name
// tslint:disable:completed-docs
+// Ethereumjs-tx declarations
+declare module 'ethereumjs-tx' {
+ class EthereumTx {
+ public raw: Buffer[];
+ public r: Buffer;
+ public s: Buffer;
+ public v: Buffer;
+ public serialize(): Buffer;
+ constructor(txParams: any);
+ }
+ export default EthereumTx;
+}
+
// Ledgerco declarations
+interface ECSignatureString {
+ v: string;
+ r: string;
+ s: string;
+}
+interface ECSignature {
+ v: number;
+ r: string;
+ s: string;
+}
declare module 'ledgerco' {
interface comm {
- close_async: Promise<void>;
- create_async: Promise<void>;
+ close_async(): Promise<void>;
}
export class comm_node implements comm {
- public create_async: Promise<void>;
- public close_async: Promise<void>;
+ public static create_async(timeoutMilliseconds?: number): Promise<comm_node>;
+ public close_async(): Promise<void>;
}
export class comm_u2f implements comm {
- public create_async: Promise<void>;
- public close_async: Promise<void>;
+ public static create_async(): Promise<comm_u2f>;
+ public close_async(): Promise<void>;
+ }
+ export class eth {
+ public comm: comm;
+ constructor(comm: comm);
+ public getAddress_async(path: string, display?: boolean, chaincode?: boolean):
+ Promise<{publicKey: string; address: string}>;
+ public signTransaction_async(path: string, rawTxHex: string): Promise<ECSignatureString>;
+ public getAppConfiguration_async(): Promise<{ arbitraryDataEnabled: number; version: string }>;
+ public signPersonalMessage_async(path: string, messageHex: string): Promise<ECSignature>;
}
}
@@ -66,6 +95,3 @@ declare module 'web3-provider-engine' {
}
export = Web3ProviderEngine;
}
-// tslint:enable:max-classes-per-file
-// tslint:enable:class-name
-// tslint:enable:completed-docs
diff --git a/packages/subproviders/src/types.ts b/packages/subproviders/src/types.ts
index 4564c5229..43ee32870 100644
--- a/packages/subproviders/src/types.ts
+++ b/packages/subproviders/src/types.ts
@@ -2,8 +2,6 @@ import * as _ from 'lodash';
import * as Web3 from 'web3';
export interface LedgerCommunicationClient {
- exchange: (apduHex: string, statusList: number[]) => Promise<any[]>;
- setScrambleKey: (key: string) => void;
close_async: () => Promise<void>;
}