pub fn generate_proof( depth: usize, identity: &Identity, ext_nullifier_hash: Field, signal_hash: Field, ) -> Result<Proof, ProofError>