@paraswap/dex-lib 5.0.6 → 5.0.8-force-rfq-revert.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.
Files changed (72) hide show
  1. package/build/config.js +15 -14
  2. package/build/config.js.map +1 -1
  3. package/build/dex/bebop/bebop.d.ts +2 -2
  4. package/build/dex/bebop/bebop.js +15 -2
  5. package/build/dex/bebop/bebop.js.map +1 -1
  6. package/build/dex/cables/cables.d.ts +2 -2
  7. package/build/dex/cables/cables.js +6 -2
  8. package/build/dex/cables/cables.js.map +1 -1
  9. package/build/dex/dexalot/dexalot.d.ts +2 -2
  10. package/build/dex/dexalot/dexalot.js +6 -2
  11. package/build/dex/dexalot/dexalot.js.map +1 -1
  12. package/build/dex/fluid-dex/fluid-dex.d.ts +2 -0
  13. package/build/dex/fluid-dex/fluid-dex.js +55 -31
  14. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  15. package/build/dex/fluid-dex-lite/fluid-dex-lite-math.d.ts +2 -0
  16. package/build/dex/fluid-dex-lite/fluid-dex-lite-math.js +24 -0
  17. package/build/dex/fluid-dex-lite/fluid-dex-lite-math.js.map +1 -1
  18. package/build/dex/generic-rfq/generic-rfq.d.ts +2 -2
  19. package/build/dex/generic-rfq/generic-rfq.js +11 -2
  20. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  21. package/build/dex/hashflow/hashflow.d.ts +2 -2
  22. package/build/dex/hashflow/hashflow.js +6 -2
  23. package/build/dex/hashflow/hashflow.js.map +1 -1
  24. package/build/dex/index.js +8 -0
  25. package/build/dex/index.js.map +1 -1
  26. package/build/dex/metric/metric.js +5 -1
  27. package/build/dex/metric/metric.js.map +1 -1
  28. package/build/dex/native/native.d.ts +2 -2
  29. package/build/dex/native/native.js +8 -2
  30. package/build/dex/native/native.js.map +1 -1
  31. package/build/dex/paraswap-limit-orders/config.js +6 -0
  32. package/build/dex/paraswap-limit-orders/config.js.map +1 -1
  33. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.d.ts +2 -2
  34. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js +11 -2
  35. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js.map +1 -1
  36. package/build/dex/swaap-v2/swaap-v2.d.ts +2 -2
  37. package/build/dex/swaap-v2/swaap-v2.js +10 -2
  38. package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
  39. package/build/dex/uniswap-v3/config.js +2 -1
  40. package/build/dex/uniswap-v3/config.js.map +1 -1
  41. package/build/executor/Executor01BytecodeBuilder.d.ts +8 -0
  42. package/build/executor/Executor01BytecodeBuilder.js +160 -14
  43. package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
  44. package/build/executor/Executor02BytecodeBuilder.d.ts +22 -0
  45. package/build/executor/Executor02BytecodeBuilder.js +226 -3
  46. package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
  47. package/build/executor/ExecutorDetector.d.ts +1 -0
  48. package/build/executor/ExecutorDetector.js +14 -0
  49. package/build/executor/ExecutorDetector.js.map +1 -1
  50. package/build/executor/fallback-routes/generate.d.ts +5 -0
  51. package/build/executor/fallback-routes/generate.js +328 -0
  52. package/build/executor/fallback-routes/generate.js.map +1 -0
  53. package/build/executor/fallback-routes/scenarios.d.ts +7 -0
  54. package/build/executor/fallback-routes/scenarios.js +241 -0
  55. package/build/executor/fallback-routes/scenarios.js.map +1 -0
  56. package/build/executor/fallback-routes/types.d.ts +45 -0
  57. package/build/executor/fallback-routes/types.js +3 -0
  58. package/build/executor/fallback-routes/types.js.map +1 -0
  59. package/build/executor/types.d.ts +2 -1
  60. package/build/executor/types.js +4 -0
  61. package/build/executor/types.js.map +1 -1
  62. package/build/generic-swap-transaction-builder.d.ts +3 -1
  63. package/build/generic-swap-transaction-builder.js +176 -51
  64. package/build/generic-swap-transaction-builder.js.map +1 -1
  65. package/build/implementations/local-paraswap-sdk.d.ts +1 -0
  66. package/build/implementations/local-paraswap-sdk.js +7 -1
  67. package/build/implementations/local-paraswap-sdk.js.map +1 -1
  68. package/build/types.d.ts +3 -0
  69. package/build/utils.d.ts +1 -0
  70. package/build/utils.js +15 -1
  71. package/build/utils.js.map +1 -1
  72. package/package.json +2 -2
@@ -24,7 +24,8 @@ export declare enum SpecialDex {
24
24
  EXECUTE_VERTICAL_BRANCHING = 10,// execute vertical branching
25
25
  BUY_ON_SOLIDLY_V3 = 11,
26
26
  SWAP_ON_DEXALOT = 12,
27
- SWAP_ON_HASHFLOW = 13
27
+ SWAP_ON_HASHFLOW = 13,
28
+ REVERTABLE_FALLBACK_GROUP = 255
28
29
  }
29
30
  export declare enum Executors {
30
31
  WETH = "WETH",
@@ -31,6 +31,10 @@ var SpecialDex;
31
31
  SpecialDex[SpecialDex["BUY_ON_SOLIDLY_V3"] = 11] = "BUY_ON_SOLIDLY_V3";
32
32
  SpecialDex[SpecialDex["SWAP_ON_DEXALOT"] = 12] = "SWAP_ON_DEXALOT";
33
33
  SpecialDex[SpecialDex["SWAP_ON_HASHFLOW"] = 13] = "SWAP_ON_HASHFLOW";
34
+ // Marks a revertable fallback group: the step's calldata payload is
35
+ // [tryLen(4)][fallbackLen(4)][try-block][fallback-block]. Executor01 runs the
36
+ // try-block in a self-call and, on revert, runs the fallback-block.
37
+ SpecialDex[SpecialDex["REVERTABLE_FALLBACK_GROUP"] = 255] = "REVERTABLE_FALLBACK_GROUP";
34
38
  })(SpecialDex || (exports.SpecialDex = SpecialDex = {}));
35
39
  var Executors;
36
40
  (function (Executors) {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/executor/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,IAWX;AAXD,WAAY,IAAI;IACd,8LAAwF,CAAA;IACxF,wMAA6F,CAAA;IAC7F,kIAA0D,CAAA;IAC1D,6IAA+D,CAAA;IAC/D,2IAA8D,CAAA;IAC9D,qHAAmD,CAAA;IACnD,uJAAoE,CAAA;IACpE,+HAAwD,CAAA;IACxD,uHAAoD,CAAA;IACpD,iIAAyD,CAAA;AAC3D,CAAC,EAXW,IAAI,oBAAJ,IAAI,QAWf;AAED,IAAY,UAgBX;AAhBD,WAAY,UAAU;IACpB,iDAAW,CAAA;IACX,iFAA2B,CAAA;IAC3B,yCAAyC;IACzC,yEAAuB,CAAA;IACvB,qEAAqB,CAAA;IACrB,yDAAe,CAAA;IACf,yEAAuB,CAAA;IACvB,iFAA2B,CAAA;IAC3B,mGAAoC,CAAA;IACpC,qHAA6C,CAAA;IAC7C,2EAAwB,CAAA;IACxB,wFAA+B,CAAA;IAC/B,sEAAsB,CAAA;IACtB,kEAAoB,CAAA;IACpB,oEAAqB,CAAA;AACvB,CAAC,EAhBW,UAAU,0BAAV,UAAU,QAgBrB;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,+BAAkB,CAAA;IAClB,+BAAkB,CAAA;IAClB,iCAAoB,CAAA;AACtB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAED,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,yEAAe,CAAA;IACf,yFAAuB,CAAA;IACvB,iFAAmB,CAAA;IACnB,yHAAuC,CAAA;IACvC,uIAA8C,CAAA;AAChD,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/executor/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,IAWX;AAXD,WAAY,IAAI;IACd,8LAAwF,CAAA;IACxF,wMAA6F,CAAA;IAC7F,kIAA0D,CAAA;IAC1D,6IAA+D,CAAA;IAC/D,2IAA8D,CAAA;IAC9D,qHAAmD,CAAA;IACnD,uJAAoE,CAAA;IACpE,+HAAwD,CAAA;IACxD,uHAAoD,CAAA;IACpD,iIAAyD,CAAA;AAC3D,CAAC,EAXW,IAAI,oBAAJ,IAAI,QAWf;AAED,IAAY,UAoBX;AApBD,WAAY,UAAU;IACpB,iDAAW,CAAA;IACX,iFAA2B,CAAA;IAC3B,yCAAyC;IACzC,yEAAuB,CAAA;IACvB,qEAAqB,CAAA;IACrB,yDAAe,CAAA;IACf,yEAAuB,CAAA;IACvB,iFAA2B,CAAA;IAC3B,mGAAoC,CAAA;IACpC,qHAA6C,CAAA;IAC7C,2EAAwB,CAAA;IACxB,wFAA+B,CAAA;IAC/B,sEAAsB,CAAA;IACtB,kEAAoB,CAAA;IACpB,oEAAqB,CAAA;IACrB,oEAAoE;IACpE,8EAA8E;IAC9E,oEAAoE;IACpE,uFAAgC,CAAA;AAClC,CAAC,EApBW,UAAU,0BAAV,UAAU,QAoBrB;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,+BAAkB,CAAA;IAClB,+BAAkB,CAAA;IAClB,iCAAoB,CAAA;AACtB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAED,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,yEAAe,CAAA;IACf,yFAAuB,CAAA;IACvB,iFAAmB,CAAA;IACnB,yHAAuC,CAAA;IACvC,uIAA8C,CAAA;AAChD,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B"}
@@ -72,7 +72,7 @@ export declare class GenericSwapTransactionBuilder {
72
72
  }): Promise<TxObject | (string | string[])[]>;
73
73
  private packPartnerAndFeeData;
74
74
  getExecutionContractAddress(priceRoute: OptimalRate): Address;
75
- getDexCallsParams(priceRoute: OptimalRate, routeIndex: number, swap: OptimalSwap, swapIndex: number, se: OptimalSwapExchange<any>, minMaxAmount: string, dexNeedWrapNative: boolean, executionContractAddress: string): {
75
+ getDexCallsParams(priceRoute: OptimalRate, routeIndex: number, swap: OptimalSwap, swapIndex: number, se: OptimalSwapExchange<any>, minMaxAmount: string, dexNeedWrapNative: boolean, executionContractAddress: string, forceExecutorRecipientOnEthDest?: boolean, groupPrimaryDeliversToExecutor?: boolean): {
76
76
  srcToken: Address;
77
77
  destToken: Address;
78
78
  recipient: Address;
@@ -81,6 +81,8 @@ export declare class GenericSwapTransactionBuilder {
81
81
  wethDeposit: bigint;
82
82
  wethWithdraw: bigint;
83
83
  };
84
+ private buildSingleExchangeParam;
85
+ private buildFallbackBuildParam;
84
86
  private addDexExchangeApproveParams;
85
87
  private hasAnyRouteWithEthAndDifferentNeedWrapNative;
86
88
  }
@@ -15,6 +15,7 @@ const utils_1 = require("./utils");
15
15
  const weth_1 = require("./dex/weth/weth");
16
16
  const erc20_json_1 = __importDefault(require("./abi/erc20.json"));
17
17
  const ExecutorDetector_1 = require("./executor/ExecutorDetector");
18
+ const types_1 = require("./executor/types");
18
19
  const core_1 = require("@paraswap/core");
19
20
  const { utils: { hexlify, hexConcat, hexZeroPad }, } = ethers_1.ethers;
20
21
  const REMOTE_DEX_PARAM_TIMEOUT_MS = 10_000;
@@ -98,67 +99,65 @@ class GenericSwapTransactionBuilder {
98
99
  async buildCalls(priceRoute, minMaxAmount, bytecodeBuilder, userAddress, getDexParamOptions) {
99
100
  const side = priceRoute.side;
100
101
  const rawDexParams = await Promise.all(priceRoute.bestRoute.flatMap((route, routeIndex) => route.swaps.flatMap((swap, swapIndex) => swap.swapExchanges.map(async (se) => {
101
- const newDex = this.findNewDex(se.exchange);
102
- const executorAddress = bytecodeBuilder.getAddress();
103
- let dexNeedWrapNative;
104
- let dex;
105
- if (newDex) {
106
- dexNeedWrapNative = newDex.needWrapNative;
107
- }
108
- else {
109
- dex = this.dexAdapterService.getTxBuilderDexByKey(se.exchange);
110
- dexNeedWrapNative =
111
- typeof dex.needWrapNative === 'function'
112
- ? dex.needWrapNative(priceRoute, swap, se)
113
- : dex.needWrapNative;
114
- }
115
- const { srcToken, destToken, srcAmount, destAmount, recipient, wethDeposit, wethWithdraw, } = this.getDexCallsParams(priceRoute, routeIndex, swap, swapIndex, se, minMaxAmount, dexNeedWrapNative, executorAddress);
116
- let dexParams;
117
- if (newDex) {
118
- dexParams = await this.fetchRemoteDexParam({
119
- dexKey: newDex.key,
120
- srcToken,
121
- destToken,
122
- srcAmount: side === core_1.SwapSide.BUY ? se.srcAmount : srcAmount,
123
- destAmount,
124
- recipient,
125
- data: se.data,
126
- side,
127
- executorAddress,
128
- options: getDexParamOptions,
129
- });
130
- // The local `newDexs[*].needWrapNative` is the single source of
131
- // truth: it already drove `getDexCallsParams` (and therefore
132
- // `wethDeposit`/`wethWithdraw`). Keep the executor builder in
133
- // lockstep so the wrap accounting and the bytecode wiring
134
- // can't diverge.
135
- dexParams.needWrapNative = newDex.needWrapNative;
136
- }
137
- else {
138
- dexParams = await dex.getDexParam(srcToken, destToken, side === core_1.SwapSide.BUY ? se.srcAmount : srcAmount, // in other case we would not be able to make insert from amount on Ex3
139
- destAmount, recipient, se.data, side, executorAddress, getDexParamOptions);
140
- }
141
- if (typeof dexParams.needWrapNative === 'function') {
142
- dexParams.needWrapNative = dexParams.needWrapNative(priceRoute, swap, se);
143
- }
144
- return {
145
- dexParams: dexParams,
146
- wethDeposit,
147
- wethWithdraw,
148
- };
102
+ const primary = await this.buildSingleExchangeParam(priceRoute, routeIndex, swap, swapIndex, se, minMaxAmount, bytecodeBuilder, getDexParamOptions);
103
+ // Revertable fallback alternative attached during pricing (api).
104
+ // Build it the same way as the primary so its setup (approve/wrap)
105
+ // is encoded inside the group's fallback branch.
106
+ //
107
+ // Executor01 shapes its route-level executor->Augustus forward off
108
+ // the PRIMARY's dexFuncHasRecipient (buildByteCode). When that
109
+ // primary keeps its output on the executor (=false), the fallback
110
+ // must end there too — so it is built with the executor as its
111
+ // recipient (and flagged deliversToExecutor for the balance check).
112
+ // Executor02 appends its forward per-branch from each branch's own
113
+ // param, so it needs no recipient forcing.
114
+ const groupPrimaryDeliversToExecutor = bytecodeBuilder.type === types_1.Executors.ONE &&
115
+ !primary.dexParams.dexFuncHasRecipient;
116
+ const seFallback = se.fallback;
117
+ const fallback = seFallback
118
+ ? await this.buildSingleExchangeParam(priceRoute, routeIndex, swap, swapIndex, seFallback, minMaxAmount, bytecodeBuilder, getDexParamOptions, true, // isGroupFallback — keep ETH-dest output on the executor
119
+ groupPrimaryDeliversToExecutor)
120
+ : undefined;
121
+ return { ...primary, swap, fallback };
149
122
  }))));
150
- const { exchangeParams, srcAmountWethToDeposit, destAmountWethToWithdraw } = await rawDexParams.reduce((acc, se) => {
123
+ const { exchangeParams, fallbackEntries, srcAmountWethToDeposit, destAmountWethToWithdraw, } = rawDexParams.reduce((acc, se) => {
151
124
  acc.srcAmountWethToDeposit += BigInt(se.wethDeposit);
152
125
  acc.destAmountWethToWithdraw += BigInt(se.wethWithdraw);
153
126
  acc.exchangeParams.push(se.dexParams);
127
+ if (se.fallback) {
128
+ // Count the fallback's wrap/unwrap too so the WETH deposit/withdraw
129
+ // template exists for whichever branch runs (only one executes at
130
+ // runtime; the amount is inserted dynamically per branch).
131
+ acc.srcAmountWethToDeposit += BigInt(se.fallback.wethDeposit);
132
+ acc.destAmountWethToWithdraw += BigInt(se.fallback.wethWithdraw);
133
+ acc.fallbackEntries.push({
134
+ swap: se.swap,
135
+ dexParams: se.fallback.dexParams,
136
+ });
137
+ }
138
+ else {
139
+ acc.fallbackEntries.push(undefined);
140
+ }
154
141
  return acc;
155
142
  }, {
156
143
  exchangeParams: [],
144
+ fallbackEntries: [],
157
145
  srcAmountWethToDeposit: 0n,
158
146
  destAmountWethToWithdraw: 0n,
159
147
  });
160
148
  const maybeWethCallData = this.getDepositWithdrawWethCallData(srcAmountWethToDeposit, destAmountWethToWithdraw, side, priceRoute, exchangeParams);
161
149
  const buildExchangeParams = await this.addDexExchangeApproveParams(bytecodeBuilder, priceRoute, exchangeParams, maybeWethCallData);
150
+ // Attach each fallback as a fully-built sub-param (with its own approval) so
151
+ // the Executor01 builder can encode it as a revertable group.
152
+ for (let idx = 0; idx < fallbackEntries.length; idx++) {
153
+ const entry = fallbackEntries[idx];
154
+ if (!entry)
155
+ continue;
156
+ buildExchangeParams[idx] = {
157
+ ...buildExchangeParams[idx],
158
+ fallbackParam: await this.buildFallbackBuildParam(bytecodeBuilder, entry.swap, entry.dexParams),
159
+ };
160
+ }
162
161
  return bytecodeBuilder.buildByteCode(priceRoute, buildExchangeParams, userAddress, maybeWethCallData);
163
162
  }
164
163
  async fetchRemoteDexParam(args) {
@@ -366,7 +365,11 @@ class GenericSwapTransactionBuilder {
366
365
  const bytecodeBuilder = this.executorDetector.getBytecodeBuilder(executorName);
367
366
  return bytecodeBuilder.getAddress();
368
367
  }
369
- getDexCallsParams(priceRoute, routeIndex, swap, swapIndex, se, minMaxAmount, dexNeedWrapNative, executionContractAddress) {
368
+ getDexCallsParams(priceRoute, routeIndex, swap, swapIndex, se, minMaxAmount, dexNeedWrapNative, executionContractAddress, forceExecutorRecipientOnEthDest = false,
369
+ // Executor01 group fallback whose primary keeps output on the executor
370
+ // (dexFuncHasRecipient=false): the fallback must end there too, so the
371
+ // route-level executor->Augustus forward finds the funds.
372
+ groupPrimaryDeliversToExecutor = false) {
370
373
  const wethAddress = this.dexAdapterService.dexHelper.config.data.wrappedNativeTokenAddress;
371
374
  const side = priceRoute.side;
372
375
  const isMegaSwap = priceRoute.bestRoute.length > 1;
@@ -405,7 +408,15 @@ class GenericSwapTransactionBuilder {
405
408
  destToken: _dest,
406
409
  recipient: needToWithdrawAfterSwap ||
407
410
  !isLastSwap ||
408
- priceRoute.side === core_1.SwapSide.BUY
411
+ priceRoute.side === core_1.SwapSide.BUY ||
412
+ // A revertable group's fallback on an ETH-dest hop must leave its
413
+ // output ON the executor: direct delivery to Augustus can't be
414
+ // reconciled with the try branch's end state (the post-group
415
+ // machinery would double-send the threaded amount).
416
+ (forceExecutorRecipientOnEthDest && (0, utils_1.isETHAddress)(swap.destToken)) ||
417
+ // Executor01 group fallback behind a false-recipient primary: the
418
+ // route-level forward expects the output on the executor.
419
+ groupPrimaryDeliversToExecutor
409
420
  ? executionContractAddress
410
421
  : this.dexAdapterService.dexHelper.config.data.augustusV6Address,
411
422
  srcAmount: _srcAmount,
@@ -414,6 +425,120 @@ class GenericSwapTransactionBuilder {
414
425
  wethWithdraw,
415
426
  };
416
427
  }
428
+ // Build the DexExchangeParam for a single swap exchange (resolving needWrapNative
429
+ // and the wrap/unwrap accounting). Shared by the primary swap and its revertable
430
+ // fallback alternative so both go through the exact same path.
431
+ async buildSingleExchangeParam(priceRoute, routeIndex, swap, swapIndex, se, minMaxAmount, bytecodeBuilder, getDexParamOptions, isGroupFallback = false, groupPrimaryDeliversToExecutor = false) {
432
+ const side = priceRoute.side;
433
+ const newDex = this.findNewDex(se.exchange);
434
+ const executorAddress = bytecodeBuilder.getAddress();
435
+ // TEST-ONLY safety: forceRfqRevert may only reach primaries that carry a
436
+ // fallback alternative. Never the fallback build itself, and never an RFQ
437
+ // hop without a fallback (its revert would fail the whole route for
438
+ // nothing). AMM dexes ignore the flag either way.
439
+ if (getDexParamOptions?.forceRfqRevert &&
440
+ (isGroupFallback || !se.fallback)) {
441
+ getDexParamOptions = { ...getDexParamOptions, forceRfqRevert: false };
442
+ }
443
+ let dexNeedWrapNative;
444
+ let dex;
445
+ if (newDex) {
446
+ dexNeedWrapNative = newDex.needWrapNative;
447
+ }
448
+ else {
449
+ dex = this.dexAdapterService.getTxBuilderDexByKey(se.exchange);
450
+ dexNeedWrapNative =
451
+ typeof dex.needWrapNative === 'function'
452
+ ? dex.needWrapNative(priceRoute, swap, se)
453
+ : dex.needWrapNative;
454
+ }
455
+ const { srcToken, destToken, srcAmount, destAmount, recipient, wethDeposit, wethWithdraw, } = this.getDexCallsParams(priceRoute, routeIndex, swap, swapIndex, se, minMaxAmount, dexNeedWrapNative, executorAddress, isGroupFallback, isGroupFallback && groupPrimaryDeliversToExecutor);
456
+ const callGetDexParam = async (recipientArg) => {
457
+ let params;
458
+ if (newDex) {
459
+ params = await this.fetchRemoteDexParam({
460
+ dexKey: newDex.key,
461
+ srcToken,
462
+ destToken,
463
+ srcAmount: side === core_1.SwapSide.BUY ? se.srcAmount : srcAmount,
464
+ destAmount,
465
+ recipient: recipientArg,
466
+ data: se.data,
467
+ side,
468
+ executorAddress,
469
+ options: getDexParamOptions,
470
+ });
471
+ // The local `newDexs[*].needWrapNative` is the single source of truth:
472
+ // it already drove `getDexCallsParams` (and therefore `wethDeposit`/
473
+ // `wethWithdraw`). Keep the executor builder in lockstep so the wrap
474
+ // accounting and the bytecode wiring can't diverge.
475
+ params.needWrapNative = newDex.needWrapNative;
476
+ }
477
+ else {
478
+ params = await dex.getDexParam(srcToken, destToken, side === core_1.SwapSide.BUY ? se.srcAmount : srcAmount, // in other case we would not be able to make insert from amount on Ex3
479
+ destAmount, recipientArg, se.data, side, executorAddress, getDexParamOptions);
480
+ }
481
+ if (typeof params.needWrapNative === 'function') {
482
+ params.needWrapNative = params.needWrapNative(priceRoute, swap, se);
483
+ }
484
+ return params;
485
+ };
486
+ let dexParams = await callGetDexParam(recipient);
487
+ // A needUnwrapNative fallback on a WETH-dest hop outputs raw ETH, and the
488
+ // executor's wrap-after machinery expects that ETH ON the executor — but
489
+ // whether the dex needs the unwrap treatment is only known from the
490
+ // returned param, after the recipient was already chosen. If it went to
491
+ // Augustus, re-encode with the executor as recipient; the group then ends
492
+ // the branch with an explicit WETH forward (buildRevertableGroup /
493
+ // wrapInRevertableGroup) so both branches still finish in the same state.
494
+ if (isGroupFallback &&
495
+ dexParams.needUnwrapNative &&
496
+ this.dexAdapterService.dexHelper.config.isWETH(swap.destToken) &&
497
+ recipient.toLowerCase() !== executorAddress.toLowerCase()) {
498
+ dexParams = await callGetDexParam(executorAddress);
499
+ dexParams.deliversToExecutor = true;
500
+ }
501
+ // Case C marker (Executor01): group fallback redirected to the executor
502
+ // because its primary keeps output there — the flag builders force this
503
+ // block's dest-balance check so the group threads the REAL fallback output
504
+ // to the route-level forward. Never set on primaries.
505
+ if (isGroupFallback && groupPrimaryDeliversToExecutor) {
506
+ dexParams.deliversToExecutor = true;
507
+ }
508
+ return {
509
+ dexParams: dexParams,
510
+ wethDeposit,
511
+ wethWithdraw,
512
+ };
513
+ }
514
+ // Turn a fallback DexExchangeParam into a DexExchangeBuildParam, computing its
515
+ // own approval (a distinct spender from the primary; built independently so the
516
+ // primary's approval dedup never suppresses it).
517
+ async buildFallbackBuildParam(bytecodeBuilder, swap, dexParams) {
518
+ const approveParams = bytecodeBuilder.getApprovalTokenAndTarget(swap, dexParams);
519
+ if (!approveParams) {
520
+ return { ...dexParams };
521
+ }
522
+ const spender = bytecodeBuilder.getAddress();
523
+ const [alreadyApproved] = this.skipApprovalCheck
524
+ ? [false]
525
+ : await this.dexAdapterService.dexHelper.augustusApprovals.hasApprovals(spender, [
526
+ [
527
+ approveParams.token,
528
+ approveParams.target,
529
+ !!dexParams.permit2Approval,
530
+ ],
531
+ ]);
532
+ return alreadyApproved
533
+ ? { ...dexParams }
534
+ : {
535
+ ...dexParams,
536
+ approveData: {
537
+ token: approveParams.token,
538
+ target: approveParams.target,
539
+ },
540
+ };
541
+ }
417
542
  async addDexExchangeApproveParams(bytecodeBuilder, priceRoute, dexExchangeParams, maybeWethCallData) {
418
543
  const spender = bytecodeBuilder.getAddress();
419
544
  const tokenTargetMapping = [];
@@ -1 +1 @@
1
- {"version":3,"file":"generic-swap-transaction-builder.js","sourceRoot":"","sources":["../src/generic-swap-transaction-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic-swap-transaction-builder.js","sourceRoot":"","sources":["../src/generic-swap-transaction-builder.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ export declare class LocalParaswapSDK implements IParaSwapSDK {
26
26
  dexKeys: string[];
27
27
  transactionBuilder: GenericSwapTransactionBuilder;
28
28
  transactionBuilderV5: TransactionBuilder;
29
+ skipPreProcess: boolean;
29
30
  constructor(network: number, dexKeys: string | string[], rpcUrl: string, limitOrderProvider?: DummyLimitOrderProvider);
30
31
  initializePricing(): Promise<void>;
31
32
  releaseResources(): Promise<void>;
@@ -58,6 +58,10 @@ class LocalParaswapSDK {
58
58
  dexKeys;
59
59
  transactionBuilder;
60
60
  transactionBuilderV5;
61
+ // When true, buildTransaction skips per-dex preProcessTransaction hooks.
62
+ // Lets tests hand-craft swapExchange data (e.g. a fabricated firm quote)
63
+ // without it being overwritten by a live quote fetch.
64
+ skipPreProcess = false;
61
65
  constructor(network, dexKeys, rpcUrl, limitOrderProvider) {
62
66
  this.network = network;
63
67
  this.dexHelper = new dex_helper_1.DummyDexHelper(this.network, rpcUrl);
@@ -173,7 +177,9 @@ class LocalParaswapSDK {
173
177
  // Search in dexLib dexes
174
178
  const dexLibExchange = this.pricingHelper.getDexByKey(se.exchange);
175
179
  const dex = this.dexAdapterService.getTxBuilderDexByKey(se.exchange);
176
- if (dexLibExchange && dexLibExchange.preProcessTransaction) {
180
+ if (!this.skipPreProcess &&
181
+ dexLibExchange &&
182
+ dexLibExchange.preProcessTransaction) {
177
183
  const dexNeedWrapNative = typeof dex.needWrapNative === 'function'
178
184
  ? dex.needWrapNative(priceRoute, swap, se)
179
185
  : dex.needWrapNative;
@@ -1 +1 @@
1
- {"version":3,"file":"local-paraswap-sdk.js","sourceRoot":"","sources":["../../src/implementations/local-paraswap-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-paraswap-sdk.js","sourceRoot":"","sources":["../../src/implementations/local-paraswap-sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAC5B,8CAIuB;AACvB,gEAAqC;AACrC,sDAAkD;AAClD,gCAA2C;AAQ3C,4CAA4D;AAC5D,sEAAiE;AACjE,+BAAkC;AAClC,8DAGwC;AACxC,0FAAoF;AAEpF,yCAAiD;AACjD,gEAA4D;AA6B5D,MAAM,MAAM,GAAG,EAAE,CAAC;AAElB,MAAa,gBAAgB;IAaf;IAZZ,SAAS,CAAa;IACtB,iBAAiB,CAAoB;IACrC,aAAa,CAAgB;IAC7B,OAAO,CAAW;IAClB,kBAAkB,CAAgC;IAClD,oBAAoB,CAAqB;IACzC,yEAAyE;IACzE,yEAAyE;IACzE,sDAAsD;IACtD,cAAc,GAAG,KAAK,CAAC;IAEvB,YACY,OAAe,EACzB,OAA0B,EAC1B,MAAc,EACd,kBAA4C;QAHlC,YAAO,GAAP,OAAO,CAAQ;QAKzB,IAAI,CAAC,SAAS,GAAG,IAAI,2BAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,iBAAiB,GAAG,IAAI,uBAAiB,CAC5C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,CACb,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CACpC,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,SAAS,CAAC,SAAS,CACzB,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,gEAA6B,CACzD,IAAI,CAAC,iBAAiB,EACtB,SAAS,EACT,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,wCAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE3E,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAEvD,IAAI,kBAAkB,IAAI,GAAG,YAAY,yCAAkB,EAAE,CAAC;oBAC5D,GAAG,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;gBAC9C,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,mBAAmB;gBACnB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC3E,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAW,EACX,EAAS,EACT,MAAc,EACd,IAAc,EACd,cAA8B,EAC9B,gBAA4D,EAC5D,YAAgC,EAChC,UAA8B;QAE9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACnE,MAAM,eAAe,GACnB,gBAAgB;YAChB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAC1C,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,WAAW,EACX,IAAI,CAAC,OAAO,CACb,CAAC,CAAC;QAEL,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CACxC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAC3C,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CACvD,IAAI,EACJ,EAAE,EACF,OAAO,EACP,IAAI,EACJ,WAAW,EACX,IAAI,CAAC,OAAO,EACZ,eAAe,EACf,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtE,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,CAChB,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAC9C,CAAC,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,CACjB,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAC9C,CAAC,QAAQ,EAAE,CAAC;QAEb,sCAAsC;QACtC,OAAO,CAAC,GAAG,CACT,0BAA0B,IAAI,CAAC,OAAO,KACpC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACnD,CAAC,CAAC,UAAU,CAAC,OACjB,EAAE,CACH,CAAC;QAEF,MAAM,eAAe,GAAG;YACtB,WAAW;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,SAAS;YACT,SAAS,EAAE,EAAE,CAAC,OAAO;YACrB,YAAY,EAAE,EAAE,CAAC,QAAQ;YACzB,UAAU;YACV,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,GAAG;oBACZ,KAAK,EAAE;wBACL;4BACE,QAAQ,EAAE,IAAI,CAAC,OAAO;4BACtB,WAAW,EAAE,IAAI,CAAC,QAAQ;4BAC1B,SAAS,EAAE,EAAE,CAAC,OAAO;4BACrB,YAAY,EAAE,EAAE,CAAC,QAAQ;4BACzB,aAAa,EAAE;gCACb;oCACE,QAAQ,EAAE,UAAU,CAAC,QAAQ;oCAC7B,SAAS;oCACT,UAAU;oCACV,OAAO,EAAE,GAAG;oCACZ,IAAI,EAAE,UAAU,CAAC,IAAI;oCACrB,aAAa,EAAE,UAAU,CAAC,aAAa;oCACvC,eAAe,EAAE,UAAU,CAAC,eAAe;iCAC5C;6BACF;yBACF;qBACF;iBACF;aACF;YACD,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,EAAE;YACV,IAAI;YACJ,6CAA6C;YAC7C,iEAAiE;YACjE,eAAe,EAAE,4CAA4C;YAC7D,kBAAkB,EAAE,EAAE;YACtB,oCAAoC;YACpC,+BAA+B;YAC/B,OAAO,EAAE,sBAAe,CAAC,EAAE;SAC5B,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAEvE,OAAO;YACL,GAAG,aAAa;YAChB,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,GAAG;YACZ,cAAc;YACd,UAAU,EAAE,CAAC;SACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAAuB,EACvB,YAAoB,EACpB,WAAoB;QAEpB,qCAAqC;QACrC,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAE3E,MAAM,cAAc,GAAG,IAAI,sBAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAC/D,UAAU,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI;YAC/B,CAAC,CAAC,UAAU,CAAC,UAAU;YACvB,CAAC,CAAC,UAAU,CAAC,SAAS,CACzB,CAAC;QAEF,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QACjD,MAAM,wBAAwB,GAC5B,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;QAElE,2EAA2E;QAC3E,IAAI,CAAC;YACH,UAAU,CAAC,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBACnD,KAAK,CAAC,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;oBACxC,IAAI,CAAC,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;wBAChC,yBAAyB;wBACzB,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CACnD,EAAE,CAAC,QAAQ,CACZ,CAAC;wBAEF,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CACrD,EAAE,CAAC,QAAQ,CACZ,CAAC;wBAEF,IACE,CAAC,IAAI,CAAC,cAAc;4BACpB,cAAc;4BACd,cAAc,CAAC,qBAAqB,EACpC,CAAC;4BACD,MAAM,iBAAiB,GACrB,OAAO,GAAG,CAAC,cAAc,KAAK,UAAU;gCACtC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;gCAC1C,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;4BACzB,MAAM,EAAE,SAAS,EAAE,GACjB,UAAU,CAAC,OAAO,KAAK,sBAAe,CAAC,EAAE;gCACvC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CACzC,UAAU,EACV,UAAU,EACV,IAAI,EACJ,SAAS,EACT,EAAE,EACF,YAAY,CAAC,QAAQ,EAAE,EACvB,iBAAiB,EACjB,wBAAwB,CACzB;gCACH,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CACvC,UAAU,EACV,UAAU,EACV,IAAI,EACJ,SAAS,EACT,EAAE,EACF,YAAY,CAAC,QAAQ,EAAE,EACvB,iBAAiB,EACjB,wBAAwB,CACzB,CAAC;4BAER,MAAM,QAAQ,GAAU;gCACtB,OAAO,EAAE,IAAI,CAAC,QAAQ;gCACtB,QAAQ,EAAE,IAAI,CAAC,WAAW;6BAC3B,CAAC;4BACF,MAAM,SAAS,GAAU;gCACvB,OAAO,EAAE,IAAI,CAAC,SAAS;gCACvB,QAAQ,EAAE,IAAI,CAAC,YAAY;6BAC5B,CAAC;4BAEF,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAC/B,MAAM,cAAc,CAAC,qBAAqB,CACxC,EAAE,EACF,QAAQ,EACR,SAAS,EACT,UAAU,CAAC,IAAI,EACf;gCACE,cAAc;gCACd,QAAQ,EAAE,WAAW;gCACrB,WAAW;gCACX,wBAAwB;gCACxB,cAAc,EAAE,iCAAqB,CAAC,QAAQ,CAC5C,cAAgC,CACjC;gCACD,OAAO,EAAE,UAAU,CAAC,OAAO;gCAC3B,SAAS;6BACV,CACF,CAAC;4BAEJ,QAAQ;gCACN,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ;oCACnD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;oCACzB,CAAC,CAAC,QAAQ,CAAC;4BAEf,OAAO,iBAAiB,CAAC;wBAC3B,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,CACH,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CACH,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;QAED,MAAM,SAAS,GACb,UAAU,CAAC,OAAO,KAAK,sBAAe,CAAC,EAAE;YACvC,CAAC,CAAC,IAAI,CAAC,oBAAoB;YAC3B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAE9B,OAAO,MAAM,SAAS,CAAC,KAAK,CAAC;YAC3B,UAAU;YACV,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;YACrC,WAAW;YACX,cAAc,EAAE,wBAAY;YAC5B,iBAAiB,EAAE,GAAG;YACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;YAC7B,IAAI,EAAE,IAAA,SAAI,GAAE;SACb,CAAC,CAAC;IACL,CAAC;CACF;AAhTD,4CAgTC"}
package/build/types.d.ts CHANGED
@@ -135,6 +135,7 @@ export type AdapterExchangeParam = {
135
135
  };
136
136
  export type GetDexParamOptions = {
137
137
  nowTimestampMs?: number;
138
+ forceRfqRevert?: boolean;
138
139
  };
139
140
  export type DexExchangeParam = {
140
141
  needWrapNative: boolean | NeedWrapNativeFunc;
@@ -154,6 +155,7 @@ export type DexExchangeParam = {
154
155
  insertFromAmountPos?: number;
155
156
  amountsPacked128?: boolean;
156
157
  permit2Approval?: boolean;
158
+ deliversToExecutor?: boolean;
157
159
  };
158
160
  export type DexExchangeParamWithBooleanNeedWrapNative = DexExchangeParam & {
159
161
  needWrapNative: boolean;
@@ -163,6 +165,7 @@ export type DexExchangeBuildParam = DexExchangeParamWithBooleanNeedWrapNative &
163
165
  target: Address;
164
166
  token: Address;
165
167
  };
168
+ fallbackParam?: DexExchangeBuildParam;
166
169
  };
167
170
  export type AdapterMappings = {
168
171
  [side: string]: {
package/build/utils.d.ts CHANGED
@@ -10,6 +10,7 @@ export declare const isAxiosError: (e: any) => e is AxiosError;
10
10
  export declare const isETHAddress: (address: string) => boolean;
11
11
  export declare const prependWithOx: (str: string) => string;
12
12
  export declare const uuidToBytes16: (uuid: string) => string;
13
+ export declare const corruptHexTail: (hex: string, offsetFromEnd?: number) => string;
13
14
  export declare function toUnixTimestamp(date: Date | number): number;
14
15
  export declare function convertToBasisPoints(dist: number[]): number[];
15
16
  export declare function getDexKeysWithNetwork<T>(dexConfig: DexConfigMap<T>): {
package/build/utils.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.uint256 = exports.uint128 = exports.uint64 = exports.uint32 = exports.uint16 = exports.int256 = exports.int128 = exports.int64 = exports.int32 = exports.int16 = exports.isContractAddress = exports.blockAndTryAggregate = exports.isTruthy = exports.isDestTokenTransferFeeToBeExchanged = exports.normalizeAddress = exports.isSrcTokenTransferFeeToBeExchanged = exports.Utils = exports.isSampled = exports.catchParseLogError = exports.stringify = exports.bigNumberify = exports.bigIntify = exports.uuidToBytes16 = exports.prependWithOx = exports.isETHAddress = exports.isAxiosError = void 0;
6
+ exports.uint256 = exports.uint128 = exports.uint64 = exports.uint32 = exports.uint16 = exports.int256 = exports.int128 = exports.int64 = exports.int32 = exports.int16 = exports.isContractAddress = exports.blockAndTryAggregate = exports.isTruthy = exports.isDestTokenTransferFeeToBeExchanged = exports.normalizeAddress = exports.isSrcTokenTransferFeeToBeExchanged = exports.Utils = exports.isSampled = exports.catchParseLogError = exports.stringify = exports.bigNumberify = exports.bigIntify = exports.corruptHexTail = exports.uuidToBytes16 = exports.prependWithOx = exports.isETHAddress = exports.isAxiosError = void 0;
7
7
  exports.toUnixTimestamp = toUnixTimestamp;
8
8
  exports.convertToBasisPoints = convertToBasisPoints;
9
9
  exports.getDexKeysWithNetwork = getDexKeysWithNetwork;
@@ -30,6 +30,20 @@ const prependWithOx = (str) => str.startsWith('0x') ? str : '0x' + str;
30
30
  exports.prependWithOx = prependWithOx;
31
31
  const uuidToBytes16 = (uuid) => '0x' + uuid.replace(/-/g, '');
32
32
  exports.uuidToBytes16 = uuidToBytes16;
33
+ // TEST-ONLY (staging fallback campaign, see GetDexParamOptions.forceRfqRevert):
34
+ // corrupt a hex blob in place — same length, 32 bytes at `offset` from the END
35
+ // inverted — so a maker signature (or any signed region) fails verification
36
+ // on-chain while every calldata offset stays where the builder computed it.
37
+ const corruptHexTail = (hex, offsetFromEnd = 0) => {
38
+ const raw = hex.replace(/^0x/, '');
39
+ const end = raw.length - offsetFromEnd * 2;
40
+ const start = Math.max(0, end - 64);
41
+ const flipped = raw
42
+ .slice(start, end)
43
+ .replace(/[0-9a-fA-F]/g, c => (15 - parseInt(c, 16)).toString(16));
44
+ return '0x' + raw.slice(0, start) + flipped + raw.slice(end);
45
+ };
46
+ exports.corruptHexTail = corruptHexTail;
33
47
  function toUnixTimestamp(date) {
34
48
  const timestamp = date instanceof Date ? date.getTime() : date;
35
49
  return Math.floor(timestamp / 1000);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}