Crate sbor

Source

Re-exports§

pub extern crate paste;
pub use categorize::Categorize;
pub use categorize::SborEnum;
pub use categorize::SborTuple;
pub use decode::Decode;
pub use decoder::BorrowingDecoder;
pub use decoder::DecodeError;
pub use decoder::Decoder;
pub use decoder::VecDecoder;
pub use encode::Encode;
pub use encoder::EncodeError;
pub use encoder::Encoder;
pub use encoder::VecEncoder;
pub use path::SborPath;
pub use path::SborPathBuf;
pub use basic::*;
pub use constants::*;
pub use encoded_wrappers::*;
pub use payload_validation::*;
pub use schema::*;
pub use value::*;
pub use value_kind::*;
pub use versioned::*;

Modules§

basic
SBOR basic, no custom types
categorize
SBOR Categorize trait
codec
SBOR codec for core Rust types.
constants
SBOR constants
decode
SBOR decode trait.
decoder
SBOR decoding.
encode
SBOR encode trait.
encoded_wrappers
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.
encoder
SBOR encoding.
path
SBOR paths.
payload_validation
SBOR payload validation.
prelude
Each module should have its own prelude, which:
representations
SBOR textual representations
rust
A facade of Rust types.
schema
SBOR Schema
traversal
SBOR structured payload traversal.
value
SBOR value model and any decoding/encoding.
value_kind
SBOR value kinds - ie the types of value that are supported.
vec_traits
Simpler traits specific to encodability/decodability against vec-based encoders/decoders
versioned
Data model versioning helper macro

Macros§

create_well_known_lookup
define_single_versioned
This macro is intended for creating a data model which supports versioning. This is useful for creating an SBOR data model which can be updated in future.
define_versioned
This macro is intended for creating a data model which supports versioning. This is useful for creating an SBOR data model which can be updated in future. In future, enum variants can be added, and automatically mapped to.
eager_replace
NOTE: This should probably be moved out of sbor to its own crate.
look_up_type
numeric_validation_match
return_type_mismatch_error

Structs§

SborFixedEnumVariant

Traits§

IsSborFixedEnumVariant
SborEnumVariantFor
This trait is output for unique unskipped single children of enum variants, when #[sbor(impl_variant_traits)] is specified on an Enum or #[sbor(impl_variant_trait)] is specified on a single Enum variant.

Derive Macros§

BasicCategorize
Derive code that returns the value kind - specifically for Basic SBOR.
BasicDecode
Derive code that decodes this data structure from a byte array - specifically for Basic SBOR.
BasicDescribe
Derive code that describes the type - specifically for Basic SBOR.
BasicEncode
Derive code that encodes this data structure - specifically for Basic SBOR.
BasicSbor
A shortcut for BasicCategorize, BasicEncode, BasicDecode, and BasicDescribe derives.
BasicSborAssertion
A macro for outputting tests and marker traits to assert that a type has maintained its shape over time.
Categorize
Derive code that returns the value kind.
Decode
Derive code that decodes this data structure from a byte array.
Describe
Derive code that describes this type.
Encode
Derive code that encodes this data structure
PermitSborAttributes
An empty derive which exists solely to allow the helper “sbor” attribute to be used without generating a compile error.
Sbor
A shortcut for Categorize, Encode, Decode, and Describe derives.