diff --git a/Cargo.lock b/Cargo.lock index 460e998a..46d53b34 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3225,14 +3225,22 @@ version = "0.1.0" dependencies = [ "anyhow", "async-trait", + "bedrock_client", + "borsh", "clap 4.5.53", + "common", "env_logger", + "futures", "indexer_service_protocol", "indexer_service_rpc", "jsonrpsee", "log", + "logos-blockchain-core", + "serde", + "serde_json", "tokio", "tokio-util", + "url", ] [[package]] diff --git a/common/src/communication/mod.rs b/common/src/communication/mod.rs deleted file mode 100644 index d99eb481..00000000 --- a/common/src/communication/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod indexer; diff --git a/common/src/lib.rs b/common/src/lib.rs index 68902811..b64e6ef9 100644 --- a/common/src/lib.rs +++ b/common/src/lib.rs @@ -1,5 +1,4 @@ pub mod block; -pub mod communication; pub mod error; pub mod rpc_primitives; pub mod sequencer_client; diff --git a/common/src/rpc_primitives/requests.rs b/common/src/rpc_primitives/requests.rs index 6191df44..71641936 100644 --- a/common/src/rpc_primitives/requests.rs +++ b/common/src/rpc_primitives/requests.rs @@ -73,11 +73,6 @@ pub struct GetProofForCommitmentRequest { #[derive(Serialize, Deserialize, Debug)] pub struct GetProgramIdsRequest {} -#[derive(Serialize, Deserialize, Debug)] -pub struct PostIndexerMessageRequest { - pub message: crate::communication::indexer::Message, -} - parse_request!(HelloRequest); parse_request!(RegisterAccountRequest); parse_request!(SendTxRequest); @@ -92,7 +87,6 @@ parse_request!(GetAccountsNoncesRequest); parse_request!(GetProofForCommitmentRequest); parse_request!(GetAccountRequest); parse_request!(GetProgramIdsRequest); -parse_request!(PostIndexerMessageRequest); #[derive(Serialize, Deserialize, Debug)] pub struct HelloResponse { @@ -222,8 +216,3 @@ pub struct GetInitialTestnetAccountsResponse { pub account_id: String, pub balance: u64, } - -#[derive(Serialize, Deserialize, Debug)] -pub struct PostIndexerMessageResponse { - pub status: String, -} diff --git a/common/src/sequencer_client.rs b/common/src/sequencer_client.rs index 7a14d425..f25b451f 100644 --- a/common/src/sequencer_client.rs +++ b/common/src/sequencer_client.rs @@ -22,8 +22,7 @@ use crate::{ GetInitialTestnetAccountsResponse, GetLastBlockRequest, GetLastBlockResponse, GetProgramIdsRequest, GetProgramIdsResponse, GetProofForCommitmentRequest, GetProofForCommitmentResponse, GetTransactionByHashRequest, - GetTransactionByHashResponse, PostIndexerMessageRequest, PostIndexerMessageResponse, - SendTxRequest, SendTxResponse, + GetTransactionByHashResponse, SendTxRequest, SendTxResponse, }, }, transaction::{EncodedTransaction, NSSATransaction}, @@ -396,23 +395,4 @@ impl SequencerClient { Ok(resp_deser) } - - /// Post indexer into sequencer - pub async fn post_indexer_message( - &self, - message: crate::communication::indexer::Message, - ) -> Result { - let last_req = PostIndexerMessageRequest { message }; - - let req = serde_json::to_value(last_req).unwrap(); - - let resp = self - .call_method_with_payload("post_indexer_message", req) - .await - .unwrap(); - - let resp_deser = serde_json::from_value(resp).unwrap(); - - Ok(resp_deser) - } } diff --git a/indexer_core/src/lib.rs b/indexer_core/src/lib.rs index ca9ec22f..332d4d98 100644 --- a/indexer_core/src/lib.rs +++ b/indexer_core/src/lib.rs @@ -2,10 +2,7 @@ use std::sync::Arc; use anyhow::Result; use bedrock_client::BedrockClient; -use common::{ - block::HashableBlockData, communication::indexer::Message, - rpc_primitives::requests::PostIndexerMessageResponse, sequencer_client::SequencerClient, -}; +use common::{block::HashableBlockData, sequencer_client::SequencerClient}; use futures::StreamExt; use log::info; use logos_blockchain_core::mantle::{ @@ -96,13 +93,6 @@ impl IndexerCore { .await; } } - - pub async fn send_message_to_sequencer( - &self, - message: Message, - ) -> Result { - Ok(self.sequencer_client.post_indexer_message(message).await?) - } } fn parse_blocks( @@ -121,4 +111,4 @@ fn parse_blocks( _ => None, }) }) -} +} \ No newline at end of file diff --git a/indexer_service/Cargo.toml b/indexer_service/Cargo.toml index 8c085d7e..723c82ac 100644 --- a/indexer_service/Cargo.toml +++ b/indexer_service/Cargo.toml @@ -6,6 +6,8 @@ edition = "2024" [dependencies] indexer_service_protocol.workspace = true indexer_service_rpc = { workspace = true, features = ["server"] } +common.workspace = true +bedrock_client.workspace = true clap = { workspace = true, features = ["derive"] } anyhow.workspace = true @@ -15,6 +17,12 @@ env_logger.workspace = true log.workspace = true jsonrpsee.workspace = true async-trait = "0.1.89" +serde.workspace = true +serde_json.workspace = true +borsh.workspace = true +futures.workspace = true +url.workspace = true +logos-blockchain-core.workspace = true [features] # Return mock responses with generated data for testing purposes diff --git a/indexer_service/src/lib.rs b/indexer_service/src/lib.rs index 0c18410e..ccabe1ae 100644 --- a/indexer_service/src/lib.rs +++ b/indexer_service/src/lib.rs @@ -1,3 +1,4 @@ +#[cfg(not(feature = "mock-responses"))] pub mod service; #[cfg(feature = "mock-responses")] diff --git a/sequencer_rpc/src/process.rs b/sequencer_rpc/src/process.rs index 8b4ec7a5..6d149448 100644 --- a/sequencer_rpc/src/process.rs +++ b/sequencer_rpc/src/process.rs @@ -44,7 +44,6 @@ pub const GET_ACCOUNTS_NONCES: &str = "get_accounts_nonces"; pub const GET_ACCOUNT: &str = "get_account"; pub const GET_PROOF_FOR_COMMITMENT: &str = "get_proof_for_commitment"; pub const GET_PROGRAM_IDS: &str = "get_program_ids"; -pub const POST_INDEXER_MESSAGE: &str = "post_indexer_message"; pub const HELLO_FROM_SEQUENCER: &str = "HELLO_FROM_SEQUENCER"; @@ -315,18 +314,6 @@ impl JsonHandler { respond(response) } - async fn process_indexer_message(&self, request: Request) -> Result { - let _indexer_post_req = PostIndexerMessageRequest::parse(Some(request.params))?; - - // ToDo: Add indexer messages handling - - let response = PostIndexerMessageResponse { - status: "Success".to_string(), - }; - - respond(response) - } - pub async fn process_request_internal(&self, request: Request) -> Result { match request.method.as_ref() { HELLO => self.process_temp_hello(request).await, @@ -342,7 +329,6 @@ impl JsonHandler { GET_TRANSACTION_BY_HASH => self.process_get_transaction_by_hash(request).await, GET_PROOF_FOR_COMMITMENT => self.process_get_proof_by_commitment(request).await, GET_PROGRAM_IDS => self.process_get_program_ids(request).await, - POST_INDEXER_MESSAGE => self.process_indexer_message(request).await, _ => Err(RpcErr(RpcError::method_not_found(request.method))), } }