Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
8a55273
Add `DijkstraEra era` to `CardanoEra era`
Jimbo4350 Jul 30, 2025
774a5ca
Add `ShelleyBasedEraDijkstra` to `ShelleyBasedEra era`
Jimbo4350 Jul 30, 2025
7307945
Add Dijkstra era to eons
Jimbo4350 Jul 30, 2025
33e28d1
Add `DijkstraEra` to `Era era`
Jimbo4350 Jul 30, 2025
6f5dd30
COMBINE ME: cabal file updates
Jimbo4350 Jul 30, 2025
7b832d4
Update `QueryInShelleyBasedEra era result`
Jimbo4350 Jul 30, 2025
6405e83
Update `makeShelleyTransactionBody` with Dijkstra era
Jimbo4350 Jul 30, 2025
96c6596
Update ledger types `PParamUpdatePurpose`, `CommitteePurpose` and
Jimbo4350 Jul 30, 2025
e39a353
Propagate `ChainAccountState`
Jimbo4350 Jul 30, 2025
3e6898f
Consensus related Dijkstra changes
Jimbo4350 Jul 30, 2025
3f8282d
Temporary Cardano.Api.LedgerState Dijkstra update
Jimbo4350 Jul 30, 2025
aff0d41
Update TxOut rendering to handle Dijkstra era
Jimbo4350 Jul 30, 2025
c289522
Update `eraSpecificLedgerTxBody` with Dijkstra era
Jimbo4350 Jul 30, 2025
af4c228
Update `decodeBigLedgerPeerSnapshot` to support snapshot SRV names
Jimbo4350 Jul 30, 2025
bad14bd
Update generators with PlutusScriptV4
Jimbo4350 Jul 30, 2025
b98d529
Introduce PlutusScriptV4
Jimbo4350 Jul 30, 2025
cb4b592
Propagate Dijkstra era
Jimbo4350 Jul 30, 2025
6f77e9d
Merge with PlutusV4 intro
Jimbo4350 Jul 30, 2025
4172fe4
Merge with propagate Dikstra
Jimbo4350 Jul 30, 2025
724aa83
REMOVE ME: Add ledger and consensus SRPs
Jimbo4350 Jul 30, 2025
db06c5e
Update nix flake
Jimbo4350 Jul 30, 2025
94a4747
Update cardano-rpc with PlutusV4
Jimbo4350 Jul 31, 2025
2e96d47
Implement `executeLocalStateQueryExprWithVersion`
Jimbo4350 Jul 31, 2025
38dce70
Fix parseHardForkTriggers
Jimbo4350 Jul 31, 2025
9e68338
Fix cardano-rpc-test for protocol parameters roundtrip
carbolymer Aug 1, 2025
6fb2df4
Update flake lock and ouroboros-network and plutus patches
palas Aug 1, 2025
609d10c
Update wasm cache
palas Aug 1, 2025
f79e607
Merge with: Consensus related Dijkstra change
Aug 7, 2025
59159a4
Use exampleDijkstraGenesis value
Aug 7, 2025
e30d563
Run formolu
Aug 7, 2025
53bf0af
Fix HLS CI job
carbolymer Aug 11, 2025
2b5877e
Address lints
palas Aug 12, 2025
1a6b3c9
Update `ouroboros-consensus` stanza
palas Aug 12, 2025
4d0a5d1
wip: cardano-api with kes-agent support
fraser-iohk Jun 25, 2025
02b8d2f
WIP: update ledger and index-state
ana-pantilie Aug 21, 2025
f71ea2d
Fix most compilation errors
ana-pantilie Aug 25, 2025
28d149f
Upgrade plutus to 1.52
ana-pantilie Aug 25, 2025
fb8f2b3
Add bounds to quickcheck
ana-pantilie Aug 26, 2025
a2b0cc2
Add another quickcheck bound
ana-pantilie Aug 26, 2025
02d289f
Fill in undefineds
Jimbo4350 Aug 26, 2025
1772fab
Bump CHaP in nix flake
Jimbo4350 Sep 9, 2025
04da1fa
Rebase changes
Jimbo4350 Sep 10, 2025
ef20ea2
WIP
Jimbo4350 Sep 10, 2025
221cb11
bump CHaP and hackage, remove ledger srp
carbolymer Sep 11, 2025
5a4f009
WIP: update dependencies accordingly, remove allow-newer
ana-pantilie Sep 11, 2025
fcea39b
Fix type errors
Jimbo4350 Sep 11, 2025
696f4e1
WIP: add kes-agent, cardano-base SRPs; add constraints
ana-pantilie Sep 12, 2025
4a0a18c
Dependencies resolve in nix shell, but there are build failures
Jimbo4350 Sep 12, 2025
ca7297f
Comment out cardano-rpc from the project temporarily.
carbolymer Sep 15, 2025
833aa4e
Add Dijkstra era support to experimental eras
carbolymer Sep 19, 2025
9e494aa
Disable Alonzo Genesis cost models validation, since it is done by le…
carbolymer Sep 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/haskell-wasm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ jobs:

- name: Restore cached deps
run: |
wget "https://agrius.feralhosting.com/palas/wasm-cache/4c200033737be4736cd2a363d64c49a385937d5ea57d8e52773f65d08bbd1342.tar.bz2"
tar -jxf 4c200033737be4736cd2a363d64c49a385937d5ea57d8e52773f65d08bbd1342.tar.bz2
wget "https://agrius.feralhosting.com/palas/wasm-cache/c98ffd34ef84bbd524f7c750e96452c13063b960c05cb2d3361e343377978cc8.tar.xz"
tar -xf c98ffd34ef84bbd524f7c750e96452c13063b960c05cb2d3361e343377978cc8.tar.xz
rm -fr ~/.ghc-wasm/.cabal/store/
mv store ~/.ghc-wasm/.cabal/
Expand Down
68 changes: 59 additions & 9 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,21 @@ repository cardano-haskell-packages
-- See CONTRIBUTING for information about these, including some Nix commands
-- you need to run if you change them
index-state:
, hackage.haskell.org 2025-06-22T20:18:27Z
, cardano-haskell-packages 2025-06-20T09:11:51Z
, hackage.haskell.org 2025-09-11T01:58:40Z
, cardano-haskell-packages 2025-09-10T20:31:08Z

packages:
cardano-api
cardano-api-gen
cardano-wasm
cardano-rpc
-- TODO fix potential issues with build-type: Custom and protoc and reenable
-- cardano-rpc

extra-packages: Cabal, process

if impl(ghc < 9.8)
constraints: interpolatedstring-perl6:setup.time source

constraints: process >= 1.6.26.1

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


-- WASM compilation specific

if arch(wasm32)
source-repository-package
type: git
location: https://github.com/amesgen/plutus.git
tag: dc1edea4458d6fb794b245a26c730620265645f3
location: https://github.com/intersectmbo/plutus.git
tag: 210c8375cd82eb2670b703b0975c26589dd40b2f
subdir:
plutus-core
plutus-ledger-api
plutus-tx
--sha256: sha256-QBtLmoS54b5QMAKIDOJIM6lmRC+1leBpuGKaFc7QQos=
--sha256: sha256-icAg87JKdCkeuNZvVwNlT0v1/O0wOYwIQ6LzXj9iTYM=

package plutus-core
flags: +do-not-build-plutus-exec
Expand All @@ -86,11 +87,11 @@ if arch(wasm32)
source-repository-package
type: git
location: https://github.com/palas/ouroboros-network.git
tag: ef3e30603e4e45dac336a085114ee22b7aa8c9ed
tag: bbc8bd70386a951e8633e4966e661df079cdc103
subdir:
ouroboros-network
ouroboros-network-framework
--sha256: sha256-+IdAmWJqzRy+erKONywtk+5YLrm63q942nZavoEA4E4=
--sha256: sha256-7m9lMZlQzjbfaGpWA5ipDGloQ2uhIQmFRoUFQ7GCDl8=

source-repository-package
type: git
Expand Down Expand Up @@ -161,3 +162,52 @@ if arch(wasm32)
-- Do NOT add more source-repository-package stanzas here unless they are strictly
-- temporary! Please read the section in CONTRIBUTING about updating dependencies.

source-repository-package
type: git
location: https://github.com/IntersectMBO/ouroboros-consensus
-- latest master
tag: 71b02607c8a39ed4d8c983b281b05452ed8c01ce
--sha256: sha256-/vnZnAPsEuqQMzG5NGHaWk9vyefBWMft7/rKQ+yyYTQ=
subdir:
ouroboros-consensus
ouroboros-consensus-cardano
ouroboros-consensus-diffusion
ouroboros-consensus-protocol
sop-extras
strict-sop-core

source-repository-package
type: git
location: https://github.com/IntersectMBO/cardano-base
tag: 42a03721ad612baa56efac35f3f69aa19790c2f9
--sha256: sha256-Ak4Ow/1FHwsJCSTazI7OvZX/QQVVPc6YqH+lGg82D80=
subdir:
cardano-base
cardano-binary
cardano-crypto-class
cardano-crypto-praos
cardano-crypto-tests
cardano-slotting
cardano-strict-containers

source-repository-package
type: git
location: https://github.com/input-output-hk/kes-agent
tag: bf203c4e7f7e6aab947b077e178baac3ecb2541d
--sha256: sha256-cURVbhbTvK6iPKaXVjCovBezyE5UVs46iarmVyWA2Uc=
subdir:
kes-agent


-- TODO remove this before merging 10.6 release PR if it is no longer needed
-- constraints:
-- contra-tracer == 0.1.0.2
-- , lifted-async ^>=0.10.2.0
-- , tls == 2.1.6
-- , hashable ^>=1.4.7.0
-- , hedgehog >=1.5
-- , grapesy ^>= 1.0.0
-- , http2-tls ^>= 0.4.0
-- , random^>=1.2


35 changes: 18 additions & 17 deletions cardano-api/cardano-api.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,10 @@ library
cardano-ledger-api >=1.11,
cardano-ledger-babbage >=1.11,
cardano-ledger-binary >=1.6,
cardano-ledger-byron >=1.1,
cardano-ledger-byron >=1.2,
cardano-ledger-conway >=1.19,
cardano-ledger-core >=1.17,
cardano-ledger-core >=1.17 && <1.19,
cardano-ledger-dijkstra >=0.1,
cardano-ledger-mary >=1.8,
cardano-ledger-shelley >=1.16,
cardano-protocol-tpraos >=1.4,
Expand All @@ -153,7 +154,6 @@ library
iproute,
memory,
microlens,
microlens-aeson,
mono-traversable,
mtl,
network,
Expand All @@ -165,12 +165,12 @@ library
ouroboros-consensus-diffusion ^>=0.23,
ouroboros-consensus-protocol ^>=0.12,
ouroboros-network,
ouroboros-network-api >=0.14,
ouroboros-network-api >=0.15,
ouroboros-network-framework,
ouroboros-network-protocols >=0.14,
ouroboros-network-protocols >=0.15,
parsec,
plutus-core,
plutus-ledger-api ^>=1.45,
plutus-core ^>=1.53,
plutus-ledger-api ^>=1.53,
pretty-simple,
prettyprinter,
prettyprinter-ansi-terminal,
Expand All @@ -188,7 +188,7 @@ library
time,
transformers,
transformers-except ^>=0.1.3,
typed-protocols ^>=0.3,
typed-protocols ^>=1.0,
validation,
vector,
yaml,
Expand Down Expand Up @@ -311,19 +311,21 @@ library gen

build-depends:
FailT,
QuickCheck,
QuickCheck <2.16,
aeson >=1.5.6.0,
base16-bytestring,
bytestring,
cardano-api,
cardano-binary >=1.6 && <1.8,
cardano-crypto-class ^>=2.2.1,
cardano-crypto-test ^>=1.6,
cardano-crypto-wrapper,
cardano-ledger-alonzo >=1.8.1,
cardano-ledger-babbage,
cardano-ledger-byron-test >=1.5,
cardano-ledger-byron,
cardano-ledger-conway,
cardano-ledger-core >=1.14,
cardano-ledger-dijkstra >=0.1,
cardano-ledger-mary,
cardano-ledger-shelley >=1.13,
cardano-strict-containers,
Expand All @@ -347,7 +349,7 @@ test-suite cardano-api-test
type: exitcode-stdio-1.0
build-depends:
FailT,
QuickCheck,
QuickCheck <2.16,
aeson >=1.5.6.0,
base16-bytestring,
bytestring,
Expand All @@ -359,7 +361,7 @@ test-suite cardano-api-test
cardano-crypto-tests ^>=2.2,
cardano-crypto-wrapper,
cardano-ledger-alonzo,
cardano-ledger-api >=1.9,
cardano-ledger-api >=1.11,
cardano-ledger-binary,
cardano-ledger-conway,
cardano-ledger-core >=1.14,
Expand All @@ -379,7 +381,6 @@ test-suite cardano-api-test
ouroboros-consensus,
ouroboros-consensus-cardano,
ouroboros-consensus-protocol,
plutus-ledger-api,
tasty,
tasty-hedgehog,
tasty-quickcheck,
Expand Down Expand Up @@ -432,7 +433,7 @@ test-suite cardano-api-golden
cardano-crypto-class ^>=2.2.1,
cardano-data >=1.0,
cardano-ledger-alonzo,
cardano-ledger-api >=1.9,
cardano-ledger-api >=1.11,
cardano-ledger-binary,
cardano-ledger-core >=1.14,
cardano-ledger-shelley,
Expand All @@ -441,10 +442,10 @@ test-suite cardano-api-golden
errors,
filepath,
hedgehog >=1.1,
hedgehog-extras ^>=0.8,
hedgehog-extras ^>=0.10,
microlens,
plutus-core ^>=1.45,
plutus-ledger-api,
plutus-core ^>=1.53,
plutus-ledger-api ^>=1.53,
tasty,
tasty-discover,
tasty-hedgehog,
Expand Down
2 changes: 2 additions & 0 deletions cardano-api/gen/Test/Gen/Cardano/Api/Era.hs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ shelleyBasedEraTestConstraints = \case
ShelleyBasedEraAlonzo -> id
ShelleyBasedEraBabbage -> id
ShelleyBasedEraConway -> id
ShelleyBasedEraDijkstra -> id

conwayEraOnwardsTestConstraints
:: ()
Expand All @@ -48,3 +49,4 @@ conwayEraOnwardsTestConstraints
-> a
conwayEraOnwardsTestConstraints = \case
ConwayEraOnwardsConway -> id
ConwayEraOnwardsDijkstra -> id
36 changes: 31 additions & 5 deletions cardano-api/gen/Test/Gen/Cardano/Api/Orphans.hs
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,19 @@ import Cardano.Ledger.Address ()
import Cardano.Ledger.Alonzo.PParams qualified as Ledger
import Cardano.Ledger.Alonzo.Scripts qualified as Alonzo
import Cardano.Ledger.Babbage.PParams qualified as Ledger
import Cardano.Ledger.BaseTypes (textToDns, textToUrl)
import Cardano.Ledger.BaseTypes
import Cardano.Ledger.BaseTypes qualified as Ledger
import Cardano.Ledger.Coin qualified as L
import Cardano.Ledger.Conway.Governance qualified as Ledger
import Cardano.Ledger.Conway.PParams qualified as Ledger
import Cardano.Ledger.Core qualified as Ledger
import Cardano.Ledger.Dijkstra (DijkstraEra)
import Cardano.Ledger.Dijkstra.PParams
import Cardano.Ledger.HKD (HKD, NoUpdate (..))
import Cardano.Ledger.Keys (VRFVerKeyHash (..))
import Cardano.Ledger.Mary.Value qualified as ConcreteValue
import Cardano.Ledger.Mary.Value qualified as Ledger
import Cardano.Ledger.Plutus.CostModels qualified as L
import Cardano.Ledger.Plutus.CostModels qualified as Ledger
import Cardano.Ledger.Plutus.Language qualified as L
import Cardano.Ledger.Plutus.Language qualified as Ledger
Expand Down Expand Up @@ -80,6 +83,7 @@ import Test.QuickCheck
, scale
, shrinkBoundedEnum
, sublistOf
, suchThatMap
, vectorOf
)
import Test.QuickCheck.Gen (Gen (MkGen))
Expand Down Expand Up @@ -395,7 +399,7 @@ multiAssetFromListBounded =
instance Arbitrary L.GovActionId where
arbitrary = L.GovActionId <$> arbitrary <*> arbitrary

deriving instance Arbitrary (L.GovPurposeId p era)
deriving instance Arbitrary (L.GovPurposeId p)

instance Arbitrary L.DRep where
arbitrary =
Expand Down Expand Up @@ -739,7 +743,7 @@ instance Arbitrary Alonzo.CostModels where

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

Expand Down Expand Up @@ -775,12 +779,12 @@ genCostModelValues lang = do
Positive sub <- arbitrary
(,) lang'
<$> oneof
[ listAtLeast (Ledger.costModelParamsCount lang)
[ listAtLeast (L.costModelInitParamCount lang)
, take (tooFew sub) <$> arbitrary
]
where
lang' = fromIntegral (fromEnum lang)
tooFew sub = Ledger.costModelParamsCount lang - sub
tooFew sub = L.costModelInitParamCount lang - sub
listAtLeast :: Int -> Gen [Int64]
listAtLeast x = do
NonNegative y <- arbitrary
Expand Down Expand Up @@ -808,3 +812,25 @@ obtainArbitraryConstraints era f = case era of
ShelleyBasedEraAlonzo -> f
ShelleyBasedEraBabbage -> f
ShelleyBasedEraConway -> f
ShelleyBasedEraDijkstra -> f

instance Arbitrary (DijkstraPParams Identity DijkstraEra) where
arbitrary = genericArbitraryU

instance Arbitrary (DijkstraPParams StrictMaybe DijkstraEra) where
arbitrary = genericArbitraryU

instance Arbitrary PositiveInterval where
arbitrary = do
p <- chooseInt (0, maxDecimalsWord64)
let y = 10 ^ p :: Word64
x <- choose (1, 10 ^ (maxDecimalsWord64 :: Int))
pure $ unsafeBoundedRational $ promoteRatio (x % y)

instance (Arbitrary a, HasZero a) => Arbitrary (NonZero a) where
arbitrary = arbitrary `suchThatMap` nonZero

instance Arbitrary (L.CompactForm Coin) where
arbitrary =
L.CompactCoin <$> oneof [choose (0, 1000000), fromIntegral <$> (arbitrary :: Gen Word), arbitrary]
shrink (L.CompactCoin i) = L.CompactCoin <$> shrink i
Loading
Loading