Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data AlonzoUTXO era
- data AlonzoUtxoPredFailure era
- = BadInputsUTxO !(Set (TxIn (EraCrypto era)))
- | OutsideValidityIntervalUTxO !ValidityInterval !SlotNo
- | MaxTxSizeUTxO !Integer !Integer
- | InputSetEmptyUTxO
- | FeeTooSmallUTxO !Coin !Coin
- | ValueNotConservedUTxO !(Value era) !(Value era)
- | WrongNetwork !Network !(Set (Addr (EraCrypto era)))
- | WrongNetworkWithdrawal !Network !(Set (RewardAccount (EraCrypto era)))
- | OutputTooSmallUTxO ![TxOut era]
- | UtxosFailure (PredicateFailure (EraRule "UTXOS" era))
- | OutputBootAddrAttrsTooBig ![TxOut era]
- | TriesToForgeADA
- | OutputTooBigUTxO ![(Integer, Integer, TxOut era)]
- | InsufficientCollateral !DeltaCoin !Coin
- | ScriptsNotPaidUTxO !(UTxO era)
- | ExUnitsTooBigUTxO !ExUnits !ExUnits
- | CollateralContainsNonADA !(Value era)
- | WrongNetworkInTxBody !Network !Network
- | OutsideForecast !SlotNo
- | TooManyCollateralInputs !Natural !Natural
- | NoCollateralInputs
- allegraToAlonzoUtxoPredFailure ∷ ∀ t era. (EraRuleFailure "PPUP" era ~ t era, InjectRuleFailure "UTXOS" t era) ⇒ AllegraUtxoPredFailure era → AlonzoUtxoPredFailure era
- newtype AlonzoUtxoEvent era = UtxosEvent (Event (EraRule "UTXOS" era))
- validateCollateralContainsNonADA ∷ (Foldable f, EraTxOut era) ⇒ f (TxOut era) → Test (AlonzoUtxoPredFailure era)
- validateExUnitsTooBigUTxO ∷ (AlonzoEraTxWits era, EraTx era, AlonzoEraPParams era) ⇒ PParams era → Tx era → Test (AlonzoUtxoPredFailure era)
- validateOutputTooBigUTxO ∷ (EraTxOut era, AlonzoEraPParams era, Foldable f) ⇒ PParams era → f (TxOut era) → Test (AlonzoUtxoPredFailure era)
- validateInsufficientCollateral ∷ (EraTxBody era, AlonzoEraPParams era) ⇒ PParams era → TxBody era → DeltaCoin → Test (AlonzoUtxoPredFailure era)
- validateOutsideForecast ∷ (MaryEraTxBody era, AlonzoEraTxWits era, EraTx era) ⇒ EpochInfo (Either a) → SlotNo → SystemStart → Tx era → Test (AlonzoUtxoPredFailure era)
- validateScriptsNotPaidUTxO ∷ EraTxOut era ⇒ Map (TxIn (EraCrypto era)) (TxOut era) → Test (AlonzoUtxoPredFailure era)
- validateTooManyCollateralInputs ∷ AlonzoEraTxBody era ⇒ PParams era → TxBody era → Test (AlonzoUtxoPredFailure era)
- validateWrongNetworkInTxBody ∷ AlonzoEraTxBody era ⇒ Network → TxBody era → Test (AlonzoUtxoPredFailure era)
- vKeyLocked ∷ EraTxOut era ⇒ TxOut era → Bool
Documentation
data AlonzoUTXO era Source #
Instances
data AlonzoUtxoPredFailure era Source #
BadInputsUTxO !(Set (TxIn (EraCrypto era))) | The bad transaction inputs |
OutsideValidityIntervalUTxO | |
| |
MaxTxSizeUTxO | |
InputSetEmptyUTxO | |
FeeTooSmallUTxO | |
ValueNotConservedUTxO | |
WrongNetwork | the set of addresses with incorrect network IDs |
WrongNetworkWithdrawal | |
| |
OutputTooSmallUTxO ![TxOut era] | list of supplied transaction outputs that are too small |
UtxosFailure (PredicateFailure (EraRule "UTXOS" era)) | Subtransition Failures |
OutputBootAddrAttrsTooBig ![TxOut era] | list of supplied bad transaction outputs |
TriesToForgeADA | |
OutputTooBigUTxO ![(Integer, Integer, TxOut era)] | list of supplied bad transaction output triples (actualSize,PParameterMaxValue,TxOut) |
InsufficientCollateral | |
ScriptsNotPaidUTxO !(UTxO era) | The UTxO entries which have the wrong kind of script |
ExUnitsTooBigUTxO | |
CollateralContainsNonADA !(Value era) | The inputs marked for use as fees contain non-ADA tokens |
WrongNetworkInTxBody | Wrong Network ID in body |
OutsideForecast !SlotNo | slot number outside consensus forecast range |
TooManyCollateralInputs | There are too many collateral inputs |
NoCollateralInputs |
Instances
allegraToAlonzoUtxoPredFailure ∷ ∀ t era. (EraRuleFailure "PPUP" era ~ t era, InjectRuleFailure "UTXOS" t era) ⇒ AllegraUtxoPredFailure era → AlonzoUtxoPredFailure era Source #
newtype AlonzoUtxoEvent era Source #
UtxosEvent (Event (EraRule "UTXOS" era)) |
Instances
validateCollateralContainsNonADA ∷ (Foldable f, EraTxOut era) ⇒ f (TxOut era) → Test (AlonzoUtxoPredFailure era) Source #
validateExUnitsTooBigUTxO ∷ (AlonzoEraTxWits era, EraTx era, AlonzoEraPParams era) ⇒ PParams era → Tx era → Test (AlonzoUtxoPredFailure era) Source #
Ensure that execution units to not exceed the maximum allowed maxTxExUnits
parameter.
totExunits tx ≤ maxTxExUnits pp
validateOutputTooBigUTxO ∷ (EraTxOut era, AlonzoEraPParams era, Foldable f) ⇒ PParams era → f (TxOut era) → Test (AlonzoUtxoPredFailure era) Source #
validateInsufficientCollateral ∷ (EraTxBody era, AlonzoEraPParams era) ⇒ PParams era → TxBody era → DeltaCoin → Test (AlonzoUtxoPredFailure era) Source #
validateOutsideForecast Source #
∷ (MaryEraTxBody era, AlonzoEraTxWits era, EraTx era) | |
⇒ EpochInfo (Either a) | |
→ SlotNo | Current slot number |
→ SystemStart | |
→ Tx era | |
→ Test (AlonzoUtxoPredFailure era) |
If tx has non-native scripts, end of validity interval must translate to time
(_,i_f) := txvldt tx ◇ ∉ { txrdmrs tx, i_f } ⇒ epochInfoSlotToUTCTime epochInfo systemTime i_f ≠ ◇
validateScriptsNotPaidUTxO ∷ EraTxOut era ⇒ Map (TxIn (EraCrypto era)) (TxOut era) → Test (AlonzoUtxoPredFailure era) Source #
validateTooManyCollateralInputs ∷ AlonzoEraTxBody era ⇒ PParams era → TxBody era → Test (AlonzoUtxoPredFailure era) Source #
Ensure that number of collaterals does not exceed the allowed maxCollInputs
parameter.
‖collateral tx‖ ≤ maxCollInputs pp
validateWrongNetworkInTxBody ∷ AlonzoEraTxBody era ⇒ Network → TxBody era → Test (AlonzoUtxoPredFailure era) Source #
Ensure if NetworkId is present in the txbody it matches the global NetworkId
(txnetworkid txb = NetworkId) ∨ (txnetworkid txb = ◇)