Flatten a Smart Contract

Flattening a smart contract is the process of combining the main contract with all its dependencies (interfaces, libraries, inherited contracts) into a single, standalone .sol file. This makes it much easier to validate the deployed contract.

You do not need to flatten your contract to deploy it.

Flattening is primarily a post-deployment step used to verify your source code on an explorer.

Because Chiliz Chain is an EVM-compatible blockchain, there are several tools available to flatten a contract.

If you deploy from your original files, then flatten them to verify the whole contract, you must ensure that nothing changes in the compilation settings.

Otherwise, you risk to get a "Bytecode mismatch" sort of error, and verification will fail.

Flatten using Remix IDE

In the File Explorer, right-click your main contract, and choose "Flatten" in the menu.

Remix will generate a CONTRACT_flattened.sol contract in your folder.

Flatten using Hardhat

Adapt the following line to your workflow:

Last updated

Was this helpful?