Type Alias SubSchema

Source
pub type SubSchema = Schema<Schema<()>>;

Aliased Type§

struct SubSchema {
    pub ffv: Ffv,
    pub subset_of: Option<Schema<()>>,
    pub global_types: Confined<BTreeMap<u16, GlobalStateSchema>, 0, 255>,
    pub owned_types: Confined<BTreeMap<u16, StateSchema>, 0, 255>,
    pub valency_types: Confined<BTreeSet<u16>, 0, 255>,
    pub genesis: GenesisSchema,
    pub extensions: Confined<BTreeMap<u16, ExtensionSchema>, 0, 255>,
    pub transitions: Confined<BTreeMap<u16, TransitionSchema>, 0, 255>,
    pub type_system: TypeSystem,
    pub script: Script,
}

Fields§

§ffv: Ffv§subset_of: Option<Schema<()>>§global_types: Confined<BTreeMap<u16, GlobalStateSchema>, 0, 255>§owned_types: Confined<BTreeMap<u16, StateSchema>, 0, 255>§valency_types: Confined<BTreeSet<u16>, 0, 255>§genesis: GenesisSchema§extensions: Confined<BTreeMap<u16, ExtensionSchema>, 0, 255>§transitions: Confined<BTreeMap<u16, TransitionSchema>, 0, 255>§type_system: TypeSystem

Type system

§script: Script

Validation code.

Implementations

Source§

impl<Root> Schema<Root>
where Root: SchemaRoot,

Source§

impl<Root> Schema<Root>
where Root: SchemaRoot,

Source

pub fn validate<C>( &self, consignment: &C, op: OpRef<'_>, vm: &dyn VirtualMachine, ) -> Status
where C: ConsignmentApi,

Source§

impl Schema<Schema<()>>

Source

pub fn verify(&self) -> Status

Trait Implementations

Source§

impl<Root: SchemaRoot> BindleContent for Schema<Root>

Source§

const MAGIC: [u8; 4]

Magic bytes used in saving/restoring container from a file.
Source§

const PLATE_TITLE: &'static str = "RGB SCHEMA"

String used in ASCII armored blocks
Source§

type Id = SchemaId

Source§

fn bindle_id(&self) -> Self::Id

Source§

fn bindle_mnemonic(&self) -> Option<String>

Source§

fn bindle_headers(&self) -> BTreeMap<&'static str, String>

Source§

fn bindle(self) -> Bindle<Self>

Source§

impl<Root> Clone for Schema<Root>
where Root: Clone + SchemaRoot,

Source§

fn clone(&self) -> Schema<Root>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<Root> CommitStrategy for Schema<Root>
where Root: SchemaRoot,

Source§

type Strategy = Strict

Specific strategy. List of supported strategies: Read more
Source§

impl<Root> CommitmentId for Schema<Root>
where Root: SchemaRoot,

Source§

const TAG: [u8; 32]

Source§

type Id = SchemaId

Type of the resulting commitment.
Source§

fn commitment_id(&self) -> Self::Id

Performs commitment to client-side-validated data
Source§

impl<Root> Debug for Schema<Root>
where Root: Debug + SchemaRoot,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<Root> Default for Schema<Root>
where Root: Default + SchemaRoot,

Source§

fn default() -> Schema<Root>

Returns the “default value” for a type. Read more
Source§

impl<'de, Root> Deserialize<'de> for Schema<Root>
where Root: SchemaRoot + Deserialize<'de>,

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<Schema<Root>, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<Root> Ord for Schema<Root>
where Root: SchemaRoot,

Source§

fn cmp(&self, other: &Schema<Root>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl<Root> PartialEq for Schema<Root>
where Root: SchemaRoot,

Source§

fn eq(&self, other: &Schema<Root>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<Root> PartialOrd for Schema<Root>
where Root: SchemaRoot,

Source§

fn partial_cmp(&self, other: &Schema<Root>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<Root> Serialize for Schema<Root>
where Root: SchemaRoot + Serialize,

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<Root> StrictDecode for Schema<Root>
where Root: SchemaRoot,

Source§

fn strict_decode( reader: &mut impl TypedRead, ) -> Result<Schema<Root>, DecodeError>

Source§

fn strict_read(lim: usize, reader: impl Read) -> Result<Self, DecodeError>

Source§

impl<Root> StrictDeserialize for Schema<Root>
where Root: SchemaRoot,

Source§

fn from_strict_serialized<const MAX: usize>( ast_data: Confined<Vec<u8>, 0, MAX>, ) -> Result<Self, DeserializeError>

Source§

fn strict_deserialize_from_file<const MAX: usize>( path: impl AsRef<Path>, ) -> Result<Self, DeserializeError>

Source§

impl<Root> StrictEncode for Schema<Root>
where Root: SchemaRoot,

Source§

fn strict_encode<W>(&self, writer: W) -> Result<W, Error>
where W: TypedWrite,

Source§

fn strict_write(&self, lim: usize, writer: impl Write) -> Result<usize, Error>

Source§

impl<Root> StrictSerialize for Schema<Root>
where Root: SchemaRoot,

Source§

impl<Root> StrictStruct for Schema<Root>
where Root: SchemaRoot,

Source§

impl<Root> StrictType for Schema<Root>
where Root: SchemaRoot,

Source§

const STRICT_LIB_NAME: &'static str = LIB_NAME_RGB

Source§

fn strict_name() -> Option<TypeName>

Source§

impl<Root> Eq for Schema<Root>
where Root: Eq + SchemaRoot,

Source§

impl<Root> StrictProduct for Schema<Root>
where Root: SchemaRoot,