Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Marconi.Cardano.Indexers.SnapshotBlockEvent
Contents
Synopsis
- snapshotBlockEventWorker :: forall input m n. (MonadIO m, MonadError IndexerError m, MonadIO n) => StandardWorkerConfig n input SnapshotBlockEvent -> SnapshotWorkerConfig input -> FilePath -> m (WorkerIndexer n input SnapshotBlockEvent (WithTrace n (FileIndexer SnapshotMetadata)))
- newtype SnapshotBlockEvent = SnapshotBlockEvent {}
- data SnapshotWorkerConfig input = SnapshotWorkerConfig {
- currentBlockNo :: input -> BlockNo
- blockRange :: BlockRange
- nodeConfig :: FilePath
- data SnapshotMetadata = SnapshotMetadata {}
- getConfigCodec :: (MonadIO m, MonadError IndexerError m) => FilePath -> m CodecConfig
- data BlockRange
- mkBlockRange :: Word64 -> Word64 -> Either String BlockRange
- blockRangeFst :: Lens' BlockRange Word64
- blockRangeSnd :: Lens' BlockRange Word64
- type CodecConfig = CodecConfig (HardForkBlock (CardanoEras StandardCrypto))
- type BlockNodeToClientVersion = BlockNodeToClientVersion (CardanoBlock StandardCrypto)
- deserialiseSnapshotBlockEvent :: CodecConfig -> BlockNodeToClientVersion -> SnapshotMetadata -> ByteString -> Either Text (Maybe SnapshotBlockEvent)
- deserialiseMetadata :: [Text] -> Maybe SnapshotMetadata
- blockNodeToNodeVersionM :: Maybe (HardForkNodeToClientVersion (ByronBlock ': CardanoShelleyEras StandardCrypto))
Documentation
snapshotBlockEventWorker :: forall input m n. (MonadIO m, MonadError IndexerError m, MonadIO n) => StandardWorkerConfig n input SnapshotBlockEvent -> SnapshotWorkerConfig input -> FilePath -> m (WorkerIndexer n input SnapshotBlockEvent (WithTrace n (FileIndexer SnapshotMetadata))) #
Builds the worker on top of the BlockEvent
indexer.
This is where the events are preprocessed by filtering out
any blocks which are not in the given BlockRange
.
newtype SnapshotBlockEvent #
Constructors
SnapshotBlockEvent | |
Fields |
Instances
type Point SnapshotBlockEvent # | |
Defined in Marconi.Cardano.Indexers.SnapshotBlockEvent |
data SnapshotWorkerConfig input #
Type which contains the data needed to configure the snapshot
indexer workers for BlockEvent
s and ExtLedgerState
events.
Constructors
SnapshotWorkerConfig | |
Fields
|
data SnapshotMetadata #
A representation of the names provided for the snapshot files. This is used by the file indexer when parsing and unparsing the file names.
Constructors
SnapshotMetadata | |
Fields
|
Instances
getConfigCodec :: (MonadIO m, MonadError IndexerError m) => FilePath -> m CodecConfig #
Block ranges
data BlockRange #
A range of block number
Instances
FromJSON BlockRange # | |
Defined in Marconi.Cardano.Indexers.SnapshotBlockEvent | |
ToJSON BlockRange # | |
Defined in Marconi.Cardano.Indexers.SnapshotBlockEvent Methods toJSON :: BlockRange -> Value toEncoding :: BlockRange -> Encoding toJSONList :: [BlockRange] -> Value toEncodingList :: [BlockRange] -> Encoding | |
Generic BlockRange # | |
Defined in Marconi.Cardano.Indexers.SnapshotBlockEvent | |
Show BlockRange # | |
Defined in Marconi.Cardano.Indexers.SnapshotBlockEvent | |
type Rep BlockRange # | |
Defined in Marconi.Cardano.Indexers.SnapshotBlockEvent type Rep BlockRange = D1 ('MetaData "BlockRange" "Marconi.Cardano.Indexers.SnapshotBlockEvent" "marconi-cardano-indexers-1.2.0.0-inplace" 'False) (C1 ('MetaCons "BlockRange" 'PrefixI 'True) (S1 ('MetaSel ('Just "_blockRangeFst") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word64) :*: S1 ('MetaSel ('Just "_blockRangeSnd") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word64))) |
mkBlockRange :: Word64 -> Word64 -> Either String BlockRange #
Smart constructor for BlockRange
that ensures that the lower bound is lower than the upper bound.
blockRangeFst :: Lens' BlockRange Word64 #
blockRangeSnd :: Lens' BlockRange Word64 #
For testing
type CodecConfig = CodecConfig (HardForkBlock (CardanoEras StandardCrypto)) #
deserialiseSnapshotBlockEvent :: CodecConfig -> BlockNodeToClientVersion -> SnapshotMetadata -> ByteString -> Either Text (Maybe SnapshotBlockEvent) #
deserialiseMetadata :: [Text] -> Maybe SnapshotMetadata #