22{-# LANGUAGE DerivingStrategies #-}
33{-# LANGUAGE FlexibleInstances #-}
44{-# LANGUAGE GeneralizedNewtypeDeriving #-}
5+ {-# LANGUAGE LambdaCase #-}
56{-# LANGUAGE OverloadedStrings #-}
67{-# LANGUAGE ScopedTypeVariables #-}
78{-# LANGUAGE NoImplicitPrelude #-}
@@ -18,11 +19,17 @@ module Cardano.DbSync.Config.Types (
1819 GenesisHashConway (.. ),
1920 SyncNodeConfig (.. ),
2021 SyncPreConfig (.. ),
22+ MetadataConfig (.. ),
23+ MultiAssetConfig (.. ),
24+ PlutusConfig (.. ),
2125 LedgerStateDir (.. ),
2226 LogFileDir (.. ),
2327 NetworkName (.. ),
2428 NodeConfigFile (.. ),
2529 SocketPath (.. ),
30+ isMetadataEnableOrWhiteList ,
31+ isMultiAssetEnableOrWhitelist ,
32+ isPlutusEnableOrWhitelist ,
2633 adjustGenesisFilePath ,
2734 adjustNodeConfigFilePath ,
2835 pcNodeConfigFilePath ,
@@ -73,7 +80,6 @@ data SyncNodeParams = SyncNodeParams
7380 , enpHasMultiAssets :: ! Bool
7481 , enpHasMetadata :: ! Bool
7582 , enpWhitelistMetadataNames :: ! [Word64 ]
76- , enpWhitelistMAPolicies :: ! [Word64 ]
7783 , enpHasPlutusExtra :: ! Bool
7884 , enpHasGov :: ! Bool
7985 , enpHasOffChainPoolData :: ! Bool
@@ -132,6 +138,42 @@ data SyncPreConfig = SyncPreConfig
132138 , pcPrometheusPort :: ! Int
133139 }
134140
141+ data MetadataConfig
142+ = MetadataEnable
143+ | MetadataDisable
144+ | MetadataWhitelistKeys (NonEmpty ByteString )
145+ deriving (Eq , Show )
146+
147+ isMetadataEnableOrWhiteList :: MetadataConfig -> Bool
148+ isMetadataEnableOrWhiteList = \ case
149+ MetadataEnable -> True
150+ MetadataDisable -> False
151+ MetadataWhitelistKeys _ -> True
152+
153+ data MultiAssetConfig
154+ = MultiAssetEnable
155+ | MultiAssetDisable
156+ | MultiAssetWhitelistPolicies (NonEmpty ByteString )
157+ deriving (Eq , Show )
158+
159+ isMultiAssetEnableOrWhitelist :: MultiAssetConfig -> Bool
160+ isMultiAssetEnableOrWhitelist = \ case
161+ MultiAssetEnable -> True
162+ MultiAssetDisable -> False
163+ MultiAssetWhitelistPolicies _ -> True
164+
165+ data PlutusConfig
166+ = PlutusEnable
167+ | PlutusDisable
168+ | PlutusWhitelistScripts (NonEmpty ByteString )
169+ deriving (Eq , Show )
170+
171+ isPlutusEnableOrWhitelist :: PlutusConfig -> Bool
172+ isPlutusEnableOrWhitelist = \ case
173+ PlutusEnable -> True
174+ PlutusDisable -> False
175+ PlutusWhitelistScripts _ -> True
176+
135177newtype GenesisFile = GenesisFile
136178 { unGenesisFile :: FilePath
137179 }
0 commit comments