DocumentRegistryDeploymentFacet
Inherits: FactoryBase
Deployment facet for DocumentRegistry diamonds
Handles the deployment logic for new DocumentRegistry instances
Functions
constructor
constructor(address _facetRegistry, address _globalAccessManager) FactoryBase(_facetRegistry, _globalAccessManager);
deployDiamond
Deploy a new DocumentRegistry diamond (global registry)
function deployDiamond(IDiamond.FacetCut[] memory facetCuts, bytes memory constructorArgs, bytes32 salt)
external
override
returns (address registry);
Parameters
facetCuts
IDiamond.FacetCut[]
Array of facet cuts to install
constructorArgs
bytes
ABI-encoded constructor arguments
salt
bytes32
Salt for CREATE2 deployment
Returns
registry
address
Address of the deployed DocumentRegistry
deployDocumentRegistryForEntity
Deploy a new DocumentRegistry diamond for a specific entity
function deployDocumentRegistryForEntity(
IDiamond.FacetCut[] memory facetCuts,
address entity,
address identityAccessManager,
string memory registryName,
bytes32 salt
) external returns (address registry);
Parameters
facetCuts
IDiamond.FacetCut[]
Array of facet cuts to install
entity
address
Address of the entity who will own this registry
identityAccessManager
address
Address of the entity's access manager
registryName
string
Name for the registry
salt
bytes32
Salt for CREATE2 deployment
Returns
registry
address
Address of the deployed DocumentRegistry
_deployDocumentRegistry
Internal function to deploy DocumentRegistry diamond
function _deployDocumentRegistry(
IDiamond.FacetCut[] memory facetCuts,
address globalAccessManager,
string memory registryName,
bool isGlobal,
address entity,
address accessManager,
bytes32 salt
) internal returns (address registry);
_getInitializationFacet
Get the initialization facet address from facet cuts
function _getInitializationFacet(IDiamond.FacetCut[] memory facetCuts) internal pure returns (address);
Events
DocumentRegistryDeployed
event DocumentRegistryDeployed(
address indexed registry, address indexed deployer, bool isGlobal, string registryName, address accessManager
);
Last updated
Was this helpful?