Update imports in tests

This commit is contained in:
Amir Bandeali 2019-04-24 21:27:27 -07:00
parent 72f4b216c1
commit fc2a59ceaa
5 changed files with 48 additions and 31 deletions

View File

@ -2,15 +2,17 @@ import { ERC20ProxyContract, ERC20Wrapper } from '@0x/contracts-asset-proxy';
import { DummyERC20TokenContract } from '@0x/contracts-erc20'; import { DummyERC20TokenContract } from '@0x/contracts-erc20';
import { import {
artifacts as exchangeArtifacts, artifacts as exchangeArtifacts,
constants as exchangeConstants,
ExchangeCancelEventArgs, ExchangeCancelEventArgs,
ExchangeCancelUpToEventArgs, ExchangeCancelUpToEventArgs,
ExchangeContract, ExchangeContract,
exchangeDataEncoder,
ExchangeFillEventArgs, ExchangeFillEventArgs,
ExchangeFunctionName,
} from '@0x/contracts-exchange'; } from '@0x/contracts-exchange';
import { import {
chaiSetup, chaiSetup,
constants, constants,
exchangeDataEncoder,
expectTransactionFailedAsync, expectTransactionFailedAsync,
getLatestBlockTimestampAsync, getLatestBlockTimestampAsync,
OrderFactory, OrderFactory,
@ -128,7 +130,7 @@ describe('Coordinator tests', () => {
}); });
describe('single order fills', () => { describe('single order fills', () => {
for (const fnName of constants.SINGLE_FILL_FN_NAMES) { for (const fnName of exchangeConstants.SINGLE_FILL_FN_NAMES) {
it(`${fnName} should fill the order with a signed approval`, async () => { it(`${fnName} should fill the order with a signed approval`, async () => {
const orders = [await orderFactory.newSignedOrderAsync()]; const orders = [await orderFactory.newSignedOrderAsync()];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders);
@ -292,7 +294,7 @@ describe('Coordinator tests', () => {
} }
}); });
describe('batch order fills', () => { describe('batch order fills', () => {
for (const fnName of [...constants.MARKET_FILL_FN_NAMES, ...constants.BATCH_FILL_FN_NAMES]) { for (const fnName of [...exchangeConstants.MARKET_FILL_FN_NAMES, ...exchangeConstants.BATCH_FILL_FN_NAMES]) {
it(`${fnName} should fill the orders with a signed approval`, async () => { it(`${fnName} should fill the orders with a signed approval`, async () => {
const orders = [await orderFactory.newSignedOrderAsync(), await orderFactory.newSignedOrderAsync()]; const orders = [await orderFactory.newSignedOrderAsync(), await orderFactory.newSignedOrderAsync()];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders);
@ -443,7 +445,7 @@ describe('Coordinator tests', () => {
describe('cancels', () => { describe('cancels', () => {
it('cancelOrder call should be successful without an approval', async () => { it('cancelOrder call should be successful without an approval', async () => {
const orders = [await orderFactory.newSignedOrderAsync()]; const orders = [await orderFactory.newSignedOrderAsync()];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(constants.CANCEL_ORDER, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(ExchangeFunctionName.CancelOrder, orders);
const transaction = makerTransactionFactory.newSignedTransaction(data); const transaction = makerTransactionFactory.newSignedTransaction(data);
const transactionReceipt = await web3Wrapper.awaitTransactionSuccessAsync( const transactionReceipt = await web3Wrapper.awaitTransactionSuccessAsync(
await coordinatorContract.executeTransaction.sendTransactionAsync( await coordinatorContract.executeTransaction.sendTransactionAsync(
@ -471,7 +473,7 @@ describe('Coordinator tests', () => {
}); });
it('batchCancelOrders call should be successful without an approval', async () => { it('batchCancelOrders call should be successful without an approval', async () => {
const orders = [await orderFactory.newSignedOrderAsync(), await orderFactory.newSignedOrderAsync()]; const orders = [await orderFactory.newSignedOrderAsync(), await orderFactory.newSignedOrderAsync()];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(constants.BATCH_CANCEL_ORDERS, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(ExchangeFunctionName.BatchCancelOrders, orders);
const transaction = makerTransactionFactory.newSignedTransaction(data); const transaction = makerTransactionFactory.newSignedTransaction(data);
const transactionReceipt = await web3Wrapper.awaitTransactionSuccessAsync( const transactionReceipt = await web3Wrapper.awaitTransactionSuccessAsync(
await coordinatorContract.executeTransaction.sendTransactionAsync( await coordinatorContract.executeTransaction.sendTransactionAsync(
@ -501,7 +503,7 @@ describe('Coordinator tests', () => {
}); });
it('cancelOrdersUpTo call should be successful without an approval', async () => { it('cancelOrdersUpTo call should be successful without an approval', async () => {
const orders: SignedOrder[] = []; const orders: SignedOrder[] = [];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(constants.CANCEL_ORDERS_UP_TO, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(ExchangeFunctionName.CancelOrdersUpTo, orders);
const transaction = makerTransactionFactory.newSignedTransaction(data); const transaction = makerTransactionFactory.newSignedTransaction(data);
const transactionReceipt = await web3Wrapper.awaitTransactionSuccessAsync( const transactionReceipt = await web3Wrapper.awaitTransactionSuccessAsync(
await coordinatorContract.executeTransaction.sendTransactionAsync( await coordinatorContract.executeTransaction.sendTransactionAsync(

View File

@ -1,8 +1,8 @@
import { constants as exchangeConstants, exchangeDataEncoder, ExchangeFunctionName } from '@0x/contracts-exchange';
import { import {
addressUtils, addressUtils,
chaiSetup, chaiSetup,
constants, constants,
exchangeDataEncoder,
expectContractCallFailedAsync, expectContractCallFailedAsync,
getLatestBlockTimestampAsync, getLatestBlockTimestampAsync,
provider, provider,
@ -144,7 +144,7 @@ describe('Mixins tests', () => {
}); });
describe('decodeOrdersFromFillData', () => { describe('decodeOrdersFromFillData', () => {
for (const fnName of constants.SINGLE_FILL_FN_NAMES) { for (const fnName of exchangeConstants.SINGLE_FILL_FN_NAMES) {
it(`should correctly decode the orders for ${fnName} data`, async () => { it(`should correctly decode the orders for ${fnName} data`, async () => {
const orders = [defaultOrder]; const orders = [defaultOrder];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders);
@ -157,7 +157,7 @@ describe('Mixins tests', () => {
expect(orders).to.deep.eq(decodedSignedOrders); expect(orders).to.deep.eq(decodedSignedOrders);
}); });
} }
for (const fnName of constants.BATCH_FILL_FN_NAMES) { for (const fnName of exchangeConstants.BATCH_FILL_FN_NAMES) {
it(`should correctly decode the orders for ${fnName} data`, async () => { it(`should correctly decode the orders for ${fnName} data`, async () => {
const orders = [defaultOrder, defaultOrder]; const orders = [defaultOrder, defaultOrder];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders);
@ -170,7 +170,7 @@ describe('Mixins tests', () => {
expect(orders).to.deep.eq(decodedSignedOrders); expect(orders).to.deep.eq(decodedSignedOrders);
}); });
} }
for (const fnName of constants.MARKET_FILL_FN_NAMES) { for (const fnName of exchangeConstants.MARKET_FILL_FN_NAMES) {
it(`should correctly decode the orders for ${fnName} data`, async () => { it(`should correctly decode the orders for ${fnName} data`, async () => {
const orders = [defaultOrder, defaultOrder]; const orders = [defaultOrder, defaultOrder];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders);
@ -183,7 +183,11 @@ describe('Mixins tests', () => {
expect(orders).to.deep.eq(decodedSignedOrders); expect(orders).to.deep.eq(decodedSignedOrders);
}); });
} }
for (const fnName of [constants.CANCEL_ORDER, constants.BATCH_CANCEL_ORDERS, constants.CANCEL_ORDERS_UP_TO]) { for (const fnName of [
ExchangeFunctionName.CancelOrder,
ExchangeFunctionName.BatchCancelOrders,
ExchangeFunctionName.CancelOrdersUpTo,
]) {
it(`should correctly decode the orders for ${fnName} data`, async () => { it(`should correctly decode the orders for ${fnName} data`, async () => {
const orders = [defaultOrder, defaultOrder]; const orders = [defaultOrder, defaultOrder];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders);
@ -208,7 +212,7 @@ describe('Mixins tests', () => {
}); });
describe('Single order approvals', () => { describe('Single order approvals', () => {
for (const fnName of constants.SINGLE_FILL_FN_NAMES) { for (const fnName of exchangeConstants.SINGLE_FILL_FN_NAMES) {
it(`Should be successful: function=${fnName}, caller=tx_signer, senderAddress=[verifier], approval_sig=[approver1], expiration=[valid]`, async () => { it(`Should be successful: function=${fnName}, caller=tx_signer, senderAddress=[verifier], approval_sig=[approver1], expiration=[valid]`, async () => {
const orders = [defaultOrder]; const orders = [defaultOrder];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(fnName, orders);
@ -377,9 +381,9 @@ describe('Mixins tests', () => {
}); });
describe('Batch order approvals', () => { describe('Batch order approvals', () => {
for (const fnName of [ for (const fnName of [
...constants.BATCH_FILL_FN_NAMES, ...exchangeConstants.BATCH_FILL_FN_NAMES,
...constants.MARKET_FILL_FN_NAMES, ...exchangeConstants.MARKET_FILL_FN_NAMES,
constants.MATCH_ORDERS, ExchangeFunctionName.MatchOrders,
]) { ]) {
it(`Should be successful: function=${fnName} caller=tx_signer, senderAddress=[verifier,verifier], feeRecipient=[approver1,approver1], approval_sig=[approver1], expiration=[valid]`, async () => { it(`Should be successful: function=${fnName} caller=tx_signer, senderAddress=[verifier,verifier], feeRecipient=[approver1,approver1], approval_sig=[approver1], expiration=[valid]`, async () => {
const orders = [defaultOrder, defaultOrder]; const orders = [defaultOrder, defaultOrder];
@ -694,7 +698,7 @@ describe('Mixins tests', () => {
describe('cancels', () => { describe('cancels', () => {
it('should allow the tx signer to call `cancelOrder` without approval', async () => { it('should allow the tx signer to call `cancelOrder` without approval', async () => {
const orders = [defaultOrder]; const orders = [defaultOrder];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(constants.CANCEL_ORDER, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(ExchangeFunctionName.CancelOrder, orders);
const transaction = transactionFactory.newSignedTransaction(data); const transaction = transactionFactory.newSignedTransaction(data);
await mixins.assertValidCoordinatorApprovals.callAsync( await mixins.assertValidCoordinatorApprovals.callAsync(
transaction, transaction,
@ -707,7 +711,7 @@ describe('Mixins tests', () => {
}); });
it('should allow the tx signer to call `batchCancelOrders` without approval', async () => { it('should allow the tx signer to call `batchCancelOrders` without approval', async () => {
const orders = [defaultOrder, defaultOrder]; const orders = [defaultOrder, defaultOrder];
const data = exchangeDataEncoder.encodeOrdersToExchangeData(constants.BATCH_CANCEL_ORDERS, orders); const data = exchangeDataEncoder.encodeOrdersToExchangeData(ExchangeFunctionName.BatchCancelOrders, orders);
const transaction = transactionFactory.newSignedTransaction(data); const transaction = transactionFactory.newSignedTransaction(data);
await mixins.assertValidCoordinatorApprovals.callAsync( await mixins.assertValidCoordinatorApprovals.callAsync(
transaction, transaction,
@ -719,8 +723,7 @@ describe('Mixins tests', () => {
); );
}); });
it('should allow the tx signer to call `cancelOrdersUpTo` without approval', async () => { it('should allow the tx signer to call `cancelOrdersUpTo` without approval', async () => {
const orders: SignedOrder[] = []; const data = exchangeDataEncoder.encodeOrdersToExchangeData(ExchangeFunctionName.CancelOrdersUpTo);
const data = exchangeDataEncoder.encodeOrdersToExchangeData(constants.CANCEL_ORDERS_UP_TO, orders);
const transaction = transactionFactory.newSignedTransaction(data); const transaction = transactionFactory.newSignedTransaction(data);
await mixins.assertValidCoordinatorApprovals.callAsync( await mixins.assertValidCoordinatorApprovals.callAsync(
transaction, transaction,

View File

@ -42,6 +42,7 @@ import * as _ from 'lodash';
import { Erc1155Wrapper } from '../../erc1155/lib/src'; import { Erc1155Wrapper } from '../../erc1155/lib/src';
import { import {
artifacts, artifacts,
constants as exchangeConstants,
ExchangeCancelEventArgs, ExchangeCancelEventArgs,
ExchangeContract, ExchangeContract,
ExchangeWrapper, ExchangeWrapper,
@ -247,7 +248,7 @@ describe('Exchange core', () => {
}); });
}); });
}; };
describe('fillOrder reentrancy tests', () => reentrancyTest(constants.FUNCTIONS_WITH_MUTEX)); describe('fillOrder reentrancy tests', () => reentrancyTest(exchangeConstants.FUNCTIONS_WITH_MUTEX));
it('should throw if signature is invalid', async () => { it('should throw if signature is invalid', async () => {
signedOrder = await orderFactory.newSignedOrderAsync({ signedOrder = await orderFactory.newSignedOrderAsync({

View File

@ -21,6 +21,7 @@ import * as _ from 'lodash';
import { import {
artifacts, artifacts,
constants as exchangeConstants,
ExchangeContract, ExchangeContract,
ExchangeWrapper, ExchangeWrapper,
MatchOrderTester, MatchOrderTester,
@ -592,7 +593,7 @@ describe('matchOrders', () => {
}); });
}); });
}; };
describe('matchOrders reentrancy tests', () => reentrancyTest(constants.FUNCTIONS_WITH_MUTEX)); describe('matchOrders reentrancy tests', () => reentrancyTest(exchangeConstants.FUNCTIONS_WITH_MUTEX));
it('should transfer the correct amounts when orders completely fill each other', async () => { it('should transfer the correct amounts when orders completely fill each other', async () => {
// Create orders to match // Create orders to match

View File

@ -20,7 +20,13 @@ import { Web3Wrapper } from '@0x/web3-wrapper';
import * as chai from 'chai'; import * as chai from 'chai';
import * as _ from 'lodash'; import * as _ from 'lodash';
import { artifacts, ExchangeContract, ExchangeWrapper, ReentrantERC20TokenContract } from '../src'; import {
artifacts,
constants as exchangeConstants,
ExchangeContract,
ExchangeWrapper,
ReentrantERC20TokenContract,
} from '../src';
chaiSetup.configure(); chaiSetup.configure();
const expect = chai.expect; const expect = chai.expect;
@ -155,7 +161,7 @@ describe('Exchange wrappers', () => {
}); });
}); });
}; };
describe('fillOrKillOrder reentrancy tests', () => reentrancyTest(constants.FUNCTIONS_WITH_MUTEX)); describe('fillOrKillOrder reentrancy tests', () => reentrancyTest(exchangeConstants.FUNCTIONS_WITH_MUTEX));
it('should transfer the correct amounts', async () => { it('should transfer the correct amounts', async () => {
const signedOrder = await orderFactory.newSignedOrderAsync({ const signedOrder = await orderFactory.newSignedOrderAsync({
@ -244,7 +250,7 @@ describe('Exchange wrappers', () => {
}); });
}); });
}; };
describe('fillOrderNoThrow reentrancy tests', () => reentrancyTest(constants.FUNCTIONS_WITH_MUTEX)); describe('fillOrderNoThrow reentrancy tests', () => reentrancyTest(exchangeConstants.FUNCTIONS_WITH_MUTEX));
it('should transfer the correct amounts', async () => { it('should transfer the correct amounts', async () => {
const signedOrder = await orderFactory.newSignedOrderAsync({ const signedOrder = await orderFactory.newSignedOrderAsync({
@ -462,7 +468,7 @@ describe('Exchange wrappers', () => {
}); });
}); });
}; };
describe('batchFillOrders reentrancy tests', () => reentrancyTest(constants.FUNCTIONS_WITH_MUTEX)); describe('batchFillOrders reentrancy tests', () => reentrancyTest(exchangeConstants.FUNCTIONS_WITH_MUTEX));
it('should transfer the correct amounts', async () => { it('should transfer the correct amounts', async () => {
const takerAssetFillAmounts: BigNumber[] = []; const takerAssetFillAmounts: BigNumber[] = [];
@ -529,7 +535,8 @@ describe('Exchange wrappers', () => {
}); });
}); });
}; };
describe('batchFillOrKillOrders reentrancy tests', () => reentrancyTest(constants.FUNCTIONS_WITH_MUTEX)); describe('batchFillOrKillOrders reentrancy tests', () =>
reentrancyTest(exchangeConstants.FUNCTIONS_WITH_MUTEX));
it('should transfer the correct amounts', async () => { it('should transfer the correct amounts', async () => {
const takerAssetFillAmounts: BigNumber[] = []; const takerAssetFillAmounts: BigNumber[] = [];
@ -613,7 +620,8 @@ describe('Exchange wrappers', () => {
}); });
}); });
}; };
describe('batchFillOrdersNoThrow reentrancy tests', () => reentrancyTest(constants.FUNCTIONS_WITH_MUTEX)); describe('batchFillOrdersNoThrow reentrancy tests', () =>
reentrancyTest(exchangeConstants.FUNCTIONS_WITH_MUTEX));
it('should transfer the correct amounts', async () => { it('should transfer the correct amounts', async () => {
const takerAssetFillAmounts: BigNumber[] = []; const takerAssetFillAmounts: BigNumber[] = [];
@ -746,7 +754,7 @@ describe('Exchange wrappers', () => {
}); });
}); });
}; };
describe('marketSellOrders reentrancy tests', () => reentrancyTest(constants.FUNCTIONS_WITH_MUTEX)); describe('marketSellOrders reentrancy tests', () => reentrancyTest(exchangeConstants.FUNCTIONS_WITH_MUTEX));
it('should stop when the entire takerAssetFillAmount is filled', async () => { it('should stop when the entire takerAssetFillAmount is filled', async () => {
const takerAssetFillAmount = signedOrders[0].takerAssetAmount.plus( const takerAssetFillAmount = signedOrders[0].takerAssetAmount.plus(
@ -865,7 +873,8 @@ describe('Exchange wrappers', () => {
}); });
}); });
}; };
describe('marketSellOrdersNoThrow reentrancy tests', () => reentrancyTest(constants.FUNCTIONS_WITH_MUTEX)); describe('marketSellOrdersNoThrow reentrancy tests', () =>
reentrancyTest(exchangeConstants.FUNCTIONS_WITH_MUTEX));
it('should stop when the entire takerAssetFillAmount is filled', async () => { it('should stop when the entire takerAssetFillAmount is filled', async () => {
const takerAssetFillAmount = signedOrders[0].takerAssetAmount.plus( const takerAssetFillAmount = signedOrders[0].takerAssetAmount.plus(
@ -1011,7 +1020,7 @@ describe('Exchange wrappers', () => {
}); });
}); });
}; };
describe('marketBuyOrders reentrancy tests', () => reentrancyTest(constants.FUNCTIONS_WITH_MUTEX)); describe('marketBuyOrders reentrancy tests', () => reentrancyTest(exchangeConstants.FUNCTIONS_WITH_MUTEX));
it('should stop when the entire makerAssetFillAmount is filled', async () => { it('should stop when the entire makerAssetFillAmount is filled', async () => {
const makerAssetFillAmount = signedOrders[0].makerAssetAmount.plus( const makerAssetFillAmount = signedOrders[0].makerAssetAmount.plus(
@ -1130,7 +1139,8 @@ describe('Exchange wrappers', () => {
}); });
}); });
}; };
describe('marketBuyOrdersNoThrow reentrancy tests', () => reentrancyTest(constants.FUNCTIONS_WITH_MUTEX)); describe('marketBuyOrdersNoThrow reentrancy tests', () =>
reentrancyTest(exchangeConstants.FUNCTIONS_WITH_MUTEX));
it('should stop when the entire makerAssetFillAmount is filled', async () => { it('should stop when the entire makerAssetFillAmount is filled', async () => {
const makerAssetFillAmount = signedOrders[0].makerAssetAmount.plus( const makerAssetFillAmount = signedOrders[0].makerAssetAmount.plus(