# Adding EL-initiated consolidations to EIP-7002 machinery EIP-7251 adds a notion of "consolidation" so that two 32 ETH validators can combine into a single validator with higher balance. See EIP-7251 for further details and motivation. The EIP currently specifies in-protocol consolidation as a consensus-layer operation, and after talking to various staking pools on mainnet, it has become clear that offering this same functionality from the execution layer is desirable. A direct way to do this is to extend EIP-7002 with a consolidation operation, just like the exit and withdrawal functionality it currently supports. From EIP-7251, the consensus layer operation looks like this: ```python= class Consolidation(Container): source_index: ValidatorIndex target_index: ValidatorIndex epoch: Epoch ``` To support this message via EIP-7002, the EIP-7002 message type would need to be extended. The current message type looks like this: ```python= RLP([ source_address, validator_pubkey, amount ]) ``` where `source_address` is the sender on the EL, `validator_pubkey` is the public key of the validator the message intends to effect, and the `amount` is the amount of ETH to exit or withdraw. Note, withdrawing the full balance of a validator is interpreted as an exit. To support consolidations, one possible implementation extends the message type: ```python= RLP([ operation_byte, operation_parameters ]) ``` where a byte prefix `operation_byte` is used to disambiguate the following data `operation_parameters`. If `operation_byte == 0x00`, `operation_parameters` are `[source_address, validator_pubkey, amount]`. If `operation_byte == 0x01`, `operation_parameters` are `[source_address, source_pubkey, destination_pubkey]` to match the parameters of the CL `Consolidation` operation. If we go this route, we would need to update the EIP-7002 predeploy to accomodate this additional flexibility and also consider the rate-limiting strategy, as we may want different rate limits for one operation type other another. The simplest way to handle is to keep the status quo and have the 1559-style mechanism apply to any operation type, regardless of its identity.