fn schema() -> Schema {
Schema {
ffv: zero!(),
subset_of: None,
type_system: types.type_system(),
global_types: tiny_bmap! {
GS_NOMINAL => GlobalStateSchema::once(types.get("RGBContract.Nominal")),
GS_CONTRACT => GlobalStateSchema::once(types.get("RGBContract.ContractText")),
},
owned_types: tiny_bmap! {
OS_ASSETS => StateSchema::Fungible(FungibleType::Unsigned64Bit),
},
valency_types: none!(),
genesis: GenesisSchema {
metadata: Ty::<SemId>::UNIT.id(None),
globals: tiny_bmap! {
GS_NOMINAL => Occurrences::Once,
GS_CONTRACT => Occurrences::Once,
},
assignments: tiny_bmap! {
OS_ASSETS => Occurrences::OnceOrMore,
},
valencies: none!(),
},
extensions: none!(),
transitions: tiny_bmap! {
TS_TRANSFER => TransitionSchema {
metadata: Ty::<SemId>::UNIT.id(None),
globals: none!(),
inputs: tiny_bmap! {
OS_ASSETS => Occurrences::OnceOrMore
},
assignments: tiny_bmap! {
OS_ASSETS => Occurrences::OnceOrMore
},
valencies: none!(),
}
},
script: Script::AluVM(AluScript {
libs: confined_bmap! { alu_id => alu_lib },
entry_points: confined_bmap! {
EntryPoint::ValidateOwnedState(OS_ASSETS) => LibSite::with(0, alu_id)
},
}),
}
}