| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Cardano.Ledger.Dijkstra.Tx
Contents
Synopsis
- data DijkstraTx (l ∷ TxLevel) era where
- DijkstraTx ∷ ∀ era. {..} → DijkstraTx 'TopTx era
- DijkstraSubTx ∷ ∀ era. {..} → DijkstraTx 'SubTx era
- data family Tx (l ∷ TxLevel) era
- class AlonzoEraTx era ⇒ DijkstraEraTx era where
- hashTx ∷ Tx 'TopTx era → SafeHash EraIndependentTx
- data DijkstraStAnnTx (l ∷ TxLevel) era where
- DijkstraStAnnTopTx ∷ ∀ era. {..} → DijkstraStAnnTx 'TopTx era
- DijkstraStAnnSubTx ∷ ∀ era. {..} → DijkstraStAnnTx 'SubTx era
- validateDijkstraNativeScript ∷ ∀ era (l ∷ TxLevel). (EraTx era, DijkstraEraTxBody era, DijkstraEraScript era, NativeScript era ~ DijkstraNativeScript era) ⇒ Tx l era → NativeScript era → Bool
- decodeDijkstraTopTx ∷ EraTx era ⇒ Decoder s (Annotator (DijkstraTx 'TopTx era))
- decodeDijkstraTopTxInBlock ∷ EraTx era ⇒ Decoder s (Annotator (DijkstraTx 'TopTx era))
- toCBORForBlockInclusion ∷ AlonzoEraTx era ⇒ Tx 'TopTx era → Encoding
Documentation
data DijkstraTx (l ∷ TxLevel) era where Source #
Constructors
| DijkstraTx | |
Fields
| |
| DijkstraSubTx | |
Fields
| |
Instances
data family Tx (l ∷ TxLevel) era Source #
Instances
class AlonzoEraTx era ⇒ DijkstraEraTx era where Source #
Typeclass for Dijkstra era transactions that require a deterministic, encoding-independent transaction hash — i.e. a hash that is stable regardless of how the transaction was serialized. This is needed, for example, by the Leios protocol to unambiguously identify transactions across nodes.
Methods
hashTx ∷ Tx 'TopTx era → SafeHash EraIndependentTx Source #
Compute a stable hash that covers the full transaction content: body,
witnesses, auxiliary data, and phase-2 validity flag. Unlike txId, which
only hashes the bytes of the transaction body, this hash should uniquely
identify the complete transaction.
Instances
| DijkstraEraTx DijkstraEra Source # | Hash all four Dijkstra transaction components deterministically. The hash is |
Defined in Cardano.Ledger.Dijkstra.Tx Methods hashTx ∷ Tx 'TopTx DijkstraEra → SafeHash EraIndependentTx Source # | |
data DijkstraStAnnTx (l ∷ TxLevel) era where Source #
Constructors
| DijkstraStAnnTopTx | |
Fields
| |
| DijkstraStAnnSubTx | |
Fields
| |
Instances
| (EraTxLevel era, STxLevel 'SubTx era ~ STxBothLevels 'SubTx era, STxLevel 'TopTx era ~ STxBothLevels 'TopTx era) ⇒ HasEraTxLevel DijkstraStAnnTx era Source # | |
Defined in Cardano.Ledger.Dijkstra.Tx Methods toSTxLevel ∷ ∀ (l ∷ TxLevel). DijkstraStAnnTx l era → STxLevel l era Source # | |
| (DijkstraEraScript era, Show (Tx 'TopTx era), Show (Tx 'SubTx era), Show (ScriptsNeeded era), Show (ScriptsProvided era), Show (CollectError era), Show (TxInfoResult era)) ⇒ Show (DijkstraStAnnTx l era) Source # | |
Defined in Cardano.Ledger.Dijkstra.Tx Methods showsPrec ∷ Int → DijkstraStAnnTx l era → ShowS # show ∷ DijkstraStAnnTx l era → String # showList ∷ [DijkstraStAnnTx l era] → ShowS # | |
| (DijkstraEraScript era, Eq (Tx 'TopTx era), Eq (Tx 'SubTx era), Eq (ScriptsNeeded era), Eq (ScriptsProvided era), Eq (CollectError era), Eq (TxInfoResult era)) ⇒ Eq (DijkstraStAnnTx l era) Source # | |
Defined in Cardano.Ledger.Dijkstra.Tx Methods (==) ∷ DijkstraStAnnTx l era → DijkstraStAnnTx l era → Bool # (/=) ∷ DijkstraStAnnTx l era → DijkstraStAnnTx l era → Bool # | |
validateDijkstraNativeScript ∷ ∀ era (l ∷ TxLevel). (EraTx era, DijkstraEraTxBody era, DijkstraEraScript era, NativeScript era ~ DijkstraNativeScript era) ⇒ Tx l era → NativeScript era → Bool Source #
decodeDijkstraTopTx ∷ EraTx era ⇒ Decoder s (Annotator (DijkstraTx 'TopTx era)) Source #
Decode a top-level transaction in the mempool format:
[transaction_body, transaction_witness_set, auxiliary_data/ nil]. For
backwards compatibility the legacy
[transaction_body, transaction_witness_set, true, auxiliary_data/ nil]
format is also accepted, but only with the IsPhase2Valid flag set to True.
decodeDijkstraTopTxInBlock ∷ EraTx era ⇒ Decoder s (Annotator (DijkstraTx 'TopTx era)) Source #
Decode a top-level transaction in the format used inside a block body:
[transaction_body, transaction_witness_set, auxiliary_data/ nil, is_valid].
Unlike in the mempool format, the trailing IsPhase2Valid flag is mandatory
and can be False, since it is set by the block producer.
toCBORForBlockInclusion ∷ AlonzoEraTx era ⇒ Tx 'TopTx era → Encoding Source #
Encode to CBOR in the format used inside a block body:
[transaction_body, transaction_witness_set, auxiliary_data/ nil, is_valid].
The IsPhase2Valid flag is placed after the fields supplied by the
transaction author, since it is set by the block producer.
Orphan instances
| AlonzoEraTx DijkstraEra Source # | |||||||||||||
Methods isPhase2ValidTxL ∷ Lens' (Tx 'TopTx DijkstraEra) IsPhase2Valid Source # isValidTxL ∷ Lens' (Tx 'TopTx DijkstraEra) IsPhase2Valid Source # getTotalExUnits ∷ ∀ (l ∷ TxLevel). Tx l DijkstraEra → ExUnits Source # | |||||||||||||
| EraTx DijkstraEra Source # | |||||||||||||
Associated Types
Methods txStAnnTxG ∷ ∀ (l ∷ TxLevel). SimpleGetter (StAnnTx l DijkstraEra) (Tx l DijkstraEra) Source # cacheStAnnTxG ∷ ∀ (l ∷ TxLevel). SimpleGetter (StAnnTx l DijkstraEra) (StAnnTxCache DijkstraEra) Source # mkBasicTx ∷ ∀ (l ∷ TxLevel). TxBody l DijkstraEra → Tx l DijkstraEra Source # bodyTxL ∷ ∀ (l ∷ TxLevel). Lens' (Tx l DijkstraEra) (TxBody l DijkstraEra) Source # witsTxL ∷ ∀ (l ∷ TxLevel). Lens' (Tx l DijkstraEra) (TxWits DijkstraEra) Source # auxDataTxL ∷ ∀ (l ∷ TxLevel). Lens' (Tx l DijkstraEra) (StrictMaybe (TxAuxData DijkstraEra)) Source # sizeTxF ∷ ∀ (l ∷ TxLevel). HasCallStack ⇒ SimpleGetter (Tx l DijkstraEra) Word32 Source # sizeTxForFeeCalculation ∷ ∀ (l ∷ TxLevel). (HasCallStack, SafeToHash (TxWits DijkstraEra), Typeable l) ⇒ Tx l DijkstraEra → Word32 Source # validateNativeScript ∷ ∀ (l ∷ TxLevel). Tx l DijkstraEra → NativeScript DijkstraEra → Bool Source # getMinFeeTx ∷ ∀ (l ∷ TxLevel). PParams DijkstraEra → Tx l DijkstraEra → Int → Coin Source # | |||||||||||||
| HasEraTxLevel Tx DijkstraEra Source # | |||||||||||||
Methods toSTxLevel ∷ ∀ (l ∷ TxLevel). Tx l DijkstraEra → STxLevel l DijkstraEra Source # | |||||||||||||
| Typeable l ⇒ DecCBOR (Annotator (Tx l DijkstraEra)) Source # | |||||||||||||
| (FromJSON (TxBody 'SubTx DijkstraEra), FromJSON (TxWits DijkstraEra), FromJSON (TxAuxData DijkstraEra)) ⇒ FromJSON (Tx 'SubTx DijkstraEra) Source # | |||||||||||||
Methods parseJSON ∷ Value → Parser (Tx 'SubTx DijkstraEra) Source # parseJSONList ∷ Value → Parser [Tx 'SubTx DijkstraEra] Source # omittedField ∷ Maybe (Tx 'SubTx DijkstraEra) Source # | |||||||||||||
| (FromJSON (TxBody 'TopTx DijkstraEra), FromJSON (TxWits DijkstraEra), FromJSON (TxAuxData DijkstraEra)) ⇒ FromJSON (Tx 'TopTx DijkstraEra) Source # | |||||||||||||
Methods parseJSON ∷ Value → Parser (Tx 'TopTx DijkstraEra) Source # parseJSONList ∷ Value → Parser [Tx 'TopTx DijkstraEra] Source # omittedField ∷ Maybe (Tx 'TopTx DijkstraEra) Source # | |||||||||||||
| (ToJSON (TxBody 'SubTx DijkstraEra), ToJSON (TxWits DijkstraEra), ToJSON (TxAuxData DijkstraEra)) ⇒ ToJSON (Tx 'SubTx DijkstraEra) Source # | |||||||||||||
Methods toJSON ∷ Tx 'SubTx DijkstraEra → Value Source # toEncoding ∷ Tx 'SubTx DijkstraEra → Encoding Source # toJSONList ∷ [Tx 'SubTx DijkstraEra] → Value Source # toEncodingList ∷ [Tx 'SubTx DijkstraEra] → Encoding Source # | |||||||||||||
| (ToJSON (TxBody 'TopTx DijkstraEra), ToJSON (TxWits DijkstraEra), ToJSON (TxAuxData DijkstraEra)) ⇒ ToJSON (Tx 'TopTx DijkstraEra) Source # | |||||||||||||
Methods toJSON ∷ Tx 'TopTx DijkstraEra → Value Source # toEncoding ∷ Tx 'TopTx DijkstraEra → Encoding Source # toJSONList ∷ [Tx 'TopTx DijkstraEra] → Value Source # toEncodingList ∷ [Tx 'TopTx DijkstraEra] → Encoding Source # | |||||||||||||
| Typeable l ⇒ ToCBOR (Tx l DijkstraEra) Source # | |||||||||||||
| EncCBOR (Tx l DijkstraEra) Source # | |||||||||||||
| EqRaw (Tx l DijkstraEra) Source # | |||||||||||||
Methods eqRaw ∷ Tx l DijkstraEra → Tx l DijkstraEra → Bool Source # | |||||||||||||
| NFData (Tx l DijkstraEra) Source # | |||||||||||||
Methods rnf ∷ Tx l DijkstraEra → () # | |||||||||||||
| Generic (Tx l DijkstraEra) Source # | |||||||||||||
Associated Types
Methods from ∷ Tx l DijkstraEra → Rep (Tx l DijkstraEra) x # to ∷ Rep (Tx l DijkstraEra) x → Tx l DijkstraEra # | |||||||||||||
| Show (Tx l DijkstraEra) Source # | |||||||||||||
| Eq (Tx l DijkstraEra) Source # | |||||||||||||
Methods (==) ∷ Tx l DijkstraEra → Tx l DijkstraEra → Bool # (/=) ∷ Tx l DijkstraEra → Tx l DijkstraEra → Bool # | |||||||||||||
| Typeable l ⇒ NoThunks (Tx l DijkstraEra) Source # | |||||||||||||