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.
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 create2crunch compatible with CreateX's salt scheme. I'm pretty sure some of the Foundry contributors can be motivated to tackle this challenge :). Cc: @mds1 @Vectorized
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 theCREATE
andCREATE2
EVM opcodes as well as ofCREATE3
-based (i.e. without an initcode factor) contract creations.CreateX
salt
schemeCreateX
implements some special features:The
salt
value implements these different safeguarding mechanisms depending on the encoded values in the salt (||
stands for byte-wise concatenation):bebebebebebebebebebebebebebebebebebebebe
) 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 for $2^{88}$ bits of entropy for mining a salt.Feature Request
Make
create2crunch
compatible withCreateX
'ssalt
scheme. I'm pretty sure some of the Foundry contributors can be motivated to tackle this challenge :). Cc: @mds1 @Vectorized