From dc0d5d2649cae1965081b21f1db0a2e9729a574d Mon Sep 17 00:00:00 2001 From: willclarktech Date: Wed, 9 Sep 2020 18:14:33 +0200 Subject: [PATCH] launchpad-ledger: Add basic type declaration for ledger-cosmos-js --- .../custom_types/ledger-cosmos-js.d.ts | 53 +++++++++++++++++++ packages/launchpad-ledger/tsconfig.json | 2 +- tsconfig.json | 4 +- 3 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 packages/launchpad-ledger/custom_types/ledger-cosmos-js.d.ts diff --git a/packages/launchpad-ledger/custom_types/ledger-cosmos-js.d.ts b/packages/launchpad-ledger/custom_types/ledger-cosmos-js.d.ts new file mode 100644 index 00000000..f49d8461 --- /dev/null +++ b/packages/launchpad-ledger/custom_types/ledger-cosmos-js.d.ts @@ -0,0 +1,53 @@ +declare module "ledger-cosmos-js" { + import Transport from "@ledgerhq/hw-transport"; + + export interface ErrorResponse { + readonly return_code: number; + readonly error_message: string; + } + + export interface VersionResponse { + readonly major: number; + readonly minor: number; + readonly patch: number; + readonly test_mode: boolean; + readonly error_message: string; + readonly device_locked: boolean; + } + + export interface AppInfoResponse { + readonly appName: string; + readonly error_message: string; + } + + export interface PublicKeyResponse { + readonly compressed_pk: Buffer; + readonly error_message: string; + } + + export interface AddressAndPublicKeyResponse { + readonly compressed_pk: Buffer; + readonly address: string; + readonly error_message: string; + } + + export interface SignResponse { + readonly signature: Buffer; + readonly error_message: string; + } + + export default class CosmosApp { + static getBech32FromPK(hrp: string, pk: Buffer): string; + + constructor(transport: Transport, scrambleKey?: string); + + getVersion: () => Promise; + appInfo: () => Promise; + publicKey: (path: Array) => Promise; + showAddressAndPubKey: ( + path: Array, + hrp: string, + ) => Promise; + sign: (path: Array, message: string) => Promise; + } +} diff --git a/packages/launchpad-ledger/tsconfig.json b/packages/launchpad-ledger/tsconfig.json index 39c5e368..44242629 100644 --- a/packages/launchpad-ledger/tsconfig.json +++ b/packages/launchpad-ledger/tsconfig.json @@ -7,5 +7,5 @@ "rootDir": "src", "lib": ["es2017", "dom"] }, - "include": ["src/**/*"] + "include": ["src/**/*", "./custom_types/*"] } diff --git a/tsconfig.json b/tsconfig.json index 7817c12b..b74563e3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,6 +4,7 @@ "declaration": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, + "lib": ["es2017"], "module": "commonjs", "moduleResolution": "node", "newLine": "LF", @@ -17,7 +18,6 @@ "resolveJsonModule": true, "sourceMap": true, "strict": true, - "target": "es2017", - "lib": ["es2017"] + "target": "es2017" } }