Skip to main content

IDiamondCut

IDiamondCut

FacetCutAction

enum FacetCutAction {
Add,
Replace,
Remove
}

FacetCut

struct FacetCut {
address facetAddress;
enum IDiamondCut.FacetCutAction action;
bytes4[] functionSelectors;
}

diamondCut

function diamondCut(struct IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata) external

Add/replace/remove any number of functions and optionally execute a function with delegatecall

Parameters

NameTypeDescription
_diamondCutstruct IDiamondCut.FacetCut[]Contains the facet addresses and function selectors
_initaddressThe address of the contract or facet to execute _calldata
_calldatabytesA function call, including function selector and arguments _calldata is executed with delegatecall on _init

DiamondCut

event DiamondCut(struct IDiamondCut.FacetCut[] _diamondCut, address _init, bytes _calldata)