From 0c3de7e2b5c9ae6782aa94bffb6b69c6efa42892 Mon Sep 17 00:00:00 2001 From: Santiago Palladino Date: Fri, 9 Aug 2024 04:29:13 -0300 Subject: [PATCH] fix: Load l1 addresses in prover node (#7858) `aztec start --prover-node` was failing due to not being able to load l1 contract addresses --- .../aztec/src/cli/cmds/start_prover_node.ts | 14 ++++++++++---- yarn-project/prover-node/src/tx-provider/config.ts | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/yarn-project/aztec/src/cli/cmds/start_prover_node.ts b/yarn-project/aztec/src/cli/cmds/start_prover_node.ts index 40f51f94ef3..d00203f4721 100644 --- a/yarn-project/aztec/src/cli/cmds/start_prover_node.ts +++ b/yarn-project/aztec/src/cli/cmds/start_prover_node.ts @@ -16,7 +16,7 @@ import { import { mnemonicToAccount } from 'viem/accounts'; -import { extractRelevantOptions } from '../util.js'; +import { extractL1ContractAddresses, extractRelevantOptions } from '../util.js'; export const startProverNode = async ( options: any, @@ -31,7 +31,10 @@ export const startProverNode = async ( process.exit(1); } - const proverConfig = extractRelevantOptions(options, proverNodeConfigMappings); + const proverConfig = { + ...extractRelevantOptions(options, proverNodeConfigMappings), + l1Contracts: extractL1ContractAddresses(options), + }; if (!options.archiver && !proverConfig.archiverUrl) { userLog('--archiver.archiverUrl is required to start a Prover Node without --archiver option'); @@ -59,8 +62,11 @@ export const startProverNode = async ( // TODO(palla/prover-node) L1 contract addresses should not silently default to zero, // they should be undefined if not set and fail loudly. // Load l1 contract addresses from aztec node if not set. - if (proverConfig.nodeUrl && proverConfig.l1Contracts.rollupAddress.isZero()) { - proverConfig.l1Contracts = await createAztecNodeClient(proverConfig.nodeUrl).getL1ContractAddresses(); + const isRollupAddressSet = + proverConfig.l1Contracts?.rollupAddress && !proverConfig.l1Contracts.rollupAddress.isZero(); + const nodeUrl = proverConfig.nodeUrl ?? proverConfig.txProviderNodeUrl; + if (nodeUrl && !isRollupAddressSet) { + proverConfig.l1Contracts = await createAztecNodeClient(nodeUrl).getL1ContractAddresses(); } const telemetry = createAndStartTelemetryClient(getTelemetryClientConfig()); diff --git a/yarn-project/prover-node/src/tx-provider/config.ts b/yarn-project/prover-node/src/tx-provider/config.ts index 538e6aad31a..5fc9ed9465d 100644 --- a/yarn-project/prover-node/src/tx-provider/config.ts +++ b/yarn-project/prover-node/src/tx-provider/config.ts @@ -8,7 +8,7 @@ export const txProviderConfigMappings: ConfigMappingsType = { txProviderNodeUrl: { env: 'TX_PROVIDER_NODE_URL', description: 'The URL of the tx provider node', - parseEnv: (val: string) => val || process.env.AZTEC_NODE_URL, + parseEnv: (val: string) => val, }, };