Add return values to combinatorial fillOrder tests
This commit is contained in:
		@@ -8,7 +8,7 @@ import { ExchangeContract } from '../../generated_contract_wrappers/exchange';
 | 
				
			|||||||
import { formatters } from './formatters';
 | 
					import { formatters } from './formatters';
 | 
				
			||||||
import { LogDecoder } from './log_decoder';
 | 
					import { LogDecoder } from './log_decoder';
 | 
				
			||||||
import { orderUtils } from './order_utils';
 | 
					import { orderUtils } from './order_utils';
 | 
				
			||||||
import { OrderInfo, SignedTransaction } from './types';
 | 
					import { FillResults, OrderInfo, SignedTransaction } from './types';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class ExchangeWrapper {
 | 
					export class ExchangeWrapper {
 | 
				
			||||||
    private readonly _exchange: ExchangeContract;
 | 
					    private readonly _exchange: ExchangeContract;
 | 
				
			||||||
@@ -243,4 +243,31 @@ export class ExchangeWrapper {
 | 
				
			|||||||
        const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash);
 | 
					        const tx = await this._logDecoder.getTxWithDecodedLogsAsync(txHash);
 | 
				
			||||||
        return tx;
 | 
					        return tx;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    public async getFillOrderResultsAsync(
 | 
				
			||||||
 | 
					        signedOrder: SignedOrder,
 | 
				
			||||||
 | 
					        from: string,
 | 
				
			||||||
 | 
					        opts: { takerAssetFillAmount?: BigNumber } = {},
 | 
				
			||||||
 | 
					    ): Promise<FillResults> {
 | 
				
			||||||
 | 
					        const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount);
 | 
				
			||||||
 | 
					        const fillResults = await this._exchange.fillOrder.callAsync(
 | 
				
			||||||
 | 
					            params.order,
 | 
				
			||||||
 | 
					            params.takerAssetFillAmount,
 | 
				
			||||||
 | 
					            params.signature,
 | 
				
			||||||
 | 
					            { from },
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					        return fillResults;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    public abiEncodeFillOrder(
 | 
				
			||||||
 | 
					        signedOrder: SignedOrder,
 | 
				
			||||||
 | 
					        from: string,
 | 
				
			||||||
 | 
					        opts: { takerAssetFillAmount?: BigNumber } = {},
 | 
				
			||||||
 | 
					    ): string {
 | 
				
			||||||
 | 
					        const params = orderUtils.createFill(signedOrder, opts.takerAssetFillAmount);
 | 
				
			||||||
 | 
					        const data = this._exchange.fillOrder.getABIEncodedTransactionData(
 | 
				
			||||||
 | 
					            params.order,
 | 
				
			||||||
 | 
					            params.takerAssetFillAmount,
 | 
				
			||||||
 | 
					            params.signature,
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					        return data;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -456,6 +456,29 @@ export class FillOrderCombinatorialUtils {
 | 
				
			|||||||
            signedOrder.takerAssetAmount,
 | 
					            signedOrder.takerAssetAmount,
 | 
				
			||||||
            signedOrder.makerAssetAmount,
 | 
					            signedOrder.makerAssetAmount,
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					        const expMakerFeePaid = orderUtils.getPartialAmount(
 | 
				
			||||||
 | 
					            expFilledTakerAmount,
 | 
				
			||||||
 | 
					            signedOrder.takerAssetAmount,
 | 
				
			||||||
 | 
					            signedOrder.makerFee,
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					        const expTakerFeePaid = orderUtils.getPartialAmount(
 | 
				
			||||||
 | 
					            expFilledTakerAmount,
 | 
				
			||||||
 | 
					            signedOrder.takerAssetAmount,
 | 
				
			||||||
 | 
					            signedOrder.takerFee,
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					        const fillResults = await this.exchangeWrapper.getFillOrderResultsAsync(signedOrder, this.takerAddress, {
 | 
				
			||||||
 | 
					            takerAssetFillAmount,
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        expect(fillResults.takerAssetFilledAmount).to.be.bignumber.equal(
 | 
				
			||||||
 | 
					            expFilledTakerAmount,
 | 
				
			||||||
 | 
					            'takerAssetFilledAmount',
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					        expect(fillResults.makerAssetFilledAmount).to.be.bignumber.equal(
 | 
				
			||||||
 | 
					            expFilledMakerAmount,
 | 
				
			||||||
 | 
					            'makerAssetFilledAmount',
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					        expect(fillResults.takerFeePaid).to.be.bignumber.equal(expTakerFeePaid, 'takerFeePaid');
 | 
				
			||||||
 | 
					        expect(fillResults.makerFeePaid).to.be.bignumber.equal(expMakerFeePaid, 'makerFeePaid');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // - Let's fill the order!
 | 
					        // - Let's fill the order!
 | 
				
			||||||
        const txReceipt = await this.exchangeWrapper.fillOrderAsync(signedOrder, this.takerAddress, {
 | 
					        const txReceipt = await this.exchangeWrapper.fillOrderAsync(signedOrder, this.takerAddress, {
 | 
				
			||||||
@@ -479,17 +502,7 @@ export class FillOrderCombinatorialUtils {
 | 
				
			|||||||
            expFilledTakerAmount,
 | 
					            expFilledTakerAmount,
 | 
				
			||||||
            'log.args.takerAssetFilledAmount',
 | 
					            'log.args.takerAssetFilledAmount',
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
        const expMakerFeePaid = orderUtils.getPartialAmount(
 | 
					 | 
				
			||||||
            expFilledTakerAmount,
 | 
					 | 
				
			||||||
            signedOrder.takerAssetAmount,
 | 
					 | 
				
			||||||
            signedOrder.makerFee,
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
        expect(log.args.makerFeePaid).to.be.bignumber.equal(expMakerFeePaid, 'log.args.makerFeePaid');
 | 
					        expect(log.args.makerFeePaid).to.be.bignumber.equal(expMakerFeePaid, 'log.args.makerFeePaid');
 | 
				
			||||||
        const expTakerFeePaid = orderUtils.getPartialAmount(
 | 
					 | 
				
			||||||
            expFilledTakerAmount,
 | 
					 | 
				
			||||||
            signedOrder.takerAssetAmount,
 | 
					 | 
				
			||||||
            signedOrder.takerFee,
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
        expect(log.args.takerFeePaid).to.be.bignumber.equal(expTakerFeePaid, 'logs.args.takerFeePaid');
 | 
					        expect(log.args.takerFeePaid).to.be.bignumber.equal(expTakerFeePaid, 'logs.args.takerFeePaid');
 | 
				
			||||||
        expect(log.args.orderHash).to.be.equal(orderHash, 'log.args.orderHash');
 | 
					        expect(log.args.orderHash).to.be.equal(orderHash, 'log.args.orderHash');
 | 
				
			||||||
        expect(log.args.makerAssetData).to.be.equal(makerAssetData, 'log.args.makerAssetData');
 | 
					        expect(log.args.makerAssetData).to.be.equal(makerAssetData, 'log.args.makerAssetData');
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user