@across-protocol/sdk 4.3.166-alpha.0 → 4.3.167

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.
@@ -99,6 +99,12 @@ export declare class RelayFeeCalculator {
99
99
  gasFeePercent(deposit: RelayData & {
100
100
  destinationChainId: number;
101
101
  }, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, simulateZeroFill?: boolean, relayerAddress?: Address, _tokenPrice?: number, gasPrice?: BigNumberish, gasLimit?: BigNumberish, _tokenGasCost?: BigNumberish, transport?: Transport): Promise<BigNumber>;
102
+ protected resolveAuxNativeFee(deposit: RelayData & {
103
+ destinationChainId: number;
104
+ }, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, _tokenPrice?: number): Promise<{
105
+ auxFeesInToken: BigNumber;
106
+ auxNativeFeePercent: BigNumber;
107
+ }>;
102
108
  auxNativeFeePercent(deposit: RelayData & {
103
109
  destinationChainId: number;
104
110
  }, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, _tokenPrice?: number): Promise<BigNumber>;
@@ -98,9 +98,7 @@ class RelayFeeCalculator {
98
98
  const gasFeesInToken = (0, utils_1.nativeToToken)(tokenGasCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals);
99
99
  return (0, utils_1.percent)(gasFeesInToken, outputAmount.toString());
100
100
  }
101
- async auxNativeFeePercent(deposit, outputAmount, outputTokenInfo, _tokenPrice) {
102
- if ((0, utils_1.toBN)(outputAmount).eq(utils_1.bnZero))
103
- return utils_1.MAX_BIG_INT;
101
+ async resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, _tokenPrice) {
104
102
  let auxNativeCost = utils_1.bnZero;
105
103
  try {
106
104
  auxNativeCost = this.queries.getAuxiliaryNativeTokenCost(deposit);
@@ -116,8 +114,15 @@ class RelayFeeCalculator {
116
114
  throw error;
117
115
  }
118
116
  const tokenPrice = await this.resolveTokenPrice(outputTokenInfo, _tokenPrice, deposit);
119
- const auxFeesInToken = (0, utils_1.nativeToToken)(auxNativeCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals);
120
- return (0, utils_1.percent)(auxFeesInToken, outputAmount);
117
+ const auxFeesInToken = (0, utils_1.toBN)((0, utils_1.nativeToToken)(auxNativeCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals));
118
+ const auxNativeFeePercent = (0, utils_1.toBN)(outputAmount).eq(utils_1.bnZero) ? utils_1.MAX_BIG_INT : (0, utils_1.percent)(auxFeesInToken, outputAmount);
119
+ return { auxFeesInToken, auxNativeFeePercent };
120
+ }
121
+ async auxNativeFeePercent(deposit, outputAmount, outputTokenInfo, _tokenPrice) {
122
+ if ((0, utils_1.toBN)(outputAmount).eq(utils_1.bnZero))
123
+ return utils_1.MAX_BIG_INT;
124
+ const { auxNativeFeePercent } = await this.resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, _tokenPrice);
125
+ return auxNativeFeePercent;
121
126
  }
122
127
  capitalFeePercent(_outputAmount, _tokenSymbol, _originRoute, _destinationRoute) {
123
128
  if ((0, utils_1.toBN)(_outputAmount).eq((0, utils_1.toBN)(0)))
@@ -218,23 +223,23 @@ class RelayFeeCalculator {
218
223
  const gasFeeTotal = gasFeePercent.mul(outToInDecimals(outputAmount.toString())).div(utils_1.fixedPointAdjustment);
219
224
  const capitalFeePercent = this.capitalFeePercent(outputAmount, inputTokenInfo.symbol, deposit.originChainId.toString(), deposit.destinationChainId.toString());
220
225
  const capitalFeeTotal = capitalFeePercent.mul(outToInDecimals(outputAmount.toString())).div(utils_1.fixedPointAdjustment);
221
- const auxNativeFeePercent = await this.auxNativeFeePercent(deposit, outputAmount, outputTokenInfo, tokenPrice);
226
+ const { auxFeesInToken, auxNativeFeePercent } = await this.resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, tokenPrice);
227
+ const auxFeesInInputDecimals = (0, utils_1.toBN)(outToInDecimals(auxFeesInToken.toString()));
222
228
  const auxNativeFeeTotal = auxNativeFeePercent
223
229
  .mul(outToInDecimals(outputAmount.toString()))
224
230
  .div(utils_1.fixedPointAdjustment);
225
231
  const auxNativeDiscountPercent = this.gasDiscountPercent;
226
232
  const relayFeePercent = gasFeePercent.add(capitalFeePercent).add(auxNativeFeePercent);
227
233
  const relayFeeTotal = gasFeeTotal.add(capitalFeeTotal).add(auxNativeFeeTotal);
228
- const maxGasFeePercent = (0, utils_1.max)((0, utils_1.toBNWei)(this.feeLimitPercent / 100)
229
- .sub(capitalFeePercent)
230
- .sub(auxNativeFeePercent), (0, utils_1.toBN)(0));
234
+ const maxGasFeePercent = (0, utils_1.max)((0, utils_1.toBNWei)(this.feeLimitPercent).div(100).sub(capitalFeePercent).sub(auxNativeFeePercent), utils_1.bnZero);
235
+ const minDepositBudget = (0, utils_1.max)((0, utils_1.toBNWei)(this.feeLimitPercent).div(100).sub(capitalFeePercent), utils_1.bnZero);
231
236
  let minDeposit, isAmountTooLow;
232
- if (maxGasFeePercent.eq((0, utils_1.toBN)(0))) {
237
+ if (minDepositBudget.eq(utils_1.bnZero)) {
233
238
  minDeposit = utils_1.MAX_BIG_INT;
234
239
  isAmountTooLow = true;
235
240
  }
236
241
  else {
237
- minDeposit = gasFeeTotal.mul(utils_1.fixedPointAdjustment).div(maxGasFeePercent);
242
+ minDeposit = gasFeeTotal.add(auxFeesInInputDecimals).mul(utils_1.fixedPointAdjustment).div(minDepositBudget);
238
243
  isAmountTooLow = (0, utils_1.toBN)(outputAmount).lt(minDeposit);
239
244
  }
240
245
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
@@ -137,6 +137,20 @@ export declare class RelayFeeCalculator {
137
137
  gasFeePercent(deposit: RelayData & {
138
138
  destinationChainId: number;
139
139
  }, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, simulateZeroFill?: boolean, relayerAddress?: Address, _tokenPrice?: number, gasPrice?: BigNumberish, gasLimit?: BigNumberish, _tokenGasCost?: BigNumberish, transport?: Transport): Promise<BigNumber>;
140
+ /**
141
+ * Resolve the auxiliary native token fee in absolute output-token units and as a
142
+ * percentage of `outputAmount`. The absolute form is amount-invariant (it depends
143
+ * only on the deposit and price), so callers reasoning about `minDeposit` should
144
+ * prefer it over the percent — the percent diverges as `outputAmount → 0`.
145
+ *
146
+ * Treats auxiliary native outlay as value forwarded to user, reported separately.
147
+ */
148
+ protected resolveAuxNativeFee(deposit: RelayData & {
149
+ destinationChainId: number;
150
+ }, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, _tokenPrice?: number): Promise<{
151
+ auxFeesInToken: BigNumber;
152
+ auxNativeFeePercent: BigNumber;
153
+ }>;
140
154
  /**
141
155
  * Calculate the auxiliary native token fee as a % of the amount to relay.
142
156
  * Treats auxiliary native outlay as value forwarded to user, reported separately.
@@ -145,12 +145,14 @@ export class RelayFeeCalculator {
145
145
  return percent(gasFeesInToken, outputAmount.toString());
146
146
  }
147
147
  /**
148
- * Calculate the auxiliary native token fee as a % of the amount to relay.
148
+ * Resolve the auxiliary native token fee in absolute output-token units and as a
149
+ * percentage of `outputAmount`. The absolute form is amount-invariant (it depends
150
+ * only on the deposit and price), so callers reasoning about `minDeposit` should
151
+ * prefer it over the percent — the percent diverges as `outputAmount → 0`.
152
+ *
149
153
  * Treats auxiliary native outlay as value forwarded to user, reported separately.
150
154
  */
151
- async auxNativeFeePercent(deposit, outputAmount, outputTokenInfo, _tokenPrice) {
152
- if (toBN(outputAmount).eq(bnZero))
153
- return MAX_BIG_INT;
155
+ async resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, _tokenPrice) {
154
156
  let auxNativeCost = bnZero;
155
157
  try {
156
158
  auxNativeCost = this.queries.getAuxiliaryNativeTokenCost(deposit);
@@ -166,8 +168,19 @@ export class RelayFeeCalculator {
166
168
  throw error;
167
169
  }
168
170
  const tokenPrice = await this.resolveTokenPrice(outputTokenInfo, _tokenPrice, deposit);
169
- const auxFeesInToken = nativeToToken(auxNativeCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals);
170
- return percent(auxFeesInToken, outputAmount);
171
+ const auxFeesInToken = toBN(nativeToToken(auxNativeCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals));
172
+ const auxNativeFeePercent = toBN(outputAmount).eq(bnZero) ? MAX_BIG_INT : percent(auxFeesInToken, outputAmount);
173
+ return { auxFeesInToken, auxNativeFeePercent };
174
+ }
175
+ /**
176
+ * Calculate the auxiliary native token fee as a % of the amount to relay.
177
+ * Treats auxiliary native outlay as value forwarded to user, reported separately.
178
+ */
179
+ async auxNativeFeePercent(deposit, outputAmount, outputTokenInfo, _tokenPrice) {
180
+ if (toBN(outputAmount).eq(bnZero))
181
+ return MAX_BIG_INT;
182
+ const { auxNativeFeePercent } = await this.resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, _tokenPrice);
183
+ return auxNativeFeePercent;
171
184
  }
172
185
  // Note: these variables are unused now, but may be needed in future versions of this function that are more complex.
173
186
  capitalFeePercent(_outputAmount, _tokenSymbol, _originRoute, _destinationRoute) {
@@ -323,31 +336,46 @@ export class RelayFeeCalculator {
323
336
  const gasFeeTotal = gasFeePercent.mul(outToInDecimals(outputAmount.toString())).div(fixedPointAdjustment);
324
337
  const capitalFeePercent = this.capitalFeePercent(outputAmount, inputTokenInfo.symbol, deposit.originChainId.toString(), deposit.destinationChainId.toString());
325
338
  const capitalFeeTotal = capitalFeePercent.mul(outToInDecimals(outputAmount.toString())).div(fixedPointAdjustment);
326
- const auxNativeFeePercent = await this.auxNativeFeePercent(deposit, outputAmount, outputTokenInfo, tokenPrice);
339
+ const { auxFeesInToken, auxNativeFeePercent } = await this.resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, tokenPrice);
340
+ const auxFeesInInputDecimals = toBN(outToInDecimals(auxFeesInToken.toString()));
327
341
  const auxNativeFeeTotal = auxNativeFeePercent
328
342
  .mul(outToInDecimals(outputAmount.toString()))
329
343
  .div(fixedPointAdjustment);
330
344
  const auxNativeDiscountPercent = this.gasDiscountPercent;
331
345
  const relayFeePercent = gasFeePercent.add(capitalFeePercent).add(auxNativeFeePercent);
332
346
  const relayFeeTotal = gasFeeTotal.add(capitalFeeTotal).add(auxNativeFeeTotal);
333
- // We don't want the relayer to incur an excessive gas fee charge as a % of the deposited total. The maximum
334
- // gas fee % charged is equal to the remaining fee % leftover after subtracting the capital fee % and aux fee %
335
- // from the fee limit %. We then compute the minimum deposited amount required to not exceed the maximum
336
- // gas fee %: maxGasFeePercent = gasFeeTotal / minDeposit. Refactor this to figure out the minDeposit:
337
- // minDeposit = gasFeeTotal / maxGasFeePercent, and subsequently determine
338
- // isAmountTooLow = amountToRelay < minDeposit.
339
- const maxGasFeePercent = max(toBNWei(this.feeLimitPercent / 100)
340
- .sub(capitalFeePercent)
341
- .sub(auxNativeFeePercent), toBN(0));
342
- // If maxGasFee % is 0, then the min deposit should be infinite because there is no deposit amount that would
343
- // incur a non zero gas fee % charge. In this case, isAmountTooLow should always be true.
347
+ // `maxGasFeePercent` reports the remaining fee budget at the given `outputAmount`:
348
+ // what fraction of the input can still be spent on gas after capital and auxiliary
349
+ // fees are taken out. Kept in per-amount terms for backwards compatibility with
350
+ // callers that display it as a live percentage.
351
+ const maxGasFeePercent = max(toBNWei(this.feeLimitPercent).div(100).sub(capitalFeePercent).sub(auxNativeFeePercent), bnZero);
352
+ // `minDeposit` is the smallest `outputAmount` for which gas, capital, and
353
+ // auxiliary fees together stay under `feeLimitPercent`. Solving with the variable
354
+ // costs in absolute terms (gas + aux scale as constant_cost / amount; capital is
355
+ // ~constant near the bound):
356
+ //
357
+ // (gasFeeTotal + auxFeesInInputDecimals) / minDeposit + capitalFeePercent
358
+ // <= feeLimitPercent
359
+ //
360
+ // ⇒ minDeposit = (gasFeeTotal + auxFeesInInputDecimals) /
361
+ // (feeLimitPercent − capitalFeePercent)
362
+ //
363
+ // The earlier closed-form derived `minDeposit` from the per-amount
364
+ // `maxGasFeePercent`, which incorporated `auxNativeFeePercent = auxCost /
365
+ // outputAmount`. That ratio diverges as `outputAmount → 0`, pinning `minDeposit`
366
+ // to `MAX_BIG_INT` for any small simulation amount on chains with non-zero
367
+ // auxiliary cost (e.g. Tron bandwidth) — even though a real deposit would have
368
+ // been feasible. Computing it directly from absolute aux cost avoids that.
369
+ const minDepositBudget = max(toBNWei(this.feeLimitPercent).div(100).sub(capitalFeePercent), bnZero);
344
370
  let minDeposit, isAmountTooLow;
345
- if (maxGasFeePercent.eq(toBN(0))) {
371
+ if (minDepositBudget.eq(bnZero)) {
372
+ // Capital fee alone has exhausted the budget; no deposit amount can satisfy
373
+ // the limit.
346
374
  minDeposit = MAX_BIG_INT;
347
375
  isAmountTooLow = true;
348
376
  }
349
377
  else {
350
- minDeposit = gasFeeTotal.mul(fixedPointAdjustment).div(maxGasFeePercent);
378
+ minDeposit = gasFeeTotal.add(auxFeesInInputDecimals).mul(fixedPointAdjustment).div(minDepositBudget);
351
379
  isAmountTooLow = toBN(outputAmount).lt(minDeposit);
352
380
  }
353
381
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
@@ -137,6 +137,20 @@ export declare class RelayFeeCalculator {
137
137
  gasFeePercent(deposit: RelayData & {
138
138
  destinationChainId: number;
139
139
  }, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, simulateZeroFill?: boolean, relayerAddress?: Address, _tokenPrice?: number, gasPrice?: BigNumberish, gasLimit?: BigNumberish, _tokenGasCost?: BigNumberish, transport?: Transport): Promise<BigNumber>;
140
+ /**
141
+ * Resolve the auxiliary native token fee in absolute output-token units and as a
142
+ * percentage of `outputAmount`. The absolute form is amount-invariant (it depends
143
+ * only on the deposit and price), so callers reasoning about `minDeposit` should
144
+ * prefer it over the percent — the percent diverges as `outputAmount → 0`.
145
+ *
146
+ * Treats auxiliary native outlay as value forwarded to user, reported separately.
147
+ */
148
+ protected resolveAuxNativeFee(deposit: RelayData & {
149
+ destinationChainId: number;
150
+ }, outputAmount: BigNumberish, outputTokenInfo: TokenInfo, _tokenPrice?: number): Promise<{
151
+ auxFeesInToken: BigNumber;
152
+ auxNativeFeePercent: BigNumber;
153
+ }>;
140
154
  /**
141
155
  * Calculate the auxiliary native token fee as a % of the amount to relay.
142
156
  * Treats auxiliary native outlay as value forwarded to user, reported separately.
@@ -1 +1 @@
1
- {"version":3,"file":"relayFeeCalculator.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relayFeeCalculator.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@across-protocol/sdk",
3
3
  "author": "UMA Team",
4
- "version": "4.3.166-alpha.0",
4
+ "version": "4.3.167",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "repository": {
@@ -299,17 +299,19 @@ export class RelayFeeCalculator {
299
299
  }
300
300
 
301
301
  /**
302
- * Calculate the auxiliary native token fee as a % of the amount to relay.
302
+ * Resolve the auxiliary native token fee in absolute output-token units and as a
303
+ * percentage of `outputAmount`. The absolute form is amount-invariant (it depends
304
+ * only on the deposit and price), so callers reasoning about `minDeposit` should
305
+ * prefer it over the percent — the percent diverges as `outputAmount → 0`.
306
+ *
303
307
  * Treats auxiliary native outlay as value forwarded to user, reported separately.
304
308
  */
305
- async auxNativeFeePercent(
309
+ protected async resolveAuxNativeFee(
306
310
  deposit: RelayData & { destinationChainId: number },
307
311
  outputAmount: BigNumberish,
308
312
  outputTokenInfo: TokenInfo,
309
313
  _tokenPrice?: number
310
- ): Promise<BigNumber> {
311
- if (toBN(outputAmount).eq(bnZero)) return MAX_BIG_INT;
312
-
314
+ ): Promise<{ auxFeesInToken: BigNumber; auxNativeFeePercent: BigNumber }> {
313
315
  let auxNativeCost = bnZero;
314
316
  try {
315
317
  auxNativeCost = this.queries.getAuxiliaryNativeTokenCost(deposit);
@@ -325,8 +327,26 @@ export class RelayFeeCalculator {
325
327
  }
326
328
 
327
329
  const tokenPrice = await this.resolveTokenPrice(outputTokenInfo, _tokenPrice, deposit);
328
- const auxFeesInToken = nativeToToken(auxNativeCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals);
329
- return percent(auxFeesInToken, outputAmount);
330
+ const auxFeesInToken = toBN(
331
+ nativeToToken(auxNativeCost, tokenPrice, outputTokenInfo.decimals, this.nativeTokenDecimals)
332
+ );
333
+ const auxNativeFeePercent = toBN(outputAmount).eq(bnZero) ? MAX_BIG_INT : percent(auxFeesInToken, outputAmount);
334
+ return { auxFeesInToken, auxNativeFeePercent };
335
+ }
336
+
337
+ /**
338
+ * Calculate the auxiliary native token fee as a % of the amount to relay.
339
+ * Treats auxiliary native outlay as value forwarded to user, reported separately.
340
+ */
341
+ async auxNativeFeePercent(
342
+ deposit: RelayData & { destinationChainId: number },
343
+ outputAmount: BigNumberish,
344
+ outputTokenInfo: TokenInfo,
345
+ _tokenPrice?: number
346
+ ): Promise<BigNumber> {
347
+ if (toBN(outputAmount).eq(bnZero)) return MAX_BIG_INT;
348
+ const { auxNativeFeePercent } = await this.resolveAuxNativeFee(deposit, outputAmount, outputTokenInfo, _tokenPrice);
349
+ return auxNativeFeePercent;
330
350
  }
331
351
 
332
352
  // Note: these variables are unused now, but may be needed in future versions of this function that are more complex.
@@ -554,7 +574,13 @@ export class RelayFeeCalculator {
554
574
  );
555
575
  const capitalFeeTotal = capitalFeePercent.mul(outToInDecimals(outputAmount.toString())).div(fixedPointAdjustment);
556
576
 
557
- const auxNativeFeePercent = await this.auxNativeFeePercent(deposit, outputAmount, outputTokenInfo, tokenPrice);
577
+ const { auxFeesInToken, auxNativeFeePercent } = await this.resolveAuxNativeFee(
578
+ deposit,
579
+ outputAmount,
580
+ outputTokenInfo,
581
+ tokenPrice
582
+ );
583
+ const auxFeesInInputDecimals = toBN(outToInDecimals(auxFeesInToken.toString()));
558
584
  const auxNativeFeeTotal = auxNativeFeePercent
559
585
  .mul(outToInDecimals(outputAmount.toString()))
560
586
  .div(fixedPointAdjustment);
@@ -563,26 +589,41 @@ export class RelayFeeCalculator {
563
589
  const relayFeePercent = gasFeePercent.add(capitalFeePercent).add(auxNativeFeePercent);
564
590
  const relayFeeTotal = gasFeeTotal.add(capitalFeeTotal).add(auxNativeFeeTotal);
565
591
 
566
- // We don't want the relayer to incur an excessive gas fee charge as a % of the deposited total. The maximum
567
- // gas fee % charged is equal to the remaining fee % leftover after subtracting the capital fee % and aux fee %
568
- // from the fee limit %. We then compute the minimum deposited amount required to not exceed the maximum
569
- // gas fee %: maxGasFeePercent = gasFeeTotal / minDeposit. Refactor this to figure out the minDeposit:
570
- // minDeposit = gasFeeTotal / maxGasFeePercent, and subsequently determine
571
- // isAmountTooLow = amountToRelay < minDeposit.
592
+ // `maxGasFeePercent` reports the remaining fee budget at the given `outputAmount`:
593
+ // what fraction of the input can still be spent on gas after capital and auxiliary
594
+ // fees are taken out. Kept in per-amount terms for backwards compatibility with
595
+ // callers that display it as a live percentage.
572
596
  const maxGasFeePercent = max(
573
- toBNWei(this.feeLimitPercent / 100)
574
- .sub(capitalFeePercent)
575
- .sub(auxNativeFeePercent),
576
- toBN(0)
597
+ toBNWei(this.feeLimitPercent).div(100).sub(capitalFeePercent).sub(auxNativeFeePercent),
598
+ bnZero
577
599
  );
578
- // If maxGasFee % is 0, then the min deposit should be infinite because there is no deposit amount that would
579
- // incur a non zero gas fee % charge. In this case, isAmountTooLow should always be true.
600
+
601
+ // `minDeposit` is the smallest `outputAmount` for which gas, capital, and
602
+ // auxiliary fees together stay under `feeLimitPercent`. Solving with the variable
603
+ // costs in absolute terms (gas + aux scale as constant_cost / amount; capital is
604
+ // ~constant near the bound):
605
+ //
606
+ // (gasFeeTotal + auxFeesInInputDecimals) / minDeposit + capitalFeePercent
607
+ // <= feeLimitPercent
608
+ //
609
+ // ⇒ minDeposit = (gasFeeTotal + auxFeesInInputDecimals) /
610
+ // (feeLimitPercent − capitalFeePercent)
611
+ //
612
+ // The earlier closed-form derived `minDeposit` from the per-amount
613
+ // `maxGasFeePercent`, which incorporated `auxNativeFeePercent = auxCost /
614
+ // outputAmount`. That ratio diverges as `outputAmount → 0`, pinning `minDeposit`
615
+ // to `MAX_BIG_INT` for any small simulation amount on chains with non-zero
616
+ // auxiliary cost (e.g. Tron bandwidth) — even though a real deposit would have
617
+ // been feasible. Computing it directly from absolute aux cost avoids that.
618
+ const minDepositBudget = max(toBNWei(this.feeLimitPercent).div(100).sub(capitalFeePercent), bnZero);
580
619
  let minDeposit: BigNumber, isAmountTooLow: boolean;
581
- if (maxGasFeePercent.eq(toBN(0))) {
620
+ if (minDepositBudget.eq(bnZero)) {
621
+ // Capital fee alone has exhausted the budget; no deposit amount can satisfy
622
+ // the limit.
582
623
  minDeposit = MAX_BIG_INT;
583
624
  isAmountTooLow = true;
584
625
  } else {
585
- minDeposit = gasFeeTotal.mul(fixedPointAdjustment).div(maxGasFeePercent);
626
+ minDeposit = gasFeeTotal.add(auxFeesInInputDecimals).mul(fixedPointAdjustment).div(minDepositBudget);
586
627
  isAmountTooLow = toBN(outputAmount).lt(minDeposit);
587
628
  }
588
629