Skip to content

Commit

Permalink
Restructure and re-organize Marconi modules
Browse files Browse the repository at this point in the history
- Renamed the module names from Marconi.JsonRpc to Network.JsonRpc
- Renamed `marconi` to `marconi-chain-index`
- Renamed  `rewindable-index` package to `marconi-core`  and changed
corresponding module names accordingly
- Renamed marconi-mamba module names to match those of corresponding
package name

Co-authored-by: koslambrou <konstantinos.lambrou@iohk.io>
  • Loading branch information
kayvank and koslambrou committed Feb 8, 2023
1 parent 31dafcb commit 18c12a4
Show file tree
Hide file tree
Showing 67 changed files with 235 additions and 327 deletions.
4 changes: 2 additions & 2 deletions cabal.project
Expand Up @@ -23,7 +23,8 @@ packages: cardano-node-emulator
cardano-streaming
doc
freer-extras
marconi
marconi-chain-index
marconi-core
marconi-mamba
pab-blockfrost
plutus-chain-index
Expand All @@ -39,7 +40,6 @@ packages: cardano-node-emulator
plutus-script-utils
plutus-tx-constraints
plutus-use-cases
rewindable-index

-- We never, ever, want this.
write-ghc-environment-files: never
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions marconi/app/Main.hs → marconi-chain-index/app/Main.hs
Expand Up @@ -13,9 +13,9 @@ import Cardano.BM.Setup (withTrace)
import Cardano.BM.Trace (logError)
import Cardano.BM.Tracing (defaultConfigStdout)
import Cardano.Streaming (ChainSyncEventException (NoIntersectionFound), withChainSyncEventStream)
import Marconi.CLI qualified as Cli
import Marconi.Indexers (filterIndexers, mkIndexerStream, startIndexers)
import Marconi.Logging (logging)
import Marconi.ChainIndex.CLI qualified as Cli
import Marconi.ChainIndex.Indexers (filterIndexers, mkIndexerStream, startIndexers)
import Marconi.ChainIndex.Logging (logging)
import System.Directory (createDirectoryIfMissing)

main :: IO ()
Expand Down
File renamed without changes.
Expand Up @@ -11,7 +11,7 @@
--
-- Note: This client implementation runs over HTTP and the semantics of HTTP
-- remove the need for the message id.
module Marconi.Client.Types (
module Network.JsonRpc.Client.Types (
JsonRpcResponse
) where

Expand All @@ -21,7 +21,7 @@ import GHC.TypeLits (KnownSymbol, symbolVal)
import Servant.API (NoContent)
import Servant.Client.Core (Client, HasClient (clientWithRoute, hoistClientMonad), RunClient)

import Marconi.JsonRpc.Types (JsonRpc, JsonRpcEndpoint, JsonRpcNotification, JsonRpcResponse, RawJsonRpc,
import Network.JsonRpc.Types (JsonRpc, JsonRpcEndpoint, JsonRpcNotification, JsonRpcResponse, RawJsonRpc,
Request (Request))


Expand Down
Expand Up @@ -11,15 +11,15 @@

-- |
-- This module provides support for writing handlers for JSON-RPC endpoints
module Marconi.Server.Types where
module Network.JsonRpc.Server.Types where

import Data.Aeson (FromJSON (parseJSON), ToJSON (toJSON), Value)
import Data.Aeson.Types (parseEither)
import Data.Bifunctor (Bifunctor (bimap))
import Data.Map.Strict qualified as Map
import Data.Proxy (Proxy (Proxy))
import GHC.TypeLits (KnownSymbol, symbolVal)
import Marconi.JsonRpc.Types (JSONRPC, JsonRpc, JsonRpcErr (JsonRpcErr, errorData), JsonRpcNotification,
import Network.JsonRpc.Types (JSONRPC, JsonRpc, JsonRpcErr (JsonRpcErr, errorData), JsonRpcNotification,
JsonRpcResponse (Errors, Result), RawJsonRpc, Request (Request), invalidParamsCode,
invalidRequestCode, methodNotFoundCode)
import Servant.API (NoContent (NoContent), Post, ReqBody, (:<|>) ((:<|>)), (:>))
Expand Down
Expand Up @@ -9,11 +9,11 @@
{-# LANGUAGE UndecidableInstances #-}

-- |
-- Module: Marconi.JsonRpc
-- Module: Network.JsonRpc.Types
--
-- Work with JSON-RPC protocol
--
module Marconi.JsonRpc.Types
module Network.JsonRpc.Types
(
-- * API specification types
RawJsonRpc
Expand Down Expand Up @@ -79,7 +79,7 @@ instance FromJSON p => FromJSON (Request p) where

versionGuard v . pure $ Request m p ix

-- | Marconi JSON-RPC supported version, 2.0 at this time
-- | JSON-RPC supported version, 2.0 at this time
versionGuard :: Maybe String -> Parser a -> Parser a
versionGuard v x
| v == Just "2.0" = x
Expand Down
@@ -1,5 +1,5 @@
cabal-version: 3.0
name: marconi
name: marconi-chain-index
version: 1.1.0.0
license: Apache-2.0
license-files:
Expand Down Expand Up @@ -49,23 +49,23 @@ library
import: lang
hs-source-dirs: src
exposed-modules:
Marconi.CLI
Marconi.Index.AddressDatum
Marconi.Index.Datum
Marconi.Index.EpochStakepoolSize
Marconi.Index.ScriptTx
Marconi.Index.Utxo
Marconi.Indexers
Marconi.Logging
Marconi.Orphans
Marconi.Types
Marconi.ChainIndex.CLI
Marconi.ChainIndex.Indexers
Marconi.ChainIndex.Indexers.AddressDatum
Marconi.ChainIndex.Indexers.Datum
Marconi.ChainIndex.Indexers.EpochStakepoolSize
Marconi.ChainIndex.Indexers.ScriptTx
Marconi.ChainIndex.Indexers.Utxo
Marconi.ChainIndex.Logging
Marconi.ChainIndex.Orphans
Marconi.ChainIndex.Types

--------------------
-- Local components
--------------------
build-depends:
, cardano-streaming
, rewindable-index
, marconi-core

--------------------------
-- Other IOG dependencies
Expand Down Expand Up @@ -110,9 +110,9 @@ library json-rpc
visibility: public
hs-source-dirs: json-rpc/src
exposed-modules:
Marconi.Client.Types
Marconi.JsonRpc.Types
Marconi.Server.Types
Network.JsonRpc.Client.Types
Network.JsonRpc.Server.Types
Network.JsonRpc.Types

------------------------
-- Non-IOG dependencies
Expand All @@ -127,7 +127,7 @@ library json-rpc
, servant-server
, text

executable marconi
executable marconi-chain-index
import: lang
hs-source-dirs: app
main-is: Main.hs
Expand All @@ -137,7 +137,7 @@ executable marconi
--------------------
build-depends:
, cardano-streaming
, marconi
, marconi-chain-index

--------------------------
-- Other IOG dependencies
Expand All @@ -154,7 +154,7 @@ executable marconi
, directory
, prettyprinter

library marconi-test-lib
library marconi-chain-index-test-lib
import: lang
hs-source-dirs: test-lib
exposed-modules: Helpers
Expand Down Expand Up @@ -186,7 +186,7 @@ library marconi-test-lib
, streaming
, temporary

test-suite marconi-test
test-suite marconi-chain-index-test
import: lang
ghc-options: -Wno-unused-packages
type: exitcode-stdio-1.0
Expand All @@ -195,21 +195,21 @@ test-suite marconi-test
other-modules:
EpochStakepoolSize
Integration
Spec.Marconi.Index.AddressDatum
Spec.Marconi.Index.AddressDatum.AddressDatumIndex
Spec.Marconi.Index.AddressDatum.AddressDatumIndexEvent
Spec.Marconi.Index.AddressDatum.Generators
Spec.Marconi.Index.AddressDatum.Utils
Spec.Marconi.ChainIndex.Indexers.AddressDatum
Spec.Marconi.ChainIndex.Indexers.AddressDatum.AddressDatumIndex
Spec.Marconi.ChainIndex.Indexers.AddressDatum.AddressDatumIndexEvent
Spec.Marconi.ChainIndex.Indexers.AddressDatum.Generators
Spec.Marconi.ChainIndex.Indexers.AddressDatum.Utils
Spec.Utxo

--------------------
-- Local components
--------------------
build-depends:
, cardano-streaming
, marconi
, marconi-test-lib
, rewindable-index
, marconi-chain-index
, marconi-chain-index-test-lib
, marconi-core

--------------------------
-- Other IOG dependencies
Expand Down
File renamed without changes.
File renamed without changes.
@@ -1,6 +1,6 @@
{-# LANGUAGE PolyKinds #-}

module Marconi.CLI
module Marconi.ChainIndex.CLI
(chainPointParser
, multiString
, parseCardanoAddresses
Expand Down Expand Up @@ -28,7 +28,7 @@ import System.FilePath ((</>))

import Cardano.Api (ChainPoint, NetworkId)
import Cardano.Api qualified as C
import Marconi.Types (TargetAddresses)
import Marconi.ChainIndex.Types (TargetAddresses)

chainPointParser :: Opt.Parser C.ChainPoint
chainPointParser =
Expand Down
Expand Up @@ -6,7 +6,7 @@
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TupleSections #-}

module Marconi.Indexers where
module Marconi.ChainIndex.Indexers where

import Control.Concurrent (MVar, forkIO, modifyMVar_, newMVar, readMVar)
import Control.Concurrent.QSemN (QSemN, newQSemN, signalQSemN, waitQSemN)
Expand All @@ -30,17 +30,18 @@ import Cardano.Api.Shelley qualified as Shelley
import Cardano.Ledger.Alonzo.TxWitness qualified as Alonzo
import Cardano.Streaming (ChainSyncEvent (RollBackward, RollForward))
import Cardano.Streaming qualified as CS
import Marconi.Index.AddressDatum (AddressDatumDepth (AddressDatumDepth), AddressDatumHandle, AddressDatumIndex)
import Marconi.Index.AddressDatum qualified as AddressDatum
import Marconi.Index.Datum (DatumIndex)
import Marconi.Index.Datum qualified as Datum
import Marconi.Index.EpochStakepoolSize qualified as EpochStakepoolSize
import Marconi.Index.ScriptTx qualified as ScriptTx
import Marconi.Index.Utxo qualified as Utxo
import Marconi.Types (TargetAddresses)
import Marconi.ChainIndex.Indexers.AddressDatum (AddressDatumDepth (AddressDatumDepth), AddressDatumHandle,
AddressDatumIndex)
import Marconi.ChainIndex.Indexers.AddressDatum qualified as AddressDatum
import Marconi.ChainIndex.Indexers.Datum (DatumIndex)
import Marconi.ChainIndex.Indexers.Datum qualified as Datum
import Marconi.ChainIndex.Indexers.EpochStakepoolSize qualified as EpochStakepoolSize
import Marconi.ChainIndex.Indexers.ScriptTx qualified as ScriptTx
import Marconi.ChainIndex.Indexers.Utxo qualified as Utxo
import Marconi.ChainIndex.Types (TargetAddresses)

import RewindableIndex.Index.VSplit qualified as Ix
import RewindableIndex.Storable qualified as Storable
import Marconi.Core.Index.VSplit qualified as Ix
import Marconi.Core.Storable qualified as Storable

-- DatumIndexer
getDatums :: BlockInMode CardanoMode -> [(SlotNo, (Hash ScriptData, ScriptData))]
Expand Down
Expand Up @@ -49,7 +49,7 @@
-- * a datum with that same hash was included in the witnesses for a Plutus spending script
-- which was included in the transaction body
--
module Marconi.Index.AddressDatum
module Marconi.ChainIndex.Indexers.AddressDatum
( -- * AddressDatumIndex
AddressDatumIndex
, AddressDatumHandle
Expand Down Expand Up @@ -79,12 +79,12 @@ import Data.Set qualified as Set
import Database.SQLite.Simple qualified as SQL
import Database.SQLite.Simple.ToField qualified as SQL
import GHC.Generics (Generic)
import Marconi.Orphans ()
import RewindableIndex.Storable (Buffered (persistToStorage), HasPoint (getPoint),
QueryInterval (QEverything, QInterval), Queryable (queryStorage), Resumable,
Rewindable (rewindStorage), StorableEvent, StorableMonad, StorablePoint, StorableQuery,
StorableResult, emptyState, filterWithQueryInterval)
import RewindableIndex.Storable qualified as Storable
import Marconi.ChainIndex.Orphans ()
import Marconi.Core.Storable (Buffered (persistToStorage), HasPoint (getPoint), QueryInterval (QEverything, QInterval),
Queryable (queryStorage), Resumable, Rewindable (rewindStorage), StorableEvent,
StorableMonad, StorablePoint, StorableQuery, StorableResult, emptyState,
filterWithQueryInterval)
import Marconi.Core.Storable qualified as Storable
import Text.RawString.QQ (r)

-- | Define the `handler` data type, meant as a wrapper for the connection type (in this case the
Expand Down
Expand Up @@ -3,7 +3,7 @@
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}

module Marconi.Index.Datum
module Marconi.ChainIndex.Indexers.Datum
( -- * DatumIndex
DatumIndex
, Event
Expand All @@ -28,8 +28,8 @@ import Database.SQLite.Simple.ToField (ToField (toField))
import Cardano.Api qualified as C
import Cardano.Binary (fromCBOR, toCBOR)
import Codec.Serialise.Class (Serialise (decode))
import RewindableIndex.Index.VSqlite (SqliteIndex)
import RewindableIndex.Index.VSqlite qualified as Ix
import Marconi.Core.Index.VSqlite (SqliteIndex)
import Marconi.Core.Index.VSqlite qualified as Ix

type DatumHash = C.Hash C.ScriptData
type Event = [(C.SlotNo, (DatumHash, C.ScriptData))]
Expand Down
Expand Up @@ -11,7 +11,7 @@
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeSynonymInstances #-}

module Marconi.Index.EpochStakepoolSize where
module Marconi.ChainIndex.Indexers.EpochStakepoolSize where

import Control.Monad.Trans.Class (lift)
import Data.Coerce (coerce)
Expand Down
Expand Up @@ -5,7 +5,7 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}

module Marconi.Index.ScriptTx where
module Marconi.ChainIndex.Indexers.ScriptTx where

import Data.ByteString qualified as BS
import Data.Foldable (foldl', toList)
Expand All @@ -29,14 +29,13 @@ import Cardano.Ledger.Crypto qualified as LedgerCrypto
import Cardano.Ledger.Keys qualified as LedgerShelley
import Cardano.Ledger.Shelley.Scripts qualified as LedgerShelley
import Cardano.Ledger.ShelleyMA.Timelocks qualified as Timelock
import Marconi.Orphans ()
import Marconi.Types ()
import RewindableIndex.Storable (Buffered (getStoredEvents, persistToStorage), HasPoint (getPoint),
QueryInterval (QEverything, QInterval), Queryable (queryStorage),
Resumable (resumeFromStorage), Rewindable (rewindStorage), StorableEvent,
StorableMonad, StorablePoint, StorableQuery, StorableResult, emptyState,
filterWithQueryInterval)
import RewindableIndex.Storable qualified as Storable
import Marconi.ChainIndex.Orphans ()
import Marconi.ChainIndex.Types ()
import Marconi.Core.Storable (Buffered (getStoredEvents, persistToStorage), HasPoint (getPoint),
QueryInterval (QEverything, QInterval), Queryable (queryStorage),
Resumable (resumeFromStorage), Rewindable (rewindStorage), StorableEvent, StorableMonad,
StorablePoint, StorableQuery, StorableResult, emptyState, filterWithQueryInterval)
import Marconi.Core.Storable qualified as Storable

{- The first thing that we need to define for a new indexer is the `handler` data
type, meant as a wrapper for the connection type (in this case the SQLite
Expand Down
Expand Up @@ -26,7 +26,7 @@
|------+------|--------+-----------|
-}
module Marconi.Index.Utxo where
module Marconi.ChainIndex.Indexers.Utxo where

import Control.Concurrent.Async (concurrently_)
import Control.Exception (bracket_)
Expand All @@ -52,14 +52,13 @@ import Text.RawString.QQ (r)
import Cardano.Api ()
import Cardano.Api qualified as C
import "cardano-api" Cardano.Api.Shelley qualified as Shelley
import Marconi.Orphans ()
import Marconi.Types (CurrentEra, TargetAddresses, TxOut, pattern CurrentEra)
import RewindableIndex.Storable (Buffered (getStoredEvents, persistToStorage), HasPoint (getPoint),
QueryInterval (QEverything, QInterval), Queryable (queryStorage),
Resumable (resumeFromStorage), Rewindable (rewindStorage), StorableEvent,
StorableMonad, StorablePoint, StorableQuery, StorableResult, emptyState,
filterWithQueryInterval)
import RewindableIndex.Storable qualified as Storable
import Marconi.ChainIndex.Orphans ()
import Marconi.ChainIndex.Types (CurrentEra, TargetAddresses, TxOut, pattern CurrentEra)
import Marconi.Core.Storable (Buffered (getStoredEvents, persistToStorage), HasPoint (getPoint),
QueryInterval (QEverything, QInterval), Queryable (queryStorage),
Resumable (resumeFromStorage), Rewindable (rewindStorage), StorableEvent, StorableMonad,
StorablePoint, StorableQuery, StorableResult, emptyState, filterWithQueryInterval)
import Marconi.Core.Storable qualified as Storable



Expand Down

0 comments on commit 18c12a4

Please sign in to comment.