@paraswap/dex-lib 4.7.23 → 4.7.24

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 (153) hide show
  1. package/build/dex/idle-dao/idle-dao.d.ts +1 -0
  2. package/build/dex/idle-dao/idle-dao.js +23 -11
  3. package/build/dex/idle-dao/idle-dao.js.map +1 -1
  4. package/build/dex/maker-psm/maker-psm.d.ts +4 -41
  5. package/build/dex/maker-psm/maker-psm.js +40 -143
  6. package/build/dex/maker-psm/maker-psm.js.map +1 -1
  7. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3.d.ts +5 -0
  8. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3.js +11 -0
  9. package/build/dex/uniswap-v3/forks/pharaoh-v3/pharaoh-v3.js.map +1 -1
  10. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.d.ts +1 -4
  11. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js +0 -30
  12. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js.map +1 -1
  13. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.d.ts +7 -0
  14. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js +58 -0
  15. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js.map +1 -1
  16. package/build/executor/Executor02BytecodeBuilderMultiRoute.d.ts +101 -0
  17. package/build/executor/Executor02BytecodeBuilderMultiRoute.js +877 -0
  18. package/build/executor/Executor02BytecodeBuilderMultiRoute.js.map +1 -0
  19. package/package.json +1 -1
  20. package/build/abi/PendleRouterStatic.json +0 -19
  21. package/build/abi/apex-defi/ApexDefiFactory.abi.json +0 -1749
  22. package/build/abi/apex-defi/ApexDefiRouter.abi.json +0 -1120
  23. package/build/abi/apex-defi/ApexDefiToken.abi.json +0 -229
  24. package/build/abi/apex-defi/ApexDefiWrapper.abi.json +0 -92
  25. package/build/abi/apex-defi/ApexDefiWrapperFactory.abi.json +0 -1107
  26. package/build/abi/pangolin-v3/PangolinV3StateMulticall.abi.json +0 -796
  27. package/build/abi/pendle/pendle-deployer.abi.json +0 -520
  28. package/build/abi/pendle/pendle-oracle.abi.json +0 -413
  29. package/build/abi/ring-v2/few-wrapped-token.json +0 -587
  30. package/build/abi/ring-v2/ring-v2-factory.json +0 -125
  31. package/build/abi/ring-v2/ring-v2-pool.json +0 -461
  32. package/build/abi/ring-v2/ring-v2-router.json +0 -332
  33. package/build/abi/stabull/stabull-curve.json +0 -738
  34. package/build/abi/stabull/stabull-router.json +0 -76
  35. package/build/abi/uniswap-v4/hooks/SpotDynamicFeeManager.json +0 -26
  36. package/build/abi/uniswap-v4/hooks/SpotHook.json +0 -54
  37. package/build/abi/uniswap-v4/hooks/SpotPolicyManager.json +0 -45
  38. package/build/abi/uniswap-v4/hooks/cabalcoin-hook.abi.json +0 -682
  39. package/build/abi/uniswap-v4/hooks/fee-hook.abi.json +0 -1335
  40. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.d.ts +0 -29
  41. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js +0 -153
  42. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js.map +0 -1
  43. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.d.ts +0 -40
  44. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js +0 -323
  45. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js.map +0 -1
  46. package/build/dex/aave-pt-to-underlying/config.d.ts +0 -3
  47. package/build/dex/aave-pt-to-underlying/config.js +0 -24
  48. package/build/dex/aave-pt-to-underlying/config.js.map +0 -1
  49. package/build/dex/aave-pt-to-underlying/constants.d.ts +0 -2
  50. package/build/dex/aave-pt-to-underlying/constants.js +0 -6
  51. package/build/dex/aave-pt-to-underlying/constants.js.map +0 -1
  52. package/build/dex/aave-pt-to-underlying/types.d.ts +0 -24
  53. package/build/dex/aave-pt-to-underlying/types.js +0 -3
  54. package/build/dex/aave-pt-to-underlying/types.js.map +0 -1
  55. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.d.ts +0 -39
  56. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js +0 -244
  57. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js.map +0 -1
  58. package/build/dex/aave-pt-to-usdc/config.d.ts +0 -3
  59. package/build/dex/aave-pt-to-usdc/config.js +0 -47
  60. package/build/dex/aave-pt-to-usdc/config.js.map +0 -1
  61. package/build/dex/aave-pt-to-usdc/constants.d.ts +0 -2
  62. package/build/dex/aave-pt-to-usdc/constants.js +0 -6
  63. package/build/dex/aave-pt-to-usdc/constants.js.map +0 -1
  64. package/build/dex/aave-pt-to-usdc/types.d.ts +0 -22
  65. package/build/dex/aave-pt-to-usdc/types.js +0 -3
  66. package/build/dex/aave-pt-to-usdc/types.js.map +0 -1
  67. package/build/dex/apex-defi/apex-defi-factory.d.ts +0 -26
  68. package/build/dex/apex-defi/apex-defi-factory.js +0 -53
  69. package/build/dex/apex-defi/apex-defi-factory.js.map +0 -1
  70. package/build/dex/apex-defi/apex-defi-pool.d.ts +0 -55
  71. package/build/dex/apex-defi/apex-defi-pool.js +0 -247
  72. package/build/dex/apex-defi/apex-defi-pool.js.map +0 -1
  73. package/build/dex/apex-defi/apex-defi-wrapper-factory.d.ts +0 -57
  74. package/build/dex/apex-defi/apex-defi-wrapper-factory.js +0 -250
  75. package/build/dex/apex-defi/apex-defi-wrapper-factory.js.map +0 -1
  76. package/build/dex/apex-defi/apex-defi.d.ts +0 -97
  77. package/build/dex/apex-defi/apex-defi.js +0 -1021
  78. package/build/dex/apex-defi/apex-defi.js.map +0 -1
  79. package/build/dex/apex-defi/config.d.ts +0 -4
  80. package/build/dex/apex-defi/config.js +0 -138
  81. package/build/dex/apex-defi/config.js.map +0 -1
  82. package/build/dex/apex-defi/types.d.ts +0 -32
  83. package/build/dex/apex-defi/types.js +0 -3
  84. package/build/dex/apex-defi/types.js.map +0 -1
  85. package/build/dex/apex-defi/utils.d.ts +0 -46
  86. package/build/dex/apex-defi/utils.js +0 -133
  87. package/build/dex/apex-defi/utils.js.map +0 -1
  88. package/build/dex/miro-migrator/miro-migrator-state.d.ts +0 -27
  89. package/build/dex/miro-migrator/miro-migrator-state.js +0 -89
  90. package/build/dex/miro-migrator/miro-migrator-state.js.map +0 -1
  91. package/build/dex/stabull/config.d.ts +0 -3
  92. package/build/dex/stabull/config.js +0 -177
  93. package/build/dex/stabull/config.js.map +0 -1
  94. package/build/dex/stabull/stabull-pool.d.ts +0 -46
  95. package/build/dex/stabull/stabull-pool.js +0 -113
  96. package/build/dex/stabull/stabull-pool.js.map +0 -1
  97. package/build/dex/stabull/stabull.d.ts +0 -55
  98. package/build/dex/stabull/stabull.js +0 -286
  99. package/build/dex/stabull/stabull.js.map +0 -1
  100. package/build/dex/stabull/types.d.ts +0 -21
  101. package/build/dex/stabull/types.js +0 -3
  102. package/build/dex/stabull/types.js.map +0 -1
  103. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.d.ts +0 -4
  104. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +0 -56
  105. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +0 -1
  106. package/build/dex/uniswap-v4/hooks/arena.d.ts +0 -6
  107. package/build/dex/uniswap-v4/hooks/arena.js +0 -10
  108. package/build/dex/uniswap-v4/hooks/arena.js.map +0 -1
  109. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.d.ts +0 -0
  110. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js +0 -2
  111. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js.map +0 -1
  112. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.d.ts +0 -7
  113. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js +0 -28
  114. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js.map +0 -1
  115. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.d.ts +0 -0
  116. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js +0 -2
  117. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js.map +0 -1
  118. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.d.ts +0 -7
  119. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js +0 -28
  120. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js.map +0 -1
  121. package/build/dex/uniswap-v4/hooks/fee-hook/types.d.ts +0 -0
  122. package/build/dex/uniswap-v4/hooks/fee-hook/types.js +0 -2
  123. package/build/dex/uniswap-v4/hooks/fee-hook/types.js.map +0 -1
  124. package/build/dex/uniswap-v4/hooks/index.d.ts +0 -1
  125. package/build/dex/uniswap-v4/hooks/index.js +0 -18
  126. package/build/dex/uniswap-v4/hooks/index.js.map +0 -1
  127. package/build/dex/uniswap-v4/hooks/spot.d.ts +0 -15
  128. package/build/dex/uniswap-v4/hooks/spot.js +0 -109
  129. package/build/dex/uniswap-v4/hooks/spot.js.map +0 -1
  130. package/build/dex/uniswap-v4/hooks/template.d.ts +0 -150
  131. package/build/dex/uniswap-v4/hooks/template.js +0 -104
  132. package/build/dex/uniswap-v4/hooks/template.js.map +0 -1
  133. package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +0 -26
  134. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +0 -75
  135. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +0 -1
  136. package/build/dex/usual/usual-usdc-usdc.d.ts +0 -17
  137. package/build/dex/usual/usual-usdc-usdc.js +0 -59
  138. package/build/dex/usual/usual-usdc-usdc.js.map +0 -1
  139. package/build/dex/yo/config.d.ts +0 -3
  140. package/build/dex/yo/config.js +0 -21
  141. package/build/dex/yo/config.js.map +0 -1
  142. package/build/dex/yo/types.d.ts +0 -13
  143. package/build/dex/yo/types.js +0 -3
  144. package/build/dex/yo/types.js.map +0 -1
  145. package/build/dex/yo/yo-pool.d.ts +0 -13
  146. package/build/dex/yo/yo-pool.js +0 -26
  147. package/build/dex/yo/yo-pool.js.map +0 -1
  148. package/build/dex/yo/yo.d.ts +0 -39
  149. package/build/dex/yo/yo.js +0 -248
  150. package/build/dex/yo/yo.js.map +0 -1
  151. package/build/implementations/api-paraswap-sdk.d.ts +0 -25
  152. package/build/implementations/api-paraswap-sdk.js +0 -102
  153. package/build/implementations/api-paraswap-sdk.js.map +0 -1
@@ -7,6 +7,7 @@ import { PoolState } from '../../types';
7
7
  import { VelodromeSlipstreamEventPool } from './velodrome-slipstream-pool';
8
8
  import { UniswapV3EventPool } from '../../uniswap-v3-pool';
9
9
  import { OnPoolCreatedCallback } from '../../uniswap-v3-factory';
10
+ import { MultiCallParams } from '../../../../lib/multi-wrapper';
10
11
  type VelodromeSlipstreamData = {
11
12
  path: {
12
13
  tokenIn: Address;
@@ -25,6 +26,9 @@ export declare class VelodromeSlipstream extends UniswapV3 {
25
26
  protected config: import("../../types").DexParams;
26
27
  protected poolsToPreload: never[];
27
28
  readonly eventPools: Record<string, VelodromeSlipstreamEventPool | null>;
29
+ protected feeUpdateIntervalTask?: NodeJS.Timeout;
30
+ private static readonly FEE_REFRESH_INTERVAL_MS;
31
+ protected readonly factoryIface: Interface;
28
32
  constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../../../types").AdapterMappings, quoterIface?: Interface, config?: import("../../types").DexParams, poolsToPreload?: never[]);
29
33
  static dexKeysWithNetwork: {
30
34
  key: string;
@@ -40,6 +44,9 @@ export declare class VelodromeSlipstream extends UniswapV3 {
40
44
  fee: NumberAsString;
41
45
  }[], side: SwapSide): string;
42
46
  protected prepareData(srcAddress: string, destAddress: string, pool: UniswapV3EventPool, state: PoolState): VelodromeSlipstreamData;
47
+ protected buildFeeCallData(pools: VelodromeSlipstreamEventPool[]): MultiCallParams<bigint>[];
48
+ protected updateAllPoolFees(): Promise<void>;
49
+ releaseResources(): void;
43
50
  protected onPoolCreatedDeleteFromNonExistingSet(): OnPoolCreatedCallback;
44
51
  }
45
52
  export {};
@@ -12,6 +12,8 @@ const UniswapV3QuoterV2_abi_json_1 = __importDefault(require("../../../../abi/un
12
12
  const utils_1 = require("../../../../utils");
13
13
  const lodash_1 = __importDefault(require("lodash"));
14
14
  const solidity_1 = require("@ethersproject/solidity");
15
+ const decoders_1 = require("../../../../lib/decoders");
16
+ const VelodromeSlipstreamFactory_abi_json_1 = __importDefault(require("../../../../abi/velodrome-slipstream/VelodromeSlipstreamFactory.abi.json"));
15
17
  class VelodromeSlipstream extends uniswap_v3_1.UniswapV3 {
16
18
  network;
17
19
  dexHelper;
@@ -20,6 +22,9 @@ class VelodromeSlipstream extends uniswap_v3_1.UniswapV3 {
20
22
  config;
21
23
  poolsToPreload;
22
24
  eventPools = {};
25
+ feeUpdateIntervalTask;
26
+ static FEE_REFRESH_INTERVAL_MS = 60 * 1000;
27
+ factoryIface = new abi_1.Interface(VelodromeSlipstreamFactory_abi_json_1.default);
23
28
  constructor(network, dexKey, dexHelper, adapters = config_1.Adapters[network] || {}, quoterIface = new abi_1.Interface(UniswapV3QuoterV2_abi_json_1.default), config = config_1.UniswapV3Config[dexKey][network], poolsToPreload = []) {
24
29
  super(network, dexKey, dexHelper, adapters, quoterIface, config, poolsToPreload);
25
30
  this.network = network;
@@ -46,6 +51,10 @@ class VelodromeSlipstream extends uniswap_v3_1.UniswapV3 {
46
51
  void cleanExpiredNotExistingPoolsKeys();
47
52
  this.intervalTask = setInterval(cleanExpiredNotExistingPoolsKeys.bind(this), uniswap_v3_1.UNISWAPV3_CLEAN_NOT_EXISTING_POOL_INTERVAL_MS);
48
53
  }
54
+ else {
55
+ void this.updateAllPoolFees();
56
+ this.feeUpdateIntervalTask = setInterval(this.updateAllPoolFees.bind(this), VelodromeSlipstream.FEE_REFRESH_INTERVAL_MS);
57
+ }
49
58
  }
50
59
  async getPoolsForIdentifiers(srcAddress, destAddress, blockNumber) {
51
60
  return Promise.all(this.config.tickSpacings.map(async (tickSpacing) => this.getPool(srcAddress, destAddress, this.config.tickSpacingsToFees[tickSpacing.toString()], blockNumber, tickSpacing)));
@@ -96,6 +105,55 @@ class VelodromeSlipstream extends uniswap_v3_1.UniswapV3 {
96
105
  ],
97
106
  };
98
107
  }
108
+ buildFeeCallData(pools) {
109
+ return pools.map(pool => ({
110
+ target: this.config.factory,
111
+ callData: this.factoryIface.encodeFunctionData('getSwapFee', [
112
+ pool.poolAddress,
113
+ ]),
114
+ decodeFunction: decoders_1.uint24ToBigInt,
115
+ }));
116
+ }
117
+ async updateAllPoolFees() {
118
+ try {
119
+ const activePools = Object.values(this.eventPools).filter(pool => pool !== null);
120
+ if (activePools.length === 0) {
121
+ this.logger.warn(`${this.dexKey}: No active pools to update fees for`);
122
+ return;
123
+ }
124
+ this.logger.info(`${this.dexKey}: Updating fees for ${activePools.length} pools`);
125
+ const callData = this.buildFeeCallData(activePools);
126
+ const results = await this.dexHelper.multiWrapper.tryAggregate(false, callData);
127
+ const updateBlockNumber = await this.dexHelper.provider.getBlockNumber();
128
+ activePools.forEach((pool, index) => {
129
+ if (!results[index].success) {
130
+ this.logger.warn(`${this.dexKey}: Failed to fetch fee for pool ${pool.poolAddress}`);
131
+ return;
132
+ }
133
+ const newFee = results[index].returnData;
134
+ const currentState = pool.getStaleState();
135
+ if (!currentState) {
136
+ this.logger.debug(`${this.dexKey}: No state available for pool ${pool.poolAddress}, skipping fee update`);
137
+ return;
138
+ }
139
+ if (currentState.fee !== newFee) {
140
+ const newState = { ...currentState, fee: newFee };
141
+ pool.setState(newState, updateBlockNumber);
142
+ this.logger.debug(`${this.dexKey}: Updated fee for pool ${pool.poolAddress}: ${currentState.fee} -> ${newFee}`);
143
+ }
144
+ });
145
+ }
146
+ catch (error) {
147
+ this.logger.error(`${this.dexKey}: Error updating pool fees:`, error);
148
+ }
149
+ }
150
+ releaseResources() {
151
+ super.releaseResources();
152
+ if (this.feeUpdateIntervalTask !== undefined) {
153
+ clearInterval(this.feeUpdateIntervalTask);
154
+ this.feeUpdateIntervalTask = undefined;
155
+ }
156
+ }
99
157
  /*
100
158
  * When a non existing pool is queried, it's blacklisted for an arbitrary long period in order to prevent issuing too many rpc calls
101
159
  * Once the pool is created, it gets immediately flagged
@@ -1 +1 @@
1
- {"version":3,"file":"velodrome-slipstream.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"velodrome-slipstream.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ import { OptimalRate, OptimalRoute } from '@paraswap/core';
2
+ import { DexExchangeBuildParam } from '../types';
3
+ import { BuildSwap, Executors, Flag, RouteBuildSwaps } from './types';
4
+ import { DepositWithdrawReturn } from '../dex/weth/types';
5
+ import { BuildSwapFlagsParams, DexCallDataParams, ExecutorBytecodeBuilder, PriceRouteType, SingleSwapCallDataParams } from './ExecutorBytecodeBuilder';
6
+ export type Executor02SingleSwapCallDataParams = {
7
+ routeIndex: number;
8
+ swapIndex: number;
9
+ wrapToSwapMap: {
10
+ [key: number]: boolean;
11
+ };
12
+ unwrapToSwapMap: {
13
+ [key: number]: boolean;
14
+ };
15
+ wrapToSwapExchangeMap: {
16
+ [key: string]: boolean;
17
+ };
18
+ swap: BuildSwap;
19
+ srcToken: string;
20
+ destToken: string;
21
+ swaps: BuildSwap[];
22
+ rootUnwrapEth: boolean;
23
+ rootWrapEth: boolean;
24
+ isLastSwapOnTheRoute?: boolean;
25
+ };
26
+ export type MultiRouteExecutor02DexCallDataParams = {
27
+ rootUnwrapEth: boolean;
28
+ swap: BuildSwap;
29
+ destToken: string;
30
+ };
31
+ /**
32
+ * Class to build bytecode for Executor02 - simpleSwap with N DEXs (VERTICAL_BRANCH), multiSwaps (VERTICAL_BRANCH_HORIZONTAL_SEQUENCE) and megaswaps (NESTED_VERTICAL_BRANCH_HORIZONTAL_SEQUENCE)
33
+ */
34
+ export declare class Executor02BytecodeBuilderMultiRoute extends ExecutorBytecodeBuilder<Executor02SingleSwapCallDataParams, MultiRouteExecutor02DexCallDataParams> {
35
+ type: Executors;
36
+ /**
37
+ * Executor02 Flags:
38
+ * switch (flag % 4):
39
+ * case 0: don't insert fromAmount
40
+ * case 1: sendEth equal to fromAmount
41
+ * case 2: sendEth equal to fromAmount + insert fromAmount
42
+ * case 3: insert fromAmount
43
+
44
+ * switch (flag % 3):
45
+ * case 0: don't check balance after swap
46
+ * case 1: check eth balance after swap
47
+ * case 2: check destToken balance after swap
48
+ */
49
+ protected buildSimpleSwapFlags(params: BuildSwapFlagsParams): {
50
+ dexFlag: Flag;
51
+ approveFlag: Flag;
52
+ };
53
+ /**
54
+ * Executor02 Flags:
55
+ * switch (flag % 4):
56
+ * case 0: don't instert fromAmount
57
+ * case 1: sendEth equal to fromAmount
58
+ * case 2: sendEth equal to fromAmount + insert fromAmount
59
+ * case 3: insert fromAmount
60
+
61
+ * switch (flag % 3):
62
+ * case 0: don't check balance after swap
63
+ * case 1: check eth balance after swap
64
+ * case 2: check destToken balance after swap
65
+ */
66
+ protected buildMultiMegaSwapFlags(params: BuildSwapFlagsParams): {
67
+ dexFlag: Flag;
68
+ approveFlag: Flag;
69
+ };
70
+ protected buildDexCallData(params: DexCallDataParams<MultiRouteExecutor02DexCallDataParams>): string;
71
+ private wrapAsVerticalBranch;
72
+ private packVerticalBranchingData;
73
+ private packVerticalBranchingCallData;
74
+ private buildVerticalBranchingCallData;
75
+ private buildVerticalBranchingCallDataNoEthDest;
76
+ private buildSingleSwapExchangeCallData;
77
+ private appendWrapEthCallData;
78
+ private eachDexOnSwapNeedsWrapNative;
79
+ private anyDexOnSwapNeedsWrapNative;
80
+ private isLastExchangeWithNeedWrapNative;
81
+ private anyDexOnSwapDoesntNeedWrapNative;
82
+ private everyDexOnSwapNeedWrapNative;
83
+ private everyDexOnSwapDoesntNeedWrapNative;
84
+ private doesSwapNeedToBeAsVerticalBranch;
85
+ private buildVerticalBranchingFlag;
86
+ protected buildSingleSwapCallData(params: SingleSwapCallDataParams<Executor02SingleSwapCallDataParams>): string;
87
+ protected buildRouteCallData(route: RouteBuildSwaps, routeIndex: number, flags: {
88
+ approves: Flag[];
89
+ dexes: Flag[];
90
+ wrap: Flag;
91
+ }, sender: string, srcToken: string, destToken: string, priceRouteType: PriceRouteType, rootUnwrapEth: boolean, rootWrapEth: boolean, maybeWethCallData?: DepositWithdrawReturn): string;
92
+ private doesRouteNeedsRootWrapEth;
93
+ private doesRouteNeedsRootUnwrapEth;
94
+ getAddress(): string;
95
+ buildByteCode(priceRoute: OptimalRate, routes: RouteBuildSwaps[], exchangeParams: DexExchangeBuildParam[], sender: string, maybeWethCallData?: DepositWithdrawReturn): string;
96
+ protected buildFlags(routes: OptimalRoute[], buildRoutes: RouteBuildSwaps[], exchangeParams: DexExchangeBuildParam[], srcToken: string, priceRouteType: PriceRouteType, maybeWethCallData?: DepositWithdrawReturn): {
97
+ approves: Flag[];
98
+ dexes: Flag[];
99
+ wrap: Flag;
100
+ };
101
+ }