Zeth - Zerocash on Ethereum  0.8
Reference implementation of the Zeth protocol by Clearmatics
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
zeth.core.mixer_client.MixParameters Class Reference

Public Member Functions

def __init__ (self, ExtendedProof extended_proof, List[int] public_data, signing.SigningVerificationKey signature_vk, signing.Signature signature, List[bytes] ciphertexts)
 
str to_json (self)
 
Dict[str, Any] to_json_dict (self)
 

Static Public Member Functions

MixParameters from_json (IZKSnarkProvider zksnark, str params_json)
 
MixParameters from_json_dict (IZKSnarkProvider zksnark, Dict[str, Any] json_dict)
 

Public Attributes

 extended_proof
 
 public_data
 
 signature_vk
 
 signature
 
 ciphertexts
 

Detailed Description

All data required to call the mixer, with no further processing required
(except creation of a transaction). This is the result of fully processing
a MixCallDescription, generating appropriate secret data and ZK-proof and
signing the result.

Definition at line 97 of file mixer_client.py.

Constructor & Destructor Documentation

◆ __init__()

def zeth.core.mixer_client.MixParameters.__init__ (   self,
ExtendedProof  extended_proof,
List[int]  public_data,
signing.SigningVerificationKey  signature_vk,
signing.Signature  signature,
List[bytes]  ciphertexts 
)

Definition at line 104 of file mixer_client.py.

104  def __init__(
105  self,
106  extended_proof: ExtendedProof,
107  public_data: List[int],
108  signature_vk: signing.SigningVerificationKey,
109  signature: signing.Signature,
110  ciphertexts: List[bytes]):
111  self.extended_proof = extended_proof
112  self.public_data = public_data
113  self.signature_vk = signature_vk
114  self.signature = signature
115  self.ciphertexts = ciphertexts
116 

Member Function Documentation

◆ from_json()

MixParameters zeth.core.mixer_client.MixParameters.from_json ( IZKSnarkProvider  zksnark,
str  params_json 
)
static

Definition at line 118 of file mixer_client.py.

118  def from_json(zksnark: IZKSnarkProvider, params_json: str) -> MixParameters:
119  return MixParameters.from_json_dict(zksnark, json.loads(params_json))
120 

◆ from_json_dict()

MixParameters zeth.core.mixer_client.MixParameters.from_json_dict ( IZKSnarkProvider  zksnark,
Dict[str, Any]  json_dict 
)
static

Definition at line 141 of file mixer_client.py.

141  def from_json_dict(
142  zksnark: IZKSnarkProvider,
143  json_dict: Dict[str, Any]) -> MixParameters:
144  ext_proof = ExtendedProof.from_json_dict(
145  zksnark, json_dict["extended_proof"])
146  public_data = [int(x, 16) for x in json_dict["public_data"]]
147  signature_pk_param = [int(x) for x in json_dict["signature_vk"]]
148  signature_pk = signing.verification_key_from_mix_parameter(
149  signature_pk_param)
150  signature = signing.signature_from_mix_parameter(
151  int(json_dict["signature"]))
152  ciphertexts = [bytes.fromhex(x) for x in json_dict["ciphertexts"]]
153  return MixParameters(
154  ext_proof, public_data, signature_pk, signature, ciphertexts)
155 
156 

◆ to_json()

str zeth.core.mixer_client.MixParameters.to_json (   self)

Definition at line 121 of file mixer_client.py.

121  def to_json(self) -> str:
122  return json.dumps(self.to_json_dict())
123 
Here is the call graph for this function:

◆ to_json_dict()

Dict[str, Any] zeth.core.mixer_client.MixParameters.to_json_dict (   self)

Definition at line 124 of file mixer_client.py.

124  def to_json_dict(self) -> Dict[str, Any]:
125  ext_proof_json = self.extended_proof.to_json_dict()
126  public_data = [hex(x) for x in self.public_data]
127  signature_vk_json = [
128  str(x) for x in
129  signing.verification_key_as_mix_parameter(self.signature_vk)]
130  signature_json = str(signing.signature_as_mix_parameter(self.signature))
131  ciphertexts_json = [x.hex() for x in self.ciphertexts]
132  return {
133  "extended_proof": ext_proof_json,
134  "public_data": public_data,
135  "signature_vk": signature_vk_json,
136  "signature": signature_json,
137  "ciphertexts": ciphertexts_json,
138  }
139 
Here is the caller graph for this function:

Member Data Documentation

◆ ciphertexts

zeth.core.mixer_client.MixParameters.ciphertexts

Definition at line 109 of file mixer_client.py.

◆ extended_proof

zeth.core.mixer_client.MixParameters.extended_proof

Definition at line 105 of file mixer_client.py.

◆ public_data

zeth.core.mixer_client.MixParameters.public_data

Definition at line 106 of file mixer_client.py.

◆ signature

zeth.core.mixer_client.MixParameters.signature

Definition at line 108 of file mixer_client.py.

◆ signature_vk

zeth.core.mixer_client.MixParameters.signature_vk

Definition at line 107 of file mixer_client.py.


The documentation for this class was generated from the following file:
test_commands.mock.str
str
Definition: mock.py:18
zeth.cli.zeth_deploy.int
int
Definition: zeth_deploy.py:27