aboutsummaryrefslogtreecommitdiffstats
path: root/packages/0x.js
diff options
context:
space:
mode:
authorJacob Evans <jacob@dekz.net>2018-01-18 15:17:22 +0800
committerJacob Evans <jacob@dekz.net>2018-01-19 07:31:06 +0800
commitcfc868bf4dc371b299801dd24917a695387546e2 (patch)
treed4385425a85a1ef669ad1b58d71b3ad20b97a2b7 /packages/0x.js
parent7b4e2257d8316ea12c1874b03d148a458318dbc1 (diff)
downloaddexon-0x-contracts-cfc868bf4dc371b299801dd24917a695387546e2.tar.gz
dexon-0x-contracts-cfc868bf4dc371b299801dd24917a695387546e2.tar.zst
dexon-0x-contracts-cfc868bf4dc371b299801dd24917a695387546e2.zip
Reject negative amounts in isValidBaseUnitAmount
Diffstat (limited to 'packages/0x.js')
-rw-r--r--packages/0x.js/test/exchange_wrapper_test.ts47
1 files changed, 47 insertions, 0 deletions
diff --git a/packages/0x.js/test/exchange_wrapper_test.ts b/packages/0x.js/test/exchange_wrapper_test.ts
index d2a2149a0..7e0ffd818 100644
--- a/packages/0x.js/test/exchange_wrapper_test.ts
+++ b/packages/0x.js/test/exchange_wrapper_test.ts
@@ -390,6 +390,29 @@ describe('ExchangeWrapper', () => {
).to.not.be.rejectedWith(ExchangeContractErrs.OrderFillAmountZero);
});
});
+ describe('negative fill amount', async () => {
+ let signedOrder: SignedOrder;
+ const negativeFillTakerAmount = new BigNumber(-100);
+ beforeEach(async () => {
+ signedOrder = await fillScenarios.createFillableSignedOrderAsync(
+ makerTokenAddress,
+ takerTokenAddress,
+ makerAddress,
+ takerAddress,
+ fillableAmount,
+ );
+ });
+ it('should not allow the exchange wrapper to fill if amount is negative', async () => {
+ return expect(
+ zeroEx.exchange.fillOrderAsync(
+ signedOrder,
+ negativeFillTakerAmount,
+ shouldThrowOnInsufficientBalanceOrAllowance,
+ takerAddress,
+ ),
+ ).to.be.rejected();
+ });
+ });
});
describe('#batchFillOrdersAsync', () => {
let signedOrder: SignedOrder;
@@ -498,6 +521,30 @@ describe('ExchangeWrapper', () => {
).to.not.be.rejectedWith(ExchangeContractErrs.OrderFillAmountZero);
});
});
+ describe('negative batch fill amount', async () => {
+ beforeEach(async () => {
+ const negativeFillTakerAmount = new BigNumber(-100);
+ orderFillBatch = [
+ {
+ signedOrder,
+ takerTokenFillAmount,
+ },
+ {
+ signedOrder: anotherSignedOrder,
+ takerTokenFillAmount: negativeFillTakerAmount,
+ },
+ ];
+ });
+ it('should not allow the exchange wrapper to batch fill if any amount is negative', async () => {
+ return expect(
+ zeroEx.exchange.batchFillOrdersAsync(
+ orderFillBatch,
+ shouldThrowOnInsufficientBalanceOrAllowance,
+ takerAddress,
+ ),
+ ).to.be.rejected();
+ });
+ });
});
describe('#fillOrdersUpTo', () => {
let signedOrder: SignedOrder;