Skip to content

Commit 039ac1e

Browse files
committed
Make genUnRegTxCert a method of ShelleyEraImp
1 parent 11dc2dd commit 039ac1e

File tree

8 files changed

+36
-4
lines changed
  • eras

8 files changed

+36
-4
lines changed

eras/allegra/impl/testlib/Test/Cardano/Ledger/Allegra/ImpTest.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ instance ShelleyEraImp AllegraEra where
4444
expectTxSuccess = impShelleyExpectTxSuccess
4545
registerStakeCredential = shelleyRegisterStakeCredential
4646
genRegTxCert = shelleyGenRegTxCert
47+
genUnRegTxCert = shelleyGenUnRegTxCert
4748

4849
impAllegraSatisfyNativeScript ::
4950
( AllegraEraScript era

eras/alonzo/impl/testlib/Test/Cardano/Ledger/Alonzo/ImpTest.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,7 @@ instance ShelleyEraImp AlonzoEra where
430430
expectTxSuccess = impAlonzoExpectTxSuccess
431431
registerStakeCredential = shelleyRegisterStakeCredential
432432
genRegTxCert = shelleyGenRegTxCert
433+
genUnRegTxCert = shelleyGenUnRegTxCert
433434

434435
instance MaryEraImp AlonzoEra
435436

eras/babbage/impl/testlib/Test/Cardano/Ledger/Babbage/ImpTest.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ instance ShelleyEraImp BabbageEra where
5555
expectTxSuccess = impBabbageExpectTxSuccess
5656
registerStakeCredential = shelleyRegisterStakeCredential
5757
genRegTxCert = shelleyGenRegTxCert
58+
genUnRegTxCert = shelleyGenUnRegTxCert
5859

5960
babbageFixupTx ::
6061
( HasCallStack

eras/conway/impl/testlib/Test/Cardano/Ledger/Conway/Imp/DelegSpec.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ spec = do
230230
expectRegisteredRewardAddress otherRewardAccount
231231
submitAndExpireProposalToMakeReward otherStakeCred
232232
getBalance otherStakeCred `shouldReturn` govActionDeposit
233-
let unRegTxCert = UnRegDepositTxCert stakeCred keyDeposit
233+
unRegTxCert <- genUnRegTxCert stakeCred
234234
submitTx_ . mkBasicTx $
235235
mkBasicTxBody
236236
& certsTxBodyL .~ SSeq.fromList [unRegTxCert]

eras/conway/impl/testlib/Test/Cardano/Ledger/Conway/ImpTest.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ module Test.Cardano.Ledger.Conway.ImpTest (
4545
submitYesVote_,
4646
submitFailingVote,
4747
trySubmitVote,
48-
genUnRegTxCert,
4948
registerDRep,
5049
unRegisterDRep,
5150
updateDRep,
@@ -302,6 +301,7 @@ instance ShelleyEraImp ConwayEra where
302301
expectTxSuccess = impBabbageExpectTxSuccess
303302
registerStakeCredential = conwayRegisterStakeCredential
304303
genRegTxCert = conwayGenRegTxCert
304+
genUnRegTxCert = conwayGenUnRegTxCert
305305

306306
instance MaryEraImp ConwayEra
307307

@@ -390,15 +390,15 @@ unRegisterDRep drep = do
390390
& bodyTxL . certsTxBodyL
391391
.~ SSeq.singleton (UnRegDRepTxCert drep refund)
392392

393-
genUnRegTxCert ::
393+
conwayGenUnRegTxCert ::
394394
forall era.
395395
( ShelleyEraImp era
396396
, ShelleyEraTxCert era
397397
, ConwayEraTxCert era
398398
) =>
399399
Credential 'Staking ->
400400
ImpTestM era (TxCert era)
401-
genUnRegTxCert stakingCredential = do
401+
conwayGenUnRegTxCert stakingCredential = do
402402
accounts <- getsNES (nesEsL . esLStateL . lsCertStateL . certDStateL . accountsL)
403403
case lookupAccountState stakingCredential accounts of
404404
Nothing -> pure $ UnRegTxCert stakingCredential

eras/dijkstra/testlib/Test/Cardano/Ledger/Dijkstra/ImpTest.hs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ module Test.Cardano.Ledger.Dijkstra.ImpTest (
1515
) where
1616

1717
import Cardano.Ledger.BaseTypes
18+
import Cardano.Ledger.Compactible
1819
import Cardano.Ledger.Conway.Governance (ConwayEraGov (..), committeeMembersL)
1920
import Cardano.Ledger.Conway.Rules (
2021
ConwayCertPredFailure (..),
@@ -32,6 +33,7 @@ import Cardano.Ledger.Plutus (SLanguage (..))
3233
import Cardano.Ledger.Shelley.LedgerState
3334
import Cardano.Ledger.Shelley.Rules (ShelleyDelegPredFailure)
3435
import qualified Cardano.Ledger.Shelley.Rules as Shelley
36+
import Cardano.Ledger.State
3537
import Data.Maybe (fromJust)
3638
import qualified Data.Sequence.Strict as SSeq
3739
import Lens.Micro
@@ -58,6 +60,7 @@ instance ShelleyEraImp DijkstraEra where
5860
expectTxSuccess = impBabbageExpectTxSuccess
5961
registerStakeCredential = conwayRegisterStakeCredential
6062
genRegTxCert = dijkstraGenRegTxCert
63+
genUnRegTxCert = dijkstraGenUnRegTxCert
6164

6265
instance MaryEraImp DijkstraEra
6366

@@ -134,3 +137,17 @@ dijkstraGenRegTxCert = do
134137
RegDepositTxCert stakingCredential
135138
<$> getsNES (nesEsL . curPParamsEpochStateL . ppKeyDepositL)
136139
pure (cert, stakingCredential)
140+
141+
dijkstraGenUnRegTxCert ::
142+
forall era.
143+
( ShelleyEraImp era
144+
, ConwayEraTxCert era
145+
) =>
146+
Credential 'Staking ->
147+
ImpTestM era (TxCert era)
148+
dijkstraGenUnRegTxCert stakingCredential = do
149+
accounts <- getsNES (nesEsL . esLStateL . lsCertStateL . certDStateL . accountsL)
150+
case lookupAccountState stakingCredential accounts of
151+
Nothing -> error "TODO"
152+
Just accountState ->
153+
pure $ UnRegDepositTxCert stakingCredential (fromCompact (accountState ^. depositAccountStateL))

eras/mary/impl/testlib/Test/Cardano/Ledger/Mary/ImpTest.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ instance ShelleyEraImp MaryEra where
2929
expectTxSuccess = impShelleyExpectTxSuccess
3030
registerStakeCredential = shelleyRegisterStakeCredential
3131
genRegTxCert = shelleyGenRegTxCert
32+
genUnRegTxCert = shelleyGenUnRegTxCert
3233

3334
class
3435
( ShelleyEraImp era

eras/shelley/impl/testlib/Test/Cardano/Ledger/Shelley/ImpTest.hs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ module Test.Cardano.Ledger.Shelley.ImpTest (
118118
getsPParams,
119119
withEachEraVersion,
120120
shelleyGenRegTxCert,
121+
shelleyGenUnRegTxCert,
121122

122123
-- * Logging
123124
Doc,
@@ -499,6 +500,8 @@ class
499500

500501
genRegTxCert :: HasCallStack => ImpTestM era (TxCert era, Credential 'Staking)
501502

503+
genUnRegTxCert :: HasCallStack => Credential 'Staking -> ImpTestM era (TxCert era)
504+
502505
defaultInitNewEpochState ::
503506
forall era g s m.
504507
( MonadState s m
@@ -744,6 +747,7 @@ instance
744747
expectTxSuccess = impShelleyExpectTxSuccess
745748
registerStakeCredential = shelleyRegisterStakeCredential
746749
genRegTxCert = shelleyGenRegTxCert
750+
genUnRegTxCert = shelleyGenUnRegTxCert
747751

748752
-- | Figure out all the Byron Addresses that need witnesses as well as all of the
749753
-- KeyHashes for Shelley Key witnesses that are required.
@@ -1793,3 +1797,10 @@ shelleyGenRegTxCert ::
17931797
shelleyGenRegTxCert = do
17941798
stakingCredential <- KeyHashObj <$> freshKeyHash
17951799
pure (RegTxCert stakingCredential, stakingCredential)
1800+
1801+
shelleyGenUnRegTxCert ::
1802+
forall era.
1803+
ShelleyEraTxCert era =>
1804+
Credential 'Staking ->
1805+
ImpTestM era (TxCert era)
1806+
shelleyGenUnRegTxCert = pure . UnRegTxCert

0 commit comments

Comments
 (0)