The contract allows anyone to create new Aspis Vaults.
The vault configuration parameters.
struct AspisPoolConfig {
uint256[16] poolConfig;
string name;
string symbol;
}
function newERC20AspisPoolDAO(
AspisPoolConfig calldata _aspisPoolConfig,
uint64[4] calldata _voteConfig,
address[][4] calldata _addressArrays
) external returns(AspisPool _pool, AspisERC20Voting _voting, AspisGovernanceERC20 _token, AspisConfiguration _configuration)
Users can call this function to create a vault with specific parameters:
_aspisPoolConfig: Vault configuration._voteConfig: Governance settings like voting duration, quorum percentage, etc._addressArrays: Addresses of trusted protocols, and supported trading/deposit tokens.The function deploys an ERC1967 proxy of daoBase and initializes it with the given parameters. It also deploys an ERC1967 proxy of the AspisConfiguration contract for the new vault, along with an ERC20 governance (LP) token.