FundFactoryStorage
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?