diff --git a/process-compose/bridge/process-compose.bridge-relayer-indexer.yml b/process-compose/bridge/process-compose.bridge-relayer-indexer.yml
new file mode 100644
index 000000000..2ab7594e3
--- /dev/null
+++ b/process-compose/bridge/process-compose.bridge-relayer-indexer.yml
@@ -0,0 +1,26 @@
+version: "3"
+
+processes:
+
+ postgres:
+ command: |
+ ./scripts/postgres/start-dev
+
+ readiness_probe:
+ initial_delay_seconds: 5
+ exec:
+ command: echo "true"
+ bridge:
+ command: |
+ RUST_BACKTRACE=1 bridge-service
+ readiness_probe:
+ initial_delay_seconds: 5
+ exec:
+ command: echo "true"
+ depends_on:
+ postgres:
+ condition: process_healthy
+ bridge_setup:
+ condition: process_healthy
+ environment:
+ - "RELAYER_START_INDEXER=true"
diff --git a/protocol-units/bridge/indexer-db/src/client.rs b/protocol-units/bridge/indexer-db/src/client.rs
index 59e0ab8de..038013661 100644
--- a/protocol-units/bridge/indexer-db/src/client.rs
+++ b/protocol-units/bridge/indexer-db/src/client.rs
@@ -92,12 +92,13 @@ impl Client {
Ok(BridgeEventPackage { initiated_events, completed_events })
}
- /// Inserts a new transfer action into the database.
- pub fn insert_transfer_action(
+ /// Inserts a new relayer actions into the database.
+ pub fn insert_relayer_actions(
&mut self,
bridge_transfer_id: BridgeTransferId,
action_type: TransferActionType,
) -> Result<(), diesel::result::Error> {
+ tracing::info!("Indexer insert_relayer_actions bridge_transfer_id:{bridge_transfer_id} action_type: {action_type}");
match action_type {
TransferActionType::CompleteBridgeTransfer {
bridge_transfer_id,
diff --git a/protocol-units/bridge/indexer-db/src/lib.rs b/protocol-units/bridge/indexer-db/src/lib.rs
index 1f9655cc2..3b25582ad 100644
--- a/protocol-units/bridge/indexer-db/src/lib.rs
+++ b/protocol-units/bridge/indexer-db/src/lib.rs
@@ -1,8 +1,7 @@
use crate::client::Client;
use bridge_config::Config;
use bridge_util::chains::bridge_contracts::BridgeContractMonitoring;
-use bridge_util::types::BridgeTransferId;
-use bridge_util::TransferActionType;
+use bridge_util::TransferAction;
use tokio::select;
use tokio::sync::mpsc;
use tokio_stream::StreamExt;
@@ -19,12 +18,13 @@ pub async fn run_indexer_client<
config: Config,
mut stream_source: impl BridgeContractMonitoring
,
mut stream_target: impl BridgeContractMonitoring,
- relayer_actions: Option>,
+ mut relayer_actions_rx: Option>,
) -> Result<(), anyhow::Error>
where
Vec: From