Appearance
Solidity API
IDiamondCut
Interface for diamond cut functionality in EIP-2535 Diamonds
Defines the structure and function for modifying a diamond's facets
FacetCutAction
Enum representing the possible actions for a facet cut
Add=0, Replace=1, Remove=2
solidity
enum FacetCutAction {
Add,
Replace,
Remove
}FacetCut
Struct representing a single facet modification
Used to specify the details of a facet to be added, replaced, or removed
solidity
struct FacetCut {
address facetAddress;
enum IDiamondCut.FacetCutAction action;
bytes4[] functionSelectors;
}diamondCut
solidity
function diamondCut(struct IDiamondCut.FacetCut[] _diamondCut, struct IPropsInitCall.InitCall[] _initCalls) externalModifies the diamond's facets and optionally executes initialization functions
This function can add, replace, or remove any number of functions from the diamond
Parameters
| Name | Type | Description |
|---|---|---|
| _diamondCut | struct IDiamondCut.FacetCut[] | An array of FacetCut structs containing the facet modifications |
| _initCalls | struct IPropsInitCall.InitCall[] | An array of initialization calls to be executed after the diamond cut |
DiamondCut
solidity
event DiamondCut(struct IDiamondCut.FacetCut[] _diamondCut, struct IPropsInitCall.InitCall[] _initCalls)Event emitted when a diamond cut is performed
Parameters
| Name | Type | Description |
|---|---|---|
| _diamondCut | struct IDiamondCut.FacetCut[] | The array of FacetCut structs containing the facet modifications |
| _initCalls | struct IPropsInitCall.InitCall[] | The array of initialization calls executed after the diamond cut |