diff options
author | Amir Bandeali <abandeali1@gmail.com> | 2018-06-30 03:38:57 +0800 |
---|---|---|
committer | Amir Bandeali <abandeali1@gmail.com> | 2018-06-30 08:25:56 +0800 |
commit | e58e35e098952259c0c3f59ea1132669aab7d36d (patch) | |
tree | e32c0274eaf720476f7a61e9eeea9aeaa10c4aec /packages/typescript-typings | |
parent | 654b0486027ed42662bbc907a72806046ec7697e (diff) | |
download | dexon-0x-contracts-e58e35e098952259c0c3f59ea1132669aab7d36d.tar.gz dexon-0x-contracts-e58e35e098952259c0c3f59ea1132669aab7d36d.tar.zst dexon-0x-contracts-e58e35e098952259c0c3f59ea1132669aab7d36d.zip |
Move ledgerhq module declarations to typescript-typings
Diffstat (limited to 'packages/typescript-typings')
-rw-r--r-- | packages/typescript-typings/CHANGELOG.json | 4 | ||||
-rw-r--r-- | packages/typescript-typings/types/@ledgerhq/index.d.ts | 45 |
2 files changed, 49 insertions, 0 deletions
diff --git a/packages/typescript-typings/CHANGELOG.json b/packages/typescript-typings/CHANGELOG.json index 25ff73274..1f397e622 100644 --- a/packages/typescript-typings/CHANGELOG.json +++ b/packages/typescript-typings/CHANGELOG.json @@ -9,6 +9,10 @@ { "note": "Additional error type for `ethers.js`", "pr": 763 + }, + { + "note": "Add @ledgerhq typings", + "pr": 770 } ] }, diff --git a/packages/typescript-typings/types/@ledgerhq/index.d.ts b/packages/typescript-typings/types/@ledgerhq/index.d.ts new file mode 100644 index 000000000..724dacb76 --- /dev/null +++ b/packages/typescript-typings/types/@ledgerhq/index.d.ts @@ -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>; + } +} |