aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2017-05-24 20:04:43 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2018-01-10 18:24:31 +0800
commit0a2f82a19d2574d8d6099e34b5843d6a238b9686 (patch)
tree91d606c60b459c0296312e2e1925cb9f2be8b1ab
parent27d9fba785a5a53550be53b12baf9069bda8d160 (diff)
downloaddexon-sol-tools-0a2f82a19d2574d8d6099e34b5843d6a238b9686.tar
dexon-sol-tools-0a2f82a19d2574d8d6099e34b5843d6a238b9686.tar.gz
dexon-sol-tools-0a2f82a19d2574d8d6099e34b5843d6a238b9686.tar.bz2
dexon-sol-tools-0a2f82a19d2574d8d6099e34b5843d6a238b9686.tar.lz
dexon-sol-tools-0a2f82a19d2574d8d6099e34b5843d6a238b9686.tar.xz
dexon-sol-tools-0a2f82a19d2574d8d6099e34b5843d6a238b9686.tar.zst
dexon-sol-tools-0a2f82a19d2574d8d6099e34b5843d6a238b9686.zip
Add initial version of typings and README
-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;
+}