Refactor net_version caching logic

This commit is contained in:
Leonid Logvinov
2017-07-07 14:20:39 -07:00
parent 0876fc6cab
commit 73a48ddb0d

View File

@@ -11,7 +11,7 @@ export class Web3Wrapper {
this.web3.setProvider(provider);
}
public setProvider(provider: Web3.Provider) {
this.networkIdIfExists = undefined;
delete this.networkIdIfExists;
this.web3.setProvider(provider);
}
public isAddress(address: string): boolean {
@@ -29,16 +29,16 @@ export class Web3Wrapper {
return this.web3.currentProvider;
}
public async getNetworkIdIfExistsAsync(): Promise<number|undefined> {
if (_.isUndefined(this.networkIdIfExists)) {
try {
const networkId = await this.getNetworkAsync();
this.networkIdIfExists = Number(networkId);
return this.networkIdIfExists;
} catch (err) {
return undefined;
}
} else {
if (!_.isUndefined(this.networkIdIfExists)) {
return this.networkIdIfExists;
}
try {
const networkId = await this.getNetworkAsync();
this.networkIdIfExists = Number(networkId);
return this.networkIdIfExists;
} catch (err) {
return undefined;
}
}
public toWei(ethAmount: BigNumber.BigNumber): BigNumber.BigNumber {