AUDIT-2026-05-06 M-4 fix from the aldabra Phase 3-6 audit. NonEmptyKeyValuePairs::decode in pallas-codec accepts `0xa0` (empty CBOR map) because the upstream empty-map check is commented out. That decoded value re-encodes correctly and passes through pallas-txbuilder, but the resulting Conway tx fails ledger validation at submit time with a non-obvious error. Add a debug_assert_ne! on the builder method input + clear doc note warning callers to omit the field instead of passing an empty map. Release builds pass through (no overhead); dev/test builds catch accidental empty-map calls with a clear panic message. The pre-existing aldabra build_signed_drep_vote_cast always constructs a non-empty map so it doesn't trip this; the guard is for future callers. |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| README.md | ||