hydra-tx-0.22.0: Hydra transaction library
Safe HaskellSafe-Inferred
LanguageGHC2021

Hydra.Tx.Deposit

Synopsis

Construction

depositTx Source #

Arguments

:: NetworkId 
-> HeadId 
-> CommitBlueprintTx Tx 
-> SlotNo

Slot to use as upper validity. Will mark the time of creation of the deposit.

-> UTCTime

Deposit deadline from which onward the deposit can be recovered.

-> Tx 

Builds a deposit transaction to lock funds into the v_deposit script.

mkDepositOutput :: NetworkId -> HeadId -> UTxO -> UTCTime -> TxOut ctx Source #

depositAddress :: NetworkId -> AddressInEra Source #

Observation

data DepositObservation Source #

Constructors

DepositObservation 

Fields

Instances

Instances details
FromJSON DepositObservation Source # 
Instance details

Defined in Hydra.Tx.Deposit

ToJSON DepositObservation Source # 
Instance details

Defined in Hydra.Tx.Deposit

Generic DepositObservation Source # 
Instance details

Defined in Hydra.Tx.Deposit

Associated Types

type Rep DepositObservation :: Type -> Type Source #

Show DepositObservation Source # 
Instance details

Defined in Hydra.Tx.Deposit

Eq DepositObservation Source # 
Instance details

Defined in Hydra.Tx.Deposit

type Rep DepositObservation Source # 
Instance details

Defined in Hydra.Tx.Deposit

type Rep DepositObservation = D1 ('MetaData "DepositObservation" "Hydra.Tx.Deposit" "hydra-tx-0.22.0-F0GpoikV7lPBPp4VCs3iEf" 'False) (C1 ('MetaCons "DepositObservation" 'PrefixI 'True) ((S1 ('MetaSel ('Just "headId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HeadId) :*: S1 ('MetaSel ('Just "depositTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxId)) :*: (S1 ('MetaSel ('Just "deposited") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UTxO) :*: (S1 ('MetaSel ('Just "created") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SlotNo) :*: S1 ('MetaSel ('Just "deadline") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UTCTime)))))

observeDepositTx :: NetworkId -> Tx -> Maybe DepositObservation Source #

Observe a deposit transaction by decoding the target head id, deposit deadline and deposited utxo in the datum.

This includes checking whether - the first output is a deposit output - all inputs of deposited utxo are actually spent, - the deposit script output actually contains the deposited value, - an upper validity bound has been set (used as creation slot).

observeDepositTxOut :: Network -> TxOut CtxUTxO -> Maybe (HeadId, UTxO, POSIXTime) Source #