Skip to content

ZIP 317: Clarify that tx_in/out_total_size exclude tx_in/out_count.#1288

Draft
nuttycom wants to merge 1 commit into
zcash:mainfrom
nuttycom:zip-317-total-size
Draft

ZIP 317: Clarify that tx_in/out_total_size exclude tx_in/out_count.#1288
nuttycom wants to merge 1 commit into
zcash:mainfrom
nuttycom:zip-317-total-size

Conversation

@nuttycom

Copy link
Copy Markdown
Contributor

Closes #683.

The definitions of `tx_in_total_size` and `tx_out_total_size` were
ambiguous about whether the CompactSize `tx_in_count` and
`tx_out_count` prefixes that precede the `tx_in` and `tx_out` arrays
in the encoded transaction are included. A careful reading of the
protocol specification implies they are not, but the ZIP did not say
so explicitly. This ambiguity led to a bug in an initial
implementation attempt (see zcash/zcash#6524, discussion `r1162854449`).
This PR adds an explicit paragraph after the inputs table making the
exclusion unambiguous.

Filed with Claude Code assistance.

The definitions of tx_in_total_size and tx_out_total_size were ambiguous
about whether the CompactSize tx_in_count and tx_out_count prefixes that
precede the tx_in and tx_out arrays in the encoded transaction are
included. A careful reading of the protocol specification implies they
are not, but the ZIP did not say so explicitly. This ambiguity led to a
bug in an initial implementation attempt.

Closes zcash#683.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ZIP 317: clarify that tx_{in,out}_total_size do not include the sizes of tx_{in,out}_count

1 participant