diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Allegra b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Allegra new file mode 100644 index 00000000000..018b7bc479f Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Allegra differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Alonzo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Alonzo new file mode 100644 index 00000000000..d9c76ed7084 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Alonzo differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Byron b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Byron new file mode 100644 index 00000000000..17283096221 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Byron differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Mary b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Mary new file mode 100644 index 00000000000..f0ab5dd8811 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Mary differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Shelley b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Shelley new file mode 100644 index 00000000000..15bf711ff08 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_Shelley differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_WrongEraByron b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_WrongEraByron new file mode 100644 index 00000000000..9735c28d234 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_WrongEraByron differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_WrongEraShelley b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_WrongEraShelley new file mode 100644 index 00000000000..43f2fa8267f Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/ApplyTxErr_WrongEraShelley differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Allegra b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Allegra new file mode 100644 index 00000000000..62f50c036ce Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Allegra differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Alonzo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Alonzo new file mode 100644 index 00000000000..dc3903d3a62 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Alonzo differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Byron_EBB b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Byron_EBB new file mode 100644 index 00000000000..d2bc47fdf75 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Byron_EBB differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Byron_regular b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Byron_regular new file mode 100644 index 00000000000..ce89fa545b3 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Byron_regular differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Mary b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Mary new file mode 100644 index 00000000000..14d8281f933 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Mary differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Shelley b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Shelley new file mode 100644 index 00000000000..7d900c96a82 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Block_Shelley differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Allegra b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Allegra new file mode 100644 index 00000000000..9470c745cbf Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Allegra differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Alonzo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Alonzo new file mode 100644 index 00000000000..558dfbcca80 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Alonzo differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Byron b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Byron new file mode 100644 index 00000000000..9c10e1bb390 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Byron differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Mary b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Mary new file mode 100644 index 00000000000..1d7d61fa77a Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Mary differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Shelley b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Shelley new file mode 100644 index 00000000000..d41c1aacc85 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/GenTx_Shelley differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetCurrentPParams b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetCurrentPParams new file mode 100644 index 00000000000..4d12a7ad6bf Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetCurrentPParams differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetEpochNo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetEpochNo new file mode 100644 index 00000000000..1d07267558d Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetEpochNo differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetGenesisConfig b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetGenesisConfig new file mode 100644 index 00000000000..6741a401cb0 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetGenesisConfig differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetLedgerTip b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetLedgerTip new file mode 100644 index 00000000000..6706725ac78 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetLedgerTip differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetNonMyopicMemberRewards b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetNonMyopicMemberRewards new file mode 100644 index 00000000000..08c5c789e98 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetNonMyopicMemberRewards differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetProposedPParamsUpdates b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetProposedPParamsUpdates new file mode 100644 index 00000000000..e85ed2037e6 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetProposedPParamsUpdates differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetStakeDistribution b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetStakeDistribution new file mode 100644 index 00000000000..b5f799b2700 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Allegra_GetStakeDistribution differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetCurrentPParams b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetCurrentPParams new file mode 100644 index 00000000000..046b306d4dd Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetCurrentPParams differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetEpochNo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetEpochNo new file mode 100644 index 00000000000..a6f766751b9 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetEpochNo differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetGenesisConfig b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetGenesisConfig new file mode 100644 index 00000000000..f701524d73c Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetGenesisConfig differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetLedgerTip b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetLedgerTip new file mode 100644 index 00000000000..d9a18e85a2d Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetLedgerTip differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetNonMyopicMemberRewards b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetNonMyopicMemberRewards new file mode 100644 index 00000000000..58e70d849d7 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetNonMyopicMemberRewards differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetProposedPParamsUpdates b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetProposedPParamsUpdates new file mode 100644 index 00000000000..3e58e98cc2b Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetProposedPParamsUpdates differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetStakeDistribution b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetStakeDistribution new file mode 100644 index 00000000000..e5308b275a2 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Alonzo_GetStakeDistribution differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_AnytimeByron b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_AnytimeByron new file mode 100644 index 00000000000..6fd42d60433 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_AnytimeByron differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_AnytimeShelley b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_AnytimeShelley new file mode 100644 index 00000000000..d82b9fc7f4d Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_AnytimeShelley differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Byron b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Byron new file mode 100644 index 00000000000..cfa4236d512 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Byron differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_HardFork b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_HardFork new file mode 100644 index 00000000000..64c266fdc58 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_HardFork differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetCurrentPParams b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetCurrentPParams new file mode 100644 index 00000000000..7338cd74165 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetCurrentPParams differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetEpochNo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetEpochNo new file mode 100644 index 00000000000..58e4767132c Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetEpochNo differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetGenesisConfig b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetGenesisConfig new file mode 100644 index 00000000000..2306eb025ee Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetGenesisConfig differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetLedgerTip b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetLedgerTip new file mode 100644 index 00000000000..c5b7ef04972 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetLedgerTip differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetNonMyopicMemberRewards b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetNonMyopicMemberRewards new file mode 100644 index 00000000000..72f3ff8f93a Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetNonMyopicMemberRewards differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetProposedPParamsUpdates b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetProposedPParamsUpdates new file mode 100644 index 00000000000..b833d91e655 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetProposedPParamsUpdates differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetStakeDistribution b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetStakeDistribution new file mode 100644 index 00000000000..e63d41b76df Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Mary_GetStakeDistribution differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetCurrentPParams b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetCurrentPParams new file mode 100644 index 00000000000..cafc5b72906 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetCurrentPParams differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetEpochNo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetEpochNo new file mode 100644 index 00000000000..112bec95a37 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetEpochNo differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetGenesisConfig b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetGenesisConfig new file mode 100644 index 00000000000..bca99cf2547 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetGenesisConfig differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetLedgerTip b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetLedgerTip new file mode 100644 index 00000000000..33dba00f05a Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetLedgerTip differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetNonMyopicMemberRewards b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetNonMyopicMemberRewards new file mode 100644 index 00000000000..57e64f50fba Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetNonMyopicMemberRewards differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetProposedPParamsUpdates b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetProposedPParamsUpdates new file mode 100644 index 00000000000..8fe4019886f Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetProposedPParamsUpdates differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetStakeDistribution b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetStakeDistribution new file mode 100644 index 00000000000..8d50b1f974d Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Query_Shelley_GetStakeDistribution differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_EmptyPParams b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_EmptyPParams new file mode 100644 index 00000000000..654d3fbfbe1 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_EmptyPParams differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_EpochNo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_EpochNo new file mode 100644 index 00000000000..b1803703794 --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_EpochNo @@ -0,0 +1 @@ + diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_GenesisConfig b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_GenesisConfig new file mode 100644 index 00000000000..94d05d956e2 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_GenesisConfig differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_LedgerTip b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_LedgerTip new file mode 100644 index 00000000000..1207f8df8c9 --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_LedgerTip @@ -0,0 +1 @@ + X TF bNެKwy=Th|Y \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_NonMyopicMemberRewards b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_NonMyopicMemberRewards new file mode 100644 index 00000000000..c47618c1704 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_NonMyopicMemberRewards differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_ProposedPParamsUpdates b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_ProposedPParamsUpdates new file mode 100644 index 00000000000..4918531195d --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_ProposedPParamsUpdates @@ -0,0 +1 @@ +X ts.?9ZEP# 2d \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_StakeDistribution b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_StakeDistribution new file mode 100644 index 00000000000..968f15663df --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Allegra_StakeDistribution @@ -0,0 +1 @@ +X1s]k?ժP[{%AX -ò^46R>Žb{L \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_EmptyPParams b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_EmptyPParams new file mode 100644 index 00000000000..9fe98648bfc Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_EmptyPParams differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_EpochNo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_EpochNo new file mode 100644 index 00000000000..b1803703794 --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_EpochNo @@ -0,0 +1 @@ + diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_GenesisConfig b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_GenesisConfig new file mode 100644 index 00000000000..94d05d956e2 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_GenesisConfig differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_LedgerTip b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_LedgerTip new file mode 100644 index 00000000000..a8d3ebca892 --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_LedgerTip @@ -0,0 +1 @@ + X 8ofo&&&nss$& \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_NonMyopicMemberRewards b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_NonMyopicMemberRewards new file mode 100644 index 00000000000..c47618c1704 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_NonMyopicMemberRewards differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_ProposedPParamsUpdates b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_ProposedPParamsUpdates new file mode 100644 index 00000000000..4080e95c54e --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_ProposedPParamsUpdates @@ -0,0 +1 @@ +X ts.?9ZEP# 2 \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_StakeDistribution b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_StakeDistribution new file mode 100644 index 00000000000..968f15663df --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Alonzo_StakeDistribution @@ -0,0 +1 @@ +X1s]k?ժP[{%AX -ò^46R>Žb{L \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_AnytimeByron b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_AnytimeByron new file mode 100644 index 00000000000..070897ad04f Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_AnytimeByron differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_AnytimeShelley b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_AnytimeShelley new file mode 100644 index 00000000000..61dee1376e4 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_AnytimeShelley differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Byron b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Byron new file mode 100644 index 00000000000..d66107b64e8 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Byron differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_EraMismatchByron b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_EraMismatchByron new file mode 100644 index 00000000000..9735c28d234 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_EraMismatchByron differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_EraMismatchShelley b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_EraMismatchShelley new file mode 100644 index 00000000000..43f2fa8267f Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_EraMismatchShelley differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_HardFork b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_HardFork new file mode 100644 index 00000000000..af17ee258b7 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_HardFork differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_EmptyPParams b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_EmptyPParams new file mode 100644 index 00000000000..654d3fbfbe1 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_EmptyPParams differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_EpochNo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_EpochNo new file mode 100644 index 00000000000..b1803703794 --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_EpochNo @@ -0,0 +1 @@ + diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_GenesisConfig b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_GenesisConfig new file mode 100644 index 00000000000..94d05d956e2 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_GenesisConfig differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_LedgerTip b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_LedgerTip new file mode 100644 index 00000000000..6ec12660a79 --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Mary_LedgerTip @@ -0,0 +1 @@ + X EŽb{L \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_EmptyPParams b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_EmptyPParams new file mode 100644 index 00000000000..654d3fbfbe1 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_EmptyPParams differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_EpochNo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_EpochNo new file mode 100644 index 00000000000..b1803703794 --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_EpochNo @@ -0,0 +1 @@ + diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_GenesisConfig b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_GenesisConfig new file mode 100644 index 00000000000..94d05d956e2 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_GenesisConfig differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_LedgerTip b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_LedgerTip new file mode 100644 index 00000000000..32d3f65a358 --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_LedgerTip @@ -0,0 +1 @@ + X u'9Ki(׺yC)l \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_NonMyopicMemberRewards b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_NonMyopicMemberRewards new file mode 100644 index 00000000000..c47618c1704 Binary files /dev/null and b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_NonMyopicMemberRewards differ diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_ProposedPParamsUpdates b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_ProposedPParamsUpdates new file mode 100644 index 00000000000..4918531195d --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_ProposedPParamsUpdates @@ -0,0 +1 @@ +X ts.?9ZEP# 2d \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_StakeDistribution b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_StakeDistribution new file mode 100644 index 00000000000..968f15663df --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/Result_Shelley_StakeDistribution @@ -0,0 +1 @@ +X1s]k?ժP[{%AX -ò^46R>Žb{L \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Allegra b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Allegra new file mode 100644 index 00000000000..6a5024d0dcf --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Allegra @@ -0,0 +1 @@ +O \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Alonzo b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Alonzo new file mode 100644 index 00000000000..6a5024d0dcf --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Alonzo @@ -0,0 +1 @@ +O \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Byron_EBB b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Byron_EBB new file mode 100644 index 00000000000..6a5024d0dcf --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Byron_EBB @@ -0,0 +1 @@ +O \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Byron_regular b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Byron_regular new file mode 100644 index 00000000000..6a5024d0dcf --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Byron_regular @@ -0,0 +1 @@ +O \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Mary b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Mary new file mode 100644 index 00000000000..6a5024d0dcf --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Mary @@ -0,0 +1 @@ +O \ No newline at end of file diff --git a/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Shelley b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Shelley new file mode 100644 index 00000000000..6a5024d0dcf --- /dev/null +++ b/ouroboros-consensus-cardano-test/test/golden/QueryVersion2/CardanoNodeToClientVersion7/SerialisedBlock_Shelley @@ -0,0 +1 @@ +O \ No newline at end of file diff --git a/ouroboros-consensus-cardano/src/Ouroboros/Consensus/Cardano/Node.hs b/ouroboros-consensus-cardano/src/Ouroboros/Consensus/Cardano/Node.hs index 06ea121ec83..82e408a2d72 100644 --- a/ouroboros-consensus-cardano/src/Ouroboros/Consensus/Cardano/Node.hs +++ b/ouroboros-consensus-cardano/src/Ouroboros/Consensus/Cardano/Node.hs @@ -374,18 +374,19 @@ instance CardanoHardForkConstraints c ] supportedNodeToClientVersions _ = Map.fromList $ - [ (NodeToClientV_1, CardanoNodeToClientVersion1) - , (NodeToClientV_2, CardanoNodeToClientVersion1) - , (NodeToClientV_3, CardanoNodeToClientVersion2) - , (NodeToClientV_4, CardanoNodeToClientVersion3) - , (NodeToClientV_5, CardanoNodeToClientVersion4) - , (NodeToClientV_6, CardanoNodeToClientVersion5) - , (NodeToClientV_7, CardanoNodeToClientVersion6) - , (NodeToClientV_8, CardanoNodeToClientVersion6) - , (NodeToClientV_9, CardanoNodeToClientVersion7) + [ (NodeToClientV_1 , CardanoNodeToClientVersion1) + , (NodeToClientV_2 , CardanoNodeToClientVersion1) + , (NodeToClientV_3 , CardanoNodeToClientVersion2) + , (NodeToClientV_4 , CardanoNodeToClientVersion3) + , (NodeToClientV_5 , CardanoNodeToClientVersion4) + , (NodeToClientV_6 , CardanoNodeToClientVersion5) + , (NodeToClientV_7 , CardanoNodeToClientVersion6) + , (NodeToClientV_8 , CardanoNodeToClientVersion6) + , (NodeToClientV_9 , CardanoNodeToClientVersion7) + , (NodeToClientV_10, CardanoNodeToClientVersion7) ] - latestReleasedNodeVersion _prx = (Just NodeToNodeV_7, Just NodeToClientV_9) + latestReleasedNodeVersion _prx = (Just NodeToNodeV_7, Just NodeToClientV_10) {------------------------------------------------------------------------------- ProtocolInfo diff --git a/ouroboros-consensus-test/src/Test/Util/Serialisation/Roundtrip.hs b/ouroboros-consensus-test/src/Test/Util/Serialisation/Roundtrip.hs index bdf4bdc72c6..7f768aaeb07 100644 --- a/ouroboros-consensus-test/src/Test/Util/Serialisation/Roundtrip.hs +++ b/ouroboros-consensus-test/src/Test/Util/Serialisation/Roundtrip.hs @@ -228,17 +228,34 @@ instance ( blockVersion ~ BlockNodeToClientVersion blk -- This case statement will cause a warning when we add a new top -- level query and hence a new QueryVersion. In that case we should -- support such top level `Query` constructors in this Arbitrary instance. - Query.TopLevelQueryDisabled -> - arbitraryBlockQuery queryVersion - - Query.QueryVersion1 -> - frequency - [ (15, arbitraryBlockQuery queryVersion) - , (1, do blockV <- arbitrary - return (WithVersion (queryVersion, blockV) - (SomeSecond GetSystemStart))) - ] + Query.TopLevelQueryDisabled -> arbitraryBlockQuery queryVersion + Query.QueryVersion1 -> genTopLevelQuery1 + Query.QueryVersion2 -> genTopLevelQuery2 where + mkEntry :: QueryVersion + -> Query blk query + -> Gen + (WithVersion (QueryVersion, blockVersion) (SomeSecond Query blk)) + mkEntry qv q = do + blockV <- arbitrary + return (WithVersion (qv, blockV) (SomeSecond q)) + + genTopLevelQuery1 = + let version = Query.QueryVersion1 + in frequency + [ (15, arbitraryBlockQuery version ) + , (1 , mkEntry version GetSystemStart ) + ] + + genTopLevelQuery2 = + let version = Query.QueryVersion2 + in frequency + [ (15, arbitraryBlockQuery version ) + , (1 , mkEntry version GetSystemStart ) + , (1 , mkEntry version GetChainBlockNo) + , (1 , mkEntry version GetChainPoint ) + ] + arbitraryBlockQuery :: QueryVersion -> Gen (WithVersion (QueryVersion, blockVersion) (SomeSecond Query blk)) diff --git a/ouroboros-consensus/docs/interface-CHANGELOG.md b/ouroboros-consensus/docs/interface-CHANGELOG.md index 4c63b13cb83..babeb5614b1 100644 --- a/ouroboros-consensus/docs/interface-CHANGELOG.md +++ b/ouroboros-consensus/docs/interface-CHANGELOG.md @@ -56,6 +56,15 @@ may appear out of chronological order. The internals of each entry are organized similar to https://keepachangelog.com/en/1.1.0/, adapted to our plan explained above. +## Circa 2021-09-22 + +### Added + +- New supported node to client version `NodeToClientV_10` with new queries: + - `GetChainBlockNo`: Get the chain block number + - `GetChainPoint`: Get the chain point, which includes the slot number and + header hash. + ## Circa 2021-08-31 ### Added diff --git a/ouroboros-consensus/src/Ouroboros/Consensus/HeaderValidation.hs b/ouroboros-consensus/src/Ouroboros/Consensus/HeaderValidation.hs index 68c43f438bf..b9e9449cdb0 100644 --- a/ouroboros-consensus/src/Ouroboros/Consensus/HeaderValidation.hs +++ b/ouroboros-consensus/src/Ouroboros/Consensus/HeaderValidation.hs @@ -31,6 +31,7 @@ module Ouroboros.Consensus.HeaderValidation ( , HeaderState (..) , castHeaderState , genesisHeaderState + , headerStateBlockNo , headerStatePoint , tickHeaderState -- * Validate header envelope @@ -200,6 +201,9 @@ tickHeaderState cfg ledgerView slot HeaderState {..} = TickedHeaderState { genesisHeaderState :: ChainDepState (BlockProtocol blk) -> HeaderState blk genesisHeaderState = HeaderState Origin +headerStateBlockNo :: HeaderState blk -> WithOrigin BlockNo +headerStateBlockNo = fmap annTipBlockNo . headerStateTip + headerStatePoint :: HasAnnTip blk => HeaderState blk -> Point blk headerStatePoint = withOriginRealPointToPoint diff --git a/ouroboros-consensus/src/Ouroboros/Consensus/Ledger/Query.hs b/ouroboros-consensus/src/Ouroboros/Consensus/Ledger/Query.hs index 1d74f462f75..b1ec035967e 100644 --- a/ouroboros-consensus/src/Ouroboros/Consensus/Ledger/Query.hs +++ b/ouroboros-consensus/src/Ouroboros/Consensus/Ledger/Query.hs @@ -28,9 +28,16 @@ import Data.Maybe (isJust) import Data.Typeable (Typeable) import Cardano.Binary (FromCBOR (..), ToCBOR (..)) +import Cardano.Slotting.Block (BlockNo (..)) +import Cardano.Slotting.Slot (WithOrigin (..)) + import Codec.CBOR.Decoding import Codec.CBOR.Encoding +import Codec.Serialise (Serialise) +import Codec.Serialise.Class (decode, encode) +import Ouroboros.Network.Block (HeaderHash, Point (..), StandardHash, + decodePoint, encodePoint) import Ouroboros.Network.Protocol.LocalStateQuery.Type (ShowQuery (..)) @@ -38,6 +45,8 @@ import Ouroboros.Consensus.Block.Abstract (CodecConfig) import Ouroboros.Consensus.BlockchainTime (SystemStart) import Ouroboros.Consensus.Config import Ouroboros.Consensus.Config.SupportsNode +import Ouroboros.Consensus.HeaderValidation (HasAnnTip (..), + headerStateBlockNo, headerStatePoint) import Ouroboros.Consensus.Ledger.Extended import Ouroboros.Consensus.Ledger.Query.Version import Ouroboros.Consensus.Node.NetworkProtocolVersion @@ -51,6 +60,13 @@ import Ouroboros.Consensus.Util.DepPair Queries -------------------------------------------------------------------------------} +queryName :: Query blk result -> String +queryName query = case query of + BlockQuery _ -> "BlockQuery" + GetSystemStart -> "GetSystemStart" + GetChainBlockNo -> "GetChainBlockNo" + GetChainPoint -> "GetChainPoint" + -- | Different queries supported by the ledger for all block types, indexed -- by the result type. -- @@ -65,12 +81,24 @@ data Query blk result where -- Supported by 'QueryVersion' >= 'QueryVersion1'. GetSystemStart :: Query blk SystemStart + -- | Get the 'GetChainBlockNo' time. + -- + -- Supported by 'QueryVersion' >= 'QueryVersion2'. + GetChainBlockNo :: Query blk (WithOrigin BlockNo) + + -- | Get the 'GetChainPoint' time. + -- + -- Supported by 'QueryVersion' >= 'QueryVersion2'. + GetChainPoint :: Query blk (Point blk) + instance (ShowProxy (BlockQuery blk)) => ShowProxy (Query blk) where showProxy (Proxy :: Proxy (Query blk)) = "Query (" ++ showProxy (Proxy @(BlockQuery blk)) ++ ")" -instance (ShowQuery (BlockQuery blk)) => ShowQuery (Query blk) where +instance (ShowQuery (BlockQuery blk), StandardHash blk) => ShowQuery (Query blk) where showResult (BlockQuery blockQuery) = showResult blockQuery showResult GetSystemStart = show + showResult GetChainBlockNo = show + showResult GetChainPoint = show instance Eq (SomeSecond BlockQuery blk) => Eq (SomeSecond Query blk) where SomeSecond (BlockQuery blockQueryA) == SomeSecond (BlockQuery blockQueryB) @@ -80,9 +108,17 @@ instance Eq (SomeSecond BlockQuery blk) => Eq (SomeSecond Query blk) where SomeSecond GetSystemStart == SomeSecond GetSystemStart = True SomeSecond GetSystemStart == _ = False + SomeSecond GetChainBlockNo == SomeSecond GetChainBlockNo = True + SomeSecond GetChainBlockNo == _ = False + + SomeSecond GetChainPoint == SomeSecond GetChainPoint = True + SomeSecond GetChainPoint == _ = False + instance Show (SomeSecond BlockQuery blk) => Show (SomeSecond Query blk) where - show (SomeSecond (BlockQuery blockQueryA)) = "Query " ++ show (SomeSecond blockQueryA) - show (SomeSecond GetSystemStart) = "Query GetSystemStart" + show (SomeSecond (BlockQuery blockQueryA)) = "Query " ++ show (SomeSecond blockQueryA) + show (SomeSecond GetSystemStart) = "Query GetSystemStart" + show (SomeSecond GetChainBlockNo) = "Query GetChainBlockNo" + show (SomeSecond GetChainPoint) = "Query GetChainPoint" -- | Exception thrown in the encoders @@ -118,16 +154,40 @@ queryEncodeNodeToClient codecConfig queryVersion blockVersion (SomeSecond query) throw $ QueryEncoderUnsupportedQuery (SomeSecond query) queryVersion -- From version 1 onwards, we use normal constructor tags - QueryVersion1 -> + _ -> case query of BlockQuery blockQuery -> - encodeListLen 2 - <> encodeWord8 0 - <> encodeBlockQuery blockQuery + requireVersion QueryVersion1 $ mconcat + [ encodeListLen 2 + , encodeWord8 0 + , encodeBlockQuery blockQuery + ] + GetSystemStart -> - encodeListLen 1 - <> encodeWord8 1 + requireVersion QueryVersion1 $ mconcat + [ encodeListLen 1 + , encodeWord8 1 + ] + + GetChainBlockNo -> + requireVersion QueryVersion2 $ mconcat + [ encodeListLen 1 + , encodeWord8 2 + ] + + GetChainPoint -> + requireVersion QueryVersion2 $ mconcat + [ encodeListLen 1 + , encodeWord8 3 + ] + where + requireVersion :: QueryVersion -> a -> a + requireVersion expectedVersion a = + if queryVersion >= expectedVersion + then a + else throw $ QueryEncoderUnsupportedQuery (SomeSecond query) queryVersion + encodeBlockQuery blockQuery = encodeNodeToClient @blk @@ -146,14 +206,28 @@ queryDecodeNodeToClient :: queryDecodeNodeToClient codecConfig queryVersion blockVersion = case queryVersion of TopLevelQueryDisabled -> decodeBlockQuery - QueryVersion1 -> do + QueryVersion1 -> handleTopLevelQuery + QueryVersion2 -> handleTopLevelQuery + where + handleTopLevelQuery :: Decoder s (SomeSecond Query blk) + handleTopLevelQuery = do size <- decodeListLen tag <- decodeWord8 case (size, tag) of - (2, 0) -> decodeBlockQuery - (1, 1) -> return (SomeSecond GetSystemStart) + (2, 0) -> requireVersion QueryVersion1 =<< decodeBlockQuery + (1, 1) -> requireVersion QueryVersion1 $ SomeSecond GetSystemStart + (1, 2) -> requireVersion QueryVersion2 $ SomeSecond GetChainBlockNo + (1, 3) -> requireVersion QueryVersion2 $ SomeSecond GetChainPoint _ -> fail $ "Query: invalid size and tag" <> show (size, tag) - where + + requireVersion :: QueryVersion -> SomeSecond Query blk -> Decoder s (SomeSecond Query blk) + requireVersion expectedVersion someSecondQuery = + if queryVersion >= expectedVersion + then return someSecondQuery + else case someSecondQuery of + SomeSecond query -> fail $ "Query: " <> queryName query <> " requires at least " <> show expectedVersion + + decodeBlockQuery :: Decoder s (SomeSecond Query blk) decodeBlockQuery = do SomeSecond blockQuery <- decodeNodeToClient @blk @@ -162,16 +236,26 @@ queryDecodeNodeToClient codecConfig queryVersion blockVersion blockVersion return (SomeSecond (BlockQuery blockQuery)) -instance SerialiseResult blk (BlockQuery blk) => SerialiseResult blk (Query blk) where +instance ( SerialiseResult blk (BlockQuery blk) + , Serialise (HeaderHash blk) + ) => SerialiseResult blk (Query blk) where encodeResult codecConfig blockVersion (BlockQuery blockQuery) result = encodeResult codecConfig blockVersion blockQuery result encodeResult _ _ GetSystemStart result = toCBOR result + encodeResult _ _ GetChainBlockNo result + = toCBOR result + encodeResult _ _ GetChainPoint result + = encodePoint encode result decodeResult codecConfig blockVersion (BlockQuery query) = decodeResult codecConfig blockVersion query decodeResult _ _ GetSystemStart = fromCBOR + decodeResult _ _ GetChainBlockNo + = fromCBOR + decodeResult _ _ GetChainPoint + = decodePoint decode instance SameDepIndex (BlockQuery blk) => SameDepIndex (Query blk) where sameDepIndex (BlockQuery blockQueryA) (BlockQuery blockQueryB) @@ -182,12 +266,20 @@ instance SameDepIndex (BlockQuery blk) => SameDepIndex (Query blk) where = Just Refl sameDepIndex GetSystemStart _ = Nothing + sameDepIndex GetChainBlockNo GetChainBlockNo + = Just Refl + sameDepIndex GetChainBlockNo _ + = Nothing + sameDepIndex GetChainPoint GetChainPoint + = Just Refl + sameDepIndex GetChainPoint _ + = Nothing deriving instance Show (BlockQuery blk result) => Show (Query blk result) -- | Answer the given query about the extended ledger state. answerQuery :: - (QueryLedger blk, ConfigSupportsNode blk) + (QueryLedger blk, ConfigSupportsNode blk, HasAnnTip blk) => ExtLedgerCfg blk -> Query blk result -> ExtLedgerState blk @@ -195,6 +287,8 @@ answerQuery :: answerQuery cfg query st = case query of BlockQuery blockQuery -> answerBlockQuery cfg blockQuery st GetSystemStart -> getSystemStart (topLevelConfigBlock (getExtLedgerCfg cfg)) + GetChainBlockNo -> headerStateBlockNo (headerState st) + GetChainPoint -> headerStatePoint (headerState st) -- | Different queries supported by the ledger, indexed by the result type. data family BlockQuery blk :: Type -> Type diff --git a/ouroboros-consensus/src/Ouroboros/Consensus/Ledger/Query/Version.hs b/ouroboros-consensus/src/Ouroboros/Consensus/Ledger/Query/Version.hs index 97e5536366e..40339072721 100644 --- a/ouroboros-consensus/src/Ouroboros/Consensus/Ledger/Query/Version.hs +++ b/ouroboros-consensus/src/Ouroboros/Consensus/Ledger/Query/Version.hs @@ -7,27 +7,32 @@ module Ouroboros.Consensus.Ledger.Query.Version ( import Ouroboros.Network.NodeToClient.Version -- | Version of the `Query blk` type. +-- +-- Multiple top level queries are now supported. The encoding now has +-- constructor tags for the different top level queries for QueryVersion1 onwards. data QueryVersion -- | Only the 'BlockQuery' constructor of 'Query' is supported. The binary -- encoding is backwards compatible: it does not introduce any constructor -- tag around the 'BlockQuery'. = TopLevelQueryDisabled - -- | Multiple top level queries are now supported. The encoding now has - -- constructor tags for the different top level queries. Specifically V1 - -- adds support for 'GetSystemStart'. + -- Adds support for 'GetSystemStart'. | QueryVersion1 + + -- Adds support for 'GetChainBlockNo' and 'GetChainPoint'. + | QueryVersion2 deriving (Eq, Ord, Enum, Bounded, Show) -- | Get the @QueryVersion@ supported by this @NodeToClientVersion@. nodeToClientVersionToQueryVersion :: NodeToClientVersion -> QueryVersion nodeToClientVersionToQueryVersion x = case x of - NodeToClientV_1 -> TopLevelQueryDisabled - NodeToClientV_2 -> TopLevelQueryDisabled - NodeToClientV_3 -> TopLevelQueryDisabled - NodeToClientV_4 -> TopLevelQueryDisabled - NodeToClientV_5 -> TopLevelQueryDisabled - NodeToClientV_6 -> TopLevelQueryDisabled - NodeToClientV_7 -> TopLevelQueryDisabled - NodeToClientV_8 -> TopLevelQueryDisabled - NodeToClientV_9 -> QueryVersion1 + NodeToClientV_1 -> TopLevelQueryDisabled + NodeToClientV_2 -> TopLevelQueryDisabled + NodeToClientV_3 -> TopLevelQueryDisabled + NodeToClientV_4 -> TopLevelQueryDisabled + NodeToClientV_5 -> TopLevelQueryDisabled + NodeToClientV_6 -> TopLevelQueryDisabled + NodeToClientV_7 -> TopLevelQueryDisabled + NodeToClientV_8 -> TopLevelQueryDisabled + NodeToClientV_9 -> QueryVersion1 + NodeToClientV_10 -> QueryVersion2 diff --git a/ouroboros-consensus/src/Ouroboros/Consensus/MiniProtocol/LocalStateQuery/Server.hs b/ouroboros-consensus/src/Ouroboros/Consensus/MiniProtocol/LocalStateQuery/Server.hs index dff00c17def..5886d3247d3 100644 --- a/ouroboros-consensus/src/Ouroboros/Consensus/MiniProtocol/LocalStateQuery/Server.hs +++ b/ouroboros-consensus/src/Ouroboros/Consensus/MiniProtocol/LocalStateQuery/Server.hs @@ -8,12 +8,13 @@ import Ouroboros.Network.Protocol.LocalStateQuery.Type (AcquireFailure (..)) import Ouroboros.Consensus.Block +import Ouroboros.Consensus.HeaderValidation (HasAnnTip (..)) import Ouroboros.Consensus.Ledger.Extended import Ouroboros.Consensus.Ledger.Query import Ouroboros.Consensus.Util.IOLike localStateQueryServer :: - forall m blk. (IOLike m, QueryLedger blk, ConfigSupportsNode blk) + forall m blk. (IOLike m, QueryLedger blk, ConfigSupportsNode blk, HasAnnTip blk) => ExtLedgerCfg blk -> STM m (Point blk) -- ^ Get tip point diff --git a/ouroboros-consensus/src/Ouroboros/Consensus/Network/NodeToClient.hs b/ouroboros-consensus/src/Ouroboros/Consensus/Network/NodeToClient.hs index 0773c964eff..d1e713a0f23 100644 --- a/ouroboros-consensus/src/Ouroboros/Consensus/Network/NodeToClient.hs +++ b/ouroboros-consensus/src/Ouroboros/Consensus/Network/NodeToClient.hs @@ -35,6 +35,8 @@ module Ouroboros.Consensus.Network.NodeToClient ( import Codec.CBOR.Decoding (Decoder) import Codec.CBOR.Encoding (Encoding) +import Codec.Serialise (Serialise) + import Control.Tracer import Data.ByteString.Lazy (ByteString) import Data.Void (Void) @@ -164,6 +166,8 @@ defaultCodecs :: forall m blk. ( MonadST m , SerialiseNodeToClientConstraints blk , ShowQuery (BlockQuery blk) + , StandardHash blk + , Serialise (HeaderHash blk) ) => CodecConfig blk -> BlockNodeToClientVersion blk @@ -216,6 +220,8 @@ clientCodecs :: forall m blk. ( MonadST m , SerialiseNodeToClientConstraints blk , ShowQuery (BlockQuery blk) + , StandardHash blk + , Serialise (HeaderHash blk) ) => CodecConfig blk -> BlockNodeToClientVersion blk diff --git a/ouroboros-network/src/Ouroboros/Network/Block.hs b/ouroboros-network/src/Ouroboros/Network/Block.hs index 68e4b8deaab..bb349399750 100644 --- a/ouroboros-network/src/Ouroboros/Network/Block.hs +++ b/ouroboros-network/src/Ouroboros/Network/Block.hs @@ -92,7 +92,6 @@ import GHC.Generics (Generic) import NoThunks.Class (NoThunks) import Cardano.Binary (Case (..), Size, szCases, szGreedy) - import Cardano.Slotting.Block import Cardano.Slotting.Slot (SlotNo (..)) diff --git a/ouroboros-network/src/Ouroboros/Network/NodeToClient/Version.hs b/ouroboros-network/src/Ouroboros/Network/NodeToClient/Version.hs index ecdde9c2ab2..f9f4021167c 100644 --- a/ouroboros-network/src/Ouroboros/Network/NodeToClient/Version.hs +++ b/ouroboros-network/src/Ouroboros/Network/NodeToClient/Version.hs @@ -41,6 +41,8 @@ data NodeToClientVersion -- ^ 'LocalStateQuery' protocol codec change, allows to acquire tip point. | NodeToClientV_9 -- ^ enabled @CardanoNodeToClientVersion7@, i.e., Alonzo + | NodeToClientV_10 + -- ^ added 'GetChainBlockNo' and 'GetChainPoint' queries deriving (Eq, Ord, Enum, Bounded, Show, Typeable) -- | We set 16ths bit to distinguish `NodeToNodeVersion` and @@ -53,15 +55,16 @@ data NodeToClientVersion nodeToClientVersionCodec :: CodecCBORTerm (Text, Maybe Int) NodeToClientVersion nodeToClientVersionCodec = CodecCBORTerm { encodeTerm, decodeTerm } where - encodeTerm NodeToClientV_1 = CBOR.TInt 1 - encodeTerm NodeToClientV_2 = CBOR.TInt (2 `setBit` nodeToClientVersionBit) - encodeTerm NodeToClientV_3 = CBOR.TInt (3 `setBit` nodeToClientVersionBit) - encodeTerm NodeToClientV_4 = CBOR.TInt (4 `setBit` nodeToClientVersionBit) - encodeTerm NodeToClientV_5 = CBOR.TInt (5 `setBit` nodeToClientVersionBit) - encodeTerm NodeToClientV_6 = CBOR.TInt (6 `setBit` nodeToClientVersionBit) - encodeTerm NodeToClientV_7 = CBOR.TInt (7 `setBit` nodeToClientVersionBit) - encodeTerm NodeToClientV_8 = CBOR.TInt (8 `setBit` nodeToClientVersionBit) - encodeTerm NodeToClientV_9 = CBOR.TInt (9 `setBit` nodeToClientVersionBit) + encodeTerm NodeToClientV_1 = CBOR.TInt 1 + encodeTerm NodeToClientV_2 = CBOR.TInt (2 `setBit` nodeToClientVersionBit) + encodeTerm NodeToClientV_3 = CBOR.TInt (3 `setBit` nodeToClientVersionBit) + encodeTerm NodeToClientV_4 = CBOR.TInt (4 `setBit` nodeToClientVersionBit) + encodeTerm NodeToClientV_5 = CBOR.TInt (5 `setBit` nodeToClientVersionBit) + encodeTerm NodeToClientV_6 = CBOR.TInt (6 `setBit` nodeToClientVersionBit) + encodeTerm NodeToClientV_7 = CBOR.TInt (7 `setBit` nodeToClientVersionBit) + encodeTerm NodeToClientV_8 = CBOR.TInt (8 `setBit` nodeToClientVersionBit) + encodeTerm NodeToClientV_9 = CBOR.TInt (9 `setBit` nodeToClientVersionBit) + encodeTerm NodeToClientV_10 = CBOR.TInt (10 `setBit` nodeToClientVersionBit) decodeTerm (CBOR.TInt tag) = case ( tag `clearBit` nodeToClientVersionBit @@ -76,6 +79,7 @@ nodeToClientVersionCodec = CodecCBORTerm { encodeTerm, decodeTerm } (7, True) -> Right NodeToClientV_7 (8, True) -> Right NodeToClientV_8 (9, True) -> Right NodeToClientV_9 + (10, True) -> Right NodeToClientV_10 (n, _) -> Left ( T.pack "decode NodeToClientVersion: unknown tag: " <> T.pack (show tag) , Just n) decodeTerm _ = Left ( T.pack "decode NodeToClientVersion: unexpected term" diff --git a/ouroboros-network/test-cddl/specs/handshake-node-to-client.cddl b/ouroboros-network/test-cddl/specs/handshake-node-to-client.cddl index 15943195291..ccab6dbea61 100644 --- a/ouroboros-network/test-cddl/specs/handshake-node-to-client.cddl +++ b/ouroboros-network/test-cddl/specs/handshake-node-to-client.cddl @@ -14,7 +14,7 @@ msgRefuse = [2, refuseReason] versionTable = { * versionNumber => nodeToClientVersionData } ; from version 2 we set 15th bit to 1 -versionNumber = 1 / 32770 / 32771 / 32772 / 32773 / 32774 / 32775 / 32776 / 32777 +versionNumber = 1 / 32770 / 32771 / 32772 / 32773 / 32774 / 32775 / 32776 / 32777 / 32778 nodeToClientVersionData = networkMagic