ezkl python bindings
- class ezkl.PyCommitments
Pyclass marking the type of commitment
- IPA = PyCommitments.IPA
- KZG = PyCommitments.KZG
- class ezkl.PyRunArgs
pyclass containing the struct used for run_args
- check_mode
- commitment
- div_rebasing
- input_scale
- input_visibility
- logrows
- lookup_range
- num_inner_cols
- output_visibility
- param_scale
- param_visibility
- rebase_frac_zero_constants
- scale_rebase_multiplier
- tolerance
- variables
- ezkl.aggregate(aggregation_snarks=Ellipsis, proof_path=Ellipsis, vk_path=Ellipsis, transcript=Ellipsis, logrows=Ellipsis, check_mode=Ellipsis, split_proofs=False, srs_path=None, commitment=Ellipsis)
creates an aggregated proof
- ezkl.buffer_to_felts(buffer)
Converts a buffer to vector of field elements
- ezkl.calibrate_settings(data=Ellipsis, model=Ellipsis, settings=Ellipsis, target=Ellipsis, lookup_safety_margin=Ellipsis, scales=None, scale_rebase_multiplier=Ellipsis, max_logrows=None, only_range_check_rebase=Ellipsis)
calibrates the circuit settings
- ezkl.compile_circuit(model=Ellipsis, compiled_circuit=Ellipsis, settings_path=Ellipsis)
- ezkl.create_evm_data_attestation(input_data=Ellipsis, settings_path=Ellipsis, sol_code_path=Ellipsis, abi_path=Ellipsis)
- ezkl.create_evm_verifier(vk_path=Ellipsis, settings_path=Ellipsis, sol_code_path=Ellipsis, abi_path=Ellipsis, srs_path=None, render_vk_seperately=Ellipsis)
creates an EVM compatible verifier, you will need solc installed in your environment to run this
- ezkl.create_evm_verifier_aggr(aggregation_settings=Ellipsis, vk_path=Ellipsis, sol_code_path=Ellipsis, abi_path=Ellipsis, logrows=Ellipsis, srs_path=None, render_vk_seperately=Ellipsis)
creates an evm compatible aggregate verifier, you will need solc installed in your environment to run this
- ezkl.deploy_da_evm(addr_path, input_data, settings_path=Ellipsis, sol_code_path=Ellipsis, rpc_url=None, optimizer_runs=Ellipsis, private_key=None)
- ezkl.deploy_evm(addr_path, sol_code_path=Ellipsis, rpc_url=None, optimizer_runs=Ellipsis, private_key=None)
- ezkl.deploy_vk_evm(addr_path, sol_code_path=Ellipsis, rpc_url=None, optimizer_runs=Ellipsis, private_key=None)
- ezkl.felt_to_big_endian(felt)
Converts a felt to big endian
- ezkl.felt_to_float(array, scale)
Converts a field eleement hex string to a floating point number
- ezkl.felt_to_int(array)
Converts a field element hex string to an integer
- ezkl.float_to_felt(input, scale)
Converts a floating point element to a field element hex string
- ezkl.gen_settings(model=Ellipsis, output=Ellipsis, py_run_args=None)
generates the circuit settings
- ezkl.gen_srs(srs_path, logrows)
generates the srs
- ezkl.gen_vk_from_pk_aggr(path_to_pk=Ellipsis, vk_output_path=Ellipsis)
Generates a vk from a pk for an aggregate circuit and saves it to a file
- ezkl.gen_vk_from_pk_single(path_to_pk=Ellipsis, circuit_settings_path=Ellipsis, vk_output_path=Ellipsis)
Generates a vk from a pk for a model circuit and saves it to a file
- ezkl.gen_witness(data=Ellipsis, model=Ellipsis, output=Ellipsis, vk_path=None, srs_path=None)
runs the forward pass operation
- ezkl.get_srs(settings_path=Ellipsis, logrows=None, srs_path=None, commitment=None)
gets a public srs
- ezkl.ipa_commit(message, vk_path=Ellipsis, settings_path=Ellipsis, srs_path=None)
Generate an ipa commitment.
- ezkl.kzg_commit(message, vk_path=Ellipsis, settings_path=Ellipsis, srs_path=None)
Generate a kzg commitment.
- ezkl.mock(witness=Ellipsis, model=Ellipsis)
mocks the prover
- ezkl.mock_aggregate(aggregation_snarks=Ellipsis, logrows=Ellipsis, split_proofs=False)
mocks the aggregate prover
- ezkl.poseidon_hash(message)
Generate a poseidon hash.
- ezkl.prove(witness=Ellipsis, model=Ellipsis, pk_path=Ellipsis, proof_path=None, proof_type=Ellipsis, srs_path=None)
runs the prover on a set of inputs
- ezkl.setup(model=Ellipsis, vk_path=Ellipsis, pk_path=Ellipsis, srs_path=None, witness_path=None, disable_selector_compression=Ellipsis)
runs the prover on a set of inputs
- ezkl.setup_aggregate(sample_snarks=Ellipsis, vk_path=Ellipsis, pk_path=Ellipsis, logrows=Ellipsis, split_proofs=False, srs_path=None, disable_selector_compression=Ellipsis, commitment=Ellipsis)
- ezkl.setup_test_evm_witness(data_path, compiled_circuit_path, test_data, input_source, output_source, rpc_url=None)
- ezkl.swap_proof_commitments(proof_path=Ellipsis, witness_path=Ellipsis)
Swap the commitments in a proof
- ezkl.table(model=Ellipsis, py_run_args=None)
Displays the table as a string in python
- ezkl.verify(proof_path=Ellipsis, settings_path=Ellipsis, vk_path=Ellipsis, srs_path=None, non_reduced_srs=Ellipsis)
verifies a given proof
- ezkl.verify_aggr(proof_path=Ellipsis, vk_path=Ellipsis, logrows=Ellipsis, commitment=Ellipsis, reduced_srs=Ellipsis, srs_path=None)
verifies and aggregate proof
- ezkl.verify_evm(addr_verifier, proof_path=Ellipsis, rpc_url=None, addr_da=None, addr_vk=None)
verifies an evm compatible proof, you will need solc installed in your environment to run this