ICreateX

Git Source

Author: pcaversaccio (https://web.archive.org/web/20230921103111/https://pcaversaccio.com/)

Functions

deployCreate

function deployCreate(bytes memory initCode) external payable returns (address newContract);

deployCreateAndInit

function deployCreateAndInit(
    bytes memory initCode,
    bytes memory data,
    Values memory values,
    address refundAddress
)
    external
    payable
    returns (address newContract);

deployCreateAndInit

function deployCreateAndInit(
    bytes memory initCode,
    bytes memory data,
    Values memory values
)
    external
    payable
    returns (address newContract);

deployCreateClone

function deployCreateClone(address implementation, bytes memory data) external payable returns (address proxy);

computeCreateAddress

function computeCreateAddress(address deployer, uint256 nonce) external view returns (address computedAddress);

computeCreateAddress

function computeCreateAddress(uint256 nonce) external view returns (address computedAddress);

deployCreate2

function deployCreate2(bytes32 salt, bytes memory initCode) external payable returns (address newContract);

deployCreate2

function deployCreate2(bytes memory initCode) external payable returns (address newContract);

deployCreate2AndInit

function deployCreate2AndInit(
    bytes32 salt,
    bytes memory initCode,
    bytes memory data,
    Values memory values,
    address refundAddress
)
    external
    payable
    returns (address newContract);

deployCreate2AndInit

function deployCreate2AndInit(
    bytes32 salt,
    bytes memory initCode,
    bytes memory data,
    Values memory values
)
    external
    payable
    returns (address newContract);

deployCreate2AndInit

function deployCreate2AndInit(
    bytes memory initCode,
    bytes memory data,
    Values memory values,
    address refundAddress
)
    external
    payable
    returns (address newContract);

deployCreate2AndInit

function deployCreate2AndInit(
    bytes memory initCode,
    bytes memory data,
    Values memory values
)
    external
    payable
    returns (address newContract);

deployCreate2Clone

function deployCreate2Clone(
    bytes32 salt,
    address implementation,
    bytes memory data
)
    external
    payable
    returns (address proxy);

deployCreate2Clone

function deployCreate2Clone(address implementation, bytes memory data) external payable returns (address proxy);

computeCreate2Address

function computeCreate2Address(
    bytes32 salt,
    bytes32 initCodeHash,
    address deployer
)
    external
    pure
    returns (address computedAddress);

computeCreate2Address

function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) external view returns (address computedAddress);

deployCreate3

function deployCreate3(bytes32 salt, bytes memory initCode) external payable returns (address newContract);

deployCreate3

function deployCreate3(bytes memory initCode) external payable returns (address newContract);

deployCreate3AndInit

function deployCreate3AndInit(
    bytes32 salt,
    bytes memory initCode,
    bytes memory data,
    Values memory values,
    address refundAddress
)
    external
    payable
    returns (address newContract);

deployCreate3AndInit

function deployCreate3AndInit(
    bytes32 salt,
    bytes memory initCode,
    bytes memory data,
    Values memory values
)
    external
    payable
    returns (address newContract);

deployCreate3AndInit

function deployCreate3AndInit(
    bytes memory initCode,
    bytes memory data,
    Values memory values,
    address refundAddress
)
    external
    payable
    returns (address newContract);

deployCreate3AndInit

function deployCreate3AndInit(
    bytes memory initCode,
    bytes memory data,
    Values memory values
)
    external
    payable
    returns (address newContract);

computeCreate3Address

function computeCreate3Address(bytes32 salt, address deployer) external pure returns (address computedAddress);

computeCreate3Address

function computeCreate3Address(bytes32 salt) external view returns (address computedAddress);

Events

ContractCreation

event ContractCreation(address indexed newContract, bytes32 indexed salt);

ContractCreation

event ContractCreation(address indexed newContract);

Create3ProxyContractCreation

event Create3ProxyContractCreation(address indexed newContract, bytes32 indexed salt);

Errors

FailedContractCreation

error FailedContractCreation(address emitter);

FailedContractInitialisation

error FailedContractInitialisation(address emitter, bytes revertData);

InvalidSalt

error InvalidSalt(address emitter);

InvalidNonceValue

error InvalidNonceValue(address emitter);

FailedEtherTransfer

error FailedEtherTransfer(address emitter, bytes revertData);

Structs

Values

struct Values {
    uint256 constructorAmount;
    uint256 initCallAmount;
}