From e906a1c6c0510cdb918ca42df28c676daa973081 Mon Sep 17 00:00:00 2001 From: Thanos Doukoudakis <56822898+thadouk@users.noreply.github.com> Date: Wed, 6 Dec 2023 11:46:00 +0000 Subject: [PATCH] SYS-3313 Make lower-rpc api an independent package (#330) This allows integration directly from avn-parachain repository to all clients that have a dependency, avoiding code replication. --- Cargo.lock | 23 +++++++++++++ Cargo.toml | 1 + node/Cargo.toml | 2 ++ node/avn-lower-rpc/Cargo.toml | 34 +++++++++++++++++++ .../lower_rpc.rs => avn-lower-rpc/src/lib.rs} | 0 node/src/rpc.rs | 2 +- 6 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 node/avn-lower-rpc/Cargo.toml rename node/{src/rpc/lower_rpc.rs => avn-lower-rpc/src/lib.rs} (100%) diff --git a/Cargo.lock b/Cargo.lock index a00cfac2e..8675a8edf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -481,10 +481,33 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "avn-lower-rpc" +version = "3.5.1" +dependencies = [ + "avn-service", + "futures", + "hex", + "jsonrpsee", + "log", + "node-primitives", + "parity-scale-codec 3.2.1", + "parking_lot 0.12.1", + "sc-client-api", + "sc-rpc", + "scale-info", + "serde", + "serde_json", + "sp-api", + "sp-runtime", + "thiserror", +] + [[package]] name = "avn-node-parachain" version = "3.5.1" dependencies = [ + "avn-lower-rpc", "avn-parachain-runtime", "avn-parachain-test-runtime", "avn-runtime-common", diff --git a/Cargo.toml b/Cargo.toml index 6c3fc6736..9703fe007 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,6 +23,7 @@ rust-version = "1.64.0" members = [ "node", "node/avn-service", + "node/avn-lower-rpc", "pallets/*", "primitives/*", "runtime/*", diff --git a/node/Cargo.toml b/node/Cargo.toml index ec4572da7..d44370759 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -92,6 +92,8 @@ cumulus-relay-chain-interface = { git = "https://github.com/paritytech/cumulus.g # AvN avn-service = { path = "avn-service"} +avn-lower-rpc = { path = "avn-lower-rpc"} + pallet-avn = { path = "../pallets/avn", default-features = false } tiny-bip39 = "0.8.2" libp2p = "0.46.1" diff --git a/node/avn-lower-rpc/Cargo.toml b/node/avn-lower-rpc/Cargo.toml new file mode 100644 index 000000000..96341478e --- /dev/null +++ b/node/avn-lower-rpc/Cargo.toml @@ -0,0 +1,34 @@ +[package] +name = "avn-lower-rpc" +license = "GPL-3.0" + +version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } +rust-version = { workspace = true } + + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +codec = { package = "parity-scale-codec", version = "3.0.0" } +futures = "0.3.21" +log = "0.4.17" +parking_lot = "0.12.1" +scale-info = { version = "2.1.1", default-features = false, features = ["derive"] } +serde = { version = "1.0.136", features = ["derive"] } +serde_json = "1.0.85" +thiserror = "1.0" +hex = "0.4" +jsonrpsee = { version = "0.16.2", features = ["server"] } + +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" } +sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.36" } +node-primitives = { version = "2.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.36" } + +avn-service = { path = "../avn-service"} diff --git a/node/src/rpc/lower_rpc.rs b/node/avn-lower-rpc/src/lib.rs similarity index 100% rename from node/src/rpc/lower_rpc.rs rename to node/avn-lower-rpc/src/lib.rs diff --git a/node/src/rpc.rs b/node/src/rpc.rs index ba2a14480..d5d383b47 100644 --- a/node/src/rpc.rs +++ b/node/src/rpc.rs @@ -17,7 +17,7 @@ use sp_api::{CallApiAt, ProvideRuntimeApi}; use sp_block_builder::BlockBuilder; use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; -pub mod lower_rpc; +use avn_lower_rpc as lower_rpc; /// A type representing all RPC extensions. pub type RpcExtension = jsonrpsee::RpcModule<()>;