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
fix(clearsign-abi): reject Solidity types that do not exist
encode_static_args accepted uint7, uint0 and int264 and emitted plausible
32-byte words for them, so a fixture could read as a real ABI encoding while
encoding a type no compiler can produce. bool coerced truthiness, turning
'false', 0.0 or 2 into ABI true/false. bytes0 was accepted, and bytes33 was
worse than invalid: ljust() does not truncate, so a 33-byte value emitted a
33-byte word and shifted every following argument one byte to the right --
silently corrupt calldata.
Validate intN/uintN widths as 8..256 in steps of 8, require an actual bool,
and restrict fixed bytes to bytes1..bytes32. Arrays now reach the existing
dynamic-type error instead of being parsed as a width.
All 51 catalog flows still build unchanged.
0 commit comments