This repository was archived by the owner on May 14, 2024. It is now read-only.

Description
Currently the 20-byte Addresses are simply a typedef for uint256_t. This means we can easily reuse the parsing and serialisation code, but introduces type confusion and memory bloat (32 bytes for every 20-byte Address). In particular, we always want to export an Address as a fixed-size 20 byte hex value, ideally checksum-encoded, whereas uint256_ts are written with variable length (rather than padded with leading 0s). We can achieve this by explicitly calling the correct functions everywhere we do these conversions, but it would be neater if these were automatically handled by the type system.