diff options
author | Fabio Berger <me@fabioberger.com> | 2017-12-07 09:05:09 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2017-12-07 09:05:09 +0800 |
commit | e893e8c44234fc65789c906aefb240145100fe4e (patch) | |
tree | 6110920065e119f0cc9ed0de13d44d8a23321f43 | |
parent | 3db5efa26434f647c6b49147ebe46aba3b7d4959 (diff) | |
download | dexon-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.ts | 48 | ||||
-rw-r--r-- | packages/subproviders/src/types.ts | 2 |
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>; } |