Merge branch 'batchCancelAsync' into batchFillAsync

This commit is contained in:
Leonid Logvinov
2017-06-07 16:56:54 +02:00
2 changed files with 8 additions and 27 deletions

View File

@@ -200,34 +200,10 @@ export class ExchangeWrapper extends ContractWrapper {
*/ */
public async cancelOrderAsync( public async cancelOrderAsync(
order: Order|SignedOrder, takerTokenCancelAmount: BigNumber.BigNumber): Promise<void> { order: Order|SignedOrder, takerTokenCancelAmount: BigNumber.BigNumber): Promise<void> {
assert.doesConformToSchema('order', await this.batchCancelOrderAsync([{
SchemaValidator.convertToJSONSchemaCompatibleObject(order as object), order,
orderSchema);
assert.isBigNumber('takerTokenCancelAmount', takerTokenCancelAmount);
await assert.isSenderAddressAvailableAsync(this.web3Wrapper, 'order.maker', order.maker);
const exchangeInstance = await this.getExchangeContractAsync();
await this.validateCancelOrderAndThrowIfInvalidAsync(order, takerTokenCancelAmount);
const [orderAddresses, orderValues] = ExchangeWrapper.getOrderAddressesAndValues(order);
const gas = await exchangeInstance.cancel.estimateGas(
orderAddresses,
orderValues,
takerTokenCancelAmount, takerTokenCancelAmount,
{ }]);
from: order.maker,
},
);
const response: ContractResponse = await exchangeInstance.cancel(
orderAddresses,
orderValues,
takerTokenCancelAmount,
{
from: order.maker,
gas,
},
);
this.throwErrorLogsAsErrors(response.logs);
} }
/** /**
* Batch version of cancelOrderAsync. Atomically cancels multiple orders in a single transaction. * Batch version of cancelOrderAsync. Atomically cancels multiple orders in a single transaction.

View File

@@ -233,3 +233,8 @@ export interface OrderCancellationRequest {
order: Order|SignedOrder; order: Order|SignedOrder;
takerTokenCancelAmount: BigNumber.BigNumber; takerTokenCancelAmount: BigNumber.BigNumber;
} }
export interface OrderFillRequest {
signedOrder: SignedOrder;
takerTokenFillAmount: BigNumber.BigNumber;
}