forked from iburzynski/jambhala
-
Notifications
You must be signed in to change notification settings - Fork 0
/
jambhala.cabal
151 lines (129 loc) · 4.03 KB
/
jambhala.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
cabal-version: 3.0
name: jambhala
version: 0.3.0.0
-- A short (one-line) description of the package.
-- synopsis:
-- A longer description of the package.
-- description:
license: MIT
license-file: LICENSE
author: Ian Burzynski
maintainer: [email protected]
flag defer-plugin-errors
description:
Defer errors from the plugin, useful for things like Haddock that can't handle it.
default: False
manual: True
common common
default-language: Haskell2010
build-depends:
base ^>=4.14.3.0
mixins:
base hiding (Prelude)
ghc-options:
-Wall -fobject-code -fno-ignore-interface-pragmas
-fno-omit-interface-pragmas -fno-strictness -fno-spec-constr
-fno-specialise -Wno-orphans -Wno-unused-local-binds
if flag(defer-plugin-errors)
ghc-options: -fplugin-opt PlutusTx.Plugin:defer-errors
library
import: common
exposed-modules:
Contracts
Jambhala.CLI
Jambhala.Plutus
Jambhala.Utils
Prelude
-- Add new contracts here, i.e.:
-- Contracts.MyContract
other-modules:
Jambhala.CLI.Emulator
Jambhala.CLI.Emulator.Types
Jambhala.CLI.Parsers
Jambhala.CLI.Types
Jambhala.CLI.Update
Jambhala.CLI.Update.Parsers
Jambhala.CLI.Export
-- Sample contracts:
Contracts.Samples.Simple
Contracts.Samples.SimpleTyped
Contracts.Samples.CustomTyped
Contracts.Samples.SimpleGuessing
Contracts.Samples.Vesting
Contracts.Samples.ParamVesting
Contracts.Samples.FreeMinting
Contracts.Samples.SignedMinting
Contracts.Samples.NFT
hs-source-dirs:
src
build-depends:
aeson
, base16-bytestring
, bytestring
, cardano-api
, cardano-binary
, cardano-ledger-core
, cardano-node-emulator
, data-default
, extra
, freer-extras
, lens
, plutus-contract
, plutus-core
, plutus-ledger
, plutus-ledger-api
, plutus-script-utils
, plutus-tx
, plutus-tx-constraints
, plutus-tx-plugin
, serialise
, text
-- Jambhala dependencies:
, containers
, foldl
, freer-simple
, megaparsec
, mtl
, optparse-applicative
, row-types
, time
, turtle
default-extensions:
-- Allows promotion of types to "kinds", enabling more expressive type-level programming (required for all Plutus contracts):
DataKinds
-- Allows automatic derivation of certain typeclasses (like FromJSON/ToJSON):
, DeriveAnyClass
, DeriveGeneric
-- Allows defining typeclass instances for type synonyms:
, FlexibleInstances
-- Allows post-fix style qualified import declarations:
, ImportQualifiedPost
-- Allows writing type signatures for methods in typeclass instances:
, InstanceSigs
-- A syntactic convenience for writing single-argument lambdas containing case expressions (used by Jambhala's utilities):
, LambdaCase
-- Allows more than one type parameter in class and instance declarations (required to lift parameters in parameterized validators):
, MultiParamTypeClasses
-- Allows more readable representations of large integers (i.e. 1_000_000), useful for lovelace quantities:
, NumericUnderscores
-- Allows construction of Text and other string-like values as string literals:
, OverloadedStrings
-- A syntactic convenience for working with record values (used by Jambhala's utilities):
, RecordWildCards
-- Allows referencing type variables in multiple scopes (required to lift parameters in parameterized validators):
, ScopedTypeVariables
-- Required for all Plutus contracts to translate between Plutus and Haskell:
, TemplateHaskell
-- Provides a convenient way to disambiguate type variables inline:
, TypeApplications
-- Allows type-level functions (used in Jambhala's ValidatorEndpoints & MintingEndpoint classes):
, TypeFamilies
executable jamb
import: common
main-is: Main.hs
hs-source-dirs:
app
ghc-options:
-Werror -threaded -rtsopts -with-rtsopts=-T
build-depends:
jambhala