Vault Factory
Overview
Vault Factory Contract for MORE Vaults is designed to automate the deployment and management of individual vault contracts on any EVM. Each vault can create and manage facets, accept deposits and bundle any number of transactions.
Contract Features
Automated Vault Creation
The factory contract allows for the automated creation of vaults with standardized or custom parameters. Vault creation is completely permissionless.
Function:
createVault
Parameters:
param1
param2
paramN
Returns: Address of the newly created vault contract.
Vault Template
The vault template contains the base logic for:
Depositing and withdrawing assets
Activating and deactivating facets
Accessing each facet's functions
Bundling transactions
Deploying funds directly to facets
Deploying funds through abstractions
Registry and Management
The factory maintains a registry of all deployed vaults for integration with the UI, auditing by third parties and as a reference for integrations and partnerships.
Function:
getVaults
Parameters:
param1
param2
paramN
Returns: Array of addresses representing all the vaults created by the factory.
Vault Upgradability
MORE Vaults are upgradeable smart contracts that may only be upgraded in two specific scenarios:
1) If a security issue is identified, the MORE DAO Security Council must convene and may vote to stop the protocol or upgrade all MORE vaults. In this case of an upgrade, it may be executed before the vote is made public in order to avoid exploits of any security flaws. After the upgrade, the Security Council must publish a public report of their rationale and actions.
2) The MORE DAO has voted to upgrade the protocol through a MORE Improvement Proposal (MIP). These upgrades should entail significant improvements to the protocol's security or improved end user functionality.
Example Vault Creation
Provide a simple code snippet to demonstrate how to interact with the factory contract to create a new vault:
Last updated