Skip to content

Commit ef81d15

Browse files
author
euonymos
committed
chore: clean-up WIP
1 parent 74f8a3d commit ef81d15

File tree

7 files changed

+39
-48
lines changed

7 files changed

+39
-48
lines changed

src/Cardano/CEM.hs

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,18 @@
44
-- FIXME: move all lib functions (`LiftPlutarch`s) to another module
55
module Cardano.CEM where
66

7-
import Prelude
8-
97
import Data.Map qualified as Map
108
import Data.Maybe (fromJust)
9+
import Data.Singletons.TH
10+
import Data.Spine (HasPlutusSpine, HasSpine (..), derivePlutusSpine, spineFieldsNum)
11+
import Data.Text (Text)
1112
import GHC.OverloadedLabels (IsLabel (..))
1213
import GHC.Records (HasField (..))
1314
import GHC.TypeLits (KnownSymbol, Symbol, symbolVal)
14-
import Unsafe.Coerce (unsafeCoerce)
15-
16-
-- Plutus imports
17-
import PlutusLedgerApi.V1.Crypto (PubKeyHash)
18-
import PlutusLedgerApi.V2 (ToData (..), Value)
19-
import PlutusTx qualified
20-
import PlutusTx.Builtins qualified as PlutusTx
21-
22-
import Data.Singletons.TH
23-
import Data.Text (Text)
2415
import Plutarch (Config (..), (#))
2516
import Plutarch.Builtin (PIsData)
2617
import Plutarch.Evaluate (evalTerm)
18+
import Plutarch.Extras
2719
import Plutarch.LedgerApi (KeyGuarantees (..))
2820
import Plutarch.LedgerApi.Value
2921
import Plutarch.Lift (PUnsafeLiftDecl (..), pconstant, plift)
@@ -37,11 +29,13 @@ import Plutarch.Prelude (
3729
(#&&),
3830
(:-->),
3931
)
32+
import PlutusLedgerApi.V1.Crypto (PubKeyHash)
33+
import PlutusLedgerApi.V2 (ToData (..), Value)
4034
import PlutusLedgerApi.V2.Contexts (TxInfo)
41-
42-
-- Project imports
43-
import Data.Spine (HasPlutusSpine, HasSpine (..), derivePlutusSpine, spineFieldsNum)
44-
import Plutarch.Extras
35+
import PlutusTx qualified
36+
import PlutusTx.Builtins qualified as PlutusTx
37+
import Unsafe.Coerce (unsafeCoerce)
38+
import Prelude
4539

4640
data CVar = CParams | CState | CTransition | CComp | CTxInfo
4741
deriving stock (Show)

src/Cardano/CEM/Address.hs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,25 +31,23 @@ cardanoAddressBech32 = MkAddressBech32 . Cardano.Api.serialiseToBech32
3131
scriptCardanoAddress ::
3232
forall script.
3333
(Compiled.CEMScriptCompiled script) =>
34-
Proxy script ->
3534
Cardano.Api.Ledger.Network ->
35+
Proxy script ->
3636
Either String (Cardano.Api.Address Cardano.Api.ShelleyAddr)
37-
scriptCardanoAddress p network =
37+
scriptCardanoAddress network =
3838
plutusAddressToShelleyAddress network
3939
. flip PlutusLedgerApi.V1.Address Nothing
4040
. scriptCredential
41-
$ p
4241

4342
scriptCredential ::
4443
forall script.
4544
(Compiled.CEMScriptCompiled script) =>
4645
Proxy script ->
4746
PlutusLedgerApi.V1.Credential
48-
scriptCredential p =
47+
scriptCredential =
4948
PlutusLedgerApi.V1.ScriptCredential
5049
. scriptHash
5150
. Compiled.cemScriptCompiled
52-
$ p
5351

5452
plutusAddressToShelleyAddress ::
5553
Cardano.Api.Ledger.Network ->

src/Cardano/CEM/DSL.hs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{-# LANGUAGE AllowAmbiguousTypes #-}
2-
{-# LANGUAGE RecordWildCards #-}
32

43
module Cardano.CEM.DSL where
54

src/Cardano/CEM/Documentation.hs

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,26 @@
1-
module Cardano.CEM.Documentation (cemDotGraphString) where
2-
3-
import Prelude
1+
module Cardano.CEM.Documentation (genCemGraph) where
42

3+
import Cardano.CEM (
4+
CEMScript (perTransitionScriptSpec),
5+
CEMScriptTypes (Transition),
6+
TxFanKind (In, Out),
7+
)
8+
import Cardano.CEM.DSL (transitionStateSpines)
59
import Data.Foldable (fold)
610
import Data.Map qualified as Map
711
import Data.Proxy
8-
9-
import Cardano.CEM
10-
import Cardano.CEM.DSL (transitionStateSpines)
1112
import Data.Spine (allSpines)
13+
import Prelude
1214

13-
dotStyling :: String
14-
dotStyling =
15-
"rankdir=LR;\n"
16-
<> "node [shape=\"dot\",fontsize=14,fixedsize=true,width=1.5];\n"
17-
<> "edge [fontsize=11];\n"
18-
<> "\"Void In\" [color=\"orange\"];\n"
19-
<> "\"Void Out\" [color=\"orange\"];\n"
20-
21-
-- FIXME: cover with golden test
22-
cemDotGraphString ::
23-
forall script. (CEMScript script) => String -> Proxy script -> String
24-
cemDotGraphString name _proxy =
15+
genCemGraph :: forall script. (CEMScript script) => String -> Proxy script -> String
16+
genCemGraph name _proxy =
2517
"digraph "
2618
<> name
2719
<> " {\n"
2820
<> dotStyling
2921
<> edges
3022
<> "}"
3123
where
32-
showSpine :: (Show s) => s -> String
33-
showSpine = stripSpineSuffix . show
34-
stripSpineSuffix = reverse . drop 5 . reverse
3524
edges =
3625
fold $
3726
[ from
@@ -49,3 +38,16 @@ cemDotGraphString name _proxy =
4938
perTransitionScriptSpec @script Map.! transition of
5039
[] -> ["\"Void " <> show kind <> "\""]
5140
x -> map showSpine x
41+
42+
showSpine :: (Show s) => s -> String
43+
showSpine = stripSpineSuffix . show
44+
45+
stripSpineSuffix = reverse . drop 5 . reverse
46+
47+
dotStyling :: String
48+
dotStyling =
49+
"rankdir=LR;\n"
50+
<> "node [shape=\"dot\",fontsize=14,fixedsize=true,width=1.5];\n"
51+
<> "edge [fontsize=11];\n"
52+
<> "\"Void In\" [color=\"orange\"];\n"
53+
<> "\"Void Out\" [color=\"orange\"];\n"

src/Cardano/CEM/Indexing/Event.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ extractEvent ::
7676
Tx ->
7777
IO (Maybe (IndexerEvent script))
7878
extractEvent network tx = do
79-
-- Script payemnt credential based predicate
80-
let ~(Right scriptAddr) = Address.scriptCardanoAddress (Proxy @script) network
79+
-- Script payment credential based predicate
80+
let ~(Right scriptAddr) = Address.scriptCardanoAddress network (Proxy @script)
8181
let cPred = hasAddr scriptAddr
8282

8383
-- Source state

src/Cardano/CEM/Indexing/Oura.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ ouraMonitoringScript p network sourcePath sinkPath =
6868
. pure
6969
. selectByAddress
7070
. Address.cardanoAddressBech32
71-
<$> Address.scriptCardanoAddress p network
71+
<$> Address.scriptCardanoAddress network p
7272

7373
cursor :: Toml.Table
7474
cursor =

test/OuraFilters/Auction.hs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import Cardano.CEM.Examples.Auction qualified as Auction
88
import Cardano.CEM.Examples.Compilation ()
99
import Cardano.CEM.Indexing.Oura qualified as OuraConfig
1010
import Cardano.CEM.Indexing.Tx qualified as Tx
11-
import Cardano.CEM.OnChain qualified as Compiled
1211
import Cardano.Ledger.BaseTypes qualified as Ledger
1312
import Control.Lens ((%~), (.~))
1413
import Control.Monad ((>=>))
@@ -20,7 +19,6 @@ import Data.Data (Proxy (Proxy))
2019
import Data.Text qualified as T
2120
import Oura.Communication qualified as Oura
2221
import OuraFilters.Mock qualified as Mock
23-
import Plutus.Extras (scriptValidatorHash)
2422
import PlutusLedgerApi.V1 qualified
2523
import System.Process (ProcessHandle)
2624
import Test.Hspec (describe, focus, it, shouldBe)

0 commit comments

Comments
 (0)