aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/0x.js.ts2
-rw-r--r--src/web3_wrapper.ts7
-rw-r--r--test/0x.js_test.ts8
3 files changed, 8 insertions, 9 deletions
diff --git a/src/0x.js.ts b/src/0x.js.ts
index 7e48bc0a5..f3da005f8 100644
--- a/src/0x.js.ts
+++ b/src/0x.js.ts
@@ -18,9 +18,9 @@ import {SolidityTypes, ECSignature, ZeroExError} from './types';
const MAX_DIGITS_IN_UNSIGNED_256_INT = 78;
export class ZeroEx {
- public web3Wrapper: Web3Wrapper;
public exchange: ExchangeWrapper;
public tokenRegistry: TokenRegistryWrapper;
+ private web3Wrapper: Web3Wrapper;
/**
* Computes the orderHash given the order parameters and returns it as a hex encoded string.
*/
diff --git a/src/web3_wrapper.ts b/src/web3_wrapper.ts
index 97d04db8c..a915a89e8 100644
--- a/src/web3_wrapper.ts
+++ b/src/web3_wrapper.ts
@@ -49,10 +49,9 @@ export class Web3Wrapper {
}
public async doesContractExistAtAddressAsync(address: string): Promise<boolean> {
const code = await promisify(this.web3.eth.getCode)(address);
- // Regex matches 0x0, 0x00, 0x in order to accomodate poorly implemented clients
- const zeroHexAddressRegex = /^0x0*$/i;
- const didFindCode = _.isNull(code.match(zeroHexAddressRegex));
- return didFindCode;
+ // Regex matches 0x0, 0x00, 0x in order to accommodate poorly implemented clients
+ const codeIsEmpty = /^0x0{0,40}$/i.test(code);
+ return !codeIsEmpty;
}
public async signTransactionAsync(address: string, message: string): Promise<string> {
const signData = await promisify(this.web3.eth.sign)(address, message);
diff --git a/test/0x.js_test.ts b/test/0x.js_test.ts
index bb312a00f..c45c70991 100644
--- a/test/0x.js_test.ts
+++ b/test/0x.js_test.ts
@@ -194,9 +194,9 @@ describe('ZeroEx library', () => {
const web3 = web3Factory.create();
const zeroEx = new ZeroEx(web3);
stubs = [
- Sinon.stub(zeroEx.web3Wrapper, 'getNodeVersionAsync')
+ Sinon.stub((zeroEx as any).web3Wrapper, 'getNodeVersionAsync')
.returns(Promise.resolve(newParityNodeVersion)),
- Sinon.stub(zeroEx.web3Wrapper, 'signTransactionAsync')
+ Sinon.stub((zeroEx as any).web3Wrapper, 'signTransactionAsync')
.returns(Promise.resolve(signature)),
Sinon.stub(ZeroEx, 'isValidSignature').returns(true),
];
@@ -218,9 +218,9 @@ describe('ZeroEx library', () => {
const web3 = web3Factory.create();
const zeroEx = new ZeroEx(web3);
stubs = [
- Sinon.stub(zeroEx.web3Wrapper, 'getNodeVersionAsync')
+ Sinon.stub((zeroEx as any).web3Wrapper, 'getNodeVersionAsync')
.returns(Promise.resolve(newParityNodeVersion)),
- Sinon.stub(zeroEx.web3Wrapper, 'signTransactionAsync')
+ Sinon.stub((zeroEx as any).web3Wrapper, 'signTransactionAsync')
.returns(Promise.resolve(signature)),
Sinon.stub(ZeroEx, 'isValidSignature').returns(true),
];