You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
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
In ledger eras prior to Conway, we are unable to do either of these:
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
The text was updated successfully, but these errors were encountered: