Skip to content

Helper smart contract to make easier and safer usage of the `CREATE2` EVM opcode.

License

Notifications You must be signed in to change notification settings

Damirka432/create2deployer

 
 

Repository files navigation

CREATE2 Deployer

Test smart contracts License: MIT

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.

A very fancy meme

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:

npm run test

Test Coverage

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

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

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

Footnotes

  1. Please refer to this issue why the contract Create2Deployer was not deployed on the Base mainnet.

About

Helper smart contract to make easier and safer usage of the `CREATE2` EVM opcode.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 56.9%
  • TypeScript 42.7%
  • JavaScript 0.4%