GitHub - pcaversaccio/create2deployer: Helper smart contract to make easier and safer usage of the CREATE2 EVM opcode. (original) (raw)

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.

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:

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
-------------------------------- ---------- ---------- ---------- ---------- ----------------