Expand description

Each module should have its own prelude, which:

  • Adds preludes of upstream crates
  • Exports types with specific-enough names which mean they can safely be used downstream.

The idea is that we can just include the current crate’s prelude and avoid messing around with tons of includes. This makes refactors easier, and makes integration into the node less painful.

Modules§

  • SBOR basic, no custom types
  • SBOR Categorize trait
  • SBOR codec for core Rust types.
  • SBOR constants
  • SBOR decode trait.
  • SBOR decoding.
  • SBOR encode trait.
  • SBOR payload wrappers. These are new types around an encoded payload or sub-payload, with helper methods / traits implemented. They can be used as a more efficient wrapper a ScryptoValue if the content of that value is not needed.
  • SBOR encoding.
  • Utilities for formatting and printing Strings.
  • The methods and macros provided directly in this index_map module (new, with_capacity) work in both std and no-std modes - unlike the corresponding methods on IndexMap itself.
  • The methods and macros provided directly in this index_set module (new, with_capacity) work in both std and no-std modes - unlike the corresponding methods on IndexSet itself.
  • IndexMap is a hash table where the iteration order of the key-value pairs is independent of the hash values of the keys.
  • SBOR paths.
  • SBOR payload validation.
  • Each module should have its own prelude, which:
  • SBOR textual representations
  • A facade of Rust types.
  • SBOR Schema
  • SBOR structured payload traversal.
  • SBOR value model and any decoding/encoding.
  • SBOR value kinds - ie the types of value that are supported.
  • A contiguous growable array type with heap-allocated contents, written Vec<T>.
  • Data model versioning helper macro

Macros§

Structs§

Enums§

Constants§

Statics§

Traits§

Functions§

Type Aliases§

Derive Macros§