From b49416c2964e549147eacbd7c27523110b1f3d19 Mon Sep 17 00:00:00 2001 From: jbesraa Date: Thu, 12 Sep 2024 16:50:09 +0300 Subject: [PATCH] Handle `mining_device` open channel error case .. just return the error to the user to give an indication that an error occurd. --- protocols/v2/roles-logic-sv2/src/errors.rs | 2 ++ roles/test-utils/mining-device/src/lib/mod.rs | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/protocols/v2/roles-logic-sv2/src/errors.rs b/protocols/v2/roles-logic-sv2/src/errors.rs index 20c4bcd55..c4b3305ec 100644 --- a/protocols/v2/roles-logic-sv2/src/errors.rs +++ b/protocols/v2/roles-logic-sv2/src/errors.rs @@ -61,6 +61,7 @@ pub enum Error { HashrateError(InputError), LogicErrorMessage(std::boxed::Box>), JDSMissingTransactions, + MiningChannelError(u32), } impl From for Error { @@ -153,6 +154,7 @@ impl Display for Error { HashrateError(e) => write!(f, "Impossible to get Hashrate: {:?}", e), LogicErrorMessage(e) => write!(f, "Message is well formatted but can not be handled: {:?}", e), JDSMissingTransactions => write!(f, "JD server cannot propagate the block: missing transactions"), + MiningChannelError(e) => write!(f, "Mining channel error: {:?}", e), } } } diff --git a/roles/test-utils/mining-device/src/lib/mod.rs b/roles/test-utils/mining-device/src/lib/mod.rs index 01d0505b0..95e795c45 100644 --- a/roles/test-utils/mining-device/src/lib/mod.rs +++ b/roles/test-utils/mining-device/src/lib/mod.rs @@ -404,9 +404,9 @@ impl ParseUpstreamMiningMessages<(), NullDownstreamMiningSelector, NoRouting> fo fn handle_open_mining_channel_error( &mut self, - _: OpenMiningChannelError, + e: OpenMiningChannelError, ) -> Result, Error> { - todo!() + return Err(Error::MiningChannelError(e.request_id)); } fn handle_update_channel_error(&mut self, _: UpdateChannelError) -> Result, Error> {