Skip to content

Commit

Permalink
Rename TxCertGenesisDeleg pattern to GenesisDelegTxCert
Browse files Browse the repository at this point in the history
  • Loading branch information
teodanciu committed Jun 2, 2023
1 parent 9ea3df7 commit 042ddec
Show file tree
Hide file tree
Showing 12 changed files with 54 additions and 60 deletions.
6 changes: 3 additions & 3 deletions eras/allegra/impl/src/Cardano/Ledger/Allegra/TxCert.hs
Expand Up @@ -44,10 +44,10 @@ instance Crypto c => ShelleyEraTxCert (AllegraEra c) where
getDelegStakeTxCert (ShelleyTxCertDelegCert (ShelleyDelegCert c kh)) = Just (c, kh)
getDelegStakeTxCert _ = Nothing

mkTxCertGenesisDeleg = ShelleyTxCertGenesisDeleg
mkGenesisDelegTxCert = ShelleyTxCertGenesisDeleg

getTxCertGenesisDeleg (ShelleyTxCertGenesisDeleg c) = Just c
getTxCertGenesisDeleg _ = Nothing
getGenesisDelegTxCert (ShelleyTxCertGenesisDeleg c) = Just c
getGenesisDelegTxCert _ = Nothing

mkTxCertMir = ShelleyTxCertMir

Expand Down
6 changes: 3 additions & 3 deletions eras/alonzo/impl/src/Cardano/Ledger/Alonzo/TxCert.hs
Expand Up @@ -44,10 +44,10 @@ instance Crypto c => ShelleyEraTxCert (AlonzoEra c) where
getDelegStakeTxCert (ShelleyTxCertDelegCert (ShelleyDelegCert c kh)) = Just (c, kh)
getDelegStakeTxCert _ = Nothing

mkTxCertGenesisDeleg = ShelleyTxCertGenesisDeleg
mkGenesisDelegTxCert = ShelleyTxCertGenesisDeleg

getTxCertGenesisDeleg (ShelleyTxCertGenesisDeleg c) = Just c
getTxCertGenesisDeleg _ = Nothing
getGenesisDelegTxCert (ShelleyTxCertGenesisDeleg c) = Just c
getGenesisDelegTxCert _ = Nothing

mkTxCertMir = ShelleyTxCertMir

Expand Down
6 changes: 3 additions & 3 deletions eras/babbage/impl/src/Cardano/Ledger/Babbage/TxCert.hs
Expand Up @@ -44,10 +44,10 @@ instance Crypto c => ShelleyEraTxCert (BabbageEra c) where
getDelegStakeTxCert (ShelleyTxCertDelegCert (ShelleyDelegCert c kh)) = Just (c, kh)
getDelegStakeTxCert _ = Nothing

mkTxCertGenesisDeleg = ShelleyTxCertGenesisDeleg
mkGenesisDelegTxCert = ShelleyTxCertGenesisDeleg

getTxCertGenesisDeleg (ShelleyTxCertGenesisDeleg c) = Just c
getTxCertGenesisDeleg _ = Nothing
getGenesisDelegTxCert (ShelleyTxCertGenesisDeleg c) = Just c
getGenesisDelegTxCert _ = Nothing

mkTxCertMir = ShelleyTxCertMir

Expand Down
4 changes: 2 additions & 2 deletions eras/conway/impl/src/Cardano/Ledger/Conway/TxCert.hs
Expand Up @@ -97,8 +97,8 @@ instance Crypto c => ShelleyEraTxCert (ConwayEra c) where
getDelegStakeTxCert (ConwayTxCertDeleg (ConwayDelegCert c (DelegStake kh))) = Just (c, kh)
getDelegStakeTxCert _ = Nothing

mkTxCertGenesisDeleg = notSupportedInThisEra
getTxCertGenesisDeleg _ = Nothing
mkGenesisDelegTxCert = notSupportedInThisEra
getGenesisDelegTxCert _ = Nothing

mkTxCertMir = notSupportedInThisEra
getTxCertMir = const Nothing
Expand Down
6 changes: 3 additions & 3 deletions eras/mary/impl/src/Cardano/Ledger/Mary/TxCert.hs
Expand Up @@ -52,10 +52,10 @@ instance Crypto c => ShelleyEraTxCert (MaryEra c) where
getDelegStakeTxCert (ShelleyTxCertDelegCert (ShelleyDelegCert c kh)) = Just (c, kh)
getDelegStakeTxCert _ = Nothing

mkTxCertGenesisDeleg = ShelleyTxCertGenesisDeleg
mkGenesisDelegTxCert = ShelleyTxCertGenesisDeleg

getTxCertGenesisDeleg (ShelleyTxCertGenesisDeleg c) = Just c
getTxCertGenesisDeleg _ = Nothing
getGenesisDelegTxCert (ShelleyTxCertGenesisDeleg c) = Just c
getGenesisDelegTxCert _ = Nothing

mkTxCertMir = ShelleyTxCertMir

Expand Down
5 changes: 2 additions & 3 deletions eras/shelley/impl/src/Cardano/Ledger/Shelley/Rules/Deleg.hs
Expand Up @@ -57,10 +57,9 @@ import Cardano.Ledger.Shelley.TxBody (
Ptr,
)
import Cardano.Ledger.Shelley.TxCert (
GenesisDelegCert (..),
pattern DelegStakeTxCert,
pattern GenesisDelegTxCert,
pattern RegTxCert,
pattern TxCertGenesisDeleg,
pattern UnRegTxCert,
)
import Cardano.Ledger.Slot (
Expand Down Expand Up @@ -295,7 +294,7 @@ delegationTransition = do
UM.member hk (rewards ds) ?! StakeDelegationImpossibleDELEG hk

pure (ds {dsUnified = delegations ds UM. Map.singleton hk dpool})
TxCertGenesisDeleg (GenesisDelegCert gkh vkh vrf) -> do
GenesisDelegTxCert gkh vkh vrf -> do
sp <- liftSTS $ asks stabilityWindow
-- note that pattern match is used instead of genesisDeleg, as in the spec
let s' = slot +* Duration sp
Expand Down
4 changes: 2 additions & 2 deletions eras/shelley/impl/src/Cardano/Ledger/Shelley/Rules/Pool.hs
Expand Up @@ -53,8 +53,8 @@ import Cardano.Ledger.Shelley.TxBody (
import Cardano.Ledger.Shelley.TxCert (
isInstantaneousRewards,
pattern DelegStakeTxCert,
pattern GenesisDelegTxCert,
pattern RegTxCert,
pattern TxCertGenesisDeleg,
pattern UnRegTxCert,
)
import Cardano.Ledger.Slot (EpochNo (..), SlotNo, epochInfoEpoch)
Expand Down Expand Up @@ -245,7 +245,7 @@ poolDelegationTransition = do
DelegStakeTxCert _ _ -> do
failBecause $ WrongCertificateTypePOOL 0
pure ps
TxCertGenesisDeleg _ -> do
GenesisDelegTxCert _ _ _ -> do
failBecause $ WrongCertificateTypePOOL 2
pure ps
_ | isInstantaneousRewards c -> do
Expand Down
4 changes: 2 additions & 2 deletions eras/shelley/impl/src/Cardano/Ledger/Shelley/Rules/Reports.hs
Expand Up @@ -34,8 +34,8 @@ import Cardano.Ledger.Shelley.TxBody
import Cardano.Ledger.Shelley.TxCert (
isInstantaneousRewards,
pattern DelegStakeTxCert,
pattern GenesisDelegTxCert,
pattern RegTxCert,
pattern TxCertGenesisDeleg,
pattern UnRegTxCert,
)
import Cardano.Ledger.UTxO (UTxO (..))
Expand All @@ -57,7 +57,7 @@ synopsisCert x = case x of
DelegStakeTxCert cred _ -> "ShelleyDelegCert" ++ take 10 (showCred cred)
RegPoolTxCert pool -> let KeyHash hash = ppId pool in "RegPool " ++ take 10 (show hash)
RetirePoolTxCert khash e -> "RetirePool " ++ showKeyHash khash ++ " " ++ show e
TxCertGenesisDeleg _ -> "GenesisCert"
GenesisDelegTxCert _ _ _ -> "GenesisCert"
_ | isInstantaneousRewards x -> "MirCert"
_ -> error "Impossible"

Expand Down
35 changes: 19 additions & 16 deletions eras/shelley/impl/src/Cardano/Ledger/Shelley/TxCert.hs
Expand Up @@ -25,7 +25,7 @@
module Cardano.Ledger.Shelley.TxCert (
ShelleyEraTxCert (..),
pattern TxCertMir,
pattern TxCertGenesisDeleg,
pattern GenesisDelegTxCert,
pattern RegTxCert,
pattern UnRegTxCert,
pattern DelegStakeTxCert,
Expand Down Expand Up @@ -123,7 +123,6 @@ instance Crypto c => EraTxCert (ShelleyEra c) where
getRetirePoolTxCert _ = Nothing

class EraTxCert era => ShelleyEraTxCert era where

mkRegTxCert :: StakeCredential (EraCrypto era) -> TxCert era
getRegTxCert :: TxCert era -> Maybe (StakeCredential (EraCrypto era))

Expand All @@ -135,8 +134,8 @@ class EraTxCert era => ShelleyEraTxCert era where
getDelegStakeTxCert ::
TxCert era -> Maybe (StakeCredential (EraCrypto era), KeyHash 'StakePool (EraCrypto era))

mkTxCertGenesisDeleg :: GenesisDelegCert (EraCrypto era) -> TxCert era
getTxCertGenesisDeleg :: TxCert era -> Maybe (GenesisDelegCert (EraCrypto era))
mkGenesisDelegTxCert :: GenesisDelegCert (EraCrypto era) -> TxCert era
getGenesisDelegTxCert :: TxCert era -> Maybe (GenesisDelegCert (EraCrypto era))

mkTxCertMir :: ProtVerAtMost era 8 => MIRCert (EraCrypto era) -> TxCert era
getTxCertMir :: TxCert era -> Maybe (MIRCert (EraCrypto era))
Expand All @@ -159,10 +158,10 @@ instance Crypto c => ShelleyEraTxCert (ShelleyEra c) where
getDelegStakeTxCert (ShelleyTxCertDelegCert (ShelleyDelegCert c kh)) = Just (c, kh)
getDelegStakeTxCert _ = Nothing

mkTxCertGenesisDeleg = ShelleyTxCertGenesisDeleg
mkGenesisDelegTxCert = ShelleyTxCertGenesisDeleg

getTxCertGenesisDeleg (ShelleyTxCertGenesisDeleg c) = Just c
getTxCertGenesisDeleg _ = Nothing
getGenesisDelegTxCert (ShelleyTxCertGenesisDeleg c) = Just c
getGenesisDelegTxCert _ = Nothing

mkTxCertMir = ShelleyTxCertMir

Expand Down Expand Up @@ -193,13 +192,17 @@ pattern TxCertMir d <- (getTxCertMir -> Just d)
where
TxCertMir d = mkTxCertMir d

pattern TxCertGenesisDeleg ::
pattern GenesisDelegTxCert ::
ShelleyEraTxCert era =>
GenesisDelegCert (EraCrypto era) ->
KeyHash 'Genesis (EraCrypto era) ->
KeyHash 'GenesisDelegate (EraCrypto era) ->
Hash (EraCrypto era) (VerKeyVRF (EraCrypto era)) ->
TxCert era
pattern TxCertGenesisDeleg d <- (getTxCertGenesisDeleg -> Just d)
pattern GenesisDelegTxCert genKey genDelegKey vrf <-
(getGenesisDelegTxCert -> Just (GenesisDelegCert genKey genDelegKey vrf))
where
TxCertGenesisDeleg d = mkTxCertGenesisDeleg d
GenesisDelegTxCert genKey genDelegKey vrf =
mkGenesisDelegTxCert $ GenesisDelegCert genKey genDelegKey vrf

-- | Genesis key delegation certificate
data GenesisDelegCert c
Expand Down Expand Up @@ -348,10 +351,10 @@ instance
| 0 <= t && t < 3 -> shelleyTxCertDelegDecoder t
| 3 <= t && t < 5 -> poolTxCertDecoder t
5 -> do
a <- decCBOR
b <- decCBOR
c <- decCBOR
pure (4, TxCertGenesisDeleg $ GenesisDelegCert a b c)
gen <- decCBOR
genDeleg <- decCBOR
vrf <- decCBOR
pure (4, GenesisDelegTxCert gen genDeleg vrf)
6 -> do
x <- decCBOR
pure (2, ShelleyTxCertMir x)
Expand Down Expand Up @@ -446,7 +449,7 @@ isDelegation _ = False

-- | Check for 'GenesisDelegate' constructor
isGenesisDelegation :: ShelleyEraTxCert era => TxCert era -> Bool
isGenesisDelegation = isJust . getTxCertGenesisDeleg
isGenesisDelegation = isJust . getGenesisDelegTxCert

-- | Check for 'RegPool' constructor
isRegPool :: EraTxCert era => TxCert era -> Bool
Expand Down
Expand Up @@ -49,10 +49,9 @@ import Cardano.Ledger.Shelley.Core
import qualified Cardano.Ledger.Shelley.HardForks as HardForks
import Cardano.Ledger.Shelley.LedgerState (availableAfterMIR, rewards)
import Cardano.Ledger.Shelley.TxCert (
GenesisDelegCert (..),
pattern DelegStakeTxCert,
pattern GenesisDelegTxCert,
pattern RegTxCert,
pattern TxCertGenesisDeleg,
pattern UnRegTxCert,
)
import Cardano.Ledger.Slot (EpochNo (EpochNo), SlotNo)
Expand Down Expand Up @@ -346,12 +345,10 @@ genGenesisDelegation coreNodes delegateKeys dpState =
hashVKey = hashKey . vKey
mkCert gkey key vrf =
Just
( TxCertGenesisDeleg
( GenesisDelegCert
(hashVKey gkey)
(hashVKey key)
(hashVerKeyVRF vrf)
)
( GenesisDelegTxCert
(hashVKey gkey)
(hashVKey key)
(hashVerKeyVRF vrf)
, CoreKeyCred [gkey]
)
GenDelegs genDelegs_ = dsGenDelegs $ certDState dpState
Expand Down
Expand Up @@ -40,7 +40,7 @@ import Cardano.Ledger.Shelley.TxBody (
ShelleyTxBody (..),
ShelleyTxOut (..),
)
import Cardano.Ledger.Shelley.TxCert (GenesisDelegCert (..), pattern TxCertGenesisDeleg)
import Cardano.Ledger.Shelley.TxCert (pattern GenesisDelegTxCert)
import Cardano.Ledger.Shelley.TxWits (ShelleyTxWits, addrWits)
import Cardano.Ledger.Slot (BlockNo (..), SlotNo (..))
import Cardano.Ledger.TxIn (TxIn (..))
Expand Down Expand Up @@ -133,12 +133,10 @@ txbodyEx1 =
(Set.fromList [TxIn genesisId minBound])
(StrictSeq.singleton $ ShelleyTxOut Cast.aliceAddr aliceCoinEx1)
( StrictSeq.fromList
[ TxCertGenesisDeleg
( GenesisDelegCert
(hashKey (coreNodeVK 0))
(hashKey (vKey newGenDelegate))
(newGenesisVrfKH @c)
)
[ GenesisDelegTxCert
(hashKey (coreNodeVK 0))
(hashKey (vKey newGenDelegate))
(newGenesisVrfKH @c)
]
)
(Withdrawals Map.empty)
Expand Down
Expand Up @@ -111,10 +111,9 @@ import Cardano.Ledger.Shelley.TxBody (
pattern RewardAcnt,
)
import Cardano.Ledger.Shelley.TxCert (
GenesisDelegCert (..),
pattern DelegStakeTxCert,
pattern GenesisDelegTxCert,
pattern RegTxCert,
pattern TxCertGenesisDeleg,
pattern TxCertMir,
pattern UnRegTxCert,
)
Expand Down Expand Up @@ -622,12 +621,10 @@ tests =
, checkEncodingCBOR
shelleyProtVer
"genesis_delegation"
( TxCertGenesisDeleg @C
( GenesisDelegCert @C_Crypto
testGKeyHash
(hashKey . vKey $ testGenesisDelegateKey @C_Crypto)
(testVRFKH @C_Crypto)
)
( GenesisDelegTxCert @C
testGKeyHash
(hashKey . vKey $ testGenesisDelegateKey @C_Crypto)
(testVRFKH @C_Crypto)
)
( T
( TkListLen 4
Expand Down

0 comments on commit 042ddec

Please sign in to comment.