Safe Haskell | None |
---|---|
Language | Haskell2010 |
Plutus.ChainIndex
Synopsis
- runChainIndexEffects :: RunRequirements -> Eff '[ ChainIndexQueryEffect , ChainIndexControlEffect , BeamEffect Sqlite ] a -> IO ( Either ChainIndexError a)
- handleChainIndexEffects :: ( LastMember IO effs, Member ( LogMsg ChainIndexLog ) effs) => RunRequirements -> Eff ( ChainIndexQueryEffect ': ( ChainIndexControlEffect ': ( BeamEffect Sqlite ': effs))) a -> Eff effs ( Either ChainIndexError a)
-
data
RunRequirements
=
RunRequirements
{
- trace :: Trace IO ( PrettyObject ChainIndexLog )
- stateTVar :: TVar ChainIndexState
- pool :: Pool Connection
- securityParam :: Int
- pageOf :: Eq a => PageQuery a -> Set a -> Page a
-
data
PageQuery
a =
PageQuery
{
- pageQuerySize :: PageSize
- pageQueryLastItem :: Maybe a
- newtype PageSize = PageSize { }
-
data
Page
a =
Page
{
- currentPageQuery :: PageQuery a
- nextPageQuery :: Maybe ( PageQuery a)
- pageItems :: [a]
- data OutputDatum
- data Address = Address { }
- newtype Value = Value { }
- newtype BlockId = BlockId { }
-
data
ChainIndexTxOutputs
- = InvalidTx ( Maybe ChainIndexTxOut )
- | ValidTx [ ChainIndexTxOut ]
-
data
ChainIndexTxOut
=
ChainIndexTxOut
{
- citoAddress :: CardanoAddress
- citoValue :: Value
- citoDatum :: OutputDatum
- citoRefScript :: ReferenceScript
- data ReferenceScript
- fromReferenceScript :: ReferenceScript -> Maybe (Versioned Script )
-
data
ChainIndexTx
=
ChainIndexTx
{
- _citxTxId :: TxId
- _citxInputs :: [TxIn]
- _citxOutputs :: ChainIndexTxOutputs
- _citxValidRange :: !SlotRange
- _citxData :: Map DatumHash Datum
- _citxRedeemers :: Redeemers
- _citxScripts :: Map ScriptHash (Versioned Script )
- _citxCardanoTx :: Maybe CardanoTx
- _InvalidTx :: Prism' ChainIndexTxOutputs ( Maybe ChainIndexTxOut )
- _ValidTx :: Prism' ChainIndexTxOutputs [ ChainIndexTxOut ]
-
data
Tip
- = TipAtGenesis
-
|
Tip
{
- tipSlot :: Slot
- tipBlockId :: BlockId
- tipBlockNo :: BlockNumber
- newtype BlockNumber = BlockNumber { }
- citxCardanoTx :: Lens' ChainIndexTx ( Maybe CardanoTx)
- citxData :: Lens' ChainIndexTx ( Map DatumHash Datum )
- citxInputs :: Lens' ChainIndexTx [TxIn]
- citxOutputs :: Lens' ChainIndexTx ChainIndexTxOutputs
- citxRedeemers :: Lens' ChainIndexTx Redeemers
- citxScripts :: Lens' ChainIndexTx ( Map ScriptHash (Versioned Script ))
- citxTxId :: Lens' ChainIndexTx TxId
- citxValidRange :: Lens' ChainIndexTx SlotRange
- blockId :: Block -> BlockId
-
data
Point
- = PointAtGenesis
-
|
Point
{
- pointSlot :: Slot
- pointBlockId :: BlockId
- data TxOutBalance = TxOutBalance { }
-
data
TxConfirmedState
=
TxConfirmedState
{
- timesConfirmed :: Sum Int
- blockAdded :: Last BlockNumber
- validity :: Last TxValidity
-
data
TxIdState
=
TxIdState
{
- txnsConfirmed :: Map TxId TxConfirmedState
- txnsDeleted :: Map TxId ( Sum Int )
- data TxStatusFailure
-
data
Diagnostics
=
Diagnostics
{
- numTransactions :: Integer
- numScripts :: Integer
- numAddresses :: Integer
- numAssetClasses :: Integer
- numUnspentOutputs :: Int
- numUnmatchedInputs :: Int
- someTransactions :: [ TxId ]
- unspentTxOuts :: [ ChainIndexTxOut ]
- data TxOutState
- type TxOutStatus = RollbackState TxOutState
- data RollbackState a
- type TxStatus = RollbackState ()
- newtype Depth = Depth { }
-
data
TxValidity
- = TxValid
- | TxInvalid
- | UnknownValidity
- _PointAtGenesis :: Prism' Point ()
- _Point :: Prism' Point (Slot, BlockId )
- tipAsPoint :: Tip -> Point
- pointsToTip :: Point -> Tip -> Bool
- txOutStatusTxOutState :: TxOutStatus -> Maybe TxOutState
- liftTxOutStatus :: TxOutStatus -> TxStatus
- data TxUtxoBalance = TxUtxoBalance { }
- tobSpentOutputs :: Lens' TxOutBalance ( Map TxOutRef TxId )
- tobUnspentOutputs :: Lens' TxOutBalance ( Set TxOutRef )
-
data
ChainSyncBlock
=
Block
{
- blockTip :: Tip
- blockTxs :: [( ChainIndexTx , TxProcessOption )]
-
newtype
TxProcessOption
=
TxProcessOption
{
- tpoStoreTx :: Bool
- tubUnmatchedSpentInputs :: Lens' TxUtxoBalance ( Set TxOutRef )
- tubUnspentOutputs :: Lens' TxUtxoBalance ( Set TxOutRef )
-
data
RollbackFailed
- = RollbackNoTip
-
|
TipMismatch
{
- foundTip :: Tip
- targetPoint :: Point
- | OldPointNotFound Point
- data InsertUtxoFailed
-
data
ChainIndexError
- = InsertionFailed InsertUtxoFailed
- | RollbackFailed RollbackFailed
- | ResumeNotSupported
- | QueryFailedNoTip
- | BeamEffectError BeamError
- | ToCardanoError ToCardanoError
- txOuts :: ChainIndexTx -> [ ChainIndexTxOut ]
- txOutRefs :: ChainIndexTx -> [ TxOutRef ]
- txOutsWithRef :: ChainIndexTx -> [( ChainIndexTxOut , TxOutRef )]
- txOutRefMap :: ChainIndexTx -> Map TxOutRef ( ChainIndexTxOut , ChainIndexTx )
- txOutRefMapForAddr :: CardanoAddress -> ChainIndexTx -> Map TxOutRef ( ChainIndexTxOut , ChainIndexTx )
- validityFromChainIndex :: ChainIndexTx -> TxValidity
- fromOnChainTx :: OnChainTx -> ChainIndexTx
- txRedeemersWithHash :: ChainIndexTx -> Map RedeemerHash Redeemer
-
data
ChainIndexQueryEffect
r
where
- DatumFromHash :: DatumHash -> ChainIndexQueryEffect ( Maybe Datum )
- ValidatorFromHash :: ValidatorHash -> ChainIndexQueryEffect ( Maybe (Versioned Validator ))
- MintingPolicyFromHash :: MintingPolicyHash -> ChainIndexQueryEffect ( Maybe (Versioned MintingPolicy ))
- RedeemerFromHash :: RedeemerHash -> ChainIndexQueryEffect ( Maybe Redeemer )
- StakeValidatorFromHash :: StakeValidatorHash -> ChainIndexQueryEffect ( Maybe (Versioned StakeValidator ))
- UnspentTxOutFromRef :: TxOutRef -> ChainIndexQueryEffect ( Maybe DecoratedTxOut)
- TxOutFromRef :: TxOutRef -> ChainIndexQueryEffect ( Maybe DecoratedTxOut)
- TxFromTxId :: TxId -> ChainIndexQueryEffect ( Maybe ChainIndexTx )
- UtxoSetMembership :: TxOutRef -> ChainIndexQueryEffect IsUtxoResponse
- UtxoSetAtAddress :: PageQuery TxOutRef -> Credential -> ChainIndexQueryEffect UtxosResponse
- UnspentTxOutSetAtAddress :: PageQuery TxOutRef -> Credential -> ChainIndexQueryEffect ( QueryResponse [( TxOutRef , DecoratedTxOut)])
- DatumsAtAddress :: PageQuery TxOutRef -> Credential -> ChainIndexQueryEffect ( QueryResponse [ Datum ])
- UtxoSetWithCurrency :: PageQuery TxOutRef -> AssetClass -> ChainIndexQueryEffect UtxosResponse
- TxsFromTxIds :: [ TxId ] -> ChainIndexQueryEffect [ ChainIndexTx ]
- TxoSetAtAddress :: PageQuery TxOutRef -> Credential -> ChainIndexQueryEffect TxosResponse
- GetTip :: ChainIndexQueryEffect Tip
-
data
ChainIndexControlEffect
r
where
- AppendBlocks :: [ ChainSyncBlock ] -> ChainIndexControlEffect ()
- Rollback :: Point -> ChainIndexControlEffect ()
- ResumeSync :: Point -> ChainIndexControlEffect ()
- CollectGarbage :: ChainIndexControlEffect ()
- GetDiagnostics :: ChainIndexControlEffect Diagnostics
- datumFromHash :: forall effs. Member ChainIndexQueryEffect effs => DatumHash -> Eff effs ( Maybe Datum )
- validatorFromHash :: forall effs. Member ChainIndexQueryEffect effs => ValidatorHash -> Eff effs ( Maybe (Versioned Validator ))
- mintingPolicyFromHash :: forall effs. Member ChainIndexQueryEffect effs => MintingPolicyHash -> Eff effs ( Maybe (Versioned MintingPolicy ))
- redeemerFromHash :: forall effs. Member ChainIndexQueryEffect effs => RedeemerHash -> Eff effs ( Maybe Redeemer )
- stakeValidatorFromHash :: forall effs. Member ChainIndexQueryEffect effs => StakeValidatorHash -> Eff effs ( Maybe (Versioned StakeValidator ))
- unspentTxOutFromRef :: forall effs. Member ChainIndexQueryEffect effs => TxOutRef -> Eff effs ( Maybe DecoratedTxOut)
- txOutFromRef :: forall effs. Member ChainIndexQueryEffect effs => TxOutRef -> Eff effs ( Maybe DecoratedTxOut)
- txFromTxId :: forall effs. Member ChainIndexQueryEffect effs => TxId -> Eff effs ( Maybe ChainIndexTx )
- utxoSetMembership :: forall effs. Member ChainIndexQueryEffect effs => TxOutRef -> Eff effs IsUtxoResponse
- utxoSetAtAddress :: forall effs. Member ChainIndexQueryEffect effs => PageQuery TxOutRef -> Credential -> Eff effs UtxosResponse
- unspentTxOutSetAtAddress :: forall effs. Member ChainIndexQueryEffect effs => PageQuery TxOutRef -> Credential -> Eff effs ( QueryResponse [( TxOutRef , DecoratedTxOut)])
- datumsAtAddress :: forall effs. Member ChainIndexQueryEffect effs => PageQuery TxOutRef -> Credential -> Eff effs ( QueryResponse [ Datum ])
- utxoSetWithCurrency :: forall effs. Member ChainIndexQueryEffect effs => PageQuery TxOutRef -> AssetClass -> Eff effs UtxosResponse
- txsFromTxIds :: forall effs. Member ChainIndexQueryEffect effs => [ TxId ] -> Eff effs [ ChainIndexTx ]
- txoSetAtAddress :: forall effs. Member ChainIndexQueryEffect effs => PageQuery TxOutRef -> Credential -> Eff effs TxosResponse
- getTip :: forall effs. Member ChainIndexQueryEffect effs => Eff effs Tip
- appendBlocks :: forall effs. Member ChainIndexControlEffect effs => [ ChainSyncBlock ] -> Eff effs ()
- rollback :: forall effs. Member ChainIndexControlEffect effs => Point -> Eff effs ()
- resumeSync :: forall effs. Member ChainIndexControlEffect effs => Point -> Eff effs ()
- collectGarbage :: forall effs. Member ChainIndexControlEffect effs => Eff effs ()
- getDiagnostics :: forall effs. Member ChainIndexControlEffect effs => Eff effs Diagnostics
- data InsertUtxoPosition
-
data
ChainIndexLog
- = InsertionSuccess Tip InsertUtxoPosition
- | ConversionFailed FromCardanoError
- | RollbackSuccess Tip
- | Err ChainIndexError
- | TxNotFound TxId
- | TxOutNotFound TxOutRef
- | TipIsGenesis
- | NoDatumScriptAddr ChainIndexTxOut
- | BeamLogItem BeamLog
-
data
UtxoState
a =
UtxoState
{
- _usTxUtxoData :: a
- _usTip :: Tip
-
data
ReduceBlockCountResult
a
- = BlockCountNotReduced
-
|
ReduceBlockCountResult
{
- reducedIndex :: UtxoIndex a
- combinedState :: UtxoState a
-
data
RollbackResult
a =
RollbackResult
{
- newTip :: Tip
- rolledBackIndex :: UtxoIndex a
- data InsertUtxoSuccess a = InsertUtxoSuccess { }
- type UtxoIndex a = FingerTree ( BlockCount , UtxoState a) ( UtxoState a)
-
newtype
BlockCount
=
BlockCount
{
- getBlockCount :: Int
- usTip :: forall a. Lens' ( UtxoState a) Tip
- usTxUtxoData :: forall a a. Lens ( UtxoState a) ( UtxoState a) a a
- utxoState :: Monoid a => UtxoIndex a -> UtxoState a
- utxoBlockCount :: Monoid a => UtxoIndex a -> Int
- tip :: UtxoState a -> Tip
- viewTip :: Monoid a => UtxoIndex a -> Tip
- insert :: ( Monoid a, Eq a) => UtxoState a -> UtxoIndex a -> Either InsertUtxoFailed ( InsertUtxoSuccess a)
- rollbackWith :: Monoid a => ( UtxoIndex a -> UtxoIndex a -> UtxoIndex a) -> Point -> UtxoIndex a -> Either RollbackFailed ( RollbackResult a)
- reduceBlockCount :: Monoid a => Depth -> UtxoIndex a -> ReduceBlockCountResult a
- pointLessThanTip :: Point -> Tip -> Bool
- initialStatus :: OnChainTx -> TxStatus
- increaseDepth :: TxStatus -> TxStatus
- chainConstant :: Depth
- dropOlder :: Monoid a => BlockNumber -> UtxoIndex a -> UtxoIndex a
- transactionStatus :: BlockNumber -> TxIdState -> TxId -> Either TxStatusFailure TxStatus
- transactionOutputStatus :: BlockNumber -> TxIdState -> TxOutBalance -> TxOutRef -> Either TxStatusFailure TxOutStatus
- transactionOutputState :: TxOutBalance -> TxOutRef -> Maybe TxOutState
- unspentOutputs :: UtxoState TxOutBalance -> Set TxOutRef
- spentOutputs :: UtxoState TxOutBalance -> Set TxOutRef
- type ChainIndexState = UtxoIndex TxUtxoBalance
- getResumePoints :: Member ( BeamEffect Sqlite ) effs => Eff effs [ ChainPoint ]
- handleQuery :: ( Member ( State ChainIndexState ) effs, Member ( BeamEffect Sqlite ) effs, Member ( Error ChainIndexError ) effs, Member ( LogMsg ChainIndexLog ) effs) => ChainIndexQueryEffect ~> Eff effs
- handleControl :: forall effs. ( Member ( State ChainIndexState ) effs, Member ( Reader Depth ) effs, Member ( BeamEffect Sqlite ) effs, Member ( Error ChainIndexError ) effs, Member ( LogMsg ChainIndexLog ) effs) => ChainIndexControlEffect ~> Eff effs
- restoreStateFromDb :: Member ( BeamEffect Sqlite ) effs => Eff effs ChainIndexState
Documentation
runChainIndexEffects :: RunRequirements -> Eff '[ ChainIndexQueryEffect , ChainIndexControlEffect , BeamEffect Sqlite ] a -> IO ( Either ChainIndexError a) Source #
Run the chain index effects.
handleChainIndexEffects :: ( LastMember IO effs, Member ( LogMsg ChainIndexLog ) effs) => RunRequirements -> Eff ( ChainIndexQueryEffect ': ( ChainIndexControlEffect ': ( BeamEffect Sqlite ': effs))) a -> Eff effs ( Either ChainIndexError a) Source #
Handle the chain index effects from the set of all effects.
data RunRequirements Source #
The required arguments to run the chain index effects.
Constructors
RunRequirements | |
Fields
|
Query parameters for pagination.
Constructors
PageQuery | |
Fields
|
Instances
Constructors
PageSize | |
Fields |
Instances
Part of a collection.
Constructors
Page | |
Instances
data OutputDatum Source #
The datum attached to an output: either nothing; a datum hash; or the datum itself (an "inline datum").
Constructors
NoOutputDatum | |
OutputDatumHash DatumHash | |
OutputDatum Datum |
Instances
Address with two kinds of credentials, normal and staking.
Constructors
Address | |
Instances
A cryptocurrency value. This is a map from
CurrencySymbol
s to a
quantity of that currency.
Operations on currencies are usually implemented
pointwise
. That is,
we apply the operation to the quantities for each currency in turn. So
when we add two
Value
s the resulting
Value
has, for each currency,
the sum of the quantities of
that particular
currency in the argument
Value
. The effect of this is that the currencies in the
Value
are "independent",
and are operated on separately.
Whenever we need to get the quantity of a currency in a
Value
where there
is no explicit quantity of that currency in the
Value
, then the quantity is
taken to be zero.
See note [Currencies] for more details.
Instances
Constructors
BlockId | |
Fields |
Instances
Eq BlockId | |
Ord BlockId | |
Defined in Ledger.Blockchain |
|
Show BlockId | |
Generic BlockId | |
ToJSON BlockId | |
FromJSON BlockId | |
ToSchema BlockId Source # | |
Defined in Plutus.ChainIndex.Types Methods declareNamedSchema :: Proxy BlockId -> Declare ( Definitions Schema ) NamedSchema Source # |
|
Pretty BlockId | |
HasDbType BlockId Source # | |
type Rep BlockId | |
Defined in Ledger.Blockchain
type
Rep
BlockId
=
D1
('
MetaData
"BlockId" "Ledger.Blockchain" "plutus-ledger-1.2.0.0-5ZNFySGahCv2fMTEPkrA76" '
True
) (
C1
('
MetaCons
"BlockId" '
PrefixI
'
True
) (
S1
('
MetaSel
('
Just
"getBlockId") '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
) (
Rec0
ByteString
)))
|
|
type DbType BlockId Source # | |
Defined in Plutus.ChainIndex.DbSchema |
data ChainIndexTxOutputs Source #
List of outputs of a transaction. There is only an optional collateral output if the transaction is invalid.
Constructors
InvalidTx ( Maybe ChainIndexTxOut ) |
The transaction is invalid so there is maybe a collateral output. |
ValidTx [ ChainIndexTxOut ] |
Instances
data ChainIndexTxOut Source #
Constructors
ChainIndexTxOut | |
Fields
|
Instances
data ReferenceScript Source #
Constructors
ReferenceScriptNone | |
ReferenceScriptInAnyLang ScriptInAnyLang |
Instances
fromReferenceScript :: ReferenceScript -> Maybe (Versioned Script ) Source #
data ChainIndexTx Source #
Constructors
ChainIndexTx | |
Fields
|
Instances
The tip of the chain index.
Constructors
TipAtGenesis | |
Tip | |
Fields
|
Instances
newtype BlockNumber Source #
Constructors
BlockNumber | |
Fields |
Instances
citxCardanoTx :: Lens' ChainIndexTx ( Maybe CardanoTx) Source #
citxInputs :: Lens' ChainIndexTx [TxIn] Source #
citxScripts :: Lens' ChainIndexTx ( Map ScriptHash (Versioned Script )) Source #
citxValidRange :: Lens' ChainIndexTx SlotRange Source #
When performing a rollback the chain sync protocol does not provide a block number where to resume from.
Constructors
PointAtGenesis | |
Point | |
Fields
|
Instances
Eq Point Source # | |
Ord Point Source # | |
Defined in Plutus.ChainIndex.Types |
|
Show Point Source # | |
Generic Point Source # | |
Semigroup Point Source # | |
Monoid Point Source # | |
ToJSON Point Source # | |
FromJSON Point Source # | |
Pretty Point Source # | |
type Rep Point Source # | |
Defined in Plutus.ChainIndex.Types
type
Rep
Point
=
D1
('
MetaData
"Point" "Plutus.ChainIndex.Types" "plutus-chain-index-core-1.2.0.0-vEgAIGWZqMIuVHBPih2W5" '
False
) (
C1
('
MetaCons
"PointAtGenesis" '
PrefixI
'
False
) (
U1
::
Type
->
Type
)
:+:
C1
('
MetaCons
"Point" '
PrefixI
'
True
) (
S1
('
MetaSel
('
Just
"pointSlot") '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedStrict
) (
Rec0
Slot)
:*:
S1
('
MetaSel
('
Just
"pointBlockId") '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedStrict
) (
Rec0
BlockId
)))
|
data TxOutBalance Source #
The effect of a transaction (or a number of them) on the tx output set.
Constructors
TxOutBalance | |
Fields
|
Instances
data TxConfirmedState Source #
Constructors
TxConfirmedState | |
Fields
|
Instances
Constructors
TxIdState | |
Fields
|
Instances
Eq TxIdState Source # | |
Show TxIdState Source # | |
Generic TxIdState Source # | |
Semigroup TxIdState Source # | |
Monoid TxIdState Source # | |
type Rep TxIdState Source # | |
Defined in Plutus.ChainIndex.Types
type
Rep
TxIdState
=
D1
('
MetaData
"TxIdState" "Plutus.ChainIndex.Types" "plutus-chain-index-core-1.2.0.0-vEgAIGWZqMIuVHBPih2W5" '
False
) (
C1
('
MetaCons
"TxIdState" '
PrefixI
'
True
) (
S1
('
MetaSel
('
Just
"txnsConfirmed") '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedStrict
) (
Rec0
(
Map
TxId
TxConfirmedState
))
:*:
S1
('
MetaSel
('
Just
"txnsDeleted") '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedStrict
) (
Rec0
(
Map
TxId
(
Sum
Int
)))))
|
data TxStatusFailure Source #
Datatype returned when we couldn't get the state of a tx or a tx output.
Constructors
TxIdStateInvalid BlockNumber TxId TxIdState |
We couldn't return the status because the
|
TxOutBalanceStateInvalid BlockNumber TxOutRef TxOutBalance |
We couldn't return the status because the
|
InvalidRollbackAttempt BlockNumber TxId TxIdState |
Instances
Eq TxStatusFailure Source # | |
Defined in Plutus.ChainIndex.Types Methods (==) :: TxStatusFailure -> TxStatusFailure -> Bool Source # (/=) :: TxStatusFailure -> TxStatusFailure -> Bool Source # |
|
Show TxStatusFailure Source # | |
Defined in Plutus.ChainIndex.Types |
data Diagnostics Source #
Constructors
Diagnostics | |
Fields
|
Instances
data TxOutState Source #
Instances
type TxOutStatus = RollbackState TxOutState Source #
data RollbackState a Source #
The rollback state of a Cardano transaction
Constructors
Unknown |
The transaction is not on the chain. That's all we can say. |
TentativelyConfirmed Depth TxValidity a |
The transaction is on the chain, n blocks deep. It can still be rolled back. |
Committed TxValidity a |
The transaction is on the chain. It cannot be rolled back anymore. |
Instances
type TxStatus = RollbackState () Source #
The status of a Cardano transaction
How many blocks deep the tx is on the chain
Instances
Enum Depth Source # | |
Defined in Plutus.ChainIndex.Types Methods succ :: Depth -> Depth Source # pred :: Depth -> Depth Source # toEnum :: Int -> Depth Source # fromEnum :: Depth -> Int Source # enumFrom :: Depth -> [ Depth ] Source # enumFromThen :: Depth -> Depth -> [ Depth ] Source # enumFromTo :: Depth -> Depth -> [ Depth ] Source # enumFromThenTo :: Depth -> Depth -> Depth -> [ Depth ] Source # |
|
Eq Depth Source # | |
Integral Depth Source # | |
Defined in Plutus.ChainIndex.Types |
|
Num Depth Source # | |
Defined in Plutus.ChainIndex.Types |
|
Ord Depth Source # | |
Defined in Plutus.ChainIndex.Types |
|
Real Depth Source # | |
Defined in Plutus.ChainIndex.Types Methods toRational :: Depth -> Rational Source # |
|
Show Depth Source # | |
Generic Depth Source # | |
ToJSON Depth Source # | |
FromJSON Depth Source # | |
Pretty Depth Source # | |
MeetSemiLattice Depth Source # | |
type Rep Depth Source # | |
Defined in Plutus.ChainIndex.Types |
data TxValidity Source #
Validity of a transaction that has been added to the ledger