in src/hashwires.rs [405:422]
fn proving_value_chain_nodes(
chains: &[Vec<[u8; 32]>],
mdp_splits: &[Vec<u8>],
proving_value_split: &[u8],
mdp_index: usize,
) -> Vec<GenericArray<u8, ChainNodesSize>> {
proving_value_split
.iter()
.enumerate()
.map(|(i, s)| {
let chain_index = i + chains.len() - proving_value_split.len();
let mdp_split_index = i + mdp_splits[mdp_index].len() - proving_value_split.len();
let result =
chains[chain_index][(mdp_splits[mdp_index][mdp_split_index] - *s) as usize];
GenericArray::clone_from_slice(&result[..])
})
.collect()
}