pub trait PackageSchemaResolver {
// Required methods
fn lookup_schema(
&self,
schema_hash: &SchemaHash,
) -> Option<Rc<VersionedScryptoSchema>>;
fn resolve_type_kind(
&self,
type_identifier: &ScopedTypeId,
) -> Result<LocalTypeKind<ScryptoCustomSchema>, SchemaError>;
fn resolve_type_metadata(
&self,
type_identifier: &ScopedTypeId,
) -> Result<TypeMetadata, SchemaError>;
fn resolve_type_validation(
&self,
type_identifier: &ScopedTypeId,
) -> Result<TypeValidation<ScryptoCustomTypeValidation>, SchemaError>;
fn package_address(&self) -> PackageAddress;
}Required Methods§
fn lookup_schema( &self, schema_hash: &SchemaHash, ) -> Option<Rc<VersionedScryptoSchema>>
fn resolve_type_kind( &self, type_identifier: &ScopedTypeId, ) -> Result<LocalTypeKind<ScryptoCustomSchema>, SchemaError>
fn resolve_type_metadata( &self, type_identifier: &ScopedTypeId, ) -> Result<TypeMetadata, SchemaError>
fn resolve_type_validation( &self, type_identifier: &ScopedTypeId, ) -> Result<TypeValidation<ScryptoCustomTypeValidation>, SchemaError>
fn package_address(&self) -> PackageAddress
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".