The description of the data shape of a validator parameter, datum or redemeer.
For user types, the schema should generally be PlutusDataSchema.derived as opposed to manually assembled.
If assembled directly, it should be compliant with https://cips.cardano.org/cip/CIP-57.
Namely, composite types should be represented as DataType.Constructors, with properly indexed fields, tuples of arity >3 should be DataType.Lists with respective items, and pairs should be DataType.PairBuiltin. See BlueprintTest for derivation examples and expectations.
Attributes
- See also
-
DataType for type description
Data for more info about onchain data types
- Note
-
the types described by these schemas are used as datums, redeemers and parameters. As such, only onchain data should be described by
PlutusDataSchema. Therefore, attempting to derive schemas for types that cannot be on chain will lead to compile time errors. Generally, if one can derive scalus.builtin.Data.FromData for a type, one can also do so for the schema. If one cannot derive scalus.builtin.Data.FromData, it means that the type cannot exist on chain, and therefore should not be described withPlutusDataSchema - Companion
- object
- Graph
-
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any