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

@@ -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",

View File

@@ -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<ECSignatureString>;
public getAppConfiguration(): Promise<{ arbitraryDataEnabled: number; version: string }>;
public signPersonalMessage(path: string, messageHex: string): Promise<ECSignature>;
}
export default Eth;
}
declare module '@ledgerhq/hw-transport-node-hid' {
export default class TransportNodeHid implements LedgerTransport {
public static create(): Promise<LedgerTransport>;
public close(): Promise<void>;
}
}

View File

@@ -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');

View File

@@ -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",

View File

@@ -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<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>;
}
}
declare module '*.json' {
const json: any;
/* tslint:disable */

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>;
}
}