Deployer
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
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
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();
Was this helpful?