Module Tx_rollup.V

Parameters

module L : Plompiler.LIB

Signature

module Hash : sig ... end
module Plompiler_Curve : sig ... end
module Schnorr : sig ... end
module Merkle : sig ... end
module T : sig ... end
module Encodings : sig ... end
val compression_bound : unit T.Bounded_u.t list -> Z.t
val monadic_compress : unit T.Bounded_u.t list -> L.Num.scalar L.Num.repr L.t
val assert_merkle_proof : T.Merkle.leaf L.repr -> T.Merkle.path -> T.Merkle.root L.repr -> unit L.Bool.repr L.t
val hash_leaf : T.leaf_u -> L.scalar L.repr L.t
val hash_account : T.account_u -> L.Num.scalar L.Num.repr L.t
val assert_tree_proofs : T.account_u -> T.leaf_u -> T.Merkle.path -> T.Merkle.path -> T.Merkle.root L.repr -> unit L.Bool.repr L.t
val coerce : 'a T.Bounded_u.t -> L.scalar L.repr
val check_eq_account : T.account_u -> T.account_u -> unit L.repr L.t
val check_eq_leaf : T.leaf_u -> T.leaf_u -> unit L.repr L.t
val predicate_fees : old_root:Plompiler.Csir.Scalar.t -> old_next_pos:(Z.t * Z.t) -> new_root:Plompiler.Csir.Scalar.t -> new_next_pos:(Z.t * Z.t) -> fees:(Z.t * Z.t) -> Epoxy_tx__Types.P.account_tree_el -> unit L.repr L.t
val hash_op : [< `Create of T.create_u | `Credit of T.credit_u | `Debit of T.debit_u | `Transfer of T.transfer_u ] -> L.scalar L.repr L.t
val expected_op_code : Types.P.tx -> Plompiler.S.t
val get_op_code : Types.P.tx -> Z.t
val predicate_ill_formed : old_root:Plompiler.Csir.Scalar.t -> old_next_pos:(Z.t * Z.t) -> new_root:Plompiler.Csir.Scalar.t -> new_next_pos:(Z.t * Z.t) -> fee:(Z.t * Z.t) -> exit_validity:bool -> rollup_id:bytes -> Types.P.tx -> unit L.Bool.repr L.t
val transfer_circuit : op_code:Plompiler.Csir.Scalar.t -> old_root:T.Merkle.root L.Bool.repr -> old_next_pos:'a -> rollup_id:L.scalar L.repr -> generator:T.Schnorr.Affine.point L.repr -> T.transfer_u -> T.transfer_storage_u -> (T.Merkle.root L.Bool.repr * 'b * Epoxy_tx__Constants.fee T.Bounded_u.t) L.t
val predicate_op : ?public:bool -> old_root:Plompiler.Csir.Scalar.t -> old_next_pos:(Z.t * Z.t) -> new_root:Plompiler.Csir.Scalar.t -> new_next_pos:(Z.t * Z.t) -> fee:(Z.t * Z.t) -> exit_validity:bool -> rollup_id:bytes -> Types.P.tx -> Types.P.tx_storage -> unit L.repr L.t
val predicate_private_batch : old_root:Plompiler.Csir.Scalar.t -> old_next_pos:(Z.t * Z.t) -> new_root:Plompiler.Csir.Scalar.t -> new_next_pos:(Z.t * Z.t) -> fees:(Z.t * Z.t) -> rollup_id:bytes -> Types.P.transfer list -> Types.P.transfer_storage list -> unit L.repr L.t