diff --git a/src/config/index.ts b/src/config/index.ts index 8e973e0..0e3bbef 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -16,7 +16,7 @@ export type DomainConfig = { export type ProcessorConfig = { contractAddress: string; - gateway: string; + gateway?: string; rpcURL: string; startBlock: number; numberOfConfirmations: number; @@ -87,12 +87,13 @@ export type RpcUrlConfig = Array<{ export function getProcessorConfig(): ProcessorConfig { const processorConfig: ProcessorConfig = { contractAddress: process.env.DOMAIN_BRIDGE_ADDRESS!, - gateway: process.env.DOMAIN_GATEWAY!, + gateway: process.env.DOMAIN_GATEWAY || "", rpcURL: process.env.RPC_URL!, numberOfConfirmations: Number(process.env.DOMAIN_CONFIRMATIONS), startBlock: Number(process.env.START_BLOCK!), }; - validateConfig(processorConfig); + const { gateway, ...requiredConfig } = processorConfig; + validateConfig(requiredConfig); return processorConfig; } diff --git a/src/evmProcessor.ts b/src/evmProcessor.ts index 7e9679f..70175b4 100644 --- a/src/evmProcessor.ts +++ b/src/evmProcessor.ts @@ -103,8 +103,7 @@ export async function startEvmProcessing( } function getEvmProcessor(processorConfig: ProcessorConfig): EvmBatchProcessor { - return new EvmBatchProcessor() - .setGateway(processorConfig.gateway) + const evmProcessor = new EvmBatchProcessor() .setRpcEndpoint({ url: processorConfig.rpcURL, rateLimit: 10, @@ -131,6 +130,11 @@ function getEvmProcessor(processorConfig: ProcessorConfig): EvmBatchProcessor { topic0: [bridge.events.FailedHandlerExecution.topic], transaction: true, }); + + if (processorConfig.gateway && processorConfig.gateway.trim() !== "") { + evmProcessor.setGateway(processorConfig.gateway); + } + return evmProcessor; } export type Fields = EvmBatchProcessorFields;