This package allows you to generate boilerplate TypeScript code and configs for smart contracts packages.
yarn add -g @0x/contracts-gen
Run it from within your smart contracts packages.
You should run this tool after each time you move your contracts around to regenerate boilerplate code and configs.
What can it generate
This tool does the following:
- Reads your
compiler.json. Specifically the list of smart contracts.
wrapper.tsfile which exports all contract wrappers.
artifacts.tsfile which exports all contract artifacts.
- Generates list of JSON artifact files in
- Generates a glob for abi-gen in
On top of that - if your
compiler.json has contracts referenced just by name - it will resolve the name to relative path and put it there.
It also sorts all the lists in it's output leading to smaller and cleaner diffs.
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.
If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
yarn config set workspaces-experimental true
Then install dependencies
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
PKG=@0x/contracts-gen yarn build
Or continuously rebuild on change:
PKG=@0x/contracts-gen yarn watch