Nodle has upgraded its testnet to 3.1.13-M which is built on top of polkadot-sdk 1.1.13. One of the motivations behind this upgrade was to allow Polkadot Generic App on Ledger to work with Nodle's parachain. All the instructions mentioned in this guideline has been followed. Here is the definition of the SignedExtra for reference. The runtime is built using the latest version of SRTool with the following flag: BUILD_OPTS: "--features on-chain-release-build"
. The runtime build also enables metadata hash for the runtime wasm. Despite all these, if I use a wallet like Talisman and upgrade my network settings there to hint that my networks supports CheckMetadataHash, then upon any transactions signed by Talisman (for Ledger and non Ledger accounts), I get:
RPC-CORE: submitAndWatchExtrinsic(extrinsic: Extrinsic): ExtrinsicStatus:: 1010: Invalid Transaction: Transaction has a bad signature
If I turn off the option "This network supports CheckMetadataHash sign extension" in Talisman then the transactions will become valid though I cannot keep it off and interact with Ledger too.
There is another report of a similar issue here which I could not verify if they are the same due to limited information.
I appreciate any help for either solving the issue or using a method other than Talisman to verify if the support for CheckMetadataHash is sound on a test or local net.