diff options
-rw-r--r-- | src/contract_wrappers/exchange_wrapper.ts | 9 | ||||
-rw-r--r-- | test/exchange_wrapper_test.ts | 7 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts index a08901004..74b8d25c1 100644 --- a/src/contract_wrappers/exchange_wrapper.ts +++ b/src/contract_wrappers/exchange_wrapper.ts @@ -543,6 +543,15 @@ export class ExchangeWrapper extends ContractWrapper { logEventObj.watch(callback); this._exchangeLogEventObjs.push(logEventObj); } + /** + * Returns the ethereum address of the current exchange contract + * on the network that the provided web3 instance is connected to + * @return The ethereum address of the current exchange contract. + */ + public async getContractAddressAsync(): Promise<string> { + const exchangeContract = await this._getExchangeContractAsync(); + return exchangeContract.address; + } private async _isValidSignatureUsingContractCallAsync(dataHex: string, ecSignature: ECSignature, signerAddressHex: string): Promise<boolean> { assert.isHexString('dataHex', dataHex); diff --git a/test/exchange_wrapper_test.ts b/test/exchange_wrapper_test.ts index deb76447e..f9cf9651f 100644 --- a/test/exchange_wrapper_test.ts +++ b/test/exchange_wrapper_test.ts @@ -22,6 +22,7 @@ import { } from '../src'; import {FillScenarios} from './utils/fill_scenarios'; import {TokenUtils} from './utils/token_utils'; +import {assert} from '../src/utils/assert'; chaiSetup.configure(); const expect = chai.expect; @@ -709,4 +710,10 @@ describe('ExchangeWrapper', () => { expect(orderHash).to.equal(orderHashFromContract); }); }); + describe('#getContractAddressAsync', () => { + it('returns the exchange contract address', async () => { + const exchangeAddress = await zeroEx.exchange.getContractAddressAsync(); + assert.isETHAddressHex('exchangeAddress', exchangeAddress); + }); + }); }); |