Skip to main content

IVaultRegistry.sol

Methods

beaconAddresses(string)

Solidity

function beaconAddresses(string) external view returns (address)

Parameters

NameTypeDescription
_0stringundefined

Returns

NameTypeDescription
_0addressundefined

beaconTypes(address)

Solidity

function beaconTypes(address) external view returns (string)

Parameters

NameTypeDescription
_0addressundefined

Returns

NameTypeDescription
_0stringundefined

createVault(bytes,uint256,string,address,string)

Solidity

function createVault(bytes _params, uint256 _tokenId, string _beaconName, address _vaultManager, string strategyData) external nonpayable returns (address)
Details

Creates a new vault with the given strategyRegisters an execution bundle, mints an NFT and mappings it to execution bundle and it's details.owner is set as msg.sender.

Parameters

NameTypeDescription
_paramsbytesis extra parameters in vault.
_tokenIduint256is the NFT of the execution bundle this vault will be using.
_beaconNamestringbeacon identifier of vault type to be created
_vaultManageraddressundefined
strategyDatastringundefined

Returns

NameTypeDescription
_0addressundefined

deployAndRegisterBeacon(address,string,string)

Solidity

function deployAndRegisterBeacon(address _address, string _name, string _ipfsConfigForBeacon) external nonpayable returns (address)
Details

Deploy new beacon for a new vault type AND register it

Parameters

NameTypeDescription
_addressaddressThe address of the implementation for the beacon
_namestringThe name of the beacon (identifier)
_ipfsConfigForBeaconstringIPFS hash for the config of this beacon

Returns

NameTypeDescription
_0addressundefined

deregisterBeacon(string)

Solidity

function deregisterBeacon(string _name) external nonpayable
Details

Removes a beacon associated with a vault typeThis will stop the creation of more vaults of the type provided

Parameters

NameTypeDescription
_namestringThe name of the beacon (identifier)

getStrategyCreatorForVault(address)

Solidity

function getStrategyCreatorForVault(address _vault) external view returns (address)
Details

Retrieves the creator of a given vault

Parameters

NameTypeDescription
_vaultaddressThe address of the vault

Returns

NameTypeDescription
_0addressThe address of the creator

getVaultByStrategyAndIndex(uint256,uint256)

Solidity

function getVaultByStrategyAndIndex(uint256 _tokenId, uint256 _vaultId) external view returns (struct IVaultRegistry.VaultData)
Details

Retrieves the vault by vault token id and vault index

Parameters

NameTypeDescription
_tokenIduint256The token id of the vault
_vaultIduint256The index of the vault

Returns

NameTypeDescription
_0IVaultRegistry.VaultDataVault details

getVaultCountByStrategyId(uint256)

Solidity

function getVaultCountByStrategyId(uint256 _tokenId) external view returns (uint256)
Details

Retrieves the vault count by vault token id

Parameters

NameTypeDescription
_tokenIduint256The token id of the vault

Returns

NameTypeDescription
_0uint256The count of the vault

getVaultDetails(address)

Solidity

function getVaultDetails(address _address) external view returns (struct IVaultRegistry.VaultData)
Details

Retrieves the details of a given vault by address

Parameters

NameTypeDescription
_addressaddressThe address of the vault

Returns

NameTypeDescription
_0IVaultRegistry.VaultDataThe details of the vault

initialize(address,address,address)

Solidity

function initialize(address _orchestrator, address _strategyRegistry, address _whitelistRegistry) external nonpayable
Details

intializes the vault registry

Parameters

NameTypeDescription
_orchestratoraddressThe address of the orchestrator
_strategyRegistryaddressThe address of the strategy registry
_whitelistRegistryaddressThe address of the whitelist registry

orchestrator()

Solidity

function orchestrator() external view returns (contract IOrchestrator)

Returns

NameTypeDescription
_0contract IOrchestratorundefined

pause()

Solidity

function pause() external nonpayable
Details

This function is only available to the pauser role

registerBeacon(string,address,string)

Solidity

function registerBeacon(string _name, address _address, string _ipfsConfigForBeacon) external nonpayable
Details

Registers a beacon associated with a new vault type

Parameters

NameTypeDescription
_namestringThe name of the vault type this beacon will be using
_addressaddressThe address of the upgrade beacon
_ipfsConfigForBeaconstringIPFS hash for the config of this beacon

strategyRegistry()

Solidity

function strategyRegistry() external view returns (contract IStrategyRegistry)

Returns

NameTypeDescription
_0contract IStrategyRegistryundefined

totalVaultCount()

Solidity

function totalVaultCount() external view returns (uint256)

Returns

NameTypeDescription
_0uint256undefined

unpause()

Solidity

function unpause() external nonpayable

updateVaultState(address,uint8)

Solidity

function updateVaultState(address _vault, enum IVaultRegistry.VaultState _newState) external nonpayable
Details

Updates the vault state and emits a VaultStateChanged eventThis function is only available to the registry owner

Parameters

NameTypeDescription
_vaultaddressThe address of the vault
_newStateenum IVaultRegistry.VaultStateThe new state of the vault

whitelistRegistry()

Solidity

function whitelistRegistry() external view returns (address)

Returns

NameTypeDescription
_0addressundefined

Events

VaultCreated

Solidity

event VaultCreated(address deployer, address vault, string beaconName, uint256 indexed tokenId, address vaultManager)
Details

Vault creation event

Parameters

NameTypeDescription
deployeraddressThe address of the deployer
vaultaddressThe address of the vault
beaconNamestringundefined
tokenId indexeduint256ERC721 token id for the vault
vaultManageraddressis the address which will manage the vault being created

VaultStateChanged

Solidity

event VaultStateChanged(address indexed vault, enum IVaultRegistry.VaultState newState)
Details

Vault state change event

Parameters

NameTypeDescription
vault indexedaddressThe address of the vault
newStateenum IVaultRegistry.VaultStateThe new state of the vault