ether-contract-sizer
v1.3.9
Published
Output Solidity contract sizes with Hardhat
Downloads
3
Maintainers
Readme
Ethereum Contract Sizer
Output Solidity contract sizes with Hardhat.
Installation
npm install --save-dev ethereum-contract-sizer
# or
yarn add --dev ethereum-contract-sizer
Usage
Load plugin in Hardhat config:
require("ethereum-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 | []
|
| outputFile
| file path to write contract size report | null
|
| unit
| unit of measurement for the size of contracts, which can be expressed in 'B' (bytes), 'kB' (kilobytes) or 'KiB' (kibibytes) | KiB
|
contractSizer: {
alphaSort: true,
disambiguatePaths: false,
runOnCompile: true,
strict: true,
only: [':ERC20$'],
}
Run the included Hardhat task to output compiled contract sizes:
npx hardhat size-contracts
# or
yarn run hardhat size-contracts
By default, the hardhat compile
task is run before sizing contracts. This behavior can be disabled with the --no-compile
flag:
npx hardhat size-contracts --no-compile
# or
yarn run hardhat size-contracts --no-compile