From 2728ecec0c2c34ec6721c355ca6aa631b972d7cd Mon Sep 17 00:00:00 2001 From: fewensa Date: Wed, 17 Sep 2025 11:41:00 +0000 Subject: [PATCH 1/3] Add retry mechanism with timeout for relaying messages --- packages/relay-relayer/src/relay.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/relay-relayer/src/relay.ts b/packages/relay-relayer/src/relay.ts index 4ed7518..18c9635 100644 --- a/packages/relay-relayer/src/relay.ts +++ b/packages/relay-relayer/src/relay.ts @@ -9,6 +9,9 @@ import { OrmpProtocolMessage, RelayerContractClient, } from "./client/contract_relayer"; +import { + setTimeout, +} from 'timers/promises'; import chalk = require("chalk"); interface RelayerRelayOptions { @@ -118,7 +121,16 @@ export class RelayerRelay extends CommonRelay { let lastAssignedMessageAcceptedResult: | LastAssignedMessageAccepted | undefined; + let times = 0; while (true) { + times += 1; + if (times > 5) { + logger.warn( + `reach max relay times to submit relayer.relay`, + super.meta("ormpipe-relay", ["relayer"]) + ); + break; + } const fullOptions = { ...options, lastImportedMessageHash, @@ -146,6 +158,11 @@ export class RelayerRelay extends CommonRelay { `try next message accepted`, super.meta("ormpipe-relay", ["relayer"]) ); + if (options.targetChainId == 1) { + await setTimeout(6000); + } else { + await setTimeout(3000); + } continue; } if (result == "success") { From b6ce3ff3a6a247c43e0629422a0cbeeef6ddbc53 Mon Sep 17 00:00:00 2001 From: fewensa Date: Wed, 17 Sep 2025 12:22:24 +0000 Subject: [PATCH 2/3] Increase timeout durations for relaying messages --- packages/relay-relayer/src/relay.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/relay-relayer/src/relay.ts b/packages/relay-relayer/src/relay.ts index 18c9635..fdabddf 100644 --- a/packages/relay-relayer/src/relay.ts +++ b/packages/relay-relayer/src/relay.ts @@ -159,9 +159,9 @@ export class RelayerRelay extends CommonRelay { super.meta("ormpipe-relay", ["relayer"]) ); if (options.targetChainId == 1) { - await setTimeout(6000); + await setTimeout(6000 * 3); } else { - await setTimeout(3000); + await setTimeout(3000 * 3); } continue; } From b16438a2f5599e1a92c412350360be8cbdaf2a96 Mon Sep 17 00:00:00 2001 From: fewensa Date: Wed, 17 Sep 2025 12:33:12 +0000 Subject: [PATCH 3/3] Increase timeout durations for relaying messages based on targetChainId --- packages/relay-relayer/src/relay.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/relay-relayer/src/relay.ts b/packages/relay-relayer/src/relay.ts index fdabddf..0f08800 100644 --- a/packages/relay-relayer/src/relay.ts +++ b/packages/relay-relayer/src/relay.ts @@ -159,9 +159,9 @@ export class RelayerRelay extends CommonRelay { super.meta("ormpipe-relay", ["relayer"]) ); if (options.targetChainId == 1) { - await setTimeout(6000 * 3); + await setTimeout(1000 * 60); } else { - await setTimeout(3000 * 3); + await setTimeout(1000 * 40); } continue; }