Deployer

Git Source

Inherits: Auth

State Variables

isDeployer

mapping(address => bool) public isDeployer;

Functions

constructor

constructor(address _owner, Authority _auth) Auth(_owner, _auth);

deployContract

Deploy some contract to a deterministic address.

Should be of form: "ContractName Version 0.0" Where the numbers after version are VERSION . SUBVERSION

function deployContract(
    string calldata name,
    bytes memory creationCode,
    bytes calldata constructorArgs,
    uint256 value
)
    external
    requiresAuth
    returns (address);

Parameters

NameTypeDescription

name

string

string used to derive salt for deployment

creationCode

bytes

the contract creation code to deploy - can be obtained by calling type(contractName).creationCode

constructorArgs

bytes

the contract constructor arguments if any - must be of form abi.encode(arg1, arg2, ...)

value

uint256

non zero if constructor needs to be payable

getAddress

function getAddress(string calldata name) external view returns (address);

convertNameToBytes32

function convertNameToBytes32(string calldata name) public pure returns (bytes32);

Events

ContractDeployed

Emitted on deployContract calls.

event ContractDeployed(string name, address contractAddress, bytes32 creationCodeHash);

Parameters

NameTypeDescription

name

string

string name used to derive salt for deployment

contractAddress

address

the newly deployed contract address

creationCodeHash

bytes32

keccak256 hash of the creation code - useful to determine creation code is the same across multiple chains

Errors

Deployer__NotADeployer

error Deployer__NotADeployer();