Zecale - Reconciling Privacy and Scalability on Smart-Contract Chains  0.5
Reference implementation of the Zecale protocol by Clearmatics
aggregator_config.py
Go to the documentation of this file.
1 # Copyright (c) 2015-2022 Clearmatics Technologies Ltd
2 #
3 # SPDX-License-Identifier: LGPL-3.0+
4 
5 from __future__ import annotations
6 from zeth.core.pairing import PairingParameters
7 from zeth.core.zksnark import get_zksnark_provider
8 from typing import Dict, Any, cast
9 
10 
12  """
13  The configuration (snarks and pairing parameters) to be used for
14  aggregation.
15  """
16  def __init__(
17  self,
18  nested_snark_name: str,
19  wrapper_snark_name: str,
20  nested_pairing_parameters: PairingParameters,
21  wrapper_pairing_parameters: PairingParameters):
22  self.nested_snark_name = nested_snark_name
23  self.wrapper_snark_name = wrapper_snark_name
24  self.nested_snark = get_zksnark_provider(nested_snark_name)
25  self.wrapper_snark = get_zksnark_provider(wrapper_snark_name)
26  self.nested_pairing_parameters = nested_pairing_parameters
27  self.wrapper_pairing_parameters = wrapper_pairing_parameters
28 
29  def to_json_dict(self) -> Dict[str, Any]:
30  return {
31  "nested_snark_name": self.nested_snark_name,
32  "wrapper_snark_name": self.wrapper_snark_name,
33  "nested_pairing_parameters":
35  "wrapper_pairing_parameters":
37  }
38 
39  @staticmethod
40  def from_json_dict(json_dict: Dict[str, Any]) -> AggregatorConfiguration:
42  nested_snark_name=cast(str, json_dict["nested_snark_name"]),
43  wrapper_snark_name=cast(str, json_dict["wrapper_snark_name"]),
44  nested_pairing_parameters=PairingParameters.from_json_dict(
45  json_dict["nested_pairing_parameters"]),
46  wrapper_pairing_parameters=PairingParameters.from_json_dict(
47  json_dict["wrapper_pairing_parameters"]))
zecale.core.aggregator_config.AggregatorConfiguration.wrapper_snark
wrapper_snark
Definition: aggregator_config.py:20
zecale.core.aggregator_config.AggregatorConfiguration.nested_pairing_parameters
nested_pairing_parameters
Definition: aggregator_config.py:21
zecale.core.aggregator_config.AggregatorConfiguration.nested_snark_name
nested_snark_name
Definition: aggregator_config.py:17
zecale.core.aggregator_config.AggregatorConfiguration.to_json_dict
Dict[str, Any] to_json_dict(self)
Definition: aggregator_config.py:29
zecale.core.aggregator_config.AggregatorConfiguration.wrapper_snark_name
wrapper_snark_name
Definition: aggregator_config.py:18
zecale.core.aggregator_config.AggregatorConfiguration.from_json_dict
AggregatorConfiguration from_json_dict(Dict[str, Any] json_dict)
Definition: aggregator_config.py:40
zecale.core.aggregator_config.AggregatorConfiguration.nested_snark
nested_snark
Definition: aggregator_config.py:19
zecale.core.aggregator_config.AggregatorConfiguration.wrapper_pairing_parameters
wrapper_pairing_parameters
Definition: aggregator_config.py:22
zecale.core.aggregator_config.AggregatorConfiguration
Definition: aggregator_config.py:11
zecale.core.aggregator_config.AggregatorConfiguration.__init__
def __init__(self, str nested_snark_name, str wrapper_snark_name, PairingParameters nested_pairing_parameters, PairingParameters wrapper_pairing_parameters)
Definition: aggregator_config.py:16