Skip to content

Commit ba1d849

Browse files
sgillespiekderme
authored andcommitted
feature(cardano-db-sync): Look up insert settings from config
Rather than from CLI args
1 parent 8dd729b commit ba1d849

32 files changed

+1138
-171
lines changed

cardano-chain-gen/src/Cardano/Mock/Forging/Tx/Conway.hs

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ module Cardano.Mock.Forging.Tx.Conway (
2020
mkUnlockScriptTxBabbage,
2121
mkScriptTx,
2222
mkSimpleTx,
23+
mkAuxDataTx,
2324
mkDCertTx,
2425
mkDCertPoolTx,
2526
mkDCertTxPools,
@@ -28,6 +29,7 @@ module Cardano.Mock.Forging.Tx.Conway (
2829
mkMultiAssetsScriptTx,
2930
mkDepositTxPools,
3031
mkDummyRegisterTx,
32+
mkDummyTxBody,
3133
mkTxDelegCert,
3234
mkRegTxCert,
3335
mkUnRegTxCert,
@@ -46,7 +48,7 @@ import Cardano.Ledger.Address (Addr (..), RewardAcnt (..), Withdrawals (..))
4648
import Cardano.Ledger.Allegra.Scripts
4749
import Cardano.Ledger.Alonzo.Scripts
4850
import Cardano.Ledger.Alonzo.Tx (IsValid (..))
49-
import Cardano.Ledger.Alonzo.TxAuxData (AlonzoTxAuxData (..))
51+
import Cardano.Ledger.Alonzo.TxAuxData (AlonzoTxAuxData (..), mkAlonzoTxAuxData)
5052
import Cardano.Ledger.Alonzo.TxWits (RdmrPtr (..))
5153
import Cardano.Ledger.BaseTypes (EpochNo (..), Network (..))
5254
import Cardano.Ledger.Binary (Sized (..))
@@ -312,6 +314,19 @@ mkSimpleTx isValid' txBody =
312314
, auxiliaryData = maybeToStrictMaybe Nothing
313315
}
314316

317+
mkAuxDataTx ::
318+
Bool ->
319+
ConwayTxBody StandardConway ->
320+
Map Word64 Metadatum ->
321+
AlonzoTx StandardConway
322+
mkAuxDataTx isValid' txBody auxData =
323+
AlonzoTx
324+
{ body = txBody
325+
, wits = mempty
326+
, isValid = IsValid isValid'
327+
, auxiliaryData = SJust (mkAlonzoTxAuxData auxData [])
328+
}
329+
315330
mkSimpleDCertTx ::
316331
[(StakeIndex, StakeCredential StandardCrypto -> ConwayTxCert StandardConway)] ->
317332
ConwayLedgerState ->
@@ -453,6 +468,19 @@ mkTxDelegCert ::
453468
ConwayTxCert StandardConway
454469
mkTxDelegCert f = ConwayTxCertDeleg . f
455470

471+
mkDummyTxBody :: ConwayTxBody StandardConway
472+
mkDummyTxBody =
473+
consTxBody
474+
mempty
475+
mempty
476+
mempty
477+
mempty
478+
SNothing
479+
mempty
480+
mempty
481+
mempty
482+
(Withdrawals mempty)
483+
456484
mkFullTx ::
457485
Int ->
458486
Integer ->

cardano-chain-gen/src/Cardano/Mock/Query.hs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
module Cardano.Mock.Query (
44
queryVersionMajorFromEpoch,
55
queryParamProposalFromEpoch,
6+
queryNullTxDepositExists,
7+
queryMultiAssetCount,
8+
queryTxMetadataCount,
69
) where
710

811
import qualified Cardano.Db as Db
@@ -41,3 +44,27 @@ queryParamProposalFromEpoch epochNo = do
4144
where_ $ prop ^. Db.ParamProposalEpochNo ==. val (Just epochNo)
4245
pure prop
4346
pure $ entityVal <$> res
47+
48+
-- | Query whether there any null tx deposits?
49+
queryNullTxDepositExists :: MonadIO io => ReaderT SqlBackend io Bool
50+
queryNullTxDepositExists = do
51+
res <- select $ do
52+
tx <- from $ table @Db.Tx
53+
where_ $ isNothing_ (tx ^. Db.TxDeposit)
54+
pure $ not (null res)
55+
56+
queryMultiAssetCount :: MonadIO io => ReaderT SqlBackend io Word
57+
queryMultiAssetCount = do
58+
res <- select $ do
59+
_ <- from (table @Db.MultiAsset)
60+
pure countRows
61+
62+
pure $ maybe 0 unValue (listToMaybe res)
63+
64+
queryTxMetadataCount :: MonadIO io => ReaderT SqlBackend io Word
65+
queryTxMetadataCount = do
66+
res <- selectOne $ do
67+
_ <- from (table @Db.TxMetadata)
68+
pure countRows
69+
70+
pure $ maybe 0 unValue res

cardano-chain-gen/test/Test/Cardano/Db/Mock/Config.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ mkSyncNodeParams staticDir mutableDir CommandLineArgs {..} = do
286286
, enpHasOffChainPoolData = True
287287
, enpForceTxIn = claForceTxIn
288288
, enpDisableAllMode = False
289-
, enpFullMode = True
289+
, enpFullMode = claFullMode
290290
, enpOnlyUTxO = False
291291
, enpOnlyGov = False
292292
, enpMigrateConsumed = claMigrateConsumed

cardano-chain-gen/test/Test/Cardano/Db/Mock/Unit/Conway.hs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,11 @@ unitTests iom knownMigrations =
108108
"blocks with txs"
109109
[ test "simple tx" Tx.addSimpleTx
110110
, test "simple tx in Shelley era" Tx.addSimpleTxShelley
111+
, test "simple tx with ledger disabled" Tx.addSimpleTxNoLedger
111112
, test "consume utxo same block" Tx.consumeSameBlock
113+
, test "tx with metadata" Tx.addTxMetadata
114+
, test "tx with metadata disabled" Tx.addTxMetadataDisabled
115+
, test "tx with metadata whitelist" Tx.addTxMetadataWhitelist
112116
]
113117
, testGroup
114118
"stake addresses"
@@ -118,6 +122,8 @@ unitTests iom knownMigrations =
118122
, test "stake address pointers" Stake.stakeAddressPtr
119123
, test "stake address pointers deregistration" Stake.stakeAddressPtrDereg
120124
, test "stake address pointers. Use before registering." Stake.stakeAddressPtrUseBefore
125+
, test "register stake creds" Stake.registerStakeCreds
126+
, test "register stake creds with shelley disabled" Stake.registerStakeCredsNoShelley
121127
]
122128
, testGroup
123129
"stake distribution"
@@ -138,6 +144,7 @@ unitTests iom knownMigrations =
138144
"plutus send scripts"
139145
[ test "simple script lock" Plutus.simpleScript
140146
, test "unlock script in same block" Plutus.unlockScriptSameBlock
147+
, test "unlock script with plutus disabled" Plutus.unlockScriptNoPlutus
141148
, test "failed script" Plutus.failedScript
142149
, test "failed script fees" Plutus.failedScriptFees
143150
, test "failed script in same block" Plutus.failedScriptSameBlock
@@ -165,6 +172,7 @@ unitTests iom knownMigrations =
165172
[ test "mint simple multi asset" Plutus.mintMultiAsset
166173
, test "mint many multi assets" Plutus.mintMultiAssets
167174
, test "swap many multi assets" Plutus.swapMultiAssets
175+
, test "swap with multi assets disabled" Plutus.swapMultiAssetsDisabled
168176
]
169177
, testGroup
170178
"Pools and smash"

cardano-chain-gen/test/Test/Cardano/Db/Mock/Unit/Conway/Config.hs

Lines changed: 0 additions & 152 deletions
This file was deleted.

cardano-chain-gen/test/Test/Cardano/Db/Mock/Unit/Conway/Config/Parse.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import Cardano.DbSync.Error
1919
import Cardano.Mock.ChainSync.Server (IOManager ())
2020
import qualified Cardano.Mock.Forging.Tx.Conway as Conway
2121
import Cardano.Mock.Forging.Types (UTxOIndex (..))
22-
import Cardano.Prelude
22+
import Cardano.Prelude hiding (from, isNothing)
2323
import qualified Data.Aeson as Aeson
2424
import Data.Default.Class (Default (..))
2525
import Test.Cardano.Db.Mock.Config

0 commit comments

Comments
 (0)