@paraswap/dex-lib 4.7.22-velodrome-dynamic-fees.0 → 4.7.22-velodrome-dynamic-fees.1

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 (154) 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.js.map +1 -1
  11. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.d.ts +3 -0
  12. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js +20 -28
  13. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js.map +1 -1
  14. package/build/executor/Executor02BytecodeBuilderMultiRoute.d.ts +101 -0
  15. package/build/executor/Executor02BytecodeBuilderMultiRoute.js +877 -0
  16. package/build/executor/Executor02BytecodeBuilderMultiRoute.js.map +1 -0
  17. package/package.json +1 -1
  18. package/build/abi/PendleRouterStatic.json +0 -19
  19. package/build/abi/apex-defi/ApexDefiFactory.abi.json +0 -1749
  20. package/build/abi/apex-defi/ApexDefiRouter.abi.json +0 -1120
  21. package/build/abi/apex-defi/ApexDefiToken.abi.json +0 -229
  22. package/build/abi/apex-defi/ApexDefiWrapper.abi.json +0 -92
  23. package/build/abi/apex-defi/ApexDefiWrapperFactory.abi.json +0 -1107
  24. package/build/abi/pangolin-v3/PangolinV3StateMulticall.abi.json +0 -796
  25. package/build/abi/pendle/pendle-deployer.abi.json +0 -520
  26. package/build/abi/pendle/pendle-oracle.abi.json +0 -413
  27. package/build/abi/ring-v2/few-wrapped-token.json +0 -587
  28. package/build/abi/ring-v2/ring-v2-factory.json +0 -125
  29. package/build/abi/ring-v2/ring-v2-pool.json +0 -461
  30. package/build/abi/ring-v2/ring-v2-router.json +0 -332
  31. package/build/abi/stabull/stabull-curve.json +0 -738
  32. package/build/abi/stabull/stabull-router.json +0 -76
  33. package/build/abi/uniswap-v4/hooks/SpotDynamicFeeManager.json +0 -26
  34. package/build/abi/uniswap-v4/hooks/SpotHook.json +0 -54
  35. package/build/abi/uniswap-v4/hooks/SpotPolicyManager.json +0 -45
  36. package/build/abi/uniswap-v4/hooks/cabalcoin-hook.abi.json +0 -682
  37. package/build/abi/uniswap-v4/hooks/fee-hook.abi.json +0 -1335
  38. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.d.ts +0 -29
  39. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js +0 -153
  40. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js.map +0 -1
  41. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.d.ts +0 -40
  42. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js +0 -323
  43. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js.map +0 -1
  44. package/build/dex/aave-pt-to-underlying/config.d.ts +0 -3
  45. package/build/dex/aave-pt-to-underlying/config.js +0 -24
  46. package/build/dex/aave-pt-to-underlying/config.js.map +0 -1
  47. package/build/dex/aave-pt-to-underlying/constants.d.ts +0 -2
  48. package/build/dex/aave-pt-to-underlying/constants.js +0 -6
  49. package/build/dex/aave-pt-to-underlying/constants.js.map +0 -1
  50. package/build/dex/aave-pt-to-underlying/types.d.ts +0 -24
  51. package/build/dex/aave-pt-to-underlying/types.js +0 -3
  52. package/build/dex/aave-pt-to-underlying/types.js.map +0 -1
  53. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.d.ts +0 -39
  54. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js +0 -244
  55. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js.map +0 -1
  56. package/build/dex/aave-pt-to-usdc/config.d.ts +0 -3
  57. package/build/dex/aave-pt-to-usdc/config.js +0 -47
  58. package/build/dex/aave-pt-to-usdc/config.js.map +0 -1
  59. package/build/dex/aave-pt-to-usdc/constants.d.ts +0 -2
  60. package/build/dex/aave-pt-to-usdc/constants.js +0 -6
  61. package/build/dex/aave-pt-to-usdc/constants.js.map +0 -1
  62. package/build/dex/aave-pt-to-usdc/types.d.ts +0 -22
  63. package/build/dex/aave-pt-to-usdc/types.js +0 -3
  64. package/build/dex/aave-pt-to-usdc/types.js.map +0 -1
  65. package/build/dex/apex-defi/apex-defi-factory.d.ts +0 -26
  66. package/build/dex/apex-defi/apex-defi-factory.js +0 -53
  67. package/build/dex/apex-defi/apex-defi-factory.js.map +0 -1
  68. package/build/dex/apex-defi/apex-defi-pool.d.ts +0 -55
  69. package/build/dex/apex-defi/apex-defi-pool.js +0 -247
  70. package/build/dex/apex-defi/apex-defi-pool.js.map +0 -1
  71. package/build/dex/apex-defi/apex-defi-wrapper-factory.d.ts +0 -57
  72. package/build/dex/apex-defi/apex-defi-wrapper-factory.js +0 -250
  73. package/build/dex/apex-defi/apex-defi-wrapper-factory.js.map +0 -1
  74. package/build/dex/apex-defi/apex-defi.d.ts +0 -97
  75. package/build/dex/apex-defi/apex-defi.js +0 -1021
  76. package/build/dex/apex-defi/apex-defi.js.map +0 -1
  77. package/build/dex/apex-defi/config.d.ts +0 -4
  78. package/build/dex/apex-defi/config.js +0 -138
  79. package/build/dex/apex-defi/config.js.map +0 -1
  80. package/build/dex/apex-defi/types.d.ts +0 -32
  81. package/build/dex/apex-defi/types.js +0 -3
  82. package/build/dex/apex-defi/types.js.map +0 -1
  83. package/build/dex/apex-defi/utils.d.ts +0 -46
  84. package/build/dex/apex-defi/utils.js +0 -133
  85. package/build/dex/apex-defi/utils.js.map +0 -1
  86. package/build/dex/miro-migrator/miro-migrator-state.d.ts +0 -27
  87. package/build/dex/miro-migrator/miro-migrator-state.js +0 -89
  88. package/build/dex/miro-migrator/miro-migrator-state.js.map +0 -1
  89. package/build/dex/native/validators.d.ts +0 -2
  90. package/build/dex/native/validators.js +0 -18
  91. package/build/dex/native/validators.js.map +0 -1
  92. package/build/dex/stabull/config.d.ts +0 -3
  93. package/build/dex/stabull/config.js +0 -177
  94. package/build/dex/stabull/config.js.map +0 -1
  95. package/build/dex/stabull/stabull-pool.d.ts +0 -46
  96. package/build/dex/stabull/stabull-pool.js +0 -113
  97. package/build/dex/stabull/stabull-pool.js.map +0 -1
  98. package/build/dex/stabull/stabull.d.ts +0 -55
  99. package/build/dex/stabull/stabull.js +0 -286
  100. package/build/dex/stabull/stabull.js.map +0 -1
  101. package/build/dex/stabull/types.d.ts +0 -21
  102. package/build/dex/stabull/types.js +0 -3
  103. package/build/dex/stabull/types.js.map +0 -1
  104. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.d.ts +0 -4
  105. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +0 -56
  106. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +0 -1
  107. package/build/dex/uniswap-v4/hooks/arena.d.ts +0 -6
  108. package/build/dex/uniswap-v4/hooks/arena.js +0 -10
  109. package/build/dex/uniswap-v4/hooks/arena.js.map +0 -1
  110. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.d.ts +0 -0
  111. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js +0 -2
  112. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js.map +0 -1
  113. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.d.ts +0 -7
  114. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js +0 -28
  115. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js.map +0 -1
  116. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.d.ts +0 -0
  117. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js +0 -2
  118. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js.map +0 -1
  119. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.d.ts +0 -7
  120. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js +0 -28
  121. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js.map +0 -1
  122. package/build/dex/uniswap-v4/hooks/fee-hook/types.d.ts +0 -0
  123. package/build/dex/uniswap-v4/hooks/fee-hook/types.js +0 -2
  124. package/build/dex/uniswap-v4/hooks/fee-hook/types.js.map +0 -1
  125. package/build/dex/uniswap-v4/hooks/index.d.ts +0 -1
  126. package/build/dex/uniswap-v4/hooks/index.js +0 -18
  127. package/build/dex/uniswap-v4/hooks/index.js.map +0 -1
  128. package/build/dex/uniswap-v4/hooks/spot.d.ts +0 -15
  129. package/build/dex/uniswap-v4/hooks/spot.js +0 -109
  130. package/build/dex/uniswap-v4/hooks/spot.js.map +0 -1
  131. package/build/dex/uniswap-v4/hooks/template.d.ts +0 -150
  132. package/build/dex/uniswap-v4/hooks/template.js +0 -104
  133. package/build/dex/uniswap-v4/hooks/template.js.map +0 -1
  134. package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +0 -26
  135. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +0 -75
  136. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +0 -1
  137. package/build/dex/usual/usual-usdc-usdc.d.ts +0 -17
  138. package/build/dex/usual/usual-usdc-usdc.js +0 -59
  139. package/build/dex/usual/usual-usdc-usdc.js.map +0 -1
  140. package/build/dex/yo/config.d.ts +0 -3
  141. package/build/dex/yo/config.js +0 -21
  142. package/build/dex/yo/config.js.map +0 -1
  143. package/build/dex/yo/types.d.ts +0 -13
  144. package/build/dex/yo/types.js +0 -3
  145. package/build/dex/yo/types.js.map +0 -1
  146. package/build/dex/yo/yo-pool.d.ts +0 -13
  147. package/build/dex/yo/yo-pool.js +0 -26
  148. package/build/dex/yo/yo-pool.js.map +0 -1
  149. package/build/dex/yo/yo.d.ts +0 -39
  150. package/build/dex/yo/yo.js +0 -248
  151. package/build/dex/yo/yo.js.map +0 -1
  152. package/build/implementations/api-paraswap-sdk.d.ts +0 -25
  153. package/build/implementations/api-paraswap-sdk.js +0 -102
  154. package/build/implementations/api-paraswap-sdk.js.map +0 -1
@@ -22,10 +22,9 @@ class VelodromeSlipstream extends uniswap_v3_1.UniswapV3 {
22
22
  config;
23
23
  poolsToPreload;
24
24
  eventPools = {};
25
- // Fee update interval task
26
25
  feeUpdateIntervalTask;
27
- // Constant for fee refresh interval
28
- static FEE_REFRESH_INTERVAL_MS = 60 * 1000; // 1 minute
26
+ static FEE_REFRESH_INTERVAL_MS = 60 * 1000;
27
+ factoryIface = new abi_1.Interface(VelodromeSlipstreamFactory_abi_json_1.default);
29
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 = []) {
30
29
  super(network, dexKey, dexHelper, adapters, quoterIface, config, poolsToPreload);
31
30
  this.network = network;
@@ -51,8 +50,9 @@ class VelodromeSlipstream extends uniswap_v3_1.UniswapV3 {
51
50
  };
52
51
  void cleanExpiredNotExistingPoolsKeys();
53
52
  this.intervalTask = setInterval(cleanExpiredNotExistingPoolsKeys.bind(this), uniswap_v3_1.UNISWAPV3_CLEAN_NOT_EXISTING_POOL_INTERVAL_MS);
54
- // Add fee update interval task
55
- void this.updateAllPoolFees(); // Run immediately
53
+ }
54
+ else {
55
+ void this.updateAllPoolFees();
56
56
  this.feeUpdateIntervalTask = setInterval(this.updateAllPoolFees.bind(this), VelodromeSlipstream.FEE_REFRESH_INTERVAL_MS);
57
57
  }
58
58
  }
@@ -105,48 +105,40 @@ class VelodromeSlipstream extends uniswap_v3_1.UniswapV3 {
105
105
  ],
106
106
  };
107
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
+ }
108
117
  async updateAllPoolFees() {
109
118
  try {
110
- // Get all active pools (non-null)
111
119
  const activePools = Object.values(this.eventPools).filter(pool => pool !== null);
112
120
  if (activePools.length === 0) {
113
- this.logger.debug(`${this.dexKey}: No active pools to update fees for`);
121
+ this.logger.warn(`${this.dexKey}: No active pools to update fees for`);
114
122
  return;
115
123
  }
116
- // Get current block number for state update
117
- const blockNumber = await this.dexHelper.provider.getBlockNumber();
118
- this.logger.info(`${this.dexKey}: Updating fees for ${activePools.length} pools at block ${blockNumber}`);
119
- // Prepare multicall batch for all pools
120
- const factoryIface = new abi_1.Interface(VelodromeSlipstreamFactory_abi_json_1.default);
121
- const callData = activePools.map(pool => ({
122
- target: this.config.factory,
123
- callData: factoryIface.encodeFunctionData('getSwapFee', [
124
- pool.poolAddress,
125
- ]),
126
- decodeFunction: decoders_1.uint24ToBigInt,
127
- }));
128
- // Execute single batched multicall for all pools
129
- const results = await this.dexHelper.multiWrapper.tryAggregate(false, // Don't throw on individual failures
130
- callData, blockNumber);
131
- // Update each pool's state with new fee
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();
132
128
  activePools.forEach((pool, index) => {
133
129
  if (!results[index].success) {
134
130
  this.logger.warn(`${this.dexKey}: Failed to fetch fee for pool ${pool.poolAddress}`);
135
131
  return;
136
132
  }
137
133
  const newFee = results[index].returnData;
138
- // Get current state
139
134
  const currentState = pool.getStaleState();
140
135
  if (!currentState) {
141
136
  this.logger.debug(`${this.dexKey}: No state available for pool ${pool.poolAddress}, skipping fee update`);
142
137
  return;
143
138
  }
144
- // Only update if fee changed
145
139
  if (currentState.fee !== newFee) {
146
- // Create new state with updated fee
147
140
  const newState = { ...currentState, fee: newFee };
148
- // Update pool state
149
- pool.setState(newState, blockNumber, 'batch_fee_update');
141
+ pool.setState(newState, updateBlockNumber);
150
142
  this.logger.debug(`${this.dexKey}: Updated fee for pool ${pool.poolAddress}: ${currentState.fee} -> ${newFee}`);
151
143
  }
152
144
  });
@@ -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
+ }