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

DarwinCapital/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 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.

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

 
 
 

Languages

  • Solidity 61.4%
  • TypeScript 38.1%
  • JavaScript 0.5%