import { type L1ReaderConfig, l1ReaderConfigMappings } from '@aztec/ethereum'; import { type ConfigMappingsType, getConfigFromMappings, omitConfigMappings } from '@aztec/foundation/config'; import { type DataStoreConfig, dataConfigMappings } from '@aztec/kv-store/config'; import { type ChainConfig, chainConfigMappings } from '@aztec/stdlib/config'; import { type BlobSinkConfig as BlobSinkClientConfig, blobSinkConfigMapping as blobSinkClientConfigMapping, } from '../client/config.js'; export type BlobSinkConfig = { port?: number; } & Omit & Partial & Partial & Partial; export const blobSinkConfigMappings: ConfigMappingsType = { port: { env: 'BLOB_SINK_PORT', description: 'The port to run the blob sink server on', }, ...omitConfigMappings(blobSinkClientConfigMapping, ['blobSinkUrl']), ...dataConfigMappings, ...chainConfigMappings, ...l1ReaderConfigMappings, }; /** * Returns the blob sink configuration from the environment variables. * Note: If an environment variable is not set, the default value is used. * @returns The blob sink configuration. */ export function getBlobSinkConfigFromEnv(): BlobSinkConfig { return getConfigFromMappings(blobSinkConfigMappings); }