Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@0x/contracts-test-utils

0xProject2.3kApache-2.05.4.60TypeScript support: included

Test utils for 0x contracts

readme

Contracts test utils

This package contains test utilities used by other smart contracts packages.

Usage

import {
    chaiSetup,
    constants,
    expectContractCallFailedAsync,
    expectContractCreationFailedAsync,
    expectTransactionFailedAsync,
    expectTransactionFailedWithoutReasonAsync,
    increaseTimeAndMineBlockAsync,
    provider,
    sendTransactionResult,
    txDefaults,
    web3Wrapper,
} from '@0x/contracts-test-utils';

Contributing

We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.

Please read our contribution guidelines before getting started.

Install Dependencies

If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:

yarn config set workspaces-experimental true

Then install dependencies

yarn install

Build

To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:

PKG=@0x/contracts-test-utils yarn build

Or continuously rebuild on change:

PKG=@0x/contracts-test-utils yarn watch

Clean

yarn clean

Lint

yarn lint

Run Tests

yarn test

changelog

CHANGELOG

v5.4.60 - November 16, 2023

* Dependencies updated

v5.4.59 - August 29, 2023

* Dependencies updated

v5.4.58 - August 18, 2023

* Dependencies updated

v5.4.57 - August 9, 2023

* Dependencies updated

v5.4.56 - July 21, 2023

* Dependencies updated

v5.4.55 - July 19, 2023

* Dependencies updated

v5.4.54 - May 10, 2023

* Dependencies updated

v5.4.53 - May 1, 2023

* Dependencies updated

v5.4.52 - April 20, 2023

* Dependencies updated

v5.4.51 - April 17, 2023

* Dependencies updated

v5.4.50 - April 10, 2023

* Dependencies updated

v5.4.49 - March 10, 2023

* Dependencies updated

v5.4.48 - March 1, 2023

* Dependencies updated

v5.4.47 - February 1, 2023

* Dependencies updated

v5.4.46 - January 30, 2023

* Dependencies updated

v5.4.45 - January 23, 2023

* Dependencies updated

v5.4.44 - December 12, 2022

* Dependencies updated

v5.4.43 - November 23, 2022

* Dependencies updated

v5.4.42 - November 15, 2022

* Dependencies updated

v5.4.41 - November 5, 2022

* Dependencies updated

v5.4.40 - November 2, 2022

* Dependencies updated

v5.4.39 - October 24, 2022

* Dependencies updated

v5.4.38 - October 21, 2022

* Dependencies updated

v5.4.37 - October 11, 2022

* Dependencies updated

v5.4.36 - October 5, 2022

* Migrate from TSLint to ESLint and fix linting errors (#589)

v5.4.35 - September 21, 2022

* Dependencies updated

v5.4.34 - September 12, 2022

* Dependencies updated

v5.4.33 - September 7, 2022

* Dependencies updated

v5.4.32 - September 2, 2022

* Dependencies updated

v5.4.31 - September 1, 2022

* Dependencies updated

v5.4.30 - August 25, 2022

* Dependencies updated

v5.4.29 - August 25, 2022

* Dependencies updated

v5.4.28 - August 22, 2022

* Dependencies updated

v5.4.27 - August 10, 2022

* Dependencies updated

v5.4.26 - August 9, 2022

* Dependencies updated

v5.4.25 - August 6, 2022

* Dependencies updated

v5.4.24 - July 27, 2022

* Dependencies updated

v5.4.23 - June 14, 2022

* Dependencies updated

v5.4.22 - June 3, 2022

* Dependencies updated

v5.4.21 - May 19, 2022

* Dependencies updated

v5.4.20 - April 22, 2022

* Dependencies updated

v5.4.19 - March 31, 2022

* Dependencies updated

v5.4.18 - March 2, 2022

* Dependencies updated

v5.4.17 - February 22, 2022

* Dependencies updated

v5.4.16 - December 24, 2021

* Dependencies updated

v5.4.15 - December 1, 2021

* Dependencies updated

v5.4.14 - November 16, 2021

* Dependencies updated

v5.4.13 - November 3, 2021

* Dependencies updated

v5.4.12 - October 19, 2021

* Dependencies updated

v5.4.11 - September 15, 2021

* Dependencies updated

v5.4.10 - September 1, 2021

* Dependencies updated

v5.4.9 - August 19, 2021

* Dependencies updated

v5.4.8 - August 16, 2021

* Dependencies updated

v5.4.7 - August 11, 2021

* Dependencies updated

v5.4.6 - August 6, 2021

* Dependencies updated

v5.4.5 - June 22, 2021

* Dependencies updated

v5.4.4 - June 11, 2021

* Dependencies updated

v5.4.3 - June 2, 2021

* Dependencies updated

v5.4.2 - May 25, 2021

* Dependencies updated

v5.4.1 - May 21, 2021

* Dependencies updated

v5.4.0 - May 5, 2021

* Set default ganache gas limit to 100e6 (#197)

v5.3.25 - April 28, 2021

* Dependencies updated

v5.3.24 - April 1, 2021

* Dependencies updated

v5.3.23 - March 17, 2021

* Dependencies updated

v5.3.22 - February 24, 2021

* Dependencies updated

v5.3.21 - February 10, 2021

* Dependencies updated

v5.3.20 - January 26, 2021

* Dependencies updated

v5.3.19 - January 13, 2021

* Dependencies updated

v5.3.18 - January 4, 2021

* Dependencies updated

v5.3.17 - December 23, 2020

* Dependencies updated

v5.3.16 - December 17, 2020

* Dependencies updated

v5.3.15 - December 9, 2020

* Dependencies updated

v5.3.14 - December 7, 2020

* Dependencies updated

v5.3.13 - December 3, 2020

* Dependencies updated

v5.3.12 - November 19, 2020

* Dependencies updated

v5.3.11 - November 13, 2020

* Dependencies updated

v5.3.10 - November 3, 2020

* Dependencies updated

v5.3.9 - November 3, 2020

* Dependencies updated

v5.3.8 - November 2, 2020

* Dependencies updated

v5.3.7 - October 28, 2020

* Dependencies updated

v5.3.6 - October 27, 2020

* Dependencies updated

v5.3.5 - October 21, 2020

* Dependencies updated

v5.3.4 - July 15, 2020

* Dependencies updated

v5.3.3 - June 24, 2020

* Add `msg` param to `assertIntegerRoughlyEquals` (#2576)

v5.3.2 - March 3, 2020

* Dependencies updated

v5.3.1 - February 27, 2020

* Dependencies updated

v5.3.0 - February 25, 2020

* Add `blockchainTests.config` (#2466)

v5.1.5 - February 15, 2020

* Dependencies updated

v5.1.4 - February 8, 2020

* Dependencies updated

v5.1.3 - February 6, 2020

* Dependencies updated

v5.1.2 - February 4, 2020

* Dependencies updated

v5.1.1 - January 22, 2020

* Dependencies updated

v5.1.0 - January 6, 2020

* Added ERC20BridgeProxy to list of unlocked accounts on mainnet fork (#2401)
* Add `blockchainTests.live()` for live network tests. (#2407)
* Add modifiers to `blockchainTests.fork()`. (#2407)

v5.0.1 - December 17, 2019

* Dependencies updated

v5.0.0 - December 9, 2019

* Removed `hex_utils.ts`. Moved to @0x/utils (#2373)

v4.0.0 - December 2, 2019

* Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
* Add new exports orderHashUtils and transactionHashUtils (#2321)
* Remove TransactionHelper and MutatorContractFunction (#2325)
* OrderFactory default order expiration time increased from ten minutes to fifteen minutes  (#2304)
* Add `chainId` to `TransactionFactory` constructor (#1742)
* Use new `Order` structure with `domain` field (#1742)
* Inherit `chaiSetup` from `@0x/dev-utils` (#1761)
* Add `generatePseudoRandomOrderHash()` to `orderUtils` (#1761)
* Inherit `OrderStatus` from `@0x/types` (#1761)
* Update types for arbitrary fee tokens (#1819)
* Remove formatters (#1834)
* Add `hexConcat()` in `hex_utils.ts` (#1885)
* Introduce Mocha blockchain extensions (#2007)
* Move `*FillResults`, `OrderInfo` types to `@0x/types` (#2031)
* Add `log_utils.ts` (#2031)
* Add `hexRandom()` to `hex_utils.ts` (#2031)
* Add the constants: `MAX_UINT256`, `ADDRESS_LENGTH`, `MAX_UINT256_ROOT`, `ONE_ETHER` (#2031)
* Make `testCombinatoriallyWithReferenceFuncAsync` non-async (#2031)
* Update `testWithReferenceFuncAsync` to work with `RevertErrors` (#2031)
* `web3Wrapper` is created with `shouldAllowUnlimitedContractSize` if `UNLIMITED_CONTRACT_SIZE` environment variable is set. (#2075)
* Add `toHex()`, `hexLeftPad()`, `hexRightPad()`, and 'hexInvert()' hex utils (#2109)
* Add `PPM_DENOMINATOR` and `PPM_100_PERCENT` constants. (#2109)
* Increase the number of ganache accounts to 20 (#2109)
* Add `Numberish` type. (#2131)
* Tweaks/Upgrades to `hex_utils`, most notably `hexSlice()` (#2155)
* Add `hexHash()` to `hex_utils` (#2155)
* Add `shortZip()` to `lang_utils.ts` (#2155)
* Add `number_utils.ts` and `hexSize()` (#2220)
* Add `verifyEventsFromLogs()` (#2287)

v3.2.0-beta.4 - December 2, 2019

* Dependencies updated

v3.2.0-beta.3 - November 20, 2019

* Dependencies updated

v3.2.0-beta.2 - November 17, 2019

* Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
* Add new exports orderHashUtils and transactionHashUtils (#2321)
* Remove TransactionHelper and MutatorContractFunction (#2325)

v3.2.0-beta.1 - November 7, 2019

* OrderFactory default order expiration time increased from ten minutes to fifteen minutes  (#2304)

v3.2.0-beta.0 - October 3, 2019

* Add `chainId` to `TransactionFactory` constructor (#1742)
* Use new `Order` structure with `domain` field (#1742)
* Inherit `chaiSetup` from `@0x/dev-utils` (#1761)
* Add `generatePseudoRandomOrderHash()` to `orderUtils` (#1761)
* Inherit `OrderStatus` from `@0x/types` (#1761)
* Update types for arbitrary fee tokens (#1819)
* Remove formatters (#1834)
* Add `hexConcat()` in `hex_utils.ts` (#1885)
* Introduce Mocha blockchain extensions (#2007)
* Move `*FillResults`, `OrderInfo` types to `@0x/types` (#2031)
* Add `log_utils.ts` (#2031)
* Add `haxRandom()` to `hex_utils.ts` (#2031)
* Add the constants: `MAX_UINT256`, `ADDRESS_LENGTH`, `MAX_UINT256_ROOT`, `ONE_ETHER` (#2031)
* Make `testCombinatoriallyWithReferenceFuncAsync` non-async (#2031)
* Update `testWithReferenceFuncAsync` to work with `RevertErrors` (#2031)
* `web3Wrapper` is created with `shouldAllowUnlimitedContractSize` if `UNLIMITED_CONTRACT_SIZE` environment variable is set. (#2075)
* Add `toHex()`, `hexLeftPad()`, `hexRightPad()`, and 'hexInvert()' hex utils (#2109)
* Add `PPM_DENOMINATOR` and `PPM_100_PERCENT` constants. (#2109)
* Increase the number of ganache accounts to 20 (#2109)
* Add `Numberish` type. (#2131)
* Tweaks/Upgrades to `hex_utils`, most notably `hexSlice()` (#2155)
* Add `hexHash()` to `hex_utils` (#2155)
* Add `shortZip()` to `lang_utils.ts` (#2155)
* Add `number_utils.ts` and `hexSize()` (#2220)
* Add `verifyEventsFromLogs()` (#2287)

v3.1.16 - September 17, 2019

* Dependencies updated

v3.1.15 - September 3, 2019

* Dependencies updated

v3.1.14 - August 22, 2019

* Dependencies updated

v3.1.13 - August 8, 2019

* Dependencies updated

v3.1.12 - July 31, 2019

* Dependencies updated

v3.1.11 - July 24, 2019

* Dependencies updated

v3.1.10 - July 15, 2019

* Dependencies updated

v3.1.9 - July 13, 2019

* Dependencies updated

v3.1.8 - July 13, 2019

* Fixed false positives in `expectTransactionFailedAsync` and `expectContractCallFailedAsync` (#1852)

v3.1.7 - May 24, 2019

* Dependencies updated

v3.1.6 - May 15, 2019

* Dependencies updated

v3.1.5 - May 14, 2019

* Dependencies updated

v3.1.3 - May 10, 2019

* Dependencies updated

v3.1.2 - April 11, 2019

* Dependencies updated

v3.1.1 - March 21, 2019

* Dependencies updated

v3.1.0 - March 20, 2019

* Added ERC1155Proxy test constants and interfaces (#1661)

v3.0.9 - Invalid date

* Set evmVersion to byzantium (#1678)
* Remove Coordinator EIP712 constants. They're now in the `order-utils` package. (#1705)

v3.0.8 - March 1, 2019

* Dependencies updated

v3.0.7 - February 27, 2019

* Dependencies updated

v3.0.6 - February 26, 2019

* Dependencies updated

v3.0.5 - February 25, 2019

* Dependencies updated

v3.0.4 - February 9, 2019

* Dependencies updated

v3.0.3 - February 7, 2019

* Dependencies updated

v3.0.2 - February 7, 2019

* Fake publish to enable pinning

v3.0.1 - February 6, 2019

* Dependencies updated

v3.0.0 - February 5, 2019

* Upgrade the bignumber.js to v8.0.2 (#1517)
* Import `ZeroExTransaction` type instead of using type defined in this package (#1576)

v2.0.1 - January 17, 2019

* Dependencies updated

v2.0.0 - January 15, 2019

* Renamed OrderStatus enum members to PascalCase to conform with tslint enum-naming rule (#1474)

v1.0.4 - January 11, 2019

* Dependencies updated

v1.0.3 - January 9, 2019

* Dependencies updated

v1.0.2 - December 13, 2018

* Dependencies updated