Universal Deployer
Reference of the Universal Deployer Contract (UDC) interface and preset.
Interfaces
Starting from version 3.x.x, the interfaces are no longer part of the openzeppelin_utils package. The references documented here are contained in the openzeppelin_interfaces package version v2.1.0.
IUniversalDeployer
use openzeppelin_interfaces::deployments::IUniversalDeployer;Functions
Events
Functions
deploy_contract(class_hash: ClassHash, salt: felt252, not_from_zero: bool, calldata: Span<felt252>) → ContractAddress external
Deploys a contract through the Universal Deployer Contract.
Events
ContractDeployed(address: ContractAddress, deployer: ContractAddress, not_from_zero: bool, class_hash: ClassHash, calldata: Span<felt252>, salt: felt252) event
Emitted when deployer deploys a contract through the Universal Deployer Contract.
Presets
UniversalDeployer
use openzeppelin_presets::UniversalDeployer;The standard Universal Deployer Contract.
0x037f5901deb2b20bf5b2ddb04f6c770a7c5581edd68aa49f199cf74dfaf03c06
Embedded Implementations
UniversalDeployerImpl
deploy_contract(ref self: ContractState, address: ContractAddress, deployer: ContractAddress, not_from_zero: bool, class_hash: ClassHash, calldata: Span<felt252>, salt: felt252) -> ContractAddress external
Deploys a contract through the Universal Deployer Contract.
When not_from_zero is true, salt is hashed with the caller address and the modified salt is passed to the inner deploy_syscall. This type of deployment is origin-dependent.
When not_from_zero is false, the deployment type is origin-independent.
Emits an ContractDeployed event.