Home

Awesome

CREATE2 Deployer

🕵️‍♂️ Test smart contracts License: MIT

[!TIP] I have built a versatile, trustless, and stateless successor to Create2Deployer: CreateX. Check it out! 🫡

Helper smart contract to make easier and safer usage of the CREATE2 Ethereum Virtual Machine (EVM) opcode. CREATE2 can be used to compute in advance the address where a smart contract will be deployed, which allows for interesting new mechanisms known as counterfactual interactions.

<div align="center"> <img src="assets/img/distribution.jpg" alt="A very fancy meme" width="80%" /> </div>

Unit Tests

Since Hardhat implements great features for Solidity debugging like Solidity stack traces, console.log, and explicit error messages when transactions fail, we leverage Hardhat for testing:

pnpm run test

Test Coverage

This project repository implements a test coverage plugin. Simply run:

pnpm run coverage

The written tests available in the file Create2Deployer.test.ts achieve a test coverage of 100%:

--------------------------------|----------|----------|----------|----------|----------------|
File                            |  % Stmts | % Branch |  % Funcs |  % Lines |Uncovered Lines |
--------------------------------|----------|----------|----------|----------|----------------|
 contracts\                     |      100 |      100 |      100 |      100 |                |
  Create2Deployer.sol           |      100 |      100 |      100 |      100 |                |
  Create2DeployerDeprecated.sol |      100 |      100 |      100 |      100 |                |
--------------------------------|----------|----------|----------|----------|----------------|
All files                       |      100 |      100 |      100 |      100 |                |
--------------------------------|----------|----------|----------|----------|----------------|

[!NOTE] A test coverage of 100% does not mean that there are no vulnerabilities. What really counts is the quality and spectrum of the tests themselves!

Deployments Create2Deployer

[!IMPORTANT] As of 8 December 2023, all non-deprecated Create2Deployer deployments are permissionless as I have renounced the ownership accordingly.