npm buidler

buidler-solpp

Buidler plugin for integration with the solpp preprocessor.

What

This plugin hooks into the compilation pipeline and runs the solpp preprocessor.

Installation

npm install --save-dev @nomiclabs/buidler-solpp

And add the following statement to your buidler.config.js:

usePlugin("@nomiclabs/buidler-solpp");

Environment extensions

This plugin does not extend the environment.

Usage

There are no additional steps you need to take for this plugin to work.

Install it, run npx buidler compile and solc will compile the solpp generated contracts, which will be in cache/solpp-generated-contracts.

Configuration

This plugin can by configured by setting a solpp entry in buidler.config.js. Its options are:

  • defs: is an object where each property is the symbol's name and its value is the actual definition. Definitions can be numbers, string, expressions, lists, or functions. For more detail about symbols you can check solpp README.
  • cwd: string: directory where the contracts are located, it will be used for flattening purposes, by default it will be the project's source directory.
  • collapseEmptyLines: boolean: delete empty lines, false by default.
  • noPreprocessor: boolean: disable preprocessor, false by default.
  • noFlatten: boolean: won't flatten contracts, true by default.
  • tolerant: boolean: ignore if an imported contract file is missing when flattening, false by default.

TypeScript support

You need to add this to your tsconfig.json's files array: "node_modules/@nomiclabs/buidler-solpp/src/type-extensions.d.ts"