@paraswap/dex-lib 4.6.28-plasma.1 → 4.6.29-ekubo-tenderly.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 (162) hide show
  1. package/build/config.js +0 -28
  2. package/build/config.js.map +1 -1
  3. package/build/constants.d.ts +0 -1
  4. package/build/constants.js +0 -1
  5. package/build/constants.js.map +1 -1
  6. package/build/dex/aave-v3/config.js +0 -6
  7. package/build/dex/aave-v3/config.js.map +1 -1
  8. package/build/dex/balancer-v3/config.js +0 -15
  9. package/build/dex/balancer-v3/config.js.map +1 -1
  10. package/build/dex/curve-v1-factory/constants.d.ts +0 -3
  11. package/build/dex/curve-v1-factory/constants.js +1 -9
  12. package/build/dex/curve-v1-factory/constants.js.map +1 -1
  13. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +3 -10
  14. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
  15. package/build/dex/curve-v1-stable-ng/config.js +0 -21
  16. package/build/dex/curve-v1-stable-ng/config.js.map +1 -1
  17. package/build/dex/ekubo/ekubo.js +1 -0
  18. package/build/dex/ekubo/ekubo.js.map +1 -1
  19. package/build/dex/erc4626/config.js +0 -21
  20. package/build/dex/erc4626/config.js.map +1 -1
  21. package/build/dex/fluid-dex/config.js +0 -7
  22. package/build/dex/fluid-dex/config.js.map +1 -1
  23. package/build/dex/idle-dao/idle-dao.d.ts +1 -0
  24. package/build/dex/idle-dao/idle-dao.js +23 -11
  25. package/build/dex/idle-dao/idle-dao.js.map +1 -1
  26. package/build/dex/maker-psm/maker-psm.d.ts +4 -41
  27. package/build/dex/maker-psm/maker-psm.js +40 -143
  28. package/build/dex/maker-psm/maker-psm.js.map +1 -1
  29. package/build/dex/uniswap-v3/config.js +0 -13
  30. package/build/dex/uniswap-v3/config.js.map +1 -1
  31. package/build/dex/weth/config.js +0 -5
  32. package/build/dex/weth/config.js.map +1 -1
  33. package/build/dex/wombat/types.d.ts +1 -0
  34. package/build/dex/wombat/wombat-pool.d.ts +6 -2
  35. package/build/dex/wombat/wombat-pool.js +101 -67
  36. package/build/dex/wombat/wombat-pool.js.map +1 -1
  37. package/build/dex/wombat/wombat-quoter.d.ts +1 -0
  38. package/build/dex/wombat/wombat-quoter.js +13 -1
  39. package/build/dex/wombat/wombat-quoter.js.map +1 -1
  40. package/build/dex/wombat/wombat.js +6 -11
  41. package/build/dex/wombat/wombat.js.map +1 -1
  42. package/build/types.d.ts +1 -1
  43. package/package.json +2 -2
  44. package/build/abi/PendleRouterStatic.json +0 -19
  45. package/build/abi/apex-defi/ApexDefiFactory.abi.json +0 -1749
  46. package/build/abi/apex-defi/ApexDefiRouter.abi.json +0 -1120
  47. package/build/abi/apex-defi/ApexDefiToken.abi.json +0 -229
  48. package/build/abi/apex-defi/ApexDefiWrapper.abi.json +0 -92
  49. package/build/abi/apex-defi/ApexDefiWrapperFactory.abi.json +0 -1107
  50. package/build/abi/pangolin-v3/PangolinV3StateMulticall.abi.json +0 -796
  51. package/build/abi/pendle/pendle-deployer.abi.json +0 -520
  52. package/build/abi/pendle/pendle-oracle.abi.json +0 -413
  53. package/build/abi/ring-v2/few-wrapped-token.json +0 -587
  54. package/build/abi/ring-v2/ring-v2-factory.json +0 -125
  55. package/build/abi/ring-v2/ring-v2-pool.json +0 -461
  56. package/build/abi/ring-v2/ring-v2-router.json +0 -332
  57. package/build/abi/stabull/stabull-curve.json +0 -738
  58. package/build/abi/stabull/stabull-router.json +0 -76
  59. package/build/abi/uniswap-v4/hooks/cabalcoin-hook.abi.json +0 -682
  60. package/build/abi/uniswap-v4/hooks/fee-hook.abi.json +0 -1335
  61. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.d.ts +0 -29
  62. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js +0 -153
  63. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js.map +0 -1
  64. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.d.ts +0 -40
  65. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js +0 -323
  66. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js.map +0 -1
  67. package/build/dex/aave-pt-to-underlying/config.d.ts +0 -3
  68. package/build/dex/aave-pt-to-underlying/config.js +0 -24
  69. package/build/dex/aave-pt-to-underlying/config.js.map +0 -1
  70. package/build/dex/aave-pt-to-underlying/constants.d.ts +0 -2
  71. package/build/dex/aave-pt-to-underlying/constants.js +0 -6
  72. package/build/dex/aave-pt-to-underlying/constants.js.map +0 -1
  73. package/build/dex/aave-pt-to-underlying/types.d.ts +0 -24
  74. package/build/dex/aave-pt-to-underlying/types.js +0 -3
  75. package/build/dex/aave-pt-to-underlying/types.js.map +0 -1
  76. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.d.ts +0 -39
  77. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js +0 -244
  78. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js.map +0 -1
  79. package/build/dex/aave-pt-to-usdc/config.d.ts +0 -3
  80. package/build/dex/aave-pt-to-usdc/config.js +0 -47
  81. package/build/dex/aave-pt-to-usdc/config.js.map +0 -1
  82. package/build/dex/aave-pt-to-usdc/constants.d.ts +0 -2
  83. package/build/dex/aave-pt-to-usdc/constants.js +0 -6
  84. package/build/dex/aave-pt-to-usdc/constants.js.map +0 -1
  85. package/build/dex/aave-pt-to-usdc/types.d.ts +0 -22
  86. package/build/dex/aave-pt-to-usdc/types.js +0 -3
  87. package/build/dex/aave-pt-to-usdc/types.js.map +0 -1
  88. package/build/dex/apex-defi/apex-defi-factory.d.ts +0 -26
  89. package/build/dex/apex-defi/apex-defi-factory.js +0 -53
  90. package/build/dex/apex-defi/apex-defi-factory.js.map +0 -1
  91. package/build/dex/apex-defi/apex-defi-pool.d.ts +0 -55
  92. package/build/dex/apex-defi/apex-defi-pool.js +0 -247
  93. package/build/dex/apex-defi/apex-defi-pool.js.map +0 -1
  94. package/build/dex/apex-defi/apex-defi-wrapper-factory.d.ts +0 -57
  95. package/build/dex/apex-defi/apex-defi-wrapper-factory.js +0 -250
  96. package/build/dex/apex-defi/apex-defi-wrapper-factory.js.map +0 -1
  97. package/build/dex/apex-defi/apex-defi.d.ts +0 -97
  98. package/build/dex/apex-defi/apex-defi.js +0 -1021
  99. package/build/dex/apex-defi/apex-defi.js.map +0 -1
  100. package/build/dex/apex-defi/config.d.ts +0 -4
  101. package/build/dex/apex-defi/config.js +0 -138
  102. package/build/dex/apex-defi/config.js.map +0 -1
  103. package/build/dex/apex-defi/types.d.ts +0 -32
  104. package/build/dex/apex-defi/types.js +0 -3
  105. package/build/dex/apex-defi/types.js.map +0 -1
  106. package/build/dex/apex-defi/utils.d.ts +0 -46
  107. package/build/dex/apex-defi/utils.js +0 -133
  108. package/build/dex/apex-defi/utils.js.map +0 -1
  109. package/build/dex/miro-migrator/miro-migrator-state.d.ts +0 -27
  110. package/build/dex/miro-migrator/miro-migrator-state.js +0 -89
  111. package/build/dex/miro-migrator/miro-migrator-state.js.map +0 -1
  112. package/build/dex/stabull/config.d.ts +0 -3
  113. package/build/dex/stabull/config.js +0 -177
  114. package/build/dex/stabull/config.js.map +0 -1
  115. package/build/dex/stabull/stabull-pool.d.ts +0 -46
  116. package/build/dex/stabull/stabull-pool.js +0 -113
  117. package/build/dex/stabull/stabull-pool.js.map +0 -1
  118. package/build/dex/stabull/stabull.d.ts +0 -55
  119. package/build/dex/stabull/stabull.js +0 -286
  120. package/build/dex/stabull/stabull.js.map +0 -1
  121. package/build/dex/stabull/types.d.ts +0 -21
  122. package/build/dex/stabull/types.js +0 -3
  123. package/build/dex/stabull/types.js.map +0 -1
  124. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.d.ts +0 -4
  125. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +0 -56
  126. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +0 -1
  127. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.d.ts +0 -7
  128. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js +0 -28
  129. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js.map +0 -1
  130. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.d.ts +0 -0
  131. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js +0 -2
  132. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js.map +0 -1
  133. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.d.ts +0 -7
  134. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js +0 -28
  135. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js.map +0 -1
  136. package/build/dex/uniswap-v4/hooks/fee-hook/types.d.ts +0 -0
  137. package/build/dex/uniswap-v4/hooks/fee-hook/types.js +0 -2
  138. package/build/dex/uniswap-v4/hooks/fee-hook/types.js.map +0 -1
  139. package/build/dex/uniswap-v4/hooks/index.d.ts +0 -2
  140. package/build/dex/uniswap-v4/hooks/index.js +0 -8
  141. package/build/dex/uniswap-v4/hooks/index.js.map +0 -1
  142. package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +0 -26
  143. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +0 -75
  144. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +0 -1
  145. package/build/dex/usual/usual-usdc-usdc.d.ts +0 -17
  146. package/build/dex/usual/usual-usdc-usdc.js +0 -59
  147. package/build/dex/usual/usual-usdc-usdc.js.map +0 -1
  148. package/build/dex/yo/config.d.ts +0 -3
  149. package/build/dex/yo/config.js +0 -21
  150. package/build/dex/yo/config.js.map +0 -1
  151. package/build/dex/yo/types.d.ts +0 -13
  152. package/build/dex/yo/types.js +0 -3
  153. package/build/dex/yo/types.js.map +0 -1
  154. package/build/dex/yo/yo-pool.d.ts +0 -13
  155. package/build/dex/yo/yo-pool.js +0 -26
  156. package/build/dex/yo/yo-pool.js.map +0 -1
  157. package/build/dex/yo/yo.d.ts +0 -39
  158. package/build/dex/yo/yo.js +0 -248
  159. package/build/dex/yo/yo.js.map +0 -1
  160. package/build/implementations/api-paraswap-sdk.d.ts +0 -25
  161. package/build/implementations/api-paraswap-sdk.js +0 -102
  162. package/build/implementations/api-paraswap-sdk.js.map +0 -1
@@ -10,7 +10,6 @@ const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
10
10
  const pool_v2_json_1 = __importDefault(require("../../abi/wombat/pool-v2.json"));
11
11
  const pool_v3_json_1 = __importDefault(require("../../abi/wombat/pool-v3.json"));
12
12
  const asset_json_1 = __importDefault(require("../../abi/wombat/asset.json"));
13
- const utils_2 = require("./utils");
14
13
  const CLEAR_RPC_CALL_COUNT_INTERVAL = 1000 * 60 * 5; // 5 minutes
15
14
  class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
16
15
  network;
@@ -30,6 +29,7 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
30
29
  paused: false,
31
30
  ampFactor: 0n,
32
31
  haircutRate: 0n,
32
+ withdrawalHaircutRate: 0n,
33
33
  startCovRatio: 0n,
34
34
  endCovRatio: 0n,
35
35
  },
@@ -46,6 +46,8 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
46
46
  // admin-actions handlers
47
47
  this.handlers['SetAmpFactor'] = this.handleSetAmpFactor.bind(this);
48
48
  this.handlers['SetHaircutRate'] = this.handleSetHaircutRate.bind(this);
49
+ this.handlers['SetWithdrawalHaircutRate'] =
50
+ this.handleSetWithdrawalHaircutRate.bind(this);
49
51
  this.handlers['AssetAdded'] = this.handleAssetAdded.bind(this);
50
52
  this.handlers['AssetRemoved'] = this.handleAssetRemoved.bind(this);
51
53
  this.handlers['FillPool'] = this.handleFillPool.bind(this);
@@ -53,7 +55,7 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
53
55
  this.handlers['Unpaused'] = this.handleUnpaused.bind(this);
54
56
  this.handlers['PausedAsset'] = this.handlePausedAsset.bind(this);
55
57
  this.handlers['UnpausedAsset'] = this.handleUnpausedAsset.bind(this);
56
- this.eventRefetched = ['Deposit', 'Withdraw'];
58
+ this.eventRefetched = ['Deposit', 'Withdraw', 'TransferTipBucket'];
57
59
  setInterval(() => {
58
60
  this.rpcCallCount = 0;
59
61
  }, CLEAR_RPC_CALL_COUNT_INTERVAL);
@@ -126,6 +128,7 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
126
128
  this.logger.warn(`WombatPool generateState excessive RPC call. Name: ${this.name}. Called ${this.rpcCallCount} times during ${CLEAR_RPC_CALL_COUNT_INTERVAL / 1000}s interval`);
127
129
  }
128
130
  let multiCallInputs = [];
131
+ const isV3Pool = this.poolInterface === WombatPool.poolV3Interface;
129
132
  // 1.A generate pool params requests
130
133
  // paused
131
134
  multiCallInputs.push({
@@ -142,6 +145,12 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
142
145
  target: this.poolAddress,
143
146
  callData: this.poolInterface.encodeFunctionData('haircutRate'),
144
147
  });
148
+ if (isV3Pool) {
149
+ multiCallInputs.push({
150
+ target: this.poolAddress,
151
+ callData: this.poolInterface.encodeFunctionData('withdrawalHaircutRate'),
152
+ });
153
+ }
145
154
  // startCovRatio
146
155
  multiCallInputs.push({
147
156
  target: this.poolAddress,
@@ -169,6 +178,9 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
169
178
  const paused = Boolean(this.poolInterface.decodeFunctionResult('paused', returnData[i++])[0]);
170
179
  const ampFactor = BigInt(this.poolInterface.decodeFunctionResult('ampFactor', returnData[i++])[0]);
171
180
  const haircutRate = BigInt(this.poolInterface.decodeFunctionResult('haircutRate', returnData[i++])[0]);
181
+ const withdrawalHaircutRate = isV3Pool
182
+ ? BigInt(this.poolInterface.decodeFunctionResult('withdrawalHaircutRate', returnData[i++])[0])
183
+ : 0n;
172
184
  const startCovRatio = BigInt(this.poolInterface.decodeFunctionResult('startCovRatio', returnData[i++])[0]);
173
185
  const endCovRatio = BigInt(this.poolInterface.decodeFunctionResult('endCovRatio', returnData[i++])[0]);
174
186
  const tokens = this.poolInterface
@@ -179,6 +191,7 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
179
191
  paused,
180
192
  ampFactor,
181
193
  haircutRate,
194
+ withdrawalHaircutRate,
182
195
  startCovRatio,
183
196
  endCovRatio,
184
197
  },
@@ -211,68 +224,35 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
211
224
  }
212
225
  return poolState;
213
226
  }
227
+ async getOrGenerateState(blockNumber) {
228
+ let state = this.getState(blockNumber);
229
+ if (!state) {
230
+ state = await this.generateState(blockNumber);
231
+ this.setState(state, blockNumber);
232
+ this.logger.info(`Empty state, generated state for pool ${this.poolAddress} at block ${blockNumber}`);
233
+ }
234
+ return {
235
+ ...state,
236
+ underlyingAddresses: Array.from(state.underlyingAddresses),
237
+ };
238
+ }
214
239
  handleSwap(event, state, log) {
215
240
  const fromTokenAddress = event.args.fromToken.toString().toLowerCase();
216
- const fromAmount = BigInt(event.args.fromAmount.toString());
217
241
  const toTokenAddress = event.args.toToken.toString().toLowerCase();
218
- const toAmount = BigInt(event.args.toAmount.toString());
219
242
  if (!state.underlyingAddresses.includes(fromTokenAddress) ||
220
243
  !state.underlyingAddresses.includes(toTokenAddress)) {
221
244
  return null;
222
245
  }
223
- let idealToAmount;
224
- const fromAmountInt256 = (0, utils_2.convertUint256ToInt256)(fromAmount);
225
- if (fromAmountInt256 > 0) {
226
- idealToAmount = (0, utils_2.wdiv)(toAmount, utils_2.WAD - state.params.haircutRate);
227
- }
228
- else {
229
- this.logger.warn(`pool ${this.poolAddress} swap from a negative amount ${fromAmountInt256} at block ${log.blockNumber} should not happen`);
230
- const haircut = (0, utils_2.wmul)(-fromAmount, state.params.haircutRate);
231
- idealToAmount = toAmount + haircut;
232
- }
233
- const fromAmountInWad = (0, utils_2.toWad)(fromAmount, BigInt(state.asset[fromTokenAddress].underlyingTokenDecimals));
234
- const toAmountInWad = (0, utils_2.toWad)(idealToAmount, BigInt(state.asset[toTokenAddress].underlyingTokenDecimals));
235
- return {
236
- ...state,
237
- asset: {
238
- ...state.asset,
239
- [fromTokenAddress]: {
240
- ...state.asset[fromTokenAddress],
241
- cash: state.asset[fromTokenAddress].cash + fromAmountInWad,
242
- },
243
- [toTokenAddress]: {
244
- ...state.asset[toTokenAddress],
245
- cash: state.asset[toTokenAddress].cash - toAmountInWad,
246
- },
247
- },
248
- };
246
+ return this.refreshAssetStates(state, [fromTokenAddress, toTokenAddress], log.blockNumber);
249
247
  }
250
- handleSwapV2(event, state, _log) {
248
+ handleSwapV2(event, state, log) {
251
249
  const fromTokenAddress = event.args.fromToken.toString().toLowerCase();
252
- const fromAmount = BigInt(event.args.fromAmount.toString());
253
250
  const toTokenAddress = event.args.toToken.toString().toLowerCase();
254
- const toAmount = BigInt(event.args.toAmount.toString());
255
- const toTokenFee = BigInt(event.args.toTokenFee.toString());
256
251
  if (!state.underlyingAddresses.includes(fromTokenAddress) ||
257
252
  !state.underlyingAddresses.includes(toTokenAddress)) {
258
253
  return null;
259
254
  }
260
- const fromAmountInWad = (0, utils_2.toWad)(fromAmount, BigInt(state.asset[fromTokenAddress].underlyingTokenDecimals));
261
- const toAmountInWad = (0, utils_2.toWad)(toAmount + toTokenFee, BigInt(state.asset[toTokenAddress].underlyingTokenDecimals));
262
- return {
263
- ...state,
264
- asset: {
265
- ...state.asset,
266
- [fromTokenAddress]: {
267
- ...state.asset[fromTokenAddress],
268
- cash: state.asset[fromTokenAddress].cash + fromAmountInWad,
269
- },
270
- [toTokenAddress]: {
271
- ...state.asset[toTokenAddress],
272
- cash: state.asset[toTokenAddress].cash - toAmountInWad,
273
- },
274
- },
275
- };
255
+ return this.refreshAssetStates(state, [fromTokenAddress, toTokenAddress], log.blockNumber);
276
256
  }
277
257
  handleSetAmpFactor(event, state, _log) {
278
258
  const ampFactor = BigInt(event.args.value.toString());
@@ -294,6 +274,16 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
294
274
  },
295
275
  };
296
276
  }
277
+ handleSetWithdrawalHaircutRate(event, state, _log) {
278
+ const withdrawalHaircutRate = BigInt(event.args.value.toString());
279
+ return {
280
+ ...state,
281
+ params: {
282
+ ...state.params,
283
+ withdrawalHaircutRate,
284
+ },
285
+ };
286
+ }
297
287
  async handleAssetAdded(event, state, log) {
298
288
  const token = event.args.token.toString().toLowerCase();
299
289
  const asset = event.args.asset.toString().toLowerCase();
@@ -325,31 +315,21 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
325
315
  if (!state.underlyingAddresses.includes(token)) {
326
316
  return null;
327
317
  }
318
+ const { [token]: _, ...remainingAssets } = state.asset;
328
319
  return {
329
320
  ...state,
330
321
  underlyingAddresses: state.underlyingAddresses.filter(underlyingAddress => underlyingAddress !== token),
331
322
  asset: {
332
- ...state.asset,
333
- [token]: undefined,
323
+ ...remainingAssets,
334
324
  },
335
325
  };
336
326
  }
337
- async handleFillPool(event, state, _log) {
327
+ async handleFillPool(event, state, log) {
338
328
  const token = event.args.token.toString().toLowerCase();
339
- const amount = BigInt(event.args.amount.toString());
340
329
  if (!state.underlyingAddresses.includes(token)) {
341
330
  return null;
342
331
  }
343
- return {
344
- ...state,
345
- asset: {
346
- ...state.asset,
347
- [token]: {
348
- ...state.asset[token],
349
- cash: state.asset[token].cash + amount,
350
- },
351
- },
352
- };
332
+ return this.refreshAssetStates(state, [token], log.blockNumber);
353
333
  }
354
334
  async handlePaused(event, state, _log) {
355
335
  return {
@@ -370,7 +350,7 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
370
350
  };
371
351
  }
372
352
  async handlePausedAsset(event, state, _log) {
373
- const token = event.args.token.toString();
353
+ const token = event.args.token.toString().toLowerCase();
374
354
  if (!state.underlyingAddresses.includes(token)) {
375
355
  return null;
376
356
  }
@@ -386,7 +366,7 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
386
366
  };
387
367
  }
388
368
  async handleUnpausedAsset(event, state, _log) {
389
- const token = event.args.token.toString();
369
+ const token = event.args.token.toString().toLowerCase();
390
370
  if (!state.underlyingAddresses.includes(token)) {
391
371
  return null;
392
372
  }
@@ -396,11 +376,65 @@ class WombatPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
396
376
  ...state.asset,
397
377
  [token]: {
398
378
  ...state.asset[token],
399
- paused: true,
379
+ paused: false,
400
380
  },
401
381
  },
402
382
  };
403
383
  }
384
+ async refreshAssetStates(state, tokens, blockNumber) {
385
+ const uniqueTokens = Array.from(new Set(tokens
386
+ .map(token => token.toLowerCase())
387
+ .filter(token => !!state.asset[token])));
388
+ if (!uniqueTokens.length) {
389
+ return state;
390
+ }
391
+ const assetAddresses = uniqueTokens.map(token => state.asset[token].address);
392
+ const balances = await this.fetchAssetBalances(assetAddresses, blockNumber);
393
+ const updatedAssets = { ...state.asset };
394
+ uniqueTokens.forEach((token, index) => {
395
+ const existingAsset = state.asset[token];
396
+ const { cash, liability, relativePrice } = balances[index];
397
+ updatedAssets[token] = {
398
+ ...existingAsset,
399
+ cash,
400
+ liability,
401
+ relativePrice,
402
+ };
403
+ });
404
+ return {
405
+ ...state,
406
+ asset: updatedAssets,
407
+ };
408
+ }
409
+ async fetchAssetBalances(assets, blockNumber) {
410
+ const multiCallInputs = [];
411
+ const methods = ['cash', 'liability', 'getRelativePrice'];
412
+ for (const asset of assets) {
413
+ for (const method of methods) {
414
+ multiCallInputs.push({
415
+ target: asset,
416
+ callData: WombatPool.assetInterface.encodeFunctionData(method),
417
+ });
418
+ }
419
+ }
420
+ const returnData = await this.dexHelper.multiContract.methods
421
+ .tryAggregate(false, multiCallInputs)
422
+ .call({}, blockNumber);
423
+ const balances = [];
424
+ for (let i = 0; i < assets.length * methods.length; i += methods.length) {
425
+ const cash = returnData[i].success
426
+ ? BigInt(WombatPool.assetInterface.decodeFunctionResult('cash', returnData[i].returnData)[0])
427
+ : 0n;
428
+ const liability = returnData[i + 1].success
429
+ ? BigInt(WombatPool.assetInterface.decodeFunctionResult('liability', returnData[i + 1].returnData)[0])
430
+ : 0n;
431
+ const relativePrice = returnData[i + 2].success
432
+ ? BigInt(WombatPool.assetInterface.decodeFunctionResult('getRelativePrice', returnData[i + 2].returnData)[0])
433
+ : undefined;
434
+ balances.push({ cash, liability, relativePrice });
435
+ }
436
+ return balances;
437
+ }
404
438
  async getAssetState(pool, assets, tokens, blockNumber) {
405
439
  const assetStates = [];
406
440
  const multiCallInputs = [];
@@ -1 +1 @@
1
- {"version":3,"file":"wombat-pool.js","sourceRoot":"","sources":["../../../src/dex/wombat/wombat-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wombat-pool.js","sourceRoot":"","sources":["../../../src/dex/wombat/wombat-pool.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { AssetState, PoolParams } from './types';
2
2
  export declare class WombatQuoter {
3
3
  private readonly ampFactor;
4
4
  private readonly haircutRate;
5
+ private readonly withdrawalHaircutRate;
5
6
  private readonly startCovRatio;
6
7
  private readonly endCovRatio;
7
8
  constructor(poolParams: PoolParams);
@@ -5,11 +5,13 @@ const utils_1 = require("./utils");
5
5
  class WombatQuoter {
6
6
  ampFactor;
7
7
  haircutRate;
8
+ withdrawalHaircutRate;
8
9
  startCovRatio;
9
10
  endCovRatio;
10
11
  constructor(poolParams) {
11
12
  this.ampFactor = poolParams.ampFactor;
12
13
  this.haircutRate = poolParams.haircutRate;
14
+ this.withdrawalHaircutRate = poolParams.withdrawalHaircutRate;
13
15
  this.startCovRatio = poolParams.startCovRatio;
14
16
  this.endCovRatio = poolParams.endCovRatio;
15
17
  }
@@ -88,6 +90,9 @@ class WombatQuoter {
88
90
  _quoteFrom(fromAsset, toAsset, fromAmount) {
89
91
  if (fromAmount < 0n) {
90
92
  fromAmount = (0, utils_1.wdiv)(fromAmount, utils_1.WAD - this.haircutRate);
93
+ if (this.withdrawalHaircutRate > 0n) {
94
+ fromAmount = (0, utils_1.wdiv)(fromAmount, utils_1.WAD - this.withdrawalHaircutRate);
95
+ }
91
96
  }
92
97
  let fromCash = fromAsset.cash;
93
98
  const toCash = toAsset.cash;
@@ -106,12 +111,19 @@ class WombatQuoter {
106
111
  }
107
112
  let actualToAmount, haircut;
108
113
  if (fromAmount > 0) {
109
- haircut = (0, utils_1.wmul)(idealToAmount, this.haircutRate);
114
+ const baseHaircut = (0, utils_1.wmul)(idealToAmount, this.haircutRate);
115
+ const withdrawalHaircut = this.withdrawalHaircutRate > 0n
116
+ ? (0, utils_1.wmul)(idealToAmount - baseHaircut, this.withdrawalHaircutRate)
117
+ : 0n;
118
+ haircut = baseHaircut + withdrawalHaircut;
110
119
  actualToAmount = idealToAmount - haircut;
111
120
  }
112
121
  else {
113
122
  actualToAmount = idealToAmount;
114
123
  haircut = (0, utils_1.wmul)(-fromAmount, this.haircutRate);
124
+ if (this.withdrawalHaircutRate > 0n) {
125
+ haircut += (0, utils_1.wmul)(-fromAmount, this.withdrawalHaircutRate);
126
+ }
115
127
  }
116
128
  return { actualToAmount, haircut };
117
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wombat-quoter.js","sourceRoot":"","sources":["../../../src/dex/wombat/wombat-quoter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wombat-quoter.js","sourceRoot":"","sources":["../../../src/dex/wombat/wombat-quoter.ts"],"names":[],"mappings":"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"}
@@ -141,15 +141,10 @@ class Wombat extends simple_exchange_1.SimpleExchange {
141
141
  if (srcTokenAddress === destTokenAddress)
142
142
  return null;
143
143
  const pools = (await this.findPools(srcTokenAddress, destTokenAddress, blockNumber)).filter(poolAddress => !limitPools || limitPools.includes(this.getPoolIdentifier(poolAddress)));
144
- const promises = [];
145
- for (const poolAddress of pools) {
146
- let state = await this.pools[poolAddress].getState(blockNumber);
147
- if (!state) {
148
- this.logger.warn(`State of pool ${poolAddress} is null in getPricesVolume, skipping...`);
149
- continue;
150
- }
144
+ const poolPrices = await Promise.all(pools.map(async (poolAddress) => {
145
+ const state = await this.pools[poolAddress].getOrGenerateState(blockNumber);
151
146
  const [unit, ...prices] = this.computePrices(srcTokenAddress, destTokenAddress, [(0, utils_1.getBigIntPow)(srcToken.decimals), ...amounts], side, state);
152
- promises.push({
147
+ return {
153
148
  prices,
154
149
  unit,
155
150
  data: {
@@ -160,9 +155,9 @@ class Wombat extends simple_exchange_1.SimpleExchange {
160
155
  /** @todo specify gas cost */
161
156
  gasCost: 260 * 1000,
162
157
  poolIdentifiers: [this.getPoolIdentifier(poolAddress)],
163
- });
164
- }
165
- return await Promise.all(promises);
158
+ };
159
+ }));
160
+ return poolPrices;
166
161
  }
167
162
  // take PoolState to compute price
168
163
  computePrices(srcTokenAddress, destTokenAddress, amounts, side, state) {
@@ -1 +1 @@
1
- {"version":3,"file":"wombat.js","sourceRoot":"","sources":["../../../src/dex/wombat/wombat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wombat.js","sourceRoot":"","sources":["../../../src/dex/wombat/wombat.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -226,7 +226,7 @@ export type DexConfigMap<DexParams> = {
226
226
  };
227
227
  export type TxObject = {
228
228
  from: Address;
229
- to?: Address;
229
+ to: Address;
230
230
  value: string;
231
231
  data: string;
232
232
  gasPrice?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "4.6.28-plasma.1",
3
+ "version": "4.6.29-ekubo-tenderly.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -53,7 +53,7 @@
53
53
  "dependencies": {
54
54
  "@balancer-labs/balancer-maths": "^0.0.36",
55
55
  "@balancer-labs/sor": "4.1.3",
56
- "@bgd-labs/aave-address-book": "4.34.1",
56
+ "@bgd-labs/aave-address-book": "4.15.1",
57
57
  "@ethersproject/abi": "^5.7.0",
58
58
  "@hashflow/sdk": "^2.2.7",
59
59
  "@hashflow/taker-js": "^0.4.1",
@@ -1,19 +0,0 @@
1
- [
2
- {
3
- "inputs": [
4
- { "internalType": "address", "name": "market", "type": "address" },
5
- { "internalType": "uint256", "name": "exactPtIn", "type": "uint256" },
6
- { "internalType": "address", "name": "tokenOut", "type": "address" }
7
- ],
8
- "name": "swapExactPtForTokenStatic",
9
- "outputs": [
10
- { "internalType": "uint256", "name": "netTokenOut", "type": "uint256" },
11
- { "internalType": "uint256", "name": "netSyToRedeem", "type": "uint256" },
12
- { "internalType": "uint256", "name": "netSyFee", "type": "uint256" },
13
- { "internalType": "uint256", "name": "priceImpact", "type": "uint256" },
14
- { "internalType": "uint256", "name": "exchangeRateAfter", "type": "uint256" }
15
- ],
16
- "stateMutability": "view",
17
- "type": "function"
18
- }
19
- ]