aboutsummaryrefslogtreecommitdiffstats
path: root/src/globals.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/globals.d.ts')
-rw-r--r--src/globals.d.ts63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/globals.d.ts b/src/globals.d.ts
new file mode 100644
index 000000000..dee957f2f
--- /dev/null
+++ b/src/globals.d.ts
@@ -0,0 +1,63 @@
+declare module 'chai-bignumber';
+declare module 'bn.js';
+declare module 'request-promise-native';
+declare module 'web3-provider-engine';
+declare module 'web3-provider-engine/subproviders/rpc';
+
+declare interface Schema {
+ id: string;
+}
+
+// HACK: In order to merge the bignumber declaration added by chai-bignumber to the chai Assertion
+// interface we must use `namespace` as the Chai definitelyTyped definition does. Since we otherwise
+// disallow `namespace`, we disable tslint for the following.
+/* tslint:disable */
+declare namespace Chai {
+ interface Assertion {
+ bignumber: Assertion;
+ eventually: Assertion;
+ }
+}
+/* tslint:enable */
+
+declare module '*.json' {
+ const json: any;
+ /* tslint:disable */
+ export default json;
+ /* tslint:enable */
+}
+
+declare module 'ethereumjs-util' {
+ const toBuffer: (dataHex: string) => Buffer;
+ const hashPersonalMessage: (msg: Buffer) => Buffer;
+ const bufferToHex: (buff: Buffer) => string;
+ const ecrecover: (msgHashBuff: Buffer, v: number, r: Buffer, s: Buffer) => string;
+ const pubToAddress: (pubKey: string) => Buffer;
+ const isValidAddress: (address: string) => boolean;
+ const bufferToInt: (buffer: Buffer) => number;
+}
+
+// truffle-contract declarations
+declare interface ContractInstance {}
+declare interface ContractFactory {
+ setProvider: (providerObj: any) => void;
+ deployed: () => ContractInstance;
+ at: (address: string) => ContractInstance;
+}
+declare interface Artifact {
+ networks: {[networkId: number]: any};
+}
+declare function contract(artifacts: Artifact): ContractFactory;
+declare module 'truffle-contract' {
+ export = contract;
+}
+
+// es6-promisify declarations
+declare function promisify(original: any, settings?: any): ((...arg: any[]) => Promise<any>);
+declare module 'es6-promisify' {
+ export = promisify;
+}
+
+declare module 'ethereumjs-abi' {
+ const soliditySHA3: (argTypes: string[], args: any[]) => Buffer;
+}