Skip to content

Commit 8061c70

Browse files
committed
Fix Dijkstra-era script purpose rendering
1 parent 58f0953 commit 8061c70

1 file changed

Lines changed: 22 additions & 2 deletions

File tree

  • cardano-node/src/Cardano/Node/Tracing

cardano-node/src/Cardano/Node/Tracing/Render.hs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import qualified Cardano.Ledger.Alonzo.Tx as Alonzo
4040
import Cardano.Ledger.BaseTypes (Mismatch (..), Relation (..))
4141
import Cardano.Ledger.Conway.Scripts (ConwayPlutusPurpose (..))
4242
import qualified Cardano.Ledger.Core as Ledger
43+
import Cardano.Ledger.Dijkstra.Scripts (DijkstraPlutusPurpose (..))
4344
import qualified Cardano.Ledger.Hashes as Hashes
4445
import Cardano.Logging
4546
import Cardano.Node.Queries (ConvertTxId (..))
@@ -225,8 +226,7 @@ renderScriptPurpose =
225226
Api.AlonzoEraOnwardsAlonzo -> renderAlonzoPlutusPurpose
226227
Api.AlonzoEraOnwardsBabbage -> renderAlonzoPlutusPurpose
227228
Api.AlonzoEraOnwardsConway -> renderConwayPlutusPurpose
228-
-- TODO: fix
229-
Api.AlonzoEraOnwardsDijkstra -> undefined
229+
Api.AlonzoEraOnwardsDijkstra -> renderDijkstraPlutusPurpose
230230
)
231231

232232
renderAlonzoPlutusPurpose :: ()
@@ -260,3 +260,23 @@ renderConwayPlutusPurpose = \case
260260
Aeson.object ["voting" .= Aeson.toJSON voter]
261261
ConwayProposing proposal ->
262262
Aeson.object ["proposing" .= Aeson.toJSON proposal]
263+
264+
renderDijkstraPlutusPurpose :: ()
265+
=> (Ledger.EraPParams era, Aeson.ToJSON (Ledger.TxCert era))
266+
=> DijkstraPlutusPurpose AsItem era
267+
-> Aeson.Value
268+
renderDijkstraPlutusPurpose = \case
269+
DijkstraSpending (AsItem txin) ->
270+
Aeson.object ["spending" .= Api.fromShelleyTxIn txin]
271+
DijkstraMinting pid ->
272+
Aeson.object ["minting" .= Aeson.toJSON pid]
273+
DijkstraRewarding (AsItem rwdAcct) ->
274+
Aeson.object ["rewarding" .= Aeson.String (Api.serialiseAddress $ Api.fromShelleyStakeAddr rwdAcct)]
275+
DijkstraCertifying cert ->
276+
Aeson.object ["certifying" .= Aeson.toJSON cert]
277+
DijkstraVoting voter ->
278+
Aeson.object ["voting" .= Aeson.toJSON voter]
279+
DijkstraProposing proposal ->
280+
Aeson.object ["proposing" .= Aeson.toJSON proposal]
281+
DijkstraGuarding sHash ->
282+
Aeson.object ["guarding" .= Aeson.toJSON sHash]

0 commit comments

Comments
 (0)