hardhat-solpp
Hardhat 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/hardhat-solpp
And add the following statement to your hardhat.config.js
:
require("@nomiclabs/hardhat-solpp");
Or, if you are using TypeScript, add this to your hardhat.config.ts
:
import "@nomiclabs/hardhat-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 hardhat 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 hardhat.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.