From 9f5dbbabe592d2efd8218ea269c4c1e85d390c95 Mon Sep 17 00:00:00 2001 From: wizeguyy Date: Wed, 3 Apr 2024 10:28:54 -0500 Subject: [PATCH] Update qip-0010 to include 7b spacer --- qip-0010.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/qip-0010.md b/qip-0010.md index 6ba0da5..91d29fd 100644 --- a/qip-0010.md +++ b/qip-0010.md @@ -45,14 +45,18 @@ destination chain information, which this specification intends to address. ## Specification ### Transaction Identifiers Transaction identifiers will consist of a permuted transaction hash. -Specifically, the first two bytes of the hash will be overwritten with the +Specifically, the first four bytes of the hash will be bit-masked with the origin and destination shard identifiers respectively. [qip-0002](qip-0002.md) describes the encoding of shard identifiers. For this specification, we only care that they are 9 bits in length. -| bits 0..8 | bits 9..17 | bits 18..255 | -|--------------|--------------|----------------------------| -| src shard id | dst shard id | hash(transaction)[18..255] | +| bits 0..8 | bits 9..15 | bits 16..24 | bits 25..255 | +|--------------|--------------------------|--------------|----------------------------| +| src shard id | hash(transaction)[9..15] | dst shard id | hash(transaction)[25..255] | + +> Note: since shard identifiers are 9 bits, we include a 7 bits of the actual +> transaction hash as a spacer, so that the destination shard id starts at a +> round byte position. ## Copyright This QIP licensed under the BSD 2-clause license.