From 79635e1029ecabbc426d5919ce513e11beb2e3af Mon Sep 17 00:00:00 2001 From: yukang Date: Tue, 5 Dec 2023 15:38:59 +0800 Subject: [PATCH] fix SubscriptionRpc --- rpc/src/module/subscription.rs | 3 ++- rpc/src/service_builder.rs | 2 +- rpc/src/tests/setup.rs | 3 --- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/rpc/src/module/subscription.rs b/rpc/src/module/subscription.rs index 7813d3d0469..25bfe5845f2 100644 --- a/rpc/src/module/subscription.rs +++ b/rpc/src/module/subscription.rs @@ -196,8 +196,9 @@ impl SubscriptionRpc for SubscriptionRpcImpl { Topic::ProposedTransaction => self.proposed_transaction_sender.clone(), Topic::RejectedTransaction => self.new_reject_transaction_sender.clone(), }; + let mut rx = tx.subscribe(); Ok(Box::pin(async_stream::stream! { - while let Ok(msg) = tx.subscribe().recv().await { + while let Ok(msg) = rx.recv().await { yield msg; } })) diff --git a/rpc/src/service_builder.rs b/rpc/src/service_builder.rs index 210accd72c5..ceecf2316c2 100644 --- a/rpc/src/service_builder.rs +++ b/rpc/src/service_builder.rs @@ -49,7 +49,7 @@ impl<'a> ServiceBuilder<'a> { pub fn new(config: &'a RpcConfig) -> Self { Self { config, - io_handler: IoHandler::with_compatibility(jsonrpc_core::Compatibility::V2), + io_handler: IoHandler::default(), } } diff --git a/rpc/src/tests/setup.rs b/rpc/src/tests/setup.rs index 97db8a676f5..76535ed0916 100644 --- a/rpc/src/tests/setup.rs +++ b/rpc/src/tests/setup.rs @@ -35,9 +35,6 @@ const CELLBASE_MATURITY: u64 = 0; const ALERT_UNTIL_TIMESTAMP: u64 = 2_524_579_200; // Construct `Consensus` with an always-success cell -// -// It is similar to `util::test-chain-utils::always_success_consensus`, but with hard-code -// genesis timestamp. pub(crate) fn always_success_consensus() -> Consensus { let always_success_tx = always_success_transaction(); let dao = genesis_dao_data(vec![&always_success_tx]).unwrap();