Universal Deployer

Reference of the Universal Deployer Contract (UDC) interface and preset.

Core

IUniversalDeployer

use openzeppelin_utils::interfaces::IUniversalDeployer;

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.

0x1b2df6d8861670d4a8ca4670433b2418d78169c2947f46dc614e69f333745c8

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.