Implement GrandpaApi::submit_report_equivocation_unsigned_extrinsic

Bug summary

The GRANDPA equivocation runtime API was not implemented in the runtime.

In runtime/common/src/apis.rs:

  • GrandpaApi_submit_report_equivocation_unsigned_extrinsic always returned None,
  • GrandpaApi_generate_key_ownership_proof always returned None.

Impact

Even when a valid GRANDPA equivocation proof existed, the standard runtime API submission path could not work.
This prevented the expected automatic GRANDPA offence reporting flow from consensus components.

Expected behavior

  • GrandpaApi_generate_key_ownership_proof should return a valid proof when available,
  • GrandpaApi_submit_report_equivocation_unsigned_extrinsic should submit the unsigned report and return Some(()) on success.