From e58e35e098952259c0c3f59ea1132669aab7d36d Mon Sep 17 00:00:00 2001 From: Amir Bandeali Date: Fri, 29 Jun 2018 12:38:57 -0700 Subject: Move ledgerhq module declarations to typescript-typings --- packages/migrations/package.json | 2 +- packages/migrations/src/globals.d.ts | 23 ----------- packages/migrations/src/utils/provider_factory.ts | 1 + packages/subproviders/package.json | 15 +++---- packages/subproviders/src/globals.d.ts | 48 ---------------------- packages/typescript-typings/CHANGELOG.json | 4 ++ .../typescript-typings/types/@ledgerhq/index.d.ts | 45 ++++++++++++++++++++ 7 files changed, 59 insertions(+), 79 deletions(-) create mode 100644 packages/typescript-typings/types/@ledgerhq/index.d.ts diff --git a/packages/migrations/package.json b/packages/migrations/package.json index 7f5a789e4..57bf0875a 100644 --- a/packages/migrations/package.json +++ b/packages/migrations/package.json @@ -63,7 +63,7 @@ "@0xproject/order-utils": "^1.0.0", "@0xproject/sol-compiler": "^0.5.2", "@0xproject/subproviders": "^0.10.4", - "@0xproject/typescript-typings": "^0.4.1", + "@0xproject/typescript-typings": "^0.4.2", "@0xproject/utils": "^0.7.1", "@0xproject/web3-wrapper": "^0.7.1", "@ledgerhq/hw-app-eth": "^4.3.0", diff --git a/packages/migrations/src/globals.d.ts b/packages/migrations/src/globals.d.ts index b11849b05..94e63a32d 100644 --- a/packages/migrations/src/globals.d.ts +++ b/packages/migrations/src/globals.d.ts @@ -4,26 +4,3 @@ declare module '*.json' { export default json; /* tslint:enable */ } - -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; - public getAppConfiguration(): Promise<{ arbitraryDataEnabled: number; version: string }>; - public signPersonalMessage(path: string, messageHex: string): Promise; - } - export default Eth; -} - -declare module '@ledgerhq/hw-transport-node-hid' { - export default class TransportNodeHid implements LedgerTransport { - public static create(): Promise; - public close(): Promise; - } -} diff --git a/packages/migrations/src/utils/provider_factory.ts b/packages/migrations/src/utils/provider_factory.ts index fafc55dda..7a217b1e0 100644 --- a/packages/migrations/src/utils/provider_factory.ts +++ b/packages/migrations/src/utils/provider_factory.ts @@ -1,5 +1,6 @@ import { LedgerEthereumClient, LedgerSubprovider } from '@0xproject/subproviders'; import Eth from '@ledgerhq/hw-app-eth'; +// tslint:disable:no-implicit-dependencies import TransportNodeHid from '@ledgerhq/hw-transport-node-hid'; import { Provider } from 'ethereum-types'; import ProviderEngine = require('web3-provider-engine'); diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json index 782d1b046..31b6ffed6 100644 --- a/packages/subproviders/package.json +++ b/packages/subproviders/package.json @@ -12,8 +12,10 @@ "build": "tsc && copyfiles -u 3 './lib/src/monorepo_scripts/**/*' ./scripts", "clean": "shx rm -rf lib scripts", "lint": "tslint --project .", - "run_mocha_unit": "mocha --require source-map-support/register --require make-promises-safe lib/test/unit/**/*_test.js --timeout 10000 --bail --exit", - "run_mocha_integration": "mocha --require source-map-support/register --require make-promises-safe lib/test/integration/**/*_test.js --timeout 10000 --bail --exit", + "run_mocha_unit": + "mocha --require source-map-support/register --require make-promises-safe lib/test/unit/**/*_test.js --timeout 10000 --bail --exit", + "run_mocha_integration": + "mocha --require source-map-support/register --require make-promises-safe lib/test/integration/**/*_test.js --timeout 10000 --bail --exit", "test": "npm run test:unit", "test:unit:coverage": "nyc npm run test:unit --all && yarn coverage:report:lcov", "coverage:report:lcov": "nyc report --reporter=text-lcov > coverage/lcov.info", @@ -24,16 +26,14 @@ "manual:postpublish": "yarn build; node ./scripts/postpublish.js", "docs:stage": "node scripts/stage_docs.js", "docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --json $JSON_FILE_PATH $PROJECT_FILES", - "upload_docs_json": "aws s3 cp generated_docs/index.json $S3_URL --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type application/json" + "upload_docs_json": + "aws s3 cp generated_docs/index.json $S3_URL --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type application/json" }, "config": { "postpublish": { "assets": [], "docPublishConfigs": { - "extraFileIncludes": [ - "../types/src/index.ts", - "../ethereum-types/src/index.ts" - ], + "extraFileIncludes": ["../types/src/index.ts", "../ethereum-types/src/index.ts"], "s3BucketPath": "s3://doc-jsons/subproviders/", "s3StagingBucketPath": "s3://staging-doc-jsons/subproviders/" } @@ -61,6 +61,7 @@ "devDependencies": { "@0xproject/monorepo-scripts": "^0.2.1", "@0xproject/tslint-config": "^0.4.20", + "@0xproject/typescript-typings": "^0.4.2", "@0xproject/utils": "^0.7.1", "@types/bip39": "^2.4.0", "@types/bn.js": "^4.11.0", diff --git a/packages/subproviders/src/globals.d.ts b/packages/subproviders/src/globals.d.ts index 4b3ecdf3c..c00dc4099 100644 --- a/packages/subproviders/src/globals.d.ts +++ b/packages/subproviders/src/globals.d.ts @@ -3,54 +3,6 @@ // tslint:disable:async-suffix // tslint:disable:completed-docs -// Ethereumjs-tx declarations - -// Ledgerco declarations -interface ECSignatureString { - v: string; - r: string; - s: string; -} -interface ECSignature { - v: number; - r: string; - s: string; -} - -interface LedgerTransport { - close(): Promise; -} - -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; - public getAppConfiguration(): Promise<{ arbitraryDataEnabled: number; version: string }>; - public signPersonalMessage(path: string, messageHex: string): Promise; - } - export default Eth; -} - -declare module '@ledgerhq/hw-transport-u2f' { - export default class TransportU2F implements LedgerTransport { - public static create(): Promise; - public close(): Promise; - } -} - -declare module '@ledgerhq/hw-transport-node-hid' { - export default class TransportNodeHid implements LedgerTransport { - public static create(): Promise; - public close(): Promise; - } -} - declare module '*.json' { const json: any; /* tslint:disable */ 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; +} + +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; + public getAppConfiguration(): Promise<{ arbitraryDataEnabled: number; version: string }>; + public signPersonalMessage(path: string, messageHex: string): Promise; + } + export default Eth; +} + +declare module '@ledgerhq/hw-transport-u2f' { + export default class TransportU2F implements LedgerTransport { + public static create(): Promise; + public close(): Promise; + } +} + +declare module '@ledgerhq/hw-transport-node-hid' { + export default class TransportNodeHid implements LedgerTransport { + public static create(): Promise; + public close(): Promise; + } +} -- cgit v1.2.3