module Cardano.CLI.Read.GovernanceActionId
  ( readGoveranceActionIdHexText
  )
where

import Cardano.Api.Governance
import Cardano.Api.Ledger qualified as L
import Cardano.Api.Parser.Text as P
import Cardano.Api.Tx

import Data.Text (Text)

readGoveranceActionIdHexText :: Text -> Either String L.GovActionId
readGoveranceActionIdHexText :: Text -> Either String GovActionId
readGoveranceActionIdHexText Text
hexText = do
  TxIn txid (TxIx index) <- Parser TxIn -> Text -> Either String TxIn
forall a. Parser a -> Text -> Either String a
P.runParser Parser TxIn
parseTxIn Text
hexText
  return $ createGovernanceActionId txid $ fromIntegral index