Skip to content

Commit 8aaa929

Browse files
authored
Merge pull request #6143 from IntersectMBO/aniketd/release-10-3
Release 10.3
2 parents aec5698 + 3a026c7 commit 8aaa929

File tree

151 files changed

+20807
-1525
lines changed

Some content is hidden

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

151 files changed

+20807
-1525
lines changed

.github/workflows/check-mainnet-config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ jobs:
4040
test_files=(
4141
'mainnet-alonzo-genesis.json'
4242
'mainnet-byron-genesis.json'
43+
'mainnet-checkpoints.json'
44+
'mainnet-config-bp.json'
4345
'mainnet-config.json'
46+
'mainnet-peer-snapshot.json'
4447
'mainnet-shelley-genesis.json'
4548
'mainnet-topology.json'
4649
)

bench/locli/locli.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 3.0
22

33
name: locli
4-
version: 2.1
4+
version: 2.1.1
55
synopsis: Cardano log analysis CLI
66
description: Cardano log analysis CLI.
77
category: Cardano,
@@ -126,7 +126,7 @@ library
126126
, hashable
127127
, optparse-applicative-fork >= 0.18.1
128128
, ouroboros-consensus
129-
, ouroboros-network-api ^>= 0.12
129+
, ouroboros-network-api ^>= 0.13
130130
, sop-core
131131
, split
132132
, sqlite-easy >= 1.1.0.1

bench/plutus-scripts-bench/plutus-scripts-bench.cabal

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 3.0
22
name: plutus-scripts-bench
3-
version: 1.0.4.2
3+
version: 1.0.4.3
44
synopsis: Plutus scripts used for benchmarking
55
description: Plutus scripts used for benchmarking.
66
category: Cardano,
@@ -82,10 +82,10 @@ library
8282
-- IOG dependencies
8383
--------------------------
8484
build-depends:
85-
, cardano-api ^>=10.11
86-
, plutus-ledger-api ^>=1.40
87-
, plutus-tx ^>=1.40
88-
, plutus-tx-plugin ^>=1.40
85+
, cardano-api ^>=10.13.1
86+
, plutus-ledger-api ^>=1.43
87+
, plutus-tx ^>=1.43
88+
, plutus-tx-plugin ^>=1.43
8989

9090
------------------------
9191
-- Non-IOG dependencies

bench/tx-generator/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
# ChangeLog
22

3+
## 2.15 -- Mar 2025
4+
5+
* A new cabal flag `withplutuslib` is added, enabling import and re-compilation of Plutus scripts from `plutus-scripts-bench` - default: false; use for dev/test of new benchmarks only.
6+
* Port `ProtocolParameters` type and typeclass instances from `cardano-api` into new module `Cardano.Api.Internal`, removing dependency on the deprecated API type.
7+
* Bump for Node 10.3
8+
39
## 2.14.2 -- Oct 2024
410

511
* Bump for Node 10
612

713
## 2.14.1 -- June 2024
14+
815
* A new NixSvcOptions field is introduced: `_nix_keepalive`
916
and it's propagated down to the `kaClient` that does keepalives.
1017
This makes keepalive timeouts configurable.

bench/tx-generator/src/Cardano/Benchmarking/Script/Aeson.hs

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,30 @@
44
{-# LANGUAGE GADTs #-}
55
{-# LANGUAGE ScopedTypeVariables #-}
66
{-# LANGUAGE StandaloneDeriving #-}
7+
78
module Cardano.Benchmarking.Script.Aeson
89
where
910

10-
import qualified Data.ByteString as BS
11-
import qualified Data.ByteString.Char8 as BS (lines)
12-
import qualified Data.ByteString.Lazy as BSL
13-
import Data.Text (Text)
14-
import GHC.Generics (Generic)
11+
import Cardano.Api
12+
13+
import Cardano.Benchmarking.Script.Types
14+
import Cardano.TxGenerator.Internal.Orphans ()
15+
import Cardano.TxGenerator.ProtocolParameters (ProtocolParameters)
16+
import Cardano.TxGenerator.Types
17+
1518
import Prelude
16-
import System.Exit
1719

1820
import Data.Aeson as Aeson
1921
import Data.Aeson.Encode.Pretty
2022
import Data.Aeson.Parser as Aeson (json)
2123
import qualified Data.Attoparsec.ByteString as Atto
24+
import qualified Data.ByteString as BS
25+
import qualified Data.ByteString.Char8 as BS (lines)
26+
import qualified Data.ByteString.Lazy as BSL
27+
import Data.Text (Text)
2228
import qualified Data.Yaml as Yaml (encode)
23-
24-
import Cardano.Api
25-
import Cardano.Api.Internal.ProtocolParameters (ProtocolParameters)
26-
27-
import Cardano.Benchmarking.Script.Types
28-
import Cardano.TxGenerator.Internal.Orphans ()
29-
import Cardano.TxGenerator.Types
29+
import GHC.Generics (Generic)
30+
import System.Exit
3031

3132
testJSONRoundTrip :: [Action] -> Maybe String
3233
testJSONRoundTrip l = case fromJSON $ toJSON l of

bench/tx-generator/src/Cardano/Benchmarking/Script/Core.hs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,8 @@
1818
module Cardano.Benchmarking.Script.Core
1919
where
2020

21-
import Cardano.Api hiding (toLedgerPParams, fromLedgerPParams)
22-
import Cardano.Api.Shelley (PlutusScriptOrReferenceInput (..),
23-
ShelleyLedgerEra)
24-
import Cardano.Api.Internal.ProtocolParameters (toLedgerPParams, fromLedgerPParams, ProtocolParameters, convertToLedgerProtocolParameters, protocolParamPrices, protocolParamMaxTxExUnits)
21+
import Cardano.Api
22+
import Cardano.Api.Shelley (PlutusScriptOrReferenceInput (..), ShelleyLedgerEra)
2523

2624
import Cardano.Benchmarking.GeneratorTx as GeneratorTx (AsyncBenchmarkControl)
2725
import qualified Cardano.Benchmarking.GeneratorTx as GeneratorTx (waitBenchmark, walletBenchmark)
@@ -46,6 +44,7 @@ import Cardano.TxGenerator.Fund as Fund
4644
import qualified Cardano.TxGenerator.FundQueue as FundQueue
4745
import qualified Cardano.TxGenerator.Genesis as Genesis
4846
import Cardano.TxGenerator.PlutusContext
47+
import Cardano.TxGenerator.ProtocolParameters
4948
import Cardano.TxGenerator.Setup.Plutus as Plutus
5049
import Cardano.TxGenerator.Setup.SigningKey
5150
import Cardano.TxGenerator.Tx

bench/tx-generator/src/Cardano/Benchmarking/Script/Env.hs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ import Cardano.Benchmarking.OuroborosImports (NetworkId, PaymentKey, S
7171
SigningKey)
7272
import Cardano.Benchmarking.Script.Types
7373
import Cardano.Benchmarking.Wallet
74-
import Cardano.Ledger.Crypto (StandardCrypto)
7574
import Cardano.Logging
7675
import Cardano.Node.Protocol.Types (SomeConsensusProtocol)
7776
import Cardano.TxGenerator.PlutusContext (PlutusBudgetSummary)
@@ -101,7 +100,7 @@ data Env = Env { -- | 'Cardano.Api.ProtocolParameters' is ultimately
101100
-- wrapped by 'ProtocolParameterMode' which itself is
102101
-- a sort of custom 'Maybe'.
103102
protoParams :: Maybe ProtocolParameterMode
104-
, envGenesis :: Maybe (ShelleyGenesis StandardCrypto)
103+
, envGenesis :: Maybe ShelleyGenesis
105104
, envProtocol :: Maybe SomeConsensusProtocol
106105
, envNetworkId :: Maybe NetworkId
107106
, envSocketPath :: Maybe FilePath
@@ -190,7 +189,7 @@ setBenchTracers val = do
190189
liftIO $ STM.atomically do STM.writeTVar btTVar $ Just val
191190

192191
-- | Write accessor for `envGenesis`.
193-
setEnvGenesis :: ShelleyGenesis StandardCrypto -> ActionM ()
192+
setEnvGenesis :: ShelleyGenesis -> ActionM ()
194193
setEnvGenesis val = modifyEnv (\e -> e { envGenesis = Just val })
195194

196195
-- | Write accessor for `envKeys`.
@@ -266,7 +265,7 @@ getBenchTracers = do
266265
pure $ error errMsg
267266

268267
-- | Read accessor for `envGenesis`.
269-
getEnvGenesis :: ActionM (ShelleyGenesis StandardCrypto)
268+
getEnvGenesis :: ActionM ShelleyGenesis
270269
getEnvGenesis = getEnvVal envGenesis "Genesis"
271270

272271
-- | Read accessor for `envKeys`.

bench/tx-generator/src/Cardano/Benchmarking/Script/Types.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ module Cardano.Benchmarking.Script.Types (
4040

4141
import Cardano.Api
4242
import qualified Cardano.Api.Ledger as L
43-
import Cardano.Api.Internal.ProtocolParameters (ProtocolParameters)
4443

4544
import Cardano.Benchmarking.OuroborosImports (SigningKeyFile)
4645
import Cardano.Node.Configuration.NodeAddress (NodeIPv4Address)
46+
import Cardano.TxGenerator.ProtocolParameters (ProtocolParameters)
4747
import Cardano.TxGenerator.Setup.NixService (NodeDescription)
4848
import Cardano.TxGenerator.Types
4949

bench/tx-generator/src/Cardano/Benchmarking/Tracer.hs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,8 @@ generatorTracer ::
6767
-> Maybe (Trace IO FormattedMessage)
6868
-> IO (Trace IO a)
6969
generatorTracer tracerName mbTrStdout mbTrForward = do
70-
forwardTrace <- case mbTrForward of
71-
Nothing -> mempty
72-
Just trForward -> forwardFormatter Nothing trForward
73-
stdoutTrace <- case mbTrStdout of
74-
Nothing -> mempty
75-
Just trForward -> machineFormatter Nothing trForward
70+
forwardTrace <- maybe mempty forwardFormatter mbTrForward
71+
stdoutTrace <- maybe mempty machineFormatter mbTrStdout
7672
let tr = forwardTrace <> stdoutTrace
7773
tr' <- withDetailsFromConfig tr
7874
pure $ withInnerNames $ appendPrefixName tracerName tr'
@@ -175,7 +171,7 @@ initialTraceConfig = TraceConfig {
175171
, setMaxDetail TracerNameConnect
176172
, setMaxDetail TracerNameSubmit
177173
]
178-
, tcForwarder = Just defaultForwarder
174+
, tcForwarder = Just defaultForwarder {tofConnQueueSize = 2048, tofDisconnQueueSize = 4096}
179175
, tcNodeName = Nothing
180176
, tcPeerFrequency = Just 2000 -- Every 2 seconds
181177
, tcResourceFrequency = Just 1000 -- Every second

bench/tx-generator/src/Cardano/TxGenerator/PlutusContext.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ module Cardano.TxGenerator.PlutusContext
2626
where
2727

2828
import Cardano.Api
29-
import Cardano.Api.Internal.ProtocolParameters (ProtocolParameters (..))
3029

3130
import Cardano.Ledger.Coin (Coin)
31+
import Cardano.TxGenerator.ProtocolParameters
3232
import Cardano.TxGenerator.Setup.Plutus (preExecutePlutusScript)
3333
import Cardano.TxGenerator.Types
3434

@@ -39,7 +39,6 @@ import Data.Ord (comparing)
3939
import GHC.Generics (Generic)
4040
import GHC.Natural (Natural)
4141

42-
4342
-- | This collects information describing the budget. It's only
4443
-- directly referenced in "Cardano.Benchmarking.Script.Env" to supply
4544
-- accessors as the state in an `Cardano.Benchmarking.Script.ActionM`

bench/tx-generator/src/Cardano/TxGenerator/ProtocolParameters.hs

Lines changed: 16 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,13 @@ where
3636

3737
--------------------------------------------------------------------------------
3838

39-
import GHC.Generics
39+
import Cardano.Api (AnyPlutusScriptVersion (..), CostModel, ExecutionUnits,
40+
PlutusScriptVersion (PlutusScriptV1, PlutusScriptV2, PlutusScriptV3), PraosNonce,
41+
ProtocolParametersConversionError (..), makePraosNonce)
42+
import Cardano.Api.Shelley (ExecutionUnitPrices (..), LedgerProtocolParameters (..),
43+
ShelleyBasedEra (ShelleyBasedEraAllegra, ShelleyBasedEraAlonzo, ShelleyBasedEraBabbage, ShelleyBasedEraConway, ShelleyBasedEraMary, ShelleyBasedEraShelley),
44+
ShelleyLedgerEra, fromAlonzoCostModels, fromAlonzoExUnits, fromAlonzoPrices,
45+
toAlonzoCostModels, toAlonzoExUnits, toAlonzoPrices, toLedgerNonce)
4046

4147
import qualified Cardano.Binary as CBOR
4248
import qualified Cardano.Crypto.Hash.Class as Crypto
@@ -47,45 +53,18 @@ import qualified Cardano.Ledger.BaseTypes as Ledger
4753
import qualified Cardano.Ledger.Coin as L
4854
import qualified Cardano.Ledger.Plutus.Language as Plutus
4955

56+
import Data.Aeson ((.!=), (.:), (.:?), (.=))
5057
import qualified Data.Aeson as Aeson
51-
import Data.Aeson( (.!=), (.:), (.:?), (.=) )
5258
import qualified Data.Aeson.KeyMap as KeyMap
53-
import Data.Either.Combinators (maybeToRight)
54-
import Data.Int (Int64)
59+
import Data.Either.Combinators (maybeToRight)
60+
import Data.Int (Int64)
5561
import qualified Data.Map.Strict as Map
5662
import qualified Data.Scientific as Scientific
5763
import qualified Data.Text as Text
58-
import Data.Word (Word16)
59-
import Lens.Micro ( (^.), (.~), (&) )
60-
import Numeric.Natural (Natural)
61-
62-
import Cardano.Api (
63-
AnyPlutusScriptVersion (..)
64-
, PlutusScriptVersion (PlutusScriptV1, PlutusScriptV2, PlutusScriptV3)
65-
, ExecutionUnits
66-
, ProtocolParametersConversionError (..)
67-
68-
, CostModel
69-
70-
, PraosNonce, makePraosNonce
71-
)
72-
import Cardano.Api.Shelley (
73-
LedgerProtocolParameters (..)
74-
, ShelleyBasedEra (
75-
ShelleyBasedEraShelley
76-
, ShelleyBasedEraAllegra
77-
, ShelleyBasedEraMary
78-
, ShelleyBasedEraAlonzo
79-
, ShelleyBasedEraBabbage
80-
, ShelleyBasedEraConway
81-
)
82-
, ShelleyLedgerEra
83-
, toAlonzoExUnits, fromAlonzoExUnits
84-
, ExecutionUnitPrices (..), toAlonzoPrices, fromAlonzoPrices
85-
, toAlonzoCostModels
86-
, fromAlonzoCostModels
87-
, toLedgerNonce
88-
)
64+
import Data.Word (Word16)
65+
import GHC.Generics
66+
import Lens.Micro ((&), (.~), (^.))
67+
import Numeric.Natural (Natural)
8968

9069
-- Era based ledger protocol parameters.
9170
--------------------------------------------------------------------------------
@@ -488,9 +467,8 @@ toAlonzoCommonPParams
488467

489468
-- Was removed in "cardano-api" module "Cardano.Api.Internal.ProtocolParameters"
490469
toAlonzoPParams
491-
:: Ledger.Crypto crypto
492-
=> ProtocolParameters
493-
-> Either ProtocolParametersConversionError (PParams (Ledger.AlonzoEra crypto))
470+
:: ProtocolParameters
471+
-> Either ProtocolParametersConversionError (PParams Ledger.AlonzoEra)
494472
toAlonzoPParams
495473
protocolParameters@ProtocolParameters
496474
{ protocolParamDecentralization

bench/tx-generator/src/Cardano/TxGenerator/PureExample.hs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ module Cardano.TxGenerator.PureExample
77
where
88

99
import Cardano.Api
10-
import Cardano.Api.Internal.ProtocolParameters (convertToLedgerProtocolParameters)
1110

1211
import qualified Cardano.Ledger.Coin as L
1312
import Cardano.TxGenerator.FundQueue
13+
import Cardano.TxGenerator.ProtocolParameters (convertToLedgerProtocolParameters)
1414
import Cardano.TxGenerator.Setup.SigningKey
1515
import Cardano.TxGenerator.Tx (genTx, sourceToStoreTransaction)
1616
import Cardano.TxGenerator.Types (TxEnvironment (..), TxGenError (..), TxGenerator)
@@ -104,10 +104,10 @@ generateTx TxEnvironment{..}
104104

105105
generator :: TxGenerator BabbageEra
106106
generator =
107-
case convertToLedgerProtocolParameters shelleyBasedEra txEnvProtocolParams of
108-
Right ledgerParameters ->
109-
genTx ShelleyBasedEraBabbage ledgerParameters collateralFunds txEnvFee txEnvMetadata
110-
Left err -> \_ _ -> Left (ApiError err)
107+
case convertToLedgerProtocolParameters shelleyBasedEra txEnvProtocolParams of
108+
Right ledgerParameters ->
109+
genTx ShelleyBasedEraBabbage ledgerParameters collateralFunds txEnvFee txEnvMetadata
110+
Left err -> \_ _ -> Left (ApiError err)
111111
where
112112
-- collateralFunds are needed for Plutus transactions
113113
collateralFunds :: (TxInsCollateral BabbageEra, [Fund])
@@ -155,10 +155,10 @@ generateTxPure TxEnvironment{..} inQueue
155155

156156
generator :: TxGenerator BabbageEra
157157
generator =
158-
case convertToLedgerProtocolParameters shelleyBasedEra txEnvProtocolParams of
159-
Right ledgerParameters ->
160-
genTx ShelleyBasedEraBabbage ledgerParameters collateralFunds txEnvFee txEnvMetadata
161-
Left err -> \_ _ -> Left (ApiError err)
158+
case convertToLedgerProtocolParameters shelleyBasedEra txEnvProtocolParams of
159+
Right ledgerParameters ->
160+
genTx ShelleyBasedEraBabbage ledgerParameters collateralFunds txEnvFee txEnvMetadata
161+
Left err -> \_ _ -> Left (ApiError err)
162162
where
163163
-- collateralFunds are needed for Plutus transactions
164164
collateralFunds :: (TxInsCollateral BabbageEra, [Fund])

bench/tx-generator/src/Cardano/TxGenerator/Setup/Plutus.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ import Cardano.CLI.Read (readFileScriptInAnyLang)
2727

2828
import Cardano.Api
2929
import Cardano.Api.Shelley (PlutusScript (..), fromAlonzoExUnits, toPlutusData)
30-
import Cardano.Api.Internal.ProtocolParameters (ProtocolParameters (..))
3130
import Cardano.Ledger.Plutus.TxInfo (exBudgetToExUnits)
3231

3332
import qualified PlutusLedgerApi.V1 as PlutusV1
3433
import qualified PlutusLedgerApi.V2 as PlutusV2
3534
import qualified PlutusLedgerApi.V3 as PlutusV3
3635
import qualified PlutusTx.AssocMap as AssocMap (empty)
3736

37+
import Cardano.TxGenerator.ProtocolParameters (ProtocolParameters(..))
3838
import Cardano.TxGenerator.Types (TxGenError (..))
3939
#ifdef WITH_LIBRARY
4040
import Cardano.Benchmarking.PlutusScripts (findPlutusScript)

bench/tx-generator/src/Cardano/TxGenerator/Types.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,18 @@ module Cardano.TxGenerator.Types
1414
where
1515

1616
import Cardano.Api
17-
import Cardano.Api.Internal.ProtocolParameters (ProtocolParameters)
17+
1818
import qualified Cardano.Ledger.Coin as L
19-
import Cardano.Ledger.Crypto (StandardCrypto)
2019
import qualified Cardano.Ledger.Shelley.API as Ledger (ShelleyGenesis)
2120
import Cardano.TxGenerator.Fund (Fund)
21+
import Cardano.TxGenerator.ProtocolParameters (ProtocolParameters)
2222

2323
import GHC.Generics (Generic)
2424
import GHC.Natural
2525
import Prettyprinter
2626

2727
-- convenience alias for use trhougout the API
28-
type ShelleyGenesis = Ledger.ShelleyGenesis StandardCrypto
28+
type ShelleyGenesis = Ledger.ShelleyGenesis
2929

3030
-- some type aliases to keep compatibility with code in Cardano.Benchmarking
3131
type NumberOfInputsPerTx = Int

0 commit comments

Comments
 (0)