Skip to content
LogoLogo

1. Conventions

  • Integers are little-endian and unsigned, with fixed width unless noted: u8 u16 u32 u64.
  • varint is Bitcoin's CompactSize: <0xFD → 1 byte; 0xFD+u16; 0xFE+u32; 0xFF+u64. Decoders MUST reject non-minimal encodings.
  • varbytes = varint length ‖ bytes. varstr = varbytes containing strict UTF-8.
  • Every decoder MUST reject trailing bytes, truncation, lengths above the stated bounds, and unknown enum values.
  • Hex in this document is lowercase. Hashes are shown in their natural byte order. Unlike Bitcoin, Arrekta never byte-reverses hashes.