Awesome
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.
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.
- EVM-Based Production Networks:
- Ethereum:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Binance Smart Chain:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Optimism:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Arbitrum One:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Arbitrum Nova:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Polygon:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Polygon zkEVM:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Heco:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Fantom:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Avalanche:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Gnosis Chain:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Moonriver:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Moonbeam:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Celo:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Aurora:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Harmony:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Autobahn (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Fuse Network:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Cronos:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Evmos:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Boba Network:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Canto:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Base:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Mantle:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Scroll:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Linea:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Zora:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- LUKSO:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Manta Pacific:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Kroma:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Kava:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- X Layer:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Core:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Telos:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Rootstock:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Arthera:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Metis Andromeda:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Taiko:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Mode:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- ZetaChain:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- 5ireChain:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Gravity Alpha:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Ethereum:
- Ethereum Test Networks:
- Rinkeby (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Ropsten (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Kovan (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Goerli (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Sepolia:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Holešky (Holešovice):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Rinkeby (⚠️ Deprecated):
- Additional EVM-Based Test Networks:
- Binance Smart Chain Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Optimism Testnet (Kovan; ⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Optimism Testnet (Goerli; ⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Optimism Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Arbitrum Testnet (Rinkeby; ⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Arbitrum Testnet (Goerli; ⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Arbitrum Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Polygon Goerli Testnet (Mumbai; ⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Polygon Sepolia Testnet (Amoy):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Polygon Testnet (zkEVM; ⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Heco Testnet (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Fantom Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Avalanche Testnet (Fuji):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Sokol (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Gnosis Chain Testnet (Chiado):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Moonbeam Testnet (Moonbase Alpha):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Celo Testnet (Alfajores):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Aurora Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Harmony Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Autobahn Testnet (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Fuse Network Testnet (Spark):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Cronos Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Evmos Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Boba Network Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Canto Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Base Testnet (Goerli; ⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Base Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Mantle Testnet (Wadsley; ⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Mantle Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Filecoin Testnet (Hyperspace; ⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Filecoin Testnet (Calibration):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Scroll Testnet (Alpha; ⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Scroll Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Linea Testnet (Goerli; ⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Linea Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Zora Testnet (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- LUKSO Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Manta Pacific Testnet (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Shardeum Testnet (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Arthera Testnet (⚠️ Deprecated):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Blast Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Kroma Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Sei Arctic Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- X Layer (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Core Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Telos Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Rootstock Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Metis Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Taiko Testnet (Holešky):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Mode Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- ZetaChain Testnet (Athens-3):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- 5ireChain Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Gravity Alpha Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Unichain Testnet (Sepolia):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Binance Smart Chain Testnet: