marconi-cardano-indexers-1.2.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Marconi.Cardano.Indexers.Utxo

Synopsis

Event

data Utxo #

Indexer representation of an UTxO

Instances

Instances details
FromJSON Utxo # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

Methods

parseJSON :: Value -> Parser Utxo

parseJSONList :: Value -> Parser [Utxo]

ToJSON Utxo # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

Methods

toJSON :: Utxo -> Value

toEncoding :: Utxo -> Encoding

toJSONList :: [Utxo] -> Value

toEncodingList :: [Utxo] -> Encoding

Generic Utxo # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

Associated Types

type Rep Utxo :: Type -> Type Source #

Methods

from :: Utxo -> Rep Utxo x Source #

to :: Rep Utxo x -> Utxo Source #

Show Utxo # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

Eq Utxo # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

Methods

(==) :: Utxo -> Utxo -> Bool Source #

(/=) :: Utxo -> Utxo -> Bool Source #

FromRow Utxo # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

Methods

fromRow :: RowParser Utxo

(MonadIO m, MonadError (QueryError (EventAtQuery UtxoEvent)) m) => Queryable m UtxoEvent (EventAtQuery UtxoEvent) SQLiteIndexer # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

(MonadIO m, MonadError (QueryError (EventsMatchingQuery UtxoEvent)) m) => Queryable m UtxoEvent (EventsMatchingQuery UtxoEvent) SQLiteIndexer # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

FromRow (Timed ChainPoint Utxo) # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

Methods

fromRow :: RowParser (Timed ChainPoint Utxo)

ToRow (Timed ChainPoint Utxo) # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

Methods

toRow :: Timed ChainPoint Utxo -> [SQLData] #

type Rep Utxo # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

type Point UtxoEvent # 
Instance details

Defined in Marconi.Cardano.Indexers.Utxo

type UtxoEvent = NonEmpty Utxo #

An alias for a non-empty list of Utxo, it's the event potentially produced on each block

txIn :: Lens' Utxo TxIn #

value :: Lens' Utxo Value #

Indexer and runner

mkUtxoIndexer #

Arguments

:: (MonadIO m, MonadError IndexerError m) 
=> SQLiteDBLocation

SQL connection to database

-> m UtxoIndexer 

Make a SQLiteIndexer for Utxos

utxoWorker #

Arguments

:: (MonadIO n, MonadError IndexerError n, MonadIO m) 
=> StandardWorkerConfig m input UtxoEvent

General configuration of the indexer (mostly for logging purpose)

-> UtxoIndexerConfig

Specific configuration of the indexer (mostly for logging purpose)

-> SQLiteDBLocation

SQLite database location

-> n (StandardWorker m input UtxoEvent SQLiteIndexer) 

A minimal worker for the UTXO indexer, with catchup and filtering.

utxoBuilder :: (MonadIO n, MonadError IndexerError n) => SecurityParam -> CatchupConfig -> UtxoIndexerConfig -> Trace IO Text -> FilePath -> n (StandardWorker IO [AnyTxBody] UtxoEvent SQLiteIndexer) #

Convenience wrapper around utxoWorker with some defaults for creating StandardWorkerConfig, including a preprocessor.

Extractors

getUtxoEventsFromBlock #

Arguments

:: IsCardanoEra era 
=> Block era 
-> [Utxo]

UtxoEvents are stored in storage after conversion to UtxoRow

Extract UtxoEvents from Cardano Block

Returns Nothing if the block doesn't consume or spend any utxo

getUtxosFromTxBody :: IsCardanoEra era => TxIndexInBlock -> TxBody era -> [Utxo] #

Extract Utxos from Cardano TxBody