From 1c90a1fcdb5762ff56d3b712e9af262c099700c1 Mon Sep 17 00:00:00 2001 From: Krzysztof Lis Date: Wed, 26 Jul 2023 17:24:27 +0200 Subject: [PATCH 1/2] feat(rpc/v04): register v04 methods --- crates/rpc/src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/rpc/src/lib.rs b/crates/rpc/src/lib.rs index c61f5bc75a..b807500c97 100644 --- a/crates/rpc/src/lib.rs +++ b/crates/rpc/src/lib.rs @@ -124,6 +124,7 @@ Hint: If you are looking to run two instances of pathfinder, you must configure let module = crate::module::Module::new(self.context); let module = v03::register_methods(module)?; + let module = v04::register_methods(module)?; let module = pathfinder::register_methods(module)?; let module = match &self.ws_senders { Some(ws_senders) => websocket::register_subscriptions(module, ws_senders.clone())?, From 6732835faba33e4e9c384963c158ff80dbd4f3fd Mon Sep 17 00:00:00 2001 From: Krzysztof Lis Date: Wed, 26 Jul 2023 17:38:01 +0200 Subject: [PATCH 2/2] test: add v04 to tests --- crates/rpc/src/middleware/versioning.rs | 13 +++++++++++-- crates/rpc/tests/versioning.rs | 7 ++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/crates/rpc/src/middleware/versioning.rs b/crates/rpc/src/middleware/versioning.rs index 63fe08a805..81ec6bf461 100644 --- a/crates/rpc/src/middleware/versioning.rs +++ b/crates/rpc/src/middleware/versioning.rs @@ -212,7 +212,7 @@ mod response { pub mod test_utils { pub mod method_names { - pub const COMMON_FOR_V03: [&str; 23] = [ + pub const COMMON_FOR_V03_V04: [&str; 23] = [ "starknet_addDeclareTransaction", "starknet_addDeployAccountTransaction", "starknet_addInvokeTransaction", @@ -240,11 +240,13 @@ pub mod test_utils { pub const COMMON_FOR_ALL: [&str; 2] = ["pathfinder_getProof", "pathfinder_getTransactionStatus"]; pub const V03_ONLY: [&str; 1] = ["starknet_simulateTransaction"]; + pub const V04_ONLY: [&str; 1] = ["starknet_simulateTransactions"]; pub const PATHFINDER_ONLY: [&str; 1] = ["pathfinder_version"]; } pub mod paths { pub const V03: &[&str] = &["", "/", "/rpc/v0.3", "/rpc/v0.3/"]; + pub const V04: &[&str] = &["/rpc/v0.4", "/rpc/v0.4/"]; pub const PATHFINDER: &[&str] = &["/rpc/pathfinder/v0.1", "/rpc/pathfinder/v0.1/"]; } } @@ -272,14 +274,21 @@ mod tests { let not_in_v03 = method_names::PATHFINDER_ONLY .into_iter() + .chain(method_names::V04_ONLY.into_iter()) .collect::>(); - let not_in_pathfinder = method_names::COMMON_FOR_V03 + let not_in_v04 = method_names::PATHFINDER_ONLY .into_iter() .chain(method_names::V03_ONLY.into_iter()) .collect::>(); + let not_in_pathfinder = method_names::COMMON_FOR_V03_V04 + .into_iter() + .chain(method_names::V03_ONLY.into_iter()) + .chain(method_names::V04_ONLY.into_iter()) + .collect::>(); for (paths, methods) in vec![ (paths::V03, not_in_v03), + (paths::V04, not_in_v04), (paths::PATHFINDER, not_in_pathfinder), ] .into_iter() diff --git a/crates/rpc/tests/versioning.rs b/crates/rpc/tests/versioning.rs index 3ae8a4046a..01b95ceb76 100644 --- a/crates/rpc/tests/versioning.rs +++ b/crates/rpc/tests/versioning.rs @@ -18,10 +18,14 @@ async fn api_versions_are_routed_correctly_for_all_methods() { .await .unwrap(); - let v03_methods = method_names::COMMON_FOR_V03 + let v03_methods = method_names::COMMON_FOR_V03_V04 .into_iter() .chain(method_names::V03_ONLY.into_iter()) .collect::>(); + let v04_methods = method_names::COMMON_FOR_V03_V04 + .into_iter() + .chain(method_names::V04_ONLY.into_iter()) + .collect::>(); let pathfinder_methods = method_names::COMMON_FOR_ALL .into_iter() .chain(method_names::PATHFINDER_ONLY.into_iter()) @@ -29,6 +33,7 @@ async fn api_versions_are_routed_correctly_for_all_methods() { for (paths, version, methods) in vec![ (paths::V03, "v0.3", v03_methods), + (paths::V04, "v0.4", v04_methods), (paths::PATHFINDER, "v0.1", pathfinder_methods), ] .into_iter()