Game.V1
type refutation =
| Start of {
player_commitment_hash : Mavkit_smart_rollup.Commitment.Hash.t;
opponent_commitment_hash : Mavkit_smart_rollup.Commitment.Hash.t;
}
| Move of {
choice : Z.t;
step : step;
}
val dissection_chunk_encoding :
dissection_chunk Mavryk_base.TzPervasives.Data_encoding.t
val dissection_encoding :
dissection_chunk list Mavryk_base.TzPervasives.Data_encoding.t
val step_encoding : step Mavryk_base.TzPervasives.Data_encoding.t
val refutation_encoding : refutation Mavryk_base.TzPervasives.Data_encoding.t
val index_encoding : index Mavryk_base.TzPervasives.Data_encoding.t
val make_index :
Mavryk_crypto.Signature.Public_key_hash.t ->
Mavryk_crypto.Signature.Public_key_hash.t ->
index
type game_state =
| Dissecting of {
dissection : dissection_chunk list;
default_number_of_sections : int;
}
| Final_move of {
agreed_start_chunk : dissection_chunk;
refuted_stop_chunk : dissection_chunk;
}
type t = {
turn : player;
inbox_snapshot : Inbox.V1.history_proof;
dal_snapshot : Dal.Slot_history.t;
start_level : int32;
inbox_level : int32;
game_state : game_state;
}
type conflict = {
other : Mavryk_crypto.Signature.Public_key_hash.t;
their_commitment : Commitment.t;
our_commitment : Commitment.t;
parent_commitment : Mavkit_smart_rollup.Commitment.Hash.t;
}
val game_state_equal : game_state -> game_state -> bool
val player_encoding : player Mavryk_base.TzPervasives.Data_encoding.t
val game_state_encoding : game_state Mavryk_base.TzPervasives.Data_encoding.t
val encoding : t Mavryk_base.TzPervasives.Data_encoding.t
val conflict_encoding : conflict Mavryk_base.TzPervasives.Data_encoding.t