The Version contract is a singleton contract for all funds deployed under a specific watermelon protocol version. All Factory contracts are exclusive to the Version contract and cannot be changed once set.
The Version contract inherits from FundFactory and is the single, exclusive FundFactory contract for a specific watermelon Protocol version. The Version contract is the contract creator for all funds of the specific watermelon Protocol version.
FundFactory, DSAuth, VersionInterface (link)
The following contract addresses are provided as parameters:
address _accountingFactory - The address of the AccountingFactory contract.
address _feeManagerFactory - The address of the FeeManagerFactory contract.
address _participationFactory - The address of the ParticipationFactory contract.
address _sharesFactory - The address of the SharesFactory contract.
address _tradingFactory - The address of the TradingFactory contract.
address _vaultFactory - The address of the VaultFactory contract.
address _policyManagerFactory - The address of the PolicyManagerFactory contract.
address _registry - The address of the Registry contract.
address _postDeployOwner - The address of the contract owner.
These address parameters set the corresponding state variables as defined in the inherited definition of
FundFactory. The constructor then directly sets the
registry state variable with the address of the registry contract and calls the
setOwner() function passing the address of the current contract.
The Version contract assumes the Governance contract is the deployer.
Public State Variables
function shutDownFund(address _hub) external
This external function first requires that
msg.sender is the manager for the specified
_hub. The function then calls the target fund’s