singular-registry
LicenseApache-2.0
Safe HaskellNone
LanguageGHC2021

Singular.Registry.Wire.Redeemer

Description

What the registry scripts read as redeemers: the migration parameters, the minting redeemer, the per-request actions inside a modify, the spending redeemer — and the pinned-hook consumer redeemer, which is encode-only by construction. Reads Singular.Registry.Wire.Primitive and Singular.Registry.Wire.Proof; nothing here is importable by a caller — the public surface is the Singular.Registry.Types facade.

Synopsis

On-chain datum / redeemer wrappers

data Migration Source #

Migration parameters. Matches Aiken types/Migration.

Constructors

Migration 

Fields

Instances

Instances details
Show Migration Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

showsPrec :: Int -> Migration -> ShowS Source #

show :: Migration -> String Source #

showList :: [Migration] -> ShowS Source #

Eq Migration Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

(==) :: Migration -> Migration -> Bool Source #

(/=) :: Migration -> Migration -> Bool Source #

FromData Migration Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

fromBuiltinData :: BuiltinData -> Maybe Migration

ToData Migration Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

toBuiltinData :: Migration -> BuiltinData

UnsafeFromData Migration Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

unsafeFromBuiltinData :: BuiltinData -> Migration

data MintRedeemer Source #

Minting redeemer. Matches Aiken types/MintRedeemer.

The seed OutputReference that authorizes a fresh mint and derives the asset name is carried by the redeemer because the state validator is global and unparameterized.

Constructors

Minting !OnChainTxOutRef

Mint a new cage token (Constr 0)

Migrating !Migration

Migrate from old validator (Constr 1)

Burning !OnChainTokenId

Burn a cage token (Constr 2)

Instances

Instances details
Show MintRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

showsPrec :: Int -> MintRedeemer -> ShowS Source #

show :: MintRedeemer -> String Source #

showList :: [MintRedeemer] -> ShowS Source #

Eq MintRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

(==) :: MintRedeemer -> MintRedeemer -> Bool Source #

(/=) :: MintRedeemer -> MintRedeemer -> Bool Source #

FromData MintRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

fromBuiltinData :: BuiltinData -> Maybe MintRedeemer

ToData MintRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

toBuiltinData :: MintRedeemer -> BuiltinData

UnsafeFromData MintRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

unsafeFromBuiltinData :: BuiltinData -> MintRedeemer

data RequestAction Source #

Per-request action in a Modify redeemer. Matches Aiken types/RequestAction.

Constructors

Update ![ProofStep]

Update with Merkle proof (Constr 0)

Rejected

Reject expired request (Constr 1)

Instances

Instances details
Show RequestAction Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

showsPrec :: Int -> RequestAction -> ShowS Source #

show :: RequestAction -> String Source #

showList :: [RequestAction] -> ShowS Source #

Eq RequestAction Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

(==) :: RequestAction -> RequestAction -> Bool Source #

(/=) :: RequestAction -> RequestAction -> Bool Source #

FromData RequestAction Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

fromBuiltinData :: BuiltinData -> Maybe RequestAction

ToData RequestAction Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

toBuiltinData :: RequestAction -> BuiltinData

UnsafeFromData RequestAction Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

unsafeFromBuiltinData :: BuiltinData -> RequestAction

data UpdateRedeemer Source #

Spending redeemer. Matches Aiken types/UpdateRedeemer.

Sweep stateRef is refused for every party (operator ruling NOTE-028/A-003); the constructor stays for the wire shape.

Constructors

End

End the token (Constr 0)

Contribute !OnChainTxOutRef

Link a request to a state UTxO (Constr 1)

Modify ![RequestAction]

Process requests with mixed actions (Constr 2)

Retract !OnChainTxOutRef

Reclaim a pending request (Constr 3)

Sweep !OnChainTxOutRef

Reclaim a non-legitimate UTxO at the cage's address (Constr 4). Owner-signed.

Instances

Instances details
Show UpdateRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

showsPrec :: Int -> UpdateRedeemer -> ShowS Source #

show :: UpdateRedeemer -> String Source #

showList :: [UpdateRedeemer] -> ShowS Source #

Eq UpdateRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

(==) :: UpdateRedeemer -> UpdateRedeemer -> Bool Source #

(/=) :: UpdateRedeemer -> UpdateRedeemer -> Bool Source #

FromData UpdateRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

fromBuiltinData :: BuiltinData -> Maybe UpdateRedeemer

ToData UpdateRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

toBuiltinData :: UpdateRedeemer -> BuiltinData

UnsafeFromData UpdateRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

unsafeFromBuiltinData :: BuiltinData -> UpdateRedeemer

Pinned-hook consumer redeemer (NOTE-021)

data ConsumerRedeemer Source #

Pinned-hook consumer redeemer (NOTE-021): a nullary hook. The consumer authenticates the batch from the transaction's own evidence (spent state, request datums, naming claims, mint field) — the redeemer carries nothing because nothing caller-supplied is trusted. Encodes as Constr 0 [].

Constructors

Hook 

Instances

Instances details
Show ConsumerRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

showsPrec :: Int -> ConsumerRedeemer -> ShowS Source #

show :: ConsumerRedeemer -> String Source #

showList :: [ConsumerRedeemer] -> ShowS Source #

Eq ConsumerRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

(==) :: ConsumerRedeemer -> ConsumerRedeemer -> Bool Source #

(/=) :: ConsumerRedeemer -> ConsumerRedeemer -> Bool Source #

ToData ConsumerRedeemer Source # 
Instance details

Defined in Singular.Registry.Wire.Redeemer

Methods

toBuiltinData :: ConsumerRedeemer -> BuiltinData