Hardhat Contract Sizer
Output Solidity contract sizes with Hardhat.
Versions of this plugin prior to 2.0.0
were released as buidler-contract-sizer
.
Installation
yarn add --dev hardhat-contract-sizer
Usage
Load plugin in Hardhat config:
require('hardhat-contract-sizer');
Add configuration under the contractSizer
key:
option | description | default |
---|
alphaSort | whether to sort results table alphabetically (default sort is by contract size) | false |
runOnCompile | whether to output contract sizes automatically after compilation | false |
disambiguatePaths | whether to output the full path to the compilation artifact (relative to the Hardhat root directory) | false |
strict | whether to throw an error if any contracts exceed the size limit (may cause compatibility issues with solidity-coverage ) | false |
only | Array of String matchers used to select included contracts, defaults to all contracts if length is 0 | [] |
except | Array of String matchers used to exclude contracts | [] |
contractSizer: {
alphaSort: true,
disambiguatePaths: false,
runOnCompile: true,
strict: true,
only: [':ERC20$'],
}
Run the included Hardhat task to output compiled contract sizes:
yarn run hardhat size-contracts
By default, the hardhat compile
task is run before sizing contracts. You can disable
this behavior by specifying --no-compile
when you run the command:
yarn run hardhat size-contracts --compile false