1mod iface;
27mod iimpl;
28mod contract;
29mod builder;
30pub mod rgb20;
31pub mod rgb21;
32pub mod rgb25;
33mod suppl;
34
35pub use builder::{BuilderError, ContractBuilder, TransitionBuilder};
36pub use contract::{ContractIface, FungibleAllocation, OutpointFilter, TypedState};
37pub use iface::{
38 ArgMap, ArgSpec, AssignIface, ExtensionIface, GenesisIface, GlobalIface, Iface, IfaceId,
39 OwnedIface, Req, TransitionIface, ValencyIface,
40};
41pub use iimpl::{IfaceImpl, IfacePair, ImplId, NamedField, NamedType, SchemaIfaces};
42pub use rgb20::{rgb20, rgb20_stl, Rgb20, LIB_ID_RGB20, LIB_NAME_RGB20};
43pub use rgb21::{rgb21, rgb21_stl, Rgb21, LIB_ID_RGB21, LIB_NAME_RGB21};
44pub use rgb25::{rgb25, rgb25_stl, Rgb25, LIB_ID_RGB25, LIB_NAME_RGB25};
45pub use suppl::{ContractSuppl, OwnedStateSuppl, SupplId, TickerSuppl, VelocityHint};
46
47#[derive(Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug, Display, Default)]
48#[derive(StrictType, StrictEncode, StrictDecode)]
49#[strict_type(lib = crate::LIB_NAME_RGB_STD, tags = repr, into_u8, try_from_u8)]
50#[cfg_attr(
51 feature = "serde",
52 derive(Serialize, Deserialize),
53 serde(crate = "serde_crate", rename_all = "camelCase")
54)]
55#[repr(u8)]
56#[non_exhaustive]
57pub enum VerNo {
58 #[default]
59 #[display("v1")]
60 V1 = 0,
61}