Skip to content

Feature: Include unique id with withdrawal verification -- urgently needed for projects that process many withdrawals #471

@youfoundron

Description

@youfoundron

User story
As an EigenPod contract owner I want the events PartialWithdrawalRedeemed & FullWithdrawalRedeemed to include a uint256 withdrawalIndex (this is a unique id that marks the position of a withdrawal within beacon chain history), so that I may parse through event logs and know which withdrawals have already been redeemed for a pod.

The WithdrawalIndex has been in-spec since Capella

I propose modifying the event interfaces on IEigenPod.sol like so:

    /// @notice Emitted when an ETH validator is prove to have withdrawn from the beacon chain
    event FullWithdrawalRedeemed(
        uint40 validatorIndex,
        uint64 withdrawalTimestamp,
        address indexed recipient,
        uint64 withdrawalAmountGwei,
        uint256 indexed withdrawalIndex // new log
    );

    /// @notice Emitted when a partial withdrawal claim is successfully redeemed
    event PartialWithdrawalRedeemed(
        uint40 validatorIndex,
        uint64 withdrawalTimestamp,
        address indexed recipient,
        uint64 partialWithdrawalAmountGwei,
        uint256 indexed withdrawalIndex // new log
    );

Actions

  • Modify IEigenPod.sol event interfaces PartialWithdrawalRedeemed & FullWithdrawalRedeemed to include withdrawalIndex
  • Update BeaconChainProofs.sol with the capability to parse the withdrawalIndex value from submitted withdrawal proofs
  • Update EigenPod.sol to pass the withdrawalIndex when emitting the relevant events

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions