def _invoke_groth16_bls12_377_verify(vk: Groth16.VerificationKey, proof: Groth16.Proof, inputs: List[str]) -> bool: vk_evm = Groth16.verification_key_to_contract_parameters( vk, BLS12_377_PAIRING) proof_evm = Groth16.proof_to_contract_parameters( proof, BLS12_377_PAIRING) inputs_evm = hex_list_to_uint256_list(inputs) return CONTRACT_INSTANCE.functions.testVerify(vk_evm, proof_evm, inputs_evm).call()
def test_alt_bn128_groth16_verification_key_parameters(self) -> None: vk = VERIFICATION_KEY_ALT_BN128_GROTH16 vk_parameters_expect = VERIFICATION_KEY_ALT_BN128_GROTH16_PARAMETERS vk_parameters = Groth16.verification_key_to_contract_parameters( vk, ALT_BN128_PAIRING) self.assertEqual(vk_parameters_expect, vk_parameters)
def test_bls12_377_groth16_verification_key_parameters(self) -> None: vk = VERIFICATION_KEY_BLS12_377_GROTH16 vk_parameters_expect = VERIFICATION_KEY_BLS12_377_GROTH16_PARAMETERS vk_parameters = Groth16.verification_key_to_contract_parameters( vk, BLS12_377_PAIRING) self.assertEqual(vk_parameters_expect, vk_parameters)