aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLeonid <logvinov.leon@gmail.com>2017-06-15 23:59:13 +0800
committerGitHub <noreply@github.com>2017-06-15 23:59:13 +0800
commitf2d08ce3d99eb6c399b8328615e3d24be63115b6 (patch)
tree106a10732e18abbfc9139b31b8627dbef96b7283 /src
parent76d6e6a7481a69c1c0100a90f30d5d28ec471e84 (diff)
parent5932ebb52a4421ab56c9b855f29bc26349e2ebd0 (diff)
downloaddexon-sol-tools-f2d08ce3d99eb6c399b8328615e3d24be63115b6.tar
dexon-sol-tools-f2d08ce3d99eb6c399b8328615e3d24be63115b6.tar.gz
dexon-sol-tools-f2d08ce3d99eb6c399b8328615e3d24be63115b6.tar.bz2
dexon-sol-tools-f2d08ce3d99eb6c399b8328615e3d24be63115b6.tar.lz
dexon-sol-tools-f2d08ce3d99eb6c399b8328615e3d24be63115b6.tar.xz
dexon-sol-tools-f2d08ce3d99eb6c399b8328615e3d24be63115b6.tar.zst
dexon-sol-tools-f2d08ce3d99eb6c399b8328615e3d24be63115b6.zip
Merge branch 'master' into event-types
Diffstat (limited to 'src')
-rw-r--r--src/0x.ts14
-rw-r--r--src/index.ts1
-rw-r--r--src/types.ts7
-rw-r--r--src/web3_wrapper.ts6
4 files changed, 17 insertions, 11 deletions
diff --git a/src/0x.ts b/src/0x.ts
index 74e4ef7e6..a9b2c41af 100644
--- a/src/0x.ts
+++ b/src/0x.ts
@@ -14,7 +14,7 @@ import {ExchangeWrapper} from './contract_wrappers/exchange_wrapper';
import {TokenRegistryWrapper} from './contract_wrappers/token_registry_wrapper';
import {ecSignatureSchema} from './schemas/ec_signature_schema';
import {TokenWrapper} from './contract_wrappers/token_wrapper';
-import {ECSignature, ZeroExError, Order, SignedOrder} from './types';
+import {ECSignature, ZeroExError, Order, SignedOrder, Web3Provider} from './types';
import * as ExchangeArtifacts from './artifacts/Exchange.json';
import {orderSchema} from './schemas/order_schemas';
@@ -122,12 +122,12 @@ export class ZeroEx {
}
/**
* Instantiates a new ZeroEx instance that provides the public interface to the 0x.js library.
- * @param web3 The Web3.js instance you would like the 0x.js library to use for interacting with
- * the Ethereum network.
+ * @param provider The Web3.js Provider instance you would like the 0x.js library to use for interacting with
+ * the Ethereum network.
* @return An instance of the 0x.js ZeroEx class.
*/
- constructor(web3: Web3) {
- this._web3Wrapper = new Web3Wrapper(web3);
+ constructor(provider: Web3Provider) {
+ this._web3Wrapper = new Web3Wrapper(provider);
this.token = new TokenWrapper(this._web3Wrapper);
this.exchange = new ExchangeWrapper(this._web3Wrapper, this.token);
this.tokenRegistry = new TokenRegistryWrapper(this._web3Wrapper);
@@ -135,9 +135,9 @@ export class ZeroEx {
/**
* Sets a new provider for the web3 instance used by 0x.js. Updating the provider will stop all
* subscriptions so you will need to re-subscribe to all events relevant to your app after this call.
- * @param provider The Web3.Provider you would like the 0x.js library to use from now on.
+ * @param provider The Web3Provider you would like the 0x.js library to use from now on.
*/
- public async setProviderAsync(provider: Web3.Provider) {
+ public async setProviderAsync(provider: Web3Provider) {
this._web3Wrapper.setProvider(provider);
await this.exchange.invalidateContractInstanceAsync();
this.tokenRegistry.invalidateContractInstance();
diff --git a/src/index.ts b/src/index.ts
index 041413994..f9037124d 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -23,4 +23,5 @@ export {
LogCancelArgs,
LogFillArgs,
EventArgs,
+ Web3Provider,
} from './types';
diff --git a/src/types.ts b/src/types.ts
index 742ac71ff..f15e05d1a 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -1,4 +1,5 @@
import * as _ from 'lodash';
+import * as Web3 from 'web3';
// Utility function to create a K:V from a list of strings
// Adapted from: https://basarat.gitbooks.io/typescript/content/docs/types/literal-types.html
@@ -309,3 +310,9 @@ export interface ContractEventEmitter {
watch: (eventCallback: EventCallback) => void;
stopWatchingAsync: () => Promise<void>;
}
+/**
+ * We re-export the `Web3.Provider` type specified in the Web3 Typescript typings
+ * since it is the type of the `provider` argument to the `ZeroEx` constructor.
+ * It is however a `Web3` library type, not a native `0x.js` type.
+ */
+export type Web3Provider = Web3.Provider;
diff --git a/src/web3_wrapper.ts b/src/web3_wrapper.ts
index 05a8dc063..6bdca499f 100644
--- a/src/web3_wrapper.ts
+++ b/src/web3_wrapper.ts
@@ -2,14 +2,12 @@ import * as _ from 'lodash';
import * as Web3 from 'web3';
import * as BigNumber from 'bignumber.js';
import promisify = require('es6-promisify');
-import {ZeroExError} from './types';
-import {assert} from './utils/assert';
export class Web3Wrapper {
private web3: Web3;
- constructor(web3: Web3) {
+ constructor(provider: Web3.Provider) {
this.web3 = new Web3();
- this.web3.setProvider(web3.currentProvider);
+ this.web3.setProvider(provider);
}
public setProvider(provider: Web3.Provider) {
this.web3.setProvider(provider);