diff --git a/etherlink/kernel_latest/kernel/src/inbox.rs b/etherlink/kernel_latest/kernel/src/inbox.rs index 4be490436a3e19bf52f9c07d6d026357b65519dc..8367f03d481bcdc4ab076ee98f9e12649ff1045c 100644 --- a/etherlink/kernel_latest/kernel/src/inbox.rs +++ b/etherlink/kernel_latest/kernel/src/inbox.rs @@ -371,6 +371,67 @@ fn force_kernel_upgrade(host: &mut impl Runtime) -> anyhow::Result<()> { } } +/// Import DAL slots based on protocol attestation information. +/// This is called when processing DalAttestedSlots internal messages. +fn import_dal_attested_slots( + host: &mut Host, + published_level: i32, + slot_indices: &[u8], +) -> anyhow::Result<()> { + // Skip if there are no attested slots + if slot_indices.is_empty() { + return Ok(()); + } + + let params = host.reveal_dal_parameters(); + let next_blueprint_number: U256 = + crate::blueprint_storage::read_next_blueprint_number(host)?; + + log!( + host, + Debug, + "Importing {} DAL attested slots for published level {}", + slot_indices.len(), + published_level + ); + + for slot_index in slot_indices { + log!( + host, + Debug, + "Importing DAL slot {} at published level {}", + slot_index, + published_level + ); + + if let Some(unsigned_seq_blueprints) = + fetch_and_parse_sequencer_blueprint_from_dal( + host, + ¶ms, + &next_blueprint_number, + *slot_index, + published_level as u32, + ) + { + log!( + host, + Debug, + "DAL slot {} successfully parsed as {} unsigned blueprint chunks", + slot_index, + unsigned_seq_blueprints.len() + ); + for chunk in unsigned_seq_blueprints { + handle_blueprint_chunk(host, chunk)?; + } + } + } + + // Clean up the stored attestation info to avoid unbounded storage growth + crate::storage::delete_dal_attested_slots(host, published_level)?; + + Ok(()) +} + pub fn handle_input( host: &mut impl Runtime, input: Input, @@ -396,6 +457,26 @@ pub fn handle_input( Mode::handle_fa_deposit(host, fa_deposit, chain_id, inbox_content)? } Input::ForceKernelUpgrade => force_kernel_upgrade(host)?, + Input::DalAttestedSlots { + published_level, + slot_indices, + } => { + // Store the attested slots for this published level + crate::storage::store_dal_attested_slots( + host, + published_level, + &slot_indices, + )?; + log!( + host, + Debug, + "Stored DAL attested slots for published level {}: {:?}", + published_level, + slot_indices + ); + // Import the attested slots + import_dal_attested_slots(host, published_level, &slot_indices)?; + } } Ok(()) } @@ -544,6 +625,8 @@ pub fn read_sequencer_inbox( let mut inbox_is_empty = true; let next_blueprint_number: U256 = crate::blueprint_storage::read_next_blueprint_number(host)?; + let legacy_dal_signals_disabled = + crate::storage::is_legacy_dal_signals_disabled(host).unwrap_or(false); let mut parsing_context = SequencerParsingContext { sequencer, delayed_bridge, @@ -552,6 +635,7 @@ pub fn read_sequencer_inbox( dal_configuration: dal, buffer_transaction_chunks: None, next_blueprint_number, + legacy_dal_signals_disabled, }; loop { // Checks there will be enough ticks to handle at least another chunk of diff --git a/etherlink/kernel_latest/kernel/src/parsing.rs b/etherlink/kernel_latest/kernel/src/parsing.rs index 29850126cfd7cd1c1e4db5eb088df932f6125fa1..eb05a6f6c726dd904e2f14e3ed4ce4f81212d5d0 100644 --- a/etherlink/kernel_latest/kernel/src/parsing.rs +++ b/etherlink/kernel_latest/kernel/src/parsing.rs @@ -137,6 +137,11 @@ pub enum Input { RemoveSequencer, Info(LevelWithInfo), ForceKernelUpgrade, + /// DAL attested slots from the protocol - contains published_level and list of attested slot indices. + DalAttestedSlots { + published_level: i32, + slot_indices: Vec, + }, } #[derive(Debug, PartialEq, Default)] @@ -306,6 +311,9 @@ pub struct SequencerParsingContext { // Number of the next expected blueprint, handling blueprints // before this is useless. pub next_blueprint_number: U256, + // When true, legacy DAL slot import signals are disabled. + // The kernel will rely on DalAttestedSlots internal messages instead. + pub legacy_dal_signals_disabled: bool, } fn check_unsigned_blueprint_chunk( @@ -407,6 +415,12 @@ impl SequencerInput { .allocated_ticks .saturating_sub(TICKS_FOR_BLUEPRINT_CHUNK_SIGNATURE); + // If legacy DAL signals are disabled, ignore this message. + // The kernel now relies on DalAttestedSlots internal messages from the protocol. + if context.legacy_dal_signals_disabled { + return InputResult::Unparsable; + } + let Some(dal) = &context.dal_configuration else { return InputResult::Unparsable; }; @@ -813,7 +827,24 @@ impl InputResult { enable_fa_deposits, ), InternalInboxMessage::EndOfLevel => InputResult::NoInput, - _ => InputResult::Unparsable, + // StartOfLevel is valid but doesn't produce an input - continue reading the inbox. + InternalInboxMessage::StartOfLevel => InputResult::Unparsable, + InternalInboxMessage::DalAttestedSlots(dal_attested) => { + // Extract all unique slot indices from the publishers map + let mut slot_indices: Vec = dal_attested + .publishers + .values() + .flatten() + .copied() + .collect(); + slot_indices.sort(); + slot_indices.dedup(); + + InputResult::Input(Input::DalAttestedSlots { + published_level: dal_attested.published_level, + slot_indices, + }) + } } } diff --git a/etherlink/kernel_latest/kernel/src/storage.rs b/etherlink/kernel_latest/kernel/src/storage.rs index f7ccf5094461f208b89410e0a7f4c9913e20a688..89a6d1afa22dc44c6671031f2bd4a633f8051511 100644 --- a/etherlink/kernel_latest/kernel/src/storage.rs +++ b/etherlink/kernel_latest/kernel/src/storage.rs @@ -183,9 +183,21 @@ pub const SEQUENCER: RefPath = RefPath::assert_from(b"/evm/sequencer"); // is not used. pub const ENABLE_DAL: RefPath = RefPath::assert_from(b"/evm/feature_flags/enable_dal"); +// Path to the flag that disables legacy DAL slot import signals. +// When set to true, the kernel ignores DalSlotImportSignals external messages +// and instead relies on DalAttestedSlots internal messages from the protocol. +pub const DISABLE_LEGACY_DAL_SIGNALS: RefPath = + RefPath::assert_from(b"/evm/feature_flags/disable_legacy_dal_signals"); + // Path to the DAL slot indices to use. pub const DAL_SLOTS: RefPath = RefPath::assert_from(b"/evm/dal_slots"); +// Path prefix for storing DAL attested slots per published level. +// Format: /evm/dal_attested_slots/{published_level} +// Stores a list of attested slot indices for each published level. +const DAL_ATTESTED_SLOTS_PREFIX: RefPath = + RefPath::assert_from(b"/evm/dal_attested_slots"); + // Path where the input for the tracer is stored by the sequencer. const TRACER_INPUT: RefPath = RefPath::assert_from(b"/evm/trace/input"); @@ -761,6 +773,15 @@ pub fn store_dal_slots( Ok(host.store_write_all(&DAL_SLOTS, slots)?) } +/// Returns true if legacy DAL slot import signals are disabled. +/// When disabled, the kernel ignores `DalSlotImportSignals` external messages +/// and instead relies on `DalAttestedSlots` internal messages. +pub fn is_legacy_dal_signals_disabled( + host: &Host, +) -> anyhow::Result { + Ok(host.store_has(&DISABLE_LEGACY_DAL_SIGNALS)?.is_some()) +} + pub fn dal_slots(host: &Host) -> anyhow::Result>> { if host.store_has(&DAL_SLOTS)?.is_some() { let bytes = host.store_read_all(&DAL_SLOTS)?; @@ -770,6 +791,37 @@ pub fn dal_slots(host: &Host) -> anyhow::Result>> } } +/// Returns the storage path for attested slots at a given published level. +fn dal_attested_slots_path(published_level: i32) -> anyhow::Result { + let suffix: Vec = format!("/{published_level}").into(); + let suffix_path = OwnedPath::try_from(suffix)?; + concat(&DAL_ATTESTED_SLOTS_PREFIX, &suffix_path).map_err(Into::into) +} + +/// Stores the list of attested slot indices for a given published level. +/// This is called when processing DalAttestedSlots internal messages. +pub fn store_dal_attested_slots( + host: &mut Host, + published_level: i32, + slot_indices: &[u8], +) -> anyhow::Result<()> { + let path = dal_attested_slots_path(published_level)?; + host.store_write_all(&path, slot_indices)?; + Ok(()) +} + +/// Deletes the attested slots info for a given published level. +/// Should be called after processing slots to avoid unbounded storage growth. +pub fn delete_dal_attested_slots( + host: &mut Host, + published_level: i32, +) -> anyhow::Result<()> { + let path = dal_attested_slots_path(published_level)?; + // Ignore error if the path doesn't exist + let _ = host.store_delete(&path); + Ok(()) +} + pub fn remove_sequencer(host: &mut Host) -> anyhow::Result<()> { host.store_delete(&SEQUENCER).map_err(Into::into) } diff --git a/src/kernel_sdk/encoding/src/inbox.rs b/src/kernel_sdk/encoding/src/inbox.rs index 2a9d64883e37cb7fc2d637bf732fb370fee1e071..586c2590794f0a95950d870de8fcaf240a1a7ea3 100644 --- a/src/kernel_sdk/encoding/src/inbox.rs +++ b/src/kernel_sdk/encoding/src/inbox.rs @@ -18,9 +18,12 @@ use crate::timestamp::Timestamp; use crypto::hash::{BlockHash, ContractKt1Hash}; use nom::bytes::complete::tag; use nom::combinator::{map, rest}; +use nom::multi::length_count; +use nom::number::complete::{be_i32, be_u32, be_u8}; use nom::sequence::pair; use nom::sequence::preceded; use nom::Finish; +use std::collections::BTreeMap; use std::fmt::Display; use tezos_data_encoding::enc; use tezos_data_encoding::enc::BinWriter; @@ -124,17 +127,161 @@ impl Display for InfoPerLevel { } } -/// Internal inbox message - known to be sent by the protocol -#[derive(Debug, PartialEq, Eq, NomReader, HasEncoding, BinWriter)] +/// DAL attested slots message - contains information about which slots were +/// attested for a given published level, grouped by publisher. +#[derive(Debug, PartialEq, Eq, Clone)] +pub struct DalAttestedSlots { + /// The level at which the slots were published. + pub published_level: i32, + /// Map from publisher public key hash to the list of their attested slot indices. + pub publishers: BTreeMap>, +} + +impl DalAttestedSlots { + /// Parse DalAttestedSlots from binary format. + fn nom_read(input: &[u8]) -> tezos_data_encoding::nom::NomResult { + // Parse published_level (int32) + let (input, published_level) = be_i32(input)?; + + // Parse publishers map: encoded as a sequence of (pkh, slot_indices) pairs + // with a 4-byte length prefix for the number of entries + let (input, num_entries) = be_u32(input)?; + + let mut publishers = BTreeMap::new(); + let mut remaining = input; + + for _ in 0..num_entries { + // Parse public key hash + let (input, pkh) = PublicKeyHash::nom_read(remaining)?; + + // Parse list of slot indices with length prefix + let (input, slot_indices) = length_count(be_u32, be_u8)(input)?; + + publishers.insert(pkh, slot_indices); + remaining = input; + } + + Ok(( + remaining, + DalAttestedSlots { + published_level, + publishers, + }, + )) + } +} + +impl BinWriter for DalAttestedSlots { + fn bin_write(&self, output: &mut Vec) -> enc::BinResult { + // Write published_level (int32, big-endian) + output.extend_from_slice(&self.published_level.to_be_bytes()); + + // Write publishers map: number of entries followed by (pkh, slot_indices) pairs + let num_entries = self.publishers.len() as u32; + output.extend_from_slice(&num_entries.to_be_bytes()); + + for (pkh, slot_indices) in &self.publishers { + pkh.bin_write(output)?; + + // Write slot indices with length prefix + let num_slots = slot_indices.len() as u32; + output.extend_from_slice(&num_slots.to_be_bytes()); + output.extend_from_slice(slot_indices); + } + + Ok(()) + } +} + +impl Display for DalAttestedSlots { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "DalAttestedSlots {{published_level: {}, publishers: {} entries}}", + self.published_level, + self.publishers.len() + ) + } +} + +/// Internal inbox message - known to be sent by the protocol. +/// +/// Note: We implement NomReader and BinWriter manually to handle the +/// DalAttestedSlots variant which has tag 5 (skipping tag 4 which is Protocol_migration). +#[derive(Debug, PartialEq, Eq)] pub enum InternalInboxMessage { - /// Transfer message + /// Transfer message (tag 0) Transfer(Transfer), - /// Start of level message, pushed at the beginning of an inbox level. + /// Start of level message, pushed at the beginning of an inbox level (tag 1) StartOfLevel, - /// End of level message, pushed at the end of an inbox level. + /// End of level message, pushed at the end of an inbox level (tag 2) EndOfLevel, - /// Info per level, goes after StartOfLevel + /// Info per level, goes after StartOfLevel (tag 3) InfoPerLevel(InfoPerLevel), + /// DAL attested slots message (tag 5) - contains attested slot info per publisher + DalAttestedSlots(DalAttestedSlots), +} + +// Manual implementation of NomReader for InternalInboxMessage +impl NomReader<'_> for InternalInboxMessage { + fn nom_read(input: &[u8]) -> tezos_data_encoding::nom::NomResult { + use nom::error::ParseError; + use tezos_data_encoding::nom::NomError; + + let (remaining, tag_byte) = be_u8(input)?; + + match tag_byte { + 0 => { + let (remaining, transfer) = Transfer::nom_read(remaining)?; + Ok((remaining, InternalInboxMessage::Transfer(transfer))) + } + 1 => Ok((remaining, InternalInboxMessage::StartOfLevel)), + 2 => Ok((remaining, InternalInboxMessage::EndOfLevel)), + 3 => { + let (remaining, info) = InfoPerLevel::nom_read(remaining)?; + Ok((remaining, InternalInboxMessage::InfoPerLevel(info))) + } + 5 => { + let (remaining, dal_attested) = DalAttestedSlots::nom_read(remaining)?; + Ok(( + remaining, + InternalInboxMessage::DalAttestedSlots(dal_attested), + )) + } + _ => Err(nom::Err::Error(NomError::from_error_kind( + input, + nom::error::ErrorKind::Tag, + ))), + } + } +} + +// Manual implementation of BinWriter for InternalInboxMessage +impl BinWriter for InternalInboxMessage { + fn bin_write(&self, output: &mut Vec) -> enc::BinResult { + match self { + InternalInboxMessage::Transfer(transfer) => { + enc::put_byte(&0u8, output); + transfer.bin_write(output) + } + InternalInboxMessage::StartOfLevel => { + enc::put_byte(&1u8, output); + Ok(()) + } + InternalInboxMessage::EndOfLevel => { + enc::put_byte(&2u8, output); + Ok(()) + } + InternalInboxMessage::InfoPerLevel(info) => { + enc::put_byte(&3u8, output); + info.bin_write(output) + } + InternalInboxMessage::DalAttestedSlots(dal_attested) => { + enc::put_byte(&5u8, output); + dal_attested.bin_write(output) + } + } + } } impl Display for InternalInboxMessage { @@ -144,6 +291,7 @@ impl Display for InternalInboxMessage { Self::StartOfLevel => write!(f, "StartOfLevel"), Self::EndOfLevel => write!(f, "EndOfLevel"), Self::InfoPerLevel(ipl) => write!(f, "{}", ipl), + Self::DalAttestedSlots(dal) => write!(f, "{}", dal), } } } @@ -232,12 +380,15 @@ impl> BinWriter for ExternalMessageFrame { #[cfg(test)] mod test { + use super::DalAttestedSlots; use super::ExternalMessageFrame; use super::InboxMessage; use super::InternalInboxMessage; use crate::michelson::Michelson; use crate::michelson::MichelsonUnit; + use crate::public_key_hash::PublicKeyHash; use crate::smart_rollup::SmartRollupAddress; + use std::collections::BTreeMap; use tezos_data_encoding::enc::BinWriter; #[test] @@ -339,4 +490,64 @@ mod test { assert_eq!(framed, parsed); } + + #[test] + fn test_encode_decode_dal_attested_slots_empty() { + let dal_attested = DalAttestedSlots { + published_level: 100, + publishers: BTreeMap::new(), + }; + + let inbox_message: InboxMessage = + InboxMessage::Internal(InternalInboxMessage::DalAttestedSlots(dal_attested)); + + assert_encode_decode_inbox_message(inbox_message); + } + + #[test] + fn test_encode_decode_dal_attested_slots_with_publishers() { + let pkh = PublicKeyHash::from_b58check("tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") + .expect("valid pkh"); + + let mut publishers = BTreeMap::new(); + publishers.insert(pkh, vec![0, 1, 2]); + + let dal_attested = DalAttestedSlots { + published_level: 42, + publishers, + }; + + let inbox_message: InboxMessage = + InboxMessage::Internal(InternalInboxMessage::DalAttestedSlots(dal_attested)); + + assert_encode_decode_inbox_message(inbox_message); + } + + #[test] + fn test_dal_attested_slots_roundtrip() { + let pkh1 = PublicKeyHash::from_b58check("tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") + .expect("valid pkh"); + let pkh2 = PublicKeyHash::from_b58check("tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN") + .expect("valid pkh"); + + let mut publishers = BTreeMap::new(); + publishers.insert(pkh1, vec![0, 5, 10]); + publishers.insert(pkh2, vec![1, 2]); + + let original = DalAttestedSlots { + published_level: 12345, + publishers, + }; + + let mut encoded = Vec::new(); + original + .bin_write(&mut encoded) + .expect("encoding should work"); + + let (remaining, decoded) = + DalAttestedSlots::nom_read(&encoded).expect("decoding should work"); + + assert!(remaining.is_empty(), "all bytes should be consumed"); + assert_eq!(original, decoded); + } } diff --git a/src/kernel_tx_demo/kernel/src/lib.rs b/src/kernel_tx_demo/kernel/src/lib.rs index ab83f3ef823cb51b21801cda83e1e4293f59a952..fc4138f6430f8754fa2c621d89e83ab8ed3ec224 100644 --- a/src/kernel_tx_demo/kernel/src/lib.rs +++ b/src/kernel_tx_demo/kernel/src/lib.rs @@ -255,7 +255,9 @@ fn filter_inbox_message<'a, Host: Runtime>( } InboxMessage::Internal( - _msg @ (InternalInboxMessage::EndOfLevel | InternalInboxMessage::InfoPerLevel(..)), + _msg @ (InternalInboxMessage::EndOfLevel + | InternalInboxMessage::InfoPerLevel(..) + | InternalInboxMessage::DalAttestedSlots(..)), ) => { #[cfg(feature = "debug")] debug_msg!(host, "InboxMetadata: {}\n", _msg); diff --git a/src/lib_base/skip_list.ml b/src/lib_base/skip_list.ml index e6a25cb6f3dbdda81294fec854333e7a443914a7..f63d169d7b4798d827966d53515c65bdaa4dd0ab 100644 --- a/src/lib_base/skip_list.ml +++ b/src/lib_base/skip_list.ml @@ -196,7 +196,7 @@ end) : S = struct let pp ~pp_ptr ~pp_content fmt {content; back_pointers; index} = Format.fprintf fmt - "content: %a@,index: %s@,@[back_pointers:@ %a@]" + "content: %a@ index: %s@,@[back_pointers:@ %a@]" pp_content content (Z.to_string index) diff --git a/src/lib_scoru_wasm/pvm_input_kind.ml b/src/lib_scoru_wasm/pvm_input_kind.ml index 052192bbb8569a68e5fd04f40a41c330ad7545ea..63ddd564c8ad83e470504eeda02d60c07357a870 100644 --- a/src/lib_scoru_wasm/pvm_input_kind.ml +++ b/src/lib_scoru_wasm/pvm_input_kind.ml @@ -51,6 +51,7 @@ type internal_message_kind = | End_of_level | Info_per_level | Protocol_migration of protocol + | Dal_attested_slots (* This type mimics [Sc_rollup_inbox_repr.t] and produced by reading the first bytes from the input: @@ -95,6 +96,7 @@ let internal_from_raw payload = | '\002' when String.length payload = 2 -> Some End_of_level | '\003' -> Some Info_per_level | '\004' -> protocol_from_raw payload + | '\005' -> Some Dal_attested_slots | _ -> None let from_raw_input payload = @@ -139,6 +141,7 @@ module Internal_for_tests = struct | Internal Info_per_level, Some info -> "\000\003" ^ info | Internal (Protocol_migration proto), None -> "\000\004" ^ proto_to_binary proto + | Internal Dal_attested_slots, Some payload -> "\000\005" ^ payload | Other, _ -> Stdlib.failwith "`Other` messages are impossible cases from the PVM perspective." @@ -151,4 +154,6 @@ module Internal_for_tests = struct | Internal (Protocol_migration _), Some _ -> Stdlib.failwith "`Protocol_migration` does not expect a payload" | External, None -> Stdlib.failwith "`External` expects a payload" + | Internal Dal_attested_slots, None -> + Stdlib.failwith "`Dal_attested_slots` expects a payload" end diff --git a/src/lib_scoru_wasm/pvm_input_kind.mli b/src/lib_scoru_wasm/pvm_input_kind.mli index f733be011b79cf7f7a6a38ffbf15cdf3ebb177bb..21e80fa48ac4dc6e8c886ba57bbb220c763edf72 100644 --- a/src/lib_scoru_wasm/pvm_input_kind.mli +++ b/src/lib_scoru_wasm/pvm_input_kind.mli @@ -44,6 +44,9 @@ type internal_message_kind = (** Internal message containing the timestamp of the current block and the hash of the previous block. *) | Protocol_migration of protocol + | Dal_attested_slots + (** Internal message containing the attested DAL slots and their + publishers. *) (** A type representing messages from Layer 1 to Layer 2. Internal ones are originated from Layer 1 smart-contracts and external ones are messages from diff --git a/src/lib_wasm_debugger/messages.ml b/src/lib_wasm_debugger/messages.ml index bee9fbae7e6605255e14be4e8dfe18309e4a669a..8097e47838fe605315354a686fc3f44f96f03a2b 100644 --- a/src/lib_wasm_debugger/messages.ml +++ b/src/lib_wasm_debugger/messages.ml @@ -166,6 +166,34 @@ let pp_input ppf bytes = predecessor_timestamp Block_hash.pp predecessor + | Internal (Dal_attested_slots {published_level; slots_by_publisher; _}) -> + let pp_slot_indexes = + Format.pp_print_list + ~pp_sep:(fun fmt () -> Format.pp_print_string fmt ", ") + Dal.Slot_index.pp + in + let pp_publisher ppf (pkh, slots) = + Format.fprintf + ppf + "%a -> [%a]" + Signature.Public_key_hash.pp + pkh + pp_slot_indexes + slots + in + let pp_slots_by_publisher = + Format.pp_print_list + ~pp_sep:(fun fmt () -> Format.pp_print_string fmt "; ") + pp_publisher + in + Format.fprintf + ppf + "Dal_attested_slots {published_level = %a; slots_by_publisher = {%a}}" + Raw_level.pp + published_level + pp_slots_by_publisher + (Environment.Signature.Public_key_hash.Map.bindings + slots_by_publisher) | External msg -> Format.fprintf ppf "%a" Hex.pp (Hex.of_string msg) in match diff --git a/src/proto_alpha/lib_protocol/alpha_context.ml b/src/proto_alpha/lib_protocol/alpha_context.ml index 4483ea59b0a31838389b4f758e509f5a45b90fdc..3ffcf6a86edf1c9fbeb7b08a7c77781597afab24 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.ml +++ b/src/proto_alpha/lib_protocol/alpha_context.ml @@ -97,12 +97,13 @@ module Sc_rollup = struct ~protocol_migration_message: Inbox_message.protocol_migration_serialized_message - let add_all_messages ~first_block = + let add_all_messages ~first_block ?dal_attested_slots_message = add_all_messages ~protocol_migration_message: (if first_block then Some Inbox_message.protocol_migration_internal_message else None) + ~dal_attested_slots_message module Internal_for_tests = struct include Sc_rollup_inbox_repr.Internal_for_tests diff --git a/src/proto_alpha/lib_protocol/alpha_context.mli b/src/proto_alpha/lib_protocol/alpha_context.mli index 4d3a8bc2213ab916b786867f4345714226e59b56..4992ffb8c0c6c21d6cc9253f83c82038c0ed5feb 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.mli +++ b/src/proto_alpha/lib_protocol/alpha_context.mli @@ -3100,7 +3100,13 @@ module Dal : sig val finalize_current_slot_headers : context -> context Lwt.t val finalize_pending_slot_headers : - context -> number_of_slots:int -> (context * Attestation.t) tzresult Lwt.t + context -> + number_of_slots:int -> + (context + * Attestation.t + * (Raw_level.t * Slot_index.t list Signature.Public_key_hash.Map.t) option) + tzresult + Lwt.t end module Shard_with_proof : sig @@ -3433,6 +3439,12 @@ module Sc_rollup : sig predecessor : Block_hash.t; } | Protocol_migration of string + | Dal_attested_slots of { + published_level : Raw_level.t; + number_of_slots : int; + slots_by_publisher : + Dal.Slot_index.t list Signature.Public_key_hash.Map.t; + } val protocol_migration_internal_message : internal_inbox_message @@ -3622,6 +3634,7 @@ module Sc_rollup : sig val add_all_messages : first_block:bool -> + ?dal_attested_slots_message:Inbox_message.internal_inbox_message -> predecessor_timestamp:Time.t -> predecessor:Block_hash.t -> History.t -> @@ -3739,6 +3752,13 @@ module Sc_rollup : sig destination:rollup -> context tzresult Lwt.t + val add_dal_attested_slots : + context -> + published_level:Raw_level.t -> + number_of_slots:int -> + slots_by_publisher:Dal.Slot_index.t list Signature.Public_key_hash.Map.t -> + context tzresult Lwt.t + val finalize_inbox_level : context -> context tzresult Lwt.t val add_level_info : diff --git a/src/proto_alpha/lib_protocol/apply.ml b/src/proto_alpha/lib_protocol/apply.ml index b412a56dcbc7b2cdfa5ca07064a50ba925a7b718..f310dd5d366a1f9296610989aecc8eb79de21ec0 100644 --- a/src/proto_alpha/lib_protocol/apply.ml +++ b/src/proto_alpha/lib_protocol/apply.ml @@ -3258,7 +3258,29 @@ let finalize_application ctxt block_data_contents ~round ~predecessor_hash | Some nonce_hash -> Nonce.record_hash ctxt {nonce_hash; delegate = block_producer.delegate} in - let* ctxt, dal_attestation = Dal_apply.finalisation ctxt in + let* ctxt, dal_attestation, dal_attested_slots_info = + Dal_apply.finalisation ctxt + in + (* Emit Dal_attested_slots internal message to smart rollup inbox if there + are attested slots for this level. Only emit if the published_level is + at or after the protocol activation level (to avoid inconsistencies during + migration from protocols that don't support Dal_attested_slots). *) + let* ctxt = + match dal_attested_slots_info with + | None -> return ctxt + | Some (published_level, slots_by_publisher) -> + let* proto_activation_level = Protocol_activation_level.get ctxt in + if Raw_level.(published_level >= proto_activation_level) then + (* TODO: https://gitlab.com/tezos/tezos/-/issues/8065 + remove this check in protocol V *) + let number_of_slots = Constants.dal_number_of_slots ctxt in + Sc_rollup.Inbox.add_dal_attested_slots + ctxt + ~published_level + ~number_of_slots + ~slots_by_publisher + else return ctxt + in let* ctxt, reward_bonus, attestation_result = let* required_attestations = are_attestations_required ctxt ~level:current_level.level diff --git a/src/proto_alpha/lib_protocol/dal_apply.ml b/src/proto_alpha/lib_protocol/dal_apply.ml index 4de63c5aeca30110bce27915d8e88a75e748cf5b..bba39caaf21f8788088ba06aa29c06cccb45c1a5 100644 --- a/src/proto_alpha/lib_protocol/dal_apply.ml +++ b/src/proto_alpha/lib_protocol/dal_apply.ml @@ -134,7 +134,7 @@ let finalisation ctxt = let open Lwt_result_syntax in Dal.only_if_feature_enabled ctxt - ~default:(fun ctxt -> return (ctxt, Dal.Attestation.empty)) + ~default:(fun ctxt -> return (ctxt, Dal.Attestation.empty, None)) (fun ctxt -> let*! ctxt = Dal.Slot.finalize_current_slot_headers ctxt in (* The fact that slots confirmation is done at finalization is very @@ -153,7 +153,7 @@ let finalisation ctxt = level where the game started. *) let number_of_slots = Constants.dal_number_of_slots ctxt in - let+ ctxt, attestation = + let+ ctxt, attestation, attested_slots_info = Dal.Slot.finalize_pending_slot_headers ctxt ~number_of_slots in - (ctxt, attestation)) + (ctxt, attestation, attested_slots_info)) diff --git a/src/proto_alpha/lib_protocol/dal_apply.mli b/src/proto_alpha/lib_protocol/dal_apply.mli index 950e75f872bfa5d73e3ca5c0afe59204c8647219..877b5c95ef6552c379fa17ef676d463d33a1ab21 100644 --- a/src/proto_alpha/lib_protocol/dal_apply.mli +++ b/src/proto_alpha/lib_protocol/dal_apply.mli @@ -85,5 +85,16 @@ val record_participation : is returned encapsulated into the attestation data-structure. [lag] is a parametric constant specific to the data-availability - layer. *) -val finalisation : t -> (t * Dal.Attestation.t) tzresult Lwt.t + layer. + + Also returns [Some (published_level, attested_slots_by_publisher)] where + [attested_slots_by_publisher] is a map from publisher public key hash to the + list of their proto-attested slot indices at [published_level]. Returns + [None] for levels smaller than [attestation_lag]. *) +val finalisation : + t -> + (t + * Dal.Attestation.t + * (Raw_level.t * Dal.Slot_index.t list Signature.Public_key_hash.Map.t) option) + tzresult + Lwt.t diff --git a/src/proto_alpha/lib_protocol/dal_slot_storage.ml b/src/proto_alpha/lib_protocol/dal_slot_storage.ml index d3914d486840640fdb576c741d2b22ed10e3c450..d1472f754ca1b0cc408c1106cdd8dde0eb32af4a 100644 --- a/src/proto_alpha/lib_protocol/dal_slot_storage.ml +++ b/src/proto_alpha/lib_protocol/dal_slot_storage.ml @@ -57,6 +57,31 @@ let compute_slot_headers_statuses ~is_slot_attested published_slot_headers = in (List.rev rev_attested_slot_headers, bitset) +(* Compute a map from publisher public key hash to the list of attested slot + indices. Only proto-attested slots from implicit accounts are included. *) +let compute_attested_slots_by_publisher slot_headers_statuses = + List.fold_left + (fun acc (slot, slot_publisher, attestation_status) -> + if + attestation_status.Dal_attestation_repr.Accountability.is_proto_attested + then + match slot_publisher with + | Contract_repr.Implicit pkh -> + let slot_index = slot.Dal_slot_repr.Header.id.index in + Signature.Public_key_hash.Map.update + pkh + (function + | None -> Some [slot_index] + | Some slots -> Some (slot_index :: slots)) + acc + | Contract_repr.Originated _ -> + (* Originated contracts are not expected to publish DAL slots, + but if they do, we skip them for the rollup inbox message. *) + acc + else acc) + Signature.Public_key_hash.Map.empty + slot_headers_statuses + let get_slot_headers_history ctxt = let open Lwt_result_syntax in let+ slots_history = Storage.Dal.Slot.History.find ctxt in @@ -118,7 +143,8 @@ let remove_old_headers ctxt ~published_level = + Prune old headers in Storage.Dal.Slot.Headers per denunciation window, + Write the new skip-list head to Storage.Dal.Slot.History, + Append per-level cells to Storage.Dal.Slot.LevelHistories. - - Return the updated [ctxt] and the attestation bitset. *) + - Return the updated [ctxt], the attestation bitset, and the map of + attested slots_by_publisher (grouped by public key hash). *) let finalize_slot_headers_for_published_level ctxt ~number_of_slots ~attestation_lag ~is_slot_attested published_level = let open Lwt_result_syntax in @@ -141,7 +167,10 @@ let finalize_slot_headers_for_published_level ctxt ~number_of_slots ~number_of_slots ~attestation_lag in - return (ctxt, attestation) + let attested_slots_by_publisher = + compute_attested_slots_by_publisher slot_headers_statuses + in + return (ctxt, attestation, attested_slots_by_publisher) (* Handle the first block after an attestation_lag shrink (P1 -> P2). We "backfill" the missing published levels so the DAL skip-list has no gaps: @@ -191,10 +220,14 @@ let finalize_slot_headers_at_lag_migration ctxt ~target_published_level match Raw_level_repr.(sub target_published_level current_gap) with | None -> (* Defensive: not expected on our networks. *) - return (ctxt, Dal_attestation_repr.empty, cells_of_pub_levels) + return + ( ctxt, + Dal_attestation_repr.empty, + Signature.Public_key_hash.Map.empty, + cells_of_pub_levels ) | Some published_level -> (* Finalize this published level. *) - let* ctxt, attestation_bitset = + let* ctxt, attestation_bitset, attested_slots_by_publisher = finalize_slot_headers_for_published_level ~attestation_lag:(curr_attestation_lag + current_gap) ctxt @@ -209,12 +242,19 @@ let finalize_slot_headers_at_lag_migration ctxt ~target_published_level in if Compare.Int.(current_gap = 0) then (* Done: [target_published_level] processed. *) - return (ctxt, attestation_bitset, cells_of_pub_levels) + return + ( ctxt, + attestation_bitset, + attested_slots_by_publisher, + cells_of_pub_levels ) else aux ctxt ~cells_of_pub_levels ~current_gap:(current_gap - 1) in (* Main entry for processing several published levels at migration. *) let current_gap = prev_attestation_lag - curr_attestation_lag in - let* ctxt, attestation_bitset, cells_of_pub_levels = + let* ( ctxt, + attestation_bitset, + attested_slots_by_publisher, + cells_of_pub_levels ) = aux ctxt ~cells_of_pub_levels:[] ~current_gap in (* Persist all collected per-level cells in one write. *) @@ -223,7 +263,7 @@ let finalize_slot_headers_at_lag_migration ctxt ~target_published_level |> List.rev |> Storage.Dal.Slot.LevelHistories.add ctxt in - return (ctxt, attestation_bitset) + return (ctxt, attestation_bitset, attested_slots_by_publisher) let finalize_pending_slot_headers ctxt ~number_of_slots = let open Lwt_result_syntax in @@ -231,7 +271,7 @@ let finalize_pending_slot_headers ctxt ~number_of_slots = let Constants_parametric_repr.{dal; _} = Raw_context.constants ctxt in let curr_attestation_lag = dal.attestation_lag in match Raw_level_repr.(sub raw_level curr_attestation_lag) with - | None -> return (ctxt, Dal_attestation_repr.empty) + | None -> return (ctxt, Dal_attestation_repr.empty, None) | Some published_level -> (* DAL/TODO: remove after P1->P2 migration: @@ -264,37 +304,41 @@ let finalize_pending_slot_headers ctxt ~number_of_slots = let reset_dummy_genesis = Dal_slot_repr.History.(equal sl_history_head genesis) in - if - Compare.Int.( - curr_attestation_lag = prev_attestation_lag || reset_dummy_genesis) - then - (* Normal path: process the next published level, or the first published - level if the previous genesis cell was the dummy value. *) - let is_slot_attested slot = - Raw_context.Dal.is_slot_index_attested + let* ctxt, attestation, attested_slots_by_publisher = + if + Compare.Int.( + curr_attestation_lag = prev_attestation_lag || reset_dummy_genesis) + then + (* Normal path: process the next published level, or the first published + level if the previous genesis cell was the dummy value. *) + let is_slot_attested slot = + Raw_context.Dal.is_slot_index_attested + ctxt + slot.Dal_slot_repr.Header.id.index + in + finalize_slot_headers_for_published_level ctxt - slot.Dal_slot_repr.Header.id.index - in - finalize_slot_headers_for_published_level - ctxt - published_level - ~number_of_slots - ~attestation_lag:curr_attestation_lag - ~is_slot_attested - else - let () = - assert (Compare.Int.(curr_attestation_lag < prev_attestation_lag)) - in - (* Migration path: there are missing published levels between the - skip-list head and [published_level] because attestation_lag has - shrunk at migration from [prev_attestation_lag] to - [curr_attestation_lag]. + published_level + ~number_of_slots + ~attestation_lag:curr_attestation_lag + ~is_slot_attested + else + let () = + assert (Compare.Int.(curr_attestation_lag < prev_attestation_lag)) + in + (* Migration path: there are missing published levels between the + skip-list head and [published_level] because attestation_lag has + shrunk at migration from [prev_attestation_lag] to + [curr_attestation_lag]. - We will backfill the missing [prev_attestation_lag - - curr_attestation_lag] levels with 32 cells each. *) - finalize_slot_headers_at_lag_migration - ~prev_attestation_lag - ~curr_attestation_lag - ctxt - ~target_published_level:published_level - ~number_of_slots + We will backfill the missing [prev_attestation_lag - + curr_attestation_lag] levels with 32 cells each. *) + finalize_slot_headers_at_lag_migration + ~prev_attestation_lag + ~curr_attestation_lag + ctxt + ~target_published_level:published_level + ~number_of_slots + in + return + (ctxt, attestation, Some (published_level, attested_slots_by_publisher)) diff --git a/src/proto_alpha/lib_protocol/dal_slot_storage.mli b/src/proto_alpha/lib_protocol/dal_slot_storage.mli index 2ad95e5146fe7c5f96f2e0d9ec9e4ae0c542ec54..a71c31bfbcd0ff68e39586bc211f5f50469781ac 100644 --- a/src/proto_alpha/lib_protocol/dal_slot_storage.mli +++ b/src/proto_alpha/lib_protocol/dal_slot_storage.mli @@ -73,11 +73,22 @@ val finalize_current_slot_headers : Raw_context.t -> Raw_context.t Lwt.t headers which are old enough (i.e. registered at level [current_level - attestation_lag]). All slots marked as available are returned. All the pending slots at [current_level - attestation_lag] level are removed from - the context. *) + the context. + + Also returns [Some (published_level, attested_slots_by_publisher)] where + [attested_slots_by_publisher] is a map from publisher public key hash to the + list of their proto-attested slot indices at [published_level]. Returns + [None] for levels smaller than [attestation_lag]. *) val finalize_pending_slot_headers : Raw_context.t -> number_of_slots:int -> - (Raw_context.t * Dal_attestation_repr.t) tzresult Lwt.t + (Raw_context.t + * Dal_attestation_repr.t + * (Raw_level_repr.t + * Dal_slot_index_repr.t list Signature.Public_key_hash.Map.t) + option) + tzresult + Lwt.t (** [get_slot_headers_history ctxt] returns the current value of slots_history stored in [ctxt], or Slots_history.genesis if no value is stored yet. *) diff --git a/src/proto_alpha/lib_protocol/sc_rollup_arith.ml b/src/proto_alpha/lib_protocol/sc_rollup_arith.ml index a3fda8e8e1e0b12ba2c181ffc64e9e7a986b0c49..7ca82f6336ef94db190845d614d979fa0338a6a2 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_arith.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_arith.ml @@ -1181,6 +1181,9 @@ module Make (Context : Sc_rollup_PVM_sig.Generic_irmin_pvm_context_sig) : | Ok (Internal (Info_per_level _)) -> let* () = incr_internal_message_counter in return None + | Ok (Internal (Dal_attested_slots _)) -> + let* () = incr_internal_message_counter in + return None in match payload with | Some payload -> diff --git a/src/proto_alpha/lib_protocol/sc_rollup_costs.ml b/src/proto_alpha/lib_protocol/sc_rollup_costs.ml index 17354d9db83315be58518a2dcc8052580c7653ed..15475b8fee41a12410b39e3d8492a58924d95057 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_costs.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_costs.ml @@ -85,6 +85,7 @@ let cost_serialize_internal_inbox_message | End_of_level -> Saturation_repr.zero | Protocol_migration _ -> Saturation_repr.zero | Info_per_level _ -> Saturation_repr.zero + | Dal_attested_slots _ -> Saturation_repr.zero let cost_deserialize_output_proof ~bytes_len = cost_Sc_rollup_deserialize_output_proof_benchmark bytes_len diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_message_repr.ml b/src/proto_alpha/lib_protocol/sc_rollup_inbox_message_repr.ml index e8a6f5e7be1d37e4277bdea7a450c2234a761fd2..9b2a08be88fe013e839faa3bdb96f07d49d782f0 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_message_repr.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_message_repr.ml @@ -68,6 +68,12 @@ type internal_inbox_message = predecessor : Block_hash.t; } | Protocol_migration of string + | Dal_attested_slots of { + published_level : Raw_level_repr.t; + number_of_slots : int; + slots_by_publisher : + Dal_slot_index_repr.t list Signature.Public_key_hash.Map.t; + } let internal_inbox_message_encoding = let open Data_encoding in @@ -120,6 +126,51 @@ let internal_inbox_message_encoding = (obj2 (kind "protocol_migration") (req "protocol" (string Hex))) (function Protocol_migration proto -> Some ((), proto) | _ -> None) (fun ((), proto) -> Protocol_migration proto); + case + (Tag 5) + ~title:"Dal_attested_slots" + (obj4 + (kind "dal_attested_slots") + (req "published_level" Raw_level_repr.encoding) + (req "number_of_slots" uint16) + (req + "slots_by_publisher" + (Signature.Public_key_hash.Map.encoding + Dal_attestation_repr.encoding))) + (function + | Dal_attested_slots + {published_level; number_of_slots; slots_by_publisher} -> + (* Convert list to bitset for compact encoding *) + let slots_by_publisher = + Signature.Public_key_hash.Map.map + (List.fold_left + Dal_attestation_repr.commit + Dal_attestation_repr.empty) + slots_by_publisher + in + Some ((), published_level, number_of_slots, slots_by_publisher) + | _ -> None) + (fun ((), published_level, number_of_slots, slots_by_publisher) -> + (* Convert bitset back to list for internal representation *) + let slots_by_publisher = + Signature.Public_key_hash.Map.map + (fun bitset -> + (* Iterate through possible slot indices and collect attested ones *) + let rec collect acc i = + if Compare.Int.(i >= number_of_slots) then List.rev acc + else + match Dal_slot_index_repr.of_int_opt ~number_of_slots i with + | None -> List.rev acc + | Some idx -> + if Dal_attestation_repr.is_attested bitset idx then + collect (idx :: acc) (i + 1) + else collect acc (i + 1) + in + collect [] 0) + slots_by_publisher + in + Dal_attested_slots + {published_level; number_of_slots; slots_by_publisher}); ] type t = Internal of internal_inbox_message | External of string @@ -221,3 +272,25 @@ let (_dummy_serialized_info_per_level_serialized : serialized) = info_per_level_serialized ~predecessor_timestamp:(Time.of_seconds Int64.min_int) ~predecessor:Block_hash.zero + +let dal_attested_slots_serialized ~published_level ~number_of_slots + ~slots_by_publisher = + match + serialize + (Internal + (Dal_attested_slots + {published_level; number_of_slots; slots_by_publisher})) + with + | Error _ -> + (* The dal attested slots should always be serializable as the encoding + functions for this case do not fail. *) + assert false + | Ok msg -> msg + +let (_dummy_serialized_dal_attested_slots : serialized) = + (* This allows to detect an error, at startup, we might have introduced in the + encoding of serialization of dal attested slots messages. *) + dal_attested_slots_serialized + ~published_level:Raw_level_repr.root + ~number_of_slots:32 + ~slots_by_publisher:Signature.Public_key_hash.Map.empty diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_message_repr.mli b/src/proto_alpha/lib_protocol/sc_rollup_inbox_message_repr.mli index c4873becc4ea3ac7a64ed211f0cc3abf01a40fc6..bea85218da603eae31bdf557c65319d3e94b1bee 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_message_repr.mli +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_message_repr.mli @@ -69,6 +69,16 @@ type internal_inbox_message = (** Predecessor of the block this message is pushed. *) } | Protocol_migration of string + | Dal_attested_slots of { + published_level : Raw_level_repr.t; + number_of_slots : int; + slots_by_publisher : + Dal_slot_index_repr.t list Signature.Public_key_hash.Map.t; + } + (** Internal message communicated the attested slot for the given + [published_level]. Attested slots are grouped by + [slots_by_publisher]. A slot is attested if and only if it appears in + the map's codomain. *) (** A type representing messages from Layer 1 to Layer 2. Internal ones are originated from Layer 1 smart-contracts and external ones are messages from @@ -105,3 +115,12 @@ val end_of_level_serialized : serialized (** {!info_per_level_serialized ~predecessor_timestamp ~predecessor} is the serialized representation of the internal message for {!Info_per_level}. *) val info_per_level_serialized : predecessor_timestamp:Time.t -> predecessor:Block_hash.t -> serialized + +(** [dal_attested_slots_serialized ~published_level ~number_of_slots + ~slots_by_publisher] is the serialized representation of the internal + message for {!Dal_attested_slots}. *) +val dal_attested_slots_serialized : + published_level:Raw_level_repr.t -> + number_of_slots:int -> + slots_by_publisher:Dal_slot_index_repr.t list Signature.Public_key_hash.Map.t -> + serialized diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml index aba4043dde4b9b9b0c4388998beb71cf00e123e2..dbecb9800a9eff29ff2fc69715a4fa3158c7b515 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.ml @@ -727,16 +727,20 @@ let finalize_inbox_level_no_history inbox witness = let witness = add_protocol_internal_message_no_history eol witness in archive_no_history inbox witness -let add_all_messages ~protocol_migration_message ~predecessor_timestamp - ~predecessor history inbox messages = +let add_all_messages ~protocol_migration_message ~dal_attested_slots_message + ~predecessor_timestamp ~predecessor history inbox messages = let open Result_syntax in let* payloads = List.map_e Sc_rollup_inbox_message_repr.serialize messages in let is_first_block = Option.is_some protocol_migration_message in + let has_dal_message = Option.is_some dal_attested_slots_message in let payloads_history = (* Must remember every [payloads] and internal messages pushed by the - protocol: SOL/Info_per_level/EOL. *) + protocol: SOL/Info_per_level/EOL and optionally Protocol_migration + and Dal_attested_slots. *) let capacity = - (List.length payloads + 3 + if is_first_block then 1 else 0) + (List.length payloads + 3 + + (if is_first_block then 1 else 0) + + if has_dal_message then 1 else 0) |> Int64.of_int in Sc_rollup_inbox_merkelized_payload_hashes_repr.History.empty ~capacity @@ -768,6 +772,18 @@ let add_all_messages ~protocol_migration_message ~predecessor_timestamp | [] -> return (payloads_history, witness) | payloads -> add_messages payloads_history payloads witness in + + (* Add [Dal_attested_slots] if present, before finalization (EOL). *) + let* payloads_history, witness = + match dal_attested_slots_message with + | Some dal_message -> + let* message = + Sc_rollup_inbox_message_repr.serialize (Internal dal_message) + in + add_message message payloads_history witness + | None -> return (payloads_history, witness) + in + let* payloads_history, history, witness, inbox = finalize_inbox_level payloads_history history inbox witness in @@ -786,8 +802,14 @@ let add_all_messages ~protocol_migration_message ~predecessor_timestamp ~some:(fun x -> [Internal x]) protocol_migration_message in + let dal_slots = + Option.fold + ~none:[] + ~some:(fun x -> [Internal x]) + dal_attested_slots_message + in let eol = Internal End_of_level in - [sol] @ [info_per_level] @ migration @ messages @ [eol] + [sol] @ [info_per_level] @ migration @ messages @ dal_slots @ [eol] in return (payloads_history, history, inbox, witness, messages) diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.mli b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.mli index e728ce8ff858021c8337e6760606fdaa19fc1abb..dd4379efc5665cd006d2c1335464d50e79da5e29 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.mli +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_repr.mli @@ -241,6 +241,8 @@ val serialized_proof_encoding : serialized_proof Data_encoding.t val add_all_messages : protocol_migration_message: Sc_rollup_inbox_message_repr.internal_inbox_message option -> + dal_attested_slots_message: + Sc_rollup_inbox_message_repr.internal_inbox_message option -> predecessor_timestamp:Time.t -> predecessor:Block_hash.t -> History.t -> diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_storage.ml b/src/proto_alpha/lib_protocol/sc_rollup_inbox_storage.ml index 8c8f522fe420fec0253daa292fecbcd1056d94ac..e0cfdcbac9b24ed1614791307738465c8e4efea8 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_storage.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_storage.ml @@ -113,6 +113,13 @@ let add_deposit ctxt ~payload ~sender ~source ~destination = in add_internal_message ctxt internal_message +let add_dal_attested_slots ctxt ~published_level ~number_of_slots + ~slots_by_publisher = + let internal_message : Sc_rollup_inbox_message_repr.internal_inbox_message = + Dal_attested_slots {published_level; number_of_slots; slots_by_publisher} + in + add_internal_message ctxt internal_message + let finalize_inbox_level ctxt = let open Lwt_result_syntax in let* inbox, ctxt = get_inbox ctxt in diff --git a/src/proto_alpha/lib_protocol/sc_rollup_inbox_storage.mli b/src/proto_alpha/lib_protocol/sc_rollup_inbox_storage.mli index 6f7fed515f165331fca9638f186855fe8ff13d58..fbc2499b37974e49c5e72609e291371a3f2b652a 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_inbox_storage.mli +++ b/src/proto_alpha/lib_protocol/sc_rollup_inbox_storage.mli @@ -61,3 +61,14 @@ val add_level_info : (** [finalize_inbox_level ctxt] ends the internal representation for the block. *) val finalize_inbox_level : Raw_context.t -> Raw_context.t tzresult Lwt.t + +(** [add_dal_attested_slots ctxt ~published_level ~number_of_slots + ~slots_by_publisher] adds a [Dal_attested_slots] internal message to the + smart rollups' inbox. [slots_by_publisher] maps each publisher's public key + hash to the list of their proto-attested slot indices at [published_level]. *) +val add_dal_attested_slots : + Raw_context.t -> + published_level:Raw_level_repr.t -> + number_of_slots:int -> + slots_by_publisher:Dal_slot_index_repr.t list Signature.Public_key_hash.Map.t -> + Raw_context.t tzresult Lwt.t diff --git a/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox_legacy.ml b/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox_legacy.ml index d29e5e9aa7f113cfc81b938122b4449c921680d3..6d6e735966c2611086573b10fee001dfbc7243fa 100644 --- a/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox_legacy.ml +++ b/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_inbox_legacy.ml @@ -77,6 +77,7 @@ let populate_inboxes level history inbox inboxes list_of_messages = let*@ payloads_history, history, inbox, witness, _messages = add_all_messages ~protocol_migration_message:None + ~dal_attested_slots_message:None ~predecessor_timestamp:Time.Protocol.epoch ~predecessor:Block_hash.zero history @@ -152,6 +153,7 @@ let setup_node_inbox_with_messages list_of_messages f = let*?@ payloads_history, history, inbox, witness, _messages = add_all_messages ~protocol_migration_message:None + ~dal_attested_slots_message:None ~predecessor_timestamp:Time.Protocol.epoch ~predecessor:Block_hash.zero history diff --git a/src/proto_alpha/lib_sc_rollup_node/inbox.ml b/src/proto_alpha/lib_sc_rollup_node/inbox.ml index 25de31cf7e660ad0e856248dc4f8c6117077c02f..c602a1128b225af13bcef4e763de0f12a0e807ae 100644 --- a/src/proto_alpha/lib_sc_rollup_node/inbox.ml +++ b/src/proto_alpha/lib_sc_rollup_node/inbox.ml @@ -101,8 +101,80 @@ let same_as_layer_1 node_ctxt level inbox = (Octez_smart_rollup.Inbox.equal layer1_inbox inbox) (Sc_rollup_node_errors.Inconsistent_inbox {layer1_inbox; inbox}) -let add_messages ~is_first_block ~predecessor_timestamp ~predecessor inbox - messages = +(* Construct the Dal_attested_slots internal message from the skip list cells. + The cells contain the published_level and for each slot whether it was + proto-attested and who published it. We extract only slots published by + implicit accounts that are proto-attested. + + The message is added whenever cells exist (i.e., level >= attestation_lag), + even if no slots are attested (empty slots_by_publisher map). *) +let dal_attested_slots_message_of_cells cells = + let open Dal.Slots_history in + let module Pkh_map = Environment.Signature.Public_key_hash.Map in + (* The number of cells equals the number of slots *) + let number_of_slots = List.length cells in + let published_level, slots_by_publisher = + List.fold_left + (fun (pub_level, slots_by_publisher) (_hash, cell) -> + let cell_content = content cell in + (* Get published_level from the cell_id (both Unpublished and Published have it) *) + let cell_id = content_id cell_content in + let pub_level = + match pub_level with + | Some l -> Some l + | None -> Some cell_id.header_id.published_level + in + match cell_content with + | Unpublished _ -> (pub_level, slots_by_publisher) + | Published {header; publisher; is_proto_attested; _} -> + if is_proto_attested then + match publisher with + | Contract.Implicit pkh -> + let slot_index = header.id.index in + let slots_by_publisher = + Pkh_map.update + pkh + (function + | None -> Some [slot_index] + | Some slots -> Some (slot_index :: slots)) + slots_by_publisher + in + (pub_level, slots_by_publisher) + | Contract.Originated _ -> + (* Skip originated contracts *) + (pub_level, slots_by_publisher) + else (pub_level, slots_by_publisher)) + (None, Pkh_map.empty) + cells + in + (* Return the message whenever we have a published_level, even with empty slots_by_publisher *) + match published_level with + | Some published_level -> + Some + (Sc_rollup.Inbox_message.Dal_attested_slots + {published_level; number_of_slots; slots_by_publisher}) + | None -> None + +(* Get the DAL attested slots message from L1 for a given block. + Returns None if DAL is not enabled or if the RPC fails. *) +let get_dal_attested_slots_message node_ctxt block_hash = + let open Lwt_syntax in + let Node_context.{cctxt; _} = node_ctxt in + let cctxt = new Protocol_client_context.wrap_full cctxt in + let* result = + Plugin.RPC.Dal.skip_list_cells_of_level + cctxt + (cctxt#chain, `Hash (block_hash, 0)) + () + in + match result with + | Ok cells -> return_ok (dal_attested_slots_message_of_cells cells) + | Error _ -> + (* DAL RPC failed, likely because DAL is not enabled or no data yet *) + return_ok None + +let add_messages ~is_first_block ?dal_attested_slots_message + ~predecessor_timestamp ~predecessor inbox messages = let open Lwt_result_syntax in let no_history = Sc_rollup.Inbox.History.empty ~capacity:0L in lift @@ -113,6 +185,7 @@ let add_messages ~is_first_block ~predecessor_timestamp ~predecessor inbox messages_with_protocol_internal_messages ) = Sc_rollup.Inbox.add_all_messages ~first_block:is_first_block + ?dal_attested_slots_message ~predecessor_timestamp ~predecessor no_history @@ -128,8 +201,20 @@ let add_messages ~is_first_block ~predecessor_timestamp ~predecessor inbox inbox, messages_with_protocol_internal_messages ) +(* Get the protocol activation level for the current protocol, matching the + protocol's Protocol_activation_level. This stores the level at which the + protocol was activated. *) +let get_proto_activation_level node_ctxt protocol_hash = + let open Lwt_result_syntax in + let* level_info = + Node_context.protocol_activation_level node_ctxt protocol_hash + in + match level_info with + | First_known l -> return_some l + | Activation_level l -> return_some l + let process_messages (node_ctxt : _ Node_context.t) ~is_first_block - ~(predecessor : Layer1.header) messages = + ~(predecessor : Layer1.header) ~head_hash ~protocol_hash messages = let open Lwt_result_syntax in let* inbox = Node_context.inbox_of_head node_ctxt (Layer1.head_of_header predecessor) @@ -143,12 +228,44 @@ let process_messages (node_ctxt : _ Node_context.t) ~is_first_block Sc_rollup.Inbox_message.(deserialize @@ unsafe_of_string msg)) messages in + (* Get the DAL attested slots message from L1, if any. + Dal_attested_slots was introduced in this protocol. The L1 only adds + Dal_attested_slots when published_level >= protocol_activation_level, + so we need the same check here to maintain inbox consistency during + migrations from protocols that don't support Dal_attested_slots. + TODO: https://gitlab.com/tezos/tezos/-/issues/8065 + Remove this check in the next protocol version. *) + let* dal_attested_slots_message = + let* proto_activation_level_opt = + get_proto_activation_level node_ctxt protocol_hash + in + match proto_activation_level_opt with + | Some proto_activation_level -> + (* Get attestation_lag from constants to compute published_level *) + let* constants = + Protocol_plugins.get_constants_of_level + node_ctxt + (Int32.succ predecessor.level) + in + let attestation_lag = constants.dal.attestation_lag in + let current_level = Int32.succ predecessor.level in + let published_level = + Int32.sub current_level (Int32.of_int attestation_lag) + in + (* Only add Dal_attested_slots if published_level >= proto_activation_level, + matching the protocol's behavior in apply.ml *) + if published_level >= proto_activation_level then + get_dal_attested_slots_message node_ctxt head_hash + else return_none + | None -> return_none + in let* ( _messages_history, witness_hash, inbox, messages_with_protocol_internal_messages ) = add_messages ~is_first_block + ?dal_attested_slots_message ~predecessor_timestamp ~predecessor:predecessor.hash inbox @@ -195,7 +312,13 @@ let process_head (node_ctxt : _ Node_context.t) ~(predecessor : Layer1.header) in let* head_proto = Node_context.protocol_of_level node_ctxt head.level in let is_first_block = head_proto.first_level_of_protocol in - process_messages node_ctxt ~is_first_block ~predecessor collected_messages + process_messages + node_ctxt + ~is_first_block + ~predecessor + ~head_hash:head.hash + ~protocol_hash:head_proto.protocol + collected_messages else let* inbox = Layer1_helpers.genesis_inbox @@ -212,7 +335,7 @@ let process_head (node_ctxt : _ Node_context.t) ~(predecessor : Layer1.header) return (inbox_hash, inbox, witness, []) let payloads_history_of_messages ~is_first_block ~predecessor - ~predecessor_timestamp messages = + ~predecessor_timestamp ?dal_attested_slots_message messages = let open Result_syntax in let dummy_inbox = (* The inbox is not necessary to compute the payloads *) @@ -236,6 +359,7 @@ let payloads_history_of_messages ~is_first_block ~predecessor Environment.wrap_tzresult @@ Sc_rollup.Inbox.add_all_messages ~first_block:is_first_block + ?dal_attested_slots_message ~predecessor_timestamp ~predecessor (Sc_rollup.Inbox.History.empty ~capacity:0L) @@ -286,5 +410,54 @@ let init ~predecessor_timestamp ~predecessor ~level = |> Sc_rollup_proto_types.Inbox.to_octez module Internal_for_tests = struct - let process_messages = process_messages + (* For tests, we don't fetch DAL attested slots info from L1 *) + let process_messages (node_ctxt : _ Node_context.t) ~is_first_block + ~(predecessor : Layer1.header) messages = + let open Lwt_result_syntax in + let* inbox = + Node_context.inbox_of_head node_ctxt (Layer1.head_of_header predecessor) + in + let predecessor_timestamp = predecessor.header.timestamp in + let inbox = Sc_rollup_proto_types.Inbox.of_octez inbox in + let*? messages = + Environment.wrap_tzresult + @@ List.map_e + (fun msg -> + Sc_rollup.Inbox_message.(deserialize @@ unsafe_of_string msg)) + messages + in + let* ( _messages_history, + witness_hash, + inbox, + messages_with_protocol_internal_messages ) = + add_messages + ~is_first_block + ~predecessor_timestamp + ~predecessor:predecessor.hash + inbox + messages + in + let*? messages_with_protocol_internal_messages = + Environment.wrap_tzresult + @@ List.map_e + (fun msg -> + let open Result_syntax in + let+ msg = Sc_rollup.Inbox_message.serialize msg in + Sc_rollup.Inbox_message.unsafe_to_string msg) + messages_with_protocol_internal_messages + in + let* () = + Node_context.save_messages + node_ctxt + witness_hash + ~level:(Int32.succ predecessor.level) + messages_with_protocol_internal_messages + in + let inbox = Sc_rollup_proto_types.Inbox.to_octez inbox in + let* inbox_hash = Node_context.save_inbox node_ctxt inbox in + let witness_hash = + Sc_rollup_proto_types.Merkelized_payload_hashes_hash.to_octez witness_hash + in + return + (inbox_hash, inbox, witness_hash, messages_with_protocol_internal_messages) end diff --git a/src/proto_alpha/lib_sc_rollup_node/inbox.mli b/src/proto_alpha/lib_sc_rollup_node/inbox.mli index 846844c1809cc299bc45682ac1c85348e1f43ab7..788afedcfa53edf476a3867075106f059ddbaebc 100644 --- a/src/proto_alpha/lib_sc_rollup_node/inbox.mli +++ b/src/proto_alpha/lib_sc_rollup_node/inbox.mli @@ -38,11 +38,12 @@ open Sc_rollup include Protocol_plugin_sig.INBOX -(** [add_messages ~is_first_block ~predecessor_timestamp - ~predecessor inbox messages] adds [messages] to the [inbox] using - {!Sc_rollup.Inbox.add_all_messages}. *) +(** [add_messages ~is_first_block ?dal_attested_slots_message + ~predecessor_timestamp ~predecessor inbox messages] adds [messages] to the + [inbox] using {!Sc_rollup.Inbox.add_all_messages}. *) val add_messages : is_first_block:bool -> + ?dal_attested_slots_message:Inbox_message.internal_inbox_message -> predecessor_timestamp:Timestamp.time -> predecessor:Block_hash.t -> Inbox.t -> @@ -55,14 +56,15 @@ val add_messages : Lwt.t (** [payloads_history_of_messages ~is_first_block ~predecessor - ~predecessor_timestamp messages] builds the payloads history for - the list of [messages]. This allows to not store payloads - histories (which contain merkelized skip lists) but simply + ~predecessor_timestamp ?dal_attested_slots_message messages] builds the + payloads history for the list of [messages]. This allows to not store + payloads histories (which contain merkelized skip lists) but simply messages. *) val payloads_history_of_messages : is_first_block:bool -> predecessor:Block_hash.t -> predecessor_timestamp:Timestamp.time -> + ?dal_attested_slots_message:Sc_rollup.Inbox_message.internal_inbox_message -> string list -> Sc_rollup.Inbox_merkelized_payload_hashes.History.t tzresult diff --git a/src/riscv/Makefile b/src/riscv/Makefile index 0ec61b811d6e71aae020e7eec36673e433e666ab..61c53d48f5d409c967dcba88091c3f0b21e64ffb 100644 --- a/src/riscv/Makefile +++ b/src/riscv/Makefile @@ -73,8 +73,8 @@ endif # 'rustup toolchain install' (Rustup 1.28+) will install the toolchain. @find . -iname 'rust-toolchain*' -execdir sh -c "rustup show active-toolchain || rustup toolchain install" \; 2>/dev/null - # Coverage deps - @./scripts/isa-suite-coverage.sh -d + # Coverage deps (commented out - script may not be available) + # @./scripts/isa-suite-coverage.sh -d .PHONY: check check: diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - RPC API should work and be stable.out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - RPC API should work and be stable.out index f87d440e6e51383940b61ab8497cda4fa83dc066..81b04f788ff5fc23cbe42b860a60233a64727e82 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - RPC API should work and be stable.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - RPC API should work and be stable.out @@ -231,7 +231,7 @@ GET http://[HOST]:[PORT]/global/block/finalized/level GET http://[HOST]:[PORT]/global/block/head/num_messages 200 OK -"8" +"9" GET http://[HOST]:[PORT]/global/block/head/durable/wasm_2_0_0/value?key=/readonly/wasm_version 404 Not Found @@ -245,7 +245,7 @@ GET http://[HOST]:[PORT]/global/block/head/status GET http://[HOST]:[PORT]/global/block/head/ticks 200 OK -"28" +"29" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - node advances PVM state with messages (external).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - node advances PVM state with messages (external).out index 5ac7cb6b9e6500cf098c354d613bb39f3b91939a..9ee7521f0af040da50f301d32f36342a0241c5a2 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - node advances PVM state with messages (external).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - node advances PVM state with messages (external).out @@ -211,7 +211,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"88" +"89" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -219,7 +219,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"88" +"89" ./octez-client --wait none send smart rollup message '["5 14 + value"]' from bootstrap2 @@ -256,7 +256,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"110" +"112" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -264,7 +264,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"110" +"112" ./octez-client --wait none send smart rollup message '["6 16 + value"]' from bootstrap2 @@ -301,7 +301,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"132" +"135" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -309,7 +309,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"132" +"135" ./octez-client --wait none send smart rollup message '["7 18 + value"]' from bootstrap2 @@ -346,7 +346,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"154" +"158" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -354,7 +354,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"154" +"158" ./octez-client --wait none send smart rollup message '["8 20 + value"]' from bootstrap2 @@ -391,7 +391,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"176" +"181" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -399,7 +399,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"176" +"181" ./octez-client --wait none send smart rollup message '["9 22 + value"]' from bootstrap2 @@ -436,7 +436,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"198" +"204" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -444,7 +444,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"198" +"204" ./octez-client --wait none send smart rollup message '["10 24 + value"]' from bootstrap2 @@ -481,5 +481,5 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"221" +"228" diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - node advances PVM state with messages (internal).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - node advances PVM state with messages (internal).out index e662624af06a6dc2e791ad091332b4a66aed0005..15f3faada3f8c5fd373ee5719b51c132b54c7cd8 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - node advances PVM state with messages (internal).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - node advances PVM state with messages (internal).out @@ -91,7 +91,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"69" +"70" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -99,7 +99,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"69" +"70" GET http://[HOST]:[PORT]/global/block/head/state?key=vars/value 200 OK @@ -111,7 +111,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"91" +"93" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -119,7 +119,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"91" +"93" GET http://[HOST]:[PORT]/global/block/head/state?key=vars/value 200 OK @@ -131,7 +131,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"113" +"116" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -139,7 +139,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"113" +"116" GET http://[HOST]:[PORT]/global/block/head/state?key=vars/value 200 OK @@ -151,7 +151,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"135" +"139" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -159,7 +159,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"135" +"139" GET http://[HOST]:[PORT]/global/block/head/state?key=vars/value 200 OK @@ -171,7 +171,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"157" +"162" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -179,7 +179,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"157" +"162" GET http://[HOST]:[PORT]/global/block/head/state?key=vars/value 200 OK @@ -191,7 +191,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"179" +"185" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -199,7 +199,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"179" +"185" GET http://[HOST]:[PORT]/global/block/head/state?key=vars/value 200 OK @@ -211,7 +211,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"201" +"208" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -219,7 +219,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"201" +"208" GET http://[HOST]:[PORT]/global/block/head/state?key=vars/value 200 OK @@ -231,5 +231,5 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"224" +"232" diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (bailout_mode_defends_its_com.out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (bailout_mode_defends_its_com.out index 5352b3a29b3c5661cff66a242dcc12260a80900c..a1c34537c8ca8e695a702aba6e029a89292425a0 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (bailout_mode_defends_its_com.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (bailout_mode_defends_its_com.out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "582", + "end_tick": "589", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -62,80 +62,80 @@ "tick": "234" }, { - "state": "srs12kh4XcDdzKZ8Pc4T7QsXm36XUqVe4cxtWJ2BxHrHwENrqEL9Ay", + "state": "srs131eKCZYTuUZkoBC6UCb65NKxCHgDAy5Cb2cZjKPxZk2dE61Vaj", "tick": "252" }, { - "state": "srs11hjoicX5kycSCkvbxZ7LDWwdbsV2qWEXBDurY3Sf5zwS8tUL3a", + "state": "srs11sFzScc4tCRcs6u3YVyJJbs4PzPSmsUpMwDmZnCw4z8g8Dq28d", "tick": "270" }, { - "state": "srs11n9qrtzJPgMSFze3erzSzvB5EAm48kTnEC9oJJYqxV6vRApyK5", + "state": "srs1215LZPP55Ja9w2EKBwbdyRdSDxx1JN6rReWbHayaWJHvjGDw8o", "tick": "288" }, { - "state": "srs1336xiQkLT9knTk1fco58u9hxKNqdHS1YPUwxGKLT2MhPzEMC7N", + "state": "srs121zmW1wyNEYWkky8A9vYfMzUiRPoSYu19jXpjcCbjhX7g43Xvf", "tick": "306" }, { - "state": "srs12CfNGraungvWxhYVdXr26w2aS1Ei6Eo5XgzDLdqn4LRDdduqom", + "state": "srs12gMVMcZPLEZ3nNispr7cxPzszAjmo8QYw1qnLNA1kqYBEBp8ng", "tick": "324" }, { - "state": "srs12BwLvVrWQv531zELu8TrCymUS1Gm9Naafz3PX6miVBYcZycJjr", + "state": "srs11gmyJWG8AfJh6kjwWF52smvGpaZq6k2i676xu9RaK63JfHXTja", "tick": "342" }, { - "state": "srs12ekcYu6yArjgAGuJAg5cwq6zPvKxdk6KCmnBtGYy7JP6kEBFqb", + "state": "srs121YG4dX4s56AhgZyXRLmpjWr7zUuQjEU1Xt68HW3j7z5KySPSg", "tick": "360" }, { - "state": "srs12a3AthkZ1i6H2x4RrPXN49iUmCVBSBkteWQTgEyWzQhpCzpoZD", + "state": "srs12XyFbq2p2iGdGREHz3RkxF2tY4Ng4t7ppvzoW1UAVpQMrKCPdX", "tick": "378" }, { - "state": "srs12EXB6ARrgEz3pi71R6nzxtQ4PMY8Azwy2DYmmTJRkne8d6rW42", + "state": "srs11Z9KGAHnLYvwrRMVQ8a5ofRNa6DswYfc3mHwW8aGXkDSZtMeeu", "tick": "396" }, { - "state": "srs11fDjhakCGzwrmM7bHy4RJp8aGUgSFRN57tDDL2LzhXvDukwEJ1", + "state": "srs12ZazS7DfJKuy7wGTcmSAkXrG6epUiLGMvBTAt6oV3KgS7SDf1T", "tick": "414" }, { - "state": "srs1397ahAZp3GHxcSuvgvSk3MrdNaosN2nhkx8kDwuh3GF2ruEWzB", + "state": "srs13CNf9LSQnTKhn4WnRz4CMbc627eptij3rA57ZupSVMBpnAXAuT", "tick": "432" }, { - "state": "srs12sZ9L8e4CVC86wfn8o5KwroqUxMdGyzkjdkaVC4BM3PCeu1foW", + "state": "srs11WeGttpoCfaHCFxG4xvGJPsC6nQ44dp3j5CxHj6ydoEyrnsixM", "tick": "450" }, { - "state": "srs13Jw5EzkDA1kK1ysWBT7QoQdoBWPtWLxbcg7tzhqmoQpMAzPDyr", + "state": "srs12EJetVUopCq9rSwDHpsnQ7ivxT8BnwfTiKXvhm1c7NEn4LMb25", "tick": "468" }, { - "state": "srs12TjQfFTgrKzckqg65A3FUJfErZ2Eu6SXj2tWDAsi8iRf5hTcR6", + "state": "srs11sHTURfye1D1RxTxePSPgE32cgEWZcvJEyXh87jNXvxzQSNSkG", "tick": "486" }, { - "state": "srs12qYpCJiJoTiro1gs1y1HJNVLYv9Dp72bKDqwick9speqAPonWg", + "state": "srs13ArD1HVZCZMm8AoGFMwCdnn82R21YF7XXsFtbUGLLH9tdDNkNT", "tick": "504" }, { - "state": "srs12JqZ2LaeC5RSw5xiaKDnUyW3uoH1L7qLB29fTR6tX7UH5VeXjk", + "state": "srs12jXjUQKeEjqE1GZ22xW5hXUYyF777nAZLgxKHPKpoeb1jXy6bU", "tick": "522" }, { - "state": "srs13JbbzvBhzL8gjxyUGBQfZ67i4gFbab3qVQYSJoMg9xgQuovNMB", + "state": "srs11ufoNhDPiBJf7mVzTvfrXNsLkeQBishorbKp2tiBd6zquFqcmx", "tick": "540" }, { - "state": "srs12ZGKGftAktgHZThDcahUSdoRjn214kafcq5eNqcUjb3SesLeWd", + "state": "srs12SnotnQVWfM4oFwjPm8W6R8b21HB5tyu73a243AQtW9uasEdH9", "tick": "558" }, { - "state": "srs11Z7LSVYF6rBXAsR8Y5LjiQNgjPNs2eLAyUp2jWCf5QDMcSHqa6", - "tick": "582" + "state": "srs11fgo9C7FwUzH3LcWH8XJ1vz1RZPgSwEKAViMJ25axCGzwL96TA", + "tick": "589" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (degraded_new).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (degraded_new).out index 21dd59570246db53bb9b6ee82c14493c14e841ea..56343024b3c646e51df416b8cb8888a1ed5cc309 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (degraded_new).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (degraded_new).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "417", + "end_tick": "424", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -82,60 +82,60 @@ "tick": "234" }, { - "state": "srs12MYeKGU7Z4FaTLv1zvVnM5LSyU4rxa8AYYcww2eFCZVKdMZuEb", + "state": "srs11pi3ZGV3PH8XzDeCutSsKdjQiZY5fj9yZZF2xYuU69itdwjw2C", "tick": "247" }, { - "state": "srs137JBFZyQNJJM52n71pdejwufxfwQrQ4z41Xb2TZFi3kPxo9GVK", + "state": "srs122jDdhgSWyiMmNpUcLo2DiEUjxLxpi6yDuP5h51uCddWrfHJfi", "tick": "260" }, { - "state": "srs12EYym2XxLNcVELe52ayForgTHud15bZ4DvZPMMbkVtHfpamF96", + "state": "srs124RMrZY5vJXTAbjZbK7a87xS6jdHrjcqGgnm6KbJh8G9mZZq8q", "tick": "273" }, { - "state": "srs12i9d5DFwE9mwBJ7dZ1CNBVpRkHgB5Jw3HkKzsQXFjDAjezdk3G", + "state": "srs11yAQeKxKdts7it5Yzfbzvf7H9bUE4sygJ3xSF3HJwws1osbXX4", "tick": "286" }, { - "state": "srs12vL82Rtjse9cbjRPKKm3D6CMcyCMJrnaKLAzFoksXZwtH485nS", + "state": "srs13MrYxAze8TspFgvXS1UfVS1DsTsBKu23uDxFNC1w9T7wgcDLWT", "tick": "299" }, { - "state": "srs11WShqggcBnBpSieSH5xKz2F6xKmWJpR2i7TEJpVwkhJzPPYdud", + "state": "srs11TcuEPRbopy75WoJFSgmRbhASp2wuwB3Q1gq4zVHLVE8PUXJeL", "tick": "312" }, { - "state": "srs11xF2PURqwnLMV1euEAT4tAqxkQ8TXbuzX5Db9ecXzEmq4vdNVc", + "state": "srs12346oCZGWuT6iNk7NRR1EqAEVKiPKkWxPxuPojcFEZuwzrGX3J", "tick": "325" }, { - "state": "srs13Loomnt2mmeCnkeL2Aj8dCKDVHKyboHgYo1czxciX7cGTw6FBw", + "state": "srs12boWFWXGtpXSrcoLth8ouJ2yW2ATfr6vDpiHNx2FpegKDKz8BX", "tick": "338" }, { - "state": "srs136CJnze7BAo2W7QfeXfTDCgPiJb1B96ZjRTwFBDPSEj4TxRAms", + "state": "srs12JkQShcPoaEq1LwXQQXXRYiL9C5Rfyd7Pwq7oQfXrkU4snYesR", "tick": "351" }, { - "state": "srs11mTsFKqAKVhxCpemyP7ZgRSxp6MEmsDg8TbQuFE9KR6JhLvMVt", + "state": "srs11VAxYWGEynDLThiezkSWYc5n3Xwn1quHR7NqPWjBRqiTew77eW", "tick": "364" }, { - "state": "srs1224yjiE2kaEwojELN5JxPqBWN1Tg2GexDyqSXR9nF8zcycdnLi", + "state": "srs11kszn9gJPXepifzahpZePdTPV434H9GdabyGVpngc6iTN72UsD", "tick": "377" }, { - "state": "srs11UPJL2dsoKuoYTLaC4P4btBQpX64nAZKPP91cbcjB8EtooyxoX", + "state": "srs12xehpXGNBPAnitKiB7Z8tqZVc2vh45jALwkBBPX2nsAVUtZfrw", "tick": "390" }, { - "state": "srs11mzrfqsjbL2PqsFpMDwyF876tz4tLpVbSrZRq52kuyYJCMYCKh", + "state": "srs12bxn3xoJfK8qqtnZrYrXN5pNgch2fkBGkf1W1N7ASgCrGbiPUK", "tick": "403" }, { - "state": "srs12GENJ4uXAQmRdZJQuitRbD6LxNYLkKK4yysjwBLmV2mZJosroC", - "tick": "417" + "state": "srs11gu18WAWpV2Pd4CHMZktiS4qMv1qRE5EMPw4FUtYbk1UjYJwuz", + "tick": "424" } ] } @@ -143,16 +143,16 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "237", - "end_tick": "238", + "start_tick": "238", + "end_tick": "239", "dissection": [ { - "state": "srs12bo57GfkUkpNopgptNPbtz68dZfojHbyC6ubeJVgptm6vBVSns", - "tick": "237" + "state": "srs11YSB7Vo7YSRAyiHjRhaDRosk3qfNkEgh7hhVHCKMKboS1VmQyk", + "tick": "238" }, { - "state": "srs132gM47wMyDBtD4LLHRLjJwTtThhVJZD41egGDbupcNC9C43N3K", - "tick": "238" + "state": "srs12kjxBtmk5mPK9k6mAUU8Z3hpoYbu3H2yvfZ4W62Hu9XpS8rmzb", + "tick": "239" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (degraded_ongoing).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (degraded_ongoing).out index 21dd59570246db53bb9b6ee82c14493c14e841ea..56343024b3c646e51df416b8cb8888a1ed5cc309 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (degraded_ongoing).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (degraded_ongoing).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "417", + "end_tick": "424", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -82,60 +82,60 @@ "tick": "234" }, { - "state": "srs12MYeKGU7Z4FaTLv1zvVnM5LSyU4rxa8AYYcww2eFCZVKdMZuEb", + "state": "srs11pi3ZGV3PH8XzDeCutSsKdjQiZY5fj9yZZF2xYuU69itdwjw2C", "tick": "247" }, { - "state": "srs137JBFZyQNJJM52n71pdejwufxfwQrQ4z41Xb2TZFi3kPxo9GVK", + "state": "srs122jDdhgSWyiMmNpUcLo2DiEUjxLxpi6yDuP5h51uCddWrfHJfi", "tick": "260" }, { - "state": "srs12EYym2XxLNcVELe52ayForgTHud15bZ4DvZPMMbkVtHfpamF96", + "state": "srs124RMrZY5vJXTAbjZbK7a87xS6jdHrjcqGgnm6KbJh8G9mZZq8q", "tick": "273" }, { - "state": "srs12i9d5DFwE9mwBJ7dZ1CNBVpRkHgB5Jw3HkKzsQXFjDAjezdk3G", + "state": "srs11yAQeKxKdts7it5Yzfbzvf7H9bUE4sygJ3xSF3HJwws1osbXX4", "tick": "286" }, { - "state": "srs12vL82Rtjse9cbjRPKKm3D6CMcyCMJrnaKLAzFoksXZwtH485nS", + "state": "srs13MrYxAze8TspFgvXS1UfVS1DsTsBKu23uDxFNC1w9T7wgcDLWT", "tick": "299" }, { - "state": "srs11WShqggcBnBpSieSH5xKz2F6xKmWJpR2i7TEJpVwkhJzPPYdud", + "state": "srs11TcuEPRbopy75WoJFSgmRbhASp2wuwB3Q1gq4zVHLVE8PUXJeL", "tick": "312" }, { - "state": "srs11xF2PURqwnLMV1euEAT4tAqxkQ8TXbuzX5Db9ecXzEmq4vdNVc", + "state": "srs12346oCZGWuT6iNk7NRR1EqAEVKiPKkWxPxuPojcFEZuwzrGX3J", "tick": "325" }, { - "state": "srs13Loomnt2mmeCnkeL2Aj8dCKDVHKyboHgYo1czxciX7cGTw6FBw", + "state": "srs12boWFWXGtpXSrcoLth8ouJ2yW2ATfr6vDpiHNx2FpegKDKz8BX", "tick": "338" }, { - "state": "srs136CJnze7BAo2W7QfeXfTDCgPiJb1B96ZjRTwFBDPSEj4TxRAms", + "state": "srs12JkQShcPoaEq1LwXQQXXRYiL9C5Rfyd7Pwq7oQfXrkU4snYesR", "tick": "351" }, { - "state": "srs11mTsFKqAKVhxCpemyP7ZgRSxp6MEmsDg8TbQuFE9KR6JhLvMVt", + "state": "srs11VAxYWGEynDLThiezkSWYc5n3Xwn1quHR7NqPWjBRqiTew77eW", "tick": "364" }, { - "state": "srs1224yjiE2kaEwojELN5JxPqBWN1Tg2GexDyqSXR9nF8zcycdnLi", + "state": "srs11kszn9gJPXepifzahpZePdTPV434H9GdabyGVpngc6iTN72UsD", "tick": "377" }, { - "state": "srs11UPJL2dsoKuoYTLaC4P4btBQpX64nAZKPP91cbcjB8EtooyxoX", + "state": "srs12xehpXGNBPAnitKiB7Z8tqZVc2vh45jALwkBBPX2nsAVUtZfrw", "tick": "390" }, { - "state": "srs11mzrfqsjbL2PqsFpMDwyF876tz4tLpVbSrZRq52kuyYJCMYCKh", + "state": "srs12bxn3xoJfK8qqtnZrYrXN5pNgch2fkBGkf1W1N7ASgCrGbiPUK", "tick": "403" }, { - "state": "srs12GENJ4uXAQmRdZJQuitRbD6LxNYLkKK4yysjwBLmV2mZJosroC", - "tick": "417" + "state": "srs11gu18WAWpV2Pd4CHMZktiS4qMv1qRE5EMPw4FUtYbk1UjYJwuz", + "tick": "424" } ] } @@ -143,16 +143,16 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "237", - "end_tick": "238", + "start_tick": "238", + "end_tick": "239", "dissection": [ { - "state": "srs12bo57GfkUkpNopgptNPbtz68dZfojHbyC6ubeJVgptm6vBVSns", - "tick": "237" + "state": "srs11YSB7Vo7YSRAyiHjRhaDRosk3qfNkEgh7hhVHCKMKboS1VmQyk", + "tick": "238" }, { - "state": "srs132gM47wMyDBtD4LLHRLjJwTtThhVJZD41egGDbupcNC9C43N3K", - "tick": "238" + "state": "srs12kjxBtmk5mPK9k6mAUU8Z3hpoYbu3H2yvfZ4W62Hu9XpS8rmzb", + "tick": "239" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof).out index 818f951869434eac318701a6b6850bc2a38bd58b..586a36e89b207571b0b3207342c38de74ec29929 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof).out @@ -3,137 +3,136 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "633", + "end_tick": "640", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", "tick": "0" }, { - "state": "srs136djDFuVnqYeyDr9UbyHP2SCqQbq8dnXZY6ePsS2aThtWDr2Ai", - "tick": "19" + "state": "srs12h9f4RS5zgBh3W5rDn4pg7UWnCdSqZGbfkLrYVUWTLG1jf1fx7", + "tick": "20" }, { - "state": "srs11sqLRJh2RwZdtg71dn5VddXExoYHQByQWYr7XsvnXojVXaLaRo", - "tick": "38" + "state": "srs12ZN5A95E5GrzcY6PMz6uAyVtea7dsHPPw9ng5CZwMvEa7k4SYS", + "tick": "40" }, { - "state": "srs12qSwJBtkq9B4VcpcSQAigEVBw5gsLTLgWoZ3h8WQm5FU5vSxpy", - "tick": "57" + "state": "srs12Vbk8abX8jw8LRUprdM5duBK25j6cTyPdZGVGKj4gyzTeqVP1x", + "tick": "60" }, { - "state": "srs12SbiEtcNeAPNX1YNC83Ysm2wUToTbP14m7nAR3NUcJKTprUGfV", - "tick": "76" + "state": "srs12PvxfsPjL6TqK32cfDcAcZG7Yvzzguvr4Tuf95BqnVGzQ6TWPv", + "tick": "80" }, { - "state": "srs11TLxQ6xy4HxoT4tonedSZ4nR3wS6nPEt9k4kJgCTpCbfwATfZU", - "tick": "95" + "state": "srs12QJD5vQGevHzdgqsBWpwCjsbxghqfXzjGaejtUbagdC1nGRNir", + "tick": "100" }, { - "state": "srs13Cy8eZRTBm5QM6BXKRJ1NPQzNibT8UBUDLKedW5RG9ojyygEja", - "tick": "114" + "state": "srs13B9S5Ur2ekLTXseMgkYpu11YuZCQmx6xbu5aYk7XZk2wTLyFaG", + "tick": "120" }, { - "state": "srs12gYytLqonfQQp3Q1wW5kPywFxgBmR6168L6bW9TUCTdP7rimpQ", - "tick": "133" + "state": "srs11o24y3SPfP6f4fb4k6GtNqwqWafzVFGUXEhj1TVasmzszFM7no", + "tick": "140" }, { - "state": "srs129US7aZPgijAeWY81dXLGPrvfyY5PVbH5vMdG4dLmVcgNiTpSn", - "tick": "152" + "state": "srs135jQp7Tz8LDF9xM7et2hTsr1n7UcEpmdj3bNYBf3DkEXwkKPuY", + "tick": "160" }, { - "state": "srs13CHzURWpekmoxepmLWivVNZqUEeUrztuGuWeswokZYrRnWRR6S", - "tick": "171" + "state": "srs11g395YpbNK3ZJopvv6cc7Gcc8H4Lv2MNhaQsCqfV7LztCUBvV1", + "tick": "180" }, { - "state": "srs12BVfJAc9r5JRVSXcJFMGTBc6e7qGrdGUmrXfdN8QUiqkDQoSUC", - "tick": "190" + "state": "srs137BzrZuR1idLB7DdhCuVv2vxKSoGTaDu8HXUeaHbN5K8vrGi3X", + "tick": "200" }, { - "state": "srs12k9nfFw67eGmyTtaHMBSLjRaPMkJMjvKtK2ubcdVy63wkCoBhY", - "tick": "209" + "state": "srs12WbdN4QuwZKaokuknwyci3ARCRymwR8TKbY63QVJsjNYKdpupu", + "tick": "220" }, { - "state": "srs12DjAvkDmSo8FSMamgMHhWitZj4KVuNTCisiCYeJkycfn5pcjjE", - "tick": "228" + "state": "srs11yWgyU7Mz3uihbRzGtN6Soc813tNgVZ2AezW2iTBuVXEXqBURK", + "tick": "240" }, { - "state": "srs12MYeKGU7Z4FaTLv1zvVnM5LSyU4rxa8AYYcww2eFCZVKdMZuEb", - "tick": "247" + "state": "srs122jDdhgSWyiMmNpUcLo2DiEUjxLxpi6yDuP5h51uCddWrfHJfi", + "tick": "260" }, { - "state": "srs11vntikstjho8tvq7CSEGi8STaZ3EpuKQ6mtdnKX5ymMff9zdYE", - "tick": "266" + "state": "srs124Uv8juFLheGQjSs1GNnat2XMCXbPzWHHwqrZhosfmDKwnJmA9", + "tick": "280" }, { - "state": "srs135KBowyeD3NQCtEh4ufvja4JUVStxSCNWZcTGZ7J5YRy9Ci3Sv", - "tick": "285" + "state": "srs11YnnHMKpNWcWsSa7NkB4CGSLz28rqW4gZ5DAZSWvPeyP4vT2Kq", + "tick": "300" }, { - "state": "srs12oGJ623voxVYotTwCVhs1X6PkNSie61VY41FtKcoUJ92Pzjkwc", - "tick": "304" + "state": "srs13Ff2DyRjFUvHyBZaiRiAifiP492BWtAPnuHQGR4vypAHSuUUhh", + "tick": "320" }, { - "state": "srs12LkRiYqgvJLTHtQ16WAKfESd1M7szoq85baWTs7q773JCPJm2o", - "tick": "323" + "state": "srs12wjj2VEHmatzxdSkSGnxsccp5n83JXU3gStEpBqapLsb4mv4ne", + "tick": "340" }, { - "state": "srs12BwLvVrWQv531zELu8TrCymUS1Gm9Naafz3PX6miVBYcZycJjr", - "tick": "342" + "state": "srs121YG4dX4s56AhgZyXRLmpjWr7zUuQjEU1Xt68HW3j7z5KySPSg", + "tick": "360" }, { - "state": "srs12oTSNspRC6jYQBC6SBbbjLGvZdwzHGB3MpH9YauX5WnG1nR3rk", - "tick": "361" + "state": "srs12Kd2eNC27NsZfbfUXZzudVsNTKqvxV38FNDQZiRfTJoUxGM5iJ", + "tick": "380" }, { - "state": "srs11yCYcjjygmBdQBHdVJiWTu4iPrK74PvXqqTPAuvDWnWRFdt8zR", - "tick": "380" + "state": "srs13NK3i7tjXjsRxhaNNXRPa8EDcfGsdL9AYo43JjzhN7mY4gGurW", + "tick": "400" }, { - "state": "srs12euFuDjku1Aht4aSrt9vu92pWNWYCG2WCPfj9Unnx6Sp1gCu1H", - "tick": "399" + "state": "srs11hP4PcZfK6vsjZLDwW3bXfhtaujYxniKsSdd1SYUTSzXFmczLM", + "tick": "420" }, { - "state": "srs11YiQvUc9xWrqY75PHU134RYHVYqDvnPHWdCGkYEMyMMx7H6NiZ", - "tick": "418" + "state": "srs12okHsjAa8nLh1TsmfzKvXwwbPQQW7wdrcCpRXToEQkfVLREhXi", + "tick": "440" }, { - "state": "srs12AMmCyw3wsxK28Cdg8WPhzdRe4W2V1u6z6MukY52XzMoiASAv8", - "tick": "437" + "state": "srs12g28tvyL5hPR9CacnFKdBTmxW3KPBgEvYxLfC5camv1qckCgKN", + "tick": "460" }, { - "state": "srs11dsgEhcACoZfZFioGpSYX2mTZNdtmV2E6CZRM7Ctu3jPjvvVTR", - "tick": "456" + "state": "srs11bFBgbSpdnCBh96zza8YxLVZgjHXZbixKovAXB1AUfSKRJbMyD", + "tick": "480" }, { - "state": "srs11orZFWdbyT5nb3UWV8Gp76ZUq57aUXaXhQiLYLVD9qW8VVgijJ", - "tick": "475" + "state": "srs12TS9k7Yfv9uimJojQpWTQffTwUbUj62TuEzEvjmTuc5XyYFXfU", + "tick": "500" }, { - "state": "srs12zM6jTWMXtgAyJgEt4uR7ZNv8b2zjNBBNy6t2k8EyEhJ31rhBV", - "tick": "494" + "state": "srs13JzZb8ak84erEPPhLavHJeFMpV2rfTXLXLqdzHKBrmXzbHnH9i", + "tick": "520" }, { - "state": "srs11nZY6GFt1bDrgANFKSb5EfzWQ1tx4ioyWY1ZkSRhKRujXG7PhM", - "tick": "513" + "state": "srs11ufoNhDPiBJf7mVzTvfrXNsLkeQBishorbKp2tiBd6zquFqcmx", + "tick": "540" }, { - "state": "srs12yo5wkoFZjL6cHgPPMqzz2HZ5Y4ThYejfhB5QUqhAzrk7UJBGW", - "tick": "532" + "state": "srs12Cntn4G379he1di2tfv2eKhkaS9NJgMSYocjRdkgt9EyuEmaTm", + "tick": "560" }, { - "state": "srs13DpzUuwPEBhHBxr2CfRcyycJZYxRTjWJ4GBy4HfzNiNxkjW1mS", - "tick": "551" + "state": "srs11mUaJDHDerd14v7YxRf1UsQVxcWGjVJAbkx7osCcxnSfyXCcjC", + "tick": "580" }, { - "state": "srs11pWX2JdSoTB4vdvEBnZFhkKujFyYHFFtnbLUKhduJnriGYWbHM", - "tick": "570" + "tick": "600" }, { - "tick": "589" + "tick": "620" }, { - "tick": "633" + "tick": "640" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_at_genesis).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_at_genesis).out index 8cc709af826ffda018ccf7625aa47be8c7dfe568..2c3405cfa84d880d9a2cff006a346cd0fe2c32f6 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_at_genesis).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_at_genesis).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "582", + "end_tick": "589", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -62,80 +62,80 @@ "tick": "234" }, { - "state": "srs12kh4XcDdzKZ8Pc4T7QsXm36XUqVe4cxtWJ2BxHrHwENrqEL9Ay", + "state": "srs131eKCZYTuUZkoBC6UCb65NKxCHgDAy5Cb2cZjKPxZk2dE61Vaj", "tick": "252" }, { - "state": "srs11hjoicX5kycSCkvbxZ7LDWwdbsV2qWEXBDurY3Sf5zwS8tUL3a", + "state": "srs11sFzScc4tCRcs6u3YVyJJbs4PzPSmsUpMwDmZnCw4z8g8Dq28d", "tick": "270" }, { - "state": "srs11n9qrtzJPgMSFze3erzSzvB5EAm48kTnEC9oJJYqxV6vRApyK5", + "state": "srs1215LZPP55Ja9w2EKBwbdyRdSDxx1JN6rReWbHayaWJHvjGDw8o", "tick": "288" }, { - "state": "srs1336xiQkLT9knTk1fco58u9hxKNqdHS1YPUwxGKLT2MhPzEMC7N", + "state": "srs121zmW1wyNEYWkky8A9vYfMzUiRPoSYu19jXpjcCbjhX7g43Xvf", "tick": "306" }, { - "state": "srs12CfNGraungvWxhYVdXr26w2aS1Ei6Eo5XgzDLdqn4LRDdduqom", + "state": "srs12gMVMcZPLEZ3nNispr7cxPzszAjmo8QYw1qnLNA1kqYBEBp8ng", "tick": "324" }, { - "state": "srs12BwLvVrWQv531zELu8TrCymUS1Gm9Naafz3PX6miVBYcZycJjr", + "state": "srs11gmyJWG8AfJh6kjwWF52smvGpaZq6k2i676xu9RaK63JfHXTja", "tick": "342" }, { - "state": "srs12ekcYu6yArjgAGuJAg5cwq6zPvKxdk6KCmnBtGYy7JP6kEBFqb", + "state": "srs121YG4dX4s56AhgZyXRLmpjWr7zUuQjEU1Xt68HW3j7z5KySPSg", "tick": "360" }, { - "state": "srs12a3AthkZ1i6H2x4RrPXN49iUmCVBSBkteWQTgEyWzQhpCzpoZD", + "state": "srs12XyFbq2p2iGdGREHz3RkxF2tY4Ng4t7ppvzoW1UAVpQMrKCPdX", "tick": "378" }, { - "state": "srs12EXB6ARrgEz3pi71R6nzxtQ4PMY8Azwy2DYmmTJRkne8d6rW42", + "state": "srs11Z9KGAHnLYvwrRMVQ8a5ofRNa6DswYfc3mHwW8aGXkDSZtMeeu", "tick": "396" }, { - "state": "srs11fDjhakCGzwrmM7bHy4RJp8aGUgSFRN57tDDL2LzhXvDukwEJ1", + "state": "srs12ZazS7DfJKuy7wGTcmSAkXrG6epUiLGMvBTAt6oV3KgS7SDf1T", "tick": "414" }, { - "state": "srs1397ahAZp3GHxcSuvgvSk3MrdNaosN2nhkx8kDwuh3GF2ruEWzB", + "state": "srs13CNf9LSQnTKhn4WnRz4CMbc627eptij3rA57ZupSVMBpnAXAuT", "tick": "432" }, { - "state": "srs12sZ9L8e4CVC86wfn8o5KwroqUxMdGyzkjdkaVC4BM3PCeu1foW", + "state": "srs11WeGttpoCfaHCFxG4xvGJPsC6nQ44dp3j5CxHj6ydoEyrnsixM", "tick": "450" }, { - "state": "srs13Jw5EzkDA1kK1ysWBT7QoQdoBWPtWLxbcg7tzhqmoQpMAzPDyr", + "state": "srs12EJetVUopCq9rSwDHpsnQ7ivxT8BnwfTiKXvhm1c7NEn4LMb25", "tick": "468" }, { - "state": "srs12TjQfFTgrKzckqg65A3FUJfErZ2Eu6SXj2tWDAsi8iRf5hTcR6", + "state": "srs11sHTURfye1D1RxTxePSPgE32cgEWZcvJEyXh87jNXvxzQSNSkG", "tick": "486" }, { - "state": "srs12qYpCJiJoTiro1gs1y1HJNVLYv9Dp72bKDqwick9speqAPonWg", + "state": "srs13ArD1HVZCZMm8AoGFMwCdnn82R21YF7XXsFtbUGLLH9tdDNkNT", "tick": "504" }, { - "state": "srs12JqZ2LaeC5RSw5xiaKDnUyW3uoH1L7qLB29fTR6tX7UH5VeXjk", + "state": "srs12jXjUQKeEjqE1GZ22xW5hXUYyF777nAZLgxKHPKpoeb1jXy6bU", "tick": "522" }, { - "state": "srs13JbbzvBhzL8gjxyUGBQfZ67i4gFbab3qVQYSJoMg9xgQuovNMB", + "state": "srs11ufoNhDPiBJf7mVzTvfrXNsLkeQBishorbKp2tiBd6zquFqcmx", "tick": "540" }, { - "state": "srs12ZGKGftAktgHZThDcahUSdoRjn214kafcq5eNqcUjb3SesLeWd", + "state": "srs12SnotnQVWfM4oFwjPm8W6R8b21HB5tyu73a243AQtW9uasEdH9", "tick": "558" }, { - "state": "srs11Z7LSVYF6rBXAsR8Y5LjiQNgjPNs2eLAyUp2jWCf5QDMcSHqa6", - "tick": "582" + "state": "srs11fgo9C7FwUzH3LcWH8XJ1vz1RZPgSwEKAViMJ25axCGzwL96TA", + "tick": "589" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_many_empty_level.out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_many_empty_level.out index 66d4986ceb7aa7733bb4b640afbf2b66eead3d22..70f442121d3d69ed0b1e0bc6917698f7628dac98 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_many_empty_level.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_many_empty_level.out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "468", + "end_tick": "475", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -26,113 +26,114 @@ "tick": "56" }, { - "state": "srs11pcERsT7kE3orPMT1QF1kaquL2CtmYxeHAzxwQHVJGUCREpXUF", + "state": "srs12FkCCZHNUW2ZPGsn6G4jFXysyoLGqzhuzYDfGtMG5HuLi3f1ZC", "tick": "70" }, { - "state": "srs11i7eW3JXLDUzNVdbLoqqyQyqpZZaM5MdctK1sNXgLwr35bwXEU", + "state": "srs12Q7u38SAxK7wreanuQr8ZVC3Uva6ciUK3uoYHDcx6wxFd4DuYF", "tick": "84" }, { - "state": "srs128ALFziWJfj3jLMXDDiaKURdGgdF8AjBi5XRuYRPd52hdbx59o", + "state": "srs11mirY5nFcVNkvCCsjyH8ZVwfUZy233E6Qd1rGmXo3EbJma1jGT", "tick": "98" }, { - "state": "srs126vZs4PRgz7TU1gJeEhg8qh8SE8KibtBuQgDphM6kKFCawJMLv", + "state": "srs13FzPQcxXYUiKRGgGdrXE9r97KmqYrpPQ5b3a1vu731tAzvMHaJ", "tick": "112" }, { - "state": "srs11eT18ckw8GtyQnUbetuAtyAJv3x1pWoTX3zLn4c3pYcFPhUyyy", + "state": "srs13D44HbqRsw3jU2adUmLasFCdbhGewGQkkRvSmJ4teZZbXz8rpg", "tick": "126" }, { - "state": "srs12jiYyqL18PFUcaySmdo2xPaYPmXzTzjXAmvp96tyM8vBP1Lfbx", + "state": "srs11nyeZTQMXFmeXCbzewgmqRv9cmAnVTTkCyeNqzhbEetYsXji3Y", "tick": "140" }, { - "state": "srs12kjseLn7g46w3XzCnCJDpTAzpb7z1DrLFKityV2cdmM7YfXgMN", + "state": "srs12nYX3xRrhRrqpehCUKzWVyLEDJDALPbuLMMcEa5fU8LcGu55JE", "tick": "154" }, { - "state": "srs12RSxWwwJHSKBr5aNGYVo1Aqqio9zpwZ54aoqZyvUzfVJGNQ7Ym", + "state": "srs11a4qqLhUGrT2g454u9bSojB9nGobStxNPmYWDkbHskUAcY3y9B", "tick": "168" }, { - "state": "srs11eYzEcJgHdSnCnjteqGL27TNZNMTobMB92Nvu8QszLnNbdk44D", + "state": "srs11kh5uvDKjYEeQ4Sr7yJUGW3v4qHZjRxxFVb6UCsVD1GhtMHozX", "tick": "182" }, { - "state": "srs12LdMAokn4yqa7qkvqiYVUhztu1j29ECzeMtYwKgxP1XwZyky2m", + "state": "srs11YFDRFNFagJ53X69i8utf7Nru21xMQbbuThySKGeLUqmoMvvrs", "tick": "196" }, { - "state": "srs11rEpPUKDg8uf6nKGyrZ9QYi5kBkR76RBCUYE32yMocjXQ9kgKy", + "state": "srs12q7rRjQe57hbr1GdR3UDpbrbn7wS2HuPaEShZEyUV9XSrwBiyM", "tick": "210" }, { - "state": "srs11m354vvdXuyZxgufEqFDpRRtZK8Pq14QMAteLsrf3q9jbN3oHA", + "state": "srs122QxVomeny9ut783nusj5y57BBP7PSVMPHFbkRo7Df5S7sxQTu", "tick": "224" }, { - "state": "srs11gPQehoutgdKUc2fUzYCGKCdptPzdxZwzUzvCC5Gw9TvfDg818", + "state": "srs12o7ei9LDaNJPmEFnHvPsWeSJiM6tEX9R3abyJFDySRHKgudbS6", "tick": "238" }, { - "state": "srs12VY7x7YN6GtfPCuobVt5sccYimAQctSBPEJq3agXvpzCAVhtK1", + "state": "srs12fh2FWKN1AQhTyK9yASH6jiJtueM6S3c3cusjwYrZ2Wj5eVTB7", "tick": "252" }, { - "state": "srs11b8zZz9hEyQBEASLAeY9iR3vzYu7kLUibwU9MzC4DkS6FnrT2o", + "state": "srs1277P5cW5eySWaUbNJMgnMNLqiRzRBVgJ1WjUExp5FuPYgykXXS", "tick": "266" }, { - "state": "srs12RMropdVKfjBXxg4aiKnnDToYyXz7RnKYD3xqigw89zeHaagr9", + "state": "srs12MKTvp6m6Chjk9Pys84gn688pa1Cohy553SWZTMqoDCP4Zgta4", "tick": "280" }, { - "state": "srs11UdJmsUyPdEWjEpsqEfB9K3y7CvE5Z8AneSXkzjJZpe3fj8B45", + "state": "srs12U6tu5AfNAPp7LKGQobdaPXHBXzYw2zUAqaALm8aAscoV87NBT", "tick": "294" }, { - "state": "srs12bntDHvCKCE8QehACD4aWbsK1YnUwus1UBKgC7Q6VgVUvyqB1r", + "state": "srs12NHYvHw2gLqreaF2PmxrVutMJNdzq2Wuj4ikwSeaH4NFuipDv4", "tick": "308" }, { - "state": "srs12ruYFSeGbRcrTXzyULe53z2V4xdwdyxGXR7Jak5CpowWfFrfn5", + "state": "srs11ZsXk6YLSpPQ3wkoNFMT5RbBzRMTZ7yGgV9mAUGxYc4dXot3AB", "tick": "322" }, { - "state": "srs11qQ526RFb8tgYhQygykeHFMkE9x7sTMtcKYgUHCESaQwb7UQeE", + "state": "srs12tF4KPNj1HxwgrvsDsbf6Yxz4GSHy29rQ7HKk9VanUcCgmMUtg", "tick": "336" }, { - "state": "srs138ouCunrGSVmwgWzyzKhvD9qyjabyg8p2NGpoug4fat7DeRi4u", + "state": "srs1312ztopz9pwF5Mn3Vn2h6JcbHWirsLMBNoH2pzDhXLMXeN5x3D", "tick": "350" }, { - "state": "srs11YfbH7v6KD47GUYSN1uaMG1yZRzMsUfyXSGD7PYE5gVjnApDSx", + "state": "srs12KeUdextsb5M9sC8q1eCKLWpSe1t9XPa47TTHGJ48B5tyz9xhU", "tick": "364" }, { - "state": "srs13EWg6JsxZNxzrizd3qmeee57JjkTpEejJSucmiZeyCRnCvNnj6", + "state": "srs11o3H5NV8MQojkARyKJuuKbt1iapuTNhh1wp751ArLqntqkUpdk", "tick": "378" }, { - "state": "srs13KS7z9UPGhPPu5W1m3c4VSKNohcvZqzDDKUFDrfLNeyePTGzta", + "state": "srs13FUkiU41TXHMEJZPaVs9rd7j6js3ozXUvhiyaR4F9Za6UTQWco", "tick": "392" }, { - "state": "srs12HPqTYu6Vc62Dqza3mvwRPjiAb14UAoFnqdSMk4AbpraXYHSji", + "state": "srs133tyL4rbMDaV64xAFBoqF63Aqvo1xfeS4GGrXFVtb7kfLGUNim", "tick": "406" }, { + "state": "srs12aSmFQt2GaNEKTrPRvK3AEDGFyfmr4HQPy3nNvT59DByVkQFR4", "tick": "420" }, { "tick": "434" }, { - "tick": "468" + "tick": "475" } ] } @@ -140,16 +141,16 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "185", - "end_tick": "186", + "start_tick": "188", + "end_tick": "189", "dissection": [ { - "state": "srs123kr9jNQ7o9Cmn2TNiMjmKXzvoPJMamWWbA6xXAKAjNDpBtLFZ", - "tick": "185" + "state": "srs12GccY8rN2NKQVgD2z4MosRo8LiK29iiC7mEHWgPwt9b3nZ464R", + "tick": "188" }, { - "state": "srs11bEYDo5u6UYf66E1iDYJqUennbQJKEfD7H4AnjbkgHbvFwmxho", - "tick": "186" + "state": "srs11bsCn12WV35AK4gT6xKEmyPCHwzQckLA87bKdparrBHoyxDPGe", + "tick": "189" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_one_empty_level).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_one_empty_level).out index a5f7e83a0460b31918e520a8dbc1581419e2a101..e8b0ece7965f5922ad8696f9b5bd1786378a6bb9 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_one_empty_level).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_one_empty_level).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "578", + "end_tick": "585", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -46,83 +46,83 @@ "tick": "162" }, { - "state": "srs11umVKAFsvm1Y8L8CneYRMuhYq79SX83WPWcX3G5QGjfBeCHEEv", + "state": "srs11i8Q44HCNTmvPAmfPTxtBRrYrsAcMbGeFgzBtGXFunJw2Z6SZD", "tick": "180" }, { - "state": "srs11yCG69eQaUzS2GH6MZq9Nu9oyhH61EZEjHyEjwnD4yteAYhESK", + "state": "srs11ZSiSM99oaRBhquLL9oBp22fMDPqCig227eA5AnwPYJpJADZK3", "tick": "198" }, { - "state": "srs11YRpTrAwHofaf7oq1Fc6c9Qcj5UBJaZyVwmem21hFWZPST6f7Y", + "state": "srs11p8Q5o4yFvMzADsbZ6mShovhMSKWwpE9wvNt6Qx79JCx18Atu5", "tick": "216" }, { - "state": "srs11wQVXH2En7sjb3cwPiE7yWRseSu6te879VaMuWTdQ6pUCwQCad", + "state": "srs131T3jRjQTXBNvGarjsZwx1f2qDwfc1tgpN8Dbu8Y84omSsc1MB", "tick": "234" }, { - "state": "srs12ivGrKkby8YraJYiMQbLSVUzwcFfbzq3hG8nKdjSYdvL4yC8sP", + "state": "srs11j65bEMqT7dLg9gbqgrsCHHaSWcXxPf9FiKQRmF726eRCjqzBL", "tick": "252" }, { - "state": "srs12AVXc6LZpJkHJsyWyLkyL7iRv3seua8aYYwH28Yh8LtAbeKmNZ", + "state": "srs11Z8mABrJEyY8aByaeUso5D5B5azkPsuSpdLSfh1sdGB3dQpFHX", "tick": "270" }, { - "state": "srs133HeMV81Y3FcNv87tXbZGzodcH8Vy8xvj2ppYT1QfjuF6ewP9W", + "state": "srs128PafSy2uHmY1wC1ZtB2NvosxCSPVpR8KTgRYPbXpVZdBK97wr", "tick": "288" }, { - "state": "srs134ZQWewgB3Yo7VYXj8BpfGN7prLuAkWjNKqE4mGNPjoLXzK7s8", + "state": "srs1342eJhenkawjRmXa35gxqChsmgA5FFvK3GGR3cyWNLybJ3FqpM", "tick": "306" }, { - "state": "srs11tLF4MK95vEkAUmPWtmSVKN8G6u4WLzb8sTqz5ewNipkxByAGG", + "state": "srs12R9ReggF2d3GvFW9zETw4KzXEtaB5nZGqz4DLCrf71La24JuBb", "tick": "324" }, { - "state": "srs12pTUXxCuKPAZHnfjLQj6Ar2PZKnPxR5zHeF1N7C3zG7kc6dsEF", + "state": "srs12AfEr7uA7r7S6RDwPQ3i8UL6jVLE8JAfVADpfdEWt8GTzh7zqR", "tick": "342" }, { - "state": "srs13D76KsLu376MA3U39Di7sFFUgRLfQTyXEgfWMX8GF5T44AT4kv", + "state": "srs12ZMKstoAovyozW2SjD34eghTm7TmcJeqLroNqV3f1WyWmzFH1z", "tick": "360" }, { - "state": "srs133PUgBtNPiTFsn7cVhKjkt9PueNa3nnE7pDhcSsYS2rXABC34q", + "state": "srs132asHqwd5JfJUHfPegtzxqvKHUxWjngdbjwdnAsHHWd4MDQxYk", "tick": "378" }, { - "state": "srs12mUGsaCLwLFhrjy3G1Nn2pgzuAjnHB4QmBLgmAh9XUdU8a4hXR", + "state": "srs11mcdYrpKhWX3s9HCKwmggVzfmqHRZS8eah2B8mMgxFMzUTi4tj", "tick": "396" }, { - "state": "srs11rTadB7UA31wwXKn5Y6rnaWNds68J1zH3DndTXMUZUZv4QPRQr", + "state": "srs12FYd2jJPdF2pE7N1sUnNRZ38o85Xprg4P99wKPgtiSj97KfVzc", "tick": "414" }, { - "state": "srs13E4CczoA6w4jYjQG9ZLxA1YmMBRduErcYct9ufaaTNtvDAVdsT", + "state": "srs13Jr2Vf9fLBef4Dnv6uCLWtyDLLt75ktYDE2Jak8RucMKUXFs4y", "tick": "432" }, { - "state": "srs11osncmJUZDEK9x8sruFGhf97BqMyqvZXfTRKmyLPqtXAbAffmp", + "state": "srs11i1RtkaeCNmyowfBdafBgdjgcPDTcyf6HB7iZbLtWX3w4ZRUaT", "tick": "450" }, { - "state": "srs13LssXmYaEiNsws25RYcbvmQrbLKeLnD7kFggMMXHJKX8RuH73J", + "state": "srs11gsAC8xG39VYDjaRx1qUkE2AdvW5UkyPvM7A2HadB17wCKskXn", "tick": "468" }, { - "state": "srs1355rgVvZFKex1HGmdSrMtEU76rn8BfGd3zbm92F8TsDfrbSpyW", + "state": "srs11wJ9a2Dkw5i3wXZBj1YEVRTWSd8MKMcY6fk5F5eNdfJYXNv1s7", "tick": "486" }, { - "state": "srs12CT52vFheynRu95kdrBPdeygb1SjeZ1v7GkYSXDkVWMhJVDnmP", + "state": "srs128nXKrYeR7oMXsHSXYPKme9q5x85m7V9rJTQNySFUXN8dr7iXo", "tick": "504" }, { - "state": "srs11fzXLQRn2cNfZZXdy25NnktU5r63WM2cWS4Md9KvGUsHzm8owU", + "state": "srs13BpKK9uuvNjfPNuPTfJV2nJrPAhLRp8hSmZuQzd4C5oQAwUK2j", "tick": "522" }, { @@ -132,7 +132,7 @@ "tick": "558" }, { - "tick": "578" + "tick": "585" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_with_new_content.out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_with_new_content.out index 818f951869434eac318701a6b6850bc2a38bd58b..586a36e89b207571b0b3207342c38de74ec29929 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_with_new_content.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (inbox_proof_with_new_content.out @@ -3,137 +3,136 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "633", + "end_tick": "640", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", "tick": "0" }, { - "state": "srs136djDFuVnqYeyDr9UbyHP2SCqQbq8dnXZY6ePsS2aThtWDr2Ai", - "tick": "19" + "state": "srs12h9f4RS5zgBh3W5rDn4pg7UWnCdSqZGbfkLrYVUWTLG1jf1fx7", + "tick": "20" }, { - "state": "srs11sqLRJh2RwZdtg71dn5VddXExoYHQByQWYr7XsvnXojVXaLaRo", - "tick": "38" + "state": "srs12ZN5A95E5GrzcY6PMz6uAyVtea7dsHPPw9ng5CZwMvEa7k4SYS", + "tick": "40" }, { - "state": "srs12qSwJBtkq9B4VcpcSQAigEVBw5gsLTLgWoZ3h8WQm5FU5vSxpy", - "tick": "57" + "state": "srs12Vbk8abX8jw8LRUprdM5duBK25j6cTyPdZGVGKj4gyzTeqVP1x", + "tick": "60" }, { - "state": "srs12SbiEtcNeAPNX1YNC83Ysm2wUToTbP14m7nAR3NUcJKTprUGfV", - "tick": "76" + "state": "srs12PvxfsPjL6TqK32cfDcAcZG7Yvzzguvr4Tuf95BqnVGzQ6TWPv", + "tick": "80" }, { - "state": "srs11TLxQ6xy4HxoT4tonedSZ4nR3wS6nPEt9k4kJgCTpCbfwATfZU", - "tick": "95" + "state": "srs12QJD5vQGevHzdgqsBWpwCjsbxghqfXzjGaejtUbagdC1nGRNir", + "tick": "100" }, { - "state": "srs13Cy8eZRTBm5QM6BXKRJ1NPQzNibT8UBUDLKedW5RG9ojyygEja", - "tick": "114" + "state": "srs13B9S5Ur2ekLTXseMgkYpu11YuZCQmx6xbu5aYk7XZk2wTLyFaG", + "tick": "120" }, { - "state": "srs12gYytLqonfQQp3Q1wW5kPywFxgBmR6168L6bW9TUCTdP7rimpQ", - "tick": "133" + "state": "srs11o24y3SPfP6f4fb4k6GtNqwqWafzVFGUXEhj1TVasmzszFM7no", + "tick": "140" }, { - "state": "srs129US7aZPgijAeWY81dXLGPrvfyY5PVbH5vMdG4dLmVcgNiTpSn", - "tick": "152" + "state": "srs135jQp7Tz8LDF9xM7et2hTsr1n7UcEpmdj3bNYBf3DkEXwkKPuY", + "tick": "160" }, { - "state": "srs13CHzURWpekmoxepmLWivVNZqUEeUrztuGuWeswokZYrRnWRR6S", - "tick": "171" + "state": "srs11g395YpbNK3ZJopvv6cc7Gcc8H4Lv2MNhaQsCqfV7LztCUBvV1", + "tick": "180" }, { - "state": "srs12BVfJAc9r5JRVSXcJFMGTBc6e7qGrdGUmrXfdN8QUiqkDQoSUC", - "tick": "190" + "state": "srs137BzrZuR1idLB7DdhCuVv2vxKSoGTaDu8HXUeaHbN5K8vrGi3X", + "tick": "200" }, { - "state": "srs12k9nfFw67eGmyTtaHMBSLjRaPMkJMjvKtK2ubcdVy63wkCoBhY", - "tick": "209" + "state": "srs12WbdN4QuwZKaokuknwyci3ARCRymwR8TKbY63QVJsjNYKdpupu", + "tick": "220" }, { - "state": "srs12DjAvkDmSo8FSMamgMHhWitZj4KVuNTCisiCYeJkycfn5pcjjE", - "tick": "228" + "state": "srs11yWgyU7Mz3uihbRzGtN6Soc813tNgVZ2AezW2iTBuVXEXqBURK", + "tick": "240" }, { - "state": "srs12MYeKGU7Z4FaTLv1zvVnM5LSyU4rxa8AYYcww2eFCZVKdMZuEb", - "tick": "247" + "state": "srs122jDdhgSWyiMmNpUcLo2DiEUjxLxpi6yDuP5h51uCddWrfHJfi", + "tick": "260" }, { - "state": "srs11vntikstjho8tvq7CSEGi8STaZ3EpuKQ6mtdnKX5ymMff9zdYE", - "tick": "266" + "state": "srs124Uv8juFLheGQjSs1GNnat2XMCXbPzWHHwqrZhosfmDKwnJmA9", + "tick": "280" }, { - "state": "srs135KBowyeD3NQCtEh4ufvja4JUVStxSCNWZcTGZ7J5YRy9Ci3Sv", - "tick": "285" + "state": "srs11YnnHMKpNWcWsSa7NkB4CGSLz28rqW4gZ5DAZSWvPeyP4vT2Kq", + "tick": "300" }, { - "state": "srs12oGJ623voxVYotTwCVhs1X6PkNSie61VY41FtKcoUJ92Pzjkwc", - "tick": "304" + "state": "srs13Ff2DyRjFUvHyBZaiRiAifiP492BWtAPnuHQGR4vypAHSuUUhh", + "tick": "320" }, { - "state": "srs12LkRiYqgvJLTHtQ16WAKfESd1M7szoq85baWTs7q773JCPJm2o", - "tick": "323" + "state": "srs12wjj2VEHmatzxdSkSGnxsccp5n83JXU3gStEpBqapLsb4mv4ne", + "tick": "340" }, { - "state": "srs12BwLvVrWQv531zELu8TrCymUS1Gm9Naafz3PX6miVBYcZycJjr", - "tick": "342" + "state": "srs121YG4dX4s56AhgZyXRLmpjWr7zUuQjEU1Xt68HW3j7z5KySPSg", + "tick": "360" }, { - "state": "srs12oTSNspRC6jYQBC6SBbbjLGvZdwzHGB3MpH9YauX5WnG1nR3rk", - "tick": "361" + "state": "srs12Kd2eNC27NsZfbfUXZzudVsNTKqvxV38FNDQZiRfTJoUxGM5iJ", + "tick": "380" }, { - "state": "srs11yCYcjjygmBdQBHdVJiWTu4iPrK74PvXqqTPAuvDWnWRFdt8zR", - "tick": "380" + "state": "srs13NK3i7tjXjsRxhaNNXRPa8EDcfGsdL9AYo43JjzhN7mY4gGurW", + "tick": "400" }, { - "state": "srs12euFuDjku1Aht4aSrt9vu92pWNWYCG2WCPfj9Unnx6Sp1gCu1H", - "tick": "399" + "state": "srs11hP4PcZfK6vsjZLDwW3bXfhtaujYxniKsSdd1SYUTSzXFmczLM", + "tick": "420" }, { - "state": "srs11YiQvUc9xWrqY75PHU134RYHVYqDvnPHWdCGkYEMyMMx7H6NiZ", - "tick": "418" + "state": "srs12okHsjAa8nLh1TsmfzKvXwwbPQQW7wdrcCpRXToEQkfVLREhXi", + "tick": "440" }, { - "state": "srs12AMmCyw3wsxK28Cdg8WPhzdRe4W2V1u6z6MukY52XzMoiASAv8", - "tick": "437" + "state": "srs12g28tvyL5hPR9CacnFKdBTmxW3KPBgEvYxLfC5camv1qckCgKN", + "tick": "460" }, { - "state": "srs11dsgEhcACoZfZFioGpSYX2mTZNdtmV2E6CZRM7Ctu3jPjvvVTR", - "tick": "456" + "state": "srs11bFBgbSpdnCBh96zza8YxLVZgjHXZbixKovAXB1AUfSKRJbMyD", + "tick": "480" }, { - "state": "srs11orZFWdbyT5nb3UWV8Gp76ZUq57aUXaXhQiLYLVD9qW8VVgijJ", - "tick": "475" + "state": "srs12TS9k7Yfv9uimJojQpWTQffTwUbUj62TuEzEvjmTuc5XyYFXfU", + "tick": "500" }, { - "state": "srs12zM6jTWMXtgAyJgEt4uR7ZNv8b2zjNBBNy6t2k8EyEhJ31rhBV", - "tick": "494" + "state": "srs13JzZb8ak84erEPPhLavHJeFMpV2rfTXLXLqdzHKBrmXzbHnH9i", + "tick": "520" }, { - "state": "srs11nZY6GFt1bDrgANFKSb5EfzWQ1tx4ioyWY1ZkSRhKRujXG7PhM", - "tick": "513" + "state": "srs11ufoNhDPiBJf7mVzTvfrXNsLkeQBishorbKp2tiBd6zquFqcmx", + "tick": "540" }, { - "state": "srs12yo5wkoFZjL6cHgPPMqzz2HZ5Y4ThYejfhB5QUqhAzrk7UJBGW", - "tick": "532" + "state": "srs12Cntn4G379he1di2tfv2eKhkaS9NJgMSYocjRdkgt9EyuEmaTm", + "tick": "560" }, { - "state": "srs13DpzUuwPEBhHBxr2CfRcyycJZYxRTjWJ4GBy4HfzNiNxkjW1mS", - "tick": "551" + "state": "srs11mUaJDHDerd14v7YxRf1UsQVxcWGjVJAbkx7osCcxnSfyXCcjC", + "tick": "580" }, { - "state": "srs11pWX2JdSoTB4vdvEBnZFhkKujFyYHFFtnbLUKhduJnriGYWbHM", - "tick": "570" + "tick": "600" }, { - "tick": "589" + "tick": "620" }, { - "tick": "633" + "tick": "640" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_0).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_0).out index 5352b3a29b3c5661cff66a242dcc12260a80900c..a1c34537c8ca8e695a702aba6e029a89292425a0 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_0).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_0).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "582", + "end_tick": "589", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -62,80 +62,80 @@ "tick": "234" }, { - "state": "srs12kh4XcDdzKZ8Pc4T7QsXm36XUqVe4cxtWJ2BxHrHwENrqEL9Ay", + "state": "srs131eKCZYTuUZkoBC6UCb65NKxCHgDAy5Cb2cZjKPxZk2dE61Vaj", "tick": "252" }, { - "state": "srs11hjoicX5kycSCkvbxZ7LDWwdbsV2qWEXBDurY3Sf5zwS8tUL3a", + "state": "srs11sFzScc4tCRcs6u3YVyJJbs4PzPSmsUpMwDmZnCw4z8g8Dq28d", "tick": "270" }, { - "state": "srs11n9qrtzJPgMSFze3erzSzvB5EAm48kTnEC9oJJYqxV6vRApyK5", + "state": "srs1215LZPP55Ja9w2EKBwbdyRdSDxx1JN6rReWbHayaWJHvjGDw8o", "tick": "288" }, { - "state": "srs1336xiQkLT9knTk1fco58u9hxKNqdHS1YPUwxGKLT2MhPzEMC7N", + "state": "srs121zmW1wyNEYWkky8A9vYfMzUiRPoSYu19jXpjcCbjhX7g43Xvf", "tick": "306" }, { - "state": "srs12CfNGraungvWxhYVdXr26w2aS1Ei6Eo5XgzDLdqn4LRDdduqom", + "state": "srs12gMVMcZPLEZ3nNispr7cxPzszAjmo8QYw1qnLNA1kqYBEBp8ng", "tick": "324" }, { - "state": "srs12BwLvVrWQv531zELu8TrCymUS1Gm9Naafz3PX6miVBYcZycJjr", + "state": "srs11gmyJWG8AfJh6kjwWF52smvGpaZq6k2i676xu9RaK63JfHXTja", "tick": "342" }, { - "state": "srs12ekcYu6yArjgAGuJAg5cwq6zPvKxdk6KCmnBtGYy7JP6kEBFqb", + "state": "srs121YG4dX4s56AhgZyXRLmpjWr7zUuQjEU1Xt68HW3j7z5KySPSg", "tick": "360" }, { - "state": "srs12a3AthkZ1i6H2x4RrPXN49iUmCVBSBkteWQTgEyWzQhpCzpoZD", + "state": "srs12XyFbq2p2iGdGREHz3RkxF2tY4Ng4t7ppvzoW1UAVpQMrKCPdX", "tick": "378" }, { - "state": "srs12EXB6ARrgEz3pi71R6nzxtQ4PMY8Azwy2DYmmTJRkne8d6rW42", + "state": "srs11Z9KGAHnLYvwrRMVQ8a5ofRNa6DswYfc3mHwW8aGXkDSZtMeeu", "tick": "396" }, { - "state": "srs11fDjhakCGzwrmM7bHy4RJp8aGUgSFRN57tDDL2LzhXvDukwEJ1", + "state": "srs12ZazS7DfJKuy7wGTcmSAkXrG6epUiLGMvBTAt6oV3KgS7SDf1T", "tick": "414" }, { - "state": "srs1397ahAZp3GHxcSuvgvSk3MrdNaosN2nhkx8kDwuh3GF2ruEWzB", + "state": "srs13CNf9LSQnTKhn4WnRz4CMbc627eptij3rA57ZupSVMBpnAXAuT", "tick": "432" }, { - "state": "srs12sZ9L8e4CVC86wfn8o5KwroqUxMdGyzkjdkaVC4BM3PCeu1foW", + "state": "srs11WeGttpoCfaHCFxG4xvGJPsC6nQ44dp3j5CxHj6ydoEyrnsixM", "tick": "450" }, { - "state": "srs13Jw5EzkDA1kK1ysWBT7QoQdoBWPtWLxbcg7tzhqmoQpMAzPDyr", + "state": "srs12EJetVUopCq9rSwDHpsnQ7ivxT8BnwfTiKXvhm1c7NEn4LMb25", "tick": "468" }, { - "state": "srs12TjQfFTgrKzckqg65A3FUJfErZ2Eu6SXj2tWDAsi8iRf5hTcR6", + "state": "srs11sHTURfye1D1RxTxePSPgE32cgEWZcvJEyXh87jNXvxzQSNSkG", "tick": "486" }, { - "state": "srs12qYpCJiJoTiro1gs1y1HJNVLYv9Dp72bKDqwick9speqAPonWg", + "state": "srs13ArD1HVZCZMm8AoGFMwCdnn82R21YF7XXsFtbUGLLH9tdDNkNT", "tick": "504" }, { - "state": "srs12JqZ2LaeC5RSw5xiaKDnUyW3uoH1L7qLB29fTR6tX7UH5VeXjk", + "state": "srs12jXjUQKeEjqE1GZ22xW5hXUYyF777nAZLgxKHPKpoeb1jXy6bU", "tick": "522" }, { - "state": "srs13JbbzvBhzL8gjxyUGBQfZ67i4gFbab3qVQYSJoMg9xgQuovNMB", + "state": "srs11ufoNhDPiBJf7mVzTvfrXNsLkeQBishorbKp2tiBd6zquFqcmx", "tick": "540" }, { - "state": "srs12ZGKGftAktgHZThDcahUSdoRjn214kafcq5eNqcUjb3SesLeWd", + "state": "srs12SnotnQVWfM4oFwjPm8W6R8b21HB5tyu73a243AQtW9uasEdH9", "tick": "558" }, { - "state": "srs11Z7LSVYF6rBXAsR8Y5LjiQNgjPNs2eLAyUp2jWCf5QDMcSHqa6", - "tick": "582" + "state": "srs11fgo9C7FwUzH3LcWH8XJ1vz1RZPgSwEKAViMJ25axCGzwL96TA", + "tick": "589" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_1).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_1).out index 75f71d6b4d1a693e9260b48a887d490e718c0de1..d494ad0c3524c4e3552cdfa6c60cb912e0c11179 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_1).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_1).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "629", + "end_tick": "636", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -58,82 +58,83 @@ "tick": "228" }, { - "state": "srs12MYeKGU7Z4FaTLv1zvVnM5LSyU4rxa8AYYcww2eFCZVKdMZuEb", + "state": "srs11pi3ZGV3PH8XzDeCutSsKdjQiZY5fj9yZZF2xYuU69itdwjw2C", "tick": "247" }, { - "state": "srs11vntikstjho8tvq7CSEGi8STaZ3EpuKQ6mtdnKX5ymMff9zdYE", + "state": "srs11YbwraebQbCv5c2f64L2j3YBuLC1ruH5dcZ9fpE2CvLckuMa8d", "tick": "266" }, { - "state": "srs135KBowyeD3NQCtEh4ufvja4JUVStxSCNWZcTGZ7J5YRy9Ci3Sv", + "state": "srs12hwzQkoJLoNxohSZsojEkK1BAoxvMB54TcgKnki2WpDB5AGsKK", "tick": "285" }, { - "state": "srs12oGJ623voxVYotTwCVhs1X6PkNSie61VY41FtKcoUJ92Pzjkwc", + "state": "srs12qtRwZHbQJ6hn9RkP34KiVc6t8MmQNrvsbGKTotCsp3JwgynrU", "tick": "304" }, { - "state": "srs12LkRiYqgvJLTHtQ16WAKfESd1M7szoq85baWTs7q773JCPJm2o", + "state": "srs1278ApFsCgkHJxJsDBAbsVHyTbvcdKq3bMZDDApDjdJ3GBE8e4E", "tick": "323" }, { - "state": "srs12BwLvVrWQv531zELu8TrCymUS1Gm9Naafz3PX6miVBYcZycJjr", + "state": "srs11gmyJWG8AfJh6kjwWF52smvGpaZq6k2i676xu9RaK63JfHXTja", "tick": "342" }, { - "state": "srs12oTSNspRC6jYQBC6SBbbjLGvZdwzHGB3MpH9YauX5WnG1nR3rk", + "state": "srs12r1wewex1sBmBNo53aejcWt581NxTQnUD2SH5dBZ5gj6xrJP2k", "tick": "361" }, { - "state": "srs11yCYcjjygmBdQBHdVJiWTu4iPrK74PvXqqTPAuvDWnWRFdt8zR", + "state": "srs12Kd2eNC27NsZfbfUXZzudVsNTKqvxV38FNDQZiRfTJoUxGM5iJ", "tick": "380" }, { - "state": "srs12euFuDjku1Aht4aSrt9vu92pWNWYCG2WCPfj9Unnx6Sp1gCu1H", + "state": "srs11u1z3i1Txu36keiKXEy69YcGpzkPkpJXu8LzEH9aDmkLPmztCM", "tick": "399" }, { - "state": "srs11YiQvUc9xWrqY75PHU134RYHVYqDvnPHWdCGkYEMyMMx7H6NiZ", + "state": "srs127ChFVuuw2MTC5eKZveoKPB1TVK9CZxjsitAMdddLwcE4yTnFo", "tick": "418" }, { - "state": "srs12AMmCyw3wsxK28Cdg8WPhzdRe4W2V1u6z6MukY52XzMoiASAv8", + "state": "srs136P968DoYzVQ93oTGzsjgKYF2VW4Yfa3kQAApPM8tWtqt4QyMh", "tick": "437" }, { - "state": "srs11dsgEhcACoZfZFioGpSYX2mTZNdtmV2E6CZRM7Ctu3jPjvvVTR", + "state": "srs11pFM6L925rQxakfz5tDHosCpWutfWyFzMvnZJZ6AjodqiNCxM8", "tick": "456" }, { - "state": "srs11orZFWdbyT5nb3UWV8Gp76ZUq57aUXaXhQiLYLVD9qW8VVgijJ", + "state": "srs11cdHrWkRd58Lzz6KPqQKfbQMzj4jYRMoymEvhA8AfFWr6i8otg", "tick": "475" }, { - "state": "srs12zM6jTWMXtgAyJgEt4uR7ZNv8b2zjNBBNy6t2k8EyEhJ31rhBV", + "state": "srs12kLYFH4tWVZAYKHkNSRQ384CCHJfKTAZXr7HmxCHjfBXNxSTmv", "tick": "494" }, { - "state": "srs11nZY6GFt1bDrgANFKSb5EfzWQ1tx4ioyWY1ZkSRhKRujXG7PhM", + "state": "srs12dqwwYMA7aGiKU89P3d4YLBfpfsTTQVDvRmuYx3Sjnmbg78euv", "tick": "513" }, { - "state": "srs12yo5wkoFZjL6cHgPPMqzz2HZ5Y4ThYejfhB5QUqhAzrk7UJBGW", + "state": "srs11UbFWHRiD1ukcyp6j7eBbnRbmdamCyB7dGYhAgakwNqCdTVX9i", "tick": "532" }, { - "state": "srs13DpzUuwPEBhHBxr2CfRcyycJZYxRTjWJ4GBy4HfzNiNxkjW1mS", + "state": "srs12m6ksLTUrw8xNbq31mX2J588WXt9WLnmX8pYZcnUQ99sx3MNa7", "tick": "551" }, { - "state": "srs11pWX2JdSoTB4vdvEBnZFhkKujFyYHFFtnbLUKhduJnriGYWbHM", + "state": "srs126a4ni5ASEWECSE27xkuRVsHrZKREya9LtUopHUT5mgHu6ktyg", "tick": "570" }, { + "state": "srs11fgo9C7FwUzH3LcWH8XJ1vz1RZPgSwEKAViMJ25axCGzwL96TA", "tick": "589" }, { - "tick": "629" + "tick": "636" } ] } @@ -141,16 +142,16 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "236", - "end_tick": "237", + "start_tick": "237", + "end_tick": "238", "dissection": [ { - "state": "srs12hEz4xo8JgnSaaJQFGpa9JbASVeZUt5CTBtaRQZMwTawbn2H6X", - "tick": "236" + "state": "srs12DAwSAJZoKeJ3ZeK9T1Ng7dKQcV417757qYEGgjCbLMCUvpyNE", + "tick": "237" }, { - "state": "srs12bo57GfkUkpNopgptNPbtz68dZfojHbyC6ubeJVgptm6vBVSns", - "tick": "237" + "state": "srs11YSB7Vo7YSRAyiHjRhaDRosk3qfNkEgh7hhVHCKMKboS1VmQyk", + "tick": "238" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_2).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_2).out index 21dd59570246db53bb9b6ee82c14493c14e841ea..56343024b3c646e51df416b8cb8888a1ed5cc309 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_2).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_2).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "417", + "end_tick": "424", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -82,60 +82,60 @@ "tick": "234" }, { - "state": "srs12MYeKGU7Z4FaTLv1zvVnM5LSyU4rxa8AYYcww2eFCZVKdMZuEb", + "state": "srs11pi3ZGV3PH8XzDeCutSsKdjQiZY5fj9yZZF2xYuU69itdwjw2C", "tick": "247" }, { - "state": "srs137JBFZyQNJJM52n71pdejwufxfwQrQ4z41Xb2TZFi3kPxo9GVK", + "state": "srs122jDdhgSWyiMmNpUcLo2DiEUjxLxpi6yDuP5h51uCddWrfHJfi", "tick": "260" }, { - "state": "srs12EYym2XxLNcVELe52ayForgTHud15bZ4DvZPMMbkVtHfpamF96", + "state": "srs124RMrZY5vJXTAbjZbK7a87xS6jdHrjcqGgnm6KbJh8G9mZZq8q", "tick": "273" }, { - "state": "srs12i9d5DFwE9mwBJ7dZ1CNBVpRkHgB5Jw3HkKzsQXFjDAjezdk3G", + "state": "srs11yAQeKxKdts7it5Yzfbzvf7H9bUE4sygJ3xSF3HJwws1osbXX4", "tick": "286" }, { - "state": "srs12vL82Rtjse9cbjRPKKm3D6CMcyCMJrnaKLAzFoksXZwtH485nS", + "state": "srs13MrYxAze8TspFgvXS1UfVS1DsTsBKu23uDxFNC1w9T7wgcDLWT", "tick": "299" }, { - "state": "srs11WShqggcBnBpSieSH5xKz2F6xKmWJpR2i7TEJpVwkhJzPPYdud", + "state": "srs11TcuEPRbopy75WoJFSgmRbhASp2wuwB3Q1gq4zVHLVE8PUXJeL", "tick": "312" }, { - "state": "srs11xF2PURqwnLMV1euEAT4tAqxkQ8TXbuzX5Db9ecXzEmq4vdNVc", + "state": "srs12346oCZGWuT6iNk7NRR1EqAEVKiPKkWxPxuPojcFEZuwzrGX3J", "tick": "325" }, { - "state": "srs13Loomnt2mmeCnkeL2Aj8dCKDVHKyboHgYo1czxciX7cGTw6FBw", + "state": "srs12boWFWXGtpXSrcoLth8ouJ2yW2ATfr6vDpiHNx2FpegKDKz8BX", "tick": "338" }, { - "state": "srs136CJnze7BAo2W7QfeXfTDCgPiJb1B96ZjRTwFBDPSEj4TxRAms", + "state": "srs12JkQShcPoaEq1LwXQQXXRYiL9C5Rfyd7Pwq7oQfXrkU4snYesR", "tick": "351" }, { - "state": "srs11mTsFKqAKVhxCpemyP7ZgRSxp6MEmsDg8TbQuFE9KR6JhLvMVt", + "state": "srs11VAxYWGEynDLThiezkSWYc5n3Xwn1quHR7NqPWjBRqiTew77eW", "tick": "364" }, { - "state": "srs1224yjiE2kaEwojELN5JxPqBWN1Tg2GexDyqSXR9nF8zcycdnLi", + "state": "srs11kszn9gJPXepifzahpZePdTPV434H9GdabyGVpngc6iTN72UsD", "tick": "377" }, { - "state": "srs11UPJL2dsoKuoYTLaC4P4btBQpX64nAZKPP91cbcjB8EtooyxoX", + "state": "srs12xehpXGNBPAnitKiB7Z8tqZVc2vh45jALwkBBPX2nsAVUtZfrw", "tick": "390" }, { - "state": "srs11mzrfqsjbL2PqsFpMDwyF876tz4tLpVbSrZRq52kuyYJCMYCKh", + "state": "srs12bxn3xoJfK8qqtnZrYrXN5pNgch2fkBGkf1W1N7ASgCrGbiPUK", "tick": "403" }, { - "state": "srs12GENJ4uXAQmRdZJQuitRbD6LxNYLkKK4yysjwBLmV2mZJosroC", - "tick": "417" + "state": "srs11gu18WAWpV2Pd4CHMZktiS4qMv1qRE5EMPw4FUtYbk1UjYJwuz", + "tick": "424" } ] } @@ -143,16 +143,16 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "237", - "end_tick": "238", + "start_tick": "238", + "end_tick": "239", "dissection": [ { - "state": "srs12bo57GfkUkpNopgptNPbtz68dZfojHbyC6ubeJVgptm6vBVSns", - "tick": "237" + "state": "srs11YSB7Vo7YSRAyiHjRhaDRosk3qfNkEgh7hhVHCKMKboS1VmQyk", + "tick": "238" }, { - "state": "srs132gM47wMyDBtD4LLHRLjJwTtThhVJZD41egGDbupcNC9C43N3K", - "tick": "238" + "state": "srs12kjxBtmk5mPK9k6mAUU8Z3hpoYbu3H2yvfZ4W62Hu9XpS8rmzb", + "tick": "239" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_3).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_3).out index ab7d995e3c0289a9a6d8ea4fb74c428b13a2ccf5..7229fce18ef5e169dbb881ad058ca939508c468e 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_3).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_3).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "417", + "end_tick": "424", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -46,96 +46,96 @@ "tick": "117" }, { - "state": "srs11xQXKBqDraMGaxd2KJcawk1FouRsPyKANyf3QGNUeScS7NJahG", + "state": "srs11xU4t324K2HHvrnT4AQrhCFpSC6aFKjjoQSyJKRiaY7GHvMRnb", "tick": "130" }, { - "state": "srs11cndqBbKjH7Xmsjvhaow4LVt8ibXsG58AJmLjmMQejtwwKFfhW", + "state": "srs12biG3mN3hto7N8Kyf64ZDAb7ffeFcwHaAtfAnkrYyzzN72kxAj", "tick": "143" }, { - "state": "srs12S2b3SUbzSDJvzDmoygzjJ5zBuHprmNqeiYGPam8CFk4v1Ghz1", + "state": "srs121B8URgU1THeL3txkCv9DjjsvoJpqaANy1oeTSyru6NRAYFx2h", "tick": "156" }, { - "state": "srs13LwAVsaLGot8CXwdQCoZZCSJd5caDqY5cvAcG1Gg5wgE4vjj6k", + "state": "srs11UxLGh2RS4h4G8xt6PoXU67MPUprhbSJbJrWqbwhxWwa2QqVWV", "tick": "169" }, { - "state": "srs129XpNKeM5bAwjT7smpJd4K7dqGN1pcHWk8n4LfDY86a9u85HWr", + "state": "srs13DEG3P1u4tZVJMHbAC9pcicCwgtpbW6W9WrRgA3MksVCWoVBPJ", "tick": "182" }, { - "state": "srs11moWhUJU4ANmfg26qh91hUdGPm5pMc8BTAQo4hybNF71FfiVfb", + "state": "srs133ym7frBGAR8zDtdwkYR8DrLCd89gZVXotpzTbh3raoosKM4Fg", "tick": "195" }, { - "state": "srs121GoPbVJJKJwngTEnkVTzEVsrTuS856NYwA2YjVWmjjgDA1U9Y", + "state": "srs11nVP3498kv4qNcm4WMBP46VNMWYy6Tp4VFQG6mAjNtqnbS4AXX", "tick": "208" }, { - "state": "srs12faQL2Xt2m6fzH3d6AjVwgnSze1GNJv3S1tncKr7EpBqTvfJU2", + "state": "srs12HkxoVeTJPLPyPSzwp8puhvbZtbD9X5C2B5rK5LRAPoBUvfSPW", "tick": "221" }, { - "state": "srs12eZrvFpE7j8A3xXJu15EJ8VFyq69bVUGp1DsbKgGrsAZARDNqB", + "state": "srs11dSrhKLWEXDbETu54m5rhd2mquVLbY8WLDRrZwyXdPFhvSDHvL", "tick": "234" }, { - "state": "srs12jmJnW9fa73wBYAQceaMmujABFWLURi8CiVM1xnBf8uykSRG7H", + "state": "srs13CNCjmmBcqi8GXMpfLM37pLmQA55wttXgrbAosZWoU8pwYqmj6", "tick": "247" }, { - "state": "srs12QSMPk5F5rCzxPg5nVBS1vvUsspVxvtuX5t1st6d1JfaozdPzN", + "state": "srs12SqtJjHz7Ypg68zSwsciK2EKx9uhCMCix4oyE7dXApbhZmqwQC", "tick": "260" }, { - "state": "srs122mV7vNce5JFQpwix4XSBZefeEXGg54BGJxexqw3UzVE4Brsnb", + "state": "srs12gB8wBnJ8qgoJmB4ZqCku3phRTz77XQkK9bFdHQs1QKCphVjFW", "tick": "273" }, { - "state": "srs11dxSMagQkdfkwMHaqZuswLzJG8SE1MfDw8a5gqAMsCS5ACVbLA", + "state": "srs11ubn6qYfa2nJ3u9zkyDTdRL6gtRp8uGJqW4RDv8uB4woZpGXNF", "tick": "286" }, { - "state": "srs12neAD3iYrggK49kju4z8AZVoT1bLGzSRhj1jQngU6fnMtNieNn", + "state": "srs12XFjK8gDProA3WU6dLk8QicvaZJZMYiSUsYd3ikEz9fxLMfMHD", "tick": "299" }, { - "state": "srs12xM3ZTkkgYAhhuRV5qFW9Kyf9ELSy45GyQKUCwSKj9Wijvb5pL", + "state": "srs131zzen2XUBF7HX8vhWvDAUxG1ipTYXd7YhCfvK7auMnQ2ZT1fb", "tick": "312" }, { - "state": "srs11rs9hwHdT1p5FEkW21PnVzDPE9Sue3z6Au34r4LDdDfmikoAmy", + "state": "srs13DqYKnPSKGm6b5A1zBcWjYAAVEaDkcAoGzGJ3RFoKaa6tRzQCH", "tick": "325" }, { - "state": "srs12sT431BouvRHfhRuJpsi1cPF74TUiEPTixMecxgK7tmjEL15dq", + "state": "srs12gH96cvGiLvTXJ4gKqE2piN48x52in7f1JqxSuX3BgmGhrkmj1", "tick": "338" }, { - "state": "srs13DAT2ZZrJ995TDj88ThE3TMrfQTBizHGMiJDeTuBNuttRC6LeF", + "state": "srs13BCGCZdbudfVdRVGKxWfshTVwpzV6QCXEQPcdPP9i8YGXrPosv", "tick": "351" }, { - "state": "srs12fPSMpTt3k3FucTppe77oF5j5Kk8TiPiuAppzj9zv8NMz7ZKZz", + "state": "srs12HZ2MHZkghkFk4oE3q4g4U8rpeN326V1qGxj13SEyNp75TWv8J", "tick": "364" }, { - "state": "srs12p6Ze96RAE9QjukEQ2smiajtHfjRBb7VnZAPLCt7yNoi2y8hBX", + "state": "srs133YVyTExnfAwdDyo7KQUUi2QyPydoDYASxdsvMt4vABrqoE2Gh", "tick": "377" }, { - "state": "srs12M2fwC2tPUA7ExgsrwhRh3w9UvAZspgo6KkewqDHe17m62Fx8G", + "state": "srs1311rsm1FVFvBLSn6kzfwftUr12SbSg5TTJAigWYfoXZZ6hTku9", "tick": "390" }, { - "state": "srs12QHYT16yvsvTHKKrKpJBCUQfxXy2hKYatoNsCCwpBq4YwPpeEi", + "state": "srs12HGHiZAa5niuy6oXTm6LHQuiCePh6SoG5S4kuLUHiKTukP3NZ7", "tick": "403" }, { - "state": "srs12EBKTPBis6K4XgSZGAjFcnFjQ33dycG7WFvHAhEYxYJMqamnKk", - "tick": "417" + "state": "srs11SVHRQNoVuGM818VR2Ss9QZ7SD7Z1pLSuz4PcLaEGfXvVhtNoH", + "tick": "424" } ] } @@ -143,16 +143,16 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "243", - "end_tick": "244", + "start_tick": "246", + "end_tick": "247", "dissection": [ { - "state": "srs11pZwAag5f2fQLx99SqjwqN7172c44C2ToUadFEHh4hzhkrA8gF", - "tick": "243" + "state": "srs12ybVd7P8SgHTRJ48ZpGPNjYPQfVyKcjUBa5q3j91L4DZmVus33", + "tick": "246" }, { - "state": "srs12W4hj2ixtk9mM9Etb1AuYizhvkft1RPsaZvfnTdUt56BHYtrHP", - "tick": "244" + "state": "srs13CNCjmmBcqi8GXMpfLM37pLmQA55wttXgrbAosZWoU8pwYqmj6", + "tick": "247" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_at_genesis).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_at_genesis).out index 8cc709af826ffda018ccf7625aa47be8c7dfe568..2c3405cfa84d880d9a2cff006a346cd0fe2c32f6 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_at_genesis).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_at_genesis).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "582", + "end_tick": "589", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -62,80 +62,80 @@ "tick": "234" }, { - "state": "srs12kh4XcDdzKZ8Pc4T7QsXm36XUqVe4cxtWJ2BxHrHwENrqEL9Ay", + "state": "srs131eKCZYTuUZkoBC6UCb65NKxCHgDAy5Cb2cZjKPxZk2dE61Vaj", "tick": "252" }, { - "state": "srs11hjoicX5kycSCkvbxZ7LDWwdbsV2qWEXBDurY3Sf5zwS8tUL3a", + "state": "srs11sFzScc4tCRcs6u3YVyJJbs4PzPSmsUpMwDmZnCw4z8g8Dq28d", "tick": "270" }, { - "state": "srs11n9qrtzJPgMSFze3erzSzvB5EAm48kTnEC9oJJYqxV6vRApyK5", + "state": "srs1215LZPP55Ja9w2EKBwbdyRdSDxx1JN6rReWbHayaWJHvjGDw8o", "tick": "288" }, { - "state": "srs1336xiQkLT9knTk1fco58u9hxKNqdHS1YPUwxGKLT2MhPzEMC7N", + "state": "srs121zmW1wyNEYWkky8A9vYfMzUiRPoSYu19jXpjcCbjhX7g43Xvf", "tick": "306" }, { - "state": "srs12CfNGraungvWxhYVdXr26w2aS1Ei6Eo5XgzDLdqn4LRDdduqom", + "state": "srs12gMVMcZPLEZ3nNispr7cxPzszAjmo8QYw1qnLNA1kqYBEBp8ng", "tick": "324" }, { - "state": "srs12BwLvVrWQv531zELu8TrCymUS1Gm9Naafz3PX6miVBYcZycJjr", + "state": "srs11gmyJWG8AfJh6kjwWF52smvGpaZq6k2i676xu9RaK63JfHXTja", "tick": "342" }, { - "state": "srs12ekcYu6yArjgAGuJAg5cwq6zPvKxdk6KCmnBtGYy7JP6kEBFqb", + "state": "srs121YG4dX4s56AhgZyXRLmpjWr7zUuQjEU1Xt68HW3j7z5KySPSg", "tick": "360" }, { - "state": "srs12a3AthkZ1i6H2x4RrPXN49iUmCVBSBkteWQTgEyWzQhpCzpoZD", + "state": "srs12XyFbq2p2iGdGREHz3RkxF2tY4Ng4t7ppvzoW1UAVpQMrKCPdX", "tick": "378" }, { - "state": "srs12EXB6ARrgEz3pi71R6nzxtQ4PMY8Azwy2DYmmTJRkne8d6rW42", + "state": "srs11Z9KGAHnLYvwrRMVQ8a5ofRNa6DswYfc3mHwW8aGXkDSZtMeeu", "tick": "396" }, { - "state": "srs11fDjhakCGzwrmM7bHy4RJp8aGUgSFRN57tDDL2LzhXvDukwEJ1", + "state": "srs12ZazS7DfJKuy7wGTcmSAkXrG6epUiLGMvBTAt6oV3KgS7SDf1T", "tick": "414" }, { - "state": "srs1397ahAZp3GHxcSuvgvSk3MrdNaosN2nhkx8kDwuh3GF2ruEWzB", + "state": "srs13CNf9LSQnTKhn4WnRz4CMbc627eptij3rA57ZupSVMBpnAXAuT", "tick": "432" }, { - "state": "srs12sZ9L8e4CVC86wfn8o5KwroqUxMdGyzkjdkaVC4BM3PCeu1foW", + "state": "srs11WeGttpoCfaHCFxG4xvGJPsC6nQ44dp3j5CxHj6ydoEyrnsixM", "tick": "450" }, { - "state": "srs13Jw5EzkDA1kK1ysWBT7QoQdoBWPtWLxbcg7tzhqmoQpMAzPDyr", + "state": "srs12EJetVUopCq9rSwDHpsnQ7ivxT8BnwfTiKXvhm1c7NEn4LMb25", "tick": "468" }, { - "state": "srs12TjQfFTgrKzckqg65A3FUJfErZ2Eu6SXj2tWDAsi8iRf5hTcR6", + "state": "srs11sHTURfye1D1RxTxePSPgE32cgEWZcvJEyXh87jNXvxzQSNSkG", "tick": "486" }, { - "state": "srs12qYpCJiJoTiro1gs1y1HJNVLYv9Dp72bKDqwick9speqAPonWg", + "state": "srs13ArD1HVZCZMm8AoGFMwCdnn82R21YF7XXsFtbUGLLH9tdDNkNT", "tick": "504" }, { - "state": "srs12JqZ2LaeC5RSw5xiaKDnUyW3uoH1L7qLB29fTR6tX7UH5VeXjk", + "state": "srs12jXjUQKeEjqE1GZ22xW5hXUYyF777nAZLgxKHPKpoeb1jXy6bU", "tick": "522" }, { - "state": "srs13JbbzvBhzL8gjxyUGBQfZ67i4gFbab3qVQYSJoMg9xgQuovNMB", + "state": "srs11ufoNhDPiBJf7mVzTvfrXNsLkeQBishorbKp2tiBd6zquFqcmx", "tick": "540" }, { - "state": "srs12ZGKGftAktgHZThDcahUSdoRjn214kafcq5eNqcUjb3SesLeWd", + "state": "srs12SnotnQVWfM4oFwjPm8W6R8b21HB5tyu73a243AQtW9uasEdH9", "tick": "558" }, { - "state": "srs11Z7LSVYF6rBXAsR8Y5LjiQNgjPNs2eLAyUp2jWCf5QDMcSHqa6", - "tick": "582" + "state": "srs11fgo9C7FwUzH3LcWH8XJ1vz1RZPgSwEKAViMJ25axCGzwL96TA", + "tick": "589" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_second_period).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_second_period).out index 9549e08f384343922acb7d39d93e697ef5427af5..1707b1f8efe1a70fcf734cce9bbd935e87160c26 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_second_period).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (pvm_proof_second_period).out @@ -3,139 +3,139 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "470", + "end_tick": "480", "dissection": [ { - "state": "srs11Z7LSVYF6rBXAsR8Y5LjiQNgjPNs2eLAyUp2jWCf5QDMcSHqa6", + "state": "srs11fgo9C7FwUzH3LcWH8XJ1vz1RZPgSwEKAViMJ25axCGzwL96TA", "tick": "0" }, { - "state": "srs11mzbaQWFusRK8rbJtacVn8WxamepxA4BoH9naZE8cCTuzb9BKE", - "tick": "14" + "state": "srs11Wb7efBX3HxysNTm78j5i7Em8K284ent1UgFEs2kbB5E6q3TnD", + "tick": "15" }, { - "state": "srs12VqPjB9rfqNFqmpPG7cB3vtn4jfxsYGP7oG9VBMCXauwwf7bnr", - "tick": "28" + "state": "srs137jYQyZsnvLw5wbuK3UoCaS2yQXgo9qEToKGZc9VHbthAnpUGq", + "tick": "30" }, { - "state": "srs11bWN7mUqA8uyLcNbnxKPaiNDwc41PCKiz3AbSoraWF62VGuHmU", - "tick": "42" + "state": "srs12aEyGaALJC3CZjaKGtQ6dg1HxqqTJUZ9j7UJiNuRuS93G58aye", + "tick": "45" }, { - "state": "srs13B8p9BJmB2Zz6pXMHE69xzBaEpFrSpqh4tginHwPGdMeJh6QU6", - "tick": "56" + "state": "srs137Z9KSUuCfFpsfEQcRa2xSS9nEv6reZpTLdhh31Mc6LFXuZ2N2", + "tick": "60" }, { - "state": "srs136RdoogwdcCNhKdWWhB4Ys95VNXLNdxGGhDJawLjnnw7PEZ6Yw", - "tick": "70" + "state": "srs11bDz8sEhMZRaPPvWjw7yyUiEsEUSiUer1rqZU52dL4QuzD29F1", + "tick": "75" }, { - "state": "srs12b9sAAK6XmKtFqSeA8GQrb3covrgf1pR4PBjq6rcoLNjRuvAcm", - "tick": "84" + "state": "srs11U8LSaQe4b6GCmXvPCNY6yBptKjLiNNt81XEDD4aZ7Jy4LLvFV", + "tick": "90" }, { - "state": "srs133VwCBqTHxwdkAvztrk3H3SCzCEE1F8PDrZd5fX52p9Y6Vr7Qe", - "tick": "98" + "state": "srs12K9tkoHGCVzCYRYougZPnnjhBt8QnoGB2u2GaTky6WeY4godPs", + "tick": "105" }, { - "state": "srs129dtcW2V8FLC25QSFCdGeS7g1XvMQuNE99MVJnqa43gJfLtq38", - "tick": "112" + "state": "srs135udvkWsQvSY5xA3229AAypUxhXs72hPPNsgczMw9AhwUn5p6k", + "tick": "120" }, { - "state": "srs11Zo7zUQC6NF8sbKo5pddKU4AhdvGaNqto6crFE3ByoYm3VEdHe", - "tick": "126" + "state": "srs1273k25a1jNw42CZ4LWCsnfwa6MVsGuKewHpeg6aTSYGtgEvUnM", + "tick": "135" }, { - "state": "srs131hDMypk565mvwZkt8Ljd7jb9BPRWG29MdJzu3s8VkMPPNuZ8r", - "tick": "140" + "state": "srs13Ka2EHooYHgZ8rhapoNzx2t8mmW6P5UXPkaRExWWDRHii326qn", + "tick": "150" }, { - "state": "srs12xzLvQsABjiWFTSZ828pmTznGsUL2VVJM3JYBr3B4v7g3Srxpc", - "tick": "154" + "state": "srs11tuNMzFVoPDfzyayNaBzd4JFGpXkfy9jryWvuSM7E3UYEkQnhm", + "tick": "165" }, { - "state": "srs13FCPMFoBB93ejJoL2GWdjCfdcfPSgJDvVFCY8fGAiD33nvp3F3", - "tick": "168" + "state": "srs11vt8vzBvhs41zU9tKgBYS5enU3K9eyD9pCUSPk9q62NmhTSMeV", + "tick": "180" }, { - "state": "srs11vhjsGYSuuM1fbFTJH4z4C67YBW9NNxqwPiUcazokuzPkmGgFq", - "tick": "182" + "state": "srs12H78XBsX4xFxahwdwwssEdBd2p4441QDt8f5y9yWjf1Wmxteeg", + "tick": "195" }, { - "state": "srs13D8cnxRYs6B39Ta7H9XA65T7i9xPoGxHqg13rQ2EBWWJAYBVVQ", - "tick": "196" + "state": "srs132q17fBUvJHHv2bVLncituPFCPbYGdWdj5LE6C7wLBZGzwaaRh", + "tick": "210" }, { - "state": "srs11kQs7LDJ3ZMFL4NYZ3DJkfHG6xDnxvMRRjD3naPo2Xs6ZmigRF", - "tick": "210" + "state": "srs133DoWfSy6qvLa2T3jxM8rDDeshtguAr94KK692qHELc8iLTsz7", + "tick": "225" }, { - "state": "srs12u6kEegZxHWhtRgSZ9HCLMoQeEK53wS9LcVgSXhYaprMUW3tBZ", - "tick": "224" + "state": "srs12pLdFCvYk9a62RPCgmVWxg1epTxAVhGUTfWKVrKD1ZTBtzYPBS", + "tick": "240" }, { - "state": "srs12sfrzHVxk3tXXZytHVxAVwZzjwZ1ZT6ebwepMXysrhSTtTVWNi", - "tick": "238" + "state": "srs12H63wRHCsPj1tN3Zn9mPbZeoVbELWdj9TSKw9inJTypLwFBJxC", + "tick": "255" }, { - "state": "srs12KcUYabDR7L4Rf4ZM5hov3dR9rbg4fHXUnrUXjHzRwBwpEEugY", - "tick": "252" + "state": "srs11YXaZspPkXhi6U4svXqJQwaBiRkgR9dVCx8E4r5JNydRnyEGFY", + "tick": "270" }, { - "state": "srs13MNAo1FK7smhue4vC58fxrQBKSy6NXnj82Wqo8rjHwxyLe2QfV", - "tick": "266" + "state": "srs13HZQiGDCDABbFQ3LJ98UXFB5GAWZjm2dREztm5sjJKzwSbtWde", + "tick": "285" }, { - "state": "srs11kE9hTfTZKfbsucZebkSsM3hk9w8RLkA5UrHMnpF1sEacv1Raj", - "tick": "280" + "state": "srs13MT3kdPSeGNGaJZonFE6hkkQhJjEUvuqMSdE2fbfhMYJYkWNg7", + "tick": "300" }, { - "state": "srs127nTh6bthHQFFzGPePWRdKKU9HKzGWYTh77PrVTFqTk6r55UzE", - "tick": "294" + "state": "srs12sPoPDCuCQKy639tq4X8o4gWLjcD1NfXccgvzuSWGffFyeFPVz", + "tick": "315" }, { - "state": "srs12Pk3ewtevqFts13bpYkvysXw7SMggkoqqEGqESytgpve9qHQ29", - "tick": "308" + "state": "srs12gWXTmGjMf68tp424vwvdztZcbByhrWX9P8B2LY5hQHNB4NJw6", + "tick": "330" }, { - "state": "srs12EoJD2NGAeViyru7oxMx1NFEFQjUBJ14k3YmWbrjf1GeqJHHSa", - "tick": "322" + "state": "srs12mmACdFZVBYwaunXeUuZQq1zfM7hTRhnVAX8kcdqDJ5myjeabw", + "tick": "345" }, { - "state": "srs11YWBfiRncwtt7mjZNmjQJzAQZt89qkZrY9TmH78Jc3ZYqiCETL", - "tick": "336" + "state": "srs12dB8Z29wRhgMA43qmNnSHc3eH57fBSXURigiMpjJuQBG4oWL69", + "tick": "360" }, { - "state": "srs125iNMYAZQq5mu2jSWaqMYowaRvk7TjUKH7Z6EEQZCqJtWBT6sh", - "tick": "350" + "state": "srs11yJ6xXt2kYZPV7xUra5ewxyjFEmdwnuXHoJ1XtztPfAin6MRyY", + "tick": "375" }, { - "state": "srs12nBhLg2eFKoq3yvnV1qtwCpB5SRqyYi8YbeNoDopcRAhhZjujh", - "tick": "364" + "state": "srs12s9yfddwF1d7uJXF6o6zK3QLkntEGhBVMisFkAomqfin6ZqP77", + "tick": "390" }, { - "state": "srs138b2LtYoLRpYp4JonVesFU28NccbdUbN3JdXWWtayEjLj4WYp9", - "tick": "378" + "state": "srs12VdVaqpm4iKxQAkfQhC8MjM3GrqupL3Ndnzq1ZcKZWxr3hhC7n", + "tick": "405" }, { - "state": "srs12HGP7mhqmxF4LMmfF8uwSnwPcNphVrPw1oWJ5BDmpQuBHaeEBy", - "tick": "392" + "state": "srs12Y2kriH12vQJBsWAgWT8ttJatsPtBtkuybjoTWPdenaAthq5Mf", + "tick": "420" }, { - "state": "srs12BmKjVNdoTCyd7GQXjZMcsqYRbdFCRbEAiPhZNiMhmWcYmzV2S", - "tick": "406" + "state": "srs12q5k9NCh4oEeK3CDevu6ukWx4paQ2dxXR3uLN3L2LdER16NBtx", + "tick": "435" }, { - "state": "srs12YvWguefwCazMmDoqTxdYSsPC9Sfbi5f2fJ8sAZVH38Q17ngno", - "tick": "420" + "state": "srs11pa3pruiNFeJRPSNdAtry8TCv1mragZYqWTPngbyhoSq6MjRg9", + "tick": "450" }, { - "state": "srs11vzwocNM9VB24nv2f1Pv11FvWx1WbuRQZFNiKkVKckM2R22s5d", - "tick": "434" + "state": "srs12E14HqtLrPqvsCat7WTrwCBEaxznZKKdocbkPXjCNUSSUgi3Tj", + "tick": "465" }, { - "state": "srs11zQFAbwSNjG9G9JG5zdYa9fsjSAaGEPeaYxxswKye9Fsk2tHCZ", - "tick": "470" + "state": "srs123fPHwnuvt2A8fpL73XkgHGP9um2Ymu134UQQER5xumoXXnToq", + "tick": "480" } ] } @@ -143,16 +143,16 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "119", - "end_tick": "120", + "start_tick": "121", + "end_tick": "122", "dissection": [ { - "state": "srs11ZgNf6wN1qpfYuv1jGgTaRcyZ2hAXtiXSjzx8zZ3YApMXzm72N", - "tick": "119" + "state": "srs12YihogJbRLSWeqi6F9AB5EfSrU34eby3PgtTw6SS2sr9wxZbsK", + "tick": "121" }, { - "state": "srs133GWsCMg74kubRZ2Gsm9Brca1GG8rMHr2jtBsgAXVdteRZmLNK", - "tick": "120" + "state": "srs11whLK712235kjGPrHJPEjs28pF9iKCCtSMhEeABuJJTedc5wnF", + "tick": "122" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (reset_honest_during_game).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (reset_honest_during_game).out index 5352b3a29b3c5661cff66a242dcc12260a80900c..a1c34537c8ca8e695a702aba6e029a89292425a0 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (reset_honest_during_game).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (reset_honest_during_game).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "582", + "end_tick": "589", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -62,80 +62,80 @@ "tick": "234" }, { - "state": "srs12kh4XcDdzKZ8Pc4T7QsXm36XUqVe4cxtWJ2BxHrHwENrqEL9Ay", + "state": "srs131eKCZYTuUZkoBC6UCb65NKxCHgDAy5Cb2cZjKPxZk2dE61Vaj", "tick": "252" }, { - "state": "srs11hjoicX5kycSCkvbxZ7LDWwdbsV2qWEXBDurY3Sf5zwS8tUL3a", + "state": "srs11sFzScc4tCRcs6u3YVyJJbs4PzPSmsUpMwDmZnCw4z8g8Dq28d", "tick": "270" }, { - "state": "srs11n9qrtzJPgMSFze3erzSzvB5EAm48kTnEC9oJJYqxV6vRApyK5", + "state": "srs1215LZPP55Ja9w2EKBwbdyRdSDxx1JN6rReWbHayaWJHvjGDw8o", "tick": "288" }, { - "state": "srs1336xiQkLT9knTk1fco58u9hxKNqdHS1YPUwxGKLT2MhPzEMC7N", + "state": "srs121zmW1wyNEYWkky8A9vYfMzUiRPoSYu19jXpjcCbjhX7g43Xvf", "tick": "306" }, { - "state": "srs12CfNGraungvWxhYVdXr26w2aS1Ei6Eo5XgzDLdqn4LRDdduqom", + "state": "srs12gMVMcZPLEZ3nNispr7cxPzszAjmo8QYw1qnLNA1kqYBEBp8ng", "tick": "324" }, { - "state": "srs12BwLvVrWQv531zELu8TrCymUS1Gm9Naafz3PX6miVBYcZycJjr", + "state": "srs11gmyJWG8AfJh6kjwWF52smvGpaZq6k2i676xu9RaK63JfHXTja", "tick": "342" }, { - "state": "srs12ekcYu6yArjgAGuJAg5cwq6zPvKxdk6KCmnBtGYy7JP6kEBFqb", + "state": "srs121YG4dX4s56AhgZyXRLmpjWr7zUuQjEU1Xt68HW3j7z5KySPSg", "tick": "360" }, { - "state": "srs12a3AthkZ1i6H2x4RrPXN49iUmCVBSBkteWQTgEyWzQhpCzpoZD", + "state": "srs12XyFbq2p2iGdGREHz3RkxF2tY4Ng4t7ppvzoW1UAVpQMrKCPdX", "tick": "378" }, { - "state": "srs12EXB6ARrgEz3pi71R6nzxtQ4PMY8Azwy2DYmmTJRkne8d6rW42", + "state": "srs11Z9KGAHnLYvwrRMVQ8a5ofRNa6DswYfc3mHwW8aGXkDSZtMeeu", "tick": "396" }, { - "state": "srs11fDjhakCGzwrmM7bHy4RJp8aGUgSFRN57tDDL2LzhXvDukwEJ1", + "state": "srs12ZazS7DfJKuy7wGTcmSAkXrG6epUiLGMvBTAt6oV3KgS7SDf1T", "tick": "414" }, { - "state": "srs1397ahAZp3GHxcSuvgvSk3MrdNaosN2nhkx8kDwuh3GF2ruEWzB", + "state": "srs13CNf9LSQnTKhn4WnRz4CMbc627eptij3rA57ZupSVMBpnAXAuT", "tick": "432" }, { - "state": "srs12sZ9L8e4CVC86wfn8o5KwroqUxMdGyzkjdkaVC4BM3PCeu1foW", + "state": "srs11WeGttpoCfaHCFxG4xvGJPsC6nQ44dp3j5CxHj6ydoEyrnsixM", "tick": "450" }, { - "state": "srs13Jw5EzkDA1kK1ysWBT7QoQdoBWPtWLxbcg7tzhqmoQpMAzPDyr", + "state": "srs12EJetVUopCq9rSwDHpsnQ7ivxT8BnwfTiKXvhm1c7NEn4LMb25", "tick": "468" }, { - "state": "srs12TjQfFTgrKzckqg65A3FUJfErZ2Eu6SXj2tWDAsi8iRf5hTcR6", + "state": "srs11sHTURfye1D1RxTxePSPgE32cgEWZcvJEyXh87jNXvxzQSNSkG", "tick": "486" }, { - "state": "srs12qYpCJiJoTiro1gs1y1HJNVLYv9Dp72bKDqwick9speqAPonWg", + "state": "srs13ArD1HVZCZMm8AoGFMwCdnn82R21YF7XXsFtbUGLLH9tdDNkNT", "tick": "504" }, { - "state": "srs12JqZ2LaeC5RSw5xiaKDnUyW3uoH1L7qLB29fTR6tX7UH5VeXjk", + "state": "srs12jXjUQKeEjqE1GZ22xW5hXUYyF777nAZLgxKHPKpoeb1jXy6bU", "tick": "522" }, { - "state": "srs13JbbzvBhzL8gjxyUGBQfZ67i4gFbab3qVQYSJoMg9xgQuovNMB", + "state": "srs11ufoNhDPiBJf7mVzTvfrXNsLkeQBishorbKp2tiBd6zquFqcmx", "tick": "540" }, { - "state": "srs12ZGKGftAktgHZThDcahUSdoRjn214kafcq5eNqcUjb3SesLeWd", + "state": "srs12SnotnQVWfM4oFwjPm8W6R8b21HB5tyu73a243AQtW9uasEdH9", "tick": "558" }, { - "state": "srs11Z7LSVYF6rBXAsR8Y5LjiQNgjPNs2eLAyUp2jWCf5QDMcSHqa6", - "tick": "582" + "state": "srs11fgo9C7FwUzH3LcWH8XJ1vz1RZPgSwEKAViMJ25axCGzwL96TA", + "tick": "589" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (timeout).out b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (timeout).out index 5352b3a29b3c5661cff66a242dcc12260a80900c..a1c34537c8ca8e695a702aba6e029a89292425a0 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (timeout).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- arith - refutation games winning strategies (timeout).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "582", + "end_tick": "589", "dissection": [ { "state": "srs136U2KJweAXf7Excw61Zeu5R5L7mi2TCb1WKkowQJ6UdHJ2VZWS", @@ -62,80 +62,80 @@ "tick": "234" }, { - "state": "srs12kh4XcDdzKZ8Pc4T7QsXm36XUqVe4cxtWJ2BxHrHwENrqEL9Ay", + "state": "srs131eKCZYTuUZkoBC6UCb65NKxCHgDAy5Cb2cZjKPxZk2dE61Vaj", "tick": "252" }, { - "state": "srs11hjoicX5kycSCkvbxZ7LDWwdbsV2qWEXBDurY3Sf5zwS8tUL3a", + "state": "srs11sFzScc4tCRcs6u3YVyJJbs4PzPSmsUpMwDmZnCw4z8g8Dq28d", "tick": "270" }, { - "state": "srs11n9qrtzJPgMSFze3erzSzvB5EAm48kTnEC9oJJYqxV6vRApyK5", + "state": "srs1215LZPP55Ja9w2EKBwbdyRdSDxx1JN6rReWbHayaWJHvjGDw8o", "tick": "288" }, { - "state": "srs1336xiQkLT9knTk1fco58u9hxKNqdHS1YPUwxGKLT2MhPzEMC7N", + "state": "srs121zmW1wyNEYWkky8A9vYfMzUiRPoSYu19jXpjcCbjhX7g43Xvf", "tick": "306" }, { - "state": "srs12CfNGraungvWxhYVdXr26w2aS1Ei6Eo5XgzDLdqn4LRDdduqom", + "state": "srs12gMVMcZPLEZ3nNispr7cxPzszAjmo8QYw1qnLNA1kqYBEBp8ng", "tick": "324" }, { - "state": "srs12BwLvVrWQv531zELu8TrCymUS1Gm9Naafz3PX6miVBYcZycJjr", + "state": "srs11gmyJWG8AfJh6kjwWF52smvGpaZq6k2i676xu9RaK63JfHXTja", "tick": "342" }, { - "state": "srs12ekcYu6yArjgAGuJAg5cwq6zPvKxdk6KCmnBtGYy7JP6kEBFqb", + "state": "srs121YG4dX4s56AhgZyXRLmpjWr7zUuQjEU1Xt68HW3j7z5KySPSg", "tick": "360" }, { - "state": "srs12a3AthkZ1i6H2x4RrPXN49iUmCVBSBkteWQTgEyWzQhpCzpoZD", + "state": "srs12XyFbq2p2iGdGREHz3RkxF2tY4Ng4t7ppvzoW1UAVpQMrKCPdX", "tick": "378" }, { - "state": "srs12EXB6ARrgEz3pi71R6nzxtQ4PMY8Azwy2DYmmTJRkne8d6rW42", + "state": "srs11Z9KGAHnLYvwrRMVQ8a5ofRNa6DswYfc3mHwW8aGXkDSZtMeeu", "tick": "396" }, { - "state": "srs11fDjhakCGzwrmM7bHy4RJp8aGUgSFRN57tDDL2LzhXvDukwEJ1", + "state": "srs12ZazS7DfJKuy7wGTcmSAkXrG6epUiLGMvBTAt6oV3KgS7SDf1T", "tick": "414" }, { - "state": "srs1397ahAZp3GHxcSuvgvSk3MrdNaosN2nhkx8kDwuh3GF2ruEWzB", + "state": "srs13CNf9LSQnTKhn4WnRz4CMbc627eptij3rA57ZupSVMBpnAXAuT", "tick": "432" }, { - "state": "srs12sZ9L8e4CVC86wfn8o5KwroqUxMdGyzkjdkaVC4BM3PCeu1foW", + "state": "srs11WeGttpoCfaHCFxG4xvGJPsC6nQ44dp3j5CxHj6ydoEyrnsixM", "tick": "450" }, { - "state": "srs13Jw5EzkDA1kK1ysWBT7QoQdoBWPtWLxbcg7tzhqmoQpMAzPDyr", + "state": "srs12EJetVUopCq9rSwDHpsnQ7ivxT8BnwfTiKXvhm1c7NEn4LMb25", "tick": "468" }, { - "state": "srs12TjQfFTgrKzckqg65A3FUJfErZ2Eu6SXj2tWDAsi8iRf5hTcR6", + "state": "srs11sHTURfye1D1RxTxePSPgE32cgEWZcvJEyXh87jNXvxzQSNSkG", "tick": "486" }, { - "state": "srs12qYpCJiJoTiro1gs1y1HJNVLYv9Dp72bKDqwick9speqAPonWg", + "state": "srs13ArD1HVZCZMm8AoGFMwCdnn82R21YF7XXsFtbUGLLH9tdDNkNT", "tick": "504" }, { - "state": "srs12JqZ2LaeC5RSw5xiaKDnUyW3uoH1L7qLB29fTR6tX7UH5VeXjk", + "state": "srs12jXjUQKeEjqE1GZ22xW5hXUYyF777nAZLgxKHPKpoeb1jXy6bU", "tick": "522" }, { - "state": "srs13JbbzvBhzL8gjxyUGBQfZ67i4gFbab3qVQYSJoMg9xgQuovNMB", + "state": "srs11ufoNhDPiBJf7mVzTvfrXNsLkeQBishorbKp2tiBd6zquFqcmx", "tick": "540" }, { - "state": "srs12ZGKGftAktgHZThDcahUSdoRjn214kafcq5eNqcUjb3SesLeWd", + "state": "srs12SnotnQVWfM4oFwjPm8W6R8b21HB5tyu73a243AQtW9uasEdH9", "tick": "558" }, { - "state": "srs11Z7LSVYF6rBXAsR8Y5LjiQNgjPNs2eLAyUp2jWCf5QDMcSHqa6", - "tick": "582" + "state": "srs11fgo9C7FwUzH3LcWH8XJ1vz1RZPgSwEKAViMJ25axCGzwL96TA", + "tick": "589" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- riscv - node advances PVM state with jstz kernel.out b/tezt/tests/expected/sc_rollup.ml/Alpha- riscv - node advances PVM state with jstz kernel.out index cd3d5cafdc5f7f2f755af2f50412768d4efa7850..90acefcec3aae06e3ce32e46c5b2fa62cc4b3e3c 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- riscv - node advances PVM state with jstz kernel.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- riscv - node advances PVM state with jstz kernel.out @@ -216,6 +216,7 @@ External operation: SignedOperation { public_key: Ed25519(Ed25519(PublicKeyEd255 🚀 Smart function executed successfully with value: Ok(Object(("jstz_api::http::response::Response") 0xD54B38)) (in 435 instructions) Receipt: Receipt { hash: Blake2b([137, 125, 68, 250, 6, 207, 77, 103, 93, 160, 115, 66, 53, 228, 64, 3, 41, 186, 12, 197, 205, 172, 10, 117, 163, 2, 120, 62, 248, 157, 100, 34]), result: Success(RunFunction(RunFunctionReceipt { body: Some([91, 123, 34, 98, 97, 108, 97, 110, 99, 101, 34, 58, 50, 46, 48, 44, 34, 114, 101, 113, 117, 101, 115, 116, 34, 58, 123, 34, 111, 119, 110, 101, 114, 34, 58, 34, 116, 122, 49, 101, 65, 107, 83, 87, 121, 100, 120, 50, 70, 69, 66, 51, 68, 82, 99, 105, 101, 115, 103, 56, 82, 99, 75, 100, 89, 111, 120, 65, 114, 57, 53, 120, 34, 44, 34, 116, 111, 107, 101, 110, 95, 105, 100, 34, 58, 48, 125, 125, 44, 123, 34, 98, 97, 108, 97, 110, 99, 101, 34, 58, 48, 44, 34, 114, 101, 113, 117, 101, 115, 116, 34, 58, 123, 34, 111, 119, 110, 101, 114, 34, 58, 34, 116, 122, 49, 101, 65, 107, 83, 87, 121, 100, 120, 50, 70, 69, 66, 51, 68, 82, 99, 105, 101, 115, 103, 56, 82, 99, 75, 100, 89, 111, 120, 65, 114, 57, 53, 120, 34, 44, 34, 116, 111, 107, 101, 110, 95, 105, 100, 34, 58, 49, 125, 125, 93]), status_code: 200, headers: {"content-type": "application/json"} })) } + Internal message: end of level GET http://[HOST]:[PORT]/global/block/head/state_hash @@ -262,9 +263,10 @@ External operation: SignedOperation { public_key: Ed25519(Ed25519(PublicKeyEd255 [JSTZ:SMART_FUNCTION:LOG] {"address":"[CONTRACT_HASH]","request_id":"f476459bf09e3b78c602823f1821cbc88e99c9472f9b300858e218edf42d6577","level":"LOG","text":"[PUBLIC_KEY_HASH] has 1 of token 0"} [JSTZ:SMART_FUNCTION:LOG] {"address":"[CONTRACT_HASH]","request_id":"f476459bf09e3b78c602823f1821cbc88e99c9472f9b300858e218edf42d6577","level":"LOG","text":"[PUBLIC_KEY_HASH] has 3 of token 1"} [JSTZ:SMART_FUNCTION:REQUEST_END] {"type":"End","address":"[CONTRACT_HASH]","request_id":"f476459bf09e3b78c602823f1821cbc88e99c9472f9b300858e218edf42d6577"} -🚀 Smart function executed successfully with value: Ok(Object(("jstz_api::http::response::Response") 0xD3FB28)) (in 434 instructions) +🚀 Smart function executed successfully with value: Ok(Object(("jstz_api::http::response::Response") 0xD3FB38)) (in 434 instructions) Receipt: Receipt { hash: Blake2b([244, 118, 69, 155, 240, 158, 59, 120, 198, 2, 130, 63, 24, 33, 203, 200, 142, 153, 201, 71, 47, 155, 48, 8, 88, 226, 24, 237, 244, 45, 101, 119]), result: Success(RunFunction(RunFunctionReceipt { body: Some([91, 123, 34, 98, 97, 108, 97, 110, 99, 101, 34, 58, 49, 44, 34, 114, 101, 113, 117, 101, 115, 116, 34, 58, 123, 34, 111, 119, 110, 101, 114, 34, 58, 34, 116, 122, 49, 104, 80, 121, 104, 54, 120, 107, 97, 106, 97, 76, 98, 84, 75, 106, 72, 118, 75, 115, 56, 51, 107, 101, 105, 76, 104, 97, 50, 76, 70, 56, 120, 81, 34, 44, 34, 116, 111, 107, 101, 110, 95, 105, 100, 34, 58, 48, 125, 125, 44, 123, 34, 98, 97, 108, 97, 110, 99, 101, 34, 58, 51, 44, 34, 114, 101, 113, 117, 101, 115, 116, 34, 58, 123, 34, 111, 119, 110, 101, 114, 34, 58, 34, 116, 122, 49, 104, 80, 121, 104, 54, 120, 107, 97, 106, 97, 76, 98, 84, 75, 106, 72, 118, 75, 115, 56, 51, 107, 101, 105, 76, 104, 97, 50, 76, 70, 56, 120, 81, 34, 44, 34, 116, 111, 107, 101, 110, 95, 105, 100, 34, 58, 49, 125, 125, 93]), status_code: 200, headers: {"content-type": "application/json"} })) } + Internal message: end of level GET http://[HOST]:[PORT]/global/block/head/state_hash diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - RPC API should work and be stable.out b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - RPC API should work and be stable.out index 63d4f4ea4b78aa4bf8adff2ea5472d38d9e7e234..52f311008caf2eb4f54b4fa0f958f2c34d934081 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - RPC API should work and be stable.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - RPC API should work and be stable.out @@ -231,7 +231,7 @@ GET http://[HOST]:[PORT]/global/block/finalized/level GET http://[HOST]:[PORT]/global/block/head/num_messages 200 OK -"8" +"9" GET http://[HOST]:[PORT]/global/block/head/durable/wasm_2_0_0/value?key=/kernel/boot.wasm 200 OK @@ -263,7 +263,7 @@ GET http://[HOST]:[PORT]/global/block/head/status GET http://[HOST]:[PORT]/global/block/head/ticks 200 OK -"450000000000000" +"500000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - node advances PVM state with messages (external).out b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - node advances PVM state with messages (external).out index 9203bab132bb6abb3483974b52826f8d67a3eb5a..2c88ebb8558c15db34adfead11e4c282470422af 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - node advances PVM state with messages (external).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - node advances PVM state with messages (external).out @@ -195,7 +195,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1000000000000000" +"1050000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -203,7 +203,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1000000000000000" +"1050000000000000" ./octez-client --wait none send smart rollup message '["5 14 + value"]' from bootstrap2 @@ -236,7 +236,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1250000000000000" +"1350000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -244,7 +244,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1250000000000000" +"1350000000000000" ./octez-client --wait none send smart rollup message '["6 16 + value"]' from bootstrap2 @@ -277,7 +277,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1500000000000000" +"1650000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -285,7 +285,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1500000000000000" +"1650000000000000" ./octez-client --wait none send smart rollup message '["7 18 + value"]' from bootstrap2 @@ -318,7 +318,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1750000000000000" +"1950000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -326,7 +326,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1750000000000000" +"1950000000000000" ./octez-client --wait none send smart rollup message '["8 20 + value"]' from bootstrap2 @@ -359,7 +359,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"2000000000000000" +"2250000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -367,7 +367,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"2000000000000000" +"2250000000000000" ./octez-client --wait none send smart rollup message '["9 22 + value"]' from bootstrap2 @@ -400,7 +400,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"2250000000000000" +"2550000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -408,7 +408,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"2250000000000000" +"2550000000000000" ./octez-client --wait none send smart rollup message '["10 24 + value"]' from bootstrap2 @@ -441,5 +441,5 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"2500000000000000" +"2850000000000000" diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - node advances PVM state with messages (internal).out b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - node advances PVM state with messages (internal).out index 7e3136d37fb09583ec0242828830baf0df9fbeeb..bf32adad93a25ca10d44afefbbc3ad22a979b8d3 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - node advances PVM state with messages (internal).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - node advances PVM state with messages (internal).out @@ -79,7 +79,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"950000000000000" +"1000000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -87,7 +87,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"950000000000000" +"1000000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -95,7 +95,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1200000000000000" +"1300000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -103,7 +103,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1200000000000000" +"1300000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -111,7 +111,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1450000000000000" +"1600000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -119,7 +119,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1450000000000000" +"1600000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -127,7 +127,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1700000000000000" +"1900000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -135,7 +135,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1700000000000000" +"1900000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -143,7 +143,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1950000000000000" +"2200000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -151,7 +151,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"1950000000000000" +"2200000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -159,7 +159,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"2200000000000000" +"2500000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -167,7 +167,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"2200000000000000" +"2500000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -175,7 +175,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"2450000000000000" +"2800000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -183,7 +183,7 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"2450000000000000" +"2800000000000000" GET http://[HOST]:[PORT]/global/block/head/state_hash 200 OK @@ -191,5 +191,5 @@ GET http://[HOST]:[PORT]/global/block/head/state_hash GET http://[HOST]:[PORT]/global/block/head/total_ticks 200 OK -"2700000000000000" +"3100000000000000" diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (inbox_proof_0).out b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (inbox_proof_0).out index 1d8fa6b419dc4054257435c953a526cef60da8d2..319bd04320b0fa3ae8118a04287d5658ea984f6b 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (inbox_proof_0).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (inbox_proof_0).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "100000000000000", + "end_tick": "150000000000000", "dissection": [ { "tick": "0" @@ -13,6 +13,9 @@ }, { "tick": "100000000000000" + }, + { + "tick": "150000000000000" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (inbox_proof_1).out b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (inbox_proof_1).out index 1d8fa6b419dc4054257435c953a526cef60da8d2..319bd04320b0fa3ae8118a04287d5658ea984f6b 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (inbox_proof_1).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (inbox_proof_1).out @@ -3,7 +3,7 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "100000000000000", + "end_tick": "150000000000000", "dissection": [ { "tick": "0" @@ -13,6 +13,9 @@ }, { "tick": "100000000000000" + }, + { + "tick": "150000000000000" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_1).out b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_1).out index 26f068148582497db3f8e30edeb91cbc65cf446b..68b93749abbbd0f706e322b47b345a8b62ad01dc 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_1).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_1).out @@ -23,107 +23,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1801562500000000", + "start_tick": "1850000000000000", + "end_tick": "1851562500000000", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800048828125000" + "tick": "1850048828125000" }, { - "tick": "1800097656250000" + "tick": "1850097656250000" }, { - "tick": "1800146484375000" + "tick": "1850146484375000" }, { - "tick": "1800195312500000" + "tick": "1850195312500000" }, { - "tick": "1800244140625000" + "tick": "1850244140625000" }, { - "tick": "1800292968750000" + "tick": "1850292968750000" }, { - "tick": "1800341796875000" + "tick": "1850341796875000" }, { - "tick": "1800390625000000" + "tick": "1850390625000000" }, { - "tick": "1800439453125000" + "tick": "1850439453125000" }, { - "tick": "1800488281250000" + "tick": "1850488281250000" }, { - "tick": "1800537109375000" + "tick": "1850537109375000" }, { - "tick": "1800585937500000" + "tick": "1850585937500000" }, { - "tick": "1800634765625000" + "tick": "1850634765625000" }, { - "tick": "1800683593750000" + "tick": "1850683593750000" }, { - "tick": "1800732421875000" + "tick": "1850732421875000" }, { - "tick": "1800781250000000" + "tick": "1850781250000000" }, { - "tick": "1800830078125000" + "tick": "1850830078125000" }, { - "tick": "1800878906250000" + "tick": "1850878906250000" }, { - "tick": "1800927734375000" + "tick": "1850927734375000" }, { - "tick": "1800976562500000" + "tick": "1850976562500000" }, { - "tick": "1801025390625000" + "tick": "1851025390625000" }, { - "tick": "1801074218750000" + "tick": "1851074218750000" }, { - "tick": "1801123046875000" + "tick": "1851123046875000" }, { - "tick": "1801171875000000" + "tick": "1851171875000000" }, { - "tick": "1801220703125000" + "tick": "1851220703125000" }, { - "tick": "1801269531250000" + "tick": "1851269531250000" }, { - "tick": "1801318359375000" + "tick": "1851318359375000" }, { - "tick": "1801367187500000" + "tick": "1851367187500000" }, { - "tick": "1801416015625000" + "tick": "1851416015625000" }, { - "tick": "1801464843750000" + "tick": "1851464843750000" }, { - "tick": "1801513671875000" + "tick": "1851513671875000" }, { - "tick": "1801562500000000" + "tick": "1851562500000000" } ] } @@ -131,107 +131,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800001525878906", + "start_tick": "1850000000000000", + "end_tick": "1850001525878906", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000047683715" + "tick": "1850000047683715" }, { - "tick": "1800000095367430" + "tick": "1850000095367430" }, { - "tick": "1800000143051145" + "tick": "1850000143051145" }, { - "tick": "1800000190734860" + "tick": "1850000190734860" }, { - "tick": "1800000238418575" + "tick": "1850000238418575" }, { - "tick": "1800000286102290" + "tick": "1850000286102290" }, { - "tick": "1800000333786005" + "tick": "1850000333786005" }, { - "tick": "1800000381469720" + "tick": "1850000381469720" }, { - "tick": "1800000429153435" + "tick": "1850000429153435" }, { - "tick": "1800000476837150" + "tick": "1850000476837150" }, { - "tick": "1800000524520865" + "tick": "1850000524520865" }, { - "tick": "1800000572204580" + "tick": "1850000572204580" }, { - "tick": "1800000619888295" + "tick": "1850000619888295" }, { - "tick": "1800000667572010" + "tick": "1850000667572010" }, { - "tick": "1800000715255725" + "tick": "1850000715255725" }, { - "tick": "1800000762939440" + "tick": "1850000762939440" }, { - "tick": "1800000810623155" + "tick": "1850000810623155" }, { - "tick": "1800000858306870" + "tick": "1850000858306870" }, { - "tick": "1800000905990585" + "tick": "1850000905990585" }, { - "tick": "1800000953674300" + "tick": "1850000953674300" }, { - "tick": "1800001001358015" + "tick": "1850001001358015" }, { - "tick": "1800001049041730" + "tick": "1850001049041730" }, { - "tick": "1800001096725445" + "tick": "1850001096725445" }, { - "tick": "1800001144409160" + "tick": "1850001144409160" }, { - "tick": "1800001192092875" + "tick": "1850001192092875" }, { - "tick": "1800001239776590" + "tick": "1850001239776590" }, { - "tick": "1800001287460305" + "tick": "1850001287460305" }, { - "tick": "1800001335144020" + "tick": "1850001335144020" }, { - "tick": "1800001382827735" + "tick": "1850001382827735" }, { - "tick": "1800001430511450" + "tick": "1850001430511450" }, { - "tick": "1800001478195165" + "tick": "1850001478195165" }, { - "tick": "1800001525878906" + "tick": "1850001525878906" } ] } @@ -239,107 +239,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000001490116", + "start_tick": "1850000000000000", + "end_tick": "1850000001490116", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000000046566" + "tick": "1850000000046566" }, { - "tick": "1800000000093132" + "tick": "1850000000093132" }, { - "tick": "1800000000139698" + "tick": "1850000000139698" }, { - "tick": "1800000000186264" + "tick": "1850000000186264" }, { - "tick": "1800000000232830" + "tick": "1850000000232830" }, { - "tick": "1800000000279396" + "tick": "1850000000279396" }, { - "tick": "1800000000325962" + "tick": "1850000000325962" }, { - "tick": "1800000000372528" + "tick": "1850000000372528" }, { - "tick": "1800000000419094" + "tick": "1850000000419094" }, { - "tick": "1800000000465660" + "tick": "1850000000465660" }, { - "tick": "1800000000512226" + "tick": "1850000000512226" }, { - "tick": "1800000000558792" + "tick": "1850000000558792" }, { - "tick": "1800000000605358" + "tick": "1850000000605358" }, { - "tick": "1800000000651924" + "tick": "1850000000651924" }, { - "tick": "1800000000698490" + "tick": "1850000000698490" }, { - "tick": "1800000000745056" + "tick": "1850000000745056" }, { - "tick": "1800000000791622" + "tick": "1850000000791622" }, { - "tick": "1800000000838188" + "tick": "1850000000838188" }, { - "tick": "1800000000884754" + "tick": "1850000000884754" }, { - "tick": "1800000000931320" + "tick": "1850000000931320" }, { - "tick": "1800000000977886" + "tick": "1850000000977886" }, { - "tick": "1800000001024452" + "tick": "1850000001024452" }, { - "tick": "1800000001071018" + "tick": "1850000001071018" }, { - "tick": "1800000001117584" + "tick": "1850000001117584" }, { - "tick": "1800000001164150" + "tick": "1850000001164150" }, { - "tick": "1800000001210716" + "tick": "1850000001210716" }, { - "tick": "1800000001257282" + "tick": "1850000001257282" }, { - "tick": "1800000001303848" + "tick": "1850000001303848" }, { - "tick": "1800000001350414" + "tick": "1850000001350414" }, { - "tick": "1800000001396980" + "tick": "1850000001396980" }, { - "tick": "1800000001443546" + "tick": "1850000001443546" }, { - "tick": "1800000001490116" + "tick": "1850000001490116" } ] } @@ -347,107 +347,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000000001455", + "start_tick": "1850000000000000", + "end_tick": "1850000000001455", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000000000045" + "tick": "1850000000000045" }, { - "tick": "1800000000000090" + "tick": "1850000000000090" }, { - "tick": "1800000000000135" + "tick": "1850000000000135" }, { - "tick": "1800000000000180" + "tick": "1850000000000180" }, { - "tick": "1800000000000225" + "tick": "1850000000000225" }, { - "tick": "1800000000000270" + "tick": "1850000000000270" }, { - "tick": "1800000000000315" + "tick": "1850000000000315" }, { - "tick": "1800000000000360" + "tick": "1850000000000360" }, { - "tick": "1800000000000405" + "tick": "1850000000000405" }, { - "tick": "1800000000000450" + "tick": "1850000000000450" }, { - "tick": "1800000000000495" + "tick": "1850000000000495" }, { - "tick": "1800000000000540" + "tick": "1850000000000540" }, { - "tick": "1800000000000585" + "tick": "1850000000000585" }, { - "tick": "1800000000000630" + "tick": "1850000000000630" }, { - "tick": "1800000000000675" + "tick": "1850000000000675" }, { - "tick": "1800000000000720" + "tick": "1850000000000720" }, { - "tick": "1800000000000765" + "tick": "1850000000000765" }, { - "tick": "1800000000000810" + "tick": "1850000000000810" }, { - "tick": "1800000000000855" + "tick": "1850000000000855" }, { - "tick": "1800000000000900" + "tick": "1850000000000900" }, { - "tick": "1800000000000945" + "tick": "1850000000000945" }, { - "tick": "1800000000000990" + "tick": "1850000000000990" }, { - "tick": "1800000000001035" + "tick": "1850000000001035" }, { - "tick": "1800000000001080" + "tick": "1850000000001080" }, { - "tick": "1800000000001125" + "tick": "1850000000001125" }, { - "tick": "1800000000001170" + "tick": "1850000000001170" }, { - "tick": "1800000000001215" + "tick": "1850000000001215" }, { - "tick": "1800000000001260" + "tick": "1850000000001260" }, { - "tick": "1800000000001305" + "tick": "1850000000001305" }, { - "tick": "1800000000001350" + "tick": "1850000000001350" }, { - "tick": "1800000000001395" + "tick": "1850000000001395" }, { - "tick": "1800000000001455" + "tick": "1850000000001455" } ] } @@ -455,50 +455,50 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000000000013", + "start_tick": "1850000000000000", + "end_tick": "1850000000000013", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000000000001" + "tick": "1850000000000001" }, { - "tick": "1800000000000002" + "tick": "1850000000000002" }, { - "tick": "1800000000000003" + "tick": "1850000000000003" }, { - "tick": "1800000000000004" + "tick": "1850000000000004" }, { - "tick": "1800000000000005" + "tick": "1850000000000005" }, { - "tick": "1800000000000006" + "tick": "1850000000000006" }, { - "tick": "1800000000000007" + "tick": "1850000000000007" }, { - "tick": "1800000000000008" + "tick": "1850000000000008" }, { - "tick": "1800000000000009" + "tick": "1850000000000009" }, { - "tick": "1800000000000010" + "tick": "1850000000000010" }, { - "tick": "1800000000000011" + "tick": "1850000000000011" }, { - "tick": "1800000000000012" + "tick": "1850000000000012" }, { - "tick": "1800000000000013" + "tick": "1850000000000013" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_2).out b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_2).out index 26f068148582497db3f8e30edeb91cbc65cf446b..68b93749abbbd0f706e322b47b345a8b62ad01dc 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_2).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_2).out @@ -23,107 +23,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1801562500000000", + "start_tick": "1850000000000000", + "end_tick": "1851562500000000", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800048828125000" + "tick": "1850048828125000" }, { - "tick": "1800097656250000" + "tick": "1850097656250000" }, { - "tick": "1800146484375000" + "tick": "1850146484375000" }, { - "tick": "1800195312500000" + "tick": "1850195312500000" }, { - "tick": "1800244140625000" + "tick": "1850244140625000" }, { - "tick": "1800292968750000" + "tick": "1850292968750000" }, { - "tick": "1800341796875000" + "tick": "1850341796875000" }, { - "tick": "1800390625000000" + "tick": "1850390625000000" }, { - "tick": "1800439453125000" + "tick": "1850439453125000" }, { - "tick": "1800488281250000" + "tick": "1850488281250000" }, { - "tick": "1800537109375000" + "tick": "1850537109375000" }, { - "tick": "1800585937500000" + "tick": "1850585937500000" }, { - "tick": "1800634765625000" + "tick": "1850634765625000" }, { - "tick": "1800683593750000" + "tick": "1850683593750000" }, { - "tick": "1800732421875000" + "tick": "1850732421875000" }, { - "tick": "1800781250000000" + "tick": "1850781250000000" }, { - "tick": "1800830078125000" + "tick": "1850830078125000" }, { - "tick": "1800878906250000" + "tick": "1850878906250000" }, { - "tick": "1800927734375000" + "tick": "1850927734375000" }, { - "tick": "1800976562500000" + "tick": "1850976562500000" }, { - "tick": "1801025390625000" + "tick": "1851025390625000" }, { - "tick": "1801074218750000" + "tick": "1851074218750000" }, { - "tick": "1801123046875000" + "tick": "1851123046875000" }, { - "tick": "1801171875000000" + "tick": "1851171875000000" }, { - "tick": "1801220703125000" + "tick": "1851220703125000" }, { - "tick": "1801269531250000" + "tick": "1851269531250000" }, { - "tick": "1801318359375000" + "tick": "1851318359375000" }, { - "tick": "1801367187500000" + "tick": "1851367187500000" }, { - "tick": "1801416015625000" + "tick": "1851416015625000" }, { - "tick": "1801464843750000" + "tick": "1851464843750000" }, { - "tick": "1801513671875000" + "tick": "1851513671875000" }, { - "tick": "1801562500000000" + "tick": "1851562500000000" } ] } @@ -131,107 +131,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800001525878906", + "start_tick": "1850000000000000", + "end_tick": "1850001525878906", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000047683715" + "tick": "1850000047683715" }, { - "tick": "1800000095367430" + "tick": "1850000095367430" }, { - "tick": "1800000143051145" + "tick": "1850000143051145" }, { - "tick": "1800000190734860" + "tick": "1850000190734860" }, { - "tick": "1800000238418575" + "tick": "1850000238418575" }, { - "tick": "1800000286102290" + "tick": "1850000286102290" }, { - "tick": "1800000333786005" + "tick": "1850000333786005" }, { - "tick": "1800000381469720" + "tick": "1850000381469720" }, { - "tick": "1800000429153435" + "tick": "1850000429153435" }, { - "tick": "1800000476837150" + "tick": "1850000476837150" }, { - "tick": "1800000524520865" + "tick": "1850000524520865" }, { - "tick": "1800000572204580" + "tick": "1850000572204580" }, { - "tick": "1800000619888295" + "tick": "1850000619888295" }, { - "tick": "1800000667572010" + "tick": "1850000667572010" }, { - "tick": "1800000715255725" + "tick": "1850000715255725" }, { - "tick": "1800000762939440" + "tick": "1850000762939440" }, { - "tick": "1800000810623155" + "tick": "1850000810623155" }, { - "tick": "1800000858306870" + "tick": "1850000858306870" }, { - "tick": "1800000905990585" + "tick": "1850000905990585" }, { - "tick": "1800000953674300" + "tick": "1850000953674300" }, { - "tick": "1800001001358015" + "tick": "1850001001358015" }, { - "tick": "1800001049041730" + "tick": "1850001049041730" }, { - "tick": "1800001096725445" + "tick": "1850001096725445" }, { - "tick": "1800001144409160" + "tick": "1850001144409160" }, { - "tick": "1800001192092875" + "tick": "1850001192092875" }, { - "tick": "1800001239776590" + "tick": "1850001239776590" }, { - "tick": "1800001287460305" + "tick": "1850001287460305" }, { - "tick": "1800001335144020" + "tick": "1850001335144020" }, { - "tick": "1800001382827735" + "tick": "1850001382827735" }, { - "tick": "1800001430511450" + "tick": "1850001430511450" }, { - "tick": "1800001478195165" + "tick": "1850001478195165" }, { - "tick": "1800001525878906" + "tick": "1850001525878906" } ] } @@ -239,107 +239,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000001490116", + "start_tick": "1850000000000000", + "end_tick": "1850000001490116", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000000046566" + "tick": "1850000000046566" }, { - "tick": "1800000000093132" + "tick": "1850000000093132" }, { - "tick": "1800000000139698" + "tick": "1850000000139698" }, { - "tick": "1800000000186264" + "tick": "1850000000186264" }, { - "tick": "1800000000232830" + "tick": "1850000000232830" }, { - "tick": "1800000000279396" + "tick": "1850000000279396" }, { - "tick": "1800000000325962" + "tick": "1850000000325962" }, { - "tick": "1800000000372528" + "tick": "1850000000372528" }, { - "tick": "1800000000419094" + "tick": "1850000000419094" }, { - "tick": "1800000000465660" + "tick": "1850000000465660" }, { - "tick": "1800000000512226" + "tick": "1850000000512226" }, { - "tick": "1800000000558792" + "tick": "1850000000558792" }, { - "tick": "1800000000605358" + "tick": "1850000000605358" }, { - "tick": "1800000000651924" + "tick": "1850000000651924" }, { - "tick": "1800000000698490" + "tick": "1850000000698490" }, { - "tick": "1800000000745056" + "tick": "1850000000745056" }, { - "tick": "1800000000791622" + "tick": "1850000000791622" }, { - "tick": "1800000000838188" + "tick": "1850000000838188" }, { - "tick": "1800000000884754" + "tick": "1850000000884754" }, { - "tick": "1800000000931320" + "tick": "1850000000931320" }, { - "tick": "1800000000977886" + "tick": "1850000000977886" }, { - "tick": "1800000001024452" + "tick": "1850000001024452" }, { - "tick": "1800000001071018" + "tick": "1850000001071018" }, { - "tick": "1800000001117584" + "tick": "1850000001117584" }, { - "tick": "1800000001164150" + "tick": "1850000001164150" }, { - "tick": "1800000001210716" + "tick": "1850000001210716" }, { - "tick": "1800000001257282" + "tick": "1850000001257282" }, { - "tick": "1800000001303848" + "tick": "1850000001303848" }, { - "tick": "1800000001350414" + "tick": "1850000001350414" }, { - "tick": "1800000001396980" + "tick": "1850000001396980" }, { - "tick": "1800000001443546" + "tick": "1850000001443546" }, { - "tick": "1800000001490116" + "tick": "1850000001490116" } ] } @@ -347,107 +347,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000000001455", + "start_tick": "1850000000000000", + "end_tick": "1850000000001455", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000000000045" + "tick": "1850000000000045" }, { - "tick": "1800000000000090" + "tick": "1850000000000090" }, { - "tick": "1800000000000135" + "tick": "1850000000000135" }, { - "tick": "1800000000000180" + "tick": "1850000000000180" }, { - "tick": "1800000000000225" + "tick": "1850000000000225" }, { - "tick": "1800000000000270" + "tick": "1850000000000270" }, { - "tick": "1800000000000315" + "tick": "1850000000000315" }, { - "tick": "1800000000000360" + "tick": "1850000000000360" }, { - "tick": "1800000000000405" + "tick": "1850000000000405" }, { - "tick": "1800000000000450" + "tick": "1850000000000450" }, { - "tick": "1800000000000495" + "tick": "1850000000000495" }, { - "tick": "1800000000000540" + "tick": "1850000000000540" }, { - "tick": "1800000000000585" + "tick": "1850000000000585" }, { - "tick": "1800000000000630" + "tick": "1850000000000630" }, { - "tick": "1800000000000675" + "tick": "1850000000000675" }, { - "tick": "1800000000000720" + "tick": "1850000000000720" }, { - "tick": "1800000000000765" + "tick": "1850000000000765" }, { - "tick": "1800000000000810" + "tick": "1850000000000810" }, { - "tick": "1800000000000855" + "tick": "1850000000000855" }, { - "tick": "1800000000000900" + "tick": "1850000000000900" }, { - "tick": "1800000000000945" + "tick": "1850000000000945" }, { - "tick": "1800000000000990" + "tick": "1850000000000990" }, { - "tick": "1800000000001035" + "tick": "1850000000001035" }, { - "tick": "1800000000001080" + "tick": "1850000000001080" }, { - "tick": "1800000000001125" + "tick": "1850000000001125" }, { - "tick": "1800000000001170" + "tick": "1850000000001170" }, { - "tick": "1800000000001215" + "tick": "1850000000001215" }, { - "tick": "1800000000001260" + "tick": "1850000000001260" }, { - "tick": "1800000000001305" + "tick": "1850000000001305" }, { - "tick": "1800000000001350" + "tick": "1850000000001350" }, { - "tick": "1800000000001395" + "tick": "1850000000001395" }, { - "tick": "1800000000001455" + "tick": "1850000000001455" } ] } @@ -455,50 +455,50 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000000000013", + "start_tick": "1850000000000000", + "end_tick": "1850000000000013", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000000000001" + "tick": "1850000000000001" }, { - "tick": "1800000000000002" + "tick": "1850000000000002" }, { - "tick": "1800000000000003" + "tick": "1850000000000003" }, { - "tick": "1800000000000004" + "tick": "1850000000000004" }, { - "tick": "1800000000000005" + "tick": "1850000000000005" }, { - "tick": "1800000000000006" + "tick": "1850000000000006" }, { - "tick": "1800000000000007" + "tick": "1850000000000007" }, { - "tick": "1800000000000008" + "tick": "1850000000000008" }, { - "tick": "1800000000000009" + "tick": "1850000000000009" }, { - "tick": "1800000000000010" + "tick": "1850000000000010" }, { - "tick": "1800000000000011" + "tick": "1850000000000011" }, { - "tick": "1800000000000012" + "tick": "1850000000000012" }, { - "tick": "1800000000000013" + "tick": "1850000000000013" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_2-accuser).out b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_2-accuser).out index a7ca55bca0beb9ead4a15879ec686590499d4826..643a85a886e101ad82249dffe1a6ef38e085d4d4 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_2-accuser).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_2-accuser).out @@ -3,25 +3,19 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "start_tick": "0", - "end_tick": "4500000000000000", + "end_tick": "4850000000000000", "dissection": [ { "tick": "0" }, { - "tick": "100000000000000" - }, - { - "tick": "200000000000000" + "tick": "150000000000000" }, { "tick": "300000000000000" }, { - "tick": "400000000000000" - }, - { - "tick": "500000000000000" + "tick": "450000000000000" }, { "tick": "600000000000000" @@ -103,6 +97,12 @@ }, { "tick": "4500000000000000" + }, + { + "tick": "4650000000000000" + }, + { + "tick": "4850000000000000" } ] } @@ -110,107 +110,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1850000000000000", + "start_tick": "1850000000000000", + "end_tick": "1900000000000000", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1801562500000000" + "tick": "1851562500000000" }, { - "tick": "1803125000000000" + "tick": "1853125000000000" }, { - "tick": "1804687500000000" + "tick": "1854687500000000" }, { - "tick": "1806250000000000" + "tick": "1856250000000000" }, { - "tick": "1807812500000000" + "tick": "1857812500000000" }, { - "tick": "1809375000000000" + "tick": "1859375000000000" }, { - "tick": "1810937500000000" + "tick": "1860937500000000" }, { - "tick": "1812500000000000" + "tick": "1862500000000000" }, { - "tick": "1814062500000000" + "tick": "1864062500000000" }, { - "tick": "1815625000000000" + "tick": "1865625000000000" }, { - "tick": "1817187500000000" + "tick": "1867187500000000" }, { - "tick": "1818750000000000" + "tick": "1868750000000000" }, { - "tick": "1820312500000000" + "tick": "1870312500000000" }, { - "tick": "1821875000000000" + "tick": "1871875000000000" }, { - "tick": "1823437500000000" + "tick": "1873437500000000" }, { - "tick": "1825000000000000" + "tick": "1875000000000000" }, { - "tick": "1826562500000000" + "tick": "1876562500000000" }, { - "tick": "1828125000000000" + "tick": "1878125000000000" }, { - "tick": "1829687500000000" + "tick": "1879687500000000" }, { - "tick": "1831250000000000" + "tick": "1881250000000000" }, { - "tick": "1832812500000000" + "tick": "1882812500000000" }, { - "tick": "1834375000000000" + "tick": "1884375000000000" }, { - "tick": "1835937500000000" + "tick": "1885937500000000" }, { - "tick": "1837500000000000" + "tick": "1887500000000000" }, { - "tick": "1839062500000000" + "tick": "1889062500000000" }, { - "tick": "1840625000000000" + "tick": "1890625000000000" }, { - "tick": "1842187500000000" + "tick": "1892187500000000" }, { - "tick": "1843750000000000" + "tick": "1893750000000000" }, { - "tick": "1845312500000000" + "tick": "1895312500000000" }, { - "tick": "1846875000000000" + "tick": "1896875000000000" }, { - "tick": "1848437500000000" + "tick": "1898437500000000" }, { - "tick": "1850000000000000" + "tick": "1900000000000000" } ] } @@ -218,107 +218,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800048828125000", + "start_tick": "1850000000000000", + "end_tick": "1850048828125000", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800001525878906" + "tick": "1850001525878906" }, { - "tick": "1800003051757812" + "tick": "1850003051757812" }, { - "tick": "1800004577636718" + "tick": "1850004577636718" }, { - "tick": "1800006103515624" + "tick": "1850006103515624" }, { - "tick": "1800007629394530" + "tick": "1850007629394530" }, { - "tick": "1800009155273436" + "tick": "1850009155273436" }, { - "tick": "1800010681152342" + "tick": "1850010681152342" }, { - "tick": "1800012207031248" + "tick": "1850012207031248" }, { - "tick": "1800013732910154" + "tick": "1850013732910154" }, { - "tick": "1800015258789060" + "tick": "1850015258789060" }, { - "tick": "1800016784667966" + "tick": "1850016784667966" }, { - "tick": "1800018310546872" + "tick": "1850018310546872" }, { - "tick": "1800019836425778" + "tick": "1850019836425778" }, { - "tick": "1800021362304684" + "tick": "1850021362304684" }, { - "tick": "1800022888183590" + "tick": "1850022888183590" }, { - "tick": "1800024414062496" + "tick": "1850024414062496" }, { - "tick": "1800025939941402" + "tick": "1850025939941402" }, { - "tick": "1800027465820308" + "tick": "1850027465820308" }, { - "tick": "1800028991699214" + "tick": "1850028991699214" }, { - "tick": "1800030517578120" + "tick": "1850030517578120" }, { - "tick": "1800032043457026" + "tick": "1850032043457026" }, { - "tick": "1800033569335932" + "tick": "1850033569335932" }, { - "tick": "1800035095214838" + "tick": "1850035095214838" }, { - "tick": "1800036621093744" + "tick": "1850036621093744" }, { - "tick": "1800038146972650" + "tick": "1850038146972650" }, { - "tick": "1800039672851556" + "tick": "1850039672851556" }, { - "tick": "1800041198730462" + "tick": "1850041198730462" }, { - "tick": "1800042724609368" + "tick": "1850042724609368" }, { - "tick": "1800044250488274" + "tick": "1850044250488274" }, { - "tick": "1800045776367180" + "tick": "1850045776367180" }, { - "tick": "1800047302246086" + "tick": "1850047302246086" }, { - "tick": "1800048828125000" + "tick": "1850048828125000" } ] } @@ -326,107 +326,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000047683715", + "start_tick": "1850000000000000", + "end_tick": "1850000047683715", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000001490116" + "tick": "1850000001490116" }, { - "tick": "1800000002980232" + "tick": "1850000002980232" }, { - "tick": "1800000004470348" + "tick": "1850000004470348" }, { - "tick": "1800000005960464" + "tick": "1850000005960464" }, { - "tick": "1800000007450580" + "tick": "1850000007450580" }, { - "tick": "1800000008940696" + "tick": "1850000008940696" }, { - "tick": "1800000010430812" + "tick": "1850000010430812" }, { - "tick": "1800000011920928" + "tick": "1850000011920928" }, { - "tick": "1800000013411044" + "tick": "1850000013411044" }, { - "tick": "1800000014901160" + "tick": "1850000014901160" }, { - "tick": "1800000016391276" + "tick": "1850000016391276" }, { - "tick": "1800000017881392" + "tick": "1850000017881392" }, { - "tick": "1800000019371508" + "tick": "1850000019371508" }, { - "tick": "1800000020861624" + "tick": "1850000020861624" }, { - "tick": "1800000022351740" + "tick": "1850000022351740" }, { - "tick": "1800000023841856" + "tick": "1850000023841856" }, { - "tick": "1800000025331972" + "tick": "1850000025331972" }, { - "tick": "1800000026822088" + "tick": "1850000026822088" }, { - "tick": "1800000028312204" + "tick": "1850000028312204" }, { - "tick": "1800000029802320" + "tick": "1850000029802320" }, { - "tick": "1800000031292436" + "tick": "1850000031292436" }, { - "tick": "1800000032782552" + "tick": "1850000032782552" }, { - "tick": "1800000034272668" + "tick": "1850000034272668" }, { - "tick": "1800000035762784" + "tick": "1850000035762784" }, { - "tick": "1800000037252900" + "tick": "1850000037252900" }, { - "tick": "1800000038743016" + "tick": "1850000038743016" }, { - "tick": "1800000040233132" + "tick": "1850000040233132" }, { - "tick": "1800000041723248" + "tick": "1850000041723248" }, { - "tick": "1800000043213364" + "tick": "1850000043213364" }, { - "tick": "1800000044703480" + "tick": "1850000044703480" }, { - "tick": "1800000046193596" + "tick": "1850000046193596" }, { - "tick": "1800000047683715" + "tick": "1850000047683715" } ] } @@ -434,107 +434,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000000046566", + "start_tick": "1850000000000000", + "end_tick": "1850000000046566", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000000001455" + "tick": "1850000000001455" }, { - "tick": "1800000000002910" + "tick": "1850000000002910" }, { - "tick": "1800000000004365" + "tick": "1850000000004365" }, { - "tick": "1800000000005820" + "tick": "1850000000005820" }, { - "tick": "1800000000007275" + "tick": "1850000000007275" }, { - "tick": "1800000000008730" + "tick": "1850000000008730" }, { - "tick": "1800000000010185" + "tick": "1850000000010185" }, { - "tick": "1800000000011640" + "tick": "1850000000011640" }, { - "tick": "1800000000013095" + "tick": "1850000000013095" }, { - "tick": "1800000000014550" + "tick": "1850000000014550" }, { - "tick": "1800000000016005" + "tick": "1850000000016005" }, { - "tick": "1800000000017460" + "tick": "1850000000017460" }, { - "tick": "1800000000018915" + "tick": "1850000000018915" }, { - "tick": "1800000000020370" + "tick": "1850000000020370" }, { - "tick": "1800000000021825" + "tick": "1850000000021825" }, { - "tick": "1800000000023280" + "tick": "1850000000023280" }, { - "tick": "1800000000024735" + "tick": "1850000000024735" }, { - "tick": "1800000000026190" + "tick": "1850000000026190" }, { - "tick": "1800000000027645" + "tick": "1850000000027645" }, { - "tick": "1800000000029100" + "tick": "1850000000029100" }, { - "tick": "1800000000030555" + "tick": "1850000000030555" }, { - "tick": "1800000000032010" + "tick": "1850000000032010" }, { - "tick": "1800000000033465" + "tick": "1850000000033465" }, { - "tick": "1800000000034920" + "tick": "1850000000034920" }, { - "tick": "1800000000036375" + "tick": "1850000000036375" }, { - "tick": "1800000000037830" + "tick": "1850000000037830" }, { - "tick": "1800000000039285" + "tick": "1850000000039285" }, { - "tick": "1800000000040740" + "tick": "1850000000040740" }, { - "tick": "1800000000042195" + "tick": "1850000000042195" }, { - "tick": "1800000000043650" + "tick": "1850000000043650" }, { - "tick": "1800000000045105" + "tick": "1850000000045105" }, { - "tick": "1800000000046566" + "tick": "1850000000046566" } ] } @@ -542,107 +542,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000000000045", + "start_tick": "1850000000000000", + "end_tick": "1850000000000045", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000000000013" + "tick": "1850000000000013" }, { - "tick": "1800000000000014" + "tick": "1850000000000014" }, { - "tick": "1800000000000015" + "tick": "1850000000000015" }, { - "tick": "1800000000000016" + "tick": "1850000000000016" }, { - "tick": "1800000000000017" + "tick": "1850000000000017" }, { - "tick": "1800000000000018" + "tick": "1850000000000018" }, { - "tick": "1800000000000019" + "tick": "1850000000000019" }, { - "tick": "1800000000000020" + "tick": "1850000000000020" }, { - "tick": "1800000000000021" + "tick": "1850000000000021" }, { - "tick": "1800000000000022" + "tick": "1850000000000022" }, { - "tick": "1800000000000023" + "tick": "1850000000000023" }, { - "tick": "1800000000000024" + "tick": "1850000000000024" }, { - "tick": "1800000000000025" + "tick": "1850000000000025" }, { - "tick": "1800000000000026" + "tick": "1850000000000026" }, { - "tick": "1800000000000027" + "tick": "1850000000000027" }, { - "tick": "1800000000000028" + "tick": "1850000000000028" }, { - "tick": "1800000000000029" + "tick": "1850000000000029" }, { - "tick": "1800000000000030" + "tick": "1850000000000030" }, { - "tick": "1800000000000031" + "tick": "1850000000000031" }, { - "tick": "1800000000000032" + "tick": "1850000000000032" }, { - "tick": "1800000000000033" + "tick": "1850000000000033" }, { - "tick": "1800000000000034" + "tick": "1850000000000034" }, { - "tick": "1800000000000035" + "tick": "1850000000000035" }, { - "tick": "1800000000000036" + "tick": "1850000000000036" }, { - "tick": "1800000000000037" + "tick": "1850000000000037" }, { - "tick": "1800000000000038" + "tick": "1850000000000038" }, { - "tick": "1800000000000039" + "tick": "1850000000000039" }, { - "tick": "1800000000000040" + "tick": "1850000000000040" }, { - "tick": "1800000000000041" + "tick": "1850000000000041" }, { - "tick": "1800000000000042" + "tick": "1850000000000042" }, { - "tick": "1800000000000043" + "tick": "1850000000000043" }, { - "tick": "1800000000000045" + "tick": "1850000000000045" } ] } @@ -650,14 +650,14 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000008", - "end_tick": "1800000000000009", + "start_tick": "1850000000000009", + "end_tick": "1850000000000010", "dissection": [ { - "tick": "1800000000000008" + "tick": "1850000000000009" }, { - "tick": "1800000000000009" + "tick": "1850000000000010" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_3).out b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_3).out index 26f068148582497db3f8e30edeb91cbc65cf446b..68b93749abbbd0f706e322b47b345a8b62ad01dc 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_3).out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_3).out @@ -23,107 +23,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1801562500000000", + "start_tick": "1850000000000000", + "end_tick": "1851562500000000", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800048828125000" + "tick": "1850048828125000" }, { - "tick": "1800097656250000" + "tick": "1850097656250000" }, { - "tick": "1800146484375000" + "tick": "1850146484375000" }, { - "tick": "1800195312500000" + "tick": "1850195312500000" }, { - "tick": "1800244140625000" + "tick": "1850244140625000" }, { - "tick": "1800292968750000" + "tick": "1850292968750000" }, { - "tick": "1800341796875000" + "tick": "1850341796875000" }, { - "tick": "1800390625000000" + "tick": "1850390625000000" }, { - "tick": "1800439453125000" + "tick": "1850439453125000" }, { - "tick": "1800488281250000" + "tick": "1850488281250000" }, { - "tick": "1800537109375000" + "tick": "1850537109375000" }, { - "tick": "1800585937500000" + "tick": "1850585937500000" }, { - "tick": "1800634765625000" + "tick": "1850634765625000" }, { - "tick": "1800683593750000" + "tick": "1850683593750000" }, { - "tick": "1800732421875000" + "tick": "1850732421875000" }, { - "tick": "1800781250000000" + "tick": "1850781250000000" }, { - "tick": "1800830078125000" + "tick": "1850830078125000" }, { - "tick": "1800878906250000" + "tick": "1850878906250000" }, { - "tick": "1800927734375000" + "tick": "1850927734375000" }, { - "tick": "1800976562500000" + "tick": "1850976562500000" }, { - "tick": "1801025390625000" + "tick": "1851025390625000" }, { - "tick": "1801074218750000" + "tick": "1851074218750000" }, { - "tick": "1801123046875000" + "tick": "1851123046875000" }, { - "tick": "1801171875000000" + "tick": "1851171875000000" }, { - "tick": "1801220703125000" + "tick": "1851220703125000" }, { - "tick": "1801269531250000" + "tick": "1851269531250000" }, { - "tick": "1801318359375000" + "tick": "1851318359375000" }, { - "tick": "1801367187500000" + "tick": "1851367187500000" }, { - "tick": "1801416015625000" + "tick": "1851416015625000" }, { - "tick": "1801464843750000" + "tick": "1851464843750000" }, { - "tick": "1801513671875000" + "tick": "1851513671875000" }, { - "tick": "1801562500000000" + "tick": "1851562500000000" } ] } @@ -131,107 +131,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800001525878906", + "start_tick": "1850000000000000", + "end_tick": "1850001525878906", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000047683715" + "tick": "1850000047683715" }, { - "tick": "1800000095367430" + "tick": "1850000095367430" }, { - "tick": "1800000143051145" + "tick": "1850000143051145" }, { - "tick": "1800000190734860" + "tick": "1850000190734860" }, { - "tick": "1800000238418575" + "tick": "1850000238418575" }, { - "tick": "1800000286102290" + "tick": "1850000286102290" }, { - "tick": "1800000333786005" + "tick": "1850000333786005" }, { - "tick": "1800000381469720" + "tick": "1850000381469720" }, { - "tick": "1800000429153435" + "tick": "1850000429153435" }, { - "tick": "1800000476837150" + "tick": "1850000476837150" }, { - "tick": "1800000524520865" + "tick": "1850000524520865" }, { - "tick": "1800000572204580" + "tick": "1850000572204580" }, { - "tick": "1800000619888295" + "tick": "1850000619888295" }, { - "tick": "1800000667572010" + "tick": "1850000667572010" }, { - "tick": "1800000715255725" + "tick": "1850000715255725" }, { - "tick": "1800000762939440" + "tick": "1850000762939440" }, { - "tick": "1800000810623155" + "tick": "1850000810623155" }, { - "tick": "1800000858306870" + "tick": "1850000858306870" }, { - "tick": "1800000905990585" + "tick": "1850000905990585" }, { - "tick": "1800000953674300" + "tick": "1850000953674300" }, { - "tick": "1800001001358015" + "tick": "1850001001358015" }, { - "tick": "1800001049041730" + "tick": "1850001049041730" }, { - "tick": "1800001096725445" + "tick": "1850001096725445" }, { - "tick": "1800001144409160" + "tick": "1850001144409160" }, { - "tick": "1800001192092875" + "tick": "1850001192092875" }, { - "tick": "1800001239776590" + "tick": "1850001239776590" }, { - "tick": "1800001287460305" + "tick": "1850001287460305" }, { - "tick": "1800001335144020" + "tick": "1850001335144020" }, { - "tick": "1800001382827735" + "tick": "1850001382827735" }, { - "tick": "1800001430511450" + "tick": "1850001430511450" }, { - "tick": "1800001478195165" + "tick": "1850001478195165" }, { - "tick": "1800001525878906" + "tick": "1850001525878906" } ] } @@ -239,107 +239,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000001490116", + "start_tick": "1850000000000000", + "end_tick": "1850000001490116", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000000046566" + "tick": "1850000000046566" }, { - "tick": "1800000000093132" + "tick": "1850000000093132" }, { - "tick": "1800000000139698" + "tick": "1850000000139698" }, { - "tick": "1800000000186264" + "tick": "1850000000186264" }, { - "tick": "1800000000232830" + "tick": "1850000000232830" }, { - "tick": "1800000000279396" + "tick": "1850000000279396" }, { - "tick": "1800000000325962" + "tick": "1850000000325962" }, { - "tick": "1800000000372528" + "tick": "1850000000372528" }, { - "tick": "1800000000419094" + "tick": "1850000000419094" }, { - "tick": "1800000000465660" + "tick": "1850000000465660" }, { - "tick": "1800000000512226" + "tick": "1850000000512226" }, { - "tick": "1800000000558792" + "tick": "1850000000558792" }, { - "tick": "1800000000605358" + "tick": "1850000000605358" }, { - "tick": "1800000000651924" + "tick": "1850000000651924" }, { - "tick": "1800000000698490" + "tick": "1850000000698490" }, { - "tick": "1800000000745056" + "tick": "1850000000745056" }, { - "tick": "1800000000791622" + "tick": "1850000000791622" }, { - "tick": "1800000000838188" + "tick": "1850000000838188" }, { - "tick": "1800000000884754" + "tick": "1850000000884754" }, { - "tick": "1800000000931320" + "tick": "1850000000931320" }, { - "tick": "1800000000977886" + "tick": "1850000000977886" }, { - "tick": "1800000001024452" + "tick": "1850000001024452" }, { - "tick": "1800000001071018" + "tick": "1850000001071018" }, { - "tick": "1800000001117584" + "tick": "1850000001117584" }, { - "tick": "1800000001164150" + "tick": "1850000001164150" }, { - "tick": "1800000001210716" + "tick": "1850000001210716" }, { - "tick": "1800000001257282" + "tick": "1850000001257282" }, { - "tick": "1800000001303848" + "tick": "1850000001303848" }, { - "tick": "1800000001350414" + "tick": "1850000001350414" }, { - "tick": "1800000001396980" + "tick": "1850000001396980" }, { - "tick": "1800000001443546" + "tick": "1850000001443546" }, { - "tick": "1800000001490116" + "tick": "1850000001490116" } ] } @@ -347,107 +347,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000000001455", + "start_tick": "1850000000000000", + "end_tick": "1850000000001455", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000000000045" + "tick": "1850000000000045" }, { - "tick": "1800000000000090" + "tick": "1850000000000090" }, { - "tick": "1800000000000135" + "tick": "1850000000000135" }, { - "tick": "1800000000000180" + "tick": "1850000000000180" }, { - "tick": "1800000000000225" + "tick": "1850000000000225" }, { - "tick": "1800000000000270" + "tick": "1850000000000270" }, { - "tick": "1800000000000315" + "tick": "1850000000000315" }, { - "tick": "1800000000000360" + "tick": "1850000000000360" }, { - "tick": "1800000000000405" + "tick": "1850000000000405" }, { - "tick": "1800000000000450" + "tick": "1850000000000450" }, { - "tick": "1800000000000495" + "tick": "1850000000000495" }, { - "tick": "1800000000000540" + "tick": "1850000000000540" }, { - "tick": "1800000000000585" + "tick": "1850000000000585" }, { - "tick": "1800000000000630" + "tick": "1850000000000630" }, { - "tick": "1800000000000675" + "tick": "1850000000000675" }, { - "tick": "1800000000000720" + "tick": "1850000000000720" }, { - "tick": "1800000000000765" + "tick": "1850000000000765" }, { - "tick": "1800000000000810" + "tick": "1850000000000810" }, { - "tick": "1800000000000855" + "tick": "1850000000000855" }, { - "tick": "1800000000000900" + "tick": "1850000000000900" }, { - "tick": "1800000000000945" + "tick": "1850000000000945" }, { - "tick": "1800000000000990" + "tick": "1850000000000990" }, { - "tick": "1800000000001035" + "tick": "1850000000001035" }, { - "tick": "1800000000001080" + "tick": "1850000000001080" }, { - "tick": "1800000000001125" + "tick": "1850000000001125" }, { - "tick": "1800000000001170" + "tick": "1850000000001170" }, { - "tick": "1800000000001215" + "tick": "1850000000001215" }, { - "tick": "1800000000001260" + "tick": "1850000000001260" }, { - "tick": "1800000000001305" + "tick": "1850000000001305" }, { - "tick": "1800000000001350" + "tick": "1850000000001350" }, { - "tick": "1800000000001395" + "tick": "1850000000001395" }, { - "tick": "1800000000001455" + "tick": "1850000000001455" } ] } @@ -455,50 +455,50 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "1800000000000000", - "end_tick": "1800000000000013", + "start_tick": "1850000000000000", + "end_tick": "1850000000000013", "dissection": [ { - "tick": "1800000000000000" + "tick": "1850000000000000" }, { - "tick": "1800000000000001" + "tick": "1850000000000001" }, { - "tick": "1800000000000002" + "tick": "1850000000000002" }, { - "tick": "1800000000000003" + "tick": "1850000000000003" }, { - "tick": "1800000000000004" + "tick": "1850000000000004" }, { - "tick": "1800000000000005" + "tick": "1850000000000005" }, { - "tick": "1800000000000006" + "tick": "1850000000000006" }, { - "tick": "1800000000000007" + "tick": "1850000000000007" }, { - "tick": "1800000000000008" + "tick": "1850000000000008" }, { - "tick": "1800000000000009" + "tick": "1850000000000009" }, { - "tick": "1800000000000010" + "tick": "1850000000000010" }, { - "tick": "1800000000000011" + "tick": "1850000000000011" }, { - "tick": "1800000000000012" + "tick": "1850000000000012" }, { - "tick": "1800000000000013" + "tick": "1850000000000013" } ] } diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_second_period.out b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_second_period.out index 7f4e245ad8c1ac71b121d294f36c415be9434809..e7322822dc5beafee7a4743644da4b3a29d1d260 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_second_period.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- wasm_2_0_0 - refutation games winning strategies (pvm_proof_second_period.out @@ -2,17 +2,17 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "900000000000000", - "end_tick": "1000000000000000", + "start_tick": "1000000000000000", + "end_tick": "1100000000000000", "dissection": [ { - "tick": "900000000000000" + "tick": "1000000000000000" }, { - "tick": "950000000000000" + "tick": "1050000000000000" }, { - "tick": "1000000000000000" + "tick": "1100000000000000" } ] } @@ -20,107 +20,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "900000000000000", - "end_tick": "901562500000000", + "start_tick": "1000000000000000", + "end_tick": "1001562500000000", "dissection": [ { - "tick": "900000000000000" + "tick": "1000000000000000" }, { - "tick": "900048828125000" + "tick": "1000048828125000" }, { - "tick": "900097656250000" + "tick": "1000097656250000" }, { - "tick": "900146484375000" + "tick": "1000146484375000" }, { - "tick": "900195312500000" + "tick": "1000195312500000" }, { - "tick": "900244140625000" + "tick": "1000244140625000" }, { - "tick": "900292968750000" + "tick": "1000292968750000" }, { - "tick": "900341796875000" + "tick": "1000341796875000" }, { - "tick": "900390625000000" + "tick": "1000390625000000" }, { - "tick": "900439453125000" + "tick": "1000439453125000" }, { - "tick": "900488281250000" + "tick": "1000488281250000" }, { - "tick": "900537109375000" + "tick": "1000537109375000" }, { - "tick": "900585937500000" + "tick": "1000585937500000" }, { - "tick": "900634765625000" + "tick": "1000634765625000" }, { - "tick": "900683593750000" + "tick": "1000683593750000" }, { - "tick": "900732421875000" + "tick": "1000732421875000" }, { - "tick": "900781250000000" + "tick": "1000781250000000" }, { - "tick": "900830078125000" + "tick": "1000830078125000" }, { - "tick": "900878906250000" + "tick": "1000878906250000" }, { - "tick": "900927734375000" + "tick": "1000927734375000" }, { - "tick": "900976562500000" + "tick": "1000976562500000" }, { - "tick": "901025390625000" + "tick": "1001025390625000" }, { - "tick": "901074218750000" + "tick": "1001074218750000" }, { - "tick": "901123046875000" + "tick": "1001123046875000" }, { - "tick": "901171875000000" + "tick": "1001171875000000" }, { - "tick": "901220703125000" + "tick": "1001220703125000" }, { - "tick": "901269531250000" + "tick": "1001269531250000" }, { - "tick": "901318359375000" + "tick": "1001318359375000" }, { - "tick": "901367187500000" + "tick": "1001367187500000" }, { - "tick": "901416015625000" + "tick": "1001416015625000" }, { - "tick": "901464843750000" + "tick": "1001464843750000" }, { - "tick": "901513671875000" + "tick": "1001513671875000" }, { - "tick": "901562500000000" + "tick": "1001562500000000" } ] } @@ -128,107 +128,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "900000000000000", - "end_tick": "900001525878906", + "start_tick": "1000000000000000", + "end_tick": "1000001525878906", "dissection": [ { - "tick": "900000000000000" + "tick": "1000000000000000" }, { - "tick": "900000047683715" + "tick": "1000000047683715" }, { - "tick": "900000095367430" + "tick": "1000000095367430" }, { - "tick": "900000143051145" + "tick": "1000000143051145" }, { - "tick": "900000190734860" + "tick": "1000000190734860" }, { - "tick": "900000238418575" + "tick": "1000000238418575" }, { - "tick": "900000286102290" + "tick": "1000000286102290" }, { - "tick": "900000333786005" + "tick": "1000000333786005" }, { - "tick": "900000381469720" + "tick": "1000000381469720" }, { - "tick": "900000429153435" + "tick": "1000000429153435" }, { - "tick": "900000476837150" + "tick": "1000000476837150" }, { - "tick": "900000524520865" + "tick": "1000000524520865" }, { - "tick": "900000572204580" + "tick": "1000000572204580" }, { - "tick": "900000619888295" + "tick": "1000000619888295" }, { - "tick": "900000667572010" + "tick": "1000000667572010" }, { - "tick": "900000715255725" + "tick": "1000000715255725" }, { - "tick": "900000762939440" + "tick": "1000000762939440" }, { - "tick": "900000810623155" + "tick": "1000000810623155" }, { - "tick": "900000858306870" + "tick": "1000000858306870" }, { - "tick": "900000905990585" + "tick": "1000000905990585" }, { - "tick": "900000953674300" + "tick": "1000000953674300" }, { - "tick": "900001001358015" + "tick": "1000001001358015" }, { - "tick": "900001049041730" + "tick": "1000001049041730" }, { - "tick": "900001096725445" + "tick": "1000001096725445" }, { - "tick": "900001144409160" + "tick": "1000001144409160" }, { - "tick": "900001192092875" + "tick": "1000001192092875" }, { - "tick": "900001239776590" + "tick": "1000001239776590" }, { - "tick": "900001287460305" + "tick": "1000001287460305" }, { - "tick": "900001335144020" + "tick": "1000001335144020" }, { - "tick": "900001382827735" + "tick": "1000001382827735" }, { - "tick": "900001430511450" + "tick": "1000001430511450" }, { - "tick": "900001478195165" + "tick": "1000001478195165" }, { - "tick": "900001525878906" + "tick": "1000001525878906" } ] } @@ -236,107 +236,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "900000000000000", - "end_tick": "900000001490116", + "start_tick": "1000000000000000", + "end_tick": "1000000001490116", "dissection": [ { - "tick": "900000000000000" + "tick": "1000000000000000" }, { - "tick": "900000000046566" + "tick": "1000000000046566" }, { - "tick": "900000000093132" + "tick": "1000000000093132" }, { - "tick": "900000000139698" + "tick": "1000000000139698" }, { - "tick": "900000000186264" + "tick": "1000000000186264" }, { - "tick": "900000000232830" + "tick": "1000000000232830" }, { - "tick": "900000000279396" + "tick": "1000000000279396" }, { - "tick": "900000000325962" + "tick": "1000000000325962" }, { - "tick": "900000000372528" + "tick": "1000000000372528" }, { - "tick": "900000000419094" + "tick": "1000000000419094" }, { - "tick": "900000000465660" + "tick": "1000000000465660" }, { - "tick": "900000000512226" + "tick": "1000000000512226" }, { - "tick": "900000000558792" + "tick": "1000000000558792" }, { - "tick": "900000000605358" + "tick": "1000000000605358" }, { - "tick": "900000000651924" + "tick": "1000000000651924" }, { - "tick": "900000000698490" + "tick": "1000000000698490" }, { - "tick": "900000000745056" + "tick": "1000000000745056" }, { - "tick": "900000000791622" + "tick": "1000000000791622" }, { - "tick": "900000000838188" + "tick": "1000000000838188" }, { - "tick": "900000000884754" + "tick": "1000000000884754" }, { - "tick": "900000000931320" + "tick": "1000000000931320" }, { - "tick": "900000000977886" + "tick": "1000000000977886" }, { - "tick": "900000001024452" + "tick": "1000000001024452" }, { - "tick": "900000001071018" + "tick": "1000000001071018" }, { - "tick": "900000001117584" + "tick": "1000000001117584" }, { - "tick": "900000001164150" + "tick": "1000000001164150" }, { - "tick": "900000001210716" + "tick": "1000000001210716" }, { - "tick": "900000001257282" + "tick": "1000000001257282" }, { - "tick": "900000001303848" + "tick": "1000000001303848" }, { - "tick": "900000001350414" + "tick": "1000000001350414" }, { - "tick": "900000001396980" + "tick": "1000000001396980" }, { - "tick": "900000001443546" + "tick": "1000000001443546" }, { - "tick": "900000001490116" + "tick": "1000000001490116" } ] } @@ -344,107 +344,107 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "900000000000000", - "end_tick": "900000000001455", + "start_tick": "1000000000000000", + "end_tick": "1000000000001455", "dissection": [ { - "tick": "900000000000000" + "tick": "1000000000000000" }, { - "tick": "900000000000045" + "tick": "1000000000000045" }, { - "tick": "900000000000090" + "tick": "1000000000000090" }, { - "tick": "900000000000135" + "tick": "1000000000000135" }, { - "tick": "900000000000180" + "tick": "1000000000000180" }, { - "tick": "900000000000225" + "tick": "1000000000000225" }, { - "tick": "900000000000270" + "tick": "1000000000000270" }, { - "tick": "900000000000315" + "tick": "1000000000000315" }, { - "tick": "900000000000360" + "tick": "1000000000000360" }, { - "tick": "900000000000405" + "tick": "1000000000000405" }, { - "tick": "900000000000450" + "tick": "1000000000000450" }, { - "tick": "900000000000495" + "tick": "1000000000000495" }, { - "tick": "900000000000540" + "tick": "1000000000000540" }, { - "tick": "900000000000585" + "tick": "1000000000000585" }, { - "tick": "900000000000630" + "tick": "1000000000000630" }, { - "tick": "900000000000675" + "tick": "1000000000000675" }, { - "tick": "900000000000720" + "tick": "1000000000000720" }, { - "tick": "900000000000765" + "tick": "1000000000000765" }, { - "tick": "900000000000810" + "tick": "1000000000000810" }, { - "tick": "900000000000855" + "tick": "1000000000000855" }, { - "tick": "900000000000900" + "tick": "1000000000000900" }, { - "tick": "900000000000945" + "tick": "1000000000000945" }, { - "tick": "900000000000990" + "tick": "1000000000000990" }, { - "tick": "900000000001035" + "tick": "1000000000001035" }, { - "tick": "900000000001080" + "tick": "1000000000001080" }, { - "tick": "900000000001125" + "tick": "1000000000001125" }, { - "tick": "900000000001170" + "tick": "1000000000001170" }, { - "tick": "900000000001215" + "tick": "1000000000001215" }, { - "tick": "900000000001260" + "tick": "1000000000001260" }, { - "tick": "900000000001305" + "tick": "1000000000001305" }, { - "tick": "900000000001350" + "tick": "1000000000001350" }, { - "tick": "900000000001395" + "tick": "1000000000001395" }, { - "tick": "900000000001455" + "tick": "1000000000001455" } ] } @@ -452,50 +452,50 @@ { "opponent": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", - "start_tick": "900000000000000", - "end_tick": "900000000000013", + "start_tick": "1000000000000000", + "end_tick": "1000000000000013", "dissection": [ { - "tick": "900000000000000" + "tick": "1000000000000000" }, { - "tick": "900000000000001" + "tick": "1000000000000001" }, { - "tick": "900000000000002" + "tick": "1000000000000002" }, { - "tick": "900000000000003" + "tick": "1000000000000003" }, { - "tick": "900000000000004" + "tick": "1000000000000004" }, { - "tick": "900000000000005" + "tick": "1000000000000005" }, { - "tick": "900000000000006" + "tick": "1000000000000006" }, { - "tick": "900000000000007" + "tick": "1000000000000007" }, { - "tick": "900000000000008" + "tick": "1000000000000008" }, { - "tick": "900000000000009" + "tick": "1000000000000009" }, { - "tick": "900000000000010" + "tick": "1000000000000010" }, { - "tick": "900000000000011" + "tick": "1000000000000011" }, { - "tick": "900000000000012" + "tick": "1000000000000012" }, { - "tick": "900000000000013" + "tick": "1000000000000013" } ] } diff --git a/tezt/tests/sc_rollup.ml b/tezt/tests/sc_rollup.ml index 3970ac5995fc8fb288e335f9f8973215c38f053e..8e233c1cec6a4216a09115ded524b579b508c99c 100644 --- a/tezt/tests/sc_rollup.ml +++ b/tezt/tests/sc_rollup.ml @@ -2019,7 +2019,8 @@ let commitment_not_published_if_non_final _protocol sc_rollup_node sc_rollup ~error_msg:"No commitment published has been found by the rollup node" ; unit -let commitments_messages_reset kind _ sc_rollup_node sc_rollup _node client = +let commitments_messages_reset kind protocol sc_rollup_node sc_rollup _node + client = (* For `sc_rollup_commitment_period_in_blocks` levels after the sc rollup origination, i messages are sent to the rollup, for a total of `sc_rollup_commitment_period_in_blocks * @@ -2082,14 +2083,20 @@ let commitments_messages_reset kind _ sc_rollup_node sc_rollup _node client = ~error_msg: "Commitment has been stored at a level different than expected (%L = %R)" ; Log.info "levels_to_commitment: %d" levels_to_commitment ; - (let expected = + (* Dal_attested_slots is only present from protocol 025 onwards. + For the second commitment, all levels have Dal_attested_slots since + they are past the attestation_lag threshold. *) + (let has_dal_attested_slots = Protocol.number protocol >= 025 in + let expected = match kind with - | "arith" -> 3 * levels_to_commitment + | "arith" -> + (if has_dal_attested_slots then 4 else 3) + (* ticks for SOL, Info_per_level, [Dal_attested_slots], EOL *) + * levels_to_commitment | "wasm_2_0_0" -> - 4 - (* one snapshot for collecting, two snapshots for SOL, - Info_per_level and EOL *) - * max_nb_ticks (* number of ticks in a snapshots *) + (if has_dal_attested_slots then 5 else 4) + (* snapshots for collecting, SOL, Info_per_level, [Dal_attested_slots], EOL *) + * max_nb_ticks (* number of ticks in a snapshot *) * levels_to_commitment (* number of inboxes *) | _ -> failwith "incorrect kind" in @@ -2196,8 +2203,8 @@ let commitment_stored_robust_to_failures _protocol sc_rollup_node sc_rollup node (stored_commitment', "stored in second node") ; unit -let commitments_reorgs ~switch_l1_node ~kind _ sc_rollup_node sc_rollup node - client = +let commitments_reorgs ~switch_l1_node ~kind protocol sc_rollup_node sc_rollup + node client = (* No messages are published after origination, for `sc_rollup_commitment_period_in_blocks - 1` levels. Then a divergence occurs: in the first branch one message is published for @@ -2331,21 +2338,54 @@ let commitments_reorgs ~switch_l1_node ~kind _ sc_rollup_node sc_rollup node ~error_msg: "Commitment has been stored at a level different than expected (%L = %R)" ; let () = Log.info "init_level: %d" init_level in - (let expected_number_of_ticks = - match kind with - | "arith" -> - 1 (* boot sector *) + 1 (* metadata *) + (3 * levels_to_commitment) - (* input ticks *) - | "wasm_2_0_0" -> - (* Number of ticks per snapshot, - see Lib_scoru_wasm.Constants.wasm_max_tick *) - let snapshot_ticks = max_nb_ticks in - snapshot_ticks * 4 - (* 1 snapshot for collecting messages, 3 snapshots for SOL, - Info_per_level and SOL *) - * levels_to_commitment - (* Number of inbox that are actually processed process *) - | _ -> assert false + (* Dal_attested_slots is only present from protocol 025 onwards. + For the first commitment, not all levels have Dal_attested_slots + due to the attestation_lag constraint. *) + (let has_dal_attested_slots = Protocol.number protocol >= 025 in + let expected_number_of_ticks = + if has_dal_attested_slots then + (* Dal_attested_slots is only added when published_level >= proto_activation_level. + With attestation_lag=5 (sandbox default) and proto_activation_level=2, + first level with Dal = 2 + 5 = 7. If rollup genesis is at level 3 (init_level=3), + first inbox level = 4, so levels 4, 5, 6 don't have Dal (3 levels). *) + let attestation_lag = 5 in + (* In sandbox: proto_activation_level=2, init_level=3 typically. + First level with Dal = proto_activation_level + attestation_lag = 7. + Levels without Dal = 7 - (init_level + 1) = 7 - 4 = 3 = attestation_lag - 2. *) + let levels_without_dal = + min (attestation_lag - 2) levels_to_commitment + in + let levels_with_dal = + max 0 (levels_to_commitment - levels_without_dal) + in + match kind with + | "arith" -> + 1 (* boot sector *) + 1 (* metadata *) + + (3 * levels_without_dal) (* SOL, Info_per_level, EOL *) + + (4 * levels_with_dal) + (* SOL, Info_per_level, Dal_attested_slots, EOL *) + | "wasm_2_0_0" -> + (* Number of ticks per snapshot, + see Lib_scoru_wasm.Constants.wasm_max_tick *) + let snapshot_ticks = max_nb_ticks in + (snapshot_ticks * 4 * levels_without_dal) + + (snapshot_ticks * 5 * levels_with_dal) + | _ -> assert false + else + match kind with + | "arith" -> + 1 (* boot sector *) + 1 (* metadata *) + (3 * levels_to_commitment) + (* input ticks *) + | "wasm_2_0_0" -> + (* Number of ticks per snapshot, + see Lib_scoru_wasm.Constants.wasm_max_tick *) + let snapshot_ticks = max_nb_ticks in + snapshot_ticks * 4 + (* 1 snapshot for collecting messages, 3 snapshots for SOL, + Info_per_level and EOL *) + * levels_to_commitment + (* Number of inbox that are actually processed process *) + | _ -> assert false in Check.(stored_number_of_ticks = expected_number_of_ticks) Check.int @@ -3220,7 +3260,14 @@ let test_refutation_scenario ?regression ?commitment_period ?challenge_window let test_refutation protocols ~kind = let challenge_window = 10 in let commitment_period = 10 in - let tests = + (* Dal_attested_slots is only present from protocol 025 onwards. + For levels >= 7 (when published_level >= proto_activation_level), + Dal_attested_slots adds an extra message, shifting End_of_level index from 7 to 8. + For levels < 7, End_of_level remains at index 7 even in protocol 025+. *) + let tests protocol = + let has_dal_attested_slots = Protocol.number protocol >= 025 in + (* Message index for End_of_level at level >= 7 *) + let eol_msg_idx_with_dal = if has_dal_attested_slots then 8 else 7 in match kind with | "arith" -> [ @@ -3369,6 +3416,9 @@ let test_refutation protocols ~kind = ~priority:`Priority_loser ); (* Echo kernel takes around 2,100 ticks to execute *) (* Second tick of decoding *) + (* Note: At level 5, Dal_attested_slots is not added yet because published_level (0) + is less than proto_activation_level (2). Dal_attested_slots starts at level 7. + So at level 5, End_of_level is at index 7 even for protocol 025+. *) ( "pvm_proof_0", refutation_scenario_parameters ~loser_modes:["5 7 11_000_000_001"] @@ -3377,31 +3427,32 @@ let test_refutation protocols ~kind = ~priority:`Priority_loser ); ( "pvm_proof_1", refutation_scenario_parameters - ~loser_modes:["7 7 11_000_001_000"] + ~loser_modes:[sf "7 %d 11_000_001_000" eol_msg_idx_with_dal] (inputs_for 10) ~final_level:80 ~priority:`Priority_loser ); (* End of evaluation *) ( "pvm_proof_2", refutation_scenario_parameters - ~loser_modes:["7 7 22_000_002_000"] + ~loser_modes:[sf "7 %d 22_000_002_000" eol_msg_idx_with_dal] (inputs_for 10) ~final_level:80 ~priority:`Priority_loser ); (* During padding *) ( "pvm_proof_3", refutation_scenario_parameters - ~loser_modes:["7 7 22_010_000_000"] + ~loser_modes:[sf "7 %d 22_010_000_000" eol_msg_idx_with_dal] (inputs_for 10) ~final_level:80 ~priority:`Priority_loser ); (* Conflict in second commitment period *) ( "pvm_proof_second_period", refutation_scenario_parameters - ~loser_modes:["15 7 11_000_001_000"] + ~loser_modes:[sf "15 %d 11_000_001_000" eol_msg_idx_with_dal] (inputs_for 16) ~final_level:80 ~priority:`Priority_loser ); + (* Note: At level 5, Dal_attested_slots is not added yet, so End_of_level is at index 7 *) ( "parallel_games_0", refutation_scenario_parameters ~loser_modes:["4 0 0"; "5 7 11_000_000_001"] @@ -3410,7 +3461,12 @@ let test_refutation protocols ~kind = ~priority:`Priority_loser ); ( "parallel_games_1", refutation_scenario_parameters - ~loser_modes:["4 0 0"; "7 7 22_000_002_000"; "7 7 22_000_002_000"] + ~loser_modes: + [ + "4 0 0"; + sf "7 %d 22_000_002_000" eol_msg_idx_with_dal; + sf "7 %d 22_000_002_000" eol_msg_idx_with_dal; + ] (inputs_for 10) ~final_level:80 ~priority:`Priority_loser ); @@ -3418,16 +3474,19 @@ let test_refutation protocols ~kind = | _ -> assert false in List.iter - (fun (variant, inputs) -> - test_refutation_scenario - ~kind - ~mode:Operator - ~challenge_window - ~commitment_period - ~variant - inputs - protocols) - tests + (fun protocol -> + List.iter + (fun (variant, inputs) -> + test_refutation_scenario + ~kind + ~mode:Operator + ~challenge_window + ~commitment_period + ~variant + inputs + [protocol]) + (tests protocol)) + protocols let test_invalid_dal_parameters protocols = test_refutation_scenario @@ -3792,17 +3851,23 @@ let test_refutation_with_dal_page_import_id_far_in_the_future protocols = (** Run one of the refutation tests with an accuser instead of a full operator. *) let test_accuser protocols = - test_refutation_scenario - ~kind:"wasm_2_0_0" - ~mode:Accuser - ~challenge_window:10 - ~commitment_period:10 - ~variant:"pvm_proof_2" - (refutation_scenario_parameters - ~loser_modes:["7 7 22_000_002_000"] - (inputs_for 10) - ~final_level:80 - ~priority:`Priority_honest) + (* Dal_attested_slots is only present from protocol 025 onwards. + For levels >= 7, Dal_attested_slots shifts End_of_level from index 7 to 8. *) + List.iter + (fun protocol -> + let eol_msg_idx = if Protocol.number protocol >= 025 then 8 else 7 in + test_refutation_scenario + ~kind:"wasm_2_0_0" + ~mode:Accuser + ~challenge_window:10 + ~commitment_period:10 + ~variant:"pvm_proof_2" + (refutation_scenario_parameters + ~loser_modes:[sf "7 %d 22_000_002_000" eol_msg_idx] + (inputs_for 10) + ~final_level:80 + ~priority:`Priority_honest) + [protocol]) protocols (** Run one of the refutation tests in bailout mode instead of using a @@ -5394,8 +5459,9 @@ let test_rpcs ~kind Sc_rollup_node.RPC.call ~rpc_hooks sc_rollup_node @@ Sc_rollup_rpc.get_global_block_num_messages () in - (* There are always 3 extra messages inserted by the protocol in the inbox. *) - let nb_protocol_messages = 3 in + (* There are always 3 extra messages inserted by the protocol in the inbox in + protocol up to 024, and (almost) always 4 afterwards. *) + let nb_protocol_messages = if Protocol.number protocol < 025 then 3 else 4 in let l2_num_messages = JSON.as_int l2_num_messages in Check.((l2_num_messages = batch_size + nb_protocol_messages) int) ~error_msg:"Number of messages of head is %L but should be %R" ; diff --git a/tezt/tests/sc_rollup_migration.ml b/tezt/tests/sc_rollup_migration.ml index 5b076c9fd97cda955959859291d4209cffa455fe..d2440bdd43cb4f98a7b355ecda93f12f4d2ab276 100644 --- a/tezt/tests/sc_rollup_migration.ml +++ b/tezt/tests/sc_rollup_migration.ml @@ -985,6 +985,10 @@ let test_refutation_migration ~migrate_from ~migrate_to = ~final_level:80 ~allow_degraded:true ~priority:`Priority_loser ); + (* Note: message index is 7 (End_of_level) because in migration scenarios, + the migration happens at an early level (around 3-5), so at level 7, + published_level (7-5=2) < proto_activation_level (migration level), and + Dal_attested_slots is not added. *) ( "pvm_proof_2", 7, true,