Skip to content

Conversation

fmaste
Copy link
Contributor

@fmaste fmaste commented Sep 26, 2025

Description

When epoch higher or equal than 526 we were using 297 Plutus V3 cost model parameters in Conway genesis file when it will only load with 251. See #5241

Epoch 526 introduced the following 46 more parameters.

      "plutusV3CostModel": {
        "andByteString-cpu-arguments-intercept": 100181,
        "andByteString-cpu-arguments-slope1": 726,
        "andByteString-cpu-arguments-slope2": 719,
        "andByteString-memory-arguments-intercept": 0,
        "andByteString-memory-arguments-slope": 1,
        "complementByteString-cpu-arguments-intercept": 107878,
        "complementByteString-cpu-arguments-slope": 680,
        "complementByteString-memory-arguments-intercept": 0,
        "complementByteString-memory-arguments-slope": 1,
        "countSetBits-cpu-arguments-intercept": 107490,
        "countSetBits-cpu-arguments-slope": 3298,
        "countSetBits-memory-arguments": 1,
        "findFirstSetBit-cpu-arguments-intercept": 106057,
        "findFirstSetBit-cpu-arguments-slope": 655,
        "findFirstSetBit-memory-arguments": 1,
        "orByteString-cpu-arguments-intercept": 100181,
        "orByteString-cpu-arguments-slope1": 726,
        "orByteString-cpu-arguments-slope2": 719,
        "orByteString-memory-arguments-intercept": 0,
        "orByteString-memory-arguments-slope": 1,
        "readBit-cpu-arguments": 95336,
        "readBit-memory-arguments": 1,
        "replicateByte-cpu-arguments-intercept": 180194,
        "replicateByte-cpu-arguments-slope": 159,
        "replicateByte-memory-arguments-intercept": 1,
        "replicateByte-memory-arguments-slope": 1,
        "ripemd_160-cpu-arguments-intercept": 1964219,
        "ripemd_160-cpu-arguments-slope": 24520,
        "ripemd_160-memory-arguments": 3,
        "rotateByteString-cpu-arguments-intercept": 159378,
        "rotateByteString-cpu-arguments-slope": 8813,
        "rotateByteString-memory-arguments-intercept": 0,
        "rotateByteString-memory-arguments-slope": 1,
        "shiftByteString-cpu-arguments-intercept": 158519,
        "shiftByteString-cpu-arguments-slope": 8942,
        "shiftByteString-memory-arguments-intercept": 0,
        "shiftByteString-memory-arguments-slope": 1,
        "writeBits-cpu-arguments-intercept": 281145,
        "writeBits-cpu-arguments-slope": 18848,
        "writeBits-memory-arguments-intercept": 0,
        "writeBits-memory-arguments-slope": 1,
        "xorByteString-cpu-arguments-intercept": 100181,
        "xorByteString-cpu-arguments-slope1": 726,
        "xorByteString-cpu-arguments-slope2": 719,
        "xorByteString-memory-arguments-intercept": 0,
        "xorByteString-memory-arguments-slope": 1
      }

With ci-test using epoch 537:
(rm -rf ~/.cache/cardano-workbench/genesis/k2-0kD-0kU-*)
Before:

[nix-shell:~/cardano-node](bench-10.6)$ jq .genesis.pparamsEpoch run/current/profile.json 
537
[nix-shell:~/cardano-node](bench-10.6)$ jq '.genesis.conway.plutusV3CostModel | length' run/current/profile.json 
297
[nix-shell:~/cardano-node](bench-10.6)$ jq '.plutusV3CostModel | length' run/current/genesis/genesis.conway.json 
297
[nix-shell:~/cardano-node](bench-10.6)$ jq '.costModels.PlutusV3 | length' run/current/generator/protocol-parameters-queried.json 
297

After:

[nix-shell:~/cardano-node](bench-10.6)$ jq .genesis.pparamsEpoch run/current/profile.json 
537
[nix-shell:~/cardano-node](bench-10.6)$ jq '.genesis.conway.plutusV3CostModel | length' run/current/profile.json 
251
[nix-shell:~/cardano-node](bench-10.6)$ jq '.plutusV3CostModel | length' run/current/genesis/genesis.conway.json 
251
[nix-shell:~/cardano-node](bench-10.6)$ jq '.costModels.PlutusV3 | length' run/current/generator/protocol-parameters-queried.json 
251

Add your description here, if it fixes a particular issue please provide a
link
to the issue.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated. These may include:
    • golden tests
    • property tests
    • roundtrip tests
    • integration tests
      See Runnings tests for more details
  • Any changes are noted in the CHANGELOG.md for affected package
  • The version bounds in .cabal files are updated
  • CI passes. See note on CI. The following CI checks are required:
    • Code is linted with hlint. See .github/workflows/check-hlint.yml to get the hlint version
    • Code is formatted with stylish-haskell. See .github/workflows/stylish-haskell.yml to get the stylish-haskell version
    • Code builds on Linux, MacOS and Windows for ghc-9.6 and ghc-9.12
  • Self-reviewed the diff

Note on CI

If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons.
You will need to get someone with write privileges. Please contact IOG node developers to do this
for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant