You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During non-interactive defaults, we added empty message shares that act as padding between messages. In order for transactions to be linked to the share(s) that they pay for, indexes were added to SplitMessages.
Problem Definition
Since indexes didn't exist in v0.6.0, we need to verify if v0.6.0 is compatible with main.
to expand on this slightly, the current tests do test comparability of the encoding and decoding, as we haven't changed them in #627 and won't be changing them when introducing non-interactive defaults either.
What we need to add is a mechanism to detect that we are decoding an old block, so that we don't add any padding or care if there is a share index in the wrapped transactions. This could be as simple (and implicit) as reading the first share index from a wrapped transaction. If that index is 0, then we automatically know that we are reading an old block, and can pass nil to SplitMessages(nil, msgs), which effectively uses identical share splitting code to v0.6.0
Context
During non-interactive defaults, we added empty message shares that act as padding between messages. In order for transactions to be linked to the share(s) that they pay for,
indexes
were added to SplitMessages.Problem Definition
Since
indexes
didn't exist in v0.6.0, we need to verify if v0.6.0 is compatible with main.Ref:
celestia-app/pkg/shares/split.go
Line 69 in a3ef48c
celestia-app/pkg/shares/split.go
Line 96 in a3ef48c
Proposal
Write a unit test or integ test that verifies compatibility of
SplitMessages
with/without share indexThe text was updated successfully, but these errors were encountered: