Module rgb::schema[][src]

Re-exports

pub use script::AssignmentAbi;
pub use script::AssignmentAction;
pub use script::ExtensionAbi;
pub use script::ExtensionAction;
pub use script::GenesisAbi;
pub use script::GenesisAction;
pub use script::NodeAction;
pub use script::Procedure;
pub use script::SimplicityScript;
pub use script::TransitionAbi;
pub use script::TransitionAction;

Modules

constants

Constants used by embedded validation procedures representing standard metadata fields, state and transition types analyzed by them

elliptic_curve
script

Structs

ExtensionSchema
GenesisSchema
OccurrencesError
Schema
SchemaId

Commitment-based schema identifier used for committing to the schema type

StateSchema
TransitionSchema

Enums

Bits

NB: For now, we support only up to 128-bit integers and 64-bit floats; nevertheless RGB schema standard allows up to 256-byte numeric types. Support for larger types can be added later.

DataFormat
DigestAlgorithm
DiscreteFiniteFieldFormat

Today we support only a single format of confidential data, because of the limitations of the underlying secp256k1-zkp library: it works only with u64 numbers. Nevertheless, homomorphic commitments can be created to everything that has up to 256 bits and commutative arithmetics, so in the future we plan to support more types. We reserve this possibility by internally encoding [ConfidentialFormat] with the same type specification details as used for [DateFormat]

EllipticCurve
NodeType

Node type: genesis, extensions and state transitions

Occurences
StateFormat
StateType

Traits

NodeSchema

Trait defining common API for all node type schemata

SchemaVerify

Trait used for internal schema validation against some root schema

Type Definitions

ExtensionType
FieldType
MetadataStructure
OwnedRightType
OwnedRightsStructure
PublicRightType
PublicRightsStructure
TransitionType