Author: PoolTogether Inc. & G9 Software Inc.
Factory contract for deploying new vaults using a standard underlying ERC4626 yield vault.
List of all vaults deployed by this factory.
Vault public allVaults;
Mapping to verify if a Vault has been deployed via this factory.
Vault address => boolean
mapping(address => bool) public deployedVaults;
Mapping to store deployer nonces for CREATE2
mapping(address => uint256) public deployerNonces;
Deploy a new vault
claimer can be set to address zero if none is available yet.
string memory _name,
string memory _symbol,
) external returns (address);
|Address of the underlying asset used by the vault
|Name of the ERC20 share minted by the vault
|Symbol of the ERC20 share minted by the vault
|Address of the ERC4626 vault in which assets are deposited to generate yield
|Address of the PrizePool that computes prizes
|Address of the claimer
|Address of the yield fee recipient
|Yield fee percentage
|Address that will gain ownership of this contract
|address Address of the newly deployed Vault
Total number of vaults deployed by this factory.
function totalVaults() external view returns (uint256);
|uint256 Number of vaults deployed by this factory.
Emitted when a new Vault has been deployed by this factory.
event NewFactoryVault(Vault indexed vault, VaultFactoryV2 indexed vaultFactory);