235 lines
4.9 KiB
Text
235 lines
4.9 KiB
Text
cabal-version: 3.0
|
|
name: agora
|
|
version: 0.1
|
|
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:
|
|
-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 -Werror
|
|
|
|
mixins:
|
|
base hiding (Prelude),
|
|
pprelude (PPrelude as Prelude)
|
|
|
|
default-extensions:
|
|
NoStarIsType
|
|
BangPatterns
|
|
BinaryLiterals
|
|
ConstrainedClassMethods
|
|
ConstraintKinds
|
|
DataKinds
|
|
DeriveAnyClass
|
|
DeriveDataTypeable
|
|
DeriveFoldable
|
|
DeriveFunctor
|
|
DeriveGeneric
|
|
DeriveLift
|
|
DeriveTraversable
|
|
DerivingStrategies
|
|
DerivingVia
|
|
DoAndIfThenElse
|
|
EmptyCase
|
|
EmptyDataDecls
|
|
EmptyDataDeriving
|
|
ExistentialQuantification
|
|
ExplicitForAll
|
|
FlexibleContexts
|
|
FlexibleInstances
|
|
ForeignFunctionInterface
|
|
GADTSyntax
|
|
GeneralisedNewtypeDeriving
|
|
HexFloatLiterals
|
|
ImplicitPrelude
|
|
ImportQualifiedPost
|
|
InstanceSigs
|
|
KindSignatures
|
|
LambdaCase
|
|
MonomorphismRestriction
|
|
MultiParamTypeClasses
|
|
NamedFieldPuns
|
|
NamedWildCards
|
|
NumericUnderscores
|
|
OverloadedLabels
|
|
OverloadedStrings
|
|
PartialTypeSignatures
|
|
PatternGuards
|
|
PolyKinds
|
|
PostfixOperators
|
|
RankNTypes
|
|
RelaxedPolyRec
|
|
ScopedTypeVariables
|
|
StandaloneDeriving
|
|
StandaloneKindSignatures
|
|
TupleSections
|
|
TypeApplications
|
|
TypeFamilies
|
|
TypeOperators
|
|
TypeSynonymInstances
|
|
UndecidableInstances
|
|
ViewPatterns
|
|
OverloadedRecordDot
|
|
QualifiedDo
|
|
|
|
default-language: Haskell2010
|
|
|
|
common deps
|
|
build-depends:
|
|
, aeson
|
|
, ansi-terminal
|
|
, base >=4.14 && <5
|
|
, base-compat
|
|
, bytestring
|
|
, cardano-prelude
|
|
, containers
|
|
, data-default
|
|
, data-default-class
|
|
, generics-sop
|
|
, plutarch
|
|
, plutarch-extra
|
|
, plutarch-numeric
|
|
, plutarch-safemoney
|
|
, plutus-core
|
|
, plutus-ledger-api
|
|
, plutus-tx
|
|
, pprelude
|
|
, prettyprinter
|
|
, recursion-schemes
|
|
, serialise
|
|
, template-haskell
|
|
, text
|
|
|
|
common test-deps
|
|
build-depends:
|
|
, agora
|
|
, apropos
|
|
, apropos-tx
|
|
, mtl
|
|
, QuickCheck
|
|
, quickcheck-instances
|
|
, tasty
|
|
, tasty-hedgehog
|
|
, tasty-hunit
|
|
, tasty-quickcheck
|
|
|
|
common exe-opts
|
|
ghc-options: -threaded -rtsopts -with-rtsopts=-N -O0
|
|
|
|
library
|
|
import: lang, deps
|
|
exposed-modules:
|
|
Agora.AuthorityToken
|
|
Agora.Effect
|
|
Agora.Effect.GovernorMutation
|
|
Agora.Effect.NoOp
|
|
Agora.Effect.TreasuryWithdrawal
|
|
Agora.Governor
|
|
Agora.Governor.Scripts
|
|
Agora.MultiSig
|
|
Agora.Proposal
|
|
Agora.Proposal.Scripts
|
|
Agora.Proposal.Time
|
|
Agora.Record
|
|
Agora.SafeMoney
|
|
Agora.Stake
|
|
Agora.Stake.Scripts
|
|
Agora.Treasury
|
|
Agora.Utils
|
|
Agora.Utils.Value
|
|
Agora.ScriptInfo
|
|
|
|
other-modules:
|
|
Agora.Aeson.Orphans
|
|
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, test-deps
|
|
exposed-modules: Test.Util
|
|
hs-source-dirs: agora-testlib
|
|
|
|
library agora-sample
|
|
import: lang, deps, test-deps
|
|
exposed-modules:
|
|
Sample.Effect.GovernorMutation
|
|
Sample.Effect.TreasuryWithdrawal
|
|
Sample.Governor
|
|
Sample.Proposal
|
|
Sample.Shared
|
|
Sample.Stake
|
|
Sample.Treasury
|
|
hs-source-dirs: agora-sample
|
|
|
|
build-depends: agora-testlib
|
|
|
|
test-suite agora-test
|
|
import: lang, deps, test-deps
|
|
type: exitcode-stdio-1.0
|
|
main-is: Spec.hs
|
|
hs-source-dirs: agora-test
|
|
other-modules:
|
|
Spec.AuthorityToken
|
|
Spec.Effect.GovernorMutation
|
|
Spec.Effect.TreasuryWithdrawal
|
|
Spec.Governor
|
|
Spec.Model.MultiSig
|
|
Spec.Proposal
|
|
Spec.Stake
|
|
Spec.Treasury
|
|
Spec.Utils
|
|
|
|
build-depends:
|
|
, agora-sample
|
|
, agora-testlib
|
|
|
|
benchmark agora-bench
|
|
import: lang, deps
|
|
hs-source-dirs: agora-bench
|
|
main-is: Main.hs
|
|
other-modules: Bench
|
|
type: exitcode-stdio-1.0
|
|
build-depends:
|
|
, agora
|
|
, agora-sample
|
|
|
|
executable agora-scripts
|
|
import: lang, deps, exe-opts
|
|
main-is: Scripts.hs
|
|
hs-source-dirs: agora-scripts
|
|
other-modules:
|
|
Options
|
|
build-depends:
|
|
, agora
|
|
, optparse-applicative
|
|
|
|
executable agora-purescript-bridge
|
|
import: lang, deps, exe-opts
|
|
main-is: Bridge.hs
|
|
hs-source-dirs: agora-purescript-bridge
|
|
other-modules:
|
|
AgoraTypes
|
|
Options
|
|
|
|
build-depends:
|
|
, agora
|
|
, optparse-applicative
|
|
, path
|
|
, purescript-bridge
|