Skip to main content

TransparentVaultFactory

TransparentVaultFactory

A factory contract for creating Orion transparent vaults using Beacon Proxy pattern

This contract deploys BeaconProxy instances that point to a shared transparent vault implementation.

config

contract IOrionConfig config

Orion Config contract address

vaultBeacon

contract UpgradeableBeacon vaultBeacon

UpgradeableBeacon for transparent vaults

constructor

constructor() public

Constructor that disables initializers for the implementation contract

initialize

function initialize(address initialOwner, address configAddress, address vaultBeaconAddress) public

Initialize the contract

Parameters

NameTypeDescription
initialOwneraddressThe address of the initial owner
configAddressaddressThe address of the OrionConfig contract
vaultBeaconAddressaddressThe address of the UpgradeableBeacon for vaults

createVault

function createVault(address strategist, string name, string symbol, uint8 feeType, uint16 performanceFee, uint16 managementFee, address depositAccessControl) external returns (address vault)

Creates a new transparent vault

Parameters

NameTypeDescription
strategistaddressThe address of the vault strategist
namestringThe name of the vault
symbolstringThe symbol of the vault
feeTypeuint8The fee type
performanceFeeuint16The performance fee
managementFeeuint16The management fee
depositAccessControladdressThe address of the deposit access control contract (address(0) = permissionless)

Return Values

NameTypeDescription
vaultaddressThe address of the new transparent vault

setVaultBeacon

function setVaultBeacon(address newVaultBeacon) external

Updates the vault beacon address

Parameters

NameTypeDescription
newVaultBeaconaddressThe new UpgradeableBeacon address

_authorizeUpgrade

function _authorizeUpgrade(address newImplementation) internal

Authorizes an upgrade to a new implementation

This function is required by UUPS and can only be called by the owner

Parameters

NameTypeDescription
newImplementationaddressThe address of the new implementation contract