Add zeroEx.etherToken.getContractAddressifExists

This commit is contained in:
Leonid Logvinov
2018-01-30 14:35:04 +01:00
parent 2e3c02887e
commit 0a73bbe279
3 changed files with 11 additions and 2 deletions

View File

@@ -34,7 +34,7 @@ const CONTRACT_NAME_TO_NOT_FOUND_ERROR: {
export class ContractWrapper {
protected _web3Wrapper: Web3Wrapper;
private _networkId: number;
protected _networkId: number;
private _abiDecoder?: AbiDecoder;
private _blockAndLogStreamerIfExists: BlockAndLogStreamer | undefined;
private _blockAndLogStreamInterval: NodeJS.Timer;

View File

@@ -163,6 +163,15 @@ export class EtherTokenWrapper extends ContractWrapper {
public unsubscribeAll(): void {
super.unsubscribeAll();
}
/**
* Retrieves the Ethereum address of the EtherToken contract deployed on the network
* that the user-passed web3 provider is connected to. If it's an unknown private network - undefined is returned.
* @returns The Ethereum address of the EtherToken contract or undefined.
*/
public getContractAddressIfExists(): string | undefined {
const contractAddress = artifacts.EtherTokenArtifact.networks[this._networkId].address;
return contractAddress;
}
private _invalidateContractInstance(): void {
this.unsubscribeAll();
this._etherTokenContractsByAddress = {};

View File

@@ -61,7 +61,7 @@ describe('EtherTokenWrapper', () => {
tokens = await zeroEx.tokenRegistry.getTokensAsync();
userAddresses = await zeroEx.getAvailableAddressesAsync();
addressWithETH = userAddresses[0];
wethContractAddress = (zeroEx.etherToken as any)._getContractAddress(artifacts.EtherTokenArtifact);
wethContractAddress = zeroEx.etherToken.getContractAddressIfExists() as string;
depositWeiAmount = (zeroEx as any)._web3Wrapper.toWei(new BigNumber(5));
decimalPlaces = 7;
addressWithoutFunds = userAddresses[1];