FundFactoryStorage

Git Source

Simplified storage layout for FundFactory diamond using unified FacetRegistry

Registry functionality moved to unified FacetRegistry - this only tracks deployments

State Variables

FUND_FACTORY_STORAGE_POSITION

bytes32 constant FUND_FACTORY_STORAGE_POSITION = keccak256("capsign.storage.fund_factory");

Functions

layout

function layout() internal pure returns (Layout storage l);

addFund

function addFund(address fundAddress, string memory name, string memory symbol, address entity, string memory fundType)
    internal;

getFundInfo

function getFundInfo(address fundAddress) internal view returns (FundInfo memory);

getFundsByType

function getFundsByType(string memory fundType) internal view returns (address[] memory);

getFundCountByType

function getFundCountByType(string memory fundType) internal view returns (uint256);

Structs

FundInfo

struct FundInfo {
    string name;
    string symbol;
    address entity;
    uint256 deployedAt;
    IUniversalFund.FundStatus status;
    string fundType;
}

GovernanceConfig

struct GovernanceConfig {
    uint256 votingDelay;
    uint256 votingPeriod;
    uint256 proposalThreshold;
    uint256 quorumNumerator;
    uint256 timelockDelay;
    address guardian;
}

Layout

struct Layout {
    mapping(address => FundInfo) fundInfo;
    mapping(address => address) fundGovernance;
    mapping(address => address) fundTimelock;
    mapping(address => GovernanceConfig) governanceConfigs;
    mapping(string => address[]) fundsByType;
    mapping(string => uint256) fundCountsByType;
    address capitalAccountsImplementation;
    address distributionEngineImplementation;
    address fundUnitImplementation;
    address governanceImplementation;
    address timelockImplementation;
    address diamondFactory;
    bool initialized;
    uint256 version;
    uint256[50] __gap;
}

Last updated

Was this helpful?