aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2017-09-26 21:29:44 +0800
committerFabio Berger <me@fabioberger.com>2017-09-26 21:29:44 +0800
commitdeac665b42739cf13db58c73fbf8e3f6624c34aa (patch)
tree860aac68a0ee3dd427d131545f2443b9799bfad9
parentfbac611337593b9bf03552637e709c45bdeee4ed (diff)
parent3c40526bffcccbad2a64f92f69f3b6ec63946c88 (diff)
downloaddexon-sol-tools-deac665b42739cf13db58c73fbf8e3f6624c34aa.tar
dexon-sol-tools-deac665b42739cf13db58c73fbf8e3f6624c34aa.tar.gz
dexon-sol-tools-deac665b42739cf13db58c73fbf8e3f6624c34aa.tar.bz2
dexon-sol-tools-deac665b42739cf13db58c73fbf8e3f6624c34aa.tar.lz
dexon-sol-tools-deac665b42739cf13db58c73fbf8e3f6624c34aa.tar.xz
dexon-sol-tools-deac665b42739cf13db58c73fbf8e3f6624c34aa.tar.zst
dexon-sol-tools-deac665b42739cf13db58c73fbf8e3f6624c34aa.zip
Merge branch 'development' into addOrderValidation
* development: Update comment Add a test for getZRXTokenAddressAsync Document changes in CHANGELOG Make getZRXTokenAddressAsync public
-rw-r--r--CHANGELOG.md3
-rw-r--r--src/contract_wrappers/exchange_wrapper.ts18
-rw-r--r--test/exchange_wrapper_test.ts7
3 files changed, 21 insertions, 7 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 61031c089..7c0d0cb88 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
# CHANGELOG
+v0.17.0 - _September 26, 2017_
+ * Made `zeroEx.exchange.getZRXTokenAddressAsync` public (#171)
+
v0.16.0 - _September 20, 2017_
------------------------
* Added the ability to specify custom contract addresses to be used with 0x.js (#165)
diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts
index c81e7919f..d2a3bcfa3 100644
--- a/src/contract_wrappers/exchange_wrapper.ts
+++ b/src/contract_wrappers/exchange_wrapper.ts
@@ -657,7 +657,7 @@ export class ExchangeWrapper extends ContractWrapper {
assert.doesConformToSchema('signedOrder', signedOrder, schemas.signedOrderSchema);
assert.isBigNumber('fillTakerTokenAmount', fillTakerTokenAmount);
await assert.isSenderAddressAsync('takerAddress', takerAddress, this._web3Wrapper);
- const zrxTokenAddress = await this._getZRXTokenAddressAsync();
+ const zrxTokenAddress = await this.getZRXTokenAddressAsync();
await this._orderValidationUtils.validateFillOrderThrowIfInvalidAsync(
signedOrder, fillTakerTokenAmount, takerAddress, zrxTokenAddress);
}
@@ -690,7 +690,7 @@ export class ExchangeWrapper extends ContractWrapper {
assert.doesConformToSchema('signedOrder', signedOrder, schemas.signedOrderSchema);
assert.isBigNumber('fillTakerTokenAmount', fillTakerTokenAmount);
await assert.isSenderAddressAsync('takerAddress', takerAddress, this._web3Wrapper);
- const zrxTokenAddress = await this._getZRXTokenAddressAsync();
+ const zrxTokenAddress = await this.getZRXTokenAddressAsync();
await this._orderValidationUtils.validateFillOrKillOrderThrowIfInvalidAsync(
signedOrder, fillTakerTokenAmount, takerAddress, zrxTokenAddress);
}
@@ -728,6 +728,15 @@ export class ExchangeWrapper extends ContractWrapper {
throw new Error(errMessage);
}
}
+ /**
+ * Returns the ZRX token address used by the exchange contract.
+ * @return Address of ZRX token
+ */
+ public async getZRXTokenAddressAsync(): Promise<string> {
+ const exchangeInstance = await this._getExchangeContractAsync();
+ const ZRXtokenAddress = await exchangeInstance.ZRX_TOKEN_CONTRACT.callAsync();
+ return ZRXtokenAddress;
+ }
private async _invalidateContractInstancesAsync(): Promise<void> {
await this.stopWatchingAllEventsAsync();
delete this._exchangeContractIfExists;
@@ -765,11 +774,6 @@ export class ExchangeWrapper extends ContractWrapper {
this._exchangeContractIfExists = contractInstance as ExchangeContract;
return this._exchangeContractIfExists;
}
- private async _getZRXTokenAddressAsync(): Promise<string> {
- const exchangeInstance = await this._getExchangeContractAsync();
- const ZRXtokenAddress = await exchangeInstance.ZRX_TOKEN_CONTRACT.callAsync();
- return ZRXtokenAddress;
- }
private async _getTokenTransferProxyAddressAsync(): Promise<string> {
const exchangeInstance = await this._getExchangeContractAsync();
const tokenTransferProxyAddress = await exchangeInstance.TOKEN_TRANSFER_PROXY_CONTRACT.callAsync();
diff --git a/test/exchange_wrapper_test.ts b/test/exchange_wrapper_test.ts
index f72e7f64f..9c0617671 100644
--- a/test/exchange_wrapper_test.ts
+++ b/test/exchange_wrapper_test.ts
@@ -591,4 +591,11 @@ describe('ExchangeWrapper', () => {
expect(orderHash).to.equal(orderHashFromContract);
});
});
+ describe('#getZRXTokenAddressAsync', () => {
+ it('gets the same token as is in token registry', async () => {
+ const zrxAddress = await zeroEx.exchange.getZRXTokenAddressAsync();
+ const zrxToken = tokenUtils.getProtocolTokenOrThrow();
+ expect(zrxAddress).to.equal(zrxToken.address);
+ });
+ });
});