Helper smart contract to make easier and safer usage of the `CREATE2` EVM opcode.
MIT License
CREATE2
Deployer[!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.
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
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!
Create2Deployer
[!IMPORTANT] As of 8 December 2023, all non-deprecated
Create2Deployer
deployments are permissionless as I have renounced the ownership accordingly.
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2