Add type defs for ledgerco and ethereumjs-tx
This commit is contained in:
48
packages/subproviders/src/globals.d.ts
vendored
48
packages/subproviders/src/globals.d.ts
vendored
@@ -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
|
||||
|
@@ -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>;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user