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
The Local State Query mini-protocol supports a variety of messages involving types from Ledger (see here for the definition).
Currently, serialization of queries uses the {Enc,Dec,To,From}CBOR instances provided by ledger.
These ledger queries have to be backwards-compatible across node releases; only the serialization is allowed to vary (gated behind the NodeToClient version). However, it is currently easy to make mistakes here:
Both cases are currently handled by vendoring old Ledger code in Consensus. While this works, it is not ideal, rather, quoting @lehins:
There are three things that need to be done to solve this properly IMHO:
Separate types for queries, so that we don't get into situation like above where we can't roundtrip the result of the query because the type was expanded with new information
Separate type class that supports serialization versioning parameterized on NoteToClient protocol version.
The Local State Query mini-protocol supports a variety of messages involving types from Ledger (see here for the definition).
Currently, serialization of queries uses the
{Enc,Dec,To,From}CBOR
instances provided by ledger.These ledger queries have to be backwards-compatible across node releases; only the serialization is allowed to vary (gated behind the NodeToClient version). However, it is currently easy to make mistakes here:
PParams
: Restore en-/decoding compatibility forGetCurrentPParams
ouroboros-consensus#95 and Query currentProtocolParameters fails against 8.0.0 node CardanoSolutions/ogmios#314PoolDistr
type and serialization: Proposal deposits in SPO voting stake #4324 and Update Ledger and Plutus dependencies for the Cardano Node 8.12 release. ouroboros-consensus#1142Both cases are currently handled by vendoring old Ledger code in Consensus. While this works, it is not ideal, rather, quoting @lehins:
The text was updated successfully, but these errors were encountered: