generate_proof: RuntimeDescriptor<[block_numbers: number, best_known_block_number: number | undefined], ResultPayload<[Binary, {
    items: FixedSizeBinary<32>;
    leaf_count: bigint;
    leaf_indices: bigint;
}], MmrPrimitivesError>>

Generate MMR proof for a series of block numbers. If best_known_block_number = Some(n), use historical MMR state at given block height n. Else, use current MMR state.