Move ledgerhq module declarations to typescript-typings

This commit is contained in:
Amir Bandeali
2018-06-29 12:38:57 -07:00
parent 654b048602
commit e58e35e098
7 changed files with 59 additions and 79 deletions

View File

@@ -9,6 +9,10 @@
{
"note": "Additional error type for `ethers.js`",
"pr": 763
},
{
"note": "Add @ledgerhq typings",
"pr": 770
}
]
},

View File

@@ -0,0 +1,45 @@
// Ledgerco declarations
interface ECSignatureString {
v: string;
r: string;
s: string;
}
interface ECSignature {
v: number;
r: string;
s: string;
}
interface LedgerTransport {
close(): Promise<void>;
}
declare module '@ledgerhq/hw-app-eth' {
class Eth {
public transport: LedgerTransport;
constructor(transport: LedgerTransport);
public getAddress(
path: string,
boolDisplay?: boolean,
boolChaincode?: boolean,
): Promise<{ publicKey: string; address: string; chainCode: string }>;
public signTransaction(path: string, rawTxHex: string): Promise<ECSignatureString>;
public getAppConfiguration(): Promise<{ arbitraryDataEnabled: number; version: string }>;
public signPersonalMessage(path: string, messageHex: string): Promise<ECSignature>;
}
export default Eth;
}
declare module '@ledgerhq/hw-transport-u2f' {
export default class TransportU2F implements LedgerTransport {
public static create(): Promise<LedgerTransport>;
public close(): Promise<void>;
}
}
declare module '@ledgerhq/hw-transport-node-hid' {
export default class TransportNodeHid implements LedgerTransport {
public static create(): Promise<LedgerTransport>;
public close(): Promise<void>;
}
}