pub fn withdrawal_proof(_block_root: Node, _index: u32) -> (Withdrawal, Vec<Node>) {
    let withdrawal = Withdrawal {
        index: 26081110,
        validator_index: 795049,
        address: ExecutionAddress::try_from(
            hex!("4bbeae4ca5c6f79a1bc7db315bb6f2c90ebbb4cc").to_vec(),
        )
        .unwrap(),
        amount: 17122745,
    };

    let branch = branch_from_bytes(black_box(
        [
            hex!("cf4999288497e7a3ee17c8251a26ac3ae91bc6b7ac5a2ad42df15807d4aaa99d"),
            hex!("cad0401190b985bede55534962ab9700e57f95d7da447969e842507404427e39"),
            hex!("a98e59035f016b68eabde1d90e7e617dac80b0ec72931f30261e3c53ae9d1999"),
            hex!("10de9d131acb9a2dba0843ce3dc101116d3043f4aa1a3f8f5c0b053d7d9c7d46"),
            hex!("1000000000000000000000000000000000000000000000000000000000000000"),
        ]
        .as_slice(),
    ));

    (withdrawal, branch)
}
Given a block root and index [0, 16), returns the withdrawal and a corresponding SSZ proof.
crates/test-artifacts/programs/ssz-withdrawals/src/beacon/hints.rs