scalus.cardano.blueprint
Members list
Type members
Classlikes
A CIP-57 compliant description of a set of validators.
A CIP-57 compliant description of a set of validators.
Each validator description contains schemas PlutusDataSchema of the datum and redeemer formats expected by the contracts.
Attributes
- See also
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
CompilerInfo.type
A single-contract blueprint provider.
A single-contract blueprint provider.
Extend this in an object that defines one compiled contract with its blueprint. The compiler plugin discovers implementations and the blueprint sbt task prints the JSON.
object MyContract extends Contract {
private given Options = Options.release
lazy val compiled = PlutusV3.compile(MyValidator.validate)
lazy val blueprint = Blueprint.plutusV3[Datum, Redeemer](
title = "My Contract",
description = "...",
version = "1.0.0",
license = None,
compiled = compiled
)
}
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- object
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Type class for types that can provide a TypeDescription for CIP-57 blueprints.
Type class for types that can provide a TypeDescription for CIP-57 blueprints.
Instances of this type class are used to generate datum, redeemer, and parameter schemas in Blueprint validators.
Type parameters
- A
-
the type that can be described
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
HasTypeDescription.type
The description of the data shape of a validator parameter, datum or redemeer.
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
scalus.uplc.builtin.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.uplc.builtin.FromData for a type, one can also do so for the schema. If one cannot derive scalus.uplc.builtin.FromData, it means that the type cannot exist on chain, and therefore should not be described withPlutusDataSchema - Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
PlutusDataSchema.type
An object that holds blueprint metadata. Does not include information about contracts and instead contains apps title and description, compiler information, plutus version used, etc.
An object that holds blueprint metadata. Does not include information about contracts and instead contains apps title and description, compiler information, plutus version used, etc.
For applications that only have 1 validator, the preamble data may repeat that of the validator.
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Describes a type for CIP-57 blueprint schemas.
Describes a type for CIP-57 blueprint schemas.
Contains metadata about a type (title, description, purpose) along with its PlutusDataSchema that describes the Plutus Data encoding.
Value parameters
- description
-
optional description of the type
- purpose
-
optional purpose (spend, mint, withdraw, publish)
- schema
-
the Plutus Data schema for the type
- title
-
optional title for the type
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
TypeDescription.type
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all