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.
One commit per change so we can drop what you don't like:
feat: easier to distinguish create3 proxy vs. desired contract deploys by adding a separate event, so users don't need to worry about the internals of create3 when checking logs to find their contract
feat: include revert data on failures to simplify debugging of failures
refactor: replace address(this) with self — I just find this cleaner than all the noise from syntax highlighting of address(this) 😅
chore: remove memory var to cache balance, gas cost is about the same and less code
chore: more explicit function names for verifying successful creation/initialization
PR Checklist
[ ] Because this PR includes a bug fix, relevant tests have been included.
[ ] Because this PR includes a new feature, the change was previously discussed in an issue or in the discussions section.
One commit per change so we can drop what you don't like:
address(this)
😅PR Checklist
🐶 Cute Animal Picture
Say hello to my dog