Skip to content

Commit 73427d0

Browse files
authored
Merge pull request #954 from IntersectMBO/jordan/10.6-node-release
Upgrade ledger, consensus, network, plutus for cardano-node 10.6
2 parents e26657d + ef9d4d5 commit 73427d0

File tree

72 files changed

+1309
-1366
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+1309
-1366
lines changed

.github/workflows/hls.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
test-hls-works:
1515
env:
1616
# Modify this value to "invalidate" the cache.
17-
HLS_CACHE_VERSION: "2025-09-04"
17+
HLS_CACHE_VERSION: "2025-09-23"
1818

1919
runs-on: ubuntu-latest
2020
timeout-minutes: 90

cabal.project

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,20 @@ repository cardano-haskell-packages
1313
-- See CONTRIBUTING for information about these, including some Nix commands
1414
-- you need to run if you change them
1515
index-state:
16-
, hackage.haskell.org 2025-09-10T10:05:13Z
17-
, cardano-haskell-packages 2025-06-20T09:11:51Z
16+
, hackage.haskell.org 2025-09-11T01:58:40Z
17+
, cardano-haskell-packages 2025-10-21T11:16:53Z
1818

1919
packages:
2020
cardano-api
2121
cardano-api-gen
2222
cardano-wasm
23-
cardano-rpc
23+
-- TODO fix potential issues with build-type: Custom and protoc and reenable
24+
-- cardano-rpc
2425

25-
constraints: process >= 1.6.26.1
26+
extra-packages: Cabal, process
27+
28+
if impl(ghc < 9.8)
29+
constraints: interpolatedstring-perl6:setup.time source
2630

2731
-- It may slow down build plan preparation, but without it cabal has problems
2832
-- with solving constraints. Remove this when not needed anymore.
@@ -56,18 +60,19 @@ if impl (ghc >= 9.12)
5660
-- https://github.com/kapralVV/Unique/issues/11
5761
, Unique:hashable
5862

63+
5964
-- WASM compilation specific
6065

6166
if arch(wasm32)
6267
source-repository-package
6368
type: git
64-
location: https://github.com/amesgen/plutus.git
65-
tag: dc1edea4458d6fb794b245a26c730620265645f3
69+
location: https://github.com/intersectmbo/plutus.git
70+
tag: 5f3517c6937a24dc4d852cda079b2c3cdcaa5ef0
6671
subdir:
6772
plutus-core
6873
plutus-ledger-api
6974
plutus-tx
70-
--sha256: sha256-QBtLmoS54b5QMAKIDOJIM6lmRC+1leBpuGKaFc7QQos=
75+
--sha256: sha256-+GhWhzGQ94KfxHKS6Bycfxf+TWVkMyWDY/51EFipkZI=
7176

7277
package plutus-core
7378
flags: +do-not-build-plutus-exec
@@ -81,11 +86,11 @@ if arch(wasm32)
8186
source-repository-package
8287
type: git
8388
location: https://github.com/palas/ouroboros-network.git
84-
tag: ef3e30603e4e45dac336a085114ee22b7aa8c9ed
89+
tag: 2fddbdb8ed23b63a43852bb98bd6ddc1a6d96d98
8590
subdir:
8691
ouroboros-network
8792
ouroboros-network-framework
88-
--sha256: sha256-+IdAmWJqzRy+erKONywtk+5YLrm63q942nZavoEA4E4=
93+
--sha256: sha256-OAPsul8TaOpNwd2BlTE0jwqWiRk83rNVSxtIA5Se9Kg=
8994

9095
source-repository-package
9196
type: git
@@ -135,6 +140,22 @@ if arch(wasm32)
135140
tag: ab92e48e9fdf3abe214f85fdbe5301c1280e14e9
136141
--sha256: sha256-U+ln/gbXoQZpNjZHydNa0FG/9GdJFgL1+T3+7KTzDWo=
137142

143+
source-repository-package
144+
type: git
145+
location: https://github.com/palas/kes-agent
146+
tag: a234ca2beede6fb557dfb4ce829b52874cc94613
147+
--sha256: sha256-k6PJC2uYr4VP+erPrVCFHMAbJaGMqESRowSvoB/w0ss=
148+
subdir:
149+
kes-agent
150+
151+
source-repository-package
152+
type: git
153+
location: https://github.com/palas/fs-sim
154+
tag: c39efe618cf63df909e8e0acab31684b10223550
155+
--sha256: sha256-zHJfVFEzdeq9WhInEIRCJ1OQTYM06k++9gzfUaG//S8=
156+
subdir:
157+
fs-sim
158+
138159
package cardano-crypto-praos
139160
flags: -external-libsodium-vrf
140161

@@ -154,5 +175,4 @@ if arch(wasm32)
154175

155176
-- IMPORTANT
156177
-- Do NOT add more source-repository-package stanzas here unless they are strictly
157-
-- temporary! Please read the section in CONTRIBUTING about updating dependencies.
158-
178+
-- temporary! Please read the section in CONTRIBUTING about updating dependencies.

cardano-api/cardano-api.cabal

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,10 @@ library
129129
cardano-ledger-api >=1.11,
130130
cardano-ledger-babbage >=1.11,
131131
cardano-ledger-binary >=1.6,
132-
cardano-ledger-byron >=1.1,
132+
cardano-ledger-byron >=1.2,
133133
cardano-ledger-conway >=1.19,
134-
cardano-ledger-core >=1.17,
134+
cardano-ledger-core >=1.17 && <1.19,
135+
cardano-ledger-dijkstra >=0.1,
135136
cardano-ledger-mary >=1.8,
136137
cardano-ledger-shelley >=1.16,
137138
cardano-protocol-tpraos >=1.4,
@@ -153,24 +154,23 @@ library
153154
iproute,
154155
memory,
155156
microlens,
156-
microlens-aeson,
157157
mono-traversable,
158158
mtl,
159159
network,
160160
network-mux,
161161
nothunks,
162162
ordered-containers,
163-
ouroboros-consensus ^>=0.27,
164-
ouroboros-consensus-cardano ^>=0.25.1,
165-
ouroboros-consensus-diffusion ^>=0.23,
166-
ouroboros-consensus-protocol ^>=0.12,
163+
ouroboros-consensus ^>=0.28,
164+
ouroboros-consensus-cardano ^>=0.26,
165+
ouroboros-consensus-diffusion ^>=0.24,
166+
ouroboros-consensus-protocol ^>=0.13,
167167
ouroboros-network,
168-
ouroboros-network-api >=0.14,
168+
ouroboros-network-api >=0.15,
169169
ouroboros-network-framework,
170-
ouroboros-network-protocols >=0.14,
170+
ouroboros-network-protocols >=0.15,
171171
parsec,
172-
plutus-core,
173-
plutus-ledger-api ^>=1.45,
172+
plutus-core ^>=1.53,
173+
plutus-ledger-api ^>=1.53,
174174
pretty-simple,
175175
prettyprinter,
176176
prettyprinter-ansi-terminal,
@@ -188,7 +188,7 @@ library
188188
time,
189189
transformers,
190190
transformers-except ^>=0.1.3,
191-
typed-protocols ^>=0.3,
191+
typed-protocols ^>=1.0,
192192
validation,
193193
vector,
194194
yaml,
@@ -311,19 +311,21 @@ library gen
311311

312312
build-depends:
313313
FailT,
314-
QuickCheck,
314+
QuickCheck <2.16,
315315
aeson >=1.5.6.0,
316316
base16-bytestring,
317317
bytestring,
318318
cardano-api,
319319
cardano-binary >=1.6 && <1.8,
320320
cardano-crypto-class ^>=2.2.1,
321321
cardano-crypto-test ^>=1.6,
322+
cardano-crypto-wrapper,
322323
cardano-ledger-alonzo >=1.8.1,
323324
cardano-ledger-babbage,
324-
cardano-ledger-byron-test >=1.5,
325+
cardano-ledger-byron,
325326
cardano-ledger-conway,
326327
cardano-ledger-core >=1.14,
328+
cardano-ledger-dijkstra >=0.1,
327329
cardano-ledger-mary,
328330
cardano-ledger-shelley >=1.13,
329331
cardano-strict-containers,
@@ -345,9 +347,12 @@ test-suite cardano-api-test
345347
hs-source-dirs: test/cardano-api-test
346348
main-is: cardano-api-test.hs
347349
type: exitcode-stdio-1.0
350+
351+
if arch(wasm32)
352+
buildable: False
348353
build-depends:
349354
FailT,
350-
QuickCheck,
355+
QuickCheck <2.16,
351356
aeson >=1.5.6.0,
352357
base16-bytestring,
353358
bytestring,
@@ -359,11 +364,12 @@ test-suite cardano-api-test
359364
cardano-crypto-tests ^>=2.2,
360365
cardano-crypto-wrapper,
361366
cardano-ledger-alonzo,
362-
cardano-ledger-api >=1.9,
367+
cardano-ledger-api >=1.11,
363368
cardano-ledger-binary,
364369
cardano-ledger-conway,
365370
cardano-ledger-core >=1.14,
366371
cardano-ledger-mary,
372+
cardano-ledger-shelley,
367373
cardano-protocol-tpraos,
368374
cardano-slotting,
369375
cborg,
@@ -373,13 +379,11 @@ test-suite cardano-api-test
373379
hedgehog >=1.1,
374380
hedgehog-extras,
375381
hedgehog-quickcheck,
376-
interpolatedstring-perl6,
377382
microlens,
378383
mtl,
379384
ouroboros-consensus,
380-
ouroboros-consensus-cardano,
381385
ouroboros-consensus-protocol,
382-
plutus-ledger-api,
386+
raw-strings-qq,
383387
tasty,
384388
tasty-hedgehog,
385389
tasty-quickcheck,
@@ -421,6 +425,9 @@ test-suite cardano-api-golden
421425
hs-source-dirs: test/cardano-api-golden
422426
main-is: cardano-api-golden.hs
423427
type: exitcode-stdio-1.0
428+
429+
if arch(wasm32)
430+
buildable: False
424431
build-depends:
425432
aeson,
426433
base64-bytestring,
@@ -432,7 +439,7 @@ test-suite cardano-api-golden
432439
cardano-crypto-class ^>=2.2.1,
433440
cardano-data >=1.0,
434441
cardano-ledger-alonzo,
435-
cardano-ledger-api >=1.9,
442+
cardano-ledger-api >=1.11,
436443
cardano-ledger-binary,
437444
cardano-ledger-core >=1.14,
438445
cardano-ledger-shelley,
@@ -443,8 +450,8 @@ test-suite cardano-api-golden
443450
hedgehog >=1.1,
444451
hedgehog-extras ^>=0.10,
445452
microlens,
446-
plutus-core ^>=1.45,
447-
plutus-ledger-api,
453+
plutus-core ^>=1.53,
454+
plutus-ledger-api ^>=1.53,
448455
tasty,
449456
tasty-discover,
450457
tasty-hedgehog,

cardano-api/gen/Test/Gen/Cardano/Api/Era.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ shelleyBasedEraTestConstraints = \case
3636
ShelleyBasedEraAlonzo -> id
3737
ShelleyBasedEraBabbage -> id
3838
ShelleyBasedEraConway -> id
39+
ShelleyBasedEraDijkstra -> id
3940

4041
conwayEraOnwardsTestConstraints
4142
:: ()
@@ -48,3 +49,4 @@ conwayEraOnwardsTestConstraints
4849
-> a
4950
conwayEraOnwardsTestConstraints = \case
5051
ConwayEraOnwardsConway -> id
52+
ConwayEraOnwardsDijkstra -> id

cardano-api/gen/Test/Gen/Cardano/Api/Orphans.hs

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,19 @@ import Cardano.Ledger.Address ()
2424
import Cardano.Ledger.Alonzo.PParams qualified as Ledger
2525
import Cardano.Ledger.Alonzo.Scripts qualified as Alonzo
2626
import Cardano.Ledger.Babbage.PParams qualified as Ledger
27-
import Cardano.Ledger.BaseTypes (textToDns, textToUrl)
27+
import Cardano.Ledger.BaseTypes
2828
import Cardano.Ledger.BaseTypes qualified as Ledger
2929
import Cardano.Ledger.Coin qualified as L
3030
import Cardano.Ledger.Conway.Governance qualified as Ledger
3131
import Cardano.Ledger.Conway.PParams qualified as Ledger
3232
import Cardano.Ledger.Core qualified as Ledger
33+
import Cardano.Ledger.Dijkstra (DijkstraEra)
34+
import Cardano.Ledger.Dijkstra.PParams
3335
import Cardano.Ledger.HKD (HKD, NoUpdate (..))
3436
import Cardano.Ledger.Keys (VRFVerKeyHash (..))
3537
import Cardano.Ledger.Mary.Value qualified as ConcreteValue
3638
import Cardano.Ledger.Mary.Value qualified as Ledger
39+
import Cardano.Ledger.Plutus.CostModels qualified as L
3740
import Cardano.Ledger.Plutus.CostModels qualified as Ledger
3841
import Cardano.Ledger.Plutus.Language qualified as L
3942
import Cardano.Ledger.Plutus.Language qualified as Ledger
@@ -79,6 +82,7 @@ import Test.QuickCheck
7982
, scale
8083
, shrinkBoundedEnum
8184
, sublistOf
85+
, suchThatMap
8286
, vectorOf
8387
)
8488
import Test.QuickCheck.Gen (Gen (MkGen))
@@ -392,7 +396,7 @@ multiAssetFromListBounded =
392396
instance Arbitrary L.GovActionId where
393397
arbitrary = L.GovActionId <$> arbitrary <*> arbitrary
394398

395-
deriving instance Arbitrary (L.GovPurposeId p era)
399+
deriving instance Arbitrary (L.GovPurposeId p)
396400

397401
instance Arbitrary L.DRep where
398402
arbitrary =
@@ -736,7 +740,7 @@ instance Arbitrary Alonzo.CostModels where
736740

737741
genValidCostModel :: Ledger.Language -> Gen Ledger.CostModel
738742
genValidCostModel lang = do
739-
newParamValues <- vectorOf (Ledger.costModelParamsCount lang) arbitrary
743+
newParamValues <- vectorOf (L.costModelInitParamCount lang) arbitrary
740744
either (\err -> error $ "Corrupt cost model: " ++ show err) pure $
741745
Ledger.mkCostModel lang newParamValues
742746

@@ -772,12 +776,12 @@ genCostModelValues lang = do
772776
Positive sub <- arbitrary
773777
(,) lang'
774778
<$> oneof
775-
[ listAtLeast (Ledger.costModelParamsCount lang)
779+
[ listAtLeast (L.costModelInitParamCount lang)
776780
, take (tooFew sub) <$> arbitrary
777781
]
778782
where
779783
lang' = fromIntegral (fromEnum lang)
780-
tooFew sub = Ledger.costModelParamsCount lang - sub
784+
tooFew sub = L.costModelInitParamCount lang - sub
781785
listAtLeast :: Int -> Gen [Int64]
782786
listAtLeast x = do
783787
NonNegative y <- arbitrary
@@ -805,3 +809,25 @@ obtainArbitraryConstraints era f = case era of
805809
ShelleyBasedEraAlonzo -> f
806810
ShelleyBasedEraBabbage -> f
807811
ShelleyBasedEraConway -> f
812+
ShelleyBasedEraDijkstra -> f
813+
814+
instance Arbitrary (DijkstraPParams Identity DijkstraEra) where
815+
arbitrary = genericArbitraryU
816+
817+
instance Arbitrary (DijkstraPParams StrictMaybe DijkstraEra) where
818+
arbitrary = genericArbitraryU
819+
820+
instance Arbitrary PositiveInterval where
821+
arbitrary = do
822+
p <- chooseInt (0, maxDecimalsWord64)
823+
let y = 10 ^ p :: Word64
824+
x <- choose (1, 10 ^ (maxDecimalsWord64 :: Int))
825+
pure $ unsafeBoundedRational $ promoteRatio (x % y)
826+
827+
instance (Arbitrary a, HasZero a) => Arbitrary (NonZero a) where
828+
arbitrary = arbitrary `suchThatMap` nonZero
829+
830+
instance Arbitrary (L.CompactForm Coin) where
831+
arbitrary =
832+
L.CompactCoin <$> oneof [choose (0, 1000000), fromIntegral <$> (arbitrary :: Gen Word), arbitrary]
833+
shrink (L.CompactCoin i) = L.CompactCoin <$> shrink i

0 commit comments

Comments
 (0)