shelley-spec-ledger-0.1.0.0
Safe HaskellNone
LanguageHaskell98

Shelley.Spec.Ledger.Tx

Synopsis

Documentation

data Tx era Source #

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

Instances details
ShelleyBased era => Eq (Tx era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

Methods

(==) :: Tx era -> Tx era -> Bool #

(/=) :: Tx era -> Tx era -> Bool #

ShelleyBased era => Show (Tx era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

Methods

showsPrec :: Int -> Tx era -> ShowS #

show :: Tx era -> String #

showList :: [Tx era] -> ShowS #

Generic (Tx era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

Associated Types

type Rep (Tx era) :: Type -> Type #

Methods

from :: Tx era -> Rep (Tx era) x #

to :: Rep (Tx era) x -> Tx era #

ShelleyBased era => ToCBOR (Tx era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

Methods

toCBOR :: Tx era -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy (Tx era) -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [Tx era] -> Size Source #

(ShelleyBased era, ValidateScript era) => FromCBOR (Annotator (Tx era)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

Methods

fromCBOR :: Decoder s (Annotator (Tx era)) Source #

label :: Proxy (Annotator (Tx era)) -> Text Source #

ShelleyBased era => NoThunks (Tx era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

ShelleyBased era => HashAnnotated (Tx era) era Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

Associated Types

type HashIndex (Tx era) Source #

Methods

hashAnnotated :: Tx era -> Hash (HASH (Crypto era)) (HashIndex (Tx era)) Source #

type Rep (Tx era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

type Rep (Tx era) = D1 ('MetaData "Tx" "Shelley.Spec.Ledger.Tx" "shelley-spec-ledger-0.1.0.0-Is3EknyvW92LxCl96jGQVW" 'False) (C1 ('MetaCons "Tx'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_body'") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TxBody era)) :*: S1 ('MetaSel ('Just "_witnessSet'") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WitnessSet era))) :*: (S1 ('MetaSel ('Just "_metadata'") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe (AuxiliaryData era))) :*: S1 ('MetaSel ('Just "txFullBytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString))))
type HashIndex (Tx era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

newtype TxBody era Source #

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

Instances details
HasField "ttl" (TxBody era) SlotNo Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

getField :: TxBody era -> SlotNo #

HasField "txfee" (TxBody era) Coin Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

getField :: TxBody era -> Coin #

Crypto era ~ crypto => HasField "adHash" (TxBody era) (StrictMaybe (AuxiliaryDataHash crypto)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

getField :: TxBody era -> StrictMaybe (AuxiliaryDataHash crypto) #

Crypto era ~ crypto => HasField "certs" (TxBody era) (StrictSeq (DCert crypto)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

getField :: TxBody era -> StrictSeq (DCert crypto) #

Crypto era ~ crypto => HasField "inputs" (TxBody era) (Set (TxIn crypto)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

getField :: TxBody era -> Set (TxIn crypto) #

HasField "outputs" (TxBody era) (StrictSeq (TxOut era)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

getField :: TxBody era -> StrictSeq (TxOut era) #

HasField "update" (TxBody era) (StrictMaybe (Update era)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

getField :: TxBody era -> StrictMaybe (Update era) #

Crypto era ~ crypto => HasField "wdrls" (TxBody era) (Wdrl crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

getField :: TxBody era -> Wdrl crypto #

ProperVal era => Eq (TxBody era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

(==) :: TxBody era -> TxBody era -> Bool #

(/=) :: TxBody era -> TxBody era -> Bool #

ProperVal era => Show (TxBody era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

showsPrec :: Int -> TxBody era -> ShowS #

show :: TxBody era -> String #

showList :: [TxBody era] -> ShowS #

Generic (TxBody era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Associated Types

type Rep (TxBody era) :: Type -> Type #

Methods

from :: TxBody era -> Rep (TxBody era) x #

to :: Rep (TxBody era) x -> TxBody era #

Crypto (Crypto era) => NFData (TxBody era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

rnf :: TxBody era -> () #

Era era => ToCBOR (TxBody era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

toCBOR :: TxBody era -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy (TxBody era) -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [TxBody era] -> Size Source #

ProperFrom era => FromCBOR (Annotator (TxBody era)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Typeable era => NoThunks (TxBody era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Era era => HashAnnotated (TxBody era) era Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Associated Types

type HashIndex (TxBody era) Source #

Methods

hashAnnotated :: TxBody era -> Hash (HASH (Crypto era)) (HashIndex (TxBody era)) Source #

type Rep (TxBody era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

type Rep (TxBody era) = D1 ('MetaData "TxBody" "Shelley.Spec.Ledger.TxBody" "shelley-spec-ledger-0.1.0.0-Is3EknyvW92LxCl96jGQVW" 'True) (C1 ('MetaCons "TxBodyConstr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MemoBytes (TxBodyRaw era)))))
type HashIndex (TxBody era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

data TxOut era Source #

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

Instances details
HasField "outputs" (TxBody era) (StrictSeq (TxOut era)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

getField :: TxBody era -> StrictSeq (TxOut era) #

(Eq (Value era), Eq (CompactForm (Value era)), Compactible (Value era)) => Eq (TxOut era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

(==) :: TxOut era -> TxOut era -> Bool #

(/=) :: TxOut era -> TxOut era -> Bool #

(Show (Value era), Era era, Compactible (Value era)) => Show (TxOut era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

showsPrec :: Int -> TxOut era -> ShowS #

show :: TxOut era -> String #

showList :: [TxOut era] -> ShowS #

NFData (TxOut era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

rnf :: TxOut era -> () #

(Era era, ToCBOR (CompactForm (Value era)), Compactible (Value era)) => ToCBOR (TxOut era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

toCBOR :: TxOut era -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy (TxOut era) -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [TxOut era] -> Size Source #

(Era era, DecodeNonNegative (CompactForm (Value era)), Compactible (Value era)) => FromCBOR (TxOut era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

fromCBOR :: Decoder s (TxOut era) Source #

label :: Proxy (TxOut era) -> Text Source #

NoThunks (TxOut era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Crypto era ~ crypto => Embed (UTxO era) (Map (TxIn crypto) (TxOut era)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.UTxO

Methods

toBase :: UTxO era -> Map (TxIn crypto) (TxOut era) Source #

fromBase :: Map (TxIn crypto) (TxOut era) -> UTxO era Source #

Crypto era ~ crypto => HasExp (UTxO era) (Map (TxIn crypto) (TxOut era)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.UTxO

Methods

toExp :: UTxO era -> Exp (Map (TxIn crypto) (TxOut era)) Source #

data TxIn crypto Source #

The input of a UTxO.

Constructors

TxInCompact !(TxId crypto) !Word64 

Bundled Patterns

pattern TxIn :: Crypto crypto => TxId crypto -> Natural -> TxIn crypto 

Instances

Instances details
Crypto era ~ crypto => HasField "inputs" (TxBody era) (Set (TxIn crypto)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

getField :: TxBody era -> Set (TxIn crypto) #

Eq (TxIn crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

(==) :: TxIn crypto -> TxIn crypto -> Bool #

(/=) :: TxIn crypto -> TxIn crypto -> Bool #

Ord (TxIn crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

compare :: TxIn crypto -> TxIn crypto -> Ordering #

(<) :: TxIn crypto -> TxIn crypto -> Bool #

(<=) :: TxIn crypto -> TxIn crypto -> Bool #

(>) :: TxIn crypto -> TxIn crypto -> Bool #

(>=) :: TxIn crypto -> TxIn crypto -> Bool #

max :: TxIn crypto -> TxIn crypto -> TxIn crypto #

min :: TxIn crypto -> TxIn crypto -> TxIn crypto #

Show (TxIn crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

showsPrec :: Int -> TxIn crypto -> ShowS #

show :: TxIn crypto -> String #

showList :: [TxIn crypto] -> ShowS #

Generic (TxIn crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Associated Types

type Rep (TxIn crypto) :: Type -> Type #

Methods

from :: TxIn crypto -> Rep (TxIn crypto) x #

to :: Rep (TxIn crypto) x -> TxIn crypto #

Crypto crypto => NFData (TxIn crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

rnf :: TxIn crypto -> () #

Crypto crypto => ToCBOR (TxIn crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

toCBOR :: TxIn crypto -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy (TxIn crypto) -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [TxIn crypto] -> Size Source #

Crypto crypto => FromCBOR (TxIn crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

fromCBOR :: Decoder s (TxIn crypto) Source #

label :: Proxy (TxIn crypto) -> Text Source #

NoThunks (TxIn crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Crypto era ~ crypto => Embed (UTxO era) (Map (TxIn crypto) (TxOut era)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.UTxO

Methods

toBase :: UTxO era -> Map (TxIn crypto) (TxOut era) Source #

fromBase :: Map (TxIn crypto) (TxOut era) -> UTxO era Source #

Crypto era ~ crypto => HasExp (UTxO era) (Map (TxIn crypto) (TxOut era)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.UTxO

Methods

toExp :: UTxO era -> Exp (Map (TxIn crypto) (TxOut era)) Source #

type Rep (TxIn crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

type Rep (TxIn crypto) = D1 ('MetaData "TxIn" "Shelley.Spec.Ledger.TxBody" "shelley-spec-ledger-0.1.0.0-Is3EknyvW92LxCl96jGQVW" 'False) (C1 ('MetaCons "TxInCompact" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 (TxId crypto)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word64)))

newtype TxId crypto Source #

A unique ID of a transaction, which is computable from the transaction.

Constructors

TxId 

Instances

Instances details
Eq (TxId crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

(==) :: TxId crypto -> TxId crypto -> Bool #

(/=) :: TxId crypto -> TxId crypto -> Bool #

Ord (TxId crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

compare :: TxId crypto -> TxId crypto -> Ordering #

(<) :: TxId crypto -> TxId crypto -> Bool #

(<=) :: TxId crypto -> TxId crypto -> Bool #

(>) :: TxId crypto -> TxId crypto -> Bool #

(>=) :: TxId crypto -> TxId crypto -> Bool #

max :: TxId crypto -> TxId crypto -> TxId crypto #

min :: TxId crypto -> TxId crypto -> TxId crypto #

Show (TxId crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

showsPrec :: Int -> TxId crypto -> ShowS #

show :: TxId crypto -> String #

showList :: [TxId crypto] -> ShowS #

Generic (TxId crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Associated Types

type Rep (TxId crypto) :: Type -> Type #

Methods

from :: TxId crypto -> Rep (TxId crypto) x #

to :: Rep (TxId crypto) x -> TxId crypto #

Crypto crypto => NFData (TxId crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

rnf :: TxId crypto -> () #

Crypto crypto => ToCBOR (TxId crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

toCBOR :: TxId crypto -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy (TxId crypto) -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [TxId crypto] -> Size Source #

Crypto crypto => FromCBOR (TxId crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

fromCBOR :: Decoder s (TxId crypto) Source #

label :: Proxy (TxId crypto) -> Text Source #

NoThunks (TxId crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

type Rep (TxId crypto) Source # 
Instance details

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))))

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

Instances details
(Era era, ChainData (Script era)) => Eq (WitnessSetHKD Identity era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

(Era era, ChainData (Script era)) => Show (WitnessSetHKD Identity era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

Era era => Generic (WitnessSetHKD Identity era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

Associated Types

type Rep (WitnessSetHKD Identity era) :: Type -> Type #

(Era era, AnnotatedData (Script era)) => Semigroup (WitnessSetHKD Identity era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

(Era era, AnnotatedData (Script era)) => Monoid (WitnessSetHKD Identity era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

Era era => ToCBOR (WitnessSetHKD Identity era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

(Era era, ChainData (Script era)) => NoThunks (WitnessSetHKD Identity era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

type Rep (WitnessSetHKD Identity era) Source # 
Instance details

Defined in Shelley.Spec.Ledger.Tx

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

Instances details
(Typeable kr, Crypto crypto) => FromCBOR (Annotator (WitVKey kr crypto)) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

fromCBOR :: Decoder s (Annotator (WitVKey kr crypto)) Source #

label :: Proxy (Annotator (WitVKey kr crypto)) -> Text Source #

Crypto crypto => Eq (WitVKey kr crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

(==) :: WitVKey kr crypto -> WitVKey kr crypto -> Bool #

(/=) :: WitVKey kr crypto -> WitVKey kr crypto -> Bool #

(Typeable kr, Crypto crypto) => Ord (WitVKey kr crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

compare :: WitVKey kr crypto -> WitVKey kr crypto -> Ordering #

(<) :: WitVKey kr crypto -> WitVKey kr crypto -> Bool #

(<=) :: WitVKey kr crypto -> WitVKey kr crypto -> Bool #

(>) :: WitVKey kr crypto -> WitVKey kr crypto -> Bool #

(>=) :: WitVKey kr crypto -> WitVKey kr crypto -> Bool #

max :: WitVKey kr crypto -> WitVKey kr crypto -> WitVKey kr crypto #

min :: WitVKey kr crypto -> WitVKey kr crypto -> WitVKey kr crypto #

Crypto crypto => Show (WitVKey kr crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

showsPrec :: Int -> WitVKey kr crypto -> ShowS #

show :: WitVKey kr crypto -> String #

showList :: [WitVKey kr crypto] -> ShowS #

Generic (WitVKey kr crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Associated Types

type Rep (WitVKey kr crypto) :: Type -> Type #

Methods

from :: WitVKey kr crypto -> Rep (WitVKey kr crypto) x #

to :: Rep (WitVKey kr crypto) x -> WitVKey kr crypto #

(Typeable kr, Crypto crypto) => ToCBOR (WitVKey kr crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

toCBOR :: WitVKey kr crypto -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy (WitVKey kr crypto) -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [WitVKey kr crypto] -> Size Source #

(Crypto crypto, Typeable kr) => NoThunks (WitVKey kr crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

Methods

noThunks :: Context -> WitVKey kr crypto -> IO (Maybe ThunkInfo) Source #

wNoThunks :: Context -> WitVKey kr crypto -> IO (Maybe ThunkInfo) Source #

showTypeOf :: Proxy (WitVKey kr crypto) -> String Source #

type Rep (WitVKey kr crypto) Source # 
Instance details

Defined in Shelley.Spec.Ledger.TxBody

type Rep (WitVKey kr crypto) = D1 ('MetaData "WitVKey" "Shelley.Spec.Ledger.TxBody" "shelley-spec-ledger-0.1.0.0-Is3EknyvW92LxCl96jGQVW" 'False) (C1 ('MetaCons "WitVKey'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "wvkKey'") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (VKey kr crypto)) :*: S1 ('MetaSel ('Just "wvkSig'") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (SignedDSIGN crypto (Hash crypto EraIndependentTxBody)))) :*: (S1 ('MetaSel ('Just "wvkKeyHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash 'Witness crypto)) :*: S1 ('MetaSel ('Just "wvkBytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString))))

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

Instances details
(Crypto c, TxBodyConstraints (ShelleyEra c)) => ValidateScript (ShelleyEra c) Source # 
Instance details

Defined in Cardano.Ledger.Shelley

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 #

addrWits' :: WitnessSetHKD f era -> HKD f (Set (WitVKey 'Witness (Crypto era))) 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.