Skip to content

v0.3.3

Choose a tag to compare

@ryanio ryanio released this 12 Jul 20:36
· 8 commits to main since this release

What's Changed

  • Harden EIP-712 encoding of non-integer types so malformed input throws instead of being silently misencoded. The address encoder now validates a 0x-prefixed hex string of at most 20 bytes; bytes/bytesN values with odd-length or non-hex input, or wider than 32 bytes, are rejected; and the shared hex parser rejects odd-length and non-hex strings rather than truncating. (#532)
  • Validate integer values before EIP-712 encoding instead of silently wrapping out-of-domain values. A negative value for an unsigned uint* type now throws (previously it wrapped into a huge positive integer via two's complement); values exceeding the declared width are also rejected. In-range signed int* two's-complement encoding is retained per EIP-712. (#530)

Full Changelog: v0.3.2...v0.3.3