aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/contract_wrappers/exchange_wrapper.ts9
-rw-r--r--test/exchange_wrapper_test.ts7
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);
+ });
+ });
});