diff --git a/src/proto_alpha/bin_sc_rollup_node/arith_pvm.ml b/src/proto_alpha/bin_sc_rollup_node/arith_pvm.ml index 1e71b6292e2653cb27074e74d1ac339dc36d7c0e..099a7373e30b4fc8904a36e279358f2d3bc1bab0 100644 --- a/src/proto_alpha/bin_sc_rollup_node/arith_pvm.ml +++ b/src/proto_alpha/bin_sc_rollup_node/arith_pvm.ml @@ -36,8 +36,8 @@ module Arith_proof_format = struct type proof = IStoreProof.Proof.tree IStoreProof.Proof.t - let context_hash_to_state_hash h = - Sc_rollup.State_hash.hash_bytes [Context_hash.to_bytes h] + let context_hash_to_state_hash = + Sc_rollup.State_hash.context_hash_to_state_hash let hash_tree tree = context_hash_to_state_hash (IStoreTree.hash tree) diff --git a/src/proto_alpha/bin_sc_rollup_node/wasm_2_0_0_pvm.ml b/src/proto_alpha/bin_sc_rollup_node/wasm_2_0_0_pvm.ml index 9bb1a26c3050ae64968321f248ea0d949864319b..71fb3fd6a9221878b30e8a63b286f522cf202b3b 100644 --- a/src/proto_alpha/bin_sc_rollup_node/wasm_2_0_0_pvm.ml +++ b/src/proto_alpha/bin_sc_rollup_node/wasm_2_0_0_pvm.ml @@ -59,7 +59,7 @@ module Wasm_2_0_0_proof_format = struct let kinded_hash_to_state_hash : IStoreProof.Proof.kinded_hash -> Sc_rollup.State_hash.t = function | `Value hash | `Node hash -> - Sc_rollup.State_hash.hash_bytes [Context_hash.to_bytes hash] + Sc_rollup.State_hash.context_hash_to_state_hash hash let proof_before proof = kinded_hash_to_state_hash proof.IStoreProof.Proof.before diff --git a/src/proto_alpha/lib_protocol/alpha_context.mli b/src/proto_alpha/lib_protocol/alpha_context.mli index a66eec891f4523c102d2238613d33865e19e6b81..c43ea5dd8d27cd18407c4ebde422ba38e4496572 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.mli +++ b/src/proto_alpha/lib_protocol/alpha_context.mli @@ -2768,6 +2768,12 @@ module Sc_rollup : sig include S.HASH val context_hash_to_state_hash : Context_hash.t -> t + + type unreachable = | + + val hash_bytes : unreachable -> t + + val hash_string : unreachable -> t end module Inbox : sig diff --git a/src/proto_alpha/lib_protocol/sc_rollup_repr.ml b/src/proto_alpha/lib_protocol/sc_rollup_repr.ml index 54d93a6b21b668b315fe1b0ab8fd0f5bd9f53ad4..3181cbfd570ae61e3ab909ac8fb00da208178179 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_repr.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_repr.ml @@ -110,7 +110,20 @@ module State_hash = struct include Path_encoding.Make_hex (H) - let context_hash_to_state_hash h = hash_bytes [Context_hash.to_bytes h] + let context_hash_to_state_hash = + (* Both State_hash and Context_hash's hashes are supposed to have the + same size. This top-level check enforces this invariant, in which case, + no exception could be thrown by [of_bytes_exn] below *) + let () = assert (Compare.Int.equal size Context_hash.size) in + fun h -> of_bytes_exn @@ Context_hash.to_bytes h + + (* Hackish way to disable hash_bytes and hash_string to force people to use + context_hash_to_state_hash (without changing content of HASH.S) *) + type unreachable = | + + let hash_bytes = function (_ : unreachable) -> . + + let hash_string = function (_ : unreachable) -> . end type t = Address.t diff --git a/src/proto_alpha/lib_protocol/sc_rollup_repr.mli b/src/proto_alpha/lib_protocol/sc_rollup_repr.mli index 602a6255d5e36697973a76566ce7aadb85134bac..88722d89d342e77b9dd347648bf60c26ee45d105 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_repr.mli +++ b/src/proto_alpha/lib_protocol/sc_rollup_repr.mli @@ -67,6 +67,14 @@ module State_hash : sig (** [context_hash_to_state_hash ch] turns an (Irmin) context hash into a state hash. *) val context_hash_to_state_hash : Context_hash.t -> t + + (* Hackish way to disable hash_bytes and hash_string to force people to use + context_hash_to_state_hash (without changing content of HASH.S) *) + type unreachable = | + + val hash_bytes : unreachable -> t + + val hash_string : unreachable -> t end (** Number of messages consumed by a single commitment. This represents a claim diff --git a/src/proto_alpha/lib_protocol/sc_rollup_wasm.ml b/src/proto_alpha/lib_protocol/sc_rollup_wasm.ml index bf20e218d3423ed389a76834386479f259a2e098..18b844d3df65831757ad16c1d91bb7dece2cf1bf 100644 --- a/src/proto_alpha/lib_protocol/sc_rollup_wasm.ml +++ b/src/proto_alpha/lib_protocol/sc_rollup_wasm.ml @@ -188,8 +188,7 @@ module V2_0_0 = struct let state_hash state = let m = - Context_hash.to_bytes @@ Tree.hash state |> fun h -> - return @@ State_hash.hash_bytes [h] + return @@ State_hash.context_hash_to_state_hash (Tree.hash state) in let open Lwt_syntax in let* state = Monad.run m state in @@ -405,8 +404,7 @@ module V2_0_0 = struct Lwt.return None let kinded_hash_to_state_hash = function - | `Value hash | `Node hash -> - State_hash.hash_bytes [Context_hash.to_bytes hash] + | `Value hash | `Node hash -> State_hash.context_hash_to_state_hash hash let proof_before proof = kinded_hash_to_state_hash proof.Context.Proof.before diff --git a/src/proto_alpha/lib_protocol/test/integration/test_sc_rollup_wasm.ml b/src/proto_alpha/lib_protocol/test/integration/test_sc_rollup_wasm.ml index 0a31ad4390d62d620a6884e2c9725e77a5eaf8fa..31a3c14115dbe349bf4ac3f0ff4ddd5edb07440e 100644 --- a/src/proto_alpha/lib_protocol/test/integration/test_sc_rollup_wasm.ml +++ b/src/proto_alpha/lib_protocol/test/integration/test_sc_rollup_wasm.ml @@ -73,7 +73,7 @@ module WASM_P : let kinded_hash_to_state_hash : Context_binary.Proof.kinded_hash -> Sc_rollup.State_hash.t = function | `Value hash | `Node hash -> - Sc_rollup.State_hash.hash_bytes [Context_hash.to_bytes hash] + Sc_rollup.State_hash.context_hash_to_state_hash hash let proof_before proof = kinded_hash_to_state_hash proof.Context_binary.Proof.before diff --git a/src/proto_alpha/lib_protocol/test/pbt/test_refutation_game.ml b/src/proto_alpha/lib_protocol/test/pbt/test_refutation_game.ml index 48fbc6dd037b53625fb0c1fb859eedc2b3b67e20..bcb575863737ca3bf9bf500dcc81313d09c7384e 100644 --- a/src/proto_alpha/lib_protocol/test/pbt/test_refutation_game.ml +++ b/src/proto_alpha/lib_protocol/test/pbt/test_refutation_game.ml @@ -230,7 +230,10 @@ end) : TestPVM with type state = int = struct let proof_input_requested _ = No_input_required - let state_hash (x : state) = return (State_hash.hash_string [Int.to_string x]) + let state_hash (x : state) = + return + (State_hash.context_hash_to_state_hash + @@ Context_hash.hash_string [Int.to_string x]) let is_input_state x = if x >= P.target then return Initial else return No_input_required @@ -307,7 +310,9 @@ end) : TestPVM with type state = string * int list = struct let proof_input_requested _ = No_input_required - let state_hash (x : state) = return @@ State_hash.hash_string [to_string x] + let state_hash (x : state) = + return @@ State_hash.context_hash_to_state_hash + @@ Context_hash.hash_string [to_string x] let initial_state _ _ = return ("hello", P.initial_prog) diff --git a/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_game.ml b/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_game.ml index f202a5f6a04f0573a03b0bc628311038a83fe11e..5964f92fc9c761a0cb6e1774b20b16ad80600095 100644 --- a/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_game.ml +++ b/src/proto_alpha/lib_protocol/test/unit/test_sc_rollup_game.ml @@ -59,7 +59,13 @@ let check_reason ~loc (outcome : Sc_rollup_game_repr.outcome option) s = let tick_of_int_exn n = match Tick.of_int n with None -> assert false | Some t -> t -let hash_int n = Sc_rollup_repr.State_hash.hash_string [Format.sprintf "%d" n] +let context_hash_of_string s = Context_hash.hash_string [s] + +let hash_string s = + Sc_rollup_repr.State_hash.context_hash_to_state_hash + @@ context_hash_of_string s + +let hash_int n = hash_string (Format.sprintf "%d" n) let init_dissection ?(size = 32) ?init_tick start_hash = let default_init_tick i = @@ -88,9 +94,9 @@ let two_stakers_in_conflict () = let* ctxt, rollup, refuter, defender = T.originate_rollup_and_deposit_with_two_stakers () in - let hash1 = Sc_rollup_repr.State_hash.hash_string ["foo"] in - let hash2 = Sc_rollup_repr.State_hash.hash_string ["bar"] in - let hash3 = Sc_rollup_repr.State_hash.hash_string ["xyz"] in + let hash1 = hash_string "foo" in + let hash2 = hash_string "bar" in + let hash3 = hash_string "xyz" in let parent_commit = Commitment_repr. { @@ -145,7 +151,7 @@ let two_stakers_in_conflict () = may not be more than half of the total tick-duration. *) let test_poorly_distributed_dissection () = let* ctxt, rollup, refuter, defender = two_stakers_in_conflict () in - let start_hash = Sc_rollup_repr.State_hash.hash_string ["foo"] in + let start_hash = hash_string "foo" in let init_tick size i = if i = size - 1 then (None, tick_of_int_exn 10000) else (Some (if i = 0 then start_hash else hash_int i), tick_of_int_exn i) @@ -165,7 +171,7 @@ let test_poorly_distributed_dissection () = let test_single_valid_game_move () = let* ctxt, rollup, refuter, defender = two_stakers_in_conflict () in - let start_hash = Sc_rollup_repr.State_hash.hash_string ["foo"] in + let start_hash = hash_string "foo" in let dissection = Stdlib.List.init 32 (fun i -> if i = 0 then (Some start_hash, tick_of_int_exn 0) @@ -214,10 +220,10 @@ let staker_injectivity_gen ~refuter2_plays = * [commit2]: published by [defender]; * [commit3]: published by [refuter1]; * [commit4]: published by [refuter2]. *) - let hash1 = Sc_rollup_repr.State_hash.hash_string ["foo"] in - let hash2 = Sc_rollup_repr.State_hash.hash_string ["bar"] in - let hash3 = Sc_rollup_repr.State_hash.hash_string ["xyz"] in - let hash4 = Sc_rollup_repr.State_hash.hash_string ["abc"] in + let hash1 = hash_string "foo" in + let hash2 = hash_string "bar" in + let hash3 = hash_string "xyz" in + let hash4 = hash_string "abc" in let refutation = init_refutation hash1 in let commit1 = Commitment_repr. diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- ensure boot sector is used.out b/tezt/tests/expected/sc_rollup.ml/Alpha- ensure boot sector is used.out index fbe640976e9fe774d65b96a2770586b2f2bee056..67eca71bacbcd8c096e5f0faaa3b375347574832 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- ensure boot sector is used.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- ensure boot sector is used.out @@ -72,7 +72,7 @@ This sequence of operations was run: ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11s5nfonT2qW9aBhmo3pv3oUiG9X35qDNkSUxQNFANSZUrrAvX8" +"scs11h9A7VAzxxEkEW6ufnfbPnu717o4mc6hagzqvPLhLvHcXyRQVA" ./tezos-client --wait none originate sc rollup from '[PUBLIC_KEY_HASH]' of kind arith of type unit booting with 31 --burn-cap 9999999 Node is bootstrapped. @@ -147,4 +147,4 @@ This sequence of operations was run: ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12mzqZwgkUZNNSQZk6HQ1sN8VubcgPHMHNj1ARrpYnc2oLpo5SC" +"scs11zAjtdXYn7FZqG98exo3UKpcF7NcXSDXdGDZX8mvyoeVUNx7U8" diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with messages.out b/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with messages.out index a07527c98a030d5a4e248e87428e21e25817a380..100a5555155379176b938ffcd1b78263154cbb2b 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with messages.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- node advances PVM state with messages.out @@ -81,13 +81,13 @@ This sequence of operations was run: "\000\000\000\007" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12jce3k85ri49csMc1uPnWpsTWd2KnDam9se9beyQtf6NSgDqPV" +"scs11brdXnUqwwkqChBy8JsHPVzsS3b6YU9i1PpLczV3tCSnjkTYd1" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "19" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12jce3k85ri49csMc1uPnWpsTWd2KnDam9se9beyQtf6NSgDqPV" +"scs11brdXnUqwwkqChBy8JsHPVzsS3b6YU9i1PpLczV3tCSnjkTYd1" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "19" @@ -136,13 +136,13 @@ This sequence of operations was run: "\000\000\000\n" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11kdKF4R7zerdddo9p7Ky5CzHKXebFF8cPo9VK9pvnrvXRTVXZy" +"scs12Tgfr71PpKXJqDp8yXnohfSYoTT57KeRMEi1YacXtRyyvMxjZ4" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "37" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11kdKF4R7zerdddo9p7Ky5CzHKXebFF8cPo9VK9pvnrvXRTVXZy" +"scs12Tgfr71PpKXJqDp8yXnohfSYoTT57KeRMEi1YacXtRyyvMxjZ4" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "37" @@ -191,13 +191,13 @@ This sequence of operations was run: "\000\000\000\r" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13Rx6jH3ve1qqqw6qAYQabea3Ub2GiXJrsWBgqJz9fcPsbBcJCc" +"scs13M1yuX6NMTpdqWgYMx1uAtaLpiCgQAgXK2n93iua2LjfGajSiT" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "56" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs13Rx6jH3ve1qqqw6qAYQabea3Ub2GiXJrsWBgqJz9fcPsbBcJCc" +"scs13M1yuX6NMTpdqWgYMx1uAtaLpiCgQAgXK2n93iua2LjfGajSiT" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "56" @@ -247,13 +247,13 @@ This sequence of operations was run: "\000\000\000\016" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12mPUsjGqUsfyjY1712HZzbFLHGmt23PP5WHeb8w18QHVd1GokR" +"scs12iwXS6KpaLNTTaBqxFvkyvZpHLq8H5xp35upZ4Tz7Wqtnv68dd" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "75" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12mPUsjGqUsfyjY1712HZzbFLHGmt23PP5WHeb8w18QHVd1GokR" +"scs12iwXS6KpaLNTTaBqxFvkyvZpHLq8H5xp35upZ4Tz7Wqtnv68dd" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "75" @@ -303,13 +303,13 @@ This sequence of operations was run: "\000\000\000\019" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12Kb3bYztLQfaEf6zYLCTZ5uDnLVrsU8NXmy4uXu7FJCAHMQnuW" +"scs12GyR6dnoCQ3T6NCHe7wCEwzs1FSFdMmKPk8hzvPLMWA9po1vHp" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "94" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs12Kb3bYztLQfaEf6zYLCTZ5uDnLVrsU8NXmy4uXu7FJCAHMQnuW" +"scs12GyR6dnoCQ3T6NCHe7wCEwzs1FSFdMmKPk8hzvPLMWA9po1vHp" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "94" @@ -359,13 +359,13 @@ This sequence of operations was run: "\000\000\000\022" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11Z4sELS3xEYnoXyh5quHhzG14MM3nXvo2nzXcNeupfWqUTSY5k" +"scs13QvpMutd3qKfBeqBUbk719sF8sG2S3PCwbm3nuVr9kib5KA9Vz" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "113" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs11Z4sELS3xEYnoXyh5quHhzG14MM3nXvo2nzXcNeupfWqUTSY5k" +"scs13QvpMutd3qKfBeqBUbk719sF8sG2S3PCwbm3nuVr9kib5KA9Vz" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "113" @@ -415,13 +415,13 @@ This sequence of operations was run: "\000\000\000\025" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs134Zv1hADCyVW44K5CJGLFvNBDWmF4My4SHEx27RJeC4YkUpFUk" +"scs12d3sxy4uVnARXJi4KWs3cz5DrmR73Y9ZVk2DkLRXNio9i9yyX4" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "132" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs134Zv1hADCyVW44K5CJGLFvNBDWmF4My4SHEx27RJeC4YkUpFUk" +"scs12d3sxy4uVnARXJi4KWs3cz5DrmR73Y9ZVk2DkLRXNio9i9yyX4" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "132" @@ -472,13 +472,13 @@ This sequence of operations was run: "\000\000\000\028" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs137z1Hshy7zUWWM38hrmtz2E9LsPLQpMnBtnGbgXiiKHDj7P17Y" +"scs13CsbaoCfv3vCgBWtL78hQ3sPaH7iVhmCWqBd5hvCqfQWhxje7D" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "151" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs137z1Hshy7zUWWM38hrmtz2E9LsPLQpMnBtnGbgXiiKHDj7P17Y" +"scs13CsbaoCfv3vCgBWtL78hQ3sPaH7iVhmCWqBd5hvCqfQWhxje7D" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "151" @@ -529,13 +529,13 @@ This sequence of operations was run: "\000\000\000\031" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs139dDeHknV6X8Xq9pttHXgmfQgbBTYqxFAt62Td91m3C99ezUGX" +"scs12TkBvyg8cSuoNGfrzwM516T9isZwxAphpo7AnxJYVyPGWDwybq" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "170" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs139dDeHknV6X8Xq9pttHXgmfQgbBTYqxFAt62Td91m3C99ezUGX" +"scs12TkBvyg8cSuoNGfrzwM516T9isZwxAphpo7AnxJYVyPGWDwybq" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "170" @@ -586,7 +586,7 @@ This sequence of operations was run: "\000\000\000\"" ./tezos-sc-rollup-client-alpha rpc get /global/state_hash -"scs121tVDwin1fUikRYZEFSyoXFV7HQw8u93PvUgw4SCk6PiVYbg2o" +"scs13GcPbRV1mSUravbXkE3LFT2SgEGu2muVHjNzKumLC91MikErA8" ./tezos-sc-rollup-client-alpha rpc get /global/total_ticks "190" diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (commitm.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (commitm.out index c7e6ccf29342e9ec09ace8daa3e5cf1a4e31cba7..3053a54d81177ddf11fb510ad66c6e5fa11f1f92 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (commitm.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (commitm.out @@ -1299,7 +1299,7 @@ This sequence of operations was run: ./tezos-sc-rollup-client-alpha rpc get /global/last_stored_commitment { "commitment": { "compressed_state": - "scs12x8QREtVeFDNLugdWQ8ChxZfQye7upbuTwsZYp65QEUN1UX6Cw", + "scs123mHW8JnxvBJvMvySAKp99M3Ekvb5ntV5eLQkRJNVexjgXzTK8", "inbox_level": 32, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", "number_of_messages": 465, "number_of_ticks": 1396 }, @@ -1308,7 +1308,7 @@ This sequence of operations was run: ./tezos-sc-rollup-client-alpha rpc get /local/last_published_commitment { "commitment": { "compressed_state": - "scs12x8QREtVeFDNLugdWQ8ChxZfQye7upbuTwsZYp65QEUN1UX6Cw", + "scs123mHW8JnxvBJvMvySAKp99M3Ekvb5ntV5eLQkRJNVexjgXzTK8", "inbox_level": 32, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", "number_of_messages": 465, "number_of_ticks": 1396 }, diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (message.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (message.out index a40ec8877625e0ebab2b32ddb68e326ec67e6251..dbfa923f799ca2fb2b2a144e324cb7067d2f7d3d 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (message.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (message.out @@ -1299,7 +1299,7 @@ This sequence of operations was run: ./tezos-sc-rollup-client-alpha rpc get /global/last_stored_commitment { "commitment": { "compressed_state": - "scs12x8QREtVeFDNLugdWQ8ChxZfQye7upbuTwsZYp65QEUN1UX6Cw", + "scs123mHW8JnxvBJvMvySAKp99M3Ekvb5ntV5eLQkRJNVexjgXzTK8", "inbox_level": 62, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", "number_of_messages": 0, "number_of_ticks": 0 }, @@ -1308,7 +1308,7 @@ This sequence of operations was run: ./tezos-sc-rollup-client-alpha rpc get /local/last_published_commitment { "commitment": { "compressed_state": - "scs12x8QREtVeFDNLugdWQ8ChxZfQye7upbuTwsZYp65QEUN1UX6Cw", + "scs123mHW8JnxvBJvMvySAKp99M3Ekvb5ntV5eLQkRJNVexjgXzTK8", "inbox_level": 62, "predecessor": "[SC_ROLLUP_COMMITMENT_HASH]", "number_of_messages": 0, "number_of_ticks": 0 },