ERADICATE2
ERADICATE2 copied to clipboard
Compatibility with `CreateX` `salt` scheme
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 tomsg.sender
, - The 21st byte (i.e.
ff
) may be used to implement a cross-chain redeploy protection by setting it equal to0x01
, - 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
See createXcrunch
for a dedicated CreateX
cruncher implementation.