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_access
package. The references
documented here are contained in the openzeppelin_interfaces
package version 2.1.0-alpha.0
.
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
use openzeppelin_presets::UniversalDeployer;
The standard Universal Deployer Contract.
0x037f5901deb2b20bf5b2ddb04f6c770a7c5581edd68aa49f199cf74dfaf03c06
Embedded Implementations
UniversalDeployerImpl
External functions
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.