Skip to content

Commit de9178b

Browse files
authored
Add slotsInEpoch and slotsToEpochEnd to query tip command (#4912)
* Add slotsInEpoch and slotsToEpochEnd to query tip command * Update changelog for new slotsInEpoch and slotsToEpochEnd fields in output of query tip command
1 parent 18d5ab4 commit de9178b

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

cardano-cli/ChangeLog.md

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212

1313
- Allow assembling transactions with no witnesses ([PR 4408](https://github.com/input-output-hk/cardano-node/pull/4408))
1414

15+
- Add `slotInEpoch` and `slotsToEpochEnd` to output of `query tip` command ([PR 4912](https://github.com/input-output-hk/cardano-node/pull/4912))
16+
1517
### Bugs
1618

1719
- Allow reading signing keys from a pipe ([PR 4342](https://github.com/input-output-hk/cardano-node/pull/4342))

cardano-cli/src/Cardano/CLI/Shelley/Output.hs

+16
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,8 @@ data QueryTipLocalStateOutput = QueryTipLocalStateOutput
150150
{ localStateChainTip :: ChainTip
151151
, mEra :: Maybe AnyCardanoEra
152152
, mEpoch :: Maybe EpochNo
153+
, mSlotInEpoch :: Maybe Word64
154+
, mSlotsToEpochEnd :: Maybe Word64
153155
, mSyncProgress :: Maybe Text
154156
} deriving Show
155157

@@ -169,6 +171,8 @@ instance ToJSON QueryTipLocalStateOutput where
169171
object $
170172
( ("era" ..=? mEra a)
171173
. ("epoch" ..=? mEpoch a)
174+
. ("slotInEpoch" ..=? mSlotInEpoch a)
175+
. ("slotsToEpochEnd" ..=? mSlotsToEpochEnd a)
172176
. ("syncProgress" ..=? mSyncProgress a)
173177
) []
174178
ChainTip slotNo blockHeader blockNo ->
@@ -178,13 +182,17 @@ instance ToJSON QueryTipLocalStateOutput where
178182
. ("block" ..= blockNo)
179183
. ("era" ..=? mEra a)
180184
. ("epoch" ..=? mEpoch a)
185+
. ("slotInEpoch" ..=? mSlotInEpoch a)
186+
. ("slotsToEpochEnd" ..=? mSlotsToEpochEnd a)
181187
. ("syncProgress" ..=? mSyncProgress a)
182188
) []
183189
toEncoding a = case localStateChainTip a of
184190
ChainTipAtGenesis ->
185191
pairs $ mconcat $
186192
( ("era" ..=? mEra a)
187193
. ("epoch" ..=? mEpoch a)
194+
. ("slotInEpoch" ..=? mSlotInEpoch a)
195+
. ("slotsToEpochEnd" ..=? mSlotsToEpochEnd a)
188196
. ("syncProgress" ..=? mSyncProgress a)
189197
) []
190198
ChainTip slotNo blockHeader blockNo ->
@@ -194,6 +202,8 @@ instance ToJSON QueryTipLocalStateOutput where
194202
. ("block" ..= blockNo)
195203
. ("era" ..=? mEra a)
196204
. ("epoch" ..=? mEpoch a)
205+
. ("slotInEpoch" ..=? mSlotInEpoch a)
206+
. ("slotsToEpochEnd" ..=? mSlotsToEpochEnd a)
197207
. ("syncProgress" ..=? mSyncProgress a)
198208
) []
199209

@@ -206,18 +216,24 @@ instance FromJSON QueryTipLocalStateOutput where
206216
mSlot <- o .:? "slot"
207217
mHash <- o .:? "hash"
208218
mBlock <- o .:? "block"
219+
mSlotInEpoch' <- o .:? "slotInEpoch"
220+
mSlotsToEpochEnd' <- o .:? "slotsToEpochEnd"
209221
case (mSlot, mHash, mBlock) of
210222
(Nothing, Nothing, Nothing) ->
211223
pure $ QueryTipLocalStateOutput
212224
ChainTipAtGenesis
213225
mEra'
214226
mEpoch'
227+
mSlotInEpoch'
228+
mSlotsToEpochEnd'
215229
mSyncProgress'
216230
(Just slot, Just hash, Just block) ->
217231
pure $ QueryTipLocalStateOutput
218232
(ChainTip slot hash block)
219233
mEra'
220234
mEpoch'
235+
mSlotInEpoch'
236+
mSlotsToEpochEnd'
221237
mSyncProgress'
222238
(_,_,_) ->
223239
fail $ mconcat

cardano-cli/src/Cardano/CLI/Shelley/Run/Query.hs

+5-1
Original file line numberDiff line numberDiff line change
@@ -340,9 +340,11 @@ runQueryTip (AnyConsensusModeParams cModeParams) network mOutFile = do
340340
, O.mEra = Nothing
341341
, O.mEpoch = Nothing
342342
, O.mSyncProgress = Nothing
343+
, O.mSlotInEpoch = Nothing
344+
, O.mSlotsToEpochEnd = Nothing
343345
}
344346

345-
Right (epochNo, _, _) -> do
347+
Right (epochNo, SlotsInEpoch slotsInEpoch, SlotsToEpochEnd slotsToEpochEnd) -> do
346348
syncProgressResult <- runExceptT $ do
347349
systemStart <- fmap getSystemStart (O.mSystemStart localState) & hoistMaybe ShelleyQueryCmdSystemStartUnavailable
348350
nowSeconds <- toRelativeTime (SystemStart systemStart) <$> liftIO getCurrentTime
@@ -359,6 +361,8 @@ runQueryTip (AnyConsensusModeParams cModeParams) network mOutFile = do
359361
{ O.localStateChainTip = chainTip
360362
, O.mEra = Just (O.era localState)
361363
, O.mEpoch = Just epochNo
364+
, O.mSlotInEpoch = Just slotsInEpoch
365+
, O.mSlotsToEpochEnd = Just slotsToEpochEnd
362366
, O.mSyncProgress = mSyncProgress
363367
}
364368

0 commit comments

Comments
 (0)