aboutsummaryrefslogtreecommitdiffstats
path: root/packages/subproviders/src/globals.d.ts
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2017-12-06 05:45:35 +0800
committerFabio Berger <me@fabioberger.com>2017-12-06 05:45:35 +0800
commit038668efdfdd2eac85c30206e17128b0af2b48ce (patch)
treedd89073024f6fc89ac6306629d4bd14cd1ac5e5e /packages/subproviders/src/globals.d.ts
parent47789d770d08c20f33dbd839fcbd7bfa23d252a3 (diff)
downloaddexon-sol-tools-038668efdfdd2eac85c30206e17128b0af2b48ce.tar.gz
dexon-sol-tools-038668efdfdd2eac85c30206e17128b0af2b48ce.tar.zst
dexon-sol-tools-038668efdfdd2eac85c30206e17128b0af2b48ce.zip
Port subproviders over to mono repo, refactor LedgerSubprovider to no longer rely on hookedWalletSubprovider. Added unit and integration tests.
Diffstat (limited to 'packages/subproviders/src/globals.d.ts')
-rw-r--r--packages/subproviders/src/globals.d.ts68
1 files changed, 68 insertions, 0 deletions
diff --git a/packages/subproviders/src/globals.d.ts b/packages/subproviders/src/globals.d.ts
new file mode 100644
index 000000000..1f9c6e8a6
--- /dev/null
+++ b/packages/subproviders/src/globals.d.ts
@@ -0,0 +1,68 @@
+/// <reference types='chai-typescript-typings' />
+/// <reference types='chai-as-promised-typescript-typings' />
+declare module 'bn.js';
+declare module 'dirty-chai';
+declare module 'ledgerco';
+declare module 'ethereumjs-tx';
+declare module 'es6-promisify';
+declare module 'ethereum-address';
+declare module 'debug';
+
+// tslint:disable:max-classes-per-file
+// tslint:disable:class-name
+// tslint:disable:completed-docs
+declare module 'ledgerco' {
+ interface comm {
+ close_async: Promise<void>;
+ create_async: Promise<void>;
+ }
+ export class comm_node implements comm {
+ public create_async: Promise<void>;
+ public close_async: Promise<void>;
+ }
+ export class comm_u2f implements comm {
+ public create_async: Promise<void>;
+ public close_async: Promise<void>;
+ }
+}
+
+// Semaphore-async-await declarations
+declare module 'semaphore-async-await' {
+ class Semaphore {
+ constructor(permits: number);
+ public wait(): void;
+ public signal(): void;
+ }
+ export default Semaphore;
+}
+
+// web3-provider-engine declarations
+declare module 'web3-provider-engine/subproviders/subprovider' {
+ class Subprovider {}
+ export = Subprovider;
+}
+declare module 'web3-provider-engine/subproviders/rpc' {
+ import * as Web3 from 'web3';
+ class RpcSubprovider {
+ constructor(options: {rpcUrl: string});
+ public handleRequest(
+ payload: Web3.JSONRPCRequestPayload, next: () => void, end: (err: Error|null, data?: any) => void,
+ ): void;
+ }
+ export = RpcSubprovider;
+}
+
+declare module 'web3-provider-engine' {
+ class Web3ProviderEngine {
+ public on(event: string, handler: () => void): void;
+ public send(payload: any): void;
+ public sendAsync(payload: any, callback: (error: any, response: any) => void): void;
+ public addProvider(provider: any): void;
+ public start(): void;
+ public stop(): void;
+ }
+ export = Web3ProviderEngine;
+}
+// tslint:enable:max-classes-per-file
+// tslint:enable:class-name
+// tslint:enable:completed-docs