ODCutilsvault

GenericVaultFactory

Allows anyone to reliably deploy a new GenericVault contract

deploy

function deploy(bytes) external returns (contract IVault)

Deploys a new Vault contract

This function creates a new Vault instance It MUST emit a VaultCreated event upon successful creation An IVault type object is returned because Vault implementations are specific to each implementation but have to follow the IVault interface

Parameters

NameTypeDescription
bytes

Return Values

NameTypeDescription
[0]contract IVaultIVault The created Vault contract following IVault interface

deployDeterministic

function deployDeterministic(bytes32 salt, bytes) external returns (contract IVault)

Deploys a new Vault contract at a deterministic address

This function creates a new Vault instance at a deterministic address, we recommend using the Create2 opcode It MUST emit a VaultCreated event upon successful creation An IVault type object is returned because Vault implementations are specific to each implementation but have to follow the IVault interface

Parameters

NameTypeDescription
saltbytes32
bytes

Return Values

NameTypeDescription
[0]contract IVaultIVault The created Vault contract following IVault interface

computeVaultAddress

function computeVaultAddress(address deployer, bytes32 salt, bytes) external view returns (address)

Computes the deterministic address of a Vault contract

This function calculates the address where a GenericVault contract will be deployed using the Create2 opcode, given the deployer's address and a salt

Parameters

NameTypeDescription
deployeraddress
saltbytes32
bytes

Return Values

NameTypeDescription
[0]addressaddress The computed deterministic address of the Vault contract

_prepareCreate2Salt

function _prepareCreate2Salt(address deployer, bytes32 salt) internal pure returns (bytes32)

_prepareCreationCode

function _prepareCreationCode(address owner) internal pure returns (bytes)

On this page