cardano-ledger-dijkstra-0.5.0.0: Cardano ledger with nested transactions
Safe HaskellNone
LanguageHaskell2010

Test.Cardano.Ledger.Dijkstra.ImpTest

Synopsis

Documentation

mkTopTxWithSubTxs ∷ DijkstraEraImp era ⇒ [Tx 'SubTx era] → Tx 'TopTx era Source #

A top level transaction that nests the given sub-transactions and is otherwise empty.

distinctSubTxs ∷ DijkstraEraImp era ⇒ [Tx 'SubTx era] → ImpTestM era [Tx 'SubTx era] Source #

Give each sub-transaction a fresh input, so that otherwise identical sub-transactions get distinct transaction ids

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.

submitFailingMempoolTx ∷ (HasCallStack, DijkstraEraImp era) ⇒ Tx 'TopTx era → NonEmpty (DijkstraMempoolPredFailure era) → ImpTestM era () Source #

Submit a transaction through the mempool that is expected to be rejected with exactly the given predicate failures.

expectMempoolRejection ∷ (HasCallStack, DijkstraEraImp era) ⇒ Either (ApplyTxError era) a → NonEmpty (DijkstraMempoolPredFailure era) → ImpTestM era () Source #

Expect the result of a mempool submission to be a rejection with exactly the given predicate failures.

voteSubTx ∷ DijkstraEraImp era ⇒ Vote → Voter → GovActionId → Tx 'SubTx era Source #

A sub-transaction that casts a single vote.

declareTreasurySubTx ∷ DijkstraEraImp era ⇒ Coin → Tx 'SubTx era Source #

A sub-transaction that declares the given value as the current treasury value.

Orphan instances

AllegraEraImp DijkstraEra Source # 
Instance details

AlonzoEraImp DijkstraEra Source # 
Instance details

BabbageEraImp DijkstraEra Source # 
Instance details

ConwayEraImp DijkstraEra Source # 
Instance details

MaryEraImp DijkstraEra Source # 
Instance details

ShelleyEraImp DijkstraEra Source # 
Instance details

InjectRuleFailure "CERT" ShelleyDelegPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "CERTS" ShelleyDelegPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "DELEG" ShelleyDelegPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "ENTITIES" ShelleyDelegPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "LEDGER" DijkstraSubDelegPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "LEDGER" DijkstraSubGovPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "LEDGER" DijkstraSubLedgerPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "LEDGER" DijkstraSubUtxoPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "LEDGER" DijkstraSubUtxowPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "LEDGER" ShelleyDelegPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "SUBCERTS" DijkstraSubDelegPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "SUBENTITIES" DijkstraSubDelegPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "SUBLEDGER" DijkstraSubDelegPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "SUBLEDGER" DijkstraSubUtxoPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "SUBLEDGERS" DijkstraSubDelegPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "SUBLEDGERS" DijkstraSubGovPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "SUBLEDGERS" DijkstraSubUtxoPredFailure DijkstraEra Source # 
Instance details

InjectRuleFailure "SUBLEDGERS" DijkstraSubUtxowPredFailure DijkstraEra Source # 
Instance details