rpc: Expose chainHead_unpin method for blocks

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
This commit is contained in:
Alexandru Vasile
2022-12-12 12:09:37 +00:00
parent e77e30dbd3
commit 8142851926
3 changed files with 34 additions and 13 deletions
+16
View File
@@ -162,6 +162,22 @@ where
"Failed to execute the runtime API call".into(),
))
}
/// Unpin this block.
///
/// # Note
///
/// Call this method when you are no longer interested in making queries
/// against this block.
///
/// Failing to call this method will eventually terminate the subscription.
pub async fn unpin(self) -> Result<(), Error> {
self.client
.rpc()
.chainhead_unpin(self.subscription_id, self.hash)
.await?;
Ok(())
}
}
/// A representation of a block.
+16
View File
@@ -698,6 +698,22 @@ impl<T: Config> Rpc<T> {
Ok(header)
}
/// Unpin a block reported by the `chainHead_follow` subscription.
pub async fn chainhead_unpin(
&self,
subscription_id: String,
hash: T::Hash,
) -> Result<(), Error> {
self.client
.request(
"chainHead_unstable_unpin",
rpc_params![subscription_id, hash],
)
.await?;
Ok(())
}
/// Parse `chaiHead_header` response and return the block's header.
///
/// # Note