Mavryk_raw_protocol_alpha.Zk_rollup_operation_repr
The price
of an L2 operation represents the net ticket transfer from L1 to L2 that it will produce. id
is a ticket hash used as a ticket identifier and amount
is positive if the operation transfers tickets from L1 to L2, negative if it does so from L2 to L1, and zero when no transfer is done between layers.
type t = {
op_code : int;
price : price;
l1_dst : Mavryk_protocol_environment_alpha.Signature.Public_key_hash.t;
rollup_id : Zk_rollup_repr.t;
payload : Zk_rollup_scalar.t array;
}
A ZK rollup L2 operation has two parts: a transparent header and an opaque payload. The header is made up by:
op_code
in the range [0, nb_ops)price
of this L2 operationl1_dst
is the public key hash of the implicit account that will be credited with the withdrawal generated by this operation, if anyrollup_id
is the address of the rollup this operation targetsThis type represents the L1's view of L2 operations. It's important to remember that this is only used for public operations, as the protocol isn't aware of private ones.
val encoding : t Mavryk_protocol_environment_alpha.Data_encoding.t
val to_scalar_array : t -> Zk_rollup_scalar.t array
Special encoding needed to feed L2 operations to the Plonk verifier