Zecale - Reconciling Privacy and Scalability on Smart-Contract Chains  0.5
Reference implementation of the Zecale protocol by Clearmatics
nested_transaction.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.zksnark import ExtendedProof, IZKSnarkProvider
7 from typing import Dict, Any, cast
8 
9 
11  """
12  A transaction to be batched into an AggregatedTransaction
13  """
14  def __init__(
15  self,
16  app_name: str,
17  ext_proof: ExtendedProof,
18  parameters: bytes,
19  fee_in_wei: int):
20  self.app_name = app_name
21  self.ext_proof = ext_proof
22  self.parameters = parameters
23  self.fee_in_wei = fee_in_wei
24 
25  def to_json_dict(self) -> Dict[str, Any]:
26  return {
27  "app_name": self.app_name,
28  "extended_proof": self.ext_proof.to_json_dict(),
29  "parameters": self.parameters.hex(),
30  "fee_in_wei": self.fee_in_wei
31  }
32 
33  @staticmethod
35  zksnark: IZKSnarkProvider,
36  json_dict: Dict[str, Any]) -> NestedTransaction:
37  app_name = json_dict["app_name"]
38  ext_proof = ExtendedProof.from_json_dict(
39  zksnark, cast(Dict[str, Any], json_dict["extended_proof"]))
40  parameters = bytes.fromhex(json_dict["parameters"])
41  fee_in_wei = json_dict["fee_in_wei"]
42 
43  return NestedTransaction(app_name, ext_proof, parameters, fee_in_wei)
zecale.core.nested_transaction.NestedTransaction.__init__
def __init__(self, str app_name, ExtendedProof ext_proof, bytes parameters, int fee_in_wei)
Definition: nested_transaction.py:14
zecale.core.nested_transaction.NestedTransaction.ext_proof
ext_proof
Definition: nested_transaction.py:16
zecale.core.nested_transaction.NestedTransaction.parameters
parameters
Definition: nested_transaction.py:17
zecale.core.nested_transaction.NestedTransaction.from_json_dict
NestedTransaction from_json_dict(IZKSnarkProvider zksnark, Dict[str, Any] json_dict)
Definition: nested_transaction.py:34
zecale.core.nested_transaction.NestedTransaction.fee_in_wei
fee_in_wei
Definition: nested_transaction.py:18
zecale.core.nested_transaction.NestedTransaction
Definition: nested_transaction.py:10
zecale.core.nested_transaction.NestedTransaction.app_name
app_name
Definition: nested_transaction.py:15
zecale.core.nested_transaction.NestedTransaction.to_json_dict
Dict[str, Any] to_json_dict(self)
Definition: nested_transaction.py:25