From 135ccd1b0b8550e26e110bc16e9976437852a413 Mon Sep 17 00:00:00 2001 From: Jorge Sanmiguel <8038323+jsanmigimeno@users.noreply.github.com> Date: Fri, 19 Jul 2024 15:36:38 +0000 Subject: [PATCH] chore: Add missing 'resolver' to the wormhole recovery worker --- .../wormhole/wormhole-recovery.worker.ts | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/collector/wormhole/wormhole-recovery.worker.ts b/src/collector/wormhole/wormhole-recovery.worker.ts index b7ff57c..6afcf58 100644 --- a/src/collector/wormhole/wormhole-recovery.worker.ts +++ b/src/collector/wormhole/wormhole-recovery.worker.ts @@ -16,6 +16,7 @@ import { import { WormholeRecoveryWorkerData } from './wormhole.types'; import { JsonRpcProvider } from 'ethers6'; import { fetchVAAs } from './api-utils'; +import { Resolver, loadResolver } from 'src/resolvers/resolver'; interface RecoveredVAAData { vaa: ParsedVaaWithBytes, @@ -34,6 +35,8 @@ class WormholeRecoveryWorker { private readonly messageEscrowContract: IncentivizedMessageEscrow; + private readonly resolver: Resolver; + private readonly destinationImplementationCache: Record> = {}; // Map fromApplication + toChainId => destinationImplementation constructor() { @@ -47,6 +50,11 @@ class WormholeRecoveryWorker { this.config.loggerOptions, ); this.provider = this.initializeProvider(this.config.rpc); + this.resolver = this.loadResolver( + this.config.resolver, + this.provider, + this.logger + ); this.messageEscrowContract = this.initializeMessageEscrow( this.config.incentivesAddress, this.provider, @@ -70,6 +78,14 @@ class WormholeRecoveryWorker { return new JsonRpcProvider(rpc, undefined, { staticNetwork: true }); } + private loadResolver( + resolver: string | null, + provider: JsonRpcProvider, + logger: pino.Logger + ): Resolver { + return loadResolver(resolver, provider, logger); + } + private initializeMessageEscrow( incentivesAddress: string, provider: JsonRpcProvider, @@ -185,6 +201,10 @@ class WormholeRecoveryWorker { ); } + const transactionBlockNumber = await this.resolver.getTransactionBlockNumber( + transactionBlockMetadata.blockNumber + ); + const ambMessage: AMBMessage = { messageIdentifier: decodedWormholeMessage.messageIdentifier, @@ -197,7 +217,7 @@ class WormholeRecoveryWorker { incentivesPayload: decodedWormholeMessage.payload, recoveryContext: vaa.sequence.toString(), - // transactionBlockNumber: , //TODO add resolver and translate the block number + transactionBlockNumber, transactionHash, blockHash: transactionBlockMetadata.blockHash,