Fixed spacing
This commit is contained in:
committed by
Amir Bandeali
parent
aeb0742434
commit
bf3c4f4743
@@ -164,7 +164,8 @@ contract IExchange {
|
|||||||
|
|
||||||
/// @dev Cancels all orders for a specified maker up to a certain time.
|
/// @dev Cancels all orders for a specified maker up to a certain time.
|
||||||
/// @param salt Orders created with a lower salt value will be cancelled
|
/// @param salt Orders created with a lower salt value will be cancelled
|
||||||
function cancelOrdersBefore(uint256 salt) external;
|
function cancelOrdersBefore(uint256 salt)
|
||||||
|
external;
|
||||||
|
|
||||||
/// @dev Fills an order with specified parameters and ECDSA signature. Throws if specified amount not filled entirely.
|
/// @dev Fills an order with specified parameters and ECDSA signature. Throws if specified amount not filled entirely.
|
||||||
/// @param orderAddresses Array of order's maker, taker, makerToken, takerToken, and feeRecipient.
|
/// @param orderAddresses Array of order's maker, taker, makerToken, takerToken, and feeRecipient.
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ contract MExchangeCore is LibOrder {
|
|||||||
public
|
public
|
||||||
returns (uint256 takerTokenCancelledAmount);
|
returns (uint256 takerTokenCancelledAmount);
|
||||||
|
|
||||||
function cancelOrdersBefore(
|
function cancelOrdersBefore(uint256 salt)
|
||||||
uint256 salt)
|
|
||||||
external;
|
external;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -168,8 +168,8 @@ export class ExchangeWrapper {
|
|||||||
return tx;
|
return tx;
|
||||||
}
|
}
|
||||||
public async cancelOrdersBeforeAsync(
|
public async cancelOrdersBeforeAsync(
|
||||||
timestamp: BigNumber,
|
timestamp: BigNumber,
|
||||||
from: string,
|
from: string,
|
||||||
): Promise<TransactionReceiptWithDecodedLogs> {
|
): Promise<TransactionReceiptWithDecodedLogs> {
|
||||||
const txHash = await this._exchange.cancelOrdersBefore.sendTransactionAsync(
|
const txHash = await this._exchange.cancelOrdersBefore.sendTransactionAsync(
|
||||||
timestamp,
|
timestamp,
|
||||||
|
|||||||
@@ -744,12 +744,12 @@ describe('Exchange', () => {
|
|||||||
|
|
||||||
describe('cancelOrdersBefore', () => {
|
describe('cancelOrdersBefore', () => {
|
||||||
it('should fail to set timestamp less than existing CancelBefore timestamp', async () => {
|
it('should fail to set timestamp less than existing CancelBefore timestamp', async () => {
|
||||||
const timestamp = new BigNumber(1);
|
const timestamp = new BigNumber(1);
|
||||||
await exWrapper.cancelOrdersBeforeAsync(timestamp, makerAddress);
|
await exWrapper.cancelOrdersBeforeAsync(timestamp, makerAddress);
|
||||||
const lesser_timestamp = new BigNumber(0);
|
const lesser_timestamp = new BigNumber(0);
|
||||||
return expect(
|
return expect(
|
||||||
exWrapper.cancelOrdersBeforeAsync(lesser_timestamp, makerAddress),
|
exWrapper.cancelOrdersBeforeAsync(lesser_timestamp, makerAddress),
|
||||||
).to.be.rejectedWith(constants.REVERT);
|
).to.be.rejectedWith(constants.REVERT);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should fail to set timestamp equal to existing CancelBefore timestamp', async () => {
|
it('should fail to set timestamp equal to existing CancelBefore timestamp', async () => {
|
||||||
@@ -761,51 +761,51 @@ describe('Exchange', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should cancel only orders with a timestamp less than CancelBefore timestamp', async () => {
|
it('should cancel only orders with a timestamp less than CancelBefore timestamp', async () => {
|
||||||
// Cancel all transactions with a timestamp less than 1
|
// Cancel all transactions with a timestamp less than 1
|
||||||
const timestamp = new BigNumber(1);
|
const timestamp = new BigNumber(1);
|
||||||
await exWrapper.cancelOrdersBeforeAsync(timestamp, makerAddress);
|
await exWrapper.cancelOrdersBeforeAsync(timestamp, makerAddress);
|
||||||
|
|
||||||
// Create 3 orders with timestamps 0,1,2
|
// Create 3 orders with timestamps 0,1,2
|
||||||
// Since we cancelled with timestamp=1, orders with timestamp<1 will not be processed
|
// Since we cancelled with timestamp=1, orders with timestamp<1 will not be processed
|
||||||
balances = await dmyBalances.getAsync();
|
balances = await dmyBalances.getAsync();
|
||||||
const signedOrders = await Promise.all([
|
const signedOrders = await Promise.all([
|
||||||
orderFactory.newSignedOrder({
|
orderFactory.newSignedOrder({
|
||||||
makerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(17), 18),
|
makerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(17), 18),
|
||||||
takerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(17), 18),
|
takerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(17), 18),
|
||||||
salt: new BigNumber(0)}),
|
salt: new BigNumber(0)}),
|
||||||
orderFactory.newSignedOrder({
|
orderFactory.newSignedOrder({
|
||||||
makerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(97), 18),
|
makerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(97), 18),
|
||||||
takerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(97), 18),
|
takerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(97), 18),
|
||||||
salt: new BigNumber(1)}),
|
salt: new BigNumber(1)}),
|
||||||
orderFactory.newSignedOrder({
|
orderFactory.newSignedOrder({
|
||||||
makerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(979), 18),
|
makerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(979), 18),
|
||||||
takerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(979), 18),
|
takerTokenAmount: ZeroEx.toBaseUnitAmount(new BigNumber(979), 18),
|
||||||
salt: new BigNumber(2)}),
|
salt: new BigNumber(2)}),
|
||||||
]);
|
]);
|
||||||
await exWrapper.batchFillOrdersNoThrowAsync(signedOrders, takerAddress);
|
await exWrapper.batchFillOrdersNoThrowAsync(signedOrders, takerAddress);
|
||||||
|
|
||||||
const newBalances = await dmyBalances.getAsync();
|
const newBalances = await dmyBalances.getAsync();
|
||||||
const fillMakerTokenAmount = signedOrders[1].makerTokenAmount.add(signedOrders[2].makerTokenAmount);
|
const fillMakerTokenAmount = signedOrders[1].makerTokenAmount.add(signedOrders[2].makerTokenAmount);
|
||||||
const fillTakerTokenAmount = signedOrders[1].takerTokenAmount.add(signedOrders[2].takerTokenAmount);
|
const fillTakerTokenAmount = signedOrders[1].takerTokenAmount.add(signedOrders[2].takerTokenAmount);
|
||||||
const makerFeeAmount = signedOrders[1].makerFeeAmount.add(signedOrders[2].makerFeeAmount);
|
const makerFeeAmount = signedOrders[1].makerFeeAmount.add(signedOrders[2].makerFeeAmount);
|
||||||
const takerFeeAmount = signedOrders[1].takerFeeAmount.add(signedOrders[2].takerFeeAmount);
|
const takerFeeAmount = signedOrders[1].takerFeeAmount.add(signedOrders[2].takerFeeAmount);
|
||||||
expect(newBalances[makerAddress][signedOrders[2].makerTokenAddress]).to.be.bignumber.equal(
|
expect(newBalances[makerAddress][signedOrders[2].makerTokenAddress]).to.be.bignumber.equal(
|
||||||
balances[makerAddress][signedOrders[2].makerTokenAddress].minus(fillMakerTokenAmount),
|
balances[makerAddress][signedOrders[2].makerTokenAddress].minus(fillMakerTokenAmount),
|
||||||
);
|
);
|
||||||
expect(newBalances[makerAddress][signedOrders[2].takerTokenAddress]).to.be.bignumber.equal(
|
expect(newBalances[makerAddress][signedOrders[2].takerTokenAddress]).to.be.bignumber.equal(
|
||||||
balances[makerAddress][signedOrders[2].takerTokenAddress].add(fillTakerTokenAmount),
|
balances[makerAddress][signedOrders[2].takerTokenAddress].add(fillTakerTokenAmount),
|
||||||
);
|
);
|
||||||
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(balances[makerAddress][zrx.address].minus(makerFeeAmount));
|
expect(newBalances[makerAddress][zrx.address]).to.be.bignumber.equal(balances[makerAddress][zrx.address].minus(makerFeeAmount));
|
||||||
expect(newBalances[takerAddress][signedOrders[2].takerTokenAddress]).to.be.bignumber.equal(
|
expect(newBalances[takerAddress][signedOrders[2].takerTokenAddress]).to.be.bignumber.equal(
|
||||||
balances[takerAddress][signedOrders[2].takerTokenAddress].minus(fillTakerTokenAmount),
|
balances[takerAddress][signedOrders[2].takerTokenAddress].minus(fillTakerTokenAmount),
|
||||||
);
|
);
|
||||||
expect(newBalances[takerAddress][signedOrders[2].makerTokenAddress]).to.be.bignumber.equal(
|
expect(newBalances[takerAddress][signedOrders[2].makerTokenAddress]).to.be.bignumber.equal(
|
||||||
balances[takerAddress][signedOrders[2].makerTokenAddress].add(fillMakerTokenAmount),
|
balances[takerAddress][signedOrders[2].makerTokenAddress].add(fillMakerTokenAmount),
|
||||||
);
|
);
|
||||||
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(balances[takerAddress][zrx.address].minus(takerFeeAmount));
|
expect(newBalances[takerAddress][zrx.address]).to.be.bignumber.equal(balances[takerAddress][zrx.address].minus(takerFeeAmount));
|
||||||
expect(newBalances[feeRecipientAddress][zrx.address]).to.be.bignumber.equal(
|
expect(newBalances[feeRecipientAddress][zrx.address]).to.be.bignumber.equal(
|
||||||
balances[feeRecipientAddress][zrx.address].add(makerFeeAmount.add(takerFeeAmount)),
|
balances[feeRecipientAddress][zrx.address].add(makerFeeAmount.add(takerFeeAmount)),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}); // tslint:disable-line:max-file-line-count
|
}); // tslint:disable-line:max-file-line-count
|
||||||
|
|||||||
Reference in New Issue
Block a user