@@ -44,7 +44,7 @@ export interface Config {
4444/**
4545 * Common options for all Synapse configurations
4646 */
47- interface BaseSynapseConfig {
47+ interface BaseSynapseConfig extends Omit < SynapseOptions , 'withCDN' | 'warmStorageAddress' | 'telemetry' > {
4848 /** RPC endpoint for the target Filecoin network. Defaults to calibration. */
4949 rpcUrl ?: string | undefined
5050 /** Optional override for WarmStorage contract address */
@@ -328,6 +328,7 @@ async function setupSessionKey(synapse: Synapse, sessionWallet: Wallet, logger:
328328 * @returns Initialized Synapse instance
329329 */
330330export async function initializeSynapse ( config : Partial < SynapseSetupConfig > , logger : Logger ) : Promise < Synapse > {
331+ const { withCDN, warmStorageAddress, telemetry, ...restConfig } = config
331332 try {
332333 const authMode = validateAuthConfig ( config )
333334
@@ -342,16 +343,17 @@ export async function initializeSynapse(config: Partial<SynapseSetupConfig>, log
342343 logger . info ( { event : 'synapse.init' , authMode, rpcUrl : rpcURL } , 'Initializing Synapse SDK' )
343344
344345 const synapseOptions : SynapseOptions = {
346+ ...restConfig ,
345347 rpcURL,
346348 withIpni : true , // Always filter for IPNI-enabled providers
347349 }
348- if ( config . withCDN ) {
350+ if ( withCDN ) {
349351 synapseOptions . withCDN = true
350352 }
351- if ( config . warmStorageAddress ) {
352- synapseOptions . warmStorageAddress = config . warmStorageAddress
353+ if ( warmStorageAddress ) {
354+ synapseOptions . warmStorageAddress = warmStorageAddress
353355 }
354- synapseOptions . telemetry = getTelemetryConfig ( config . telemetry )
356+ synapseOptions . telemetry = getTelemetryConfig ( telemetry )
355357
356358 let synapse : Synapse
357359
0 commit comments