aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/web3-typescript-typings/README.md4
-rw-r--r--packages/web3-typescript-typings/index.d.ts73
2 files changed, 77 insertions, 0 deletions
diff --git a/packages/web3-typescript-typings/README.md b/packages/web3-typescript-typings/README.md
new file mode 100644
index 000000000..2d4330b5b
--- /dev/null
+++ b/packages/web3-typescript-typings/README.md
@@ -0,0 +1,4 @@
+Web3 Typescript Type Definition
+-------------------------------
+
+There currently isn't an official [Web3](https://github.com/ethereum/web3.js/) type definition included in the [DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped) project. Until that happens, we will continue to improve our own type definition. If it get's close to comprehensive, we'll add it to DefinitelyTyped.
diff --git a/packages/web3-typescript-typings/index.d.ts b/packages/web3-typescript-typings/index.d.ts
new file mode 100644
index 000000000..52bbfd8eb
--- /dev/null
+++ b/packages/web3-typescript-typings/index.d.ts
@@ -0,0 +1,73 @@
+declare module 'web3' {
+
+ class Web3 {
+ public static providers: typeof providers;
+
+ public version: {
+ getNetwork(): number;
+ getNode(): string;
+ };
+
+ public eth: {
+ coinbase: string;
+ defaultAccount: string;
+ compile: {
+ solidity(sourceString: string, cb?: (err: any, result: any) => void): object,
+ }
+ sign(address: string, message: string, callback: (err: Error, signData: string) => void): string;
+ getBlock(blockHash: string, callback: (err: Error, blockObj: any) => void): BigNumber.BigNumber;
+ contract(abi: AbiDefinition[]): Contract;
+ getBalance(addressHexString: string,
+ callback?: (err: any, result: BigNumber.BigNumber) => void): BigNumber.BigNumber;
+ getCode(addressHexString: string,
+ callback?: (err: any, code: string) => void): string;
+ filter(value: string|FilterObject): FilterResult;
+ getAccounts(callback: (err: Error, value: any) => void): string[];
+ sendTransaction(txData: any, callback: (err: Error, value: any) => void): void;
+ };
+
+ public setProvider(provider: providers.Provider): void;
+ public currentProvider(): any;
+ public fromWei(amount: BigNumber.BigNumber, unit: string): BigNumber.BigNumber;
+ public isAddress(address: string): boolean;
+ }
+
+ interface AbiIOParameter {
+ name: string;
+ type: string;
+ }
+
+ interface AbiDefinition {
+ constants: boolean;
+ inputs: AbiIOParameter[];
+ name: string;
+ outputs: AbiIOParameter[];
+ type: string;
+ }
+
+ interface Contract {}
+
+ interface FilterObject {
+ fromBlock: number|string;
+ toBlock: number|string;
+ address: string;
+ topics: string[];
+ }
+
+ interface FilterResult {
+ get(callback: () => void): void;
+ watch(callback: () => void): void;
+ stopWatching(): void;
+ }
+
+ namespace providers {
+ interface Provider {}
+
+ class HttpProvider implements Provider {
+ constructor(url?: string);
+ }
+ }
+
+ namespace Web3 {} // Empty module so the class is exportable as a module
+ export = Web3;
+}