@@ -30,27 +30,29 @@ import Cardano.Api.Experimental.Certificate (Certificate (..))
3030import Cardano.Api.Serialise.Raw qualified as Api
3131
3232import Cardano.Ledger.Api (Delegatee (DelegStake ))
33- import Cardano.Wasm.ExceptionHandling (rightOrError )
33+ import Cardano.Wasm.ExceptionHandling (justOrError , rightOrError )
34+ import Cardano.Wasm.Internal.Api.Era (currentEra , experimentalEra )
3435
3536import Control.Monad.Catch (MonadThrow )
3637import Data.ByteString.Base16 qualified as Base16
3738import Data.Text qualified as Text
3839import Data.Text.Encoding qualified as Text
3940
40- -- | Make a certificate that delegates a stake address to a stake pool in Conway era.
41+ -- | Make a certificate that delegates a stake address to a stake pool in the current era.
4142makeStakeAddressStakeDelegationCertificateImpl :: MonadThrow m => String -> String -> m String
4243makeStakeAddressStakeDelegationCertificateImpl skHashStr poolIdStr = do
4344 stakeCertHash <- readHash skHashStr
4445 poolId <- readPoolId poolIdStr
45- makeStakeAddressStakeDelegationCertificate Exp. ConwayEra stakeCertHash poolId
46+ makeStakeAddressStakeDelegationCertificate currentEra stakeCertHash poolId
4647
4748-- | Make a certificate that delegates a stake address to a stake pool in the current experimental era.
4849makeStakeAddressStakeDelegationCertificateExperimentalEraImpl
4950 :: MonadThrow m => String -> String -> m String
5051makeStakeAddressStakeDelegationCertificateExperimentalEraImpl skHashStr poolIdStr = do
5152 stakeCertHash <- readHash skHashStr
5253 poolId <- readPoolId poolIdStr
53- makeStakeAddressStakeDelegationCertificate Exp. DijkstraEra stakeCertHash poolId
54+ era <- justOrError " No experimental era available" experimentalEra
55+ makeStakeAddressStakeDelegationCertificate era stakeCertHash poolId
5456
5557makeStakeAddressStakeDelegationCertificate
5658 :: forall era m . MonadThrow m => Exp. Era era -> Hash StakeKey -> PoolId -> m String
@@ -65,18 +67,19 @@ makeStakeAddressStakeDelegationCertificate era stakeCertHash poolId =
6567 )
6668 return $ serialiseCertificateToCBOR era cert
6769
68- -- | Make a stake address registration certificate in Conway era.
70+ -- | Make a stake address registration certificate in the current era.
6971makeStakeAddressRegistrationCertificateImpl :: MonadThrow m => String -> Integer -> m String
7072makeStakeAddressRegistrationCertificateImpl skHashStr deposit = do
7173 skHash <- readHash skHashStr
72- makeStakeAddressRegistrationCertificateWrapper Exp. ConwayEra skHash deposit
74+ makeStakeAddressRegistrationCertificateWrapper currentEra skHash deposit
7375
7476-- | Make a stake address registration certificate in the current experimental era.
7577makeStakeAddressRegistrationCertificateExperimentalEraImpl
7678 :: MonadThrow m => String -> Integer -> m String
7779makeStakeAddressRegistrationCertificateExperimentalEraImpl skHashStr deposit = do
7880 skHash <- readHash skHashStr
79- makeStakeAddressRegistrationCertificateWrapper Exp. DijkstraEra skHash deposit
81+ era <- justOrError " No experimental era available" experimentalEra
82+ makeStakeAddressRegistrationCertificateWrapper era skHash deposit
8083
8184makeStakeAddressRegistrationCertificateWrapper
8285 :: forall era m . MonadThrow m => Era era -> Hash StakeKey -> Integer -> m String
@@ -88,18 +91,19 @@ makeStakeAddressRegistrationCertificateWrapper era skHash deposit =
8891 (Coin deposit)
8992 return $ serialiseCertificateToCBOR era cert
9093
91- -- | Make a stake address unregistration certificate in Conway era.
94+ -- | Make a stake address unregistration certificate in the current era.
9295makeStakeAddressUnregistrationCertificateImpl :: MonadThrow m => String -> Integer -> m String
9396makeStakeAddressUnregistrationCertificateImpl skHashStr deposit = do
9497 skHash <- readHash skHashStr
95- makeStakeAddressUnregistrationCertificateWrapper Exp. ConwayEra skHash deposit
98+ makeStakeAddressUnregistrationCertificateWrapper currentEra skHash deposit
9699
97100-- | Make a stake address unregistration certificate in the current experimental era.
98101makeStakeAddressUnregistrationCertificateExperimentalEraImpl
99102 :: MonadThrow m => String -> Integer -> m String
100103makeStakeAddressUnregistrationCertificateExperimentalEraImpl skHashStr deposit = do
101104 skHash <- readHash skHashStr
102- makeStakeAddressUnregistrationCertificateWrapper Exp. DijkstraEra skHash deposit
105+ era <- justOrError " No experimental era available" experimentalEra
106+ makeStakeAddressUnregistrationCertificateWrapper era skHash deposit
103107
104108makeStakeAddressUnregistrationCertificateWrapper
105109 :: forall era m . MonadThrow m => Era era -> Hash StakeKey -> Integer -> m String
0 commit comments