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:
npm run test
This project repository implements a test coverage plugin. Simply run:
npm run coverage
The written tests available in the file Create2.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 | |
----------------------|----------|----------|----------|----------|----------------|
All files | 100 | 100 | 100 | 100 | |
----------------------|----------|----------|----------|----------|----------------|
Important: 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.sol
- EVM-Based Production Networks:
- Ethereum:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Binance Smart Chain:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Optimism:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Arbitrum One:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Arbitrum Nova:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Polygon:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Heco:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Fantom:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Avalanche:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Gnosis Chain:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Moonriver:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Moonbeam:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Celo:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Aurora:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Harmony:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Autobahn:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Fuse Network:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Cronos:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Evmos:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Boba Network:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Canto:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Ethereum:
- Ethereum Test Networks:
- Additional EVM-Based Test Networks:
- Binance Smart Chain Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Optimism Testnet (Kovan):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Optimism Testnet (Goerli):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Arbitrum Testnet (Rinkeby):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Arbitrum Testnet (Goerli):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Polygon Testnet (Mumbai):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Heco Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Fantom Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Avalanche Testnet (Fuji):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Sokol:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Gnosis Chain Testnet (Chiado):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Moonbeam Testnet (Moonbase Alpha):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Celo Testnet (Alfajores):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Aurora Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Harmony Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Autobahn Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Fuse Network Testnet (Spark):
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Cronos Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Evmos Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Boba Network Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Canto Testnet:
0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2
- Binance Smart Chain Testnet: