Safe Haskell | None |
---|---|
Language | Haskell98 |
Shelley.Spec.Ledger.Tx
Synopsis
- data Tx era where
- Tx' !(TxBody era) !(WitnessSet era) !(StrictMaybe MetaData) ByteString
- pattern Tx ∷ TxBodyConstraints era ⇒ TxBody era → WitnessSet era → StrictMaybe MetaData → Tx era
- newtype TxBody era where
- data TxOut era where
- TxOutCompact !(CompactAddr era) !(CompactForm (Value era))
- pattern TxOut ∷ ShelleyBased era ⇒ Addr era → Value era → TxOut era
- data TxIn era where
- newtype TxId era = TxId {
- _unTxId ∷ Hash (Crypto era) EraIndependentTxBody
- decodeWits ∷ ∀ era s. (TxBodyConstraints era, AnnotatedData (Script era), ValidateScript era) ⇒ Decoder s (Annotator (WitnessSet era))
- segwitTx ∷ TxBodyConstraints era ⇒ Annotator (TxBody era) → Annotator (WitnessSet era) → Maybe (Annotator MetaData) → Annotator (Tx era)
- type WitnessSet = WitnessSetHKD Identity
- data WitnessSetHKD f era where
- pattern WitnessSet ∷ (Era era, AnnotatedData (Script era)) ⇒ Set (WitVKey 'Witness era) → Map (ScriptHash era) (Script era) → Set (BootstrapWitness era) → WitnessSet era
- data WitVKey kr era where
- class (Era era, ToCBOR (Script era)) ⇒ ValidateScript era where
- validateScript ∷ Script era → Tx era → Bool
- hashScript ∷ Script era → ScriptHash era
- txwitsScript ∷ TxBodyConstraints era ⇒ Tx era → Map (ScriptHash era) (Script era)
- extractKeyHashWitnessSet ∷ ∀ (r ∷ KeyRole) era. [Credential r era] → Set (KeyHash 'Witness (Crypto era))
- getKeyCombinations ∷ Era era ⇒ MultiSig era → [[KeyHash 'Witness (Crypto era)]]
- getKeyCombination ∷ Era era ⇒ MultiSig era → [KeyHash 'Witness (Crypto era)]
- addrWits' ∷ WitnessSetHKD f era → HKD f (Set (WitVKey 'Witness era))
- evalNativeMultiSigScript ∷ Era era ⇒ MultiSig era → Set (KeyHash 'Witness (Crypto era)) → Bool
- hashMultiSigScript ∷ Era era ⇒ MultiSig era → ScriptHash era
- validateNativeMultiSigScript ∷ TxBodyConstraints era ⇒ MultiSig era → Tx era → Bool
Documentation
A fully formed transaction.
Constructors
Tx' !(TxBody era) !(WitnessSet era) !(StrictMaybe MetaData) ByteString |
Bundled Patterns
pattern Tx ∷ TxBodyConstraints era ⇒ TxBody era → WitnessSet era → StrictMaybe MetaData → Tx era |
Instances
Bundled Patterns
pattern TxBody ∷ ProperTo era ⇒ Set (TxIn era) → StrictSeq (TxOut era) → StrictSeq (DCert era) → Wdrl era → Coin → SlotNo → StrictMaybe (Update era) → StrictMaybe (MetaDataHash era) → TxBody era | Pattern for use by external users |
Instances
The output of a UTxO.
Constructors
TxOutCompact !(CompactAddr era) !(CompactForm (Value era)) |
Bundled Patterns
pattern TxOut ∷ ShelleyBased era ⇒ Addr era → Value era → TxOut era |
Instances
HasField "outputs" (TxBody era) (StrictSeq (TxOut era)) Source # | |
(Eq (Value era), Compactible (Value era)) ⇒ Eq (TxOut era) Source # | |
(Show (Value era), Era era, Compactible (Value era)) ⇒ Show (TxOut era) Source # | |
NFData (TxOut era) Source # | |
Defined in Shelley.Spec.Ledger.TxBody | |
(Era era, ToCBOR (Value era), ToCBOR (CompactForm (Value era))) ⇒ ToCBOR (TxOut era) Source # | |
(Era era, FromCBOR (Value era), FromCBOR (CompactForm (Value era))) ⇒ FromCBOR (TxOut era) Source # | |
NoThunks (TxOut era) Source # | |
Embed (UTxO era) (Map (TxIn era) (TxOut era)) Source # | |
HasExp (UTxO era) (Map (TxIn era) (TxOut era)) Source # | |
The input of a UTxO.
Constructors
TxInCompact !(TxId era) !Word64 |
Instances
HasField "inputs" (TxBody e) (Set (TxIn e)) Source # | |
Eq (TxIn era) Source # | |
Ord (TxIn era) Source # | |
Defined in Shelley.Spec.Ledger.TxBody | |
Show (TxIn era) Source # | |
Generic (TxIn era) Source # | |
Era era ⇒ NFData (TxIn era) Source # | |
Defined in Shelley.Spec.Ledger.TxBody | |
Era era ⇒ ToCBOR (TxIn era) Source # | |
Era era ⇒ FromCBOR (TxIn era) Source # | |
NoThunks (TxIn era) Source # | |
Embed (UTxO era) (Map (TxIn era) (TxOut era)) Source # | |
HasExp (UTxO era) (Map (TxIn era) (TxOut era)) Source # | |
type Rep (TxIn era) Source # | |
Defined in Shelley.Spec.Ledger.TxBody type Rep (TxIn era) = D1 ('MetaData "TxIn" "Shelley.Spec.Ledger.TxBody" "shelley-spec-ledger-0.1.0.0-inplace" 'False) (C1 ('MetaCons "TxInCompact" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (TxId era)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word64))) |
A unique ID of a transaction, which is computable from the transaction.
Constructors
TxId | |
Fields
|
Instances
Eq (TxId era) Source # | |
Ord (TxId era) Source # | |
Defined in Shelley.Spec.Ledger.TxBody | |
Show (TxId era) Source # | |
Generic (TxId era) Source # | |
Era era ⇒ NFData (TxId era) Source # | |
Defined in Shelley.Spec.Ledger.TxBody | |
Era era ⇒ ToCBOR (TxId era) Source # | |
Era era ⇒ FromCBOR (TxId era) Source # | |
NoThunks (TxId era) Source # | |
type Rep (TxId era) Source # | |
Defined in Shelley.Spec.Ledger.TxBody type Rep (TxId era) = D1 ('MetaData "TxId" "Shelley.Spec.Ledger.TxBody" "shelley-spec-ledger-0.1.0.0-inplace" 'True) (C1 ('MetaCons "TxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Hash (Crypto era) EraIndependentTxBody)))) |
decodeWits ∷ ∀ era s. (TxBodyConstraints era, AnnotatedData (Script era), ValidateScript era) ⇒ Decoder s (Annotator (WitnessSet era)) Source #
segwitTx ∷ TxBodyConstraints era ⇒ Annotator (TxBody era) → Annotator (WitnessSet era) → Maybe (Annotator MetaData) → Annotator (Tx era) Source #
type WitnessSet = WitnessSetHKD Identity Source #
data WitnessSetHKD f era where Source #
Bundled Patterns
pattern WitnessSet ∷ (Era era, AnnotatedData (Script era)) ⇒ Set (WitVKey 'Witness era) → Map (ScriptHash era) (Script era) → Set (BootstrapWitness era) → WitnessSet era |
Instances
data WitVKey kr era where Source #
Proof/Witness that a transaction is authorized by the given key holder.
Bundled Patterns
pattern WitVKey ∷ (Typeable kr, Era era) ⇒ VKey kr (Crypto era) → SignedDSIGN (Crypto era) (Hash (Crypto era) EraIndependentTxBody) → WitVKey kr era |
Instances
class (Era era, ToCBOR (Script era)) ⇒ ValidateScript era where Source #
Typeclass for multis-signature script data types. Allows for script validation and hashing.
Methods
validateScript ∷ Script era → Tx era → Bool Source #
hashScript ∷ Script era → ScriptHash era Source #
Instances
(Crypto c, TxBodyConstraints (ShelleyEra c)) ⇒ ValidateScript (ShelleyEra c) Source # | instance of MultiSignatureScript type class |
Defined in Shelley.Spec.Ledger.Tx Methods validateScript ∷ Script (ShelleyEra c) → Tx (ShelleyEra c) → Bool Source # hashScript ∷ Script (ShelleyEra c) → ScriptHash (ShelleyEra c) Source # |
txwitsScript ∷ TxBodyConstraints era ⇒ Tx era → Map (ScriptHash era) (Script era) Source #
Multi-signature script witness accessor function for Transactions
extractKeyHashWitnessSet ∷ ∀ (r ∷ KeyRole) era. [Credential r era] → Set (KeyHash 'Witness (Crypto era)) Source #
getKeyCombinations ∷ Era era ⇒ MultiSig era → [[KeyHash 'Witness (Crypto era)]] Source #
Get all valid combinations of keys for given multi signature. This is mainly useful for testing.
getKeyCombination ∷ Era era ⇒ MultiSig era → [KeyHash 'Witness (Crypto era)] Source #
Get one possible combination of keys for multi signature script
evalNativeMultiSigScript ∷ Era era ⇒ MultiSig era → Set (KeyHash 'Witness (Crypto era)) → Bool Source #
Script evaluator for native multi-signature scheme. vhks
is the set of
key hashes that signed the transaction to be validated.
hashMultiSigScript ∷ Era era ⇒ MultiSig era → ScriptHash era Source #
Hashes native multi-signature script.
validateNativeMultiSigScript ∷ TxBodyConstraints era ⇒ MultiSig era → Tx era → Bool Source #
Script validator for native multi-signature scheme.