Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a test for relaxed ledger cost model serialization #2285

Closed
zliu41 opened this issue Mar 8, 2024 · 2 comments
Closed

Add a test for relaxed ledger cost model serialization #2285

zliu41 opened this issue Mar 8, 2024 · 2 comments
Labels
conway tickets specific to Conway Hard Fork testing

Comments

@zliu41
Copy link
Member

zliu41 commented Mar 8, 2024

In ledger eras prior to Conway, we are unable to do either of these:

  • Add new builtin functions to existing Plutus language versions (even with a HF)
  • Add a new Plutus language version, unless we either put the new cost model in the genesis file (as we did for Plutus V1, and potentially also Plutus V3), or delay enabling the new Plutus version until one epoch after the HF (as we did for Plutus V2, but this will be more difficult to do going forward since the voting process may take much longer than one epoch).

For more details of the problem and the solution, see IntersectMBO/cardano-ledger#2902.

The solution described in the above issue has been implemented in ledger. We should have an end-to-end test that verifies that it indeed works.

cc @lehins @mkoura

@dorin100 dorin100 added the conway tickets specific to Conway Hard Fork testing label Mar 11, 2024
@zliu41
Copy link
Member Author

zliu41 commented Apr 22, 2024

What needs to be tested: we need a test verifying that the following two versions of the node have the same behavior throughout PV9:

  • The current version, where PlutusV2 has 175 cost model parameters
  • The version to be released after merging this Plutus PR and this ledger PR, and adding one or more PlutusV3 builtins to PlutusV2, such that PlutusV2 has more than 175 cost model parameters (say 180)

where "the same behavior" means

  • any PlutusV2 script not using the new primitives should work, and any PlutusV2 script using the new primitives should fail at phase 1, for both versions of the node

and "throughout PV9" includes

  • At the beginning of PV9, where PlutusV2 cost model has 175 parameters
  • After some PlutusV2 cost model parameters are updated, but the number of parameters remains 175
  • After the number of PlutusV2 cost model parameters is updated to 180

@lehins @mkoura does this make sense?

@mkoura
Copy link
Collaborator

mkoura commented Sep 6, 2024

The tests are added and ran nightly.

@mkoura mkoura closed this as completed Sep 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conway tickets specific to Conway Hard Fork testing
Projects
None yet
Development

No branches or pull requests

3 participants