From e893e8c44234fc65789c906aefb240145100fe4e Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Wed, 6 Dec 2017 19:05:09 -0600 Subject: Add type defs for ledgerco and ethereumjs-tx --- packages/subproviders/src/globals.d.ts | 48 ++++++++++++++++++++++++++-------- packages/subproviders/src/types.ts | 2 -- 2 files changed, 37 insertions(+), 13 deletions(-) (limited to 'packages/subproviders') 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 @@ /// /// 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; - create_async: Promise; + close_async(): Promise; } export class comm_node implements comm { - public create_async: Promise; - public close_async: Promise; + public static create_async(timeoutMilliseconds?: number): Promise; + public close_async(): Promise; } export class comm_u2f implements comm { - public create_async: Promise; - public close_async: Promise; + public static create_async(): Promise; + public close_async(): Promise; + } + 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; + public getAppConfiguration_async(): Promise<{ arbitraryDataEnabled: number; version: string }>; + public signPersonalMessage_async(path: string, messageHex: string): Promise; } } @@ -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; - setScrambleKey: (key: string) => void; close_async: () => Promise; } -- cgit v1.2.3