| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Test.Cardano.Ledger.Examples.STSTestUtils
Synopsis
- class EraTest era ⇒ EraModel era where
- applyTx ∷ Int → SlotNo → Model era → Tx 'TopTx era → Model era
- applyCert ∷ Model era → TxCert era → Model era
- mkRedeemersFromTags ∷ [((PlutusPurposeTag, Word32), (Data era, ExUnits))] → Redeemers era
- mkRedeemers ∷ [(PlutusPurpose AsIx era, (Data era, ExUnits))] → Redeemers era
- newScriptIntegrityHash ∷ PParams era → [Language] → Redeemers era → TxDats era → StrictMaybe ScriptIntegrityHash
- mkPlutusPurposePointer ∷ PlutusPurposeTag → Word32 → PlutusPurpose AsIx era
- always ∷ Natural → Script era
- never ∷ Natural → Script era
- collateralReturnTxBodyT ∷ Lens' (TxBody 'TopTx era) (StrictMaybe (TxOut era))
- validTxOut ∷ Map ScriptHash (Script era) → TxOut era → Bool
- data PlutusPurposeTag
- initUTxO ∷ (AllegraEraScript era, AlonzoEraTxOut era, EraModel era) ⇒ UTxO era
- mkGenesisTxIn ∷ HasCallStack ⇒ Integer → TxIn
- mkTxDats ∷ Era era ⇒ Data era → TxDats era
- mkSingleRedeemer ∷ AlonzoEraScript era ⇒ PlutusPurpose AsIx era → Data era → Redeemers era
- someAddr ∷ Addr
- someKeys ∷ KeyPair 'Payment
- someScriptAddr ∷ EraScript era ⇒ Script era → Addr
- testBBODY ∷ (HasCallStack, Eq (State (EraRule "LEDGERS" era)), ToExpr (PredicateFailure (EraRule "BBODY" era)), ToExpr (State (EraRule "LEDGERS" era)), BaseM (EraRule "BBODY" era) ~ ShelleyBase, Environment (EraRule "BBODY" era) ~ BbodyEnv era, State (EraRule "BBODY" era) ~ ShelleyBbodyState era, Signal (EraRule "BBODY" era) ~ Block BHeaderView era, STS (EraRule "BBODY" era)) ⇒ ShelleyBbodyState era → Block BHeaderView era → Either (NonEmpty (PredicateFailure (EraRule "BBODY" era))) (ShelleyBbodyState era) → PParams era → Expectation
- runLEDGER ∷ (BaseM (EraRule "LEDGER" era) ~ ShelleyBase, STS (EraRule "LEDGER" era), Environment (EraRule "LEDGER" era) ~ LedgerEnv era, State (EraRule "LEDGER" era) ~ LedgerState era, Tx 'TopTx era ~ Signal (EraRule "LEDGER" era)) ⇒ LedgerState era → PParams era → Tx 'TopTx era → Either (NonEmpty (PredicateFailure (EraRule "LEDGER" era))) (State (EraRule "LEDGER" era))
- testUTXOW ∷ (Reflect era, HasCallStack, ShelleyEraTest era, BaseM (EraRule "UTXOW" era) ~ ShelleyBase, Environment (EraRule "UTXOW" era) ~ UtxoEnv era, STS (EraRule "UTXOW" era), Tx 'TopTx era ~ Signal (EraRule "UTXOW" era), State (EraRule "UTXOW" era) ~ UTxOState era, ToExpr (PredicateFailure (EraRule "UTXOW" era))) ⇒ UTxO era → PParams era → Tx 'TopTx era → Either (NonEmpty (PredicateFailure (EraRule "UTXOW" era))) (State (EraRule "UTXOW" era)) → Expectation
- testUTXOWsubset ∷ (Reflect era, BaseM (EraRule "UTXOW" era) ~ ShelleyBase, Environment (EraRule "UTXOW" era) ~ UtxoEnv era, State (EraRule "UTXOW" era) ~ UTxOState era, Tx 'TopTx era ~ Signal (EraRule "UTXOW" era), STS (EraRule "UTXOW" era), ToExpr (PredicateFailure (EraRule "UTXOW" era)), ShelleyEraTest era) ⇒ UTxO era → PParams era → Tx 'TopTx era → Either (NonEmpty (PredicateFailure (EraRule "UTXOW" era))) (State (EraRule "UTXOW" era)) → Expectation
- testUTXOspecialCase ∷ (Reflect era, HasCallStack, BaseM (EraRule "UTXOW" era) ~ ShelleyBase, Environment (EraRule "UTXOW" era) ~ UtxoEnv era, State (EraRule "UTXOW" era) ~ UTxOState era, Tx 'TopTx era ~ Signal (EraRule "UTXOW" era), STS (EraRule "UTXOW" era)) ⇒ UTxO era → PParams era → Tx 'TopTx era → Either (NonEmpty (PredicateFailure (EraRule "UTXOW" era))) (State (EraRule "UTXOW" era)) → Expectation
- alwaysFailsHash ∷ (ShelleyEraScript era, EraModel era) ⇒ Natural → ScriptHash
- alwaysSucceedsHash ∷ (ShelleyEraScript era, EraModel era) ⇒ Natural → ScriptHash
- timelockScript ∷ AllegraEraScript era ⇒ SlotNo → Script era
- timelockHash ∷ AllegraEraScript era ⇒ SlotNo → ScriptHash
- timelockStakeCred ∷ AllegraEraScript era ⇒ Credential 'Staking
- genericCont ∷ (Eq (t x), Eq y, ToExpr y, HasCallStack, ToExpr (t x)) ⇒ String → Either (t x) y → Either (t x) y → Expectation
Documentation
class EraTest era ⇒ EraModel era where Source #
Minimal complete definition
applyTx, applyCert, always, never, collateralReturnTxBodyT, validTxOut
Methods
applyTx ∷ Int → SlotNo → Model era → Tx 'TopTx era → Model era Source #
applyCert ∷ Model era → TxCert era → Model era Source #
mkRedeemersFromTags ∷ [((PlutusPurposeTag, Word32), (Data era, ExUnits))] → Redeemers era Source #
mkRedeemers ∷ [(PlutusPurpose AsIx era, (Data era, ExUnits))] → Redeemers era Source #
newScriptIntegrityHash ∷ PParams era → [Language] → Redeemers era → TxDats era → StrictMaybe ScriptIntegrityHash Source #
mkPlutusPurposePointer ∷ PlutusPurposeTag → Word32 → PlutusPurpose AsIx era Source #
always ∷ Natural → Script era Source #
never ∷ Natural → Script era Source #
collateralReturnTxBodyT ∷ Lens' (TxBody 'TopTx era) (StrictMaybe (TxOut era)) Source #
validTxOut ∷ Map ScriptHash (Script era) → TxOut era → Bool Source #
Instances
data PlutusPurposeTag Source #
Instances
initUTxO ∷ (AllegraEraScript era, AlonzoEraTxOut era, EraModel era) ⇒ UTxO era Source #
mkGenesisTxIn ∷ HasCallStack ⇒ Integer → TxIn Source #
mkSingleRedeemer ∷ AlonzoEraScript era ⇒ PlutusPurpose AsIx era → Data era → Redeemers era Source #
testBBODY ∷ (HasCallStack, Eq (State (EraRule "LEDGERS" era)), ToExpr (PredicateFailure (EraRule "BBODY" era)), ToExpr (State (EraRule "LEDGERS" era)), BaseM (EraRule "BBODY" era) ~ ShelleyBase, Environment (EraRule "BBODY" era) ~ BbodyEnv era, State (EraRule "BBODY" era) ~ ShelleyBbodyState era, Signal (EraRule "BBODY" era) ~ Block BHeaderView era, STS (EraRule "BBODY" era)) ⇒ ShelleyBbodyState era → Block BHeaderView era → Either (NonEmpty (PredicateFailure (EraRule "BBODY" era))) (ShelleyBbodyState era) → PParams era → Expectation Source #
runLEDGER ∷ (BaseM (EraRule "LEDGER" era) ~ ShelleyBase, STS (EraRule "LEDGER" era), Environment (EraRule "LEDGER" era) ~ LedgerEnv era, State (EraRule "LEDGER" era) ~ LedgerState era, Tx 'TopTx era ~ Signal (EraRule "LEDGER" era)) ⇒ LedgerState era → PParams era → Tx 'TopTx era → Either (NonEmpty (PredicateFailure (EraRule "LEDGER" era))) (State (EraRule "LEDGER" era)) Source #
testUTXOW ∷ (Reflect era, HasCallStack, ShelleyEraTest era, BaseM (EraRule "UTXOW" era) ~ ShelleyBase, Environment (EraRule "UTXOW" era) ~ UtxoEnv era, STS (EraRule "UTXOW" era), Tx 'TopTx era ~ Signal (EraRule "UTXOW" era), State (EraRule "UTXOW" era) ~ UTxOState era, ToExpr (PredicateFailure (EraRule "UTXOW" era))) ⇒ UTxO era → PParams era → Tx 'TopTx era → Either (NonEmpty (PredicateFailure (EraRule "UTXOW" era))) (State (EraRule "UTXOW" era)) → Expectation Source #
Use an equality test on the expected and computed [PredicateFailure]
testUTXOWsubset ∷ (Reflect era, BaseM (EraRule "UTXOW" era) ~ ShelleyBase, Environment (EraRule "UTXOW" era) ~ UtxoEnv era, State (EraRule "UTXOW" era) ~ UTxOState era, Tx 'TopTx era ~ Signal (EraRule "UTXOW" era), STS (EraRule "UTXOW" era), ToExpr (PredicateFailure (EraRule "UTXOW" era)), ShelleyEraTest era) ⇒ UTxO era → PParams era → Tx 'TopTx era → Either (NonEmpty (PredicateFailure (EraRule "UTXOW" era))) (State (EraRule "UTXOW" era)) → Expectation Source #
Use a subset test on the expected and computed [PredicateFailure]
testUTXOspecialCase ∷ (Reflect era, HasCallStack, BaseM (EraRule "UTXOW" era) ~ ShelleyBase, Environment (EraRule "UTXOW" era) ~ UtxoEnv era, State (EraRule "UTXOW" era) ~ UTxOState era, Tx 'TopTx era ~ Signal (EraRule "UTXOW" era), STS (EraRule "UTXOW" era)) ⇒ UTxO era → PParams era → Tx 'TopTx era → Either (NonEmpty (PredicateFailure (EraRule "UTXOW" era))) (State (EraRule "UTXOW" era)) → Expectation Source #
Use a test where any two (ValidationTagMismatch x y) failures match regardless of x and y
alwaysFailsHash ∷ (ShelleyEraScript era, EraModel era) ⇒ Natural → ScriptHash Source #
alwaysSucceedsHash ∷ (ShelleyEraScript era, EraModel era) ⇒ Natural → ScriptHash Source #
timelockScript ∷ AllegraEraScript era ⇒ SlotNo → Script era Source #
timelockHash ∷ AllegraEraScript era ⇒ SlotNo → ScriptHash Source #
genericCont ∷ (Eq (t x), Eq y, ToExpr y, HasCallStack, ToExpr (t x)) ⇒ String → Either (t x) y → Either (t x) y → Expectation Source #
A small example of what a continuation for runSTS might look like