diff --git a/EIPS/eip-2535.md b/EIPS/eip-2535.md index a97354e49bfeb8..cfcb5a8d2931b0 100644 --- a/EIPS/eip-2535.md +++ b/EIPS/eip-2535.md @@ -313,11 +313,11 @@ The `diamondCut` function does nothing if a supplied function selector is alread After adding/replacing/removing functions the `_calldata` argument is executed with `delegatecall` on `_init`. This execution is done to initialize data or setup or remove anything needed or no longer needed after adding, replacing and/or removing functions. -If the `_init` value is `address(0)` then `_calldata` is executed with `delegatecall` on the diamond itself. +If the `_init` value is `address(0)` then `_calldata` must contain 0 bytes or the transaction reverts. -If `_init` is `address(0)` and `_calldata` contains 0 bytes then `_calldata` execution is skipped. `_calldata` is not executed and the `diamondCut` call can complete successfully. +If the `_init` value is not `address(0)` then `_calldata` must contain more than 0 bytes or the transaction reverts. -If `_init` is not `address(0)` and `_calldata` contains 0 bytes then it is an error and `diamondCut` reverts. +If `_init` is `address(0)` and `_calldata` contains 0 bytes then `_calldata` execution is skipped. `_calldata` is not executed and the `diamondCut` call can complete successfully. #### DiamondCut Event