@paraswap/dex-lib 3.0.3-last-withdraw-balance-check.0 → 3.0.5

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 (80) hide show
  1. package/build/config.js +38 -32
  2. package/build/config.js.map +1 -1
  3. package/build/dex/bProtocol.js +1 -0
  4. package/build/dex/bProtocol.js.map +1 -1
  5. package/build/dex/balancer-v2/balancer-v2.d.ts +1 -3
  6. package/build/dex/balancer-v2/balancer-v2.js +86 -94
  7. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  8. package/build/dex/bancor.js +1 -0
  9. package/build/dex/bancor.js.map +1 -1
  10. package/build/dex/compound.js +1 -0
  11. package/build/dex/compound.js.map +1 -1
  12. package/build/dex/curve-v2/curve-v2.js +1 -0
  13. package/build/dex/curve-v2/curve-v2.js.map +1 -1
  14. package/build/dex/dodo-v1.js +1 -0
  15. package/build/dex/dodo-v1.js.map +1 -1
  16. package/build/dex/lido.js +1 -0
  17. package/build/dex/lido.js.map +1 -1
  18. package/build/dex/onebit.js +1 -0
  19. package/build/dex/onebit.js.map +1 -1
  20. package/build/dex/smoothy.d.ts +1 -1
  21. package/build/dex/smoothy.js +3 -2
  22. package/build/dex/smoothy.js.map +1 -1
  23. package/build/dex/stable-pool.d.ts +1 -1
  24. package/build/dex/stable-pool.js +2 -1
  25. package/build/dex/stable-pool.js.map +1 -1
  26. package/build/dex/trader-joe-v2.1.js +3 -3
  27. package/build/dex/trader-joe-v2.1.js.map +1 -1
  28. package/build/dex/weth/types.d.ts +2 -2
  29. package/build/dex/weth/weth.d.ts +2 -2
  30. package/build/dex/weth/weth.js +7 -5
  31. package/build/dex/weth/weth.js.map +1 -1
  32. package/build/executor/Executor02BytecodeBuilder.js +3 -1
  33. package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
  34. package/build/generic-swap-transaction-builder.js +2 -1
  35. package/build/generic-swap-transaction-builder.js.map +1 -1
  36. package/build/router/simpleswap.js +2 -1
  37. package/build/router/simpleswap.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/config.ts +38 -32
  40. package/src/dex/balancer-v2/balancer-v2.ts +100 -135
  41. package/src/dex/curve-v2/curve-v2.ts +1 -0
  42. package/src/dex/weth/types.ts +2 -1
  43. package/src/dex/weth/weth.ts +12 -6
  44. package/src/executor/Executor02BytecodeBuilder.ts +3 -1
  45. package/src/executor/executor02-bytecode-builder-e2e.test.ts +2 -7
  46. package/src/generic-swap-transaction-builder.ts +2 -0
  47. package/src/router/simpleswap.ts +2 -0
  48. package/tests/debug-price-route.json +83 -127
  49. package/.vscode/launch.json +0 -72
  50. package/.vscode/settings.json +0 -2
  51. package/.vscode/tasks.json +0 -15
  52. package/build/abi/AugustusV6.abi.json +0 -1454
  53. package/build/dex/algebra/scripts/validate-state-v1-1.d.ts +0 -1
  54. package/build/dex/algebra/scripts/validate-state-v1-1.js +0 -206
  55. package/build/dex/algebra/scripts/validate-state-v1-1.js.map +0 -1
  56. package/build/dex/augustus-approvals-helper.d.ts +0 -22
  57. package/build/dex/augustus-approvals-helper.js +0 -110
  58. package/build/dex/augustus-approvals-helper.js.map +0 -1
  59. package/build/dex/camelot/scripts/validate-state.d.ts +0 -1
  60. package/build/dex/camelot/scripts/validate-state.js +0 -84
  61. package/build/dex/camelot/scripts/validate-state.js.map +0 -1
  62. package/build/dex/generic-rfq/test-v6/constants.d.ts +0 -1
  63. package/build/dex/generic-rfq/test-v6/constants.js +0 -5
  64. package/build/dex/generic-rfq/test-v6/constants.js.map +0 -1
  65. package/build/dex/generic-rfq/test-v6/get-config.d.ts +0 -1
  66. package/build/dex/generic-rfq/test-v6/get-config.js +0 -63
  67. package/build/dex/generic-rfq/test-v6/get-config.js.map +0 -1
  68. package/build/dex/generic-rfq/test-v6/types.d.ts +0 -14
  69. package/build/dex/generic-rfq/test-v6/types.js +0 -3
  70. package/build/dex/generic-rfq/test-v6/types.js.map +0 -1
  71. package/build/dex/generic-rfq/tokens.json +0 -570
  72. package/build/dex/uniswap-v2/uniswap-v2-optimizer.d.ts +0 -2
  73. package/build/dex/uniswap-v2/uniswap-v2-optimizer.js +0 -75
  74. package/build/dex/uniswap-v2/uniswap-v2-optimizer.js.map +0 -1
  75. package/build/executor/IExecutorBytecodeBuilder.d.ts +0 -6
  76. package/build/executor/IExecutorBytecodeBuilder.js +0 -3
  77. package/build/executor/IExecutorBytecodeBuilder.js.map +0 -1
  78. package/build/executor/tests/utils-e2e-v6.d.ts +0 -8
  79. package/build/executor/tests/utils-e2e-v6.js +0 -175
  80. package/build/executor/tests/utils-e2e-v6.js.map +0 -1
package/build/config.js CHANGED
@@ -13,15 +13,15 @@ const baseConfigs = {
13
13
  wrappedNativeTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
14
14
  hasEIP1559: true,
15
15
  augustusAddress: '0xE4e284Eb7a312d95A7949fCA8C634164358f4492',
16
- augustusV6Address: '0x6d9D0F49A229d5431ffAB4631631b81712ae4E88',
16
+ augustusV6Address: '0x00000000FdAC7708D0D360BDDc1bc7d097F47439',
17
17
  augustusRFQAddress: '0xe92b586627ccA7a83dC919cc7127196d70f55a06',
18
18
  tokenTransferProxyAddress: '0x216b4b4ba9f3e719726886d34a177484278bfcae',
19
19
  multicallV2Address: '0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696',
20
20
  privateHttpProvider: process.env.HTTP_PROVIDER_1,
21
21
  executorsAddresses: {
22
- Executor01: '0xD7758272aC1Fc6a22ea60373D77E4776E11B2295',
23
- Executor02: '0x669dF6428bdaFc803667cB32cFF1f1600edc76c5',
24
- Executor03: '0xAd344037918220d2fEb02487bDa63b5d9933452A',
22
+ Executor01: '0x000000006E85dF93Da91e65184708f020e58df2c',
23
+ Executor02: '0x000000C0ef6dBff0E689d393EDBb93702eEEf0d8',
24
+ Executor03: '0x000000856CFe8D0625D96BD87712A074d90a9F5b',
25
25
  },
26
26
  adapterAddresses: {
27
27
  Adapter01: '0x9bE264469eF954c139Da4A45Cf76CbCC5e3A6A73',
@@ -128,15 +128,15 @@ const baseConfigs = {
128
128
  wrappedNativeTokenAddress: '0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c',
129
129
  hasEIP1559: false,
130
130
  augustusAddress: '0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57',
131
- augustusV6Address: '0xF0af4fB8128e762b3D4395A067d8E8b7F7675f43',
131
+ augustusV6Address: '0x00000000FdAC7708D0D360BDDc1bc7d097F47439',
132
132
  augustusRFQAddress: '0x8DcDfe88EF0351f27437284D0710cD65b20288bb',
133
133
  tokenTransferProxyAddress: '0x216b4b4ba9f3e719726886d34a177484278bfcae',
134
134
  multicallV2Address: '0xC50F4c1E81c873B2204D7eFf7069Ffec6Fbe136D',
135
135
  privateHttpProvider: process.env.HTTP_PROVIDER_56,
136
136
  executorsAddresses: {
137
- Executor01: '0xFaFaa66A6Bdb9E6a918af945F453F52bc4D46dD0',
138
- Executor02: '0xCE93fA014718fb6e7DC70a15d6810bBCc6C45bB9',
139
- Executor03: '0x7d5B7A82f0047E83064332A88918d7067c00AA14',
137
+ Executor01: '0x000000006E85dF93Da91e65184708f020e58df2c',
138
+ Executor02: '0x000000C0ef6dBff0E689d393EDBb93702eEEf0d8',
139
+ Executor03: '0x000000856CFe8D0625D96BD87712A074d90a9F5b',
140
140
  },
141
141
  hashFlowAuthToken: process.env.API_KEY_HASHFLOW_AUTH_TOKEN || '',
142
142
  smardexSubgraphAuthToken: process.env.API_KEY_SMARDEX_SUBGRAPH || '',
@@ -161,15 +161,15 @@ const baseConfigs = {
161
161
  wrappedNativeTokenAddress: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
162
162
  hasEIP1559: true,
163
163
  augustusAddress: '0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57',
164
- augustusV6Address: '0x37C950F12BAD772e3099c80FE6892227BaD2d744',
164
+ augustusV6Address: '0x00000000FdAC7708D0D360BDDc1bc7d097F47439',
165
165
  augustusRFQAddress: '0xF3CD476C3C4D3Ac5cA2724767f269070CA09A043',
166
166
  tokenTransferProxyAddress: '0x216b4b4ba9f3e719726886d34a177484278bfcae',
167
167
  multicallV2Address: '0x275617327c958bD06b5D6b871E7f491D76113dd8',
168
168
  privateHttpProvider: process.env.HTTP_PROVIDER_137,
169
169
  executorsAddresses: {
170
- Executor01: '0xF0af4fB8128e762b3D4395A067d8E8b7F7675f43',
171
- Executor02: '0x44f1DEE0489704C1144faC201E5E8724fcEe54fF',
172
- Executor03: '0x4f22F574A13b8ddea63441477322F268ec10b260',
170
+ Executor01: '0x000000006E85dF93Da91e65184708f020e58df2c',
171
+ Executor02: '0x000000C0ef6dBff0E689d393EDBb93702eEEf0d8',
172
+ Executor03: '0x000000856CFe8D0625D96BD87712A074d90a9F5b',
173
173
  },
174
174
  hashFlowAuthToken: process.env.API_KEY_HASHFLOW_AUTH_TOKEN || '',
175
175
  smardexSubgraphAuthToken: process.env.API_KEY_SMARDEX_SUBGRAPH || '',
@@ -196,7 +196,7 @@ const baseConfigs = {
196
196
  wrappedNativeTokenAddress: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
197
197
  hasEIP1559: true,
198
198
  augustusAddress: '0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57',
199
- augustusV6Address: '0x198B0641335D247Fd912C8C0911357b3C809dda4',
199
+ augustusV6Address: '0x00000000FdAC7708D0D360BDDc1bc7d097F47439',
200
200
  augustusRFQAddress: '0x34302c4267d0dA0A8c65510282Cc22E9e39df51f',
201
201
  tokenTransferProxyAddress: '0x216b4b4ba9f3e719726886d34a177484278bfcae',
202
202
  multicallV2Address: '0xd7Fc8aD069f95B6e2835f4DEff03eF84241cF0E1',
@@ -206,9 +206,9 @@ const baseConfigs = {
206
206
  hashFlowDisabledMMs: process.env[`HASHFLOW_DISABLED_MMS_43114`]?.split(',') || [],
207
207
  dexalotAuthToken: process.env.API_KEY_DEXALOT_AUTH_TOKEN || '',
208
208
  executorsAddresses: {
209
- Executor01: '0x7e4C0506b74EB8854bb71E5013731a71b1db89AA',
210
- Executor02: '0xe7b7FdfbD7dee9cA3c282d8585FCe194afBddbd4',
211
- Executor03: '0x3545deBA19352487A2DCdad38b6F274be905b675',
209
+ Executor01: '0x000000006E85dF93Da91e65184708f020e58df2c',
210
+ Executor02: '0x000000C0ef6dBff0E689d393EDBb93702eEEf0d8',
211
+ Executor03: '0x000000856CFe8D0625D96BD87712A074d90a9F5b',
212
212
  },
213
213
  adapterAddresses: {
214
214
  AvalancheAdapter01: '0x745Ec73855CeC7249E5fF4c9DD81cc65b4D297a9',
@@ -230,7 +230,7 @@ const baseConfigs = {
230
230
  wrappedNativeTokenAddress: '0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83',
231
231
  hasEIP1559: false,
232
232
  augustusAddress: '0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57',
233
- augustusV6Address: '0x6d9D0F49A229d5431ffAB4631631b81712ae4E88',
233
+ augustusV6Address: '0x00000000FdAC7708D0D360BDDc1bc7d097F47439',
234
234
  augustusRFQAddress: '0x2DF17455B96Dde3618FD6B1C3a9AA06D6aB89347',
235
235
  tokenTransferProxyAddress: '0x216b4b4ba9f3e719726886d34a177484278bfcae',
236
236
  multicallV2Address: '0xdC6E2b14260F972ad4e5a31c68294Fba7E720701',
@@ -239,9 +239,9 @@ const baseConfigs = {
239
239
  smardexSubgraphAuthToken: process.env.API_KEY_SMARDEX_SUBGRAPH || '',
240
240
  hashFlowDisabledMMs: process.env[`HASHFLOW_DISABLED_MMS_250`]?.split(',') || [],
241
241
  executorsAddresses: {
242
- Executor01: '0xD7758272aC1Fc6a22ea60373D77E4776E11B2295',
243
- Executor02: '0x669dF6428bdaFc803667cB32cFF1f1600edc76c5',
244
- Executor03: '0xAd344037918220d2fEb02487bDa63b5d9933452A',
242
+ Executor01: '0x000000006E85dF93Da91e65184708f020e58df2c',
243
+ Executor02: '0x000000C0ef6dBff0E689d393EDBb93702eEEf0d8',
244
+ Executor03: '0x000000856CFe8D0625D96BD87712A074d90a9F5b',
245
245
  },
246
246
  adapterAddresses: {
247
247
  FantomAdapter01: '0x654dE10890f8B2C5bF54E50Af169a7E93165C416',
@@ -262,7 +262,7 @@ const baseConfigs = {
262
262
  wrappedNativeTokenAddress: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
263
263
  hasEIP1559: false,
264
264
  augustusAddress: '0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57',
265
- augustusV6Address: '0x9ecA9E8529da35B456d6EcF01626f22d65B54859',
265
+ augustusV6Address: '0x00000000FdAC7708D0D360BDDc1bc7d097F47439',
266
266
  augustusRFQAddress: '0x0927FD43a7a87E3E8b81Df2c44B03C4756849F6D',
267
267
  tokenTransferProxyAddress: '0x216b4b4ba9f3e719726886d34a177484278bfcae',
268
268
  multicallV2Address: '0x7eCfBaa8742fDf5756DAC92fbc8b90a19b8815bF',
@@ -272,9 +272,9 @@ const baseConfigs = {
272
272
  swaapV2AuthToken: process.env.API_KEY_SWAAP_V2_AUTH_TOKEN || '',
273
273
  hashFlowDisabledMMs: process.env[`HASHFLOW_DISABLED_MMS_42161`]?.split(',') || [],
274
274
  executorsAddresses: {
275
- Executor01: '0x91754b995F44DccA0B4A547FD87f5F3662552b43',
276
- Executor02: '0x4Ba92797D3fC29d227E7efC139d0579eD02D75D3',
277
- Executor03: '0x22B10A9E6c33B3d6A965Da062C46250b9bAcf73E',
275
+ Executor01: '0x000000006E85dF93Da91e65184708f020e58df2c',
276
+ Executor02: '0x000000C0ef6dBff0E689d393EDBb93702eEEf0d8',
277
+ Executor03: '0x000000856CFe8D0625D96BD87712A074d90a9F5b',
278
278
  },
279
279
  adapterAddresses: {
280
280
  ArbitrumAdapter01: '0x369A2FDb910d432f0a07381a5E3d27572c876713',
@@ -297,15 +297,15 @@ const baseConfigs = {
297
297
  wrappedNativeTokenAddress: '0x4200000000000000000000000000000000000006',
298
298
  hasEIP1559: false,
299
299
  augustusAddress: '0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57',
300
- augustusV6Address: '0x4Ba92797D3fC29d227E7efC139d0579eD02D75D3',
300
+ augustusV6Address: '0x00000000FdAC7708D0D360BDDc1bc7d097F47439',
301
301
  augustusRFQAddress: '0x0927FD43a7a87E3E8b81Df2c44B03C4756849F6D',
302
302
  tokenTransferProxyAddress: '0x216b4b4ba9f3e719726886d34a177484278bfcae',
303
303
  multicallV2Address: '0x2DC0E2aa608532Da689e89e237dF582B783E552C',
304
304
  privateHttpProvider: process.env.HTTP_PROVIDER_10,
305
305
  executorsAddresses: {
306
- Executor01: '0x92c4b4539eCc74e48Deb4A299Ab95C27fAd717B1',
307
- Executor02: '0x22c973dFF9a96d1A258Dc83C300D2336ff2b5b1b',
308
- Executor03: '0xF0af4fB8128e762b3D4395A067d8E8b7F7675f43',
306
+ Executor01: '0x000000006E85dF93Da91e65184708f020e58df2c',
307
+ Executor02: '0x000000C0ef6dBff0E689d393EDBb93702eEEf0d8',
308
+ Executor03: '0x000000856CFe8D0625D96BD87712A074d90a9F5b',
309
309
  },
310
310
  hashFlowAuthToken: process.env.API_KEY_HASHFLOW_AUTH_TOKEN || '',
311
311
  smardexSubgraphAuthToken: process.env.API_KEY_SMARDEX_SUBGRAPH || '',
@@ -330,10 +330,16 @@ const baseConfigs = {
330
330
  wrappedNativeTokenAddress: '0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9',
331
331
  hasEIP1559: true,
332
332
  augustusAddress: '0xB83B554730d29cE4Cb55BB42206c3E2c03E4A40A',
333
+ augustusV6Address: '0x00000000FdAC7708D0D360BDDc1bc7d097F47439',
333
334
  augustusRFQAddress: '0x7Ee1F7fa4C0b2eDB0Fdd5944c14A07167700486E',
334
335
  tokenTransferProxyAddress: '0xc8a21fcd5a100c3ecc037c97e2f9c53a8d3a02a1',
335
336
  multicallV2Address: '0x6cA478C852DfA8941FC819fDf248606eA04780B6',
336
337
  privateHttpProvider: process.env.HTTP_PROVIDER_1101,
338
+ executorsAddresses: {
339
+ Executor01: '0x000000006E85dF93Da91e65184708f020e58df2c',
340
+ Executor02: '0x000000C0ef6dBff0E689d393EDBb93702eEEf0d8',
341
+ Executor03: '0x000000856CFe8D0625D96BD87712A074d90a9F5b',
342
+ },
337
343
  adapterAddresses: {
338
344
  PolygonZkEvmAdapter01: '0xd63B7691dD98fa89A2ea5e1604700489c585aa7B',
339
345
  PolygonZkEvmBuyAdapter: '0xe2137168CdA486a2555E16c597905854C84F9127',
@@ -358,7 +364,7 @@ const baseConfigs = {
358
364
  wrappedNativeTokenAddress: '0x4200000000000000000000000000000000000006',
359
365
  hasEIP1559: false,
360
366
  augustusAddress: '0x59C7C832e96D2568bea6db468C1aAdcbbDa08A52',
361
- augustusV6Address: '0x1B29ada231989c0BdEF578dcC2116D9F183AAF06',
367
+ augustusV6Address: '0x00000000FdAC7708D0D360BDDc1bc7d097F47439',
362
368
  augustusRFQAddress: '0xa003dFBA51C9e1e56C67ae445b852bdEd7aC5EEd',
363
369
  tokenTransferProxyAddress: '0x93aAAe79a53759cD164340E4C8766E4Db5331cD7',
364
370
  multicallV2Address: '0xeDF6D2a16e8081F777eB623EeB4411466556aF3d',
@@ -367,9 +373,9 @@ const baseConfigs = {
367
373
  smardexSubgraphAuthToken: process.env.API_KEY_SMARDEX_SUBGRAPH || '',
368
374
  hashFlowDisabledMMs: [],
369
375
  executorsAddresses: {
370
- Executor01: '0x1e5f415140252f09A0aa6d24a7aB257c6EB22487',
371
- Executor02: '0xa89E2eD6f043cB0Cea9221f532BCdc9A41580c78',
372
- Executor03: '0xc2465233ae9fa2F8D68a435901129CFd23a06441',
376
+ Executor01: '0x000000006E85dF93Da91e65184708f020e58df2c',
377
+ Executor02: '0x000000C0ef6dBff0E689d393EDBb93702eEEf0d8',
378
+ Executor03: '0x000000856CFe8D0625D96BD87712A074d90a9F5b',
373
379
  },
374
380
  adapterAddresses: {
375
381
  BaseAdapter01: '0xA10c9a84E72d9DfF424Fe2284B6460784bed407E',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ class BProtocol extends simple_exchange_1.SimpleExchange {
44
44
  return {
45
45
  needWrapNative: this.needWrapNative,
46
46
  dexFuncHasRecipient: true,
47
+ dexFuncHasDestToken: false,
47
48
  exchangeData: swapData,
48
49
  targetExchange: data.exchange,
49
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bProtocol.js","sourceRoot":"","sources":["../../src/dex/bProtocol.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA6D;AAU7D,uDAAmD;AACnD,2EAAiD;AAOjD,IAAK,kBAEJ;AAFD,WAAK,kBAAkB;IACrB,mCAAa,CAAA;AACf,CAAC,EAFI,kBAAkB,KAAlB,kBAAkB,QAEtB;AAED,MAAa,SACX,SAAQ,gCAAc;IAMtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9B,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAC1C,wBAA8B,CAC/B,CAAC;IACJ,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAC7C,MAAM,kBAAkB,GAAmB;YACzC,SAAS;YACT,UAAU;YACV,IAAI,CAAC,eAAe;SACrB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,YAAY,EACZ,kBAAkB,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAC7C,MAAM,kBAAkB,GAAmB;YACzC,SAAS;YACT,UAAU;YACV,SAAS;SACV,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,YAAY,EACZ,kBAAkB,CACnB,CAAC;QACF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,IAAI,CAAC,QAAQ;SAC9B,CAAC;IACJ,CAAC;;AAnFH,8BAoFC;AAhFQ,iBAAO,GAAG,CAAC,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"bProtocol.js","sourceRoot":"","sources":["../../src/dex/bProtocol.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA6D;AAU7D,uDAAmD;AACnD,2EAAiD;AAOjD,IAAK,kBAEJ;AAFD,WAAK,kBAAkB;IACrB,mCAAa,CAAA;AACf,CAAC,EAFI,kBAAkB,KAAlB,kBAAkB,QAEtB;AAED,MAAa,SACX,SAAQ,gCAAc;IAMtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9B,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAC1C,wBAA8B,CAC/B,CAAC;IACJ,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAC7C,MAAM,kBAAkB,GAAmB;YACzC,SAAS;YACT,UAAU;YACV,IAAI,CAAC,eAAe;SACrB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,YAAY,EACZ,kBAAkB,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAC7C,MAAM,kBAAkB,GAAmB;YACzC,SAAS;YACT,UAAU;YACV,SAAS;SACV,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,YAAY,EACZ,kBAAkB,CACnB,CAAC;QACF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,IAAI;YACzB,mBAAmB,EAAE,KAAK;YAC1B,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,IAAI,CAAC,QAAQ;SAC9B,CAAC;IACJ,CAAC;;AApFH,8BAqFC;AAjFQ,iBAAO,GAAG,CAAC,WAAW,CAAC,CAAC"}
@@ -86,9 +86,7 @@ export declare class BalancerV2 extends SimpleExchange implements IDex<BalancerV
86
86
  getPricesVolume(from: Token, to: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<BalancerV2Data>>;
87
87
  getCalldataGasCost(poolPrices: PoolPrices<BalancerV2Data>): number | number[];
88
88
  getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: OptimizedBalancerV2Data, side: SwapSide): AdapterExchangeParam;
89
- getBalancerParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: OptimizedBalancerV2Data, side: SwapSide): BalancerParam;
90
- getBalancerParamV6(srcToken: Address, destToken: Address, srcAmount: string, destAmount: string, data: OptimizedBalancerV2Data, side: SwapSide, recipient: Address, sender: Address, isDirect?: boolean): BalancerParam;
91
- private createSwapArray;
89
+ getBalancerParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: OptimizedBalancerV2Data, side: SwapSide, recipient: string, sender: string, shouldApplyHardLimits?: boolean): BalancerParam;
92
90
  static getDirectFunctionName(): string[];
93
91
  getTokenFromAddress(address: Address): Token;
94
92
  preProcessTransaction(optimalSwapExchange: OptimalSwapExchange<OptimizedBalancerV2Data>, srcToken: Token, _0: Token, _1: SwapSide, options: PreprocessTransactionOptions): Promise<[OptimalSwapExchange<OptimizedBalancerV2Data>, ExchangeTxInfo]>;
@@ -635,7 +635,7 @@ class BalancerV2 extends simple_exchange_1.SimpleExchange {
635
635
  CALLDATA_GAS_COST.FULL_WORD * 2);
636
636
  }
637
637
  getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
638
- const params = this.getBalancerParam(srcToken, destToken, srcAmount, destAmount, data, side);
638
+ const params = this.getBalancerParam(srcToken, destToken, srcAmount, destAmount, data, side, this.dexHelper.config.data.augustusAddress, this.dexHelper.config.data.augustusAddress);
639
639
  const payload = this.abiCoder.encodeParameter({
640
640
  ParentStruct: {
641
641
  'swaps[]': {
@@ -668,11 +668,59 @@ class BalancerV2 extends simple_exchange_1.SimpleExchange {
668
668
  networkFee: '0',
669
669
  };
670
670
  }
671
- getBalancerParam(srcToken, destToken, srcAmount, destAmount, data, side) {
671
+ /*
672
+ Algorithm to determine balancer (sender, recipient) params:
673
+
674
+ if version = 5
675
+ sender = recipient = augustusV5
676
+ else (so V6)
677
+ if direct swap
678
+ sender = recipient = augustusV6
679
+ else (so generic swaps)
680
+ if sell
681
+ if swap.destToken = priceRoute.destToken <> ETH (need withdraw for eth currently, need fix in future)
682
+ sender = executor and recipient = augustusV6 (skip 1 extra transfer)
683
+ else
684
+ sender = recipient = executor
685
+ # note: we pass sender=null then the address of the executor is inferred contract side
686
+ else (so buy)
687
+ sender = recipient = executor
688
+
689
+ ------------------------------------------------------------------------------------
690
+
691
+ Algorithm to determine balancer (limits) params:
692
+
693
+ if version = 5
694
+ limits = [MAX_INT * assetsCount]
695
+ else (so V6)
696
+ if direct swap and horizontal sequences
697
+ # note: v6 direct swap functions (swapExactAmountInOnBalancerV2 / swapExactAmountOutOnBalancerV2) do not allow parallel sequences of swap, read last note for details
698
+ if sell
699
+ limits = [srcAmount, ...[MAX_INT * assetsCount - 2]?, -destAmount]
700
+ else (so buy)
701
+ limits = [-destAmount, ...[MAX_INT * assetsCount - 2]?, srcAmount]
702
+ # note: in this particular case we need to walk the assets backward since direct contract functions expect assets and limits to be reversed (note this is not natively enforced in balancer, only in our contract). It's not safe to do in a parallel buy sequence.
703
+ else (so generic swaps)
704
+ limits = [MAX_INT * assetsCount]
705
+ # note:
706
+ # for cases where we pass an array [MAX_INT * assetsCount] this assumes that we relax local slippage checks in balancer in favor of global check in augustus
707
+ # otherwise, in direct v6 function, as we decode params off balancer and srcAmount and destAmount from limits array, this cannot work for parallel sequences where limits[-1] (sell) is a local slippage to 1 parallel branch only
708
+
709
+ */
710
+ getBalancerParam(srcToken, destToken, srcAmount, destAmount, data, side, recipient, sender, shouldApplyHardLimits) {
672
711
  let swapOffset = 0;
673
712
  let swaps = [];
674
713
  let assets = [];
675
714
  let limits = [];
715
+ if (shouldApplyHardLimits) {
716
+ if (data.swaps.length > 1) {
717
+ const error = new Error(`Not safe to apply hard limits for parallel sequences in balancerV2 in swapExactAmountInOnBalancerV2 / swapExactAmountOutOnBalancerV2`);
718
+ this.logger.error(error.message, error);
719
+ throw error;
720
+ }
721
+ }
722
+ // read function comment up
723
+ const shouldWalkAssetsBackward = side === constants_1.SwapSide.BUY && shouldApplyHardLimits;
676
724
  for (const swapData of data.swaps) {
677
725
  const pool = this.poolIdMap[swapData.poolId];
678
726
  const hasEth = [srcToken.toLowerCase(), destToken.toLowerCase()].includes(constants_1.ETHER_ADDRESS.toLowerCase());
@@ -688,16 +736,30 @@ class BalancerV2 extends simple_exchange_1.SimpleExchange {
688
736
  if (side === constants_1.SwapSide.BUY) {
689
737
  path = path.reverse();
690
738
  }
691
- const _swaps = path.map((hop, index) => ({
692
- poolId: hop.pool.id,
693
- assetInIndex: swapOffset + index,
694
- assetOutIndex: swapOffset + index + 1,
695
- amount: (side === constants_1.SwapSide.SELL && index === 0) ||
739
+ const _swaps = path.map((hop, index) => {
740
+ const assetInIndex = shouldWalkAssetsBackward
741
+ ? swapOffset + path.length - index
742
+ : swapOffset + index;
743
+ const assetOutIndex = shouldWalkAssetsBackward
744
+ ? swapOffset + path.length - index - 1
745
+ : swapOffset + index + 1;
746
+ const amount = (side === constants_1.SwapSide.SELL && index === 0) ||
696
747
  (side === constants_1.SwapSide.BUY && index === path.length - 1)
697
748
  ? swapData.amount
698
- : '0',
699
- userData: '0x',
700
- }));
749
+ : '0';
750
+ if (assetInIndex < 0 || assetOutIndex < 0) {
751
+ const error = new Error(`Invalid indices in balancer`);
752
+ this.logger.error(error.message, error);
753
+ throw error;
754
+ }
755
+ return {
756
+ poolId: hop.pool.id,
757
+ assetInIndex,
758
+ assetOutIndex,
759
+ amount,
760
+ userData: '0x',
761
+ };
762
+ });
701
763
  swapOffset += path.length + 1;
702
764
  // BalancerV2 Uses Address(0) as ETH
703
765
  const _assets = [_srcToken, ...path.map(hop => hop.tokenOut.address)].map(t => (hasEth && this.dexHelper.config.isWETH(t) ? constants_1.NULL_ADDRESS : t));
@@ -706,78 +768,17 @@ class BalancerV2 extends simple_exchange_1.SimpleExchange {
706
768
  assets = assets.concat(_assets);
707
769
  limits = limits.concat(_limits);
708
770
  }
709
- const funds = {
710
- sender: this.augustusAddress,
711
- recipient: this.augustusAddress,
712
- fromInternalBalance: false,
713
- toInternalBalance: false,
714
- };
715
- const params = [
716
- side === constants_1.SwapSide.SELL ? types_1.SwapTypes.SwapExactIn : types_1.SwapTypes.SwapExactOut,
717
- side === constants_1.SwapSide.SELL ? swaps : swaps.reverse(),
718
- assets,
719
- funds,
720
- limits,
721
- constants_1.MAX_UINT,
722
- ];
723
- return params;
724
- }
725
- getBalancerParamV6(srcToken, destToken, srcAmount, destAmount, data, side, recipient, sender, isDirect) {
726
- let swapOffset = 0;
727
- let swaps = [];
728
- let assets = [];
729
- let limits = [];
730
- const isDirectSwap = !!isDirect;
731
- for (const swapData of data.swaps) {
732
- const pool = this.poolIdMap[swapData.poolId];
733
- const hasEth = [srcToken.toLowerCase(), destToken.toLowerCase()].includes(constants_1.ETHER_ADDRESS.toLowerCase());
734
- const _srcToken = this.dexHelper.config.wrapETH({
735
- address: srcToken,
736
- decimals: 18,
737
- }).address;
738
- const _destToken = this.dexHelper.config.wrapETH({
739
- address: destToken,
740
- decimals: 18,
741
- }).address;
742
- let path = (0, utils_2.poolGetPathForTokenInOut)(_srcToken, _destToken, pool, this.poolAddressMap, side);
743
- if (side === constants_1.SwapSide.BUY) {
744
- path = path.reverse();
745
- }
746
- let _swaps = path.map((hop, index) => ({
747
- poolId: hop.pool.id,
748
- assetInIndex: swapOffset + index,
749
- assetOutIndex: swapOffset + index + 1,
750
- amount: (side === constants_1.SwapSide.SELL && index === 0) ||
751
- (side === constants_1.SwapSide.BUY && index === path.length - 1)
752
- ? swapData.amount
753
- : '0',
754
- userData: '0x',
755
- }));
756
- swapOffset += path.length + 1;
757
- // BalancerV2 Uses Address(0) as ETH
758
- let _assets = [_srcToken, ...path.map(hop => hop.tokenOut.address)].map(t => (hasEth && this.dexHelper.config.isWETH(t) ? constants_1.NULL_ADDRESS : t));
759
- if (isDirectSwap && side === constants_1.SwapSide.BUY) {
760
- _assets = _assets.reverse();
761
- _swaps = _swaps.map(swap => ({
762
- ...swap,
763
- assetInIndex: _assets.length - swap.assetInIndex - 1,
764
- assetOutIndex: _assets.length - swap.assetOutIndex - 1,
765
- }));
766
- }
767
- let _limits;
768
- if (isDirectSwap) {
769
- _limits = this.createSwapArray(_assets.length, side === constants_1.SwapSide.SELL ? 0 : 1, srcAmount, destAmount);
770
- }
771
- else {
772
- _limits = _assets.map(_ => constants_1.MAX_INT);
773
- }
774
- swaps = swaps.concat(_swaps);
775
- assets = assets.concat(_assets);
776
- limits = limits.concat(_limits);
771
+ if (shouldApplyHardLimits) {
772
+ // re-accumulate amount to prevent leaving dust in payer contract
773
+ const accumulatedAmount = swaps
774
+ .reduce((acc, s) => acc + BigInt(s.amount), 0n)
775
+ .toString();
776
+ [limits[0], limits[limits.length - 1]] =
777
+ side == constants_1.SwapSide.SELL
778
+ ? [accumulatedAmount, (-BigInt(destAmount)).toString()]
779
+ : [(-BigInt(destAmount)).toString(), srcAmount];
777
780
  }
778
781
  const funds = {
779
- // for Direct: Both sender and recipient is AugustusV6
780
- // for Generic, `sender`: BUY -> pass Executor3, for SELL -> pass NULL_ADDRESS (it's gonna be determined in the contract)
781
782
  sender,
782
783
  recipient,
783
784
  fromInternalBalance: false,
@@ -786,22 +787,13 @@ class BalancerV2 extends simple_exchange_1.SimpleExchange {
786
787
  const params = [
787
788
  side === constants_1.SwapSide.SELL ? types_1.SwapTypes.SwapExactIn : types_1.SwapTypes.SwapExactOut,
788
789
  side === constants_1.SwapSide.SELL ? swaps : swaps.reverse(),
789
- assets,
790
+ shouldWalkAssetsBackward ? assets.reverse() : assets,
790
791
  funds,
791
792
  limits,
792
793
  constants_1.MAX_UINT,
793
794
  ];
794
795
  return params;
795
796
  }
796
- createSwapArray(lengthOfAssets, swapKind, fromAmount, toAmount) {
797
- let swapArray = new Array(lengthOfAssets).fill('0');
798
- // Assign values based on swapKind
799
- swapArray[0] =
800
- swapKind === 0 ? fromAmount : ethers_1.BigNumber.from(toAmount).mul(-1).toString();
801
- swapArray[lengthOfAssets - 1] =
802
- swapKind === 0 ? ethers_1.BigNumber.from(toAmount).mul(-1).toString() : fromAmount;
803
- return swapArray;
804
- }
805
797
  static getDirectFunctionName() {
806
798
  return [constants_2.DirectMethods.directSell, constants_2.DirectMethods.directBuy];
807
799
  }
@@ -848,7 +840,7 @@ class BalancerV2 extends simple_exchange_1.SimpleExchange {
848
840
  if (data.isApproved === undefined) {
849
841
  this.logger.warn(`isApproved is undefined, defaulting to false`);
850
842
  }
851
- const [, swaps, assets, funds, limits, _deadline] = this.getBalancerParam(srcToken, destToken, srcAmount, destAmount, data, side);
843
+ const [, swaps, assets, funds, limits, _deadline] = this.getBalancerParam(srcToken, destToken, srcAmount, destAmount, data, side, this.dexHelper.config.data.augustusAddress, this.dexHelper.config.data.augustusAddress);
852
844
  const swapParams = [
853
845
  swaps,
854
846
  assets,
@@ -887,7 +879,7 @@ class BalancerV2 extends simple_exchange_1.SimpleExchange {
887
879
  (0, utils_3.hexZeroPad)((0, utils_1.uuidToBytes16)(uuid), 16),
888
880
  (0, utils_3.hexZeroPad)((0, utils_3.hexlify)(blockNumber), 16),
889
881
  ]);
890
- const balancerParams = this.getBalancerParamV6(srcToken, destToken, fromAmount, toAmount, data, side, this.dexHelper.config.data.augustusV6Address, this.dexHelper.config.data.augustusV6Address, true);
882
+ const balancerParams = this.getBalancerParam(srcToken, destToken, fromAmount, toAmount, data, side, this.dexHelper.config.data.augustusV6Address, this.dexHelper.config.data.augustusV6Address, true);
891
883
  const swapParams = [
892
884
  quotedAmount,
893
885
  metadata,
@@ -924,12 +916,12 @@ class BalancerV2 extends simple_exchange_1.SimpleExchange {
924
916
  return [constants_2.DirectMethodsV6.directSell, constants_2.DirectMethodsV6.directBuy];
925
917
  }
926
918
  async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
927
- const params = this.getBalancerParam(srcToken, destToken, srcAmount, destAmount, data, side);
919
+ const params = this.getBalancerParam(srcToken, destToken, srcAmount, destAmount, data, side, this.dexHelper.config.data.augustusAddress, this.dexHelper.config.data.augustusAddress);
928
920
  const swapData = this.eventPools.vaultInterface.encodeFunctionData('batchSwap', params);
929
921
  return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, this.vaultAddress);
930
922
  }
931
923
  getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side, context) {
932
- const params = this.getBalancerParamV6(srcToken, destToken, srcAmount, destAmount, data, side, recipient, side === constants_1.SwapSide.BUY
924
+ const params = this.getBalancerParam(srcToken, destToken, srcAmount, destAmount, data, side, recipient, side === constants_1.SwapSide.BUY
933
925
  ? this.dexHelper.config.data.executorsAddresses[types_2.Executors.THREE]
934
926
  : constants_1.NULL_ADDRESS);
935
927
  let exchangeData = this.eventPools.vaultInterface.encodeFunctionData('batchSwap', params);