Skip to content

Commit 9b8f93a

Browse files
author
euonymos
committed
chore: remove redundant transitionStage
1 parent cb6d91b commit 9b8f93a

File tree

6 files changed

+40
-30
lines changed

6 files changed

+40
-30
lines changed

example/CEM/Example/Auction.hs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,14 @@ $(deriveCEMAssociatedTypes False ''SimpleAuction)
5959
instance CEMScript SimpleAuction where
6060
compilationConfig = MkCompilationConfig "AUC"
6161

62-
transitionStage _ =
63-
Map.fromList
64-
[ (CreateSpine, (Nothing, Just NotStartedSpine))
65-
, (StartSpine, (Just NotStartedSpine, Just CurrentBidSpine))
66-
, (MakeBidSpine, (Just CurrentBidSpine, Just CurrentBidSpine))
67-
, (CloseSpine, (Just CurrentBidSpine, Just WinnerSpine))
68-
, (BuyoutSpine, (Just WinnerSpine, Nothing))
69-
]
62+
-- transitionStage _ =
63+
-- Map.fromList
64+
-- [ (CreateSpine, (Nothing, Just NotStartedSpine))
65+
-- , (StartSpine, (Just NotStartedSpine, Just CurrentBidSpine))
66+
-- , (MakeBidSpine, (Just CurrentBidSpine, Just CurrentBidSpine))
67+
-- , (CloseSpine, (Just CurrentBidSpine, Just WinnerSpine))
68+
-- , (BuyoutSpine, (Just WinnerSpine, Nothing))
69+
-- ]
7070

7171
perTransitionScriptSpec =
7272
Map.fromList

lib/data-spine/Data/Spine.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ allSpines = [Prelude.minBound .. Prelude.maxBound]
7979
data MaybeSpine a = JustSpine | NothingSpine
8080
deriving stock (Eq, Ord, Show, Bounded, Enum)
8181

82-
-- FIXME: could such types be derived?
82+
-- TODO: could such types be derived?
8383
instance HasSpine (Maybe x) where
8484
type Spine (Maybe x) = MaybeSpine x
8585
getSpine Just {} = JustSpine

src/Cardano/CEM.hs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,10 @@ module Cardano.CEM (
33
) where
44

55
-- TODO: review
6-
import Cardano.CEM.DSL as X
7-
8-
-- ( CEMScript (..),
9-
-- CEMScriptTypes(..)
10-
-- )
116

127
import Cardano.CEM.Address as X (scriptCredential)
8+
import Cardano.CEM.Compile as X
9+
import Cardano.CEM.DSL as X
1310
import Cardano.CEM.DSLSmart as X
1411
import Cardano.CEM.Monads as X
1512
import Cardano.CEM.Monads.CLB as X

src/Cardano/CEM/Compile.hs

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
module Cardano.CEM.Compile (
2+
allTransitions,
23
transitionInStateSpine,
4+
transitionOutStateSpine,
35
transitionStateSpines,
46
preProcessForOnChainCompilation,
57
) where
@@ -10,6 +12,19 @@ import Data.Spine (HasSpine (..))
1012
import Text.Show.Pretty (ppShowList)
1113
import Prelude
1214

15+
allTransitions ::
16+
forall script.
17+
(CEMScript script) =>
18+
Map.Map
19+
(Spine (Transition script))
20+
( Maybe (Spine (State script)) -- source 'State'
21+
, Maybe (Spine (State script)) -- target 'State'
22+
)
23+
allTransitions = Map.map foo perTransitionScriptSpec
24+
where
25+
foo :: [TxConstraint False script] -> (Maybe (Spine (State script)), Maybe (Spine (State script)))
26+
foo cs = (transitionInStateSpine cs, transitionOutStateSpine cs)
27+
1328
transitionInStateSpine ::
1429
(CEMScript script) =>
1530
[TxConstraint False script] ->
@@ -21,6 +36,17 @@ transitionInStateSpine spec = case transitionStateSpines In spec of
2136
error
2237
"Transition should not have more than one SameScript In constraint"
2338

39+
transitionOutStateSpine ::
40+
(CEMScript script) =>
41+
[TxConstraint False script] ->
42+
Maybe (Spine (State script))
43+
transitionOutStateSpine spec = case transitionStateSpines Out spec of
44+
[x] -> Just x
45+
[] -> Nothing
46+
_ ->
47+
error
48+
"Transition should not have more than one SameScript In constraint"
49+
2450
transitionStateSpines :: (CEMScript script) => TxFanKind -> [TxConstraint False script] -> [Spine (State script)]
2551
transitionStateSpines kind spec = concat $ map (sameScriptStateSpinesOfKind kind) spec
2652
where
@@ -47,7 +73,7 @@ transitionStateSpines kind spec = concat $ map (sameScriptStateSpinesOfKind kind
4773

4874
-- FIXME: check MainSignerCoinSelect, ...
4975

50-
-- | Checking for errors and normaliing
76+
-- | Checking for errors and normalising
5177
preProcessForOnChainCompilation ::
5278
(CEMScript script, Show a) =>
5379
Map.Map a [TxConstraint False script] ->

src/Cardano/CEM/DSL.hs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -362,19 +362,6 @@ class
362362

363363
compilationConfig :: CompilationConfig
364364

365-
-- TODO: remove
366-
367-
-- | This is the map of all possible machine 'Transition's.
368-
-- This statically associates every 'Transition' with
369-
-- a 'Stage' through source/target 'State's.
370-
transitionStage ::
371-
Proxy script ->
372-
Map.Map
373-
(Spine (Transition script))
374-
( Maybe (Spine (State script)) -- source 'State'
375-
, Maybe (Spine (State script)) -- target 'State'
376-
)
377-
transitionStage _ = Map.empty
378365

379366
type DefaultConstraints datatype =
380367
( Eq datatype

src/Cardano/CEM/Indexing/Event.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module Cardano.CEM.Indexing.Event where
66
import Cardano.Api qualified as C
77
import Cardano.Api.ScriptData qualified as C
88
import Cardano.Api.SerialiseRaw qualified as SerialiseRaw
9-
import Cardano.CEM (CEMScript (transitionStage), CEMScriptDatum, State, Transition)
9+
import Cardano.CEM (CEMScript, CEMScriptDatum, State, Transition, allTransitions)
1010
import Cardano.CEM.Address qualified as Address
1111
import Cardano.CEM.Indexing.Tx
1212
import Cardano.CEM.OnChain (CEMScriptCompiled)
@@ -91,7 +91,7 @@ extractEvent network tx = do
9191
let mTargetSpine :: Maybe (Spine (State script)) = getSpine <$> mTargetState
9292

9393
-- Look up the transition
94-
let transitions = swap <$> Map.toList (transitionStage $ Proxy @script)
94+
let transitions = swap <$> Map.toList allTransitions
9595
let transSpine = lookup (mSourceSpine, mTargetSpine) transitions
9696

9797
-- Return

0 commit comments

Comments
 (0)