aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contract-wrappers/test/transaction_encoder_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/contract-wrappers/test/transaction_encoder_test.ts')
-rw-r--r--packages/contract-wrappers/test/transaction_encoder_test.ts210
1 files changed, 0 insertions, 210 deletions
diff --git a/packages/contract-wrappers/test/transaction_encoder_test.ts b/packages/contract-wrappers/test/transaction_encoder_test.ts
deleted file mode 100644
index ef9eb2cf3..000000000
--- a/packages/contract-wrappers/test/transaction_encoder_test.ts
+++ /dev/null
@@ -1,210 +0,0 @@
-import { BlockchainLifecycle } from '@0x/dev-utils';
-import { FillScenarios } from '@0x/fill-scenarios';
-import { assetDataUtils, generatePseudoRandomSalt, orderHashUtils, signatureUtils } from '@0x/order-utils';
-import { SignedOrder } from '@0x/types';
-import { BigNumber } from '@0x/utils';
-import 'mocha';
-
-import { ContractWrappers } from '../src';
-import { TransactionEncoder } from '../src/utils/transaction_encoder';
-
-import { constants } from './utils/constants';
-import { migrateOnceAsync } from './utils/migrate';
-import { tokenUtils } from './utils/token_utils';
-import { provider, web3Wrapper } from './utils/web3_wrapper';
-
-const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper);
-
-describe('TransactionEncoder', () => {
- let contractWrappers: ContractWrappers;
- let userAddresses: string[];
- let fillScenarios: FillScenarios;
- let exchangeContractAddress: string;
- let makerTokenAddress: string;
- let takerTokenAddress: string;
- let coinbase: string;
- let makerAddress: string;
- let senderAddress: string;
- let takerAddress: string;
- let makerAssetData: string;
- let takerAssetData: string;
- let txHash: string;
- const fillableAmount = new BigNumber(5);
- const takerTokenFillAmount = new BigNumber(5);
- let signedOrder: SignedOrder;
-
- before(async () => {
- const contractAddresses = await migrateOnceAsync();
- await blockchainLifecycle.startAsync();
- const config = {
- networkId: constants.TESTRPC_NETWORK_ID,
- contractAddresses,
- blockPollingIntervalMs: 10,
- };
- contractWrappers = new ContractWrappers(provider, config);
- exchangeContractAddress = contractWrappers.exchange.address;
- userAddresses = await web3Wrapper.getAvailableAddressesAsync();
- const zrxTokenAddress = contractWrappers.exchange.zrxTokenAddress;
- fillScenarios = new FillScenarios(
- provider,
- userAddresses,
- zrxTokenAddress,
- exchangeContractAddress,
- contractWrappers.erc20Proxy.address,
- contractWrappers.erc721Proxy.address,
- );
- [coinbase, makerAddress, takerAddress, senderAddress] = userAddresses;
- [makerTokenAddress, takerTokenAddress] = tokenUtils.getDummyERC20TokenAddresses();
- [makerAssetData, takerAssetData] = [
- assetDataUtils.encodeERC20AssetData(makerTokenAddress),
- assetDataUtils.encodeERC20AssetData(takerTokenAddress),
- ];
- signedOrder = await fillScenarios.createFillableSignedOrderAsync(
- makerAssetData,
- takerAssetData,
- makerAddress,
- takerAddress,
- fillableAmount,
- );
- });
- after(async () => {
- await blockchainLifecycle.revertAsync();
- });
- beforeEach(async () => {
- await blockchainLifecycle.startAsync();
- });
- afterEach(async () => {
- await blockchainLifecycle.revertAsync();
- });
- describe('encode and executeTransaction', () => {
- const executeTransactionOrThrowAsync = async (
- encoder: TransactionEncoder,
- data: string,
- signerAddress: string = takerAddress,
- ): Promise<void> => {
- const salt = generatePseudoRandomSalt();
- const encodedTransaction = encoder.getTransactionHex(data, salt, signerAddress);
- const signature = await signatureUtils.ecSignHashAsync(provider, encodedTransaction, signerAddress);
- txHash = await contractWrappers.exchange.executeTransactionAsync(
- salt,
- signerAddress,
- data,
- signature,
- senderAddress,
- );
- await web3Wrapper.awaitTransactionSuccessAsync(txHash, constants.AWAIT_TRANSACTION_MINED_MS);
- };
- describe('#fillOrderTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.fillOrderTx(signedOrder, takerTokenFillAmount);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#fillOrderNoThrowTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.fillOrderNoThrowTx(signedOrder, takerTokenFillAmount);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#fillOrKillOrderTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.fillOrKillOrderTx(signedOrder, takerTokenFillAmount);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#marketSellOrdersTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.marketSellOrdersTx([signedOrder], takerTokenFillAmount);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#marketSellOrdersNoThrowTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.marketSellOrdersNoThrowTx([signedOrder], takerTokenFillAmount);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#marketBuyOrdersTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.marketBuyOrdersTx([signedOrder], fillableAmount);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#marketBuyOrdersNoThrowTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.marketBuyOrdersNoThrowTx([signedOrder], fillableAmount);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#preSignTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const orderHash = orderHashUtils.getOrderHashHex(signedOrder);
- const signature = signedOrder.signature;
- const data = encoder.preSignTx(orderHash, makerAddress, signature);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#setSignatureValidatorApprovalTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const isApproved = true;
- const data = encoder.setSignatureValidatorApprovalTx(senderAddress, isApproved);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#batchFillOrdersTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.batchFillOrdersTx([signedOrder], [takerTokenFillAmount]);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#batchFillOrKillOrdersTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.batchFillOrKillOrdersTx([signedOrder], [takerTokenFillAmount]);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#batchFillOrdersNoThrowTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.batchFillOrdersNoThrowTx([signedOrder], [takerTokenFillAmount]);
- await executeTransactionOrThrowAsync(encoder, data);
- });
- });
- describe('#batchCancelOrdersTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.batchCancelOrdersTx([signedOrder]);
- const signerAddress = makerAddress;
- await executeTransactionOrThrowAsync(encoder, data, signerAddress);
- });
- });
- describe('#cancelOrderTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const data = encoder.cancelOrderTx(signedOrder);
- const signerAddress = makerAddress;
- await executeTransactionOrThrowAsync(encoder, data, signerAddress);
- });
- });
- describe('#cancelOrdersUpToTx', () => {
- it('should successfully execute the transaction', async () => {
- const encoder = await contractWrappers.exchange.transactionEncoderAsync();
- const targetEpoch = signedOrder.salt;
- const data = encoder.cancelOrdersUpToTx(targetEpoch);
- const signerAddress = makerAddress;
- await executeTransactionOrThrowAsync(encoder, data, signerAddress);
- });
- });
- });
-});