rpc: bump jsonrpsee v0.22 and fix race in rpc v2 chain_head (#3230)

Close #2992 

Breaking changes:
- rpc server grafana metric `substrate_rpc_requests_started` is removed
(not possible to implement anymore)
- rpc server grafana metric `substrate_rpc_requests_finished` is removed
(not possible to implement anymore)
- rpc server ws ping/pong not ACK:ed within 30 seconds more than three
times then the connection will be closed

Added
- rpc server grafana metric `substrate_rpc_sessions_time` is added to
get the duration for each websocket session
This commit is contained in:
Niklas Adolfsson
2024-02-14 23:18:22 +01:00
committed by GitHub
parent 7e7c488ba8
commit c7c4fe0184
53 changed files with 777 additions and 468 deletions
@@ -26,7 +26,7 @@ use crate::{
},
common::events::StorageQuery,
};
use jsonrpsee::proc_macros::rpc;
use jsonrpsee::{proc_macros::rpc, server::ResponsePayload};
use sp_rpc::list::ListOrValue;
#[rpc(client, server)]
@@ -59,7 +59,7 @@ pub trait ChainHeadApi<Hash> {
&self,
follow_subscription: String,
hash: Hash,
) -> Result<MethodResponse, Error>;
) -> ResponsePayload<'static, MethodResponse>;
/// Retrieves the header of a pinned block.
///
@@ -92,7 +92,7 @@ pub trait ChainHeadApi<Hash> {
hash: Hash,
items: Vec<StorageQuery<String>>,
child_trie: Option<String>,
) -> Result<MethodResponse, Error>;
) -> ResponsePayload<'static, MethodResponse>;
/// Call into the Runtime API at a specified block's state.
///
@@ -106,7 +106,7 @@ pub trait ChainHeadApi<Hash> {
hash: Hash,
function: String,
call_parameters: String,
) -> Result<MethodResponse, Error>;
) -> ResponsePayload<'static, MethodResponse>;
/// Unpin a block or multiple blocks reported by the `follow` method.
///