Safe Haskell | None |
---|---|
Language | Haskell98 |
Shelley.Spec.Ledger.Tx
Synopsis
- data Tx era where
- Tx' !(TxBody era) !(WitnessSet era) !(StrictMaybe (AuxiliaryData era)) ByteString
- pattern Tx :: (TxBodyConstraints era, ToCBOR (AuxiliaryData era)) => TxBody era -> WitnessSet era -> StrictMaybe (AuxiliaryData era) -> Tx era
- newtype TxBody era where
- data TxOut era where
- TxOutCompact !(CompactAddr (Crypto era)) !(CompactForm (Value era))
- pattern TxOut :: (HasCallStack, ShelleyBased era) => Addr (Crypto era) -> Value era -> TxOut era
- data TxIn crypto where
- newtype TxId crypto = TxId {
- _unTxId :: Hash crypto EraIndependentTxBody
- decodeWits :: forall era s. (TxBodyConstraints era, AnnotatedData (Script era), ValidateScript era) => Decoder s (Annotator (WitnessSet era))
- segwitTx :: (TxBodyConstraints era, ToCBOR (AuxiliaryData era)) => Annotator (TxBody era) -> Annotator (WitnessSet era) -> Maybe (Annotator (AuxiliaryData era)) -> Annotator (Tx era)
- type WitnessSet = WitnessSetHKD Identity
- data WitnessSetHKD f era where
- pattern WitnessSet :: (Era era, AnnotatedData (Script era)) => Set (WitVKey 'Witness (Crypto era)) -> Map (ScriptHash (Crypto era)) (Script era) -> Set (BootstrapWitness (Crypto era)) -> WitnessSet era
- data WitVKey kr crypto where
- pattern WitVKey :: (Typeable kr, Crypto crypto) => VKey kr crypto -> SignedDSIGN crypto (Hash crypto EraIndependentTxBody) -> WitVKey kr crypto
- class (Era era, ToCBOR (Script era)) => ValidateScript era where
- validateScript :: Script era -> Tx era -> Bool
- hashScript :: Script era -> ScriptHash (Crypto era)
- txwitsScript :: (TxBodyConstraints era, ToCBOR (AuxiliaryData era)) => Tx era -> Map (ScriptHash (Crypto era)) (Script era)
- extractKeyHashWitnessSet :: forall (r :: KeyRole) crypto. [Credential r crypto] -> Set (KeyHash 'Witness crypto)
- addrWits' :: WitnessSetHKD f era -> HKD f (Set (WitVKey 'Witness (Crypto era)))
- evalNativeMultiSigScript :: Crypto crypto => MultiSig crypto -> Set (KeyHash 'Witness crypto) -> Bool
- hashMultiSigScript :: Crypto crypto => MultiSig crypto -> ScriptHash crypto
- validateNativeMultiSigScript :: (TxBodyConstraints era, ToCBOR (AuxiliaryData era)) => MultiSig (Crypto era) -> Tx era -> Bool
Documentation
A fully formed transaction.
Constructors
Tx' !(TxBody era) !(WitnessSet era) !(StrictMaybe (AuxiliaryData era)) ByteString |
Bundled Patterns
pattern Tx :: (TxBodyConstraints era, ToCBOR (AuxiliaryData era)) => TxBody era -> WitnessSet era -> StrictMaybe (AuxiliaryData era) -> Tx era |
Instances
Constructors
TxBodyConstr (MemoBytes (TxBodyRaw era)) |
Bundled Patterns
pattern TxBody :: ProperTo era => Set (TxIn (Crypto era)) -> StrictSeq (TxOut era) -> StrictSeq (DCert (Crypto era)) -> Wdrl (Crypto era) -> Coin -> SlotNo -> StrictMaybe (Update era) -> StrictMaybe (AuxiliaryDataHash (Crypto era)) -> TxBody era | Pattern for use by external users |
Instances
The output of a UTxO.
Constructors
TxOutCompact !(CompactAddr (Crypto era)) !(CompactForm (Value era)) |
Bundled Patterns
pattern TxOut :: (HasCallStack, ShelleyBased era) => Addr (Crypto era) -> Value era -> TxOut era |
Instances
HasField "outputs" (TxBody era) (StrictSeq (TxOut era)) Source # | |
(Eq (Value era), Eq (CompactForm (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 (CompactForm (Value era)), Compactible (Value era)) => ToCBOR (TxOut era) Source # | |
(Era era, DecodeNonNegative (CompactForm (Value era)), Compactible (Value era)) => FromCBOR (TxOut era) Source # | |
NoThunks (TxOut era) Source # | |
Crypto era ~ crypto => Embed (UTxO era) (Map (TxIn crypto) (TxOut era)) Source # | |
Crypto era ~ crypto => HasExp (UTxO era) (Map (TxIn crypto) (TxOut era)) Source # | |
The input of a UTxO.
Constructors
TxInCompact !(TxId crypto) !Word64 |
Instances
A unique ID of a transaction, which is computable from the transaction.
Constructors
TxId | |
Fields
|
Instances
Eq (TxId crypto) Source # | |
Ord (TxId crypto) Source # | |
Defined in Shelley.Spec.Ledger.TxBody | |
Show (TxId crypto) Source # | |
Generic (TxId crypto) Source # | |
Crypto crypto => NFData (TxId crypto) Source # | |
Defined in Shelley.Spec.Ledger.TxBody | |
Crypto crypto => ToCBOR (TxId crypto) Source # | |
Crypto crypto => FromCBOR (TxId crypto) Source # | |
NoThunks (TxId crypto) Source # | |
type Rep (TxId crypto) Source # | |
Defined in Shelley.Spec.Ledger.TxBody type Rep (TxId crypto) = D1 ('MetaData "TxId" "Shelley.Spec.Ledger.TxBody" "shelley-spec-ledger-0.1.0.0-Is3EknyvW92LxCl96jGQVW" 'True) (C1 ('MetaCons "TxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Hash crypto EraIndependentTxBody)))) |
decodeWits :: forall era s. (TxBodyConstraints era, AnnotatedData (Script era), ValidateScript era) => Decoder s (Annotator (WitnessSet era)) Source #
segwitTx :: (TxBodyConstraints era, ToCBOR (AuxiliaryData era)) => Annotator (TxBody era) -> Annotator (WitnessSet era) -> Maybe (Annotator (AuxiliaryData era)) -> 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 (Crypto era)) -> Map (ScriptHash (Crypto era)) (Script era) -> Set (BootstrapWitness (Crypto era)) -> WitnessSet era |
Instances
data WitVKey kr crypto where Source #
Proof/Witness that a transaction is authorized by the given key holder.
Bundled Patterns
pattern WitVKey :: (Typeable kr, Crypto crypto) => VKey kr crypto -> SignedDSIGN crypto (Hash crypto EraIndependentTxBody) -> WitVKey kr crypto |
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 (Crypto era) Source #
Instances
(Crypto c, TxBodyConstraints (ShelleyEra c)) => ValidateScript (ShelleyEra c) Source # | |
Defined in Cardano.Ledger.Shelley Methods validateScript :: Script (ShelleyEra c) -> Tx (ShelleyEra c) -> Bool Source # hashScript :: Script (ShelleyEra c) -> ScriptHash (Crypto (ShelleyEra c)) Source # |
txwitsScript :: (TxBodyConstraints era, ToCBOR (AuxiliaryData era)) => Tx era -> Map (ScriptHash (Crypto era)) (Script era) Source #
Multi-signature script witness accessor function for Transactions
extractKeyHashWitnessSet :: forall (r :: KeyRole) crypto. [Credential r crypto] -> Set (KeyHash 'Witness crypto) Source #
evalNativeMultiSigScript :: Crypto crypto => MultiSig crypto -> Set (KeyHash 'Witness crypto) -> Bool Source #
Script evaluator for native multi-signature scheme. vhks
is the set of
key hashes that signed the transaction to be validated.
hashMultiSigScript :: Crypto crypto => MultiSig crypto -> ScriptHash crypto Source #
Hashes native multi-signature script.
validateNativeMultiSigScript :: (TxBodyConstraints era, ToCBOR (AuxiliaryData era)) => MultiSig (Crypto era) -> Tx era -> Bool Source #
Script validator for native multi-signature scheme.