The contract artifacts should remain as standard compiler output during development. Fields should only be removed/added prior to being published in `@0x/contract-artifacts`. This PR adds the `yarn transform` script to `@0x/contract-artifacts` to facilitate this. Going forward, `abi-gen-templates` will have to support both standard artifacts and modified artifacts if they diverge, since the templates are used for `contract-artifacts`/`abi-gen-wrappers` (modified artifact) *and* development in all the `contracts/*` packages (standard artifact). This PR makes the following changes to `contract-artifacts`: - remove `evm.bytecode.linkReferences` from all artifacts - remove `evm.deployedBytecode` and `sourceTreeHashHex` from Coordinator artifact - prettify all artifacts (whitespace only changes)
@0x/utils
Utils to be shared across 0x projects and packages
Installation
yarn add @0x/utils
If your project is in TypeScript, add the following to your tsconfig.json
:
"compilerOptions": {
"typeRoots": ["node_modules/@0x/typescript-typings/types", "node_modules/@types"],
}
Usage
import { addressUtils, bigNumberConfigs, classUtils, intervalUtils, promisify } from '@0x/utils';
Troubleshooting
If you are still seeing TS type errors complaining about missing DOM types such as Response
:
error TS2304: Cannot find name 'Response'.
Then you need to explicitly add the dom
lib to your compiler options in tsconfig.json
. The dom
library is included by default, but customizing the lib
option can cause it to be dropped.
"compilerOptions": {
"lib": [..., "dom"],
Contributing
We welcome improvements and fixes from the wider community! 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/utils yarn build
Or continuously rebuild on change:
PKG=@0x/utils yarn watch
Clean
yarn clean
Lint
yarn lint