@@ -144,12 +144,18 @@ export default class IExecConfig {
144144 const contractsPromise = ( async ( ) => {
145145 const { chainId } = await networkPromise ;
146146 const chainConfDefaults = await chainConfDefaultsPromise ;
147+ const resolvedHubAddress = hubAddress || chainConfDefaults . hub ;
148+ if ( ! resolvedHubAddress ) {
149+ throw new ConfigurationError (
150+ `hubAddress option not set and no default value for your chain ${ chainId } ` ,
151+ ) ;
152+ }
147153 try {
148154 return new IExecContractsClient ( {
149155 chainId,
150156 provider,
151157 signer,
152- hubAddress : hubAddress || chainConfDefaults . hub ,
158+ hubAddress : resolvedHubAddress ,
153159 useGas,
154160 confirms,
155161 isNative,
@@ -177,9 +183,7 @@ export default class IExecConfig {
177183 ) ;
178184 }
179185 const bridgedChainId =
180- bridgedNetworkConf . chainId !== undefined
181- ? bridgedNetworkConf . chainId
182- : chainConfDefaults . bridge && chainConfDefaults . bridge . bridgedChainId ;
186+ bridgedNetworkConf . chainId ?? chainConfDefaults . bridge ?. bridgedChainId ;
183187 if ( ! bridgedChainId ) {
184188 throw new ConfigurationError (
185189 `Missing chainId in bridgedNetworkConf and no default value for your chain ${ chainId } ` ,
@@ -189,30 +193,28 @@ export default class IExecConfig {
189193 allowExperimentalNetworks,
190194 } ) ;
191195 const bridgedRpcUrl =
192- bridgedNetworkConf . rpcURL !== undefined
193- ? bridgedNetworkConf . rpcURL
194- : bridgedChainConfDefaults . host ;
196+ bridgedNetworkConf . rpcURL ?? bridgedChainConfDefaults . host ;
195197 if ( ! bridgedRpcUrl ) {
196198 throw new ConfigurationError (
197199 `Missing rpcURL in bridgedNetworkConf and no default value for bridged chain ${ bridgedChainId } ` ,
198200 ) ;
199201 }
200202 const bridgedBridgeAddress =
201- bridgedNetworkConf . bridgeAddress !== undefined
202- ? bridgedNetworkConf . bridgeAddress
203- : bridgedChainConfDefaults . bridge &&
204- bridgedChainConfDefaults . bridge . contract ;
203+ bridgedNetworkConf . bridgeAddress ??
204+ bridgedChainConfDefaults . bridge ?. contract ;
205205 if ( ! bridgedBridgeAddress ) {
206206 throw new ConfigurationError (
207207 `Missing bridgeAddress in bridgedNetworkConf and no default value for bridged chain ${ bridgedChainId } ` ,
208208 ) ;
209209 }
210+ const bridgedHubAddress =
211+ bridgedNetworkConf . hubAddress ?? bridgedChainConfDefaults . hub ;
210212 const contracts = await contractsPromise ;
211213 return {
212214 chainId : bridgedChainId ,
213215 rpcURL : bridgedRpcUrl ,
214216 isNative : ! contracts . isNative ,
215- hubAddress : bridgedNetworkConf . hubAddress ,
217+ hubAddress : bridgedHubAddress ,
216218 bridgeAddress : bridgedBridgeAddress ,
217219 } ;
218220 } ) ( ) ;
@@ -223,16 +225,22 @@ export default class IExecConfig {
223225
224226 const bridgedContractsPromise = ( async ( ) => {
225227 const bridgedConf = await bridgedConfPromise ;
228+ const { hubAddress, chainId, isNative, rpcURL } = bridgedConf ;
229+ if ( ! hubAddress ) {
230+ throw new ConfigurationError (
231+ `Missing hubAddress in bridgedNetworkConf and no default value for bridged chain ${ chainId } ` ,
232+ ) ;
233+ }
226234 try {
227235 return new IExecContractsClient ( {
228- chainId : bridgedConf . chainId ,
229- provider : getReadOnlyProvider ( bridgedConf . rpcURL , {
236+ chainId,
237+ provider : getReadOnlyProvider ( rpcURL , {
230238 providers : providerOptions ,
231239 allowExperimentalNetworks,
232240 } ) ,
233- hubAddress : bridgedConf . hubAddress ,
241+ hubAddress,
234242 confirms,
235- isNative : bridgedConf . isNative ,
243+ isNative,
236244 } ) ;
237245 } catch ( err ) {
238246 throw new ConfigurationError (
0 commit comments