diff options
Diffstat (limited to 'src/web3_wrapper.ts')
-rw-r--r-- | src/web3_wrapper.ts | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/web3_wrapper.ts b/src/web3_wrapper.ts index 97d04db8c..e65f29b56 100644 --- a/src/web3_wrapper.ts +++ b/src/web3_wrapper.ts @@ -9,6 +9,9 @@ export class Web3Wrapper { this.web3 = new Web3(); this.web3.setProvider(web3.currentProvider); } + public setProvider(provider: Web3.Provider) { + this.web3.setProvider(provider); + } public isAddress(address: string): boolean { return this.web3.isAddress(address); } @@ -49,10 +52,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); |