Skip to main content

IDiamondCut.sol

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)