-
Notifications
You must be signed in to change notification settings - Fork 19
/
agora.cabal
285 lines (261 loc) · 6.11 KB
/
agora.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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
cabal-version: 3.0
name: agora
version: 1.0.0
extra-source-files: CHANGELOG.md
author: Emily Martins <emi@haskell.fyi>
license: Apache-2.0
--------------------------------------------------------------------------------
-- Common Stanza Declarations
-- Language options, warnings, some options for plutus
common lang
ghc-options:
-Werror -Wall -Wcompat -Wincomplete-uni-patterns
-Wno-unused-do-bind -Wno-partial-type-signatures
-Wmissing-export-lists -Wincomplete-record-updates
-Wmissing-deriving-strategies -Wno-name-shadowing -Wunused-foralls
-fprint-explicit-foralls -fprint-explicit-kinds -Wunused-do-bind
default-extensions:
NoStarIsType
BangPatterns
BinaryLiterals
ConstrainedClassMethods
ConstraintKinds
DataKinds
DeriveAnyClass
DeriveDataTypeable
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveLift
DeriveTraversable
DerivingStrategies
DerivingVia
DoAndIfThenElse
DuplicateRecordFields
EmptyCase
EmptyDataDecls
EmptyDataDeriving
ExistentialQuantification
ExplicitForAll
FlexibleContexts
FlexibleInstances
ForeignFunctionInterface
GADTSyntax
GeneralisedNewtypeDeriving
HexFloatLiterals
ImplicitPrelude
ImportQualifiedPost
InstanceSigs
KindSignatures
LambdaCase
MonomorphismRestriction
MultiParamTypeClasses
NamedFieldPuns
NamedWildCards
NumericUnderscores
OverloadedLabels
OverloadedStrings
PackageImports
PartialTypeSignatures
PatternGuards
PolyKinds
PostfixOperators
QualifiedDo
RankNTypes
RelaxedPolyRec
ScopedTypeVariables
StandaloneDeriving
StandaloneKindSignatures
TupleSections
TypeApplications
TypeFamilies
TypeOperators
TypeSynonymInstances
UndecidableInstances
ViewPatterns
NoFieldSelectors
OverloadedRecordDot
default-language: Haskell2010
common deps
build-depends:
, aeson
, ansi-terminal
, base >=4.14 && <5
, base-compat
, base16
, bytestring
, cardano-binary
, cardano-prelude
, composition-prelude
, containers
, data-default
, data-default-class
, filepath
, generics-sop
, liqwid-plutarch-extra
, liqwid-script-export
, optics
, plutarch
, plutarch-extra
, plutus-core
, plutus-ledger-api
, plutus-tx
, ply-core
, ply-plutarch
, pprelude
, prettyprinter
, recursion-schemes
, serialise
, tagged
, template-haskell
, text
common plutarch-prelude
mixins:
base hiding (Prelude),
pprelude (PPrelude as Prelude)
common test-deps
build-depends:
, agora
, cryptonite
, data-default-class
, directory
, memory
, mtl
, plutarch-context-builder
, plutarch-quickcheck
, QuickCheck
, quickcheck-instances
, tasty
, tasty-golden
, tasty-hedgehog
, tasty-hunit
, tasty-quickcheck
, universe
, universe-base
common exe-opts
ghc-options: -threaded -rtsopts -with-rtsopts=-N -O0
common test-opts
ghc-options: -threaded -rtsopts -with-rtsopts=-N -O2
library
import: lang, deps, plutarch-prelude
exposed-modules:
Agora.Aeson.Orphans
Agora.AuthorityToken
Agora.Bootstrap
Agora.Credential
Agora.Effect
Agora.Effect.GovernorMutation
Agora.Effect.NoOp
Agora.Effect.TreasuryWithdrawal
Agora.Governor
Agora.Governor.Scripts
Agora.Linker
Agora.Plutarch.Orphans
Agora.Proposal
Agora.Proposal.Scripts
Agora.Proposal.Time
Agora.SafeMoney
Agora.Stake
Agora.Stake.Redeemers
Agora.Stake.Scripts
Agora.Treasury
Agora.Utils
other-modules:
hs-source-dirs: agora
library pprelude
default-language: Haskell2010
exposed-modules: PPrelude
hs-source-dirs: agora
build-depends:
, base
, plutarch
library agora-testlib
import: lang, deps, plutarch-prelude, test-deps
exposed-modules:
Test.Specification
Test.Util
hs-source-dirs: agora-testlib
library agora-specs
import: lang, deps, plutarch-prelude, test-deps
exposed-modules:
Property.Generator
Property.Governor
Property.Utils
Sample.AuthorityToken.UnauthorizedMintingExploit
Sample.Effect.GovernorMutation
Sample.Effect.TreasuryWithdrawal
Sample.Governor.Initialize
Sample.Governor.Mutate
Sample.Proposal.Advance
Sample.Proposal.Cosign
Sample.Proposal.Create
Sample.Proposal.PrivilegeEscalate
Sample.Proposal.Shared
Sample.Proposal.Unlock
Sample.Proposal.Vote
Sample.Shared
Sample.Stake
Sample.Stake.Create
Sample.Stake.Destroy
Sample.Stake.SetDelegate
Sample.Stake.UnauthorizedMintingExploit
Sample.Treasury
Spec.AuthorityToken
Spec.Effect.GovernorMutation
Spec.Effect.TreasuryWithdrawal
Spec.Governor
Spec.Proposal
Spec.Stake
Spec.Treasury
Spec.Utils
hs-source-dirs: agora-specs
build-depends:
, agora-testlib
, ordered-containers
test-suite agora-test
import: lang, deps, plutarch-prelude, test-deps, test-opts
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs: agora-test
other-modules: Golden
build-depends:
, agora
, agora-specs
, agora-testlib
benchmark agora-bench
import: lang, deps, plutarch-prelude
hs-source-dirs: agora-bench
main-is: Main.hs
other-modules:
Bench
Options
type: exitcode-stdio-1.0
build-depends:
, agora
, agora-specs
, agora-testlib
, cassava
, mtl
, optparse-applicative
executable agora-scripts
import: lang, deps, exe-opts
main-is: Main.hs
hs-source-dirs: agora-scripts
other-modules:
build-depends:
, aeson-pretty
, agora
, gitrev
mixins: base
executable agora-purescript-bridge
import: lang, deps, plutarch-prelude, exe-opts
main-is: Bridge.hs
hs-source-dirs: agora-purescript-bridge
other-modules:
AgoraTypes
Options
build-depends:
, agora
, optparse-applicative
, path
, purescript-bridge