Factory smart contract to make easier and safer usage of the `CREATE` and `CREATE2` EVM opcodes as well as of `CREATE3`-based (i.e. without an initcode factor) contract creations.
This PR adds the tests for all CREATE functions in CreateX; namely:
function deployCreate(bytes) payable returns (address)
function deployCreateAndInit(bytes,bytes,tuple(uint256,uint256)) payable returns (address)
function deployCreateAndInit(bytes,bytes,tuple(uint256,uint256),address) payable returns (address)
function deployCreateClone(address,bytes) payable returns (address)
function computeCreateAddress(uint256) view returns (address)
function computeCreateAddress(address,uint256) view returns (address)
I also slightly refactored the test directory by moving the corresponding contracts to appropriate sub-directories. Please note that this PR is rebased on the PR https://github.com/pcaversaccio/createx/pull/13. Finally, I also removed the now obsolete CreateX.t.sol test contract.
Eventually, I created a CreateX logo and added to the README:
PR Checklist
[ ] Because this PR includes a bug fix, relevant tests have been included.
๐ Changelog
This PR adds the tests for all
CREATE
functions inCreateX
; namely:function deployCreate(bytes) payable returns (address)
function deployCreateAndInit(bytes,bytes,tuple(uint256,uint256)) payable returns (address)
function deployCreateAndInit(bytes,bytes,tuple(uint256,uint256),address) payable returns (address)
function deployCreateClone(address,bytes) payable returns (address)
function computeCreateAddress(uint256) view returns (address)
function computeCreateAddress(address,uint256) view returns (address)
I also slightly refactored the
test
directory by moving the corresponding contracts to appropriate sub-directories. Please note that this PR is rebased on the PR https://github.com/pcaversaccio/createx/pull/13. Finally, I also removed the now obsoleteCreateX.t.sol
test contract.Eventually, I created a
CreateX
logo and added to theREADME
:PR Checklist
๐ถ Cute Animal Picture