Skip to content

Commit 282eef9

Browse files
committed
Finish implementation of Predefined No Confidence DRep test
1 parent 6abeb7f commit 282eef9

File tree

3 files changed

+245
-66
lines changed

3 files changed

+245
-66
lines changed

cardano-testnet/test/cardano-testnet-test/Cardano/Testnet/Test/LedgerEvents/Gov/PredefinedAbstainDRep.hs

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,13 @@ import GHC.Stack (callStack)
3232
import Lens.Micro ((^?))
3333
import System.FilePath ((</>))
3434

35+
import qualified Testnet.Components.DReps as DRep
3536
import Testnet.Components.DReps (createCertificatePublicationTxBody, createVotingTxBody,
36-
generateVoteFiles, retrieveTransactionId, signTx, submitTx)
37+
retrieveTransactionId, signTx, submitTx)
3738
import Testnet.Components.Query (EpochStateView, findLargestUtxoForPaymentKey,
3839
getCurrentEpochNo, getEpochStateView, getMinDRepDeposit)
39-
import Testnet.Defaults (defaultDRepKeyPair, defaultDelegatorStakeKeyPair)
40+
import qualified Testnet.Components.SPO as SPO
41+
import Testnet.Defaults (defaultDRepKeyPair, defaultDelegatorStakeKeyPair, defaultSPOKeys)
4042
import qualified Testnet.Process.Cli as P
4143
import qualified Testnet.Process.Run as H
4244
import qualified Testnet.Property.Utils as H
@@ -209,7 +211,7 @@ desiredPoolNumberProposalTest execConfig epochStateView configurationFile socket
209211
ceo baseDir "proposal" previousProposalInfo (fromIntegral change) wallet
210212

211213
voteChangeProposal execConfig epochStateView sbe baseDir "vote"
212-
governanceActionTxId governanceActionIndex propVotes wallet
214+
governanceActionTxId governanceActionIndex propVotes [] wallet
213215

214216
(EpochNo epochAfterProp) <- getCurrentEpochNo epochStateView
215217
H.note_ $ "Epoch after \"" <> prefix <> "\" prop: " <> show epochAfterProp
@@ -319,26 +321,42 @@ voteChangeProposal :: (MonadTest m, MonadIO m, MonadCatch m, H.MonadAssertion m)
319321
-> FilePath
320322
-> String
321323
-> Word32
322-
-> [([Char], Int)]
324+
-> [(String, Int)]
325+
-> [(String, Int)]
323326
-> PaymentKeyInfo
324327
-> m ()
325-
voteChangeProposal execConfig epochStateView sbe work prefix governanceActionTxId governanceActionIndex votes wallet = do
328+
voteChangeProposal execConfig epochStateView sbe work prefix governanceActionTxId governanceActionIndex drepVotes spoVotes wallet = do
326329
baseDir <- H.createDirectoryIfMissing $ work </> prefix
327330

328331
let era = toCardanoEra sbe
329332
cEra = AnyCardanoEra era
330333

331-
voteFiles <- generateVoteFiles execConfig baseDir "vote-files"
332-
governanceActionTxId governanceActionIndex
333-
[(defaultDRepKeyPair idx, vote) | (vote, idx) <- votes]
334+
drepVoteFiles <- DRep.generateVoteFiles execConfig baseDir "drep-vote-files"
335+
governanceActionTxId governanceActionIndex
336+
[(defaultDRepKeyPair idx, vote) | (vote, idx) <- drepVotes]
337+
338+
spoVoteFiles <- SPO.generateVoteFiles execConfig baseDir "spo-vote-files"
339+
governanceActionTxId governanceActionIndex
340+
[(defaultSPOKeys idx, vote) | (vote, idx) <- spoVotes]
341+
342+
let voteFiles = drepVoteFiles ++ spoVoteFiles
334343

335344
voteTxBodyFp <- createVotingTxBody execConfig epochStateView sbe baseDir "vote-tx-body"
336345
voteFiles wallet
337346

338347
voteTxFp <- signTx execConfig cEra baseDir "signed-vote-tx" voteTxBodyFp
339-
(paymentKeyInfoPair wallet:[defaultDRepKeyPair n | (_, n) <- votes])
348+
(paymentKeyInfoPair wallet:
349+
[defaultDRepKeyPair n | (_, n) <- drepVotes] ++
350+
[defaultSPOColdKeyPair n | (_, n) <- drepVotes]
351+
)
340352
submitTx execConfig cEra voteTxFp
341353

354+
defaultSPOColdKeyPair :: Int -> PaymentKeyPair
355+
defaultSPOColdKeyPair n = PaymentKeyPair { paymentVKey = poolNodeKeysColdVkey spoKeys
356+
, paymentSKey = poolNodeKeysColdSkey spoKeys
357+
}
358+
where spoKeys = defaultSPOKeys n
359+
342360
getDesiredPoolNumberValue :: (MonadTest m, MonadCatch m, MonadIO m) => H.ExecConfig -> m Integer
343361
getDesiredPoolNumberValue execConfig = do
344362
govStateString <- H.execCli' execConfig

0 commit comments

Comments
 (0)