Background
CreateX is now live on 56 EVM chains (see also createx.rocks). TL;DR: CreateX is a 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.
CreateX salt scheme
The full documentation can be viewed here.
CreateX implements some special features:
- Permissioned Deploy Protection
- Cross-Chain Redeploy Protection
The salt value implements these different safeguarding mechanisms depending on the encoded values in the salt (|| stands for byte-wise concatenation):
=> salt (32 bytes) = 0xbebebebebebebebebebebebebebebebebebebebe||ff||1212121212121212121212
- The first 20 bytes (i.e.
bebebebebebebebebebebebebebebebebebebebe) may be used to implement a permissioned deploy protection by setting them equal to msg.sender,
- The 21st byte (i.e.
ff) may be used to implement a cross-chain redeploy protection by setting it equal to 0x01,
- The last random 11 bytes (i.e.
1212121212121212121212) allow for $2^{88}$ bits of entropy for mining a salt.
Feature Request
Make ERADICATE2 compatible with CreateX's salt scheme. Cc: @mds1 @Vectorized
Background
CreateXis now live on 56 EVM chains (see also createx.rocks). TL;DR:CreateXis a factory smart contract to make easier and safer usage of theCREATEandCREATE2EVM opcodes as well as ofCREATE3-based (i.e. without an initcode factor) contract creations.CreateXsaltschemeCreateXimplements some special features:The
saltvalue implements these different safeguarding mechanisms depending on the encoded values in the salt (||stands for byte-wise concatenation):=> salt (32 bytes) = 0xbebebebebebebebebebebebebebebebebebebebe||ff||1212121212121212121212bebebebebebebebebebebebebebebebebebebebe) may be used to implement a permissioned deploy protection by setting them equal tomsg.sender,ff) may be used to implement a cross-chain redeploy protection by setting it equal to0x01,1212121212121212121212) allow forFeature Request
Make
ERADICATE2compatible withCreateX'ssaltscheme. Cc: @mds1 @Vectorized