diff options
author | Greg Hysen <greg.hysen@gmail.com> | 2018-05-17 07:57:02 +0800 |
---|---|---|
committer | Greg Hysen <greg.hysen@gmail.com> | 2018-05-19 08:01:06 +0800 |
commit | 636dae6a797ecdbdea186c1590ee35eec4521f41 (patch) | |
tree | 5fe9e188dad0c2aae34cdaf253b94f08aa7476c4 /packages/contracts/test/exchange | |
parent | c8f65a1bf9c664b21ee21b08a3a91881d7f3dce1 (diff) | |
download | dexon-sol-tools-636dae6a797ecdbdea186c1590ee35eec4521f41.tar dexon-sol-tools-636dae6a797ecdbdea186c1590ee35eec4521f41.tar.gz dexon-sol-tools-636dae6a797ecdbdea186c1590ee35eec4521f41.tar.bz2 dexon-sol-tools-636dae6a797ecdbdea186c1590ee35eec4521f41.tar.lz dexon-sol-tools-636dae6a797ecdbdea186c1590ee35eec4521f41.tar.xz dexon-sol-tools-636dae6a797ecdbdea186c1590ee35eec4521f41.tar.zst dexon-sol-tools-636dae6a797ecdbdea186c1590ee35eec4521f41.zip |
The OrderInfo struct is now returned by the getOrderInfo function
Diffstat (limited to 'packages/contracts/test/exchange')
-rw-r--r-- | packages/contracts/test/exchange/match_orders.ts | 105 |
1 files changed, 41 insertions, 64 deletions
diff --git a/packages/contracts/test/exchange/match_orders.ts b/packages/contracts/test/exchange/match_orders.ts index 74e4f6760..cc1486298 100644 --- a/packages/contracts/test/exchange/match_orders.ts +++ b/packages/contracts/test/exchange/match_orders.ts @@ -29,6 +29,7 @@ import { ERC20BalancesByOwner, ERC721TokenIdsByOwner, ExchangeStatus, + OrderInfo, SignedOrder, } from '../../src/utils/types'; import { chaiSetup } from '../utils/chai_setup'; @@ -180,13 +181,11 @@ describe('matchOrders', () => { erc721TokenIdsByOwner, ); // Verify left order was fully filled - const leftOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); - expect(leftOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const leftOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); + expect(leftOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); // Verify right order was fully filled - const rightOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderRight, - ); - expect(rightOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const rightOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderRight); + expect(rightOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); }); it('should transfer the correct amounts when orders completely fill each other and taker doesnt take a profit', async () => { @@ -224,13 +223,11 @@ describe('matchOrders', () => { erc721TokenIdsByOwner, ); // Verify left order was fully filled - const leftOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); - expect(leftOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const leftOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); + expect(leftOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); // Verify right order was fully filled - const rightOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderRight, - ); - expect(rightOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const rightOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderRight); + expect(rightOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); // Verify taker did not take a profit expect(takerInitialBalances).to.be.deep.equal( newERC20BalancesByOwner[takerAddress][defaultERC20MakerAssetAddress], @@ -265,13 +262,11 @@ describe('matchOrders', () => { erc721TokenIdsByOwner, ); // Verify left order was fully filled - const leftOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); - expect(leftOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const leftOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); + expect(leftOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); // Verify right order was partially filled - const rightOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderRight, - ); - expect(rightOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); + const rightOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderRight); + expect(rightOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); }); it('should transfer the correct amounts when right order is completely filled and left order is partially filled', async () => { @@ -302,13 +297,11 @@ describe('matchOrders', () => { erc721TokenIdsByOwner, ); // Verify left order was partially filled - const leftOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); - expect(leftOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); + const leftOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); + expect(leftOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); // Verify right order was fully filled - const rightOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderRight, - ); - expect(rightOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const rightOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderRight); + expect(rightOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); }); it('should transfer the correct amounts when consecutive calls are used to completely fill the left order', async () => { @@ -344,13 +337,11 @@ describe('matchOrders', () => { erc721TokenIdsByOwner, ); // Verify left order was partially filled - const leftOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); - expect(leftOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); + const leftOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); + expect(leftOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); // Verify right order was fully filled - const rightOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderRight, - ); - expect(rightOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const rightOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderRight); + expect(rightOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); // Construct second right order // Note: This order needs makerAssetAmount=90/takerAssetAmount=[anything <= 45] to fully fill the right order. // However, we use 100/50 to ensure a partial fill as we want to go down the "left fill" @@ -377,15 +368,11 @@ describe('matchOrders', () => { rightTakerAssetFilledAmount, ); // Verify left order was fully filled - const leftOrderInfo2: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderLeft, - ); - expect(leftOrderInfo2[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const leftOrderInfo2: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); + expect(leftOrderInfo2.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); // Verify second right order was partially filled - const rightOrderInfo2: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderRight2, - ); - expect(rightOrderInfo2[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); + const rightOrderInfo2: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderRight2); + expect(rightOrderInfo2.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); }); it('should transfer the correct amounts when consecutive calls are used to completely fill the right order', async () => { @@ -422,13 +409,11 @@ describe('matchOrders', () => { erc721TokenIdsByOwner, ); // Verify left order was partially filled - const leftOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); - expect(leftOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const leftOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); + expect(leftOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); // Verify right order was fully filled - const rightOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderRight, - ); - expect(rightOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); + const rightOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderRight); + expect(rightOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); // Create second left order // Note: This order needs makerAssetAmount=96/takerAssetAmount=48 to fully fill the right order. // However, we use 100/50 to ensure a partial fill as we want to go down the "right fill" @@ -458,15 +443,11 @@ describe('matchOrders', () => { rightTakerAssetFilledAmount, ); // Verify second left order was partially filled - const leftOrderInfo2: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderLeft2, - ); - expect(leftOrderInfo2[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); + const leftOrderInfo2: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft2); + expect(leftOrderInfo2.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FILLABLE); // Verify right order was fully filled - const rightOrderInfo2: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderRight, - ); - expect(rightOrderInfo2[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const rightOrderInfo2: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderRight); + expect(rightOrderInfo2.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); }); it('should transfer the correct amounts if fee recipient is the same across both matched orders', async () => { @@ -821,13 +802,11 @@ describe('matchOrders', () => { erc721TokenIdsByOwner, ); // Verify left order was fully filled - const leftOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); - expect(leftOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const leftOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); + expect(leftOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); // Verify right order was fully filled - const rightOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderRight, - ); - expect(rightOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const rightOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderRight); + expect(rightOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); }); it('should transfer correct amounts when right order maker asset is an ERC721 token', async () => { @@ -859,13 +838,11 @@ describe('matchOrders', () => { erc721TokenIdsByOwner, ); // Verify left order was fully filled - const leftOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); - expect(leftOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const leftOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderLeft); + expect(leftOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); // Verify right order was fully filled - const rightOrderInfo: [number, string, BigNumber] = await exchangeWrapper.getOrderInfoAsync( - signedOrderRight, - ); - expect(rightOrderInfo[0] as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); + const rightOrderInfo: OrderInfo = await exchangeWrapper.getOrderInfoAsync(signedOrderRight); + expect(rightOrderInfo.orderStatus as ExchangeStatus).to.be.equal(ExchangeStatus.ORDER_FULLY_FILLED); }); }); }); // tslint:disable-line:max-file-line-count |