mirror of
https://github.com/Xahau/xahaud.git
synced 2026-04-29 15:37:46 +00:00
hasBody was conflating 'field is declared' with 'field is non-empty'. a classical tx could ride along with a spurious empty sfJsonTxBody and silently fall through to the classical sig path. now: * hasBody = sfJsonTxBody is present (pure routing predicate) * checkSignature / checkStructuralEquivalence reject an empty body up front with an explicit 'JsonTxBody is empty.' error string behaviour for well-formed json-tx and well-formed classical-tx is unchanged; the classical+empty-body edge case now fails cleanly instead of silently routing classical.