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 |