@@ -40,6 +40,7 @@ import VVA.Config
4040import qualified VVA.DRep as DRep
4141import qualified VVA.Epoch as Epoch
4242import VVA.Network as Network
43+ import VVA.Account as Account
4344import qualified VVA.Proposal as Proposal
4445import qualified VVA.Transaction as Transaction
4546import qualified VVA.Types as Types
@@ -85,6 +86,7 @@ type VVAApi =
8586 :<|> " network" :> " metrics" :> Get '[JSON ] GetNetworkMetricsResponse
8687 :<|> " network" :> " info" :> Get '[JSON ] GetNetworkInfoResponse
8788 :<|> " network" :> " total-stake" :> Get '[JSON ] GetNetworkTotalStakeResponse
89+ :<|> " account" :> Capture " stakeKey" HexText :> Get '[JSON ] GetAccountInfoResponse
8890
8991server :: App m => ServerT VVAApi m
9092server = drepList
@@ -103,6 +105,7 @@ server = drepList
103105 :<|> getNetworkMetrics
104106 :<|> getNetworkInfo
105107 :<|> getNetworkTotalStake
108+ :<|> getAccountInfo
106109
107110mapDRepType :: Types. DRepType -> DRepType
108111mapDRepType Types. DRep = NormalDRep
@@ -527,3 +530,14 @@ getNetworkMetrics = do
527530 , getNetworkMetricsResponseQuorumNumerator = networkMetricsQuorumNumerator
528531 , getNetworkMetricsResponseQuorumDenominator = networkMetricsQuorumDenominator
529532 }
533+
534+ getAccountInfo :: App m => HexText -> m GetAccountInfoResponse
535+ getAccountInfo (unHexText -> stakeKey) = do
536+ -- CacheEnv {accountInfoCache} <- asks vvaCache
537+ Types. AccountInfo {.. } <- Account. accountInfo stakeKey
538+ return $ GetAccountInfoResponse
539+ { getAccountInfoResponseId = accountInfoId
540+ , getAccountInfoResponseView = accountInfoView
541+ , getAccountInfoResponseIsRegistered = accountInfoIsRegistered
542+ , getAccountInfoResponseIsScriptBased = accountInfoIsScriptBased
543+ }
0 commit comments