hydra-node-0.21.0: The Hydra node
Safe HaskellSafe-Inferred
LanguageGHC2021

Hydra.Ledger.Cardano

Synopsis

Documentation

adjustUTxO :: Tx -> UTxO -> UTxO Source #

Utility function to "adjust" a UTxO' set given a Tx

The inputs from the Tx are removed from the internal map of the UTxO' and the outputs added, correctly indexed by the TxIn. This function is useful to manually maintain a UTxO' set without caring too much about the Ledger rules.

fromChainSlot :: ChainSlot -> SlotNo Source #

Simple conversion from a generic slot to a specific local one.

cardanoLedger :: Globals -> LedgerEnv LedgerEra -> Ledger Tx Source #

Use the cardano-ledger as an in-hydra Ledger.

newLedgerEnv :: PParams LedgerEra -> LedgerEnv LedgerEra Source #

Create a new ledger env from given protocol parameters.

mkTransferTx :: MonadFail m => NetworkId -> UTxO -> SigningKey PaymentKey -> VerificationKey PaymentKey -> m Tx Source #

Build a zero-fee transaction which spends the first output owned by given signing key and transfers it in full to given verification key.

mkSimpleTx Source #

Arguments

:: (TxIn, TxOut CtxUTxO) 
-> (AddressInEra, Value)

Recipient address and amount.

-> SigningKey PaymentKey

Sender's signing key.

-> Either TxBodyError Tx 

Build a zero-fee payment transaction.

mkRangedTx Source #

Arguments

:: (TxIn, TxOut CtxUTxO) 
-> (AddressInEra, Value)

Recipient address and amount.

-> SigningKey PaymentKey

Sender's signing key.

-> (Maybe TxValidityLowerBound, Maybe TxValidityUpperBound) 
-> Either TxBodyError Tx 

Create a zero-fee, payment cardano transaction with validity range.

genSequenceOfSimplePaymentTransactions :: Gen (UTxO, [Tx]) Source #

Generates a sequence of simple "transfer" transactions for a single key.

data ShelleyGenesis #

Constructors

ShelleyGenesis 

Fields

Instances

Instances details
FromJSON ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

parseJSON :: Value -> Parser ShelleyGenesis

parseJSONList :: Value -> Parser [ShelleyGenesis]

omittedField :: Maybe ShelleyGenesis

ToJSON ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Generic ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Associated Types

type Rep ShelleyGenesis :: Type -> Type Source #

Show ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

FromCBOR ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

ToCBOR ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

toCBOR :: ShelleyGenesis -> Encoding

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy ShelleyGenesis -> Size

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [ShelleyGenesis] -> Size

DecCBOR ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

decCBOR :: Decoder s ShelleyGenesis

dropCBOR :: Proxy ShelleyGenesis -> Decoder s ()

label :: Proxy ShelleyGenesis -> Text

EncCBOR ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

encCBOR :: ShelleyGenesis -> Encoding

encodedSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy ShelleyGenesis -> Size

encodedListSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy [ShelleyGenesis] -> Size

Eq ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

NoThunks ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

noThunks :: Context -> ShelleyGenesis -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> ShelleyGenesis -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy ShelleyGenesis -> String

type Rep ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

type Rep ShelleyGenesis = D1 ('MetaData "ShelleyGenesis" "Cardano.Ledger.Shelley.Genesis" "cardano-ledger-shelley-1.16.0.0-3UFUiHyPcKY8P0kPzevIqP" 'False) (C1 ('MetaCons "ShelleyGenesis" 'PrefixI 'True) (((S1 ('MetaSel ('Just "sgSystemStart") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UTCTime) :*: (S1 ('MetaSel ('Just "sgNetworkMagic") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word32) :*: S1 ('MetaSel ('Just "sgNetworkId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Network))) :*: ((S1 ('MetaSel ('Just "sgActiveSlotsCoeff") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PositiveUnitInterval) :*: S1 ('MetaSel ('Just "sgSecurityParam") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 (NonZero Word64))) :*: (S1 ('MetaSel ('Just "sgEpochLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 EpochSize) :*: S1 ('MetaSel ('Just "sgSlotsPerKESPeriod") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64)))) :*: (((S1 ('MetaSel ('Just "sgMaxKESEvolutions") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: S1 ('MetaSel ('Just "sgSlotLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NominalDiffTimeMicro)) :*: (S1 ('MetaSel ('Just "sgUpdateQuorum") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: S1 ('MetaSel ('Just "sgMaxLovelaceSupply") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64))) :*: ((S1 ('MetaSel ('Just "sgProtocolParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PParams ShelleyEra)) :*: S1 ('MetaSel ('Just "sgGenDelegs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'Genesis) GenDelegPair))) :*: (S1 ('MetaSel ('Just "sgInitialFunds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap Addr Coin)) :*: S1 ('MetaSel ('Just "sgStaking") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShelleyGenesisStaking))))))

data Globals #

Instances

Instances details
Generic Globals 
Instance details

Defined in Cardano.Ledger.BaseTypes

Associated Types

type Rep Globals :: Type -> Type Source #

Show Globals 
Instance details

Defined in Cardano.Ledger.BaseTypes

DecCBOR Pulser 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Methods

decCBOR :: Decoder s Pulser

dropCBOR :: Proxy Pulser -> Decoder s ()

label :: Proxy Pulser -> Text

EncCBOR Pulser 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Methods

encCBOR :: Pulser -> Encoding

encodedSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy Pulser -> Size

encodedListSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy [Pulser] -> Size

NFData Globals 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnf :: Globals -> () Source #

NFData Pulser 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Methods

rnf :: Pulser -> () Source #

NoThunks Globals 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

noThunks :: Context -> Globals -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> Globals -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy Globals -> String

NoThunks Pulser 
Instance details

Defined in Cardano.Ledger.Shelley.RewardUpdate

Methods

noThunks :: Context -> Pulser -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> Pulser -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy Pulser -> String

type Rep Globals 
Instance details

Defined in Cardano.Ledger.BaseTypes

type Rep Globals = D1 ('MetaData "Globals" "Cardano.Ledger.BaseTypes" "cardano-ledger-core-1.17.0.0-H80ffcybpZ0FnMbibSeh4D" 'False) (C1 ('MetaCons "Globals" 'PrefixI 'True) (((S1 ('MetaSel ('Just "epochInfo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (EpochInfo (Either Text))) :*: S1 ('MetaSel ('Just "slotsPerKESPeriod") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64)) :*: (S1 ('MetaSel ('Just "stabilityWindow") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: (S1 ('MetaSel ('Just "randomnessStabilisationWindow") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: S1 ('MetaSel ('Just "securityParameter") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 (NonZero Word64))))) :*: ((S1 ('MetaSel ('Just "maxKESEvo") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: (S1 ('MetaSel ('Just "quorum") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: S1 ('MetaSel ('Just "maxLovelaceSupply") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64))) :*: (S1 ('MetaSel ('Just "activeSlotCoeff") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ActiveSlotCoeff) :*: (S1 ('MetaSel ('Just "networkId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Network) :*: S1 ('MetaSel ('Just "systemStart") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SystemStart))))))

data LedgerEnv era #

Instances

Instances details
Generic (LedgerEnv era) 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Ledger

Associated Types

type Rep (LedgerEnv era) :: Type -> Type Source #

Methods

from :: LedgerEnv era -> Rep (LedgerEnv era) x Source #

to :: Rep (LedgerEnv era) x -> LedgerEnv era Source #

Show (PParams era) => Show (LedgerEnv era) 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Ledger

EraPParams era => EncCBOR (LedgerEnv era) 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Ledger

Methods

encCBOR :: LedgerEnv era -> Encoding

encodedSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy (LedgerEnv era) -> Size

encodedListSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy [LedgerEnv era] -> Size

NFData (PParams era) => NFData (LedgerEnv era) 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Ledger

Methods

rnf :: LedgerEnv era -> () Source #

Eq (PParams era) => Eq (LedgerEnv era) 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Ledger

Methods

(==) :: LedgerEnv era -> LedgerEnv era -> Bool Source #

(/=) :: LedgerEnv era -> LedgerEnv era -> Bool Source #

type Rep (LedgerEnv era) 
Instance details

Defined in Cardano.Ledger.Shelley.Rules.Ledger

type Rep (LedgerEnv era) = D1 ('MetaData "LedgerEnv" "Cardano.Ledger.Shelley.Rules.Ledger" "cardano-ledger-shelley-1.16.0.0-3UFUiHyPcKY8P0kPzevIqP" 'False) (C1 ('MetaCons "LedgerEnv" 'PrefixI 'True) ((S1 ('MetaSel ('Just "ledgerSlotNo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SlotNo) :*: S1 ('MetaSel ('Just "ledgerEpochNo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe EpochNo))) :*: (S1 ('MetaSel ('Just "ledgerIx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxIx) :*: (S1 ('MetaSel ('Just "ledgerPp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PParams era)) :*: S1 ('MetaSel ('Just "ledgerAccount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AccountState)))))

type Tx = Tx Era #

Orphan instances

Arbitrary (Hash PaymentKey) Source # 
Instance details

Methods

arbitrary :: Gen (Hash PaymentKey)

shrink :: Hash PaymentKey -> [Hash PaymentKey]