How do I ensure that the XCM version of two parallel chains is the same, how do I change the XCM version, and how do I view the current XCM version.
The XCM version is located in the XCM pallet, and there are two ways of setting it: either via the pallet's
GenesisConfig by filling out the
safe_xcm_version field during runtime construction, or dynamically via the
force_default_xcm_version extrinsic. As a corollary, the supported XCM version that the XCM pallet supports can easily viewed by querying its
SafeXcmVersion storage value.
XCM versioning between parachains do not need to be manually handled most of the time if they both use the XCM pallet as their
SubscriptionService in their XCM configuration, since the XCM pallet handles version negotiation and conversion between the source and destination automatically.