ezkl python bindings

class ezkl.PyCommitments

Pyclass marking the type of commitment

IPA = PyCommitments.IPA
KZG = PyCommitments.KZG
class ezkl.PyG1

pyclass containing the struct used for G1

x
y
z
class ezkl.PyG1Affine

pyclass containing the struct used for G1

x
y
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
class ezkl.PyTestDataSource
File = PyTestDataSource.File
OnChain = PyTestDataSource.OnChain
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