Crate scale_bits

source ·
Expand description

This small utility crate provides two separate things:

  1. A Bits type that can be SCALE encoded and decoded, and is fully SCALE compatible with a BitVec<u8, Lsb0>. It’s a deliberately simple type that is conceptually just a sequence of bools, and can be used as a replacement for BitVec when you don’t need the additional complexity and functionality that it comes with. See the bits module for more.
  2. Utility methods to help encode and decode arbitrary bit sequences from their SCALE representation, or skip over the corresponding bytes entirely, with zero allocations. These bypass the need to first go via some BitVec with the right store/order type, and are WASM compatible (unlike BitVec’s u64 store type). See the scale module for more.

These things play nicely together (ie you can encode and decode arbitrary bit sequences directly into the Bits type), but don’t need to be used together.

Re-exports§

Modules§

  • This module exposes a Bits type, which is a small, simple bit store which is SCALE compatible with BitVec<u8, Lsb0>.
  • This module exposes some utilities for working with SCALE bit sequences, namely:

Macros§

  • This macro makes it trivial to construct Bits from either 0 and 1 bit literals, or booleans.