Skip to content

Commit d25385a

Browse files
frolvanyaCopilot
andauthored
chore(relayer): improved logging (#508)
* chore(relayer): improved logging * chore(relayer): bumped version * Update omni-relayer/src/workers/near.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 652a63b commit d25385a

File tree

7 files changed

+117
-62
lines changed

7 files changed

+117
-62
lines changed

omni-relayer/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

omni-relayer/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "omni-relayer"
3-
version = "0.5.7"
3+
version = "0.5.8"
44
edition = "2024"
55
resolver = "2"
66
repository = "https://github.com/Near-One/omni-bridge"

omni-relayer/src/startup/bridge_indexer.rs

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ async fn handle_transaction_event(
6767
match event.transfer_message {
6868
OmniTransferMessage::NearTransferMessage(transfer_message) => {
6969
info!(
70-
"Received NearTransferMessage: {}",
70+
"Received NearTransferMessage ({:?}:{}): {origin_transaction_id}",
71+
transfer_message.get_origin_chain(),
7172
transfer_message.origin_nonce
7273
);
7374

@@ -111,7 +112,11 @@ async fn handle_transaction_event(
111112
}
112113
}
113114
OmniTransferMessage::NearSignTransferEvent(sign_event) => {
114-
info!("Received NearSignTransferEvent");
115+
info!(
116+
"Received NearSignTransferEvent ({:?}:{}): {origin_transaction_id}",
117+
sign_event.message_payload.transfer_id.origin_chain,
118+
sign_event.message_payload.transfer_id.origin_nonce
119+
);
115120
let origin_nonce = sign_event.message_payload.transfer_id.origin_nonce;
116121
let key = near_event_key(&origin_transaction_id, origin_nonce);
117122

@@ -129,11 +134,6 @@ async fn handle_transaction_event(
129134
}
130135
OmniTransferMessage::NearClaimFeeEvent(_) => {}
131136
OmniTransferMessage::EvmInitTransferMessage(init_transfer) => {
132-
info!(
133-
"Received EvmInitTransferMessage: {}",
134-
init_transfer.origin_nonce
135-
);
136-
137137
let OmniTransactionOrigin::EVMLog {
138138
block_number,
139139
block_timestamp,
@@ -145,6 +145,11 @@ async fn handle_transaction_event(
145145
anyhow::bail!("Expected EVMLog for EvmInitTransfer: {init_transfer:?}");
146146
};
147147

148+
info!(
149+
"Received EvmInitTransferMessage ({chain_kind:?}:{}): {origin_transaction_id}",
150+
init_transfer.origin_nonce
151+
);
152+
148153
let log_index_str = log_index.unwrap_or_default().to_string();
149154
let redis_key = evm_event_key(&origin_transaction_id, log_index);
150155

@@ -238,8 +243,6 @@ async fn handle_transaction_event(
238243
}
239244
}
240245
OmniTransferMessage::EvmFinTransferMessage(fin_transfer) => {
241-
info!("Received EvmFinTransferMessage");
242-
243246
let OmniTransactionOrigin::EVMLog {
244247
block_timestamp,
245248
chain_kind,
@@ -250,6 +253,8 @@ async fn handle_transaction_event(
250253
anyhow::bail!("Expected EVMLog for EvmFinTransfer: {fin_transfer:?}");
251254
};
252255

256+
info!("Received EvmFinTransferMessage ({chain_kind:?}): {origin_transaction_id}");
257+
253258
let redis_key = evm_event_key(&origin_transaction_id, log_index);
254259

255260
let Ok(tx_hash) = TxHash::from_str(&origin_transaction_id) else {
@@ -278,11 +283,6 @@ async fn handle_transaction_event(
278283
.await;
279284
}
280285
OmniTransferMessage::SolanaInitTransfer(init_transfer) => {
281-
info!(
282-
"Received SolanaInitTransfer: {}",
283-
init_transfer.origin_nonce
284-
);
285-
286286
let OmniTransactionOrigin::SolanaTransaction {
287287
instruction_index, ..
288288
} = origin
@@ -292,6 +292,12 @@ async fn handle_transaction_event(
292292
);
293293
};
294294

295+
info!(
296+
"Received SolanaInitTransfer ({:?}:{}): {origin_transaction_id}",
297+
ChainKind::Sol,
298+
init_transfer.origin_nonce
299+
);
300+
295301
let OmniAddress::Sol(ref token) = init_transfer.token else {
296302
anyhow::bail!("Unexpected token address: {}", init_transfer.token);
297303
};
@@ -323,8 +329,6 @@ async fn handle_transaction_event(
323329
.await;
324330
}
325331
OmniTransferMessage::SolanaFinTransfer(fin_transfer) => {
326-
info!("Received SolanaFinTransfer");
327-
328332
let OmniTransactionOrigin::SolanaTransaction {
329333
instruction_index, ..
330334
} = origin
@@ -338,6 +342,11 @@ async fn handle_transaction_event(
338342
let Some(sequence) = fin_transfer.sequence else {
339343
anyhow::bail!("Sequence is not set for Solana transfer: {fin_transfer:?}");
340344
};
345+
346+
info!(
347+
"Received SolanaFinTransfer ({:?}:{sequence}): {origin_transaction_id}",
348+
ChainKind::Sol
349+
);
341350
let redis_key = solana_event_key(&origin_transaction_id, Some(instruction_index));
342351

343352
utils::redis::add_event(
@@ -490,8 +499,6 @@ async fn handle_meta_event(
490499
) -> Result<()> {
491500
match event.details {
492501
OmniMetaEventDetails::EVMDeployToken(deploy_token_event) => {
493-
info!("Received EVMDeployToken: {deploy_token_event:?}");
494-
495502
let OmniTransactionOrigin::EVMLog {
496503
block_timestamp,
497504
chain_kind,
@@ -501,6 +508,9 @@ async fn handle_meta_event(
501508
else {
502509
anyhow::bail!("Expected EVMLog for EvmDeployToken: {deploy_token_event:?}");
503510
};
511+
512+
info!("Received EVMDeployToken: {origin_transaction_id}");
513+
504514
let redis_key = evm_event_key(&origin_transaction_id, log_index);
505515

506516
let Ok(tx_hash) = TxHash::from_str(&origin_transaction_id) else {
@@ -531,13 +541,15 @@ async fn handle_meta_event(
531541
OmniMetaEventDetails::SolanaDeployToken {
532542
emitter, sequence, ..
533543
} => {
534-
info!("Received EVMDeployToken: {sequence}");
535544
let OmniTransactionOrigin::SolanaTransaction {
536545
instruction_index, ..
537546
} = origin
538547
else {
539548
anyhow::bail!("Expected SolanaTransaction for SolanaDeployToken");
540549
};
550+
551+
info!("Received SolanaDeployToken: {sequence}");
552+
541553
let redis_key = solana_event_key(&origin_transaction_id, Some(instruction_index));
542554

543555
utils::redis::add_event(

omni-relayer/src/utils/nonce.rs

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use alloy::{
44
primitives::{Address, U64},
55
providers::{DynProvider, Provider, ProviderBuilder},
66
};
7-
use anyhow::Result;
7+
use anyhow::{Context, Result};
88
use near_crypto::InMemorySigner;
99
use near_jsonrpc_client::{JsonRpcClient, methods};
1010
use near_jsonrpc_primitives::types::query::QueryResponseKind;
@@ -191,19 +191,29 @@ impl EvmNonceManagers {
191191

192192
pub async fn resync_nonces(&self) -> Result<()> {
193193
if let Some(eth) = self.eth.as_ref() {
194-
eth.resync_nonce().await?;
194+
eth.resync_nonce()
195+
.await
196+
.context("Failed to resync nonce for eth")?;
195197
}
196198
if let Some(base) = self.base.as_ref() {
197-
base.resync_nonce().await?;
199+
base.resync_nonce()
200+
.await
201+
.context("Failed to resync nonce for base")?;
198202
}
199203
if let Some(arb) = self.arb.as_ref() {
200-
arb.resync_nonce().await?;
204+
arb.resync_nonce()
205+
.await
206+
.context("Failed to resync nonce for arb")?;
201207
}
202208
if let Some(bnb) = self.bnb.as_ref() {
203-
bnb.resync_nonce().await?;
209+
bnb.resync_nonce()
210+
.await
211+
.context("Failed to resync nonce for bnb")?;
204212
}
205213
if let Some(pol) = self.pol.as_ref() {
206-
pol.resync_nonce().await?;
214+
pol.resync_nonce()
215+
.await
216+
.context("Failed to resync nonce for pol")?;
207217
}
208218

209219
Ok(())

omni-relayer/src/workers/evm.rs

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,10 @@ pub async fn process_init_transfer_event(
4747
return Ok(EventAction::Retry);
4848
}
4949

50-
info!("Trying to process InitTransfer log on {chain_kind:?}");
50+
info!(
51+
"Processing InitTransfer ({chain_kind:?}:{}): {tx_hash:?}",
52+
log.origin_nonce
53+
);
5154

5255
let transfer_id = TransferId {
5356
origin_chain: chain_kind,
@@ -125,7 +128,10 @@ pub async fn process_init_transfer_event(
125128
{
126129
Some(vaa)
127130
} else {
128-
warn!("VAA is not ready yet");
131+
warn!(
132+
"VAA is not ready for {chain_kind:?}:{}: {tx_hash:?}",
133+
log.origin_nonce
134+
);
129135
return Ok(EventAction::Retry);
130136
};
131137

@@ -222,7 +228,10 @@ pub async fn process_init_transfer_event(
222228

223229
match omni_connector.fin_transfer(fin_transfer_args).await {
224230
Ok(tx_hash) => {
225-
info!("Finalized InitTransfer: {tx_hash:?}");
231+
info!(
232+
"Finalized InitTransfer ({chain_kind:?}:{}): {tx_hash:?}",
233+
log.origin_nonce
234+
);
226235
Ok(EventAction::Remove)
227236
}
228237
Err(err) => {
@@ -234,34 +243,34 @@ pub async fn process_init_transfer_event(
234243
| NearRpcError::RpcQueryError(JsonRpcError::TransportError(_))
235244
| NearRpcError::RpcTransactionError(JsonRpcError::TransportError(_)) => {
236245
warn!(
237-
"Failed to finalize transfer ({}), retrying: {near_rpc_error:?}",
246+
"Failed to finalize transfer ({chain_kind:?}:{}), retrying: {near_rpc_error:?}",
238247
log.origin_nonce
239248
);
240249
return Ok(EventAction::Retry);
241250
}
242251
_ => {
243252
anyhow::bail!(
244-
"Failed to finalize transfer ({}): {near_rpc_error:?}",
253+
"Failed to finalize transfer ({chain_kind:?}:{}): {near_rpc_error:?}",
245254
log.origin_nonce
246255
);
247256
}
248257
};
249258
} else if let BridgeSdkError::LightClientNotSynced(block) = err {
250259
warn!(
251-
"Light client is not synced yet for transfer ({}), block: {}",
260+
"Light client is not synced yet for transfer ({chain_kind:?}:{}), block: {}",
252261
log.origin_nonce, block
253262
);
254263
return Ok(EventAction::Retry);
255264
} else if let BridgeSdkError::EthRpcError(EthRpcError::RpcError(err)) = err {
256265
warn!(
257-
"Ethereum client error occurred while finalizing transfer ({}), retrying: {err:?}",
266+
"Ethereum client error occurred while finalizing transfer ({chain_kind:?}:{}), retrying: {err:?}",
258267
log.origin_nonce
259268
);
260269
return Ok(EventAction::Retry);
261270
}
262271

263272
anyhow::bail!(
264-
"Failed to finalize transfer ({}): {err:?}",
273+
"Failed to finalize transfer ({chain_kind:?}:{}): {err:?}",
265274
log.origin_nonce
266275
);
267276
}
@@ -289,7 +298,7 @@ pub async fn process_evm_transfer_event(
289298
return Ok(EventAction::Retry);
290299
}
291300

292-
info!("Trying to process FinTransfer log on {chain_kind:?}");
301+
info!("Processing FinTransfer ({chain_kind:?}): {transaction_hash:?}");
293302

294303
let vaa = if chain_kind == ChainKind::Eth {
295304
None
@@ -299,7 +308,7 @@ pub async fn process_evm_transfer_event(
299308
{
300309
Some(vaa)
301310
} else {
302-
warn!("VAA is not ready yet");
311+
warn!("VAA is not ready for {chain_kind:?}: {transaction_hash:?}");
303312
return Ok(EventAction::Retry);
304313
};
305314

@@ -386,7 +395,7 @@ pub async fn process_deploy_token_event(
386395
return Ok(EventAction::Retry);
387396
}
388397

389-
info!("Trying to process DeployToken log on {chain_kind:?}");
398+
info!("Processing DeployToken ({chain_kind:?}): {transaction_hash:?}");
390399

391400
let vaa = if chain_kind == ChainKind::Eth {
392401
None
@@ -396,7 +405,7 @@ pub async fn process_deploy_token_event(
396405
{
397406
Some(vaa)
398407
} else {
399-
warn!("VAA is not ready yet");
408+
warn!("VAA is not ready for {chain_kind:?}: {transaction_hash:?}");
400409
return Ok(EventAction::Retry);
401410
};
402411

0 commit comments

Comments
 (0)