/
ouroboros-consensus.cabal
373 lines (352 loc) · 14.7 KB
/
ouroboros-consensus.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
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
name: ouroboros-consensus
version: 0.1.0.0
synopsis: Consensus layer for the Ouroboros blockchain protocol
-- description:
license: MIT
license-file: LICENSE
author: IOHK Engineering Team
maintainer: operations@iohk.io
copyright: 2018 IOHK
category: Network
build-type: Simple
cabal-version: >=1.10
source-repository head
type: git
location: https://github.com/input-output-hk/ouroboros-network
library
hs-source-dirs: src
if os(windows)
hs-source-dirs: src-win32/
else
hs-source-dirs: src-unix/
exposed-modules:
Ouroboros.Consensus.BlockchainTime
Ouroboros.Consensus.BlockFetchClient
Ouroboros.Consensus.BlockFetchServer
Ouroboros.Consensus.ChainSyncClient
Ouroboros.Consensus.ChainSyncServer
Ouroboros.Consensus.Crypto.DSIGN
Ouroboros.Consensus.Crypto.DSIGN.Cardano
Ouroboros.Consensus.Crypto.DSIGN.Class
Ouroboros.Consensus.Crypto.DSIGN.Ed448
Ouroboros.Consensus.Crypto.DSIGN.Mock
Ouroboros.Consensus.Crypto.DSIGN.RSAPSS
Ouroboros.Consensus.Crypto.Hash
Ouroboros.Consensus.Crypto.Hash.Class
Ouroboros.Consensus.Crypto.Hash.MD5
Ouroboros.Consensus.Crypto.Hash.SHA256
Ouroboros.Consensus.Crypto.Hash.Short
Ouroboros.Consensus.Crypto.KES
Ouroboros.Consensus.Crypto.KES.Class
Ouroboros.Consensus.Crypto.KES.Mock
Ouroboros.Consensus.Crypto.KES.Simple
Ouroboros.Consensus.Crypto.VRF
Ouroboros.Consensus.Crypto.VRF.Class
Ouroboros.Consensus.Crypto.VRF.Mock
Ouroboros.Consensus.Crypto.VRF.Simple
Ouroboros.Consensus.Demo
Ouroboros.Consensus.Ledger.Abstract
Ouroboros.Consensus.Ledger.Byron
Ouroboros.Consensus.Ledger.Mock
Ouroboros.Consensus.Node
Ouroboros.Consensus.Protocol.Abstract
Ouroboros.Consensus.Protocol.BFT
Ouroboros.Consensus.Protocol.LeaderSchedule
Ouroboros.Consensus.Protocol.Praos
Ouroboros.Consensus.Protocol.PBFT
Ouroboros.Consensus.Protocol.Test
Ouroboros.Consensus.Protocol.ExtNodeConfig
Ouroboros.Consensus.Protocol.ModChainSel
Ouroboros.Consensus.Util
Ouroboros.Consensus.Util.AnchoredFragment
Ouroboros.Consensus.Util.CBOR
Ouroboros.Consensus.Util.Chain
Ouroboros.Consensus.Util.Classify
Ouroboros.Consensus.Util.Condense
Ouroboros.Consensus.Util.HList
Ouroboros.Consensus.Util.Orphans
Ouroboros.Consensus.Util.Random
Ouroboros.Consensus.Util.Serialise
Ouroboros.Consensus.Util.Singletons
Ouroboros.Consensus.Util.STM
Ouroboros.Consensus.Util.ThreadRegistry
-- Storing things on disk
Ouroboros.Storage.Common
Ouroboros.Storage.ChainDB
Ouroboros.Storage.ChainDB.API
Ouroboros.Storage.ChainDB.Mock
Ouroboros.Storage.ChainDB.Model
Ouroboros.Storage.EpochInfo
Ouroboros.Storage.EpochInfo.API
Ouroboros.Storage.EpochInfo.CumulEpochSizes
Ouroboros.Storage.EpochInfo.Impl
Ouroboros.Storage.FS.API
Ouroboros.Storage.FS.API.Example
Ouroboros.Storage.FS.API.Types
Ouroboros.Storage.FS.IO
Ouroboros.Storage.FS.Sim.FsTree
Ouroboros.Storage.FS.Sim.MockFS
Ouroboros.Storage.FS.Sim.Pure
Ouroboros.Storage.FS.Sim.STM
Ouroboros.Storage.ImmutableDB
Ouroboros.Storage.ImmutableDB.API
Ouroboros.Storage.ImmutableDB.Impl
Ouroboros.Storage.ImmutableDB.Index
Ouroboros.Storage.ImmutableDB.Layout
Ouroboros.Storage.ImmutableDB.Types
Ouroboros.Storage.ImmutableDB.Util
Ouroboros.Storage.IO
Ouroboros.Storage.LedgerDB.Conf
Ouroboros.Storage.LedgerDB.DiskPolicy
Ouroboros.Storage.LedgerDB.InMemory
Ouroboros.Storage.LedgerDB.MemPolicy
Ouroboros.Storage.LedgerDB.Offsets
Ouroboros.Storage.LedgerDB.OnDisk
Ouroboros.Storage.Util
Ouroboros.Storage.Util.ErrorHandling
Ouroboros.Storage.VolatileDB
Ouroboros.Storage.VolatileDB.API
Ouroboros.Storage.VolatileDB.Impl
Ouroboros.Storage.VolatileDB.Types
Ouroboros.Storage.VolatileDB.Util
default-language: Haskell2010
other-extensions:
BangPatterns
ConstraintKinds
CPP
DataKinds
DeriveAnyClass
DeriveFunctor
DeriveGeneric
EmptyDataDecls
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
KindSignatures
LambdaCase
MultiParamTypeClasses
NamedFieldPuns
OverloadedStrings
PackageImports
PolyKinds
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TemplateHaskell
TupleSections
TypeApplications
TypeFamilies
TypeFamilyDependencies
TypeInType
TypeOperators
UndecidableInstances
UndecidableSuperClasses
ViewPatterns
build-depends: base >=4.9 && <4.13,
cardano-ledger,
ouroboros-network,
typed-protocols,
io-sim-classes,
contra-tracer,
base16-bytestring >=0.1 && <0.2,
bimap >=0.3 && <0.4,
bytestring >=0.10 && <0.11,
cardano-binary,
cardano-crypto-wrapper,
cardano-ledger,
cardano-prelude,
cborg >=0.2.1 && <0.3,
containers >=0.5 && <0.7,
cryptonite >=0.25 && <0.26,
directory >=1.3 && <1.4,
filepath >=1.4 && <1.5,
fingertree >=0.1.4.2 && <0.2,
memory >=0.14 && <0.15,
mmorph >=1.1 && <1.2,
mtl >=2.2 && <2.3,
pipes >=4.3 && <4.4,
serialise >=0.2 && <0.3,
stm,
text >=1.2 && <1.3,
time,
transformers,
vector >=0.12 && <0.13
if os(windows)
build-depends: Win32
else
build-depends: unix
ghc-options: -Wall
-Wno-unticked-promoted-constructors
-fno-ignore-asserts
executable demo-playground
hs-source-dirs: demo-playground
main-is: Main.hs
default-language: Haskell2010
ghc-options: -threaded -Wall -O2 "-with-rtsopts=-N"
other-modules: CLI
Mock.Mempool
Mock.TxSubmission
NamedPipe
Run
Topology
build-depends: base,
contra-tracer,
ouroboros-network,
ouroboros-consensus,
io-sim-classes,
cardano-crypto-wrapper,
cardano-ledger,
cardano-ledger-test,
cardano-prelude,
aeson,
async,
bytestring,
cborg,
containers,
cryptonite,
directory,
formatting,
mtl,
optparse-applicative,
serialise,
stm,
string-conv,
text,
time
if os(windows)
build-depends: Win32
else
build-depends: unix
test-suite test-consensus
type: exitcode-stdio-1.0
hs-source-dirs: test-consensus test-util
default-language: Haskell2010
main-is: Main.hs
other-modules:
Test.Consensus.BlockchainTime
Test.Consensus.ChainSyncClient
Test.Dynamic.BFT
Test.Dynamic.General
Test.Dynamic.LeaderSchedule
Test.Dynamic.Network
Test.Dynamic.PBFT
Test.Dynamic.Praos
Test.Dynamic.Util
Test.Ouroboros
Test.Util.DepFn
Test.Util.Orphans.Arbitrary
Test.Util.Range
Test.Util.TestBlock
build-depends: base,
typed-protocols,
ouroboros-network,
ouroboros-consensus,
io-sim-classes,
io-sim,
bytestring,
containers,
contra-tracer,
cryptonite,
fgl,
fingertree,
graphviz,
mtl,
QuickCheck,
random,
serialise,
tasty,
tasty-hunit,
tasty-quickcheck,
text,
time
ghc-options: -Wall
-fno-ignore-asserts
test-suite test-crypto
type: exitcode-stdio-1.0
hs-source-dirs: test-crypto, test-util
default-language: Haskell2010
main-is: Main.hs
other-modules:
Test.Crypto.DSIGN
Test.Crypto.Hash
Test.Crypto.KES
Test.Crypto.VRF
Test.Util.Orphans.Arbitrary
Test.Util.QuickCheck
build-depends: base,
ouroboros-network-testing,
ouroboros-network,
ouroboros-consensus,
bytestring,
QuickCheck,
serialise,
tasty,
tasty-quickcheck,
time
ghc-options: -Wall
-fno-ignore-asserts
test-suite test-storage
type: exitcode-stdio-1.0
hs-source-dirs: test-storage test-util
default-language: Haskell2010
main-is: Main.hs
other-modules:
Test.Ouroboros.Storage
Test.Ouroboros.Storage.ChainDB
Test.Ouroboros.Storage.ChainDB.Mock
Test.Ouroboros.Storage.ChainDB.Model
Test.Ouroboros.Storage.ChainDB.TestBlock
Test.Ouroboros.Storage.FS
Test.Ouroboros.Storage.FS.Sim.Error
Test.Ouroboros.Storage.FS.StateMachine
Test.Ouroboros.Storage.ImmutableDB
Test.Ouroboros.Storage.ImmutableDB.CumulEpochSizes
Test.Ouroboros.Storage.ImmutableDB.Model
Test.Ouroboros.Storage.ImmutableDB.StateMachine
Test.Ouroboros.Storage.ImmutableDB.TestBlock
Test.Ouroboros.Storage.LedgerDB
Test.Ouroboros.Storage.LedgerDB.InMemory
Test.Ouroboros.Storage.LedgerDB.OnDisk
Test.Ouroboros.Storage.Util
Test.Ouroboros.Storage.VolatileDB
Test.Ouroboros.Storage.VolatileDB.Mock
Test.Ouroboros.Storage.VolatileDB.Model
Test.Ouroboros.Storage.VolatileDB.StateMachine
Test.Ouroboros.Storage.VolatileDB.TestBlock
Test.Util.Orphans.Arbitrary
Test.Util.Range
Test.Util.RefEnv
Test.Util.TestBlock
build-depends: base,
ouroboros-network,
ouroboros-network-testing,
ouroboros-consensus,
io-sim-classes,
io-sim,
bifunctors,
binary,
bytestring,
cereal,
containers,
directory,
fingertree,
generics-sop,
mtl,
pretty-show,
QuickCheck,
quickcheck-state-machine >=0.6.0,
random,
serialise,
stm,
tasty,
tasty-hunit,
tasty-quickcheck,
temporary,
time,
transformers,
tree-diff
ghc-options: -Wall
-fno-ignore-asserts