diff --git a/src/proto_alpha/bin_sc_rollup_node/commitment.ml b/src/proto_alpha/bin_sc_rollup_node/commitment.ml index 66b093103e890fc8af35b16099fe11b3e06f17ba..5e40a40ca9afb4b97905c635820939e0fa7be339 100644 --- a/src/proto_alpha/bin_sc_rollup_node/commitment.ml +++ b/src/proto_alpha/bin_sc_rollup_node/commitment.ml @@ -67,7 +67,12 @@ module Number_of_messages = Mutable_counter.Make () module Number_of_ticks = Mutable_counter.Make () -let sc_rollup_commitment_frequency = Int32.of_int 20 +let sc_rollup_commitment_frequency = + (* FIXME: https://gitlab.com/tezos/tezos/-/issues/2977 + Use effective on-chain protocol parameter. *) + Int32.of_int + Default_parameters.constants_mainnet + .sc_rollup_commitment_frequency_in_blocks let last_commitment (module Last_commitment_level : Mutable_level_store) store = let open Lwt_syntax in diff --git a/src/proto_alpha/lib_parameters/default_parameters.ml b/src/proto_alpha/lib_parameters/default_parameters.ml index 7a76ab74e1762ef11e9b3414b76ae07e53825119..5efefbf1e523ad18ee661bd7ab22aabbbc8f3993 100644 --- a/src/proto_alpha/lib_parameters/default_parameters.ml +++ b/src/proto_alpha/lib_parameters/default_parameters.ml @@ -159,7 +159,7 @@ let constants_mainnet = (* TODO: https://gitlab.com/tezos/tezos/-/issues/2756 The following constants need to be refined. *) sc_rollup_stake_amount_in_mutez = 32_000_000; - sc_rollup_commitment_frequency_in_blocks = 20; + sc_rollup_commitment_frequency_in_blocks = 30; sc_rollup_commitment_storage_size_in_bytes = 84; sc_rollup_max_lookahead_in_blocks = 30_000l; } diff --git a/src/proto_alpha/lib_protocol/raw_context.ml b/src/proto_alpha/lib_protocol/raw_context.ml index 971db8049272e79ae210331d534ae81e6c43b223..e34b4a9299c2dcdf1069560e730e0a33f517f162 100644 --- a/src/proto_alpha/lib_protocol/raw_context.ml +++ b/src/proto_alpha/lib_protocol/raw_context.ml @@ -961,7 +961,7 @@ let prepare_first_block ~level ~timestamp ctxt = (* TODO: https://gitlab.com/tezos/tezos/-/issues/2756 The following constants need to be refined. *) sc_rollup_stake_amount_in_mutez = 32_000_000; - sc_rollup_commitment_frequency_in_blocks = 20; + sc_rollup_commitment_frequency_in_blocks = 30; (* 76 for Commitments entry + 4 for Commitment_stake_count entry + 4 for Commitment_added entry + 0 for Staker_count_update entry *) diff --git a/src/proto_alpha/lib_protocol/test/integration/operations/test_sc_rollup.ml b/src/proto_alpha/lib_protocol/test/integration/operations/test_sc_rollup.ml index d890fa07fdeaab1b99dd23eca3fa5336e5586d52..7c453ea027f3bd1de6d95b65e94c842f84c14617 100644 --- a/src/proto_alpha/lib_protocol/test/integration/operations/test_sc_rollup.ml +++ b/src/proto_alpha/lib_protocol/test/integration/operations/test_sc_rollup.ml @@ -132,30 +132,44 @@ let rec bake_until i top = Incremental.finalize_block i >>=? fun b -> Incremental.begin_construction b >>=? fun i -> bake_until i top -let dummy_commitment = - Sc_rollup.Commitment. - { - predecessor = Sc_rollup.Commitment_hash.zero; - inbox_level = Raw_level.of_int32_exn 21l; - number_of_messages = number_of_messages_exn 3l; - number_of_ticks = number_of_ticks_exn 3000l; - compressed_state = Sc_rollup.State_hash.zero; - } +let dummy_commitment ctxt rollup = + let ctxt = Incremental.alpha_ctxt ctxt in + let*! root_level = Sc_rollup.initial_level ctxt rollup in + let root_level = + match root_level with Ok v -> v | Error _ -> assert false + in + let inbox_level = + let commitment_freq = + Constants_storage.sc_rollup_commitment_frequency_in_blocks + (Alpha_context.Internal_for_tests.to_raw ctxt) + in + + Raw_level.of_int32_exn + (Int32.add (Raw_level.to_int32 root_level) (Int32.of_int commitment_freq)) + in + return + Sc_rollup.Commitment. + { + predecessor = Sc_rollup.Commitment_hash.zero; + inbox_level; + number_of_messages = number_of_messages_exn 3l; + number_of_ticks = number_of_ticks_exn 3000l; + compressed_state = Sc_rollup.State_hash.zero; + } (** [test_publish_and_cement] creates a rollup, publishes a - commitment and then 20 blocks later cements that commitment *) + commitment and then [commitment_freq] blocks later cements that commitment *) let test_publish_and_cement () = let* (ctxt, contracts, rollup) = init_and_originate Context.T2 in let (_, contract) = contracts in - let* operation = - Op.sc_rollup_publish (B ctxt) contract rollup dummy_commitment - in let* i = Incremental.begin_construction ctxt in + let* c = dummy_commitment i rollup in + let* operation = Op.sc_rollup_publish (B ctxt) contract rollup c in let* i = Incremental.add_operation i operation in let* b = Incremental.finalize_block i in let* i = Incremental.begin_construction b in let* i = bake_until i 20l in - let hash = Sc_rollup.Commitment.hash dummy_commitment in + let hash = Sc_rollup.Commitment.hash c in let* cement_op = Op.sc_rollup_cement (I i) contract rollup hash in let* _ = Incremental.add_operation i cement_op in return_unit @@ -167,14 +181,13 @@ let test_publish_and_cement () = let test_cement_fails_if_premature () = let* (ctxt, contracts, rollup) = init_and_originate Context.T2 in let (_, contract) = contracts in - let* operation = - Op.sc_rollup_publish (B ctxt) contract rollup dummy_commitment - in let* i = Incremental.begin_construction ctxt in + let* c = dummy_commitment i rollup in + let* operation = Op.sc_rollup_publish (B ctxt) contract rollup c in let* i = Incremental.add_operation i operation in let* b = Incremental.finalize_block i in let* i = Incremental.begin_construction b in - let hash = Sc_rollup.Commitment.hash dummy_commitment in + let hash = Sc_rollup.Commitment.hash c in let* cement_op = Op.sc_rollup_cement (I i) contract rollup hash in let expect_failure = function | Environment.Ecoproto_error (Sc_rollup_storage.Sc_rollup_too_recent as e) @@ -193,12 +206,12 @@ let test_cement_fails_if_premature () = let test_publish_fails_on_backtrack () = let* (ctxt, contracts, rollup) = init_and_originate Context.T2 in let (_, contract) = contracts in - let commitment1 = dummy_commitment in + let* i = Incremental.begin_construction ctxt in + let* commitment1 = dummy_commitment i rollup in let commitment2 = - {dummy_commitment with number_of_ticks = number_of_ticks_exn 3001l} + {commitment1 with number_of_ticks = number_of_ticks_exn 3001l} in let* operation1 = Op.sc_rollup_publish (B ctxt) contract rollup commitment1 in - let* i = Incremental.begin_construction ctxt in let* i = Incremental.add_operation i operation1 in let* b = Incremental.finalize_block i in let* operation2 = Op.sc_rollup_publish (B b) contract rollup commitment2 in @@ -221,14 +234,14 @@ let test_publish_fails_on_backtrack () = let test_cement_fails_on_conflict () = let* (ctxt, contracts, rollup) = init_and_originate Context.T3 in let (_, contract1, contract2) = contracts in - let commitment1 = dummy_commitment in + let* i = Incremental.begin_construction ctxt in + let* commitment1 = dummy_commitment i rollup in let commitment2 = - {dummy_commitment with number_of_ticks = number_of_ticks_exn 3001l} + {commitment1 with number_of_ticks = number_of_ticks_exn 3001l} in let* operation1 = Op.sc_rollup_publish (B ctxt) contract1 rollup commitment1 in - let* i = Incremental.begin_construction ctxt in let* i = Incremental.add_operation i operation1 in let* b = Incremental.finalize_block i in let* operation2 = Op.sc_rollup_publish (B b) contract2 rollup commitment2 in diff --git a/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_storage.ml b/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_storage.ml index d4520a201ad869cd5ef20cd1874fcf0c70451a73..3fe9d7dce76510fd3dd662f9c71ba022e60ed60b 100644 --- a/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_storage.ml +++ b/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_storage.ml @@ -232,6 +232,15 @@ let number_of_ticks_exn n = | Some x -> x | None -> Stdlib.failwith "Bad Number_of_ticks" +let valid_inbox_level ctxt = + let root_level = Raw_level_repr.to_int32 Level_storage.(current ctxt).level in + let commitment_freq = + Constants_storage.sc_rollup_commitment_frequency_in_blocks ctxt + in + fun i -> + Raw_level_repr.of_int32_exn + (Int32.add root_level (Int32.mul (Int32.of_int commitment_freq) i)) + let test_deposit_then_refine () = let* ctxt = new_context () in lift @@ -245,7 +254,7 @@ let test_deposit_then_refine () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -290,7 +299,7 @@ let test_publish () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 5l; number_of_ticks = number_of_ticks_exn 152231l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -312,7 +321,7 @@ let test_withdraw_and_cement () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -339,7 +348,7 @@ let test_deposit_then_publish () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 5l; number_of_ticks = number_of_ticks_exn 152231l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -354,18 +363,18 @@ let test_publish_missing_rollup () = let staker = Sc_rollup_repr.Staker.of_b58check_exn "tz1SdKt9kjPp1HRQFkBmXtBhgMfvdgFhSjmG" in - let commitment = + let commitment ctxt = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; } in assert_fails_with_missing_rollup ~loc:__LOC__ (fun ctxt rollup -> - Sc_rollup_storage.publish_commitment ctxt rollup staker commitment) + Sc_rollup_storage.publish_commitment ctxt rollup staker (commitment ctxt)) let test_cement () = let* ctxt = new_context () in @@ -383,7 +392,7 @@ let test_cement () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -409,6 +418,7 @@ let test_cement_three_commitments () = let* (ctxt, rollup, staker) = originate_rollup_and_deposit_with_one_staker () in + let level = valid_inbox_level ctxt in let challenge_window = Constants_storage.sc_rollup_challenge_window_in_blocks ctxt in @@ -418,7 +428,7 @@ let test_cement_three_commitments () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -431,7 +441,7 @@ let test_cement_three_commitments () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -444,7 +454,7 @@ let test_cement_three_commitments () = Sc_rollup_repr.Commitment. { predecessor = c2; - inbox_level = Raw_level_repr.of_int32_exn 61l; + inbox_level = level 3l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -473,7 +483,7 @@ let test_cement_then_remove () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -509,7 +519,7 @@ let test_cement_consumes_available_messages () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 1l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -570,7 +580,7 @@ let test_cement_with_zero_stakers_fails () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -589,6 +599,7 @@ let test_cement_with_zero_stakers_fails () = let test_cement_fail_too_recent () = let* ctxt = new_context () in + let level = valid_inbox_level ctxt in let challenge_window = Constants_storage.sc_rollup_challenge_window_in_blocks ctxt in @@ -601,7 +612,7 @@ let test_cement_fail_too_recent () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -635,7 +646,7 @@ let test_cement_deadline_uses_oldest_add_time () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -664,7 +675,7 @@ let test_last_cemented_commitment_hash_with_level () = let staker = Sc_rollup_repr.Staker.of_b58check_exn "tz1SdKt9kjPp1HRQFkBmXtBhgMfvdgFhSjmG" in - let inbox_level = Raw_level_repr.of_int32_exn 21l in + let inbox_level = valid_inbox_level ctxt 1l in let* ctxt = lift @@ Sc_rollup_storage.deposit_stake ctxt rollup staker in let commitment = Sc_rollup_repr.Commitment. @@ -702,7 +713,7 @@ let test_withdrawal_fails_when_not_staked_on_lcc () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -735,7 +746,7 @@ let test_stake_on_existing_node () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -754,11 +765,12 @@ let test_cement_with_two_stakers () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -772,7 +784,7 @@ let test_cement_with_two_stakers () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -795,11 +807,12 @@ let test_can_remove_staker () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -813,7 +826,7 @@ let test_can_remove_staker () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -836,11 +849,12 @@ let test_can_remove_staker2 () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -854,7 +868,7 @@ let test_can_remove_staker2 () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -878,11 +892,12 @@ let test_removed_staker_can_not_withdraw () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -895,7 +910,7 @@ let test_removed_staker_can_not_withdraw () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -914,11 +929,12 @@ let test_no_cement_on_conflict () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -931,7 +947,7 @@ let test_no_cement_on_conflict () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 44l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -960,7 +976,7 @@ let test_no_cement_with_one_staker_at_zero_commitment () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -982,11 +998,12 @@ let test_non_cemented_parent () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -999,7 +1016,7 @@ let test_non_cemented_parent () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1021,11 +1038,12 @@ let test_finds_conflict_point_at_lcc () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1038,7 +1056,7 @@ let test_finds_conflict_point_at_lcc () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 55l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1056,11 +1074,12 @@ let test_finds_conflict_point_beneath_lcc () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1073,7 +1092,7 @@ let test_finds_conflict_point_beneath_lcc () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1086,7 +1105,7 @@ let test_finds_conflict_point_beneath_lcc () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 4l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1105,11 +1124,12 @@ let test_conflict_point_is_first_point_of_disagreement () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1122,7 +1142,7 @@ let test_conflict_point_is_first_point_of_disagreement () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1135,7 +1155,7 @@ let test_conflict_point_is_first_point_of_disagreement () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 4l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1148,7 +1168,7 @@ let test_conflict_point_is_first_point_of_disagreement () = Sc_rollup_repr.Commitment. { predecessor = c2; - inbox_level = Raw_level_repr.of_int32_exn 61l; + inbox_level = level 3l; number_of_messages = number_of_messages_exn 4l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1163,6 +1183,80 @@ let test_conflict_point_is_first_point_of_disagreement () = let* () = assert_commitment_hash_equal ~loc:__LOC__ ctxt left c2 in assert_commitment_hash_equal ~loc:__LOC__ ctxt right c3 +let test_conflict_point_computation_fits_in_gas_limit () = + (* Worst case of conflict point computation: two branches of maximum + length rooted just after the LCC. *) + let* (ctxt, rollup, staker1, staker2) = + originate_rollup_and_deposit_with_two_stakers () + in + let level = valid_inbox_level ctxt in + let max_commits = + let commitment_freq = + Constants_storage.sc_rollup_commitment_frequency_in_blocks ctxt + in + Int32.div + (Constants_storage.sc_rollup_max_lookahead_in_blocks ctxt) + (Int32.of_int commitment_freq) + in + let root_commitment = + Sc_rollup_repr.Commitment. + { + predecessor = Sc_rollup_repr.Commitment_hash.zero; + inbox_level = level 1l; + number_of_messages = number_of_messages_exn 1l; + number_of_ticks = number_of_ticks_exn 1l; + compressed_state = Sc_rollup_repr.State_hash.zero; + } + in + let* (root_commitment_hash, ctxt) = + lift @@ Sc_rollup_storage.refine_stake ctxt rollup staker1 root_commitment + in + let* (_, ctxt) = + lift @@ Sc_rollup_storage.refine_stake ctxt rollup staker2 root_commitment + in + let rec branch ctxt staker_id staker predecessor i max acc = + let commitment = + Sc_rollup_repr.Commitment. + { + predecessor; + inbox_level = level i; + number_of_messages = number_of_messages_exn staker_id; + number_of_ticks = number_of_ticks_exn 1l; + compressed_state = Sc_rollup_repr.State_hash.zero; + } + in + let* (commitment_hash, ctxt) = + lift @@ Sc_rollup_storage.refine_stake ctxt rollup staker commitment + in + if i = max then + return (Array.of_list (List.rev (commitment_hash :: acc)), ctxt) + else + branch + ctxt + staker_id + staker + commitment_hash + (Int32.succ i) + max + (commitment_hash :: acc) + in + let* (branch_1, ctxt) = + branch ctxt 1l staker1 root_commitment_hash 2l max_commits [] + in + let* (branch_2, ctxt) = + branch ctxt 2l staker2 root_commitment_hash 2l max_commits [] + in + let ctxt = + Raw_context.set_gas_limit + ctxt + (Constants_storage.hard_gas_limit_per_operation ctxt) + in + let* ((left, right), ctxt) = + lift @@ Sc_rollup_storage.get_conflict_point ctxt rollup staker1 staker2 + in + let* () = assert_commitment_hash_equal ~loc:__LOC__ ctxt left branch_1.(0) in + assert_commitment_hash_equal ~loc:__LOC__ ctxt right branch_2.(0) + let test_no_conflict_point_one_staker_at_lcc_preboot () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () @@ -1171,7 +1265,7 @@ let test_no_conflict_point_one_staker_at_lcc_preboot () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1198,11 +1292,12 @@ let test_no_conflict_point_one_staker_at_lcc () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1215,7 +1310,7 @@ let test_no_conflict_point_one_staker_at_lcc () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1242,7 +1337,7 @@ let test_no_conflict_point_both_stakers_at_lcc () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1271,11 +1366,12 @@ let test_staker_cannot_backtrack () = Sc_rollup_repr.Staker.of_b58check_exn "tz1SdKt9kjPp1HRQFkBmXtBhgMfvdgFhSjmG" in let* ctxt = lift @@ Sc_rollup_storage.deposit_stake ctxt rollup staker in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1288,7 +1384,7 @@ let test_staker_cannot_backtrack () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1306,11 +1402,12 @@ let test_staker_cannot_change_branch () = let* (ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1323,7 +1420,7 @@ let test_staker_cannot_change_branch () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1336,7 +1433,7 @@ let test_staker_cannot_change_branch () = Sc_rollup_repr.Commitment. { predecessor = c1; - inbox_level = Raw_level_repr.of_int32_exn 41l; + inbox_level = level 2l; number_of_messages = number_of_messages_exn 4l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1350,7 +1447,7 @@ let test_staker_cannot_change_branch () = Sc_rollup_repr.Commitment. { predecessor = c2; - inbox_level = Raw_level_repr.of_int32_exn 61l; + inbox_level = level 3l; number_of_messages = number_of_messages_exn 4l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1386,7 +1483,7 @@ let test_refine_stake_of_missing_rollup () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1445,11 +1542,12 @@ let test_concurrent_refinement_point_of_conflict () = let* (before_ctxt, rollup, staker1, staker2) = originate_rollup_and_deposit_with_two_stakers () in + let level = valid_inbox_level before_ctxt in let commitment1 = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1459,7 +1557,7 @@ let test_concurrent_refinement_point_of_conflict () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = level 1l; number_of_messages = number_of_messages_exn 10l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1496,7 +1594,7 @@ let test_concurrent_refinement_cement () = Sc_rollup_repr.Commitment. { predecessor = Sc_rollup_repr.Commitment_hash.zero; - inbox_level = Raw_level_repr.of_int32_exn 21l; + inbox_level = valid_inbox_level before_ctxt 1l; number_of_messages = number_of_messages_exn 3l; number_of_ticks = number_of_ticks_exn 1232909l; compressed_state = Sc_rollup_repr.State_hash.zero; @@ -1717,6 +1815,10 @@ let tests = "finds no conflict point when both stakers commit to LCC" `Quick test_no_conflict_point_both_stakers_at_lcc; + Tztest.tztest + "test_conflict_point_computation_fits_in_gas_limit" + `Quick + test_conflict_point_computation_fits_in_gas_limit; Tztest.tztest "staker cannot backtrack" `Quick test_staker_cannot_backtrack; Tztest.tztest "staker cannot change branch" diff --git a/tezt/_regressions/rpc/alpha.client.others.out b/tezt/_regressions/rpc/alpha.client.others.out index d0754e8ebb5fc2c447eaadb9ee9e76fbc62bca5c..004d810b52cdf5cbce5fe7e05435132b50884462 100644 --- a/tezt/_regressions/rpc/alpha.client.others.out +++ b/tezt/_regressions/rpc/alpha.client.others.out @@ -46,7 +46,7 @@ rpc/alpha.client.others.out "sc_rollup_challenge_window_in_blocks": 20160, "sc_rollup_max_available_messages": 1000000, "sc_rollup_stake_amount_in_mutez": 32000000, - "sc_rollup_commitment_frequency_in_blocks": 20, + "sc_rollup_commitment_frequency_in_blocks": 30, "sc_rollup_commitment_storage_size_in_bytes": 84, "sc_rollup_max_lookahead_in_blocks": 30000 } diff --git a/tezt/_regressions/rpc/alpha.light.others.out b/tezt/_regressions/rpc/alpha.light.others.out index 4a2f7a1f90b2baf96e76a07eaacd6850620a7684..6564f92ab20ae03003b2a7e786cfb0b2d52ffb6b 100644 --- a/tezt/_regressions/rpc/alpha.light.others.out +++ b/tezt/_regressions/rpc/alpha.light.others.out @@ -46,7 +46,7 @@ rpc/alpha.light.others.out "sc_rollup_challenge_window_in_blocks": 20160, "sc_rollup_max_available_messages": 1000000, "sc_rollup_stake_amount_in_mutez": 32000000, - "sc_rollup_commitment_frequency_in_blocks": 20, + "sc_rollup_commitment_frequency_in_blocks": 30, "sc_rollup_commitment_storage_size_in_bytes": 84, "sc_rollup_max_lookahead_in_blocks": 30000 } protocol of light mode unspecified, using the node's protocol: ProtoGenesisGenesisGenesisGenesisGenesisGenesk612im diff --git a/tezt/_regressions/rpc/alpha.proxy.others.out b/tezt/_regressions/rpc/alpha.proxy.others.out index c48ac5b3ccc23cf6574f44b5270ef8d8cc139b2c..846a93775da5238f8dc60b77b5d420e930a11deb 100644 --- a/tezt/_regressions/rpc/alpha.proxy.others.out +++ b/tezt/_regressions/rpc/alpha.proxy.others.out @@ -46,7 +46,7 @@ rpc/alpha.proxy.others.out "sc_rollup_challenge_window_in_blocks": 20160, "sc_rollup_max_available_messages": 1000000, "sc_rollup_stake_amount_in_mutez": 32000000, - "sc_rollup_commitment_frequency_in_blocks": 20, + "sc_rollup_commitment_frequency_in_blocks": 30, "sc_rollup_commitment_storage_size_in_bytes": 84, "sc_rollup_max_lookahead_in_blocks": 30000 } protocol of proxy unspecified, using the node's protocol: ProtoGenesisGenesisGenesisGenesisGenesisGenesk612im diff --git a/tezt/_regressions/rpc/alpha.proxy_server_data_dir.others.out b/tezt/_regressions/rpc/alpha.proxy_server_data_dir.others.out index 83c1d15fd3eadde81ff79257e26cea0e58291770..44adf0f6a473fff1284e4ad4fa7190be24d14257 100644 --- a/tezt/_regressions/rpc/alpha.proxy_server_data_dir.others.out +++ b/tezt/_regressions/rpc/alpha.proxy_server_data_dir.others.out @@ -46,7 +46,7 @@ rpc/alpha.proxy_server_data_dir.others.out "sc_rollup_challenge_window_in_blocks": 20160, "sc_rollup_max_available_messages": 1000000, "sc_rollup_stake_amount_in_mutez": 32000000, - "sc_rollup_commitment_frequency_in_blocks": 20, + "sc_rollup_commitment_frequency_in_blocks": 30, "sc_rollup_commitment_storage_size_in_bytes": 84, "sc_rollup_max_lookahead_in_blocks": 30000 } diff --git a/tezt/_regressions/rpc/alpha.proxy_server_rpc.others.out b/tezt/_regressions/rpc/alpha.proxy_server_rpc.others.out index 187faa67947552afd282d591bea2aa2ac5a118c9..23f309192c5773a4e76092c5ff0c7a5cc8236578 100644 --- a/tezt/_regressions/rpc/alpha.proxy_server_rpc.others.out +++ b/tezt/_regressions/rpc/alpha.proxy_server_rpc.others.out @@ -46,7 +46,7 @@ rpc/alpha.proxy_server_rpc.others.out "sc_rollup_challenge_window_in_blocks": 20160, "sc_rollup_max_available_messages": 1000000, "sc_rollup_stake_amount_in_mutez": 32000000, - "sc_rollup_commitment_frequency_in_blocks": 20, + "sc_rollup_commitment_frequency_in_blocks": 30, "sc_rollup_commitment_storage_size_in_bytes": 84, "sc_rollup_max_lookahead_in_blocks": 30000 } diff --git a/tezt/_regressions/sc_rollup_commitment_of_rollup_node_commitment_is_stored.out b/tezt/_regressions/sc_rollup_commitment_of_rollup_node_commitment_is_stored.out index 340577823315dc70f2e3fb4757edc71c93fb1697..15fd20e8de13fd0247a0065d6df60b84f46c25e2 100644 --- a/tezt/_regressions/sc_rollup_commitment_of_rollup_node_commitment_is_stored.out +++ b/tezt/_regressions/sc_rollup_commitment_of_rollup_node_commitment_is_stored.out @@ -33,6 +33,56 @@ This sequence of operations was run: ./tezos-client rpc get '/chains/main/blocks/head/context/sc_rollup/[SC_ROLLUP_HASH]/initial_level' 2 +./tezos-client rpc get /chains/main/blocks/head/context/constants +{ "proof_of_work_nonce_size": 8, "nonce_length": 32, + "max_anon_ops_per_block": 132, "max_operation_data_length": 32768, + "max_proposals_per_delegate": 20, "max_micheline_node_count": 50000, + "max_micheline_bytes_limit": 50000, + "max_allowed_global_constants_depth": 10000, "cache_layout_size": 3, + "michelson_maximum_type_size": 2001, "preserved_cycles": 2, + "blocks_per_cycle": 8, "blocks_per_commitment": 4, + "blocks_per_stake_snapshot": 4, "cycles_per_voting_period": 8, + "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "5200000", "proof_of_work_threshold": "-1", + "tokens_per_roll": "6000000000", "seed_nonce_revelation_tip": "125000", + "origination_size": 257, "baking_reward_fixed_portion": "333333", + "baking_reward_bonus_per_slot": "3921", + "endorsing_reward_per_slot": "2604", "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "2500000", + "liquidity_baking_sunset_level": 128, + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 120, "minimal_block_delay": "1", + "delay_increment_per_round": "1", "consensus_committee_size": 256, + "consensus_threshold": 0, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "max_slashing_period": 2, "frozen_deposits_percentage": 5, + "double_baking_punishment": "640000000", + "ratio_of_frozen_deposits_slashed_per_double_endorsement": + { "numerator": 1, "denominator": 2 }, "cache_script_size": 100000000, + "cache_stake_distribution_cycles": 8, "cache_sampler_state_cycles": 8, + "tx_rollup_enable": true, "tx_rollup_origination_size": 4000, + "tx_rollup_hard_size_limit_per_inbox": 500000, + "tx_rollup_hard_size_limit_per_message": 5000, + "tx_rollup_max_withdrawals_per_batch": 15, + "tx_rollup_commitment_bond": "10000000000", + "tx_rollup_finality_period": 40000, "tx_rollup_withdraw_period": 40000, + "tx_rollup_max_inboxes_count": 40100, + "tx_rollup_max_messages_per_inbox": 1010, + "tx_rollup_max_commitments_count": 80100, + "tx_rollup_cost_per_byte_ema_factor": 120, + "tx_rollup_max_ticket_payload_size": 2048, + "tx_rollup_rejection_max_proof_size": 30000, + "tx_rollup_sunset_level": 3473409, "sc_rollup_enable": true, + "sc_rollup_origination_size": 6314, + "sc_rollup_challenge_window_in_blocks": 20160, + "sc_rollup_max_available_messages": 1000000, + "sc_rollup_stake_amount_in_mutez": 32000000, + "sc_rollup_commitment_frequency_in_blocks": 30, + "sc_rollup_commitment_storage_size_in_bytes": 84, + "sc_rollup_max_lookahead_in_blocks": 30000 } + ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. Estimated gas: 1651.589 units (will add 100 for safety) @@ -827,20 +877,430 @@ This sequence of operations was run: +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1663.939 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000698 + Expected counter: 22 + Gas limit: 1764 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000698 + payload fees(the block proposer) ....... +ꜩ0.000698 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1663.939 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 23 + current messages hash = CoWJdhhuq5QNTEuHufG5tro5KZ7iqf6D5NLJPVPuzzjT6S3Getgc + nb_available_messages = 231 + message_counter = 21 + old_levels_messages = + content = CoV4vVmUCgzBS7gSiqLd8V4ec7y6xS3sM6nrUc7vLDmT8SBTCr4i + index = 21 + back_pointers = CoVP4hzyrrxBfhUhfBvQnvGBJoCeXXxqHTzgHxXYMXC2SDBxa74Z + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1664.504 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.00071 + Expected counter: 23 + Gas limit: 1765 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00071 + payload fees(the block proposer) ....... +ꜩ0.00071 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1664.504 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 24 + current messages hash = CoWD1TNgtmvkWrZd12jVpYXGP8Tjz7QR4yyUm7imaPMdZtkAxM7n + nb_available_messages = 253 + message_counter = 22 + old_levels_messages = + content = CoWJdhhuq5QNTEuHufG5tro5KZ7iqf6D5NLJPVPuzzjT6S3Getgc + index = 22 + back_pointers = CoUhGbCqa1w8n5BAq9MJtLZoA33o6gv6k7AkhdrYSj3daUKtvvKN + CoUhGbCqa1w8n5BAq9MJtLZoA33o6gv6k7AkhdrYSj3daUKtvvKN + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1665.069 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000722 + Expected counter: 24 + Gas limit: 1766 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000722 + payload fees(the block proposer) ....... +ꜩ0.000722 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1665.069 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 25 + current messages hash = CoUsSobxkrQQSdVB7Y9NuvfJ4umZ4J6J9mSuesg8zKpS6p44uMwm + nb_available_messages = 276 + message_counter = 23 + old_levels_messages = + content = CoWD1TNgtmvkWrZd12jVpYXGP8Tjz7QR4yyUm7imaPMdZtkAxM7n + index = 23 + back_pointers = CoV9Sd61WptAMsvBex3aAFKp4iygLb1dx4TW9KrwNSB612s6L8Bb + CoUhGbCqa1w8n5BAq9MJtLZoA33o6gv6k7AkhdrYSj3daUKtvvKN + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1665.634 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000734 + Expected counter: 25 + Gas limit: 1766 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000734 + payload fees(the block proposer) ....... +ꜩ0.000734 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1665.634 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 26 + current messages hash = CoWSGuqQmiHLCwCCHyNSBVpXV3Dud2tGPziG7AAejN6oKBe3TtSs + nb_available_messages = 300 + message_counter = 24 + old_levels_messages = + content = CoUsSobxkrQQSdVB7Y9NuvfJ4umZ4J6J9mSuesg8zKpS6p44uMwm + index = 24 + back_pointers = CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1666.199 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000746 + Expected counter: 26 + Gas limit: 1767 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000746 + payload fees(the block proposer) ....... +ꜩ0.000746 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1666.199 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 27 + current messages hash = CoVzzv1tbU4tqRLwuK1KLt5V5wvwUyY3ouheHiz3MgqdWpb4bwFv + nb_available_messages = 325 + message_counter = 25 + old_levels_messages = + content = CoWSGuqQmiHLCwCCHyNSBVpXV3Dud2tGPziG7AAejN6oKBe3TtSs + index = 25 + back_pointers = CoVnyRbDa9Vam1QZV1iB9V6ST3mxukgvaURLzRvqbtJHEbYioMmi + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1666.764 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000758 + Expected counter: 27 + Gas limit: 1767 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000758 + payload fees(the block proposer) ....... +ꜩ0.000758 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1666.764 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 28 + current messages hash = CoUymLeyxLCiwbWTsN6KYSBdHbjexSbAXChymu7kCfmxEqZfByvC + nb_available_messages = 351 + message_counter = 26 + old_levels_messages = + content = CoVzzv1tbU4tqRLwuK1KLt5V5wvwUyY3ouheHiz3MgqdWpb4bwFv + index = 26 + back_pointers = CoVq8CLSWs2fY5eDxdeQGxLyTNtsGizVfixZpQXcBXuLhTxNdNSD + CoVq8CLSWs2fY5eDxdeQGxLyTNtsGizVfixZpQXcBXuLhTxNdNSD + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1667.329 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.00077 + Expected counter: 28 + Gas limit: 1768 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00077 + payload fees(the block proposer) ....... +ꜩ0.00077 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1667.329 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 29 + current messages hash = CoWKim4YDRvp4jxgFxJTvZztdRPqrBDuv1zHBY79Aukc7b8yx7sz + nb_available_messages = 378 + message_counter = 27 + old_levels_messages = + content = CoUymLeyxLCiwbWTsN6KYSBdHbjexSbAXChymu7kCfmxEqZfByvC + index = 27 + back_pointers = CoVCdrWVSU5LBmD9kUTBwGYvqXbVFiiMhQ9f1rmdh3tsEWBE4N32 + CoVq8CLSWs2fY5eDxdeQGxLyTNtsGizVfixZpQXcBXuLhTxNdNSD + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1667.894 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000782 + Expected counter: 29 + Gas limit: 1768 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000782 + payload fees(the block proposer) ....... +ꜩ0.000782 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1667.894 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 30 + current messages hash = CoVoM7dmkxUSGDpgVoodsTjWaNNA15rdR4xNe4suhjre3innnQHx + nb_available_messages = 406 + message_counter = 28 + old_levels_messages = + content = CoWKim4YDRvp4jxgFxJTvZztdRPqrBDuv1zHBY79Aukc7b8yx7sz + index = 28 + back_pointers = CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1668.459 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000794 + Expected counter: 30 + Gas limit: 1769 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000794 + payload fees(the block proposer) ....... +ꜩ0.000794 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1668.459 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 31 + current messages hash = CoWGv4kud2a8r1uHEHVg2B1ZPFFbAdD2hPb1cxrymvYkVfXjfeY9 + nb_available_messages = 435 + message_counter = 29 + old_levels_messages = + content = CoVoM7dmkxUSGDpgVoodsTjWaNNA15rdR4xNe4suhjre3innnQHx + index = 29 + back_pointers = CoW8q5T38pdp5iBmi2tagvQt6b2hVJpuQcD3oMF2JdTQFRPEzHgt + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1669.024 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000806 + Expected counter: 31 + Gas limit: 1770 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000806 + payload fees(the block proposer) ....... +ꜩ0.000806 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1669.024 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 32 + current messages hash = CoW6QBucKL8LMzEt9Sjk7ozxvev4CaeVkipsPbbtGFkcbkMzgaZU + nb_available_messages = 465 + message_counter = 30 + old_levels_messages = + content = CoWGv4kud2a8r1uHEHVg2B1ZPFFbAdD2hPb1cxrymvYkVfXjfeY9 + index = 30 + back_pointers = CoWXUFqR6NT2RmrrgnMF4weUNuFGvxvvbW9sJYcwhWavwdUKqARc + CoWXUFqR6NT2RmrrgnMF4weUNuFGvxvvbW9sJYcwhWavwdUKqARc + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + ./tezos-sc-rollup-client-alpha rpc get /last_stored_commitment { "hash": "[SC_ROLLUP_COMMITMENT_HASH]", "commitment": { "compressed_state": "[SC_ROLLUP_STATE_HASH]", - "inbox_level": 22, + "inbox_level": 32, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", - "number_of_messages": 210, "number_of_ticks": 631 } } + "number_of_messages": 465, "number_of_ticks": 1396 } } ./tezos-sc-rollup-client-alpha rpc get /last_published_commitment { "hash": "[SC_ROLLUP_COMMITMENT_HASH]", "commitment": { "compressed_state": "[SC_ROLLUP_STATE_HASH]", - "inbox_level": 22, + "inbox_level": 32, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", - "number_of_messages": 210, "number_of_ticks": 631 } } + "number_of_messages": 465, "number_of_ticks": 1396 } } diff --git a/tezt/_regressions/sc_rollup_commitment_of_rollup_node_handles_chain_reorgs.out b/tezt/_regressions/sc_rollup_commitment_of_rollup_node_handles_chain_reorgs.out index aae5baa60971a9ae342ac29f205b9ecf43d8a250..bbc707c9d023339bd42b4803fbd5897134094ddf 100644 --- a/tezt/_regressions/sc_rollup_commitment_of_rollup_node_handles_chain_reorgs.out +++ b/tezt/_regressions/sc_rollup_commitment_of_rollup_node_handles_chain_reorgs.out @@ -33,6 +33,56 @@ This sequence of operations was run: ./tezos-client rpc get '/chains/main/blocks/head/context/sc_rollup/[SC_ROLLUP_HASH]/initial_level' 2 +./tezos-client rpc get /chains/main/blocks/head/context/constants +{ "proof_of_work_nonce_size": 8, "nonce_length": 32, + "max_anon_ops_per_block": 132, "max_operation_data_length": 32768, + "max_proposals_per_delegate": 20, "max_micheline_node_count": 50000, + "max_micheline_bytes_limit": 50000, + "max_allowed_global_constants_depth": 10000, "cache_layout_size": 3, + "michelson_maximum_type_size": 2001, "preserved_cycles": 2, + "blocks_per_cycle": 8, "blocks_per_commitment": 4, + "blocks_per_stake_snapshot": 4, "cycles_per_voting_period": 8, + "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "5200000", "proof_of_work_threshold": "-1", + "tokens_per_roll": "6000000000", "seed_nonce_revelation_tip": "125000", + "origination_size": 257, "baking_reward_fixed_portion": "333333", + "baking_reward_bonus_per_slot": "3921", + "endorsing_reward_per_slot": "2604", "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "2500000", + "liquidity_baking_sunset_level": 128, + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 120, "minimal_block_delay": "1", + "delay_increment_per_round": "1", "consensus_committee_size": 256, + "consensus_threshold": 0, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "max_slashing_period": 2, "frozen_deposits_percentage": 5, + "double_baking_punishment": "640000000", + "ratio_of_frozen_deposits_slashed_per_double_endorsement": + { "numerator": 1, "denominator": 2 }, "cache_script_size": 100000000, + "cache_stake_distribution_cycles": 8, "cache_sampler_state_cycles": 8, + "tx_rollup_enable": true, "tx_rollup_origination_size": 4000, + "tx_rollup_hard_size_limit_per_inbox": 500000, + "tx_rollup_hard_size_limit_per_message": 5000, + "tx_rollup_max_withdrawals_per_batch": 15, + "tx_rollup_commitment_bond": "10000000000", + "tx_rollup_finality_period": 40000, "tx_rollup_withdraw_period": 40000, + "tx_rollup_max_inboxes_count": 40100, + "tx_rollup_max_messages_per_inbox": 1010, + "tx_rollup_max_commitments_count": 80100, + "tx_rollup_cost_per_byte_ema_factor": 120, + "tx_rollup_max_ticket_payload_size": 2048, + "tx_rollup_rejection_max_proof_size": 30000, + "tx_rollup_sunset_level": 3473409, "sc_rollup_enable": true, + "sc_rollup_origination_size": 6314, + "sc_rollup_challenge_window_in_blocks": 20160, + "sc_rollup_max_available_messages": 1000000, + "sc_rollup_stake_amount_in_mutez": 32000000, + "sc_rollup_commitment_frequency_in_blocks": 30, + "sc_rollup_commitment_storage_size_in_bytes": 84, + "sc_rollup_max_lookahead_in_blocks": 30000 } + ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. Estimated gas: 1652.229 units (will add 100 for safety) @@ -58,17 +108,17 @@ This sequence of operations was run: Consumed gas: 1652.229 Resulting inbox state: rollup = [SC_ROLLUP_HASH] - level = 22 + level = 32 current messages hash = CoWCiKBE7uyrqCwVM1ZRQEXatHvkqQU9GPf94ktpjasEgkRgKst3 nb_available_messages = 1 message_counter = 1 old_levels_messages = content = CoUkdBQ53N7FWav8LuTvrcp3jyoxnpqk3xnEo3gSCgNwia4fq44j - index = 20 - back_pointers = CoUfuC6sQavMbyBDHr6zujymX6D6Wbo14aN69qCUCrc49hxJnPb3 - CoUfuC6sQavMbyBDHr6zujymX6D6Wbo14aN69qCUCrc49hxJnPb3 - CoUfuC6sQavMbyBDHr6zujymX6D6Wbo14aN69qCUCrc49hxJnPb3 - CoVs7qYHAiJBuPs36A7NMDo47y1nhL6mbdb2gEtMQi1zrBbRQzaX + index = 30 + back_pointers = CoVombgbRqaZQavbAhd8Fe9uPd2VkwetxbaeuN3ky612Y1BW3NvM + CoVombgbRqaZQavbAhd8Fe9uPd2VkwetxbaeuN3ky612Y1BW3NvM + CoW1mKR4SV9TNevf2emDd2y5vBSJoHpPZAaXcK4rg3qYRqQpqc7G + CoUoi6qvq4GfPg1uwb68W7M74XnGgLYcsZWw6tM21DhnF66Th1jz CoVs7qYHAiJBuPs36A7NMDo47y1nhL6mbdb2gEtMQi1zrBbRQzaX @@ -79,7 +129,7 @@ This sequence of operations was run: "commitment": { "compressed_state": "[SC_ROLLUP_STATE_HASH]", - "inbox_level": 22, + "inbox_level": 32, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", "number_of_messages": 0, "number_of_ticks": 0 } } @@ -88,6 +138,6 @@ This sequence of operations was run: "commitment": { "compressed_state": "[SC_ROLLUP_STATE_HASH]", - "inbox_level": 22, + "inbox_level": 32, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", "number_of_messages": 0, "number_of_ticks": 0 } } diff --git a/tezt/_regressions/sc_rollup_commitment_of_rollup_node_messages_reset.out b/tezt/_regressions/sc_rollup_commitment_of_rollup_node_messages_reset.out index 205a9c990c1e381901627e7e29dec5ae0a3f9030..04f8e916a38a24aa302659f51e13dab953f74380 100644 --- a/tezt/_regressions/sc_rollup_commitment_of_rollup_node_messages_reset.out +++ b/tezt/_regressions/sc_rollup_commitment_of_rollup_node_messages_reset.out @@ -33,6 +33,56 @@ This sequence of operations was run: ./tezos-client rpc get '/chains/main/blocks/head/context/sc_rollup/[SC_ROLLUP_HASH]/initial_level' 2 +./tezos-client rpc get /chains/main/blocks/head/context/constants +{ "proof_of_work_nonce_size": 8, "nonce_length": 32, + "max_anon_ops_per_block": 132, "max_operation_data_length": 32768, + "max_proposals_per_delegate": 20, "max_micheline_node_count": 50000, + "max_micheline_bytes_limit": 50000, + "max_allowed_global_constants_depth": 10000, "cache_layout_size": 3, + "michelson_maximum_type_size": 2001, "preserved_cycles": 2, + "blocks_per_cycle": 8, "blocks_per_commitment": 4, + "blocks_per_stake_snapshot": 4, "cycles_per_voting_period": 8, + "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "5200000", "proof_of_work_threshold": "-1", + "tokens_per_roll": "6000000000", "seed_nonce_revelation_tip": "125000", + "origination_size": 257, "baking_reward_fixed_portion": "333333", + "baking_reward_bonus_per_slot": "3921", + "endorsing_reward_per_slot": "2604", "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "2500000", + "liquidity_baking_sunset_level": 128, + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 120, "minimal_block_delay": "1", + "delay_increment_per_round": "1", "consensus_committee_size": 256, + "consensus_threshold": 0, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "max_slashing_period": 2, "frozen_deposits_percentage": 5, + "double_baking_punishment": "640000000", + "ratio_of_frozen_deposits_slashed_per_double_endorsement": + { "numerator": 1, "denominator": 2 }, "cache_script_size": 100000000, + "cache_stake_distribution_cycles": 8, "cache_sampler_state_cycles": 8, + "tx_rollup_enable": true, "tx_rollup_origination_size": 4000, + "tx_rollup_hard_size_limit_per_inbox": 500000, + "tx_rollup_hard_size_limit_per_message": 5000, + "tx_rollup_max_withdrawals_per_batch": 15, + "tx_rollup_commitment_bond": "10000000000", + "tx_rollup_finality_period": 40000, "tx_rollup_withdraw_period": 40000, + "tx_rollup_max_inboxes_count": 40100, + "tx_rollup_max_messages_per_inbox": 1010, + "tx_rollup_max_commitments_count": 80100, + "tx_rollup_cost_per_byte_ema_factor": 120, + "tx_rollup_max_ticket_payload_size": 2048, + "tx_rollup_rejection_max_proof_size": 30000, + "tx_rollup_sunset_level": 3473409, "sc_rollup_enable": true, + "sc_rollup_origination_size": 6314, + "sc_rollup_challenge_window_in_blocks": 20160, + "sc_rollup_max_available_messages": 1000000, + "sc_rollup_stake_amount_in_mutez": 32000000, + "sc_rollup_commitment_frequency_in_blocks": 30, + "sc_rollup_commitment_storage_size_in_bytes": 84, + "sc_rollup_max_lookahead_in_blocks": 30000 } + ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. Estimated gas: 1651.589 units (will add 100 for safety) @@ -827,12 +877,422 @@ This sequence of operations was run: +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1663.939 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000698 + Expected counter: 22 + Gas limit: 1764 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000698 + payload fees(the block proposer) ....... +ꜩ0.000698 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1663.939 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 23 + current messages hash = CoWJdhhuq5QNTEuHufG5tro5KZ7iqf6D5NLJPVPuzzjT6S3Getgc + nb_available_messages = 231 + message_counter = 21 + old_levels_messages = + content = CoV4vVmUCgzBS7gSiqLd8V4ec7y6xS3sM6nrUc7vLDmT8SBTCr4i + index = 21 + back_pointers = CoVP4hzyrrxBfhUhfBvQnvGBJoCeXXxqHTzgHxXYMXC2SDBxa74Z + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1664.504 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.00071 + Expected counter: 23 + Gas limit: 1765 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00071 + payload fees(the block proposer) ....... +ꜩ0.00071 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1664.504 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 24 + current messages hash = CoWD1TNgtmvkWrZd12jVpYXGP8Tjz7QR4yyUm7imaPMdZtkAxM7n + nb_available_messages = 253 + message_counter = 22 + old_levels_messages = + content = CoWJdhhuq5QNTEuHufG5tro5KZ7iqf6D5NLJPVPuzzjT6S3Getgc + index = 22 + back_pointers = CoUhGbCqa1w8n5BAq9MJtLZoA33o6gv6k7AkhdrYSj3daUKtvvKN + CoUhGbCqa1w8n5BAq9MJtLZoA33o6gv6k7AkhdrYSj3daUKtvvKN + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1665.069 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000722 + Expected counter: 24 + Gas limit: 1766 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000722 + payload fees(the block proposer) ....... +ꜩ0.000722 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1665.069 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 25 + current messages hash = CoUsSobxkrQQSdVB7Y9NuvfJ4umZ4J6J9mSuesg8zKpS6p44uMwm + nb_available_messages = 276 + message_counter = 23 + old_levels_messages = + content = CoWD1TNgtmvkWrZd12jVpYXGP8Tjz7QR4yyUm7imaPMdZtkAxM7n + index = 23 + back_pointers = CoV9Sd61WptAMsvBex3aAFKp4iygLb1dx4TW9KrwNSB612s6L8Bb + CoUhGbCqa1w8n5BAq9MJtLZoA33o6gv6k7AkhdrYSj3daUKtvvKN + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1665.634 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000734 + Expected counter: 25 + Gas limit: 1766 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000734 + payload fees(the block proposer) ....... +ꜩ0.000734 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1665.634 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 26 + current messages hash = CoWSGuqQmiHLCwCCHyNSBVpXV3Dud2tGPziG7AAejN6oKBe3TtSs + nb_available_messages = 300 + message_counter = 24 + old_levels_messages = + content = CoUsSobxkrQQSdVB7Y9NuvfJ4umZ4J6J9mSuesg8zKpS6p44uMwm + index = 24 + back_pointers = CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1666.199 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000746 + Expected counter: 26 + Gas limit: 1767 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000746 + payload fees(the block proposer) ....... +ꜩ0.000746 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1666.199 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 27 + current messages hash = CoVzzv1tbU4tqRLwuK1KLt5V5wvwUyY3ouheHiz3MgqdWpb4bwFv + nb_available_messages = 325 + message_counter = 25 + old_levels_messages = + content = CoWSGuqQmiHLCwCCHyNSBVpXV3Dud2tGPziG7AAejN6oKBe3TtSs + index = 25 + back_pointers = CoVnyRbDa9Vam1QZV1iB9V6ST3mxukgvaURLzRvqbtJHEbYioMmi + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1666.764 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000758 + Expected counter: 27 + Gas limit: 1767 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000758 + payload fees(the block proposer) ....... +ꜩ0.000758 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1666.764 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 28 + current messages hash = CoUymLeyxLCiwbWTsN6KYSBdHbjexSbAXChymu7kCfmxEqZfByvC + nb_available_messages = 351 + message_counter = 26 + old_levels_messages = + content = CoVzzv1tbU4tqRLwuK1KLt5V5wvwUyY3ouheHiz3MgqdWpb4bwFv + index = 26 + back_pointers = CoVq8CLSWs2fY5eDxdeQGxLyTNtsGizVfixZpQXcBXuLhTxNdNSD + CoVq8CLSWs2fY5eDxdeQGxLyTNtsGizVfixZpQXcBXuLhTxNdNSD + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1667.329 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.00077 + Expected counter: 28 + Gas limit: 1768 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00077 + payload fees(the block proposer) ....... +ꜩ0.00077 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1667.329 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 29 + current messages hash = CoWKim4YDRvp4jxgFxJTvZztdRPqrBDuv1zHBY79Aukc7b8yx7sz + nb_available_messages = 378 + message_counter = 27 + old_levels_messages = + content = CoUymLeyxLCiwbWTsN6KYSBdHbjexSbAXChymu7kCfmxEqZfByvC + index = 27 + back_pointers = CoVCdrWVSU5LBmD9kUTBwGYvqXbVFiiMhQ9f1rmdh3tsEWBE4N32 + CoVq8CLSWs2fY5eDxdeQGxLyTNtsGizVfixZpQXcBXuLhTxNdNSD + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1667.894 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000782 + Expected counter: 29 + Gas limit: 1768 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000782 + payload fees(the block proposer) ....... +ꜩ0.000782 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1667.894 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 30 + current messages hash = CoVoM7dmkxUSGDpgVoodsTjWaNNA15rdR4xNe4suhjre3innnQHx + nb_available_messages = 406 + message_counter = 28 + old_levels_messages = + content = CoWKim4YDRvp4jxgFxJTvZztdRPqrBDuv1zHBY79Aukc7b8yx7sz + index = 28 + back_pointers = CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1668.459 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000794 + Expected counter: 30 + Gas limit: 1769 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000794 + payload fees(the block proposer) ....... +ꜩ0.000794 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1668.459 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 31 + current messages hash = CoWGv4kud2a8r1uHEHVg2B1ZPFFbAdD2hPb1cxrymvYkVfXjfeY9 + nb_available_messages = 435 + message_counter = 29 + old_levels_messages = + content = CoVoM7dmkxUSGDpgVoodsTjWaNNA15rdR4xNe4suhjre3innnQHx + index = 29 + back_pointers = CoW8q5T38pdp5iBmi2tagvQt6b2hVJpuQcD3oMF2JdTQFRPEzHgt + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1669.024 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000806 + Expected counter: 31 + Gas limit: 1770 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000806 + payload fees(the block proposer) ....... +ꜩ0.000806 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1669.024 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 32 + current messages hash = CoW6QBucKL8LMzEt9Sjk7ozxvev4CaeVkipsPbbtGFkcbkMzgaZU + nb_available_messages = 465 + message_counter = 30 + old_levels_messages = + content = CoWGv4kud2a8r1uHEHVg2B1ZPFFbAdD2hPb1cxrymvYkVfXjfeY9 + index = 30 + back_pointers = CoWXUFqR6NT2RmrrgnMF4weUNuFGvxvvbW9sJYcwhWavwdUKqARc + CoWXUFqR6NT2RmrrgnMF4weUNuFGvxvvbW9sJYcwhWavwdUKqARc + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + ./tezos-sc-rollup-client-alpha rpc get /last_stored_commitment { "hash": "[SC_ROLLUP_COMMITMENT_HASH]", "commitment": { "compressed_state": "[SC_ROLLUP_STATE_HASH]", - "inbox_level": 42, + "inbox_level": 62, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", "number_of_messages": 0, "number_of_ticks": 0 } } @@ -841,6 +1301,6 @@ This sequence of operations was run: "commitment": { "compressed_state": "[SC_ROLLUP_STATE_HASH]", - "inbox_level": 42, + "inbox_level": 62, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", "number_of_messages": 0, "number_of_ticks": 0 } } diff --git a/tezt/_regressions/sc_rollup_commitment_of_rollup_node_non_final_level.out b/tezt/_regressions/sc_rollup_commitment_of_rollup_node_non_final_level.out index 16c07c1bae875b4c51458271ce51f58188f95b09..999275dcac80b8dd0b5d89e65029056d6caf6f4d 100644 --- a/tezt/_regressions/sc_rollup_commitment_of_rollup_node_non_final_level.out +++ b/tezt/_regressions/sc_rollup_commitment_of_rollup_node_non_final_level.out @@ -33,6 +33,56 @@ This sequence of operations was run: ./tezos-client rpc get '/chains/main/blocks/head/context/sc_rollup/[SC_ROLLUP_HASH]/initial_level' 2 +./tezos-client rpc get /chains/main/blocks/head/context/constants +{ "proof_of_work_nonce_size": 8, "nonce_length": 32, + "max_anon_ops_per_block": 132, "max_operation_data_length": 32768, + "max_proposals_per_delegate": 20, "max_micheline_node_count": 50000, + "max_micheline_bytes_limit": 50000, + "max_allowed_global_constants_depth": 10000, "cache_layout_size": 3, + "michelson_maximum_type_size": 2001, "preserved_cycles": 2, + "blocks_per_cycle": 8, "blocks_per_commitment": 4, + "blocks_per_stake_snapshot": 4, "cycles_per_voting_period": 8, + "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "5200000", "proof_of_work_threshold": "-1", + "tokens_per_roll": "6000000000", "seed_nonce_revelation_tip": "125000", + "origination_size": 257, "baking_reward_fixed_portion": "333333", + "baking_reward_bonus_per_slot": "3921", + "endorsing_reward_per_slot": "2604", "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "2500000", + "liquidity_baking_sunset_level": 128, + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 120, "minimal_block_delay": "1", + "delay_increment_per_round": "1", "consensus_committee_size": 256, + "consensus_threshold": 0, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "max_slashing_period": 2, "frozen_deposits_percentage": 5, + "double_baking_punishment": "640000000", + "ratio_of_frozen_deposits_slashed_per_double_endorsement": + { "numerator": 1, "denominator": 2 }, "cache_script_size": 100000000, + "cache_stake_distribution_cycles": 8, "cache_sampler_state_cycles": 8, + "tx_rollup_enable": true, "tx_rollup_origination_size": 4000, + "tx_rollup_hard_size_limit_per_inbox": 500000, + "tx_rollup_hard_size_limit_per_message": 5000, + "tx_rollup_max_withdrawals_per_batch": 15, + "tx_rollup_commitment_bond": "10000000000", + "tx_rollup_finality_period": 40000, "tx_rollup_withdraw_period": 40000, + "tx_rollup_max_inboxes_count": 40100, + "tx_rollup_max_messages_per_inbox": 1010, + "tx_rollup_max_commitments_count": 80100, + "tx_rollup_cost_per_byte_ema_factor": 120, + "tx_rollup_max_ticket_payload_size": 2048, + "tx_rollup_rejection_max_proof_size": 30000, + "tx_rollup_sunset_level": 3473409, "sc_rollup_enable": true, + "sc_rollup_origination_size": 6314, + "sc_rollup_challenge_window_in_blocks": 20160, + "sc_rollup_max_available_messages": 1000000, + "sc_rollup_stake_amount_in_mutez": 32000000, + "sc_rollup_commitment_frequency_in_blocks": 30, + "sc_rollup_commitment_storage_size_in_bytes": 84, + "sc_rollup_max_lookahead_in_blocks": 30000 } + ./tezos-client --wait none send sc rollup message 'text:["CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' Node is bootstrapped. Estimated gas: 1651.589 units (will add 100 for safety) @@ -827,6 +877,416 @@ This sequence of operations was run: +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1663.939 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000698 + Expected counter: 22 + Gas limit: 1764 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000698 + payload fees(the block proposer) ....... +ꜩ0.000698 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1663.939 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 23 + current messages hash = CoWJdhhuq5QNTEuHufG5tro5KZ7iqf6D5NLJPVPuzzjT6S3Getgc + nb_available_messages = 231 + message_counter = 21 + old_levels_messages = + content = CoV4vVmUCgzBS7gSiqLd8V4ec7y6xS3sM6nrUc7vLDmT8SBTCr4i + index = 21 + back_pointers = CoVP4hzyrrxBfhUhfBvQnvGBJoCeXXxqHTzgHxXYMXC2SDBxa74Z + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1664.504 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.00071 + Expected counter: 23 + Gas limit: 1765 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00071 + payload fees(the block proposer) ....... +ꜩ0.00071 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1664.504 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 24 + current messages hash = CoWD1TNgtmvkWrZd12jVpYXGP8Tjz7QR4yyUm7imaPMdZtkAxM7n + nb_available_messages = 253 + message_counter = 22 + old_levels_messages = + content = CoWJdhhuq5QNTEuHufG5tro5KZ7iqf6D5NLJPVPuzzjT6S3Getgc + index = 22 + back_pointers = CoUhGbCqa1w8n5BAq9MJtLZoA33o6gv6k7AkhdrYSj3daUKtvvKN + CoUhGbCqa1w8n5BAq9MJtLZoA33o6gv6k7AkhdrYSj3daUKtvvKN + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1665.069 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000722 + Expected counter: 24 + Gas limit: 1766 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000722 + payload fees(the block proposer) ....... +ꜩ0.000722 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1665.069 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 25 + current messages hash = CoUsSobxkrQQSdVB7Y9NuvfJ4umZ4J6J9mSuesg8zKpS6p44uMwm + nb_available_messages = 276 + message_counter = 23 + old_levels_messages = + content = CoWD1TNgtmvkWrZd12jVpYXGP8Tjz7QR4yyUm7imaPMdZtkAxM7n + index = 23 + back_pointers = CoV9Sd61WptAMsvBex3aAFKp4iygLb1dx4TW9KrwNSB612s6L8Bb + CoUhGbCqa1w8n5BAq9MJtLZoA33o6gv6k7AkhdrYSj3daUKtvvKN + CoWWhYzUa9dzJYM8rkXLFQSGT9sN8pkDai6pfmkQD8UmGPnNvJfK + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1665.634 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000734 + Expected counter: 25 + Gas limit: 1766 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000734 + payload fees(the block proposer) ....... +ꜩ0.000734 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1665.634 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 26 + current messages hash = CoWSGuqQmiHLCwCCHyNSBVpXV3Dud2tGPziG7AAejN6oKBe3TtSs + nb_available_messages = 300 + message_counter = 24 + old_levels_messages = + content = CoUsSobxkrQQSdVB7Y9NuvfJ4umZ4J6J9mSuesg8zKpS6p44uMwm + index = 24 + back_pointers = CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1666.199 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000746 + Expected counter: 26 + Gas limit: 1767 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000746 + payload fees(the block proposer) ....... +ꜩ0.000746 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1666.199 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 27 + current messages hash = CoVzzv1tbU4tqRLwuK1KLt5V5wvwUyY3ouheHiz3MgqdWpb4bwFv + nb_available_messages = 325 + message_counter = 25 + old_levels_messages = + content = CoWSGuqQmiHLCwCCHyNSBVpXV3Dud2tGPziG7AAejN6oKBe3TtSs + index = 25 + back_pointers = CoVnyRbDa9Vam1QZV1iB9V6ST3mxukgvaURLzRvqbtJHEbYioMmi + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1666.764 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000758 + Expected counter: 27 + Gas limit: 1767 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000758 + payload fees(the block proposer) ....... +ꜩ0.000758 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1666.764 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 28 + current messages hash = CoUymLeyxLCiwbWTsN6KYSBdHbjexSbAXChymu7kCfmxEqZfByvC + nb_available_messages = 351 + message_counter = 26 + old_levels_messages = + content = CoVzzv1tbU4tqRLwuK1KLt5V5wvwUyY3ouheHiz3MgqdWpb4bwFv + index = 26 + back_pointers = CoVq8CLSWs2fY5eDxdeQGxLyTNtsGizVfixZpQXcBXuLhTxNdNSD + CoVq8CLSWs2fY5eDxdeQGxLyTNtsGizVfixZpQXcBXuLhTxNdNSD + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1667.329 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.00077 + Expected counter: 28 + Gas limit: 1768 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00077 + payload fees(the block proposer) ....... +ꜩ0.00077 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1667.329 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 29 + current messages hash = CoWKim4YDRvp4jxgFxJTvZztdRPqrBDuv1zHBY79Aukc7b8yx7sz + nb_available_messages = 378 + message_counter = 27 + old_levels_messages = + content = CoUymLeyxLCiwbWTsN6KYSBdHbjexSbAXChymu7kCfmxEqZfByvC + index = 27 + back_pointers = CoVCdrWVSU5LBmD9kUTBwGYvqXbVFiiMhQ9f1rmdh3tsEWBE4N32 + CoVq8CLSWs2fY5eDxdeQGxLyTNtsGizVfixZpQXcBXuLhTxNdNSD + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1667.894 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000782 + Expected counter: 29 + Gas limit: 1768 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000782 + payload fees(the block proposer) ....... +ꜩ0.000782 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1667.894 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 30 + current messages hash = CoVoM7dmkxUSGDpgVoodsTjWaNNA15rdR4xNe4suhjre3innnQHx + nb_available_messages = 406 + message_counter = 28 + old_levels_messages = + content = CoWKim4YDRvp4jxgFxJTvZztdRPqrBDuv1zHBY79Aukc7b8yx7sz + index = 28 + back_pointers = CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1668.459 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000794 + Expected counter: 30 + Gas limit: 1769 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000794 + payload fees(the block proposer) ....... +ꜩ0.000794 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1668.459 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 31 + current messages hash = CoWGv4kud2a8r1uHEHVg2B1ZPFFbAdD2hPb1cxrymvYkVfXjfeY9 + nb_available_messages = 435 + message_counter = 29 + old_levels_messages = + content = CoVoM7dmkxUSGDpgVoodsTjWaNNA15rdR4xNe4suhjre3innnQHx + index = 29 + back_pointers = CoW8q5T38pdp5iBmi2tagvQt6b2hVJpuQcD3oMF2JdTQFRPEzHgt + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + +./tezos-client --wait none send sc rollup message 'text:["CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE","CAFEBABE"]' from bootstrap1 to '[SC_ROLLUP_HASH]' +Node is bootstrapped. +Estimated gas: 1669.024 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + tezos-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000806 + Expected counter: 31 + Gas limit: 1770 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000806 + payload fees(the block proposer) ....... +ꜩ0.000806 + Add a message to the inbox of the smart contract rollup at address [SC_ROLLUP_HASH] + This operation sending a message to a smart contract rollup was successfully applied + Consumed gas: 1669.024 + Resulting inbox state: + rollup = [SC_ROLLUP_HASH] + level = 32 + current messages hash = CoW6QBucKL8LMzEt9Sjk7ozxvev4CaeVkipsPbbtGFkcbkMzgaZU + nb_available_messages = 465 + message_counter = 30 + old_levels_messages = + content = CoWGv4kud2a8r1uHEHVg2B1ZPFFbAdD2hPb1cxrymvYkVfXjfeY9 + index = 30 + back_pointers = CoWXUFqR6NT2RmrrgnMF4weUNuFGvxvvbW9sJYcwhWavwdUKqARc + CoWXUFqR6NT2RmrrgnMF4weUNuFGvxvvbW9sJYcwhWavwdUKqARc + CoUn1FKqsF22mJV7Fa3FEWtwotEAttyNRZHwfmx4fFy7TqEuyNN3 + CoUsA5Ek5CNXaXeEz9cVrZpuf9C7dnrr4C4yyvwuBnrRvt4nYxXR + CoUp3myZtWe8iG3RMHuyXEdq48ZgDUbJnq2XTVY3VmjhHDCGJ2vZ + + + + ./tezos-sc-rollup-client-alpha rpc get /last_stored_commitment null diff --git a/tezt/tests/sc_rollup.ml b/tezt/tests/sc_rollup.ml index 7b6098a271cf45fa29000ad01dcb5e7673490818..b7eefe49e8e6bcc98bf9c6d47ecd01e81f45ac33 100644 --- a/tezt/tests/sc_rollup.ml +++ b/tezt/tests/sc_rollup.ml @@ -64,6 +64,12 @@ let setup f ~protocol = let bootstrap1_key = Constant.bootstrap1.public_key_hash in f node client bootstrap1_key +let get_sc_rollup_commitment_frequency_in_blocks client = + let* constants = RPC.get_constants ~hooks client in + constants + |> JSON.get "sc_rollup_commitment_frequency_in_blocks" + |> JSON.as_int |> return + let sc_rollup_node_rpc sc_node service = let* curl = RPC.Curl.get () in match curl with @@ -995,7 +1001,9 @@ let commitment_stored _protocol sc_rollup_node sc_rollup_address _node client = in let init_level = init_level |> JSON.as_int in - let levels_to_commitment = 20 in + let* levels_to_commitment = + get_sc_rollup_commitment_frequency_in_blocks client + in let levels_to_finalize = 2 in let store_commitment_level = init_level + levels_to_commitment + levels_to_finalize @@ -1066,7 +1074,9 @@ let commitment_not_stored_if_non_final _protocol sc_rollup_node in let init_level = init_level |> JSON.as_int in - let levels_to_commitment = 20 in + let* levels_to_commitment = + get_sc_rollup_commitment_frequency_in_blocks client + in let levels_to_finalize = 1 in let store_commitment_level = init_level + levels_to_commitment in let* () = Sc_rollup_node.run sc_rollup_node in @@ -1118,7 +1128,9 @@ let commitments_messages_reset _protocol sc_rollup_node sc_rollup_address _node in let init_level = init_level |> JSON.as_int in - let levels_to_commitment = 20 in + let* levels_to_commitment = + get_sc_rollup_commitment_frequency_in_blocks client + in let levels_to_finalize = 2 in let* () = Sc_rollup_node.run sc_rollup_node in let sc_rollup_client = Sc_rollup_client.create sc_rollup_node in @@ -1189,7 +1201,9 @@ let commitments_reorgs protocol sc_rollup_node sc_rollup_address node client = in let init_level = init_level |> JSON.as_int in - let levels_to_commitment = 20 in + let* levels_to_commitment = + get_sc_rollup_commitment_frequency_in_blocks client + in let num_empty_blocks = 2 in let num_messages = 1 in let levels_to_finalize = 2 in