referrerpolicy=no-referrer-when-downgrade

sc_rpc_spec_v2/statement/
api.rs

1// This file is part of Substrate.
2
3// Copyright (C) Parity Technologies (UK) Ltd.
4// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
5
6// This program is free software: you can redistribute it and/or modify
7// it under the terms of the GNU General Public License as published by
8// the Free Software Foundation, either version 3 of the License, or
9// (at your option) any later version.
10
11// This program is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
16// You should have received a copy of the GNU General Public License
17// along with this program. If not, see <https://www.gnu.org/licenses/>.
18
19#![allow(non_snake_case)]
20
21use crate::statement::error::Error;
22use jsonrpsee::proc_macros::rpc;
23use sp_core::Bytes;
24use sp_statement_store::{AddFilterResponse, SubmitOutcome, SubscribeEvent, TopicFilter};
25
26#[rpc(client, server)]
27pub trait StatementSpecApi {
28	/// Opens a new statement subscription
29	#[subscription(
30		name = "statement_unstable_subscribe" => "statement_unstable_subscribeEvent",
31		unsubscribe = "statement_unstable_unsubscribe",
32		item = SubscribeEvent,
33		with_extensions,
34	)]
35	async fn statement_unstable_subscribe(&self);
36
37	/// Attaches a filter to an existing subscription
38	#[method(name = "statement_unstable_add_filter", with_extensions)]
39	async fn statement_unstable_add_filter(
40		&self,
41		subscription: String,
42		topic_filter: TopicFilter,
43	) -> Result<AddFilterResponse, Error>;
44
45	/// Detaches a filter from a subscription
46	#[method(name = "statement_unstable_remove_filter", with_extensions)]
47	fn statement_unstable_remove_filter(
48		&self,
49		subscription: String,
50		filter_id: String,
51	) -> Result<(), Error>;
52
53	/// Submits a SCALE-encoded statement to the store
54	#[method(name = "statement_unstable_submit")]
55	fn statement_unstable_submit(&self, encoded: Bytes) -> Result<SubmitOutcome, Error>;
56}