From 83060a914aed86415389b0186cdbf7f85effe74d Mon Sep 17 00:00:00 2001 From: Luke Parker <lukeparker5132@gmail.com> Date: Mon, 14 Nov 2022 23:56:28 -0500 Subject: [PATCH] Have the RPC return the unsupported version when Unsupported --- coins/monero/src/lib.rs | 6 +++--- coins/monero/src/rpc.rs | 2 +- coins/monero/tests/rpc.rs | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/coins/monero/src/lib.rs b/coins/monero/src/lib.rs index 9f3b159c..9786a8a8 100644 --- a/coins/monero/src/lib.rs +++ b/coins/monero/src/lib.rs @@ -56,7 +56,7 @@ mod tests; #[derive(Clone, Copy, PartialEq, Eq, Debug, Zeroize)] #[allow(non_camel_case_types)] pub enum Protocol { - Unsupported, + Unsupported(usize), v14, v16, Custom { ring_len: usize, bp_plus: bool }, @@ -66,7 +66,7 @@ impl Protocol { /// Amount of ring members under this protocol version. pub fn ring_len(&self) -> usize { match self { - Protocol::Unsupported => panic!("Unsupported protocol version"), + Protocol::Unsupported(_) => panic!("Unsupported protocol version"), Protocol::v14 => 11, Protocol::v16 => 16, Protocol::Custom { ring_len, .. } => *ring_len, @@ -77,7 +77,7 @@ impl Protocol { /// This method will likely be reworked when versions not using Bulletproofs at all are added. pub fn bp_plus(&self) -> bool { match self { - Protocol::Unsupported => panic!("Unsupported protocol version"), + Protocol::Unsupported(_) => panic!("Unsupported protocol version"), Protocol::v14 => false, Protocol::v16 => true, Protocol::Custom { bp_plus, .. } => *bp_plus, diff --git a/coins/monero/src/rpc.rs b/coins/monero/src/rpc.rs index a5201535..5085d6cd 100644 --- a/coins/monero/src/rpc.rs +++ b/coins/monero/src/rpc.rs @@ -212,7 +212,7 @@ impl Rpc { { 13 | 14 => Protocol::v14, 15 | 16 => Protocol::v16, - _ => Protocol::Unsupported, + version => Protocol::Unsupported(version), }, ) } diff --git a/coins/monero/tests/rpc.rs b/coins/monero/tests/rpc.rs index 819de585..bed1e337 100644 --- a/coins/monero/tests/rpc.rs +++ b/coins/monero/tests/rpc.rs @@ -28,7 +28,7 @@ pub async fn rpc() -> Rpc { // Mine 20 blocks to ensure decoy availability mine_block(&rpc, &addr).await.unwrap(); mine_block(&rpc, &addr).await.unwrap(); - assert!(!matches!(rpc.get_protocol().await.unwrap(), Protocol::Unsupported)); + assert!(!matches!(rpc.get_protocol().await.unwrap(), Protocol::Unsupported(_))); rpc }