Mavryk_001_PtAtLas_test_helpers.Sc_rollup_helpersmodule Arith_pvm = Mavryk_smart_rollup_001_PtAtLas.Pvm_in_memory.Arithmodule Wasm_pvm = Mavryk_smart_rollup_001_PtAtLas.Pvm_in_memory.Wasmmodule Make_in_memory_context (Context : sig ... end) : sig ... endmodule Wrong_in_memory_context : sig ... endval genesis_commitment :
boot_sector:string ->
origination_level:Mavryk_raw_protocol_001_PtAtLas__Alpha_context.Raw_level.t ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Kind.t ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Commitment.t
Lwt.tval genesis_commitment_raw :
boot_sector:string ->
origination_level:
Mavryk_protocol_001_PtAtLas.Protocol.Raw_level_repr.raw_level ->
Mavryk_protocol_001_PtAtLas.Protocol.Sc_rollups.Kind.t ->
Mavryk_protocol_001_PtAtLas.Protocol.Sc_rollup_commitment_repr.t Lwt.tAlpha_context.val make_external_inbox_message :
string ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Inbox_message.serializedval make_input :
?inbox_level:
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
?message_counter:Mavryk_protocol_environment_001_PtAtLas.Z.t ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Inbox_message.serialized ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.inputval make_external_input :
?inbox_level:
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
?message_counter:Mavryk_protocol_environment_001_PtAtLas.Z.t ->
string ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.inputval make_eol :
inbox_level:
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
message_counter:Mavryk_protocol_environment_001_PtAtLas.Z.t ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.inputval make_info_per_level :
inbox_level:
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
predecessor_timestamp:Mavryk_protocol_environment_001_PtAtLas.Time.t ->
predecessor:Mavryk_protocol_environment_001_PtAtLas.Block_hash.t ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.inputval make_protocol_migration :
inbox_level:
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.inputtype message = {input : Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.input;message : [ `SOL
| `Info_per_level of
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Timestamp.t
* Mavryk_base.TzPervasives.Block_hash.t
| `Message of string
| `EOL ];}Message is the combination of a message and its associated input.
message is used to:
message is `Message. The protocol adds `SOL and `EOL itself.input is used to evaluate the players' inboxes.
type payloads_per_level = {messages : string list;List of external messages.
*)payloads : Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Inbox_message.serialized
list;List of external serialized messages.
*)predecessor_timestamp : Mavryk_base.TzPervasives.Time.Protocol.t;predecessor timestamp of the Info_per_level.
predecessor : Mavryk_base.TzPervasives.Block_hash.t;Predecessor of the Info_per_level.
level : Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.t;inputs : Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.input
list;List of all inputs for the level, to be read by a PVM.
*)}Put as much information as possible in this record so it can be used in different setups: 1. Creating an inbox on the protocol-side, requires messages only. 2. Re-construct an inbox, requires payloads, timestamp, predecessor. 3. Evaluate inputs in a PVM, requires inputs
level is useful for (1) (2) (3).
val pp_input :
Stdlib.Format.formatter ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.input ->
unitval pp_message : Stdlib.Format.formatter -> message -> unitval strs_to_inputs :
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
string list ->
message list * Mavryk_protocol_environment_001_PtAtLas.Z.tCreates inputs based on string messages.
val make_inputs :
first_block:bool ->
Mavryk_protocol_environment_001_PtAtLas.Time.t ->
Mavryk_protocol_environment_001_PtAtLas.Block_hash.t ->
string list ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.input listTransform the list of all inputs the PVM should read.
val predecessor_timestamp_and_hash_from_level :
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
Mavryk_base.TzPervasives.Time.Protocol.t
* Mavryk_base.TzPervasives.Block_hash.tval wrap_messages :
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
?pred_info:
(Mavryk_base.TzPervasives.Time.Protocol.t
* Mavryk_base.TzPervasives.Block_hash.t) ->
string list ->
payloads_per_levelWrap messages, predecessor_timestamp and predecessor of a level into a payloads_per_level .
val make_empty_level :
?pred_info:
(Mavryk_base.TzPervasives.Time.Protocol.t
* Mavryk_base.TzPervasives.Block_hash.t) ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
payloads_per_levelAn empty inbox level is a SOL,IPL and EOL.
val gen_messages :
?pred_info:
(Mavryk_base.TzPervasives.Time.Protocol.t
* Mavryk_base.TzPervasives.Block_hash.t) ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
string QCheck2.Gen.t ->
payloads_per_level QCheck2.Gen.tval gen_payloads_for_levels :
start_level:int ->
max_level:int ->
string QCheck2.Gen.t ->
payloads_per_level list QCheck2.Gen.tAlpha_context.val make_external_inbox_message_repr :
string ->
Mavryk_protocol_001_PtAtLas.Protocol.Sc_rollup_inbox_message_repr.serializedval make_internal_inbox_message_repr :
Mavryk_protocol_001_PtAtLas.Protocol.Sc_rollup_inbox_message_repr.internal_inbox_message ->
Mavryk_protocol_001_PtAtLas.Protocol.Sc_rollup_inbox_message_repr.serializedval make_input_repr :
?inbox_level:Mavryk_protocol_001_PtAtLas.Protocol.Raw_level_repr.raw_level ->
?message_counter:Mavryk_protocol_environment_001_PtAtLas.Z.t ->
Mavryk_raw_protocol_001_PtAtLas.Sc_rollup_inbox_message_repr.serialized ->
Mavryk_protocol_001_PtAtLas.Protocol.Sc_rollup_PVM_sig.inputval make_external_input_repr :
?inbox_level:Mavryk_protocol_001_PtAtLas.Protocol.Raw_level_repr.raw_level ->
?message_counter:Mavryk_protocol_environment_001_PtAtLas.Z.t ->
string ->
Mavryk_protocol_001_PtAtLas.Protocol.Sc_rollup_PVM_sig.inputval make_sol_repr :
inbox_level:Mavryk_protocol_001_PtAtLas.Protocol.Raw_level_repr.raw_level ->
Mavryk_protocol_001_PtAtLas.Protocol.Sc_rollup_PVM_sig.inputval make_eol_repr :
inbox_level:Mavryk_protocol_001_PtAtLas.Protocol.Raw_level_repr.raw_level ->
message_counter:Mavryk_protocol_environment_001_PtAtLas.Z.t ->
Mavryk_protocol_001_PtAtLas.Protocol.Sc_rollup_PVM_sig.inputtype message_repr = {input_repr : Mavryk_protocol_001_PtAtLas.Protocol.Sc_rollup_PVM_sig.input;message_repr : [ `SOL | `Message of string | `EOL ];}Message is the combination of a message and its associated input.
message is used to:
message is `Message. The protocol adds `SOL and `EOL itself.input is used to evaluate the players' inboxes.
val pp_input_repr :
Stdlib.Format.formatter ->
Mavryk_protocol_001_PtAtLas.Protocol.Sc_rollup_PVM_sig.input ->
unitval pp_message_repr : Stdlib.Format.formatter -> message_repr -> unitval make_empty_level_repr :
Mavryk_protocol_001_PtAtLas.Protocol.Raw_level_repr.raw_level ->
Mavryk_protocol_001_PtAtLas.Protocol.Raw_level_repr.raw_level
* message_repr listAn empty inbox level is a SOL,IPL and EOL.
val strs_to_input_reprs_repr :
Mavryk_protocol_001_PtAtLas.Protocol.Raw_level_repr.raw_level ->
string list ->
message_repr list * Mavryk_protocol_environment_001_PtAtLas.Z.tCreates input_reprs based on string message_reprs.
val wrap_message_reprs_repr :
Mavryk_protocol_001_PtAtLas.Protocol.Raw_level_repr.raw_level ->
string list ->
message_repr listTransform message_reprs into input_reprs and wrap them between SOL and EOL.
val gen_message_reprs_for_levels_repr :
start_level:int ->
max_level:int ->
string QCheck2.Gen.t ->
(Mavryk_protocol_001_PtAtLas.Protocol.Raw_level_repr.raw_level
* message_repr list)
list
QCheck2.Gen.tmodule Payloads_histories : sig ... endval get_payloads_history :
'a Payloads_histories.t ->
Payloads_histories.key ->
'b Lwt.tval inbox_message_of_input :
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.input ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.inbox_message
optionval payloads_from_messages :
message list ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Inbox_message.serialized
listval first_after :
payloads_per_level list ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.t ->
Z.t ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.inbox_message
optionval list_of_inputs_from_list_of_messages :
message list list ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.input list listval dumb_init :
Mavryk_raw_protocol_001_PtAtLas__Alpha_context.Raw_level.t ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Inbox.tval origination_op :
?force_reveal:bool ->
?counter:Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Manager_counter.t ->
?fee:Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Tez.t ->
?gas_limit:Op.gas_limit ->
?storage_limit:Z.t ->
?boot_sector:string ->
?parameters_ty:string ->
?whitelist:
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Whitelist.t ->
Context.t ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Contract.t ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Kind.t ->
(Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.packed_operation
* Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.t)
Mavryk_base.TzPervasives.tzresult
Lwt.tmodule Node_inbox : sig ... endmodule Protocol_inbox : sig ... endval construct_node_and_protocol_inbox :
?inbox_creation_level:
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Raw_level.raw_level ->
?genesis_predecessor_timestamp:Mavryk_base.TzPervasives.Time.Protocol.t ->
?genesis_predecessor:Mavryk_base.TzPervasives.Block_hash.t ->
payloads_per_level list ->
(Node_inbox.t
* Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Inbox.t,
Mavryk_base.TzPervasives.tztrace)
Stdlib.resultmodule Protocol_inbox_with_ctxt : sig ... endval is_reveal_enabled_default :
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.is_reveal_enabledval tick_of_int_exn :
?__LOC__:string ->
int ->
Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Tick.tmodule type PVM_eval = sig ... endmodule Make_PVM_eval
(PVM : sig ... end) :
PVM_eval with type context = PVM.context and type state = PVM.statemodule Arith_pvm_eval : sig ... endmodule Wasm_pvm_eval : sig ... endval make_pvm_with_context_and_state :
(module Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.PVM.S
with type context = 'context
and type state = 'state) ->
state:'state0 ->
context:'context0 ->
reveal:
(Mavryk_raw_protocol_001_PtAtLas.Sc_rollup_reveal_hash.t ->
string option Mavryk_protocol_environment_001_PtAtLas.Lwt.t) ->
inbox:Node_inbox.t ->
unit ->
(module Mavryk_protocol_001_PtAtLas.Protocol.Alpha_context.Sc_rollup.Proof.PVM_with_context_and_state)