Safe Haskell | None |
---|---|
Language | Haskell98 |
Shelley.Spec.Ledger.STS.Utxow
Synopsis
- data UTXOW era
- data UtxowPredicateFailure era
- = InvalidWitnessesUTXOW ![VKey 'Witness (Crypto era)]
- | MissingVKeyWitnessesUTXOW !(WitHashes (Crypto era))
- | MissingScriptWitnessesUTXOW !(Set (ScriptHash (Crypto era)))
- | ScriptWitnessNotValidatingUTXOW !(Set (ScriptHash (Crypto era)))
- | UtxoFailure (PredicateFailure (UTXO era))
- | MIRInsufficientGenesisSigsUTXOW (Set (KeyHash 'Witness (Crypto era)))
- | MissingTxBodyMetadataHash !(AuxiliaryDataHash (Crypto era))
- | MissingTxMetadata !(AuxiliaryDataHash (Crypto era))
- | ConflictingMetadataHash !(AuxiliaryDataHash (Crypto era)) !(AuxiliaryDataHash (Crypto era))
- | InvalidMetadata
- type family PredicateFailure a = (b :: Type) | b -> a
- utxoWitnessed :: forall era. (ShelleyBased era, ValidateScript era, ValidateAuxiliaryData era, STS (UTXOW era), BaseM (UTXOW era) ~ ShelleyBase, Embed (UTXO era) (UTXOW era), DSignable (Crypto era) (Hash (Crypto era) EraIndependentTxBody), Environment (UTXO era) ~ UtxoEnv era, State (UTXO era) ~ UTxOState era, Signal (UTXO era) ~ Tx era, Environment (UTXOW era) ~ UtxoEnv era, State (UTXOW era) ~ UTxOState era, Signal (UTXOW era) ~ Tx era, PredicateFailure (UTXOW era) ~ UtxowPredicateFailure era, HasField "inputs" (TxBody era) (Set (TxIn (Crypto era))), HasField "wdrls" (TxBody era) (Wdrl (Crypto era)), HasField "certs" (TxBody era) (StrictSeq (DCert (Crypto era))), HasField "adHash" (TxBody era) (StrictMaybe (AuxiliaryDataHash (Crypto era))), HasField "update" (TxBody era) (StrictMaybe (Update era))) => (UTxO era -> Tx era -> Set (ScriptHash (Crypto era))) -> TransitionRule (UTXOW era)
- initialLedgerStateUTXOW :: forall era. (Embed (UTXO era) (UTXOW era), Environment (UTXOW era) ~ UtxoEnv era, State (UTXOW era) ~ UTxOState era, Environment (UTXO era) ~ UtxoEnv era, State (UTXO era) ~ UTxOState era) => InitialRule (UTXOW era)
Documentation
Instances
data UtxowPredicateFailure era Source #
Constructors
InvalidWitnessesUTXOW ![VKey 'Witness (Crypto era)] | |
MissingVKeyWitnessesUTXOW !(WitHashes (Crypto era)) | |
MissingScriptWitnessesUTXOW !(Set (ScriptHash (Crypto era))) | |
ScriptWitnessNotValidatingUTXOW !(Set (ScriptHash (Crypto era))) | |
UtxoFailure (PredicateFailure (UTXO era)) | |
MIRInsufficientGenesisSigsUTXOW (Set (KeyHash 'Witness (Crypto era))) | |
MissingTxBodyMetadataHash !(AuxiliaryDataHash (Crypto era)) | |
MissingTxMetadata !(AuxiliaryDataHash (Crypto era)) | |
ConflictingMetadataHash !(AuxiliaryDataHash (Crypto era)) !(AuxiliaryDataHash (Crypto era)) | |
InvalidMetadata |
Instances
type family PredicateFailure a = (b :: Type) | b -> a Source #
Descriptive type for the possible failures which might cause a transition to fail.
As a convention, PredicateFailure
s which are "structural" (meaning that
they are not "throwable" in practice, and are used to pass control from
one transition rule to another) are prefixed with S_
.
Structural PredicateFailure
s represent conditions between rules where
the disjunction of all rules' preconditions is equal to True
. That is,
either one rule will throw a structural PredicateFailure
and the other
will succeed, or vice-versa.
Instances
utxoWitnessed :: forall era. (ShelleyBased era, ValidateScript era, ValidateAuxiliaryData era, STS (UTXOW era), BaseM (UTXOW era) ~ ShelleyBase, Embed (UTXO era) (UTXOW era), DSignable (Crypto era) (Hash (Crypto era) EraIndependentTxBody), Environment (UTXO era) ~ UtxoEnv era, State (UTXO era) ~ UTxOState era, Signal (UTXO era) ~ Tx era, Environment (UTXOW era) ~ UtxoEnv era, State (UTXOW era) ~ UTxOState era, Signal (UTXOW era) ~ Tx era, PredicateFailure (UTXOW era) ~ UtxowPredicateFailure era, HasField "inputs" (TxBody era) (Set (TxIn (Crypto era))), HasField "wdrls" (TxBody era) (Wdrl (Crypto era)), HasField "certs" (TxBody era) (StrictSeq (DCert (Crypto era))), HasField "adHash" (TxBody era) (StrictMaybe (AuxiliaryDataHash (Crypto era))), HasField "update" (TxBody era) (StrictMaybe (Update era))) => (UTxO era -> Tx era -> Set (ScriptHash (Crypto era))) -> TransitionRule (UTXOW era) Source #
initialLedgerStateUTXOW :: forall era. (Embed (UTXO era) (UTXOW era), Environment (UTXOW era) ~ UtxoEnv era, State (UTXOW era) ~ UTxOState era, Environment (UTXO era) ~ UtxoEnv era, State (UTXO era) ~ UTxOState era) => InitialRule (UTXOW era) Source #