1.3.9 • Published 1 year ago

ether-contract-sizer v1.3.9

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

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:

optiondescriptiondefault
alphaSortwhether to sort results table alphabetically (default sort is by contract size)false
runOnCompilewhether to output contract sizes automatically after compilationfalse
disambiguatePathswhether to output the full path to the compilation artifact (relative to the Hardhat root directory)false
strictwhether to throw an error if any contracts exceed the size limit (may cause compatibility issues with solidity-coverage)false
onlyArray of String matchers used to select included contracts, defaults to all contracts if length is 0[]
exceptArray of String matchers used to exclude contracts[]
outputFilefile path to write contract size reportnull
unitunit 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