Solidity API
IDeployer
This interface defines the contract responsible for deploying and optionally initializing new contracts
via a specified deployment method.
DeployInitFailed
Deployed
event Deployed(address deployedAddress, address sender, bytes32 salt, bytes32 bytecodeHash)
deploy
function deploy(bytes bytecode, bytes32 salt) external payable returns (address deployedAddress_)
Deploys a contract using a deployment method defined by derived contracts.
Parameters
Name |
Type |
Description |
bytecode |
bytes |
The bytecode of the contract to be deployed |
salt |
bytes32 |
A salt to influence the contract address |
Return Values
Name |
Type |
Description |
deployedAddress_ |
address |
The address of the deployed contract |
deployAndInit
function deployAndInit(bytes bytecode, bytes32 salt, bytes init) external payable returns (address deployedAddress_)
Deploys a contract using a deployment method defined by derived contracts and initializes it.
Parameters
Name |
Type |
Description |
bytecode |
bytes |
The bytecode of the contract to be deployed |
salt |
bytes32 |
A salt to influence the contract address |
init |
bytes |
Init data used to initialize the deployed contract |
Return Values
Name |
Type |
Description |
deployedAddress_ |
address |
The address of the deployed contract |
deployedAddress
function deployedAddress(bytes bytecode, address sender, bytes32 salt) external view returns (address deployedAddress_)
Returns the address where a contract will be stored if deployed via {deploy} or {deployAndInit} by sender
.
Parameters
Name |
Type |
Description |
bytecode |
bytes |
The bytecode of the contract |
sender |
address |
The address that will deploy the contract |
salt |
bytes32 |
The salt that will be used to influence the contract address |
Return Values
Name |
Type |
Description |
deployedAddress_ |
address |
The address that the contract will be deployed to |