curvance 4.1.0 → 4.1.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolReader.d.ts","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtocolReader.d.ts","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ProtocolReader = exports.AdaptorTypes = void 0;
7
+ exports.__resetProtocolReaderCache = __resetProtocolReaderCache;
7
8
  const helpers_1 = require("../helpers");
8
9
  const ProtocolReader_json_1 = __importDefault(require("../abis/ProtocolReader.json"));
9
10
  const setup_1 = require("../setup");
@@ -94,12 +95,24 @@ function createEmptyUserData(staticMarkets) {
94
95
  })),
95
96
  };
96
97
  }
98
+ // Module-level cache: reader address → whether the new getMarketStates
99
+ // selector is deployed on that contract. Every setupChain() constructs a
100
+ // fresh ProtocolReader, so a per-instance flag would re-probe on every
101
+ // chain switch. After the retry-provider unknown-error cascade fix, one
102
+ // probe costs primary + every configured fallback RPC, making the re-probe
103
+ // observable cost rather than a silent waste.
104
+ const PROTOCOL_READER_SELECTOR_SUPPORT = new Map();
105
+ const PROTOCOL_READER_FALLBACK_WARNED = new Set();
106
+ /** Test-only: reset the module-level probe cache so tests can validate
107
+ * probe-path behavior in isolation. Not part of the public runtime API. */
108
+ function __resetProtocolReaderCache() {
109
+ PROTOCOL_READER_SELECTOR_SUPPORT.clear();
110
+ PROTOCOL_READER_FALLBACK_WARNED.clear();
111
+ }
97
112
  class ProtocolReader {
98
113
  provider;
99
114
  address;
100
115
  contract;
101
- supportsGetMarketStates = null;
102
- hasWarnedAboutMarketStatesFallback = false;
103
116
  constructor(address, provider = setup_1.setup_config.readProvider) {
104
117
  this.provider = provider;
105
118
  this.address = address;
@@ -123,8 +136,8 @@ class ProtocolReader {
123
136
  // runs the SDK (main deployment, staging, forks, local Anvil) has a
124
137
  // ProtocolReader with getMarketStates deployed. Removing it right after
125
138
  // a single deployment upgrade will break older forks and stale test envs.
126
- if (!this.hasWarnedAboutMarketStatesFallback) {
127
- this.hasWarnedAboutMarketStatesFallback = true;
139
+ if (!PROTOCOL_READER_FALLBACK_WARNED.has(this.address)) {
140
+ PROTOCOL_READER_FALLBACK_WARNED.add(this.address);
128
141
  console.warn("[ProtocolReader] getMarketStates is not available on this deployment yet. " +
129
142
  "Falling back to getDynamicMarketData + getUserData for targeted refreshes.");
130
143
  }
@@ -153,11 +166,11 @@ class ProtocolReader {
153
166
  userMarkets,
154
167
  };
155
168
  }
156
- async getAllMarketData(account = null, use_api = true) {
169
+ async getAllMarketData(account = null) {
157
170
  if (account == null || account === helpers_1.EMPTY_ADDRESS) {
158
171
  const [staticMarket, dynamicMarket] = await Promise.all([
159
- this.getStaticMarketData(use_api),
160
- this.getDynamicMarketData(use_api),
172
+ this.getStaticMarketData(),
173
+ this.getDynamicMarketData(),
161
174
  ]);
162
175
  return {
163
176
  staticMarket,
@@ -166,7 +179,7 @@ class ProtocolReader {
166
179
  };
167
180
  }
168
181
  const [staticMarket, { dynamicMarket, userData }] = await Promise.all([
169
- this.getStaticMarketData(use_api),
182
+ this.getStaticMarketData(),
170
183
  this.getAllDynamicState(account),
171
184
  ]);
172
185
  return {
@@ -183,8 +196,8 @@ class ProtocolReader {
183
196
  errorCodeHit: data[2]
184
197
  };
185
198
  }
186
- async hypotheticalRedemptionOf(account, ctoken, shares) {
187
- const data = await this.contract.hypotheticalRedemptionOf(account, ctoken.address, shares, 0n);
199
+ async hypotheticalRedemptionOf(account, ctoken, shares, bufferTime = 0n) {
200
+ const data = await this.contract.hypotheticalRedemptionOf(account, ctoken.address, shares, bufferTime);
188
201
  return {
189
202
  excess: BigInt(data[0]),
190
203
  deficit: BigInt(data[1]),
@@ -192,8 +205,8 @@ class ProtocolReader {
192
205
  priceStale: data[3]
193
206
  };
194
207
  }
195
- async hypotheticalBorrowOf(account, ctoken, assets) {
196
- const data = await this.contract.hypotheticalBorrowOf(account, ctoken.address, assets, 0n);
208
+ async hypotheticalBorrowOf(account, ctoken, assets, bufferTime = 0n) {
209
+ const data = await this.contract.hypotheticalBorrowOf(account, ctoken.address, assets, bufferTime);
197
210
  return {
198
211
  excess: BigInt(data[0]),
199
212
  deficit: BigInt(data[1]),
@@ -208,8 +221,7 @@ class ProtocolReader {
208
221
  errorCodeHit: data[1]
209
222
  };
210
223
  }
211
- async getDynamicMarketData(use_api = true) {
212
- // TODO: Implement API call
224
+ async getDynamicMarketData() {
213
225
  const data = await this.contract.getDynamicMarketData();
214
226
  return normalizeDynamicMarketData(data);
215
227
  }
@@ -225,12 +237,12 @@ class ProtocolReader {
225
237
  };
226
238
  }
227
239
  async getMarketStates(markets, account) {
228
- if (this.supportsGetMarketStates === false) {
240
+ if (PROTOCOL_READER_SELECTOR_SUPPORT.get(this.address) === false) {
229
241
  return this.getMarketStatesFallback(markets, account);
230
242
  }
231
243
  try {
232
244
  const data = await this.contract.getMarketStates(markets, account);
233
- this.supportsGetMarketStates = true;
245
+ PROTOCOL_READER_SELECTOR_SUPPORT.set(this.address, true);
234
246
  return {
235
247
  dynamicMarkets: normalizeDynamicMarketData(data.dynamicMarkets ?? data[0] ?? []),
236
248
  userMarkets: normalizeUserMarkets(data.userMarkets ?? data[1] ?? []),
@@ -240,7 +252,7 @@ class ProtocolReader {
240
252
  if (!this.isMissingGetMarketStates(error)) {
241
253
  throw error;
242
254
  }
243
- this.supportsGetMarketStates = false;
255
+ PROTOCOL_READER_SELECTOR_SUPPORT.set(this.address, false);
244
256
  return this.getMarketStatesFallback(markets, account);
245
257
  }
246
258
  }
@@ -274,8 +286,7 @@ class ProtocolReader {
274
286
  const [collateralUsd, debtUsd, collateralAssetPrice, sharePrice, debtAssetPrice, debtTokenBalance, oracleError] = await this.contract.getLeverageSnapshot(account, cToken, borrowableCToken, bufferTime);
275
287
  return { collateralUsd, debtUsd, collateralAssetPrice, sharePrice, debtAssetPrice, debtTokenBalance, oracleError };
276
288
  }
277
- async getStaticMarketData(use_api = true) {
278
- // TODO: Implement API call
289
+ async getStaticMarketData() {
279
290
  const data = await this.contract.getStaticMarketData();
280
291
  const typedData = data.map((market) => ({
281
292
  address: market._address,
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolReader.js","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtocolReader.js","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
package/dist/helpers.d.ts CHANGED
@@ -27,6 +27,90 @@ export declare function toDecimal(value: bigint, decimals: bigint): Decimal;
27
27
  export declare function toBps(value: Percentage): bigint;
28
28
  export declare function fromBpsToWad(value: bigint): bigint;
29
29
  export declare function toBigInt(value: number | Decimal, decimals: bigint): bigint;
30
+ /**
31
+ * Amplify a BPS slippage tolerance by `leverageDelta × bpsToAmplify` to
32
+ * compensate for the equity-fraction amplification that the on-chain
33
+ * `checkSlippage` modifier applies to in-op losses on leveraged operations.
34
+ *
35
+ * ## Why this exists
36
+ *
37
+ * `checkSlippage` measures loss as `(valueIn − valueOut) / equity`. On a
38
+ * leveraged swap where `valueIn = equity × L`, the same absolute loss X
39
+ * appears as `X / equity = (X / valueIn) × L` — amplified by `(L−1)` in
40
+ * (L−1)-terms. So any known per-swap loss (Curvance fee deducted before
41
+ * the swap; full-deleverage intentional overshoot) needs the contract-level
42
+ * slippage budget expanded by the amplified amount, otherwise a benign
43
+ * known loss trips the check and reverts the tx.
44
+ *
45
+ * The user's raw `slippage` budget is reserved for VARIABLE in-op losses
46
+ * (DEX impact, oracle drift) — this helper adds the DETERMINISTIC losses
47
+ * on top.
48
+ *
49
+ * ## Call sites
50
+ *
51
+ * Three sites in `CToken.ts` use this:
52
+ *
53
+ * - `leverageUp` case `'simple'`: `leverageDelta = newLeverage - 1`, `bps = feeBps`
54
+ * - `leverageDown` (simple): `leverageDelta = full ? currL - 1 : currL - newL`,
55
+ * `bps = full ? DELEVERAGE_OVERHEAD_BPS + feeBps : feeBps`
56
+ * - `depositAndLeverage` case simple: `leverageDelta = multiplier - 1`, `bps = feeBps`
57
+ *
58
+ * The `leverageDelta` and `bpsToAmplify` arguments preserve the per-site
59
+ * asymmetries: leverageUp/depositAndLeverage pass `newL - 1`; deleverage's
60
+ * full path uses `currL - 1` (the entire leverage range collapses) and its
61
+ * partial path uses `currL - newL` (only the shrunk range swaps). Full
62
+ * deleverage also adds `DELEVERAGE_OVERHEAD_BPS` on top of the fee.
63
+ *
64
+ * ## Not for
65
+ *
66
+ * - `KyberSwap.quoteAction`'s `action.slippage = userSlippage + feeBps` is
67
+ * a DIFFERENT primitive — swap-layer flat fee absorption for `_swapSafe`,
68
+ * not `(L−1)`-amplified for `checkSlippage`. Keep that in the adapter.
69
+ * - Borrow-amount sizing in `previewLeverageUp` — that's a fixed-point solve
70
+ * against LTV, not a slippage-tolerance expansion.
71
+ */
72
+ export declare function amplifyContractSlippage(baseSlippage: bigint, leverageDelta: Decimal, bpsToAmplify: bigint): bigint;
73
+ /**
74
+ * Compute the swap-layer slippage tolerance (in WAD-BPS form) for the
75
+ * `Swap.slippage` field passed through `CalldataChecker._swapSafe`.
76
+ *
77
+ * Semantics: `_swapSafe` measures `(valueIn − valueOut) / valueIn` on the
78
+ * swap leg itself — NOT equity-fraction (that's the contract-level
79
+ * `checkSlippage` modifier one layer up; see `amplifyContractSlippage`).
80
+ * When a DEX aggregator deducts a currency_in fee before executing the
81
+ * swap, the on-chain path sees `valueIn = full input` but receives only
82
+ * `valueOut = swap_out_post_fee`, so the fee appears to `_swapSafe` as
83
+ * swap slippage. Expand the tolerance here to absorb the known fee so the
84
+ * user's raw slippage budget stays reserved for variable in-op losses
85
+ * (pool-fee tier variance, DEX price impact, oracle drift).
86
+ *
87
+ * ## Symmetry across DEX aggregators
88
+ *
89
+ * Every aggregator adapter that charges `CURVANCE_FEE_BPS` via a
90
+ * currency_in deduction must route its `quoteAction` through this helper
91
+ * so the on-chain behavior is uniform. Currently used by:
92
+ *
93
+ * - `KyberSwap.quoteAction` (explicit `currency_in` + `isInBps` params)
94
+ * - `Kuru.quoteAction` (referrer-style fee deduction, per Kuru docs
95
+ * mirroring KyberSwap's currency_in semantics)
96
+ *
97
+ * An aggregator that paid fees out-of-band (e.g., signed RFQ with fill-
98
+ * price already netted) would NOT use this helper — its `_swapSafe` sees
99
+ * no fee-induced loss. Gas-rebate models (negative fee) also skip.
100
+ *
101
+ * ## Return value
102
+ *
103
+ * BPS converted to WAD form via `FormatConverter.bpsToBpsWad`. Zero input
104
+ * (both userSlippage and feeBps are zero / undefined) returns `0n` without
105
+ * the conversion — preserves the historical zero-guard behavior of both
106
+ * adapters.
107
+ *
108
+ * @param userSlippage User's slippage tolerance in BPS (e.g., 100n = 1%)
109
+ * @param feeBps Aggregator's currency_in fee in BPS (e.g., CURVANCE_FEE_BPS = 4n).
110
+ * Undefined / 0n / negative all produce no expansion.
111
+ * @returns WAD-BPS slippage for the `Swap.slippage` struct field
112
+ */
113
+ export declare function toContractSwapSlippage(userSlippage: bigint, feeBps?: bigint): bigint;
30
114
  export declare function getChainConfig(chain?: ChainRpcPrefix): import("./chains").ChainConfig;
31
115
  export declare function validateProviderAsSigner(provider: curvance_provider): curvance_signer;
32
116
  export declare function requireSigner(signer: curvance_signer | null | undefined): curvance_signer;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/helpers.js CHANGED
@@ -9,6 +9,8 @@ exports.toDecimal = toDecimal;
9
9
  exports.toBps = toBps;
10
10
  exports.fromBpsToWad = fromBpsToWad;
11
11
  exports.toBigInt = toBigInt;
12
+ exports.amplifyContractSlippage = amplifyContractSlippage;
13
+ exports.toContractSwapSlippage = toContractSwapSlippage;
12
14
  exports.getChainConfig = getChainConfig;
13
15
  exports.validateProviderAsSigner = validateProviderAsSigner;
14
16
  exports.requireSigner = requireSigner;
@@ -74,6 +76,98 @@ function fromBpsToWad(value) {
74
76
  function toBigInt(value, decimals) {
75
77
  return FormatConverter_1.default.decimalToBigInt((0, decimal_js_1.Decimal)(value), decimals);
76
78
  }
79
+ /**
80
+ * Amplify a BPS slippage tolerance by `leverageDelta × bpsToAmplify` to
81
+ * compensate for the equity-fraction amplification that the on-chain
82
+ * `checkSlippage` modifier applies to in-op losses on leveraged operations.
83
+ *
84
+ * ## Why this exists
85
+ *
86
+ * `checkSlippage` measures loss as `(valueIn − valueOut) / equity`. On a
87
+ * leveraged swap where `valueIn = equity × L`, the same absolute loss X
88
+ * appears as `X / equity = (X / valueIn) × L` — amplified by `(L−1)` in
89
+ * (L−1)-terms. So any known per-swap loss (Curvance fee deducted before
90
+ * the swap; full-deleverage intentional overshoot) needs the contract-level
91
+ * slippage budget expanded by the amplified amount, otherwise a benign
92
+ * known loss trips the check and reverts the tx.
93
+ *
94
+ * The user's raw `slippage` budget is reserved for VARIABLE in-op losses
95
+ * (DEX impact, oracle drift) — this helper adds the DETERMINISTIC losses
96
+ * on top.
97
+ *
98
+ * ## Call sites
99
+ *
100
+ * Three sites in `CToken.ts` use this:
101
+ *
102
+ * - `leverageUp` case `'simple'`: `leverageDelta = newLeverage - 1`, `bps = feeBps`
103
+ * - `leverageDown` (simple): `leverageDelta = full ? currL - 1 : currL - newL`,
104
+ * `bps = full ? DELEVERAGE_OVERHEAD_BPS + feeBps : feeBps`
105
+ * - `depositAndLeverage` case simple: `leverageDelta = multiplier - 1`, `bps = feeBps`
106
+ *
107
+ * The `leverageDelta` and `bpsToAmplify` arguments preserve the per-site
108
+ * asymmetries: leverageUp/depositAndLeverage pass `newL - 1`; deleverage's
109
+ * full path uses `currL - 1` (the entire leverage range collapses) and its
110
+ * partial path uses `currL - newL` (only the shrunk range swaps). Full
111
+ * deleverage also adds `DELEVERAGE_OVERHEAD_BPS` on top of the fee.
112
+ *
113
+ * ## Not for
114
+ *
115
+ * - `KyberSwap.quoteAction`'s `action.slippage = userSlippage + feeBps` is
116
+ * a DIFFERENT primitive — swap-layer flat fee absorption for `_swapSafe`,
117
+ * not `(L−1)`-amplified for `checkSlippage`. Keep that in the adapter.
118
+ * - Borrow-amount sizing in `previewLeverageUp` — that's a fixed-point solve
119
+ * against LTV, not a slippage-tolerance expansion.
120
+ */
121
+ function amplifyContractSlippage(baseSlippage, leverageDelta, bpsToAmplify) {
122
+ if (bpsToAmplify === 0n)
123
+ return baseSlippage;
124
+ const expansion = leverageDelta.mul(Number(bpsToAmplify)).ceil().toFixed(0);
125
+ return baseSlippage + BigInt(expansion);
126
+ }
127
+ /**
128
+ * Compute the swap-layer slippage tolerance (in WAD-BPS form) for the
129
+ * `Swap.slippage` field passed through `CalldataChecker._swapSafe`.
130
+ *
131
+ * Semantics: `_swapSafe` measures `(valueIn − valueOut) / valueIn` on the
132
+ * swap leg itself — NOT equity-fraction (that's the contract-level
133
+ * `checkSlippage` modifier one layer up; see `amplifyContractSlippage`).
134
+ * When a DEX aggregator deducts a currency_in fee before executing the
135
+ * swap, the on-chain path sees `valueIn = full input` but receives only
136
+ * `valueOut = swap_out_post_fee`, so the fee appears to `_swapSafe` as
137
+ * swap slippage. Expand the tolerance here to absorb the known fee so the
138
+ * user's raw slippage budget stays reserved for variable in-op losses
139
+ * (pool-fee tier variance, DEX price impact, oracle drift).
140
+ *
141
+ * ## Symmetry across DEX aggregators
142
+ *
143
+ * Every aggregator adapter that charges `CURVANCE_FEE_BPS` via a
144
+ * currency_in deduction must route its `quoteAction` through this helper
145
+ * so the on-chain behavior is uniform. Currently used by:
146
+ *
147
+ * - `KyberSwap.quoteAction` (explicit `currency_in` + `isInBps` params)
148
+ * - `Kuru.quoteAction` (referrer-style fee deduction, per Kuru docs
149
+ * mirroring KyberSwap's currency_in semantics)
150
+ *
151
+ * An aggregator that paid fees out-of-band (e.g., signed RFQ with fill-
152
+ * price already netted) would NOT use this helper — its `_swapSafe` sees
153
+ * no fee-induced loss. Gas-rebate models (negative fee) also skip.
154
+ *
155
+ * ## Return value
156
+ *
157
+ * BPS converted to WAD form via `FormatConverter.bpsToBpsWad`. Zero input
158
+ * (both userSlippage and feeBps are zero / undefined) returns `0n` without
159
+ * the conversion — preserves the historical zero-guard behavior of both
160
+ * adapters.
161
+ *
162
+ * @param userSlippage User's slippage tolerance in BPS (e.g., 100n = 1%)
163
+ * @param feeBps Aggregator's currency_in fee in BPS (e.g., CURVANCE_FEE_BPS = 4n).
164
+ * Undefined / 0n / negative all produce no expansion.
165
+ * @returns WAD-BPS slippage for the `Swap.slippage` struct field
166
+ */
167
+ function toContractSwapSlippage(userSlippage, feeBps) {
168
+ const effective = feeBps && feeBps > 0n ? userSlippage + feeBps : userSlippage;
169
+ return effective ? FormatConverter_1.default.bpsToBpsWad(effective) : 0n;
170
+ }
77
171
  function getChainConfig(chain = setup_1.setup_config.chain) {
78
172
  const config = chains_1.chain_config[chain];
79
173
  if (!config) {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,8 @@ declare class RetryableProvider {
63
63
  private publishDebugState;
64
64
  private recordProviderSelection;
65
65
  private recordProviderAttempt;
66
+ private static readonly CONTRACT_ERROR_PATTERNS;
67
+ private isContractError;
66
68
  private isRetryableError;
67
69
  private isReadFallbackActive;
68
70
  private getFallbackProviderLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"retry-provider.d.ts","sourceRoot":"","sources":["../src/retry-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry-provider.d.ts","sourceRoot":"","sources":["../src/retry-provider.ts"],"names":[],"mappings":"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"}
@@ -315,43 +315,50 @@ class RetryableProvider {
315
315
  }
316
316
  this.publishDebugState(state);
317
317
  }
318
- isRetryableError(error) {
319
- // First check for non-retryable smart contract errors
318
+ // Contract / user-intent errors that are deterministic chain state. These
319
+ // must never be retried on the same provider AND must never cascade to a
320
+ // fallback provider — the next provider would return the same result.
321
+ static CONTRACT_ERROR_PATTERNS = [
322
+ 'revert',
323
+ 'execution reverted',
324
+ 'transaction reverted',
325
+ 'insufficient funds',
326
+ 'gas required exceeds allowance',
327
+ 'nonce too high',
328
+ 'nonce too low',
329
+ 'replacement transaction underpriced',
330
+ 'already pending',
331
+ 'invalid opcode',
332
+ 'stack overflow',
333
+ 'stack underflow',
334
+ 'out of gas',
335
+ 'call_exception',
336
+ 'unpredictable_gas_limit',
337
+ 'invalid_argument',
338
+ 'missing_argument',
339
+ 'unexpected_argument',
340
+ 'numeric_fault',
341
+ 'user rejected',
342
+ 'user denied',
343
+ 'user cancelled',
344
+ 'action_rejected',
345
+ '4001',
346
+ ];
347
+ isContractError(error) {
320
348
  const errorMessage = error?.message?.toLowerCase() || '';
321
349
  const errorCode = error?.code?.toString() || '';
322
- // These are contract execution errors that should NOT be retried
323
- const nonRetryablePatterns = [
324
- 'revert',
325
- 'execution reverted',
326
- 'transaction reverted',
327
- 'insufficient funds',
328
- 'gas required exceeds allowance',
329
- 'nonce too high',
330
- 'nonce too low',
331
- 'replacement transaction underpriced',
332
- 'already pending',
333
- 'invalid opcode',
334
- 'stack overflow',
335
- 'stack underflow',
336
- 'out of gas',
337
- 'call_exception',
338
- 'unpredictable_gas_limit',
339
- 'invalid_argument',
340
- 'missing_argument',
341
- 'unexpected_argument',
342
- 'numeric_fault',
343
- 'user rejected',
344
- 'user denied',
345
- 'user cancelled',
346
- 'action_rejected',
347
- '4001'
348
- ];
349
- // If it's a contract execution error, don't retry
350
- const isContractError = nonRetryablePatterns.some(pattern => errorMessage.includes(pattern) || errorCode.includes(pattern));
351
- if (isContractError) {
350
+ return RetryableProvider.CONTRACT_ERROR_PATTERNS.some((pattern) => errorMessage.includes(pattern) || errorCode.includes(pattern));
351
+ }
352
+ isRetryableError(error) {
353
+ // Retry policy — only known-transient errors warrant a same-provider
354
+ // retry. Unknown error shapes are NOT retried here (re-sending the
355
+ // same payload to the same broken endpoint rarely helps), but they
356
+ // DO still advance to the fallback chain via isContractError below.
357
+ if (this.isContractError(error)) {
352
358
  return false;
353
359
  }
354
- // Now check for retryable network/RPC errors
360
+ const errorMessage = error?.message?.toLowerCase() || '';
361
+ const errorCode = error?.code?.toString() || '';
355
362
  const errorStatus = error?.response?.status?.toString() || '';
356
363
  return this.config.retryableErrors.some(retryableError => errorMessage.includes(retryableError.toLowerCase()) ||
357
364
  errorCode.includes(retryableError) ||
@@ -524,7 +531,12 @@ class RetryableProvider {
524
531
  return result;
525
532
  }
526
533
  catch (fallbackError) {
527
- if (!this.isRetryableError(fallbackError)) {
534
+ // Only deterministic contract/user errors short-circuit the
535
+ // fallback chain. Unknown transport-level errors on one
536
+ // fallback must still advance to the next configured provider
537
+ // — a malformed response or auth issue on fallback N is not
538
+ // a reason to abandon fallback N+1.
539
+ if (this.isContractError(fallbackError)) {
528
540
  throw fallbackError;
529
541
  }
530
542
  this.markFallbackFailure(state);
@@ -545,7 +557,11 @@ class RetryableProvider {
545
557
  return await this.executeWithRetry(timedPrimaryOp, context, primaryState);
546
558
  }
547
559
  catch (primaryError) {
548
- if (!this.isRetryableError(primaryError)) {
560
+ // Contract/user errors skip fallback — deterministic chain state.
561
+ // Everything else (known-retryable AND unknown transport errors)
562
+ // advances to the fallback chain so a broken primary can't block
563
+ // reads while healthy fallbacks sit idle.
564
+ if (this.isContractError(primaryError)) {
549
565
  throw primaryError;
550
566
  }
551
567
  this.primaryReadCooldownUntil = Date.now() + this.config.fallbackCooldownMs;