@hyperlane-xyz/sdk 19.8.0 → 19.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,12 @@ import { IProviderMethods, ProviderMethod } from './ProviderMethods.js';
7
7
  import { ChainMetadataWithRpcConnectionInfo, ProviderPerformResult, SmartProviderOptions } from './types.js';
8
8
  export declare function getSmartProviderErrorMessage(errorMsg: string): string;
9
9
  type HyperlaneProvider = HyperlaneEtherscanProvider | HyperlaneJsonRpcProvider;
10
+ export declare class BlockchainError extends Error {
11
+ readonly isRecoverable = false;
12
+ constructor(message: string, options?: {
13
+ cause?: Error;
14
+ });
15
+ }
10
16
  export declare class HyperlaneSmartProvider extends providers.BaseProvider implements IProviderMethods {
11
17
  readonly options?: SmartProviderOptions | undefined;
12
18
  protected logger: Logger;
@@ -33,8 +39,9 @@ export declare class HyperlaneSmartProvider extends providers.BaseProvider imple
33
39
  isHealthy(numBlocks?: number, timeoutMs?: number): Promise<boolean>;
34
40
  isExplorerProvider(p: HyperlaneProvider): p is HyperlaneEtherscanProvider;
35
41
  /**
36
- * This perform method will trigger any providers that support the method
37
- * one at a time in preferential order. If one is slow to respond, the next is triggered.
42
+ * This perform method has two phases:
43
+ * 1. Sequentially triggers providers until success or blockchain error (permanent failure)
44
+ * 2. Waits for any remaining pending provider promises to complete
38
45
  * TODO: Consider adding a quorum option that requires a certain number of providers to agree
39
46
  */
40
47
  protected performWithFallback(method: string, params: {
@@ -42,7 +49,7 @@ export declare class HyperlaneSmartProvider extends providers.BaseProvider imple
42
49
  }, providers: Array<HyperlaneEtherscanProvider | HyperlaneJsonRpcProvider>, reqId: number): Promise<any>;
43
50
  protected wrapProviderPerform(provider: HyperlaneProvider, pIndex: number, method: string, params: any, reqId: number): Promise<ProviderPerformResult>;
44
51
  protected waitForProviderSuccess(resultPromises: Promise<ProviderPerformResult>[]): Promise<ProviderPerformResult>;
45
- protected throwCombinedProviderErrors(errors: any[], fallbackMsg: string): void;
52
+ protected getCombinedProviderError(errors: any[], fallbackMsg: string): new () => Error;
46
53
  }
47
54
  export {};
48
55
  //# sourceMappingURL=SmartProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SmartProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/SmartProvider/SmartProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,SAAS,EAAS,MAAM,QAAQ,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAUpC,OAAO,EACL,aAAa,EAGb,MAAM,EACP,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,kCAAkC,EAClC,qBAAqB,EAGrB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErE;AAwBD,KAAK,iBAAiB,GAAG,0BAA0B,GAAG,wBAAwB,CAAC;AAE/E,qBAAa,sBACX,SAAQ,SAAS,CAAC,YAClB,YAAW,gBAAgB;aAcT,OAAO,CAAC;IAZ1B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAGzB,SAAgB,iBAAiB,EAAE,0BAA0B,EAAE,CAAC;IAChE,SAAgB,YAAY,EAAE,wBAAwB,EAAE,CAAC;IACzD,SAAgB,gBAAgB,EAAE,cAAc,EAAE,CAAC;IAC5C,YAAY,SAAK;gBAGtB,OAAO,EAAE,SAAS,CAAC,UAAU,EAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,cAAc,CAAC,EAAE,aAAa,EAAE,EAChB,OAAO,CAAC,kCAAsB;IAgDhD,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,uBAAuB,GAAG,IAAI;IAIhD,cAAc,IAAI,OAAO,CAAC,SAAS,CAAC;IAQpC,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IA0B9C,MAAM,CAAC,iBAAiB,CACtB,aAAa,EAAE,kCAAkC,EACjD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,sBAAsB;IAUzB,MAAM,CAAC,UAAU,CACf,OAAO,EAAE,SAAS,CAAC,UAAU,EAC7B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,oBAAoB,GAC7B,sBAAsB;IASnB,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;IAO3C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAoB5E;;;;;OAKG;IACG,SAAS,CAAC,SAAS,SAAI,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBnE,kBAAkB,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,IAAI,0BAA0B;IAIzE;;;;OAIG;cACa,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAC/B,SAAS,EAAE,KAAK,CAAC,0BAA0B,GAAG,wBAAwB,CAAC,EACvE,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC;cAmHC,mBAAmB,CACjC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,CAAC;cAmBjB,sBAAsB,CACpC,cAAc,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAAE,GAC/C,OAAO,CAAC,qBAAqB,CAAC;IA+BjC,SAAS,CAAC,2BAA2B,CACnC,MAAM,EAAE,GAAG,EAAE,EACb,WAAW,EAAE,MAAM,GAClB,IAAI;CAqCR"}
1
+ {"version":3,"file":"SmartProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/SmartProvider/SmartProvider.ts"],"names":[],"mappings":"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"}
@@ -10,24 +10,34 @@ export function getSmartProviderErrorMessage(errorMsg) {
10
10
  }
11
11
  // This is a partial list. If needed, check the full list for more: https://docs.ethers.org/v5/api/utils/logger/#errors
12
12
  const RPC_SERVER_ERRORS = [
13
- EthersError.NETWORK_ERROR,
14
- EthersError.NOT_IMPLEMENTED,
15
13
  EthersError.SERVER_ERROR,
16
14
  EthersError.TIMEOUT,
17
15
  EthersError.UNKNOWN_ERROR,
18
- EthersError.UNSUPPORTED_OPERATION,
19
16
  ];
20
17
  const RPC_BLOCKCHAIN_ERRORS = [
21
18
  EthersError.CALL_EXCEPTION,
22
19
  EthersError.INSUFFICIENT_FUNDS,
20
+ EthersError.NETWORK_ERROR,
23
21
  EthersError.NONCE_EXPIRED,
22
+ EthersError.NOT_IMPLEMENTED,
24
23
  EthersError.REPLACEMENT_UNDERPRICED,
25
24
  EthersError.TRANSACTION_REPLACED,
26
25
  EthersError.UNPREDICTABLE_GAS_LIMIT,
26
+ EthersError.UNSUPPORTED_OPERATION,
27
27
  ];
28
28
  const DEFAULT_MAX_RETRIES = 1;
29
29
  const DEFAULT_BASE_RETRY_DELAY_MS = 250; // 0.25 seconds
30
30
  const DEFAULT_STAGGER_DELAY_MS = 1000; // 1 seconds
31
+ const DEFAULT_PHASE2_WAIT_MULTIPLIER = 20;
32
+ export class BlockchainError extends Error {
33
+ isRecoverable = false;
34
+ constructor(message, options) {
35
+ super(message, options);
36
+ }
37
+ static {
38
+ this.prototype.name = this.name;
39
+ }
40
+ }
31
41
  export class HyperlaneSmartProvider extends providers.BaseProvider {
32
42
  options;
33
43
  logger;
@@ -164,82 +174,88 @@ export class HyperlaneSmartProvider extends providers.BaseProvider {
164
174
  return this.explorerProviders.includes(p);
165
175
  }
166
176
  /**
167
- * This perform method will trigger any providers that support the method
168
- * one at a time in preferential order. If one is slow to respond, the next is triggered.
177
+ * This perform method has two phases:
178
+ * 1. Sequentially triggers providers until success or blockchain error (permanent failure)
179
+ * 2. Waits for any remaining pending provider promises to complete
169
180
  * TODO: Consider adding a quorum option that requires a certain number of providers to agree
170
181
  */
171
182
  async performWithFallback(method, params, providers, reqId) {
172
183
  let pIndex = 0;
173
184
  const providerResultPromises = [];
174
185
  const providerResultErrors = [];
175
- while (true) {
176
- // Trigger the next provider in line
177
- if (pIndex < providers.length) {
178
- const provider = providers[pIndex];
179
- const isLastProvider = pIndex === providers.length - 1;
180
- // Skip the explorer provider if it's currently in a cooldown period
181
- if (this.isExplorerProvider(provider) &&
182
- provider.getQueryWaitTime() > 0 &&
183
- !isLastProvider &&
184
- method !== ProviderMethod.GetLogs // never skip GetLogs
185
- ) {
186
- pIndex += 1;
187
- continue;
188
- }
189
- const resultPromise = this.wrapProviderPerform(provider, pIndex, method, params, reqId);
190
- const timeoutPromise = timeoutResult(this.options?.fallbackStaggerMs || DEFAULT_STAGGER_DELAY_MS);
191
- const result = await Promise.race([resultPromise, timeoutPromise]);
192
- const providerMetadata = {
193
- providerIndex: pIndex,
194
- rpcUrl: provider.getBaseUrl(),
195
- method: `${method}(${JSON.stringify(params)})`,
196
- chainId: this.network.chainId,
197
- };
198
- if (result.status === ProviderStatus.Success) {
186
+ // Phase 1: Trigger providers sequentially until success or blockchain error
187
+ providerLoop: while (pIndex < providers.length) {
188
+ const provider = providers[pIndex];
189
+ const isLastProvider = pIndex === providers.length - 1;
190
+ // Skip the explorer provider if it's currently in a cooldown period
191
+ if (this.isExplorerProvider(provider) &&
192
+ provider.getQueryWaitTime() > 0 &&
193
+ !isLastProvider &&
194
+ method !== ProviderMethod.GetLogs // never skip GetLogs
195
+ ) {
196
+ pIndex += 1;
197
+ continue;
198
+ }
199
+ const resultPromise = this.wrapProviderPerform(provider, pIndex, method, params, reqId);
200
+ const timeoutPromise = timeoutResult(this.options?.fallbackStaggerMs || DEFAULT_STAGGER_DELAY_MS);
201
+ const result = await Promise.race([resultPromise, timeoutPromise]);
202
+ const providerMetadata = {
203
+ providerIndex: pIndex,
204
+ rpcUrl: provider.getBaseUrl(),
205
+ method: `${method}(${JSON.stringify(params)})`,
206
+ chainId: this.network.chainId,
207
+ };
208
+ switch (result.status) {
209
+ case ProviderStatus.Success:
199
210
  return result.value;
200
- }
201
- else if (result.status === ProviderStatus.Timeout) {
211
+ case ProviderStatus.Timeout:
202
212
  this.logger.debug({ ...providerMetadata }, `Slow response from provider:`, isLastProvider ? '' : 'Triggering next provider.');
203
213
  providerResultPromises.push(resultPromise);
204
214
  pIndex += 1;
205
- }
206
- else if (result.status === ProviderStatus.Error) {
215
+ break;
216
+ case ProviderStatus.Error:
217
+ providerResultErrors.push(result.error);
218
+ // If this is a blockchain error, stop trying additional providers as it's a permanent failure
219
+ if (RPC_BLOCKCHAIN_ERRORS.includes(result.error?.code)) {
220
+ this.logger.debug({ ...providerMetadata }, `${result.error?.code} detected - stopping provider fallback as this is a permanent failure`);
221
+ break providerLoop;
222
+ }
207
223
  this.logger.debug({
208
224
  error: result.error,
209
225
  ...providerMetadata,
210
226
  }, `Error from provider.`, isLastProvider ? '' : 'Triggering next provider.');
211
- providerResultErrors.push(result.error);
212
227
  pIndex += 1;
213
- }
214
- else {
228
+ break;
229
+ default:
215
230
  throw new Error(`Unexpected result from provider: ${JSON.stringify(providerMetadata)}`);
216
- }
217
- // All providers already triggered, wait for one to complete or all to fail/timeout
218
231
  }
219
- else if (providerResultPromises.length > 0) {
220
- const timeoutPromise = timeoutResult(this.options?.fallbackStaggerMs || DEFAULT_STAGGER_DELAY_MS, 20);
221
- const resultPromise = this.waitForProviderSuccess(providerResultPromises);
222
- const result = await Promise.race([resultPromise, timeoutPromise]);
223
- if (result.status === ProviderStatus.Success) {
224
- return result.value;
225
- }
226
- else if (result.status === ProviderStatus.Timeout) {
227
- this.throwCombinedProviderErrors([result, ...providerResultErrors], `All providers timed out on chain ${this._network.name} for method ${method}`);
228
- }
229
- else if (result.status === ProviderStatus.Error) {
230
- this.throwCombinedProviderErrors([result.error, ...providerResultErrors], `All providers failed on chain ${this._network.name} for method ${method} and params ${JSON.stringify(params, null, 2)}`);
231
- }
232
- else {
233
- throw new Error('Unexpected result from provider');
234
- }
235
- // All providers have already failed, all hope is lost
232
+ }
233
+ // Phase 2: All providers already triggered, wait for one to complete or all to fail/timeout
234
+ // If no providers are left, all have already failed
235
+ if (providerResultPromises.length === 0) {
236
+ const CombinedError = this.getCombinedProviderError(providerResultErrors, `All providers failed on chain ${this.network.name} for method ${method} and params ${JSON.stringify(params, null, 2)}`);
237
+ throw new CombinedError();
238
+ }
239
+ // Wait for at least one provider to succeed or all to fail/timeout
240
+ const timeoutPromise = timeoutResult(this.options?.fallbackStaggerMs || DEFAULT_STAGGER_DELAY_MS, DEFAULT_PHASE2_WAIT_MULTIPLIER);
241
+ const resultPromise = this.waitForProviderSuccess(providerResultPromises);
242
+ const result = await Promise.race([resultPromise, timeoutPromise]);
243
+ switch (result.status) {
244
+ case ProviderStatus.Success:
245
+ return result.value;
246
+ case ProviderStatus.Timeout: {
247
+ const CombinedError = this.getCombinedProviderError([result, ...providerResultErrors], `All providers timed out on chain ${this.network.name} for method ${method}`);
248
+ throw new CombinedError();
236
249
  }
237
- else {
238
- this.throwCombinedProviderErrors(providerResultErrors, `All providers failed on chain ${this._network.name} for method ${method} and params ${JSON.stringify(params, null, 2)}`);
250
+ case ProviderStatus.Error: {
251
+ const CombinedError = this.getCombinedProviderError([result.error, ...providerResultErrors], `All providers failed on chain ${this.network.name} for method ${method} and params ${JSON.stringify(params, null, 2)}`);
252
+ throw new CombinedError();
239
253
  }
254
+ default:
255
+ throw new Error('Unexpected result from provider');
240
256
  }
241
257
  }
242
- // Warp for additional logging and error handling
258
+ // Wrap for additional logging and error handling
243
259
  async wrapProviderPerform(provider, pIndex, method, params, reqId) {
244
260
  try {
245
261
  if (this.options?.debug)
@@ -284,30 +300,52 @@ export class HyperlaneSmartProvider extends providers.BaseProvider {
284
300
  : new Error('Unknown error from provider'),
285
301
  };
286
302
  }
287
- throwCombinedProviderErrors(errors, fallbackMsg) {
303
+ getCombinedProviderError(errors, fallbackMsg) {
288
304
  this.logger.debug(fallbackMsg);
289
- if (errors.length === 0)
290
- throw new Error(fallbackMsg);
305
+ if (errors.length === 0) {
306
+ return class extends Error {
307
+ constructor() {
308
+ super(fallbackMsg);
309
+ }
310
+ };
311
+ }
312
+ const rpcBlockchainError = errors.find((e) => RPC_BLOCKCHAIN_ERRORS.includes(e.code));
291
313
  const rpcServerError = errors.find((e) => RPC_SERVER_ERRORS.includes(e.code));
292
314
  const timedOutError = errors.find((e) => e.status === ProviderStatus.Timeout);
293
- const rpcBlockchainError = errors.find((e) => RPC_BLOCKCHAIN_ERRORS.includes(e.code));
294
- if (rpcServerError) {
295
- throw Error(rpcServerError.error?.message ?? // Server errors sometimes will not have an error.message
296
- getSmartProviderErrorMessage(rpcServerError.code), { cause: rpcServerError });
315
+ if (rpcBlockchainError) {
316
+ // All blockchain errors are non-retryable and take priority
317
+ return class extends BlockchainError {
318
+ constructor() {
319
+ super(rpcBlockchainError.reason ?? rpcBlockchainError.code, {
320
+ cause: rpcBlockchainError,
321
+ });
322
+ }
323
+ };
297
324
  }
298
- else if (timedOutError) {
299
- throw Error(getSmartProviderErrorMessage(ProviderStatus.Timeout), {
300
- cause: timedOutError,
301
- });
325
+ else if (rpcServerError) {
326
+ return class extends Error {
327
+ constructor() {
328
+ super(rpcServerError.error?.message ?? // Server errors sometimes will not have an error.message
329
+ getSmartProviderErrorMessage(rpcServerError.code), { cause: rpcServerError });
330
+ }
331
+ };
302
332
  }
303
- else if (rpcBlockchainError) {
304
- throw Error(rpcBlockchainError.reason ?? rpcBlockchainError.code, {
305
- cause: rpcBlockchainError,
306
- });
333
+ else if (timedOutError) {
334
+ return class extends Error {
335
+ constructor() {
336
+ super(fallbackMsg, {
337
+ cause: timedOutError,
338
+ });
339
+ }
340
+ };
307
341
  }
308
342
  else {
309
343
  this.logger.error('Unhandled error case in combined provider error handler');
310
- throw Error(fallbackMsg);
344
+ return class extends Error {
345
+ constructor() {
346
+ super(fallbackMsg);
347
+ }
348
+ };
311
349
  }
312
350
  }
313
351
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SmartProvider.js","sourceRoot":"","sources":["../../../src/providers/SmartProvider/SmartProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAG5E,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,GACN,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,cAAc,GAEf,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAoB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAGL,cAAc,GAGf,MAAM,YAAY,CAAC;AAEpB,MAAM,UAAU,4BAA4B,CAAC,QAAgB;IAC3D,OAAO,GAAG,QAAQ,yJAAyJ,CAAC;AAC9K,CAAC;AAED,uHAAuH;AACvH,MAAM,iBAAiB,GAAG;IACxB,WAAW,CAAC,aAAa;IACzB,WAAW,CAAC,eAAe;IAC3B,WAAW,CAAC,YAAY;IACxB,WAAW,CAAC,OAAO;IACnB,WAAW,CAAC,aAAa;IACzB,WAAW,CAAC,qBAAqB;CAClC,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B,WAAW,CAAC,cAAc;IAC1B,WAAW,CAAC,kBAAkB;IAC9B,WAAW,CAAC,aAAa;IACzB,WAAW,CAAC,uBAAuB;IACnC,WAAW,CAAC,oBAAoB;IAChC,WAAW,CAAC,uBAAuB;CACpC,CAAC;AACF,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,2BAA2B,GAAG,GAAG,CAAC,CAAC,eAAe;AACxD,MAAM,wBAAwB,GAAG,IAAI,CAAC,CAAC,YAAY;AAInD,MAAM,OAAO,sBACX,SAAQ,SAAS,CAAC,YAAY;IAeZ;IAZR,MAAM,CAAS;IAEzB,oCAAoC;IACpB,iBAAiB,CAA+B;IAChD,YAAY,CAA6B;IACzC,gBAAgB,CAAmB;IAC5C,YAAY,GAAG,CAAC,CAAC;IAExB,YACE,OAA6B,EAC7B,OAAkB,EAClB,cAAgC,EAChB,OAA8B;QAE9C,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,YAAO,GAAP,OAAO,CAAuB;QAG9C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEnD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;YAC7B,MAAM,EAAE,iBAAiB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;SAChD,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE,MAAM;YAC7C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAExE,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,GAAG,cAAc;iBACpC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;gBACtB,IACE,CAAC,cAAc,CAAC,MAAM;oBACtB,cAAc,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,EAClD,CAAC;oBACD,MAAM,WAAW,GAAG,IAAI,0BAA0B,CAChD,cAAc,EACd,OAAO,CACR,CAAC;oBACF,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACzC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CACxB,CAAC;oBACF,OAAO,WAAW,CAAC;oBACnB,oCAAoC;gBACtC,CAAC;;oBAAM,OAAO,IAAI,CAAC;YACrB,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAmC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC5C,MAAM,WAAW,GAAG,IAAI,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACrE,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,OAAO,WAAW,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,WAAW,CAAC,KAAmC;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC;YACH,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,gCAAgC;QAChC,0JAA0J;QAC1J,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC;YACxD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBACtC,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,iBAAiB,GAAqB,IAAI,EAC5C,YAAY,GAAqB,IAAI,EACrC,oBAAoB,GAAqB,IAAI,CAAC;QAEhD,IAAI,KAAK,EAAE,aAAa,EAAE,CAAC;YACzB,6DAA6D;YAC7D,wDAAwD;YACxD,+CAA+C;YAC/C,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC;YACxC,oBAAoB,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YACnD,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,iBAAiB,CACtB,aAAiD,EACjD,OAA8B;QAE9B,MAAM,OAAO,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAC;QAC9D,OAAO,IAAI,sBAAsB,CAC/B,OAAO,EACP,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,cAAc,EAC5B,OAAO,CACR,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CACf,OAA6B,EAC7B,MAAc,EACd,OAA8B;QAE9B,OAAO,IAAI,sBAAsB,CAC/B,OAAO,EACP,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAClB,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,gFAAgF;QAChF,4EAA4E;QAC5E,8CAA8C;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,MAA+B;QAC3D,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAEpE,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACnD,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAwB,CAAC,CACtD,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,MAAM;YAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAEhC,OAAO,UAAU,CACf,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,EACzE,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAC/C,IAAI,CAAC,OAAO,EAAE,gBAAgB,IAAI,2BAA2B,CAC9D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,IAAK;QAC9C,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;gBACzC,IAAI,mBAAmB,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;oBACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;wBACvC,CAAC,IAAI,CAAC,CAAC;wBACP,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,CAAoB;QACrC,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAQ,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,mBAAmB,CACjC,MAAc,EACd,MAA+B,EAC/B,SAAuE,EACvE,KAAa;QAEb,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,sBAAsB,GAAqC,EAAE,CAAC;QACpE,MAAM,oBAAoB,GAAc,EAAE,CAAC;QAC3C,OAAO,IAAI,EAAE,CAAC;YACZ,oCAAoC;YACpC,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACnC,MAAM,cAAc,GAAG,MAAM,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEvD,oEAAoE;gBACpE,IACE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;oBACjC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC;oBAC/B,CAAC,cAAc;oBACf,MAAM,KAAK,cAAc,CAAC,OAAO,CAAC,qBAAqB;kBACvD,CAAC;oBACD,MAAM,IAAI,CAAC,CAAC;oBACZ,SAAS;gBACX,CAAC;gBAED,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAC5C,QAAQ,EACR,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,CACN,CAAC;gBACF,MAAM,cAAc,GAAG,aAAa,CAClC,IAAI,CAAC,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,CAC5D,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;gBAEnE,MAAM,gBAAgB,GAAG;oBACvB,aAAa,EAAE,MAAM;oBACrB,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE;oBAC7B,MAAM,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG;oBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;iBAC9B,CAAC;gBAEF,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC7C,OAAO,MAAM,CAAC,KAAK,CAAC;gBACtB,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;oBACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,GAAG,gBAAgB,EAAE,EACvB,8BAA8B,EAC9B,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAClD,CAAC;oBACF,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC3C,MAAM,IAAI,CAAC,CAAC;gBACd,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;oBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf;wBACE,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,GAAG,gBAAgB;qBACpB,EACD,sBAAsB,EACtB,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAClD,CAAC;oBACF,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACxC,MAAM,IAAI,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,CAAC,SAAS,CAChD,gBAAgB,CACjB,EAAE,CACJ,CAAC;gBACJ,CAAC;gBAED,mFAAmF;YACrF,CAAC;iBAAM,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,cAAc,GAAG,aAAa,CAClC,IAAI,CAAC,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,EAC3D,EAAE,CACH,CAAC;gBACF,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAC/C,sBAAsB,CACvB,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;gBAEnE,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC7C,OAAO,MAAM,CAAC,KAAK,CAAC;gBACtB,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;oBACpD,IAAI,CAAC,2BAA2B,CAC9B,CAAC,MAAM,EAAE,GAAG,oBAAoB,CAAC,EACjC,oCAAoC,IAAI,CAAC,QAAQ,CAAC,IAAI,eAAe,MAAM,EAAE,CAC9E,CAAC;gBACJ,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;oBAClD,IAAI,CAAC,2BAA2B,CAC9B,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,oBAAoB,CAAC,EACvC,iCACE,IAAI,CAAC,QAAQ,CAAC,IAChB,eAAe,MAAM,eAAe,IAAI,CAAC,SAAS,CAChD,MAAM,EACN,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACrD,CAAC;gBAED,sDAAsD;YACxD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,2BAA2B,CAC9B,oBAAoB,EACpB,iCACE,IAAI,CAAC,QAAQ,CAAC,IAChB,eAAe,MAAM,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACvC,KAAK,CAAC,mBAAmB,CACjC,QAA2B,EAC3B,MAAc,EACd,MAAc,EACd,MAAW,EACX,KAAa;QAEb,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,aAAa,MAAM,sBAAsB,MAAM,cAAc,KAAK,EAAE,CACrE,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oBAAoB,MAAM,iBAAiB,MAAM,cAAc,KAAK,EAAE,EACtE,KAAK,CACN,CAAC;YACJ,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;IAED,4EAA4E;IAClE,KAAK,CAAC,sBAAsB,CACpC,cAAgD;QAEhD,MAAM,cAAc,GAAc,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkC,CAAC;QACnE,OAAO,gBAAgB,CAAC,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAChC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,kBAAkB,CAAC,CAAC;YACzD,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAC;YAChB,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;gBAClD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,MAAM,EAAE,cAAc,CAAC,KAAK;oBAC5B,KAAK,EAAE,IAAI,KAAK,CAAC,wCAAwC,CAAC;iBAC3D,CAAC;YACJ,CAAC;QACH,CAAC;QACD,oDAAoD;QACpD,OAAO;YACL,MAAM,EAAE,cAAc,CAAC,KAAK;YAC5B,sBAAsB;YACtB,KAAK,EAAE,cAAc,CAAC,MAAM;gBAC1B,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBACnB,CAAC,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC;SAC7C,CAAC;IACJ,CAAC;IAES,2BAA2B,CACnC,MAAa,EACb,WAAmB;QAEnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QAEtD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACvC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CACnC,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,CAC3C,CAAC;QAEF,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CACvC,CAAC;QAEF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,KAAK,CACT,cAAc,CAAC,KAAK,EAAE,OAAO,IAAI,yDAAyD;gBACxF,4BAA4B,CAAC,cAAc,CAAC,IAAI,CAAC,EACnD,EAAE,KAAK,EAAE,cAAc,EAAE,CAC1B,CAAC;QACJ,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,4BAA4B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;gBAChE,KAAK,EAAE,aAAa;aACrB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,kBAAkB,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC,kBAAkB,CAAC,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE;gBAChE,KAAK,EAAE,kBAAkB;aAC1B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yDAAyD,CAC1D,CAAC;YACF,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AAED,SAAS,8BAA8B,CACrC,aAAiE;IAEjE,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,OAAO,EAAE,aAAa,CAAC,OAAiB;QACxC,6CAA6C;QAC7C,UAAU,EAAE,aAAa,CAAC,UAAU;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,YAAoB,EAAE,UAAU,GAAG,CAAC;IACzD,OAAO,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,EAAE,CACpD,UAAU,CACR,GAAG,EAAE,CACH,OAAO,CAAC;QACN,MAAM,EAAE,cAAc,CAAC,OAAO;KAC/B,CAAC,EACJ,YAAY,GAAG,UAAU,CAC1B,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SmartProvider.js","sourceRoot":"","sources":["../../../src/providers/SmartProvider/SmartProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SmartProvider.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartProvider.test.d.ts","sourceRoot":"","sources":["../../../src/providers/SmartProvider/SmartProvider.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,281 @@
1
+ import { expect } from 'chai';
2
+ import { errors as EthersError, providers } from 'ethers';
3
+ import { AllProviderMethods } from './ProviderMethods.js';
4
+ import { BlockchainError, HyperlaneSmartProvider } from './SmartProvider.js';
5
+ import { ProviderStatus } from './types.js';
6
+ // Dummy provider for testing
7
+ class MockProvider extends providers.BaseProvider {
8
+ baseUrl;
9
+ errorToThrow;
10
+ successValue;
11
+ responseDelayMs;
12
+ supportedMethods = AllProviderMethods;
13
+ called = false;
14
+ thrownError;
15
+ static success(successValue, responseDelayMs = 0) {
16
+ return new MockProvider('http://provider', undefined, successValue, responseDelayMs);
17
+ }
18
+ static error(errorToThrow, responseDelayMs = 0) {
19
+ return new MockProvider('http://provider', errorToThrow, undefined, responseDelayMs);
20
+ }
21
+ constructor(baseUrl, errorToThrow, successValue, responseDelayMs = 0) {
22
+ super({ name: 'test', chainId: 1 });
23
+ this.baseUrl = baseUrl;
24
+ this.errorToThrow = errorToThrow;
25
+ this.successValue = successValue;
26
+ this.responseDelayMs = responseDelayMs;
27
+ }
28
+ getBaseUrl() {
29
+ return this.baseUrl;
30
+ }
31
+ async perform(_method, _params, _reqId) {
32
+ this.called = true;
33
+ if (this.responseDelayMs > 0) {
34
+ await new Promise((resolve) => setTimeout(resolve, this.responseDelayMs));
35
+ }
36
+ if (this.errorToThrow) {
37
+ this.thrownError = this.errorToThrow;
38
+ throw this.errorToThrow;
39
+ }
40
+ return this.successValue ?? 'success';
41
+ }
42
+ // Required BaseProvider methods - minimal implementations
43
+ async detectNetwork() {
44
+ return { name: 'test', chainId: 1 };
45
+ }
46
+ }
47
+ class TestableSmartProvider extends HyperlaneSmartProvider {
48
+ mockProviders;
49
+ constructor(mockProviders) {
50
+ super({ chainId: 1, name: 'test' }, mockProviders.map((p) => ({ http: p.getBaseUrl() })), [], { fallbackStaggerMs: 50 });
51
+ this.mockProviders = mockProviders;
52
+ }
53
+ testGetCombinedProviderError(errors, fallbackMsg) {
54
+ return this.getCombinedProviderError(errors, fallbackMsg);
55
+ }
56
+ async simplePerform(method, reqId) {
57
+ return this.performWithFallback(method, {}, this.mockProviders, reqId);
58
+ }
59
+ }
60
+ class ProviderError extends Error {
61
+ reason;
62
+ code;
63
+ constructor(message, code) {
64
+ super(message);
65
+ this.reason = message;
66
+ this.code = code;
67
+ }
68
+ }
69
+ describe('SmartProvider', () => {
70
+ let provider;
71
+ beforeEach(() => {
72
+ provider = new TestableSmartProvider([MockProvider.success('success')]);
73
+ });
74
+ describe('getCombinedProviderError', () => {
75
+ const blockchainErrorTestCases = [
76
+ {
77
+ code: EthersError.INSUFFICIENT_FUNDS,
78
+ message: 'insufficient funds for intrinsic transaction cost',
79
+ },
80
+ {
81
+ code: EthersError.UNPREDICTABLE_GAS_LIMIT,
82
+ message: 'execution reverted: ERC20: transfer to the zero address',
83
+ },
84
+ {
85
+ code: EthersError.CALL_EXCEPTION,
86
+ message: 'execution reverted',
87
+ },
88
+ {
89
+ code: EthersError.NONCE_EXPIRED,
90
+ message: 'nonce has already been used',
91
+ },
92
+ {
93
+ code: EthersError.REPLACEMENT_UNDERPRICED,
94
+ message: 'replacement transaction underpriced',
95
+ },
96
+ {
97
+ code: EthersError.TRANSACTION_REPLACED,
98
+ message: 'transaction was replaced',
99
+ },
100
+ ];
101
+ blockchainErrorTestCases.forEach(({ code, message }) => {
102
+ it(`throws BlockchainError with isRecoverable=false for ${code}`, () => {
103
+ const error = new ProviderError(message, code);
104
+ const CombinedError = provider.testGetCombinedProviderError([error], 'Test fallback message');
105
+ const e = new CombinedError();
106
+ expect(e).to.be.instanceOf(BlockchainError);
107
+ expect(e.isRecoverable).to.equal(false);
108
+ expect(e.message).to.equal(message);
109
+ expect(e.cause).to.equal(error);
110
+ expect(e.cause.code).to.equal(code);
111
+ });
112
+ });
113
+ it('throws regular Error for SERVER_ERROR (not BlockchainError)', () => {
114
+ const error = new ProviderError('connection refused', EthersError.SERVER_ERROR);
115
+ const CombinedError = provider.testGetCombinedProviderError([error], 'Test fallback message');
116
+ const e = new CombinedError();
117
+ expect(e).to.be.instanceOf(Error);
118
+ expect(e).to.not.be.instanceOf(BlockchainError);
119
+ expect(e.isRecoverable).to.be.undefined;
120
+ expect(e.cause).to.equal(error);
121
+ expect(e.cause.code).to.equal(EthersError.SERVER_ERROR);
122
+ });
123
+ it('throws regular Error for TIMEOUT (not BlockchainError)', () => {
124
+ const error = { status: ProviderStatus.Timeout };
125
+ const CombinedError = provider.testGetCombinedProviderError([error], 'Test fallback message');
126
+ const e = new CombinedError();
127
+ expect(e).to.be.instanceOf(Error);
128
+ expect(e).to.not.be.instanceOf(BlockchainError);
129
+ expect(e.isRecoverable).to.be.undefined;
130
+ expect(e.cause).to.equal(error);
131
+ });
132
+ const mixedErrorTestCases = [
133
+ {
134
+ name: 'SERVER_ERROR',
135
+ errors: () => [
136
+ new ProviderError('connection refused', EthersError.SERVER_ERROR),
137
+ new ProviderError('execution reverted', EthersError.CALL_EXCEPTION),
138
+ ],
139
+ expectedMessage: 'execution reverted',
140
+ },
141
+ {
142
+ name: 'TIMEOUT',
143
+ errors: () => [
144
+ { status: ProviderStatus.Timeout },
145
+ new ProviderError('insufficient funds', EthersError.INSUFFICIENT_FUNDS),
146
+ ],
147
+ expectedMessage: 'insufficient funds',
148
+ },
149
+ ];
150
+ mixedErrorTestCases.forEach(({ name, errors, expectedMessage }) => {
151
+ it(`prioritizes BlockchainError when mixed with ${name}`, () => {
152
+ const [firstError, secondError] = errors();
153
+ const CombinedError = provider.testGetCombinedProviderError([firstError, secondError], 'Test fallback message');
154
+ const e = new CombinedError();
155
+ expect(e).to.be.instanceOf(BlockchainError);
156
+ expect(e.isRecoverable).to.equal(false);
157
+ expect(e.message).to.equal(expectedMessage);
158
+ expect(e.cause).to.equal(secondError);
159
+ });
160
+ });
161
+ });
162
+ describe('performWithFallback', () => {
163
+ it('returns success from first provider, second provider not called', async () => {
164
+ const provider1 = MockProvider.success('success1');
165
+ const provider2 = MockProvider.success('success2');
166
+ const provider = new TestableSmartProvider([provider1, provider2]);
167
+ const result = await provider.simplePerform('getBlockNumber', 1);
168
+ expect(result).to.deep.equal('success1');
169
+ expect(provider1.called).to.be.true;
170
+ expect(provider2.called).to.be.false;
171
+ });
172
+ it('calls second provider when first throws server error, returns success from second', async () => {
173
+ const serverError = new ProviderError('connection refused', EthersError.SERVER_ERROR);
174
+ const provider1 = MockProvider.error(serverError);
175
+ const provider2 = MockProvider.success('success2');
176
+ const provider = new TestableSmartProvider([provider1, provider2]);
177
+ const result = await provider.simplePerform('getBlockNumber', 1);
178
+ expect(result).to.deep.equal('success2');
179
+ expect(provider1.called).to.be.true;
180
+ expect(provider1.thrownError).to.equal(serverError);
181
+ expect(provider2.called).to.be.true;
182
+ });
183
+ it('calls second provider when first times out, returns success from second', async () => {
184
+ const provider1 = MockProvider.success('success1', 100);
185
+ const provider2 = MockProvider.success('success2');
186
+ const provider = new TestableSmartProvider([provider1, provider2]);
187
+ const result = await provider.simplePerform('getBlockNumber', 1);
188
+ expect(result).to.deep.equal('success2');
189
+ expect(provider1.called).to.be.true;
190
+ expect(provider2.called).to.be.true;
191
+ });
192
+ it('both providers timeout, first provider ultimately returns result (waitForProviderSuccess)', async () => {
193
+ const provider1 = MockProvider.success('success1', 120); // 120ms delay
194
+ const provider2 = MockProvider.success('success2', 200); // 200ms delay
195
+ const provider = new TestableSmartProvider([provider1, provider2]);
196
+ const result = await provider.simplePerform('getBlockNumber', 1);
197
+ expect(result).to.deep.equal('success1');
198
+ expect(provider1.called).to.be.true;
199
+ expect(provider2.called).to.be.true;
200
+ });
201
+ it('both providers throw errors, combined error is thrown', async () => {
202
+ const serverError1 = new ProviderError('connection refused 1', EthersError.SERVER_ERROR);
203
+ const serverError2 = new ProviderError('connection refused 2', EthersError.SERVER_ERROR);
204
+ const provider1 = MockProvider.error(serverError1);
205
+ const provider2 = MockProvider.error(serverError2);
206
+ const provider = new TestableSmartProvider([provider1, provider2]);
207
+ try {
208
+ await provider.simplePerform('getBlockNumber', 1);
209
+ expect.fail('Should have thrown an error');
210
+ }
211
+ catch (e) {
212
+ expect(e).to.be.instanceOf(Error);
213
+ expect(e).to.not.be.instanceOf(BlockchainError);
214
+ expect(e.isRecoverable).to.be.undefined;
215
+ expect(e.cause).to.equal(serverError1); // First error should be the cause
216
+ expect(provider1.called).to.be.true;
217
+ expect(provider1.thrownError).to.equal(serverError1);
218
+ expect(provider2.called).to.be.true;
219
+ expect(provider2.thrownError).to.equal(serverError2);
220
+ }
221
+ });
222
+ it('both providers timeout, combined timeout error is thrown', async () => {
223
+ const provider1 = MockProvider.success('success1', 2000);
224
+ const provider2 = MockProvider.success('success2', 2000);
225
+ const provider = new TestableSmartProvider([provider1, provider2]);
226
+ try {
227
+ await provider.simplePerform('getBlockNumber', 1);
228
+ expect.fail('Should have thrown an error');
229
+ }
230
+ catch (e) {
231
+ expect(e).to.be.instanceOf(Error);
232
+ expect(e).to.not.be.instanceOf(BlockchainError);
233
+ expect(e.isRecoverable).to.be.undefined;
234
+ expect(e.message).to.include('All providers timed out');
235
+ expect(provider1.called).to.be.true;
236
+ expect(provider2.called).to.be.true;
237
+ }
238
+ });
239
+ it('blockchain error stops trying additional providers immediately', async () => {
240
+ const blockchainError = new ProviderError('execution reverted', EthersError.CALL_EXCEPTION);
241
+ const provider1 = MockProvider.error(blockchainError);
242
+ const provider2 = MockProvider.success('success2');
243
+ const provider = new TestableSmartProvider([provider1, provider2]);
244
+ try {
245
+ await provider.simplePerform('getBlockNumber', 1);
246
+ expect.fail('Should have thrown an error');
247
+ }
248
+ catch (e) {
249
+ expect(e).to.be.instanceOf(BlockchainError);
250
+ expect(e.isRecoverable).to.equal(false);
251
+ expect(e.message).to.equal('execution reverted');
252
+ expect(e.cause).to.equal(blockchainError);
253
+ expect(provider1.called).to.be.true;
254
+ expect(provider1.thrownError).to.equal(blockchainError);
255
+ expect(provider2.called).to.be.false; // Key test - second provider should NOT be called
256
+ }
257
+ });
258
+ it('blockchain error takes priority over server error in actual flow', async () => {
259
+ const serverError = new ProviderError('connection refused', EthersError.SERVER_ERROR);
260
+ const blockchainError = new ProviderError('insufficient funds', EthersError.INSUFFICIENT_FUNDS);
261
+ const provider1 = MockProvider.error(serverError);
262
+ const provider2 = MockProvider.error(blockchainError);
263
+ const provider = new TestableSmartProvider([provider1, provider2]);
264
+ try {
265
+ await provider.simplePerform('getBlockNumber', 1);
266
+ expect.fail('Should have thrown an error');
267
+ }
268
+ catch (e) {
269
+ expect(e).to.be.instanceOf(BlockchainError); // Should get blockchain error, not server error
270
+ expect(e.isRecoverable).to.equal(false);
271
+ expect(e.message).to.equal('insufficient funds');
272
+ expect(e.cause).to.equal(blockchainError);
273
+ expect(provider1.called).to.be.true;
274
+ expect(provider1.thrownError).to.equal(serverError);
275
+ expect(provider2.called).to.be.true;
276
+ expect(provider2.thrownError).to.equal(blockchainError);
277
+ }
278
+ });
279
+ });
280
+ });
281
+ //# sourceMappingURL=SmartProvider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartProvider.test.js","sourceRoot":"","sources":["../../../src/providers/SmartProvider/SmartProvider.test.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export declare const WarpRouteDeployConfigSchemaErrors: {
10
10
  NO_SYNTHETIC_ONLY: string;
11
11
  };
12
12
  export declare const contractVersionMatchesDependency: (version: string) => boolean;
13
- export declare const VERSION_ERROR_MESSAGE = "Contract version must match the @hyperlane-xyz/core dependency version (10.0.2)";
13
+ export declare const VERSION_ERROR_MESSAGE = "Contract version must match the @hyperlane-xyz/core dependency version (10.0.3)";
14
14
  export declare const TokenMetadataSchema: z.ZodObject<{
15
15
  name: z.ZodString;
16
16
  symbol: z.ZodString;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/sdk",
3
3
  "description": "The official SDK for the Hyperlane Network",
4
- "version": "19.8.0",
4
+ "version": "19.9.0",
5
5
  "dependencies": {
6
6
  "@arbitrum/sdk": "^4.0.0",
7
7
  "@aws-sdk/client-s3": "^3.577.0",
@@ -9,11 +9,11 @@
9
9
  "@cosmjs/cosmwasm-stargate": "^0.32.4",
10
10
  "@cosmjs/proto-signing": "^0.32.4",
11
11
  "@cosmjs/stargate": "^0.32.4",
12
- "@hyperlane-xyz/core": "10.0.2",
13
- "@hyperlane-xyz/cosmos-sdk": "19.8.0",
14
- "@hyperlane-xyz/radix-sdk": "19.8.0",
15
- "@hyperlane-xyz/starknet-core": "19.8.0",
16
- "@hyperlane-xyz/utils": "19.8.0",
12
+ "@hyperlane-xyz/core": "10.0.3",
13
+ "@hyperlane-xyz/cosmos-sdk": "19.9.0",
14
+ "@hyperlane-xyz/radix-sdk": "19.9.0",
15
+ "@hyperlane-xyz/starknet-core": "19.9.0",
16
+ "@hyperlane-xyz/utils": "19.9.0",
17
17
  "@safe-global/api-kit": "4.0.0",
18
18
  "@safe-global/protocol-kit": "6.1.1",
19
19
  "@safe-global/safe-core-sdk-types": "5.1.0",