Skip to content

Commit 7d69b15

Browse files
committed
Add getAnchorDataFromCertificate to new api
1 parent 9e1bdd4 commit 7d69b15

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

cardano-api/src/Cardano/Api/Experimental.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ module Cardano.Api.Experimental
2222
, hashTxBody
2323
, evaluateTransactionExecutionUnitsShelley
2424
, Certificate (..)
25+
, AnchorDataFromCertificateError (..)
26+
, getAnchorDataFromCertificate
2527
, mkTxCertificates
2628

2729
-- ** Transaction fee related

cardano-api/src/Cardano/Api/Experimental/Tx/Internal/Certificate.hs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
{-# LANGUAGE FlexibleContexts #-}
33
{-# LANGUAGE FlexibleInstances #-}
44
{-# LANGUAGE GADTs #-}
5+
{-# LANGUAGE InstanceSigs #-}
56
{-# LANGUAGE RankNTypes #-}
67
{-# LANGUAGE ScopedTypeVariables #-}
78
{-# LANGUAGE StandaloneDeriving #-}
@@ -13,13 +14,16 @@
1314

1415
module Cardano.Api.Experimental.Tx.Internal.Certificate
1516
( Certificate (..)
17+
, AnchorDataFromCertificateError (..)
18+
, getAnchorDataFromCertificate
1619
)
1720
where
1821

1922
import Cardano.Api.Certificate.Internal qualified as Api
2023
import Cardano.Api.Era.Internal.Eon.ConwayEraOnwards
2124
import Cardano.Api.Era.Internal.Eon.ShelleyBasedEra
2225
import Cardano.Api.Era.Internal.Eon.ShelleyToBabbageEra qualified as Api
26+
import Cardano.Api.Error
2327
import Cardano.Api.Experimental.Era
2428
import Cardano.Api.HasTypeProxy
2529
import Cardano.Api.Ledger qualified as L
@@ -105,3 +109,12 @@ getAnchorDataFromCertificate ConwayEra (Certificate c) =
105109
, Ledger.anchorDataHash = Ledger.unsafeMakeSafeHash hash
106110
}
107111
)
112+
113+
data AnchorDataFromCertificateError
114+
= InvalidPoolMetadataHashError Ledger.Url ByteString
115+
deriving (Eq, Show)
116+
117+
instance Error AnchorDataFromCertificateError where
118+
prettyError :: AnchorDataFromCertificateError -> Doc ann
119+
prettyError (InvalidPoolMetadataHashError url hash) =
120+
"Invalid pool metadata hash for URL " <> fromString (show url) <> ": " <> fromString (show hash)

0 commit comments

Comments
 (0)