protocol.global_info#

GlobalInfo parser for pilout.globalInfo.json configuration.

Classes#

GlobalInfo

Global configuration from pilout.globalInfo.json.

Module Contents#

class protocol.global_info.GlobalInfo[source]#

Global configuration from pilout.globalInfo.json.

Matches C++ GlobalInfo struct from common/src/global_info.rs

Fields:

name: Build name (e.g., “build”) curve: Curve type (“None”, “BN128”, “BLS12-381”) lattice_size: Size for lattice expansion (368 for CurveType::None) n_publics: Number of public inputs num_challenges: Challenge counts per stage transcript_arity: Poseidon2 transcript arity (typically 4)

name: str[source]#
curve: str[source]#
lattice_size: int[source]#
n_publics: int[source]#
num_challenges: list[int][source]#
transcript_arity: int[source]#
air_groups: list[str] | None = None[source]#
airs: list[list[Any]] | None = None[source]#
agg_types: list[list[Any]] | None = None[source]#
publics_map: list[Any] | None = [][source]#
proof_values_map: list[Any] | None = [][source]#
classmethod from_json(path: str) GlobalInfo[source]#

Load from pilout.globalInfo.json file.

Example JSON structure: {

“name”: “build”, “curve”: “None”, “latticeSize”: 368, “nPublics”: 0, “numChallenges”: [0, 2], “transcriptArity”: 4, “air_groups”: [“Simple”], “publicsMap”: [], “proofValuesMap”: []

}

classmethod default() GlobalInfo[source]#

Create default GlobalInfo for tests without globalInfo.json.

Uses latticeSize=368 which is standard for CurveType::None.