pub fn process_proof<Chain: BlockchainInterface>(
    udata: &UData,
    transactions: &[Transaction],
    chain: &Chain
) -> Result<(Proof, Vec<Hash>, HashMap<OutPoint, TxOut>), Chain::Error>