From 12cdb9fcc54a855164c4481c4fb727d59c87d369 Mon Sep 17 00:00:00 2001 From: Longarithm Date: Wed, 20 Nov 2024 14:06:59 +0400 Subject: [PATCH] fix --- neps/nep-0568.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neps/nep-0568.md b/neps/nep-0568.md index ca63287f3..04325e3e1 100644 --- a/neps/nep-0568.md +++ b/neps/nep-0568.md @@ -167,7 +167,7 @@ supporting smooth transitions without altering storage structures directly. Resharding state transition becomes one of `implicit_transitions` in `ChunkStateWitness`. It must be validated between processing last chunk (potentially missing) in the old epoch and the first chunk (potentially missing) in the new epoch. `ChunkStateTransition` fields also nicely correspond to the resharding state transition: in `block_hash` we store the hash of the last block of the parent shard, in `base_state` we store the resharding proof, and in `post_state_root` we store the proposed state root. -Note that it leads to **two** state transitions corresponding to the same block hash. On the chunk producer side, the first transition is stored for the `(block_hash, parent_shard_uid)` pair and the second one is stored for the `(block_hash, new_shard_uid)` pair. +Note that it leads to **two** state transitions corresponding to the same block hash. On the chunk producer side, the first transition is stored for the `(block_hash, parent_shard_uid)` pair and the second one is stored for the `(block_hash, child_shard_uid)` pair. The chunk validator has all the blocks, so it identifies whether implicit transition corresponds to applying missing chunk or resharding independently. This is implemented in `get_state_witness_block_range`, which iterates from `state_witness.chunk_header.prev_block_hash()` to the block with includes last last chunk for the (parent) shard, if it exists.