Skip to content

Compatibility with CreateX salt scheme #19

@pcaversaccio

Description

@pcaversaccio

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:

  1. Permissioned Deploy Protection
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions