Skip to content

Commit 2c3396c

Browse files
jbgierikd
authored andcommitted
smash: serve original metadata json so that hash match.
1 parent 9d01805 commit 2c3396c

File tree

2 files changed

+8
-7
lines changed
  • cardano-db/src/Cardano/Db
  • cardano-smash-server/src/Cardano/SMASH/Server

2 files changed

+8
-7
lines changed

cardano-db/src/Cardano/Db/Query.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -656,14 +656,14 @@ queryReservedTickers :: MonadIO m => ReaderT SqlBackend m [ReservedPoolTicker]
656656
queryReservedTickers =
657657
fmap entityVal <$> selectList [] []
658658

659-
queryPoolOfflineData :: MonadIO m => ByteString -> ByteString -> ReaderT SqlBackend m (Maybe (Text, Text))
659+
queryPoolOfflineData :: MonadIO m => ByteString -> ByteString -> ReaderT SqlBackend m (Maybe (Text, ByteString))
660660
queryPoolOfflineData poolHash poolMetadataHash = do
661661
res <- select . from $ \ (pod `InnerJoin` ph) -> do
662662
on (pod ^. PoolOfflineDataPoolId ==. ph ^. PoolHashId)
663663
where_ (ph ^. PoolHashHashRaw ==. val poolHash)
664664
where_ (pod ^. PoolOfflineDataHash ==. val poolMetadataHash)
665665
limit 1
666-
pure (pod ^. PoolOfflineDataTickerName, pod ^. PoolOfflineDataJson)
666+
pure (pod ^. PoolOfflineDataTickerName, pod ^. PoolOfflineDataBytes)
667667
pure $ unValue2 <$> listToMaybe res
668668

669669
queryPoolRegister :: MonadIO m => Maybe ByteString -> ReaderT SqlBackend m [PoolCert]

cardano-smash-server/src/Cardano/SMASH/Server/Types.hs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import Data.Aeson (FromJSON (..), ToJSON (..), object, withObject, (.:
1515
import qualified Data.Aeson as Aeson
1616
import Data.Aeson.Encoding (unsafeToEncoding)
1717
import qualified Data.Aeson.Types ()
18+
import qualified Data.ByteString.Builder as BSB
1819
import qualified Data.ByteString.Lazy as LBS
1920
import Data.Swagger (NamedSchema (..), ToParamSchema (..), ToSchema (..))
20-
import qualified Data.Text.Encoding as Text
2121
import Data.Time.Clock (UTCTime)
2222
import qualified Data.Time.Clock.POSIX as Time
2323
import Data.Time.Format (defaultTimeLocale, formatTime, parseTimeM)
@@ -315,19 +315,20 @@ instance ToSchema PoolIdBlockNumber
315315

316316
-- | The stake pool metadata in JSON format. This type represents it in
317317
-- its raw original form. The hash of this content is the 'PoolMetadataHash'.
318-
newtype PoolMetadataRaw = PoolMetadataRaw { getPoolMetadata :: Text }
318+
newtype PoolMetadataRaw = PoolMetadataRaw { getPoolMetadata :: ByteString }
319319
deriving stock (Eq, Show, Ord, Generic)
320320

321321
instance MimeUnrender OctetStream PoolMetadataRaw where
322-
mimeUnrender _ = Right . PoolMetadataRaw . Text.decodeUtf8 . LBS.toStrict
322+
mimeUnrender _ = Right . PoolMetadataRaw . LBS.toStrict
323323

324324
-- Here we are usingg the unsafe encoding since we already have the JSON format
325325
-- from the database.
326326
instance ToJSON PoolMetadataRaw where
327327
toJSON (PoolMetadataRaw metadata) = toJSON metadata
328-
toEncoding (PoolMetadataRaw metadata) = unsafeToEncoding $ Text.encodeUtf8Builder metadata
328+
toEncoding (PoolMetadataRaw metadata) = unsafeToEncoding $ BSB.byteString metadata
329329

330-
instance ToSchema PoolMetadataRaw
330+
instance ToSchema PoolMetadataRaw where
331+
declareNamedSchema _ = pure (NamedSchema (Just "RawPoolMetadata") mempty)
331332

332333
-- |Specific time string format.
333334
newtype TimeStringFormat = TimeStringFormat { unTimeStringFormat :: UTCTime }

0 commit comments

Comments
 (0)