| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Test.Cardano.Ledger.Dijkstra.ImpTest
Contents
Synopsis
- module Test.Cardano.Ledger.Conway.ImpTest
- class (ConwayEraImp era, DijkstraEraTest era, InjectRuleFailure "LEDGER" DijkstraLedgerPredFailure era, InjectRuleFailure "LEDGER" EntitiesPredFailure era, InjectRuleFailure "LEDGER" SubEntitiesPredFailure era, InjectRuleFailure "LEDGER" DijkstraUtxoPredFailure era, InjectRuleFailure "LEDGER" DijkstraUtxowPredFailure era, InjectRuleFailure "MEMPOOL" DijkstraMempoolPredFailure era, InjectRuleFailure "MEMPOOL" DijkstraUtxoPredFailure era, InjectRuleFailure "LEDGER" DijkstraSubUtxoPredFailure era, InjectRuleFailure "LEDGER" DijkstraSubUtxowPredFailure era, Inject (NonEmpty (PredicateFailure (EraRule "MEMPOOL" era))) (ApplyTxError era)) ⇒ DijkstraEraImp era
- impDijkstraSatisfyNativeScript ∷ ∀ era (l ∷ TxLevel). (DijkstraEraImp era, NativeScript era ~ DijkstraNativeScript era) ⇒ Set (KeyHash 'Witness) → TxBody l era → NativeScript era → ImpTestM era (Maybe (Map (KeyHash 'Witness) (KeyPair 'Witness)))
- fixupSubTransactions ∷ (HasCallStack, DijkstraEraImp era) ⇒ Tx 'TopTx era → ImpTestM era (Tx 'TopTx era)
- balanceSubTransactions ∷ DijkstraEraImp era ⇒ Tx 'TopTx era → ImpTestM era (Tx 'TopTx era)
- switchTxToLegacyMode ∷ DijkstraEraImp era ⇒ Tx 'TopTx era → ImpTestM era (Tx 'TopTx era)
- mkTopTxWithSubTxs ∷ DijkstraEraImp era ⇒ [Tx 'SubTx era] → Tx 'TopTx era
- traverseSubTxs ∷ (Applicative m, EraTx era, DijkstraEraTxBody era) ⇒ (Tx 'SubTx era → m (Tx 'SubTx era)) → Tx 'TopTx era → m (Tx 'TopTx era)
- withPostFixupSubTxs ∷ (HasCallStack, DijkstraEraImp era) ⇒ (Tx 'SubTx era → ImpTestM era (Tx 'SubTx era)) → ImpTestM era a → ImpTestM era a
- submitFailingSubTx ∷ (HasCallStack, DijkstraEraImp era) ⇒ Tx 'SubTx era → NonEmpty (PredicateFailure (EraRule "LEDGER" era)) → ImpTestM era ()
Documentation
class (ConwayEraImp era, DijkstraEraTest era, InjectRuleFailure "LEDGER" DijkstraLedgerPredFailure era, InjectRuleFailure "LEDGER" EntitiesPredFailure era, InjectRuleFailure "LEDGER" SubEntitiesPredFailure era, InjectRuleFailure "LEDGER" DijkstraUtxoPredFailure era, InjectRuleFailure "LEDGER" DijkstraUtxowPredFailure era, InjectRuleFailure "MEMPOOL" DijkstraMempoolPredFailure era, InjectRuleFailure "MEMPOOL" DijkstraUtxoPredFailure era, InjectRuleFailure "LEDGER" DijkstraSubUtxoPredFailure era, InjectRuleFailure "LEDGER" DijkstraSubUtxowPredFailure era, Inject (NonEmpty (PredicateFailure (EraRule "MEMPOOL" era))) (ApplyTxError era)) ⇒ DijkstraEraImp era Source #
Instances
impDijkstraSatisfyNativeScript ∷ ∀ era (l ∷ TxLevel). (DijkstraEraImp era, NativeScript era ~ DijkstraNativeScript era) ⇒ Set (KeyHash 'Witness) → TxBody l era → NativeScript era → ImpTestM era (Maybe (Map (KeyHash 'Witness) (KeyPair 'Witness))) Source #
fixupSubTransactions ∷ (HasCallStack, DijkstraEraImp era) ⇒ Tx 'TopTx era → ImpTestM era (Tx 'TopTx era) Source #
balanceSubTransactions ∷ DijkstraEraImp era ⇒ Tx 'TopTx era → ImpTestM era (Tx 'TopTx era) Source #
switchTxToLegacyMode ∷ DijkstraEraImp era ⇒ Tx 'TopTx era → ImpTestM era (Tx 'TopTx era) Source #
mkTopTxWithSubTxs ∷ DijkstraEraImp era ⇒ [Tx 'SubTx era] → Tx 'TopTx era Source #
A top level transaction that nests the given sub-transactions and is otherwise empty.
traverseSubTxs ∷ (Applicative m, EraTx era, DijkstraEraTxBody era) ⇒ (Tx 'SubTx era → m (Tx 'SubTx era)) → Tx 'TopTx era → m (Tx 'TopTx era) Source #
Apply an effectful modification to every sub-transaction of a top level transaction.
Sub-transactions are keyed by their transaction id, so a modification that makes two of them equal keeps only the first.
withPostFixupSubTxs ∷ (HasCallStack, DijkstraEraImp era) ⇒ (Tx 'SubTx era → ImpTestM era (Tx 'SubTx era)) → ImpTestM era a → ImpTestM era a Source #
Apply a modification to every sub-transaction, after the given
fixup f has run, in order to provoke a failure that f otherwise
repairs.
The top level transaction is signed again afterwards, since sub-transactions are part of its body and modifying one invalidates its witnesses.
submitFailingSubTx ∷ (HasCallStack, DijkstraEraImp era) ⇒ Tx 'SubTx era → NonEmpty (PredicateFailure (EraRule "LEDGER" era)) → ImpTestM era () Source #
Submit a sub-transaction, nested in an otherwise empty top level transaction, that is expected to be rejected with exactly the given predicate failures.