Version

General

The Version contract is a singleton contract for all funds deployed under a specific Melon protocol version. All Factory contracts are exclusive to the Version contract and cannot be changed once set.

 

Version.sol

Description

The Version contract inherits from FundFactory and is the single, exclusive FundFactory contract for a specific Melon Protocol version. The Version contract is the contract creator for all funds of the specific Melon Protocol version.

Inherits from

FundFactory, DSAuth, VersionInterface (link)

 

On Construction

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.

 

Structs

None.

 

Enums

None.

 

Modifiers

None.

 

Events

None.

 

Public State Variables

None.

 

Public Functions

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 shutDownFund() function.