IntersectMBO / formal-ledger-specifications

Formal specifications of the cardano ledger
Apache License 2.0
32 stars 13 forks source link

Missing Plutus script version compatiblity #380

Open SeungheonOh opened 4 months ago

SeungheonOh commented 4 months ago

In Babbage ledger spec, at Figure 3, it states about "allowedLanguages" that indicates what different versions of scripts are allowed in a transaction depending on some of features transaction uses. Specifically, the spec say V1 and V2 scripts are allowed when transaction doesn't have reference script nor inline datum; only V2 scripts are allowed when transaction has reference script or inline datum.

Similar notation for Conway spec is needed so that developers can get a clear view on how a V3 script should be written to interact with older version scripts that are already deployed on chain.

WhatisRT commented 3 months ago

That's right, the big issue here is that we don't yet have support for multiple versions in the spec. There are a few more pressing issues and challenges associated with this, so it could be a while until we manage to fix this.

The general policy for Plutus versions is that we don't allow old Plutus versions to run in transactions that use new features.

SeungheonOh commented 3 months ago

Thanks!

Will specification for this land before Conway lunch? Or will Conway nodes launch without any set spec over this topics

WhatisRT commented 3 months ago

I don't know the planned timelines, so I'm not entirely sure. There'll probably be a push to get as many items as possible ironed out before the launch once we get close, and this ticket should be a part of that.

SeungheonOh commented 3 months ago

Okay, thanks for clarifying