@paraswap/dex-lib 2.50.6-sdai → 2.50.7-sdai

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 (113) hide show
  1. package/build/config.js +4 -2
  2. package/build/config.js.map +1 -1
  3. package/build/dex/algebra/config.js +0 -16
  4. package/build/dex/algebra/config.js.map +1 -1
  5. package/build/dex/curve-v1-factory/config.js +128 -11
  6. package/build/dex/curve-v1-factory/config.js.map +1 -1
  7. package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +1 -0
  8. package/build/dex/curve-v1-factory/curve-v1-factory.js +29 -17
  9. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  10. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +1 -0
  11. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
  12. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js +1 -0
  13. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js.map +1 -1
  14. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js +4 -1
  15. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js.map +1 -1
  16. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js +1 -0
  17. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js.map +1 -1
  18. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js +1 -0
  19. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js.map +1 -1
  20. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js +1 -0
  21. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js.map +1 -1
  22. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js +1 -0
  23. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js.map +1 -1
  24. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js +1 -0
  25. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js.map +1 -1
  26. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js +10 -0
  27. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js.map +1 -1
  28. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js +40 -0
  29. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js.map +1 -1
  30. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js +1 -0
  31. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js.map +1 -1
  32. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js +1 -0
  33. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js.map +1 -1
  34. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js +24 -0
  35. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js.map +1 -1
  36. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js +1 -0
  37. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js.map +1 -1
  38. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js +53 -0
  39. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js.map +1 -1
  40. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js +1 -0
  41. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js.map +1 -1
  42. package/build/dex/curve-v1-factory/price-handlers/functions/utils.d.ts +1 -0
  43. package/build/dex/curve-v1-factory/price-handlers/functions/utils.js +5 -1
  44. package/build/dex/curve-v1-factory/price-handlers/functions/utils.js.map +1 -1
  45. package/build/dex/curve-v1-factory/price-handlers/types.d.ts +2 -2
  46. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.d.ts +3 -2
  47. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +38 -6
  48. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
  49. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.js.map +1 -1
  50. package/build/dex/curve-v1-factory/types.d.ts +11 -2
  51. package/build/dex/curve-v1-factory/types.js +3 -0
  52. package/build/dex/curve-v1-factory/types.js.map +1 -1
  53. package/build/dex/dexalot/config.js +7 -0
  54. package/build/dex/dexalot/config.js.map +1 -1
  55. package/build/dex/hashflow/constants.d.ts +27 -0
  56. package/build/dex/hashflow/constants.js +29 -1
  57. package/build/dex/hashflow/constants.js.map +1 -1
  58. package/build/dex/hashflow/hashflow.d.ts +3 -2
  59. package/build/dex/hashflow/hashflow.js +69 -12
  60. package/build/dex/hashflow/hashflow.js.map +1 -1
  61. package/build/dex/hashflow/types.d.ts +11 -0
  62. package/build/dex/hashflow/types.js +9 -0
  63. package/build/dex/hashflow/types.js.map +1 -1
  64. package/build/dex/idex.d.ts +1 -1
  65. package/build/dex/index.d.ts +2 -2
  66. package/build/dex/pancakeswap-v3/config.js +30 -0
  67. package/build/dex/pancakeswap-v3/config.js.map +1 -1
  68. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +5 -1
  69. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  70. package/build/dex/woo-fi-v2/config.js +4 -4
  71. package/package.json +1 -1
  72. package/src/config.ts +4 -2
  73. package/src/dex/algebra/config.ts +0 -18
  74. package/src/dex/curve-v1-factory/config.ts +128 -11
  75. package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +123 -1
  76. package/src/dex/curve-v1-factory/curve-v1-factory-integration.test.ts +392 -0
  77. package/src/dex/curve-v1-factory/curve-v1-factory.ts +61 -39
  78. package/src/dex/curve-v1-factory/curve-v1-pool-manager.ts +1 -0
  79. package/src/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.ts +2 -0
  80. package/src/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.ts +6 -2
  81. package/src/dex/curve-v1-factory/price-handlers/functions/_rates.ts +2 -0
  82. package/src/dex/curve-v1-factory/price-handlers/functions/_xp.ts +2 -0
  83. package/src/dex/curve-v1-factory/price-handlers/functions/_xp_mem.ts +2 -0
  84. package/src/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.ts +2 -0
  85. package/src/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.ts +2 -0
  86. package/src/dex/curve-v1-factory/price-handlers/functions/constants.ts +11 -0
  87. package/src/dex/curve-v1-factory/price-handlers/functions/get_D.ts +59 -1
  88. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_mem.ts +2 -0
  89. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.ts +2 -0
  90. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy.ts +51 -0
  91. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.ts +2 -0
  92. package/src/dex/curve-v1-factory/price-handlers/functions/get_y.ts +68 -1
  93. package/src/dex/curve-v1-factory/price-handlers/functions/get_y_D.ts +2 -0
  94. package/src/dex/curve-v1-factory/price-handlers/functions/utils.ts +4 -0
  95. package/src/dex/curve-v1-factory/price-handlers/types.ts +8 -1
  96. package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +71 -18
  97. package/src/dex/curve-v1-factory/state-polling-pools/pool-polling-base.ts +1 -0
  98. package/src/dex/curve-v1-factory/types.ts +12 -1
  99. package/src/dex/dexalot/config.ts +7 -0
  100. package/src/dex/dexalot/dexalot-e2e.test.ts +23 -1
  101. package/src/dex/dexalot/dexalot-integration.test.ts +121 -0
  102. package/src/dex/hashflow/constants.ts +32 -0
  103. package/src/dex/hashflow/hashflow.ts +121 -19
  104. package/src/dex/hashflow/types.ts +20 -2
  105. package/src/dex/idex.ts +1 -1
  106. package/src/dex/index.ts +2 -2
  107. package/src/dex/pancakeswap-v3/config.ts +32 -0
  108. package/src/dex/pancakeswap-v3/pancakeswap-v3-e2e.test.ts +21 -0
  109. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +7 -1
  110. package/src/dex/woo-fi-v2/config.ts +4 -4
  111. package/tests/constants-e2e.ts +38 -3
  112. package/tests/utils-e2e.ts +1 -0
  113. package/src/abi/uniswap-v3/AlienBaseV3Router.abi.json +0 -52
@@ -1 +1 @@
1
- {"version":3,"file":"pancakeswap-v3.js","sourceRoot":"","sources":["../../../src/dex/pancakeswap-v3/pancakeswap-v3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pancakeswap-v3.js","sourceRoot":"","sources":["../../../src/dex/pancakeswap-v3/pancakeswap-v3.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,8 @@ exports.WooFiV2Config = {
15
15
  },
16
16
  },
17
17
  [constants_1.Network.BSC]: {
18
- wooPPV2Address: '0x59dE3B49314Bf5067719364A2Cb43e8525ab93FA',
19
- wooOracleV2Address: '0x72dc7fa5eeb901a34173C874A7333c8d1b34bca9',
18
+ wooPPV2Address: '0xEd9e3f98bBed560e66B89AaC922E29D4596A9642',
19
+ wooOracleV2Address: '0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6',
20
20
  integrationHelperAddress: '0xAA9c15cd603428cA8ddD45e933F8EfE3Afbcc173',
21
21
  // USDT
22
22
  quoteToken: {
@@ -55,8 +55,8 @@ exports.WooFiV2Config = {
55
55
  },
56
56
  },
57
57
  [constants_1.Network.AVALANCHE]: {
58
- wooPPV2Address: '0x3b3E4b4741e91aF52d0e9ad8660573E951c88524',
59
- wooOracleV2Address: '0xc13843aE0D2C5ca9E0EfB93a78828446D8173d19',
58
+ wooPPV2Address: '0xEd9e3f98bBed560e66B89AaC922E29D4596A9642',
59
+ wooOracleV2Address: '0x2A375567f5E13F6bd74fDa7627Df3b1Af6BfA5a6',
60
60
  integrationHelperAddress: '0x020630613E296c3E9b06186f630D1bF97A2B6Ad1',
61
61
  // USDC
62
62
  quoteToken: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.50.6-sdai",
3
+ "version": "2.50.7-sdai",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
package/src/config.ts CHANGED
@@ -55,7 +55,7 @@ const baseConfigs: { [network: number]: BaseConfig } = {
55
55
  Adapter03: '0xBAEeb4540f59d30E567a5B563CC0c4587eDd9366',
56
56
  Adapter04: '0x369A2FDb910d432f0a07381a5E3d27572c876713',
57
57
  Adapter05: '0x3329dfa55A40B450952FBE0203167Ae6908E656d',
58
- Adapter06: '0x28bb3069aaa8ff9a39480c8c096718d3b354108b',
58
+ Adapter06: '0xe9166234DFB6d3ec05C82404109C02Ca82b16c22',
59
59
  BuyAdapter: '0x84bEF12C9931cE12662cc9F2366b6a5029E4BD29',
60
60
  BuyAdapter02: '0x40dB7541b0c655a3a70c4713aD6879Ec3861c1FE',
61
61
  },
@@ -289,10 +289,12 @@ const baseConfigs: { [network: number]: BaseConfig } = {
289
289
  swaapV2AuthToken: process.env.API_KEY_SWAAP_V2_AUTH_TOKEN || '',
290
290
  hashFlowDisabledMMs:
291
291
  process.env[`HASHFLOW_DISABLED_MMS_42161`]?.split(',') || [],
292
+ dexalotAuthToken: process.env.API_KEY_DEXALOT_AUTH_TOKEN || '',
292
293
  adapterAddresses: {
293
294
  ArbitrumAdapter01: '0x369A2FDb910d432f0a07381a5E3d27572c876713',
294
295
  ArbitrumAdapter02: '0x58a5f0b73969800FAFf8556cD2187E3FCE71A6cb',
295
- ArbitrumBuyAdapter: '0x4483Ae378897eB9FbF7f15Df98Bf07233ffFEe8b',
296
+ ArbitrumAdapter03: '0x97bdD2B98D9802b0e387FefdB2882C1b2dc2c344',
297
+ ArbitrumBuyAdapter: '0x005213c48d4aafFcA0b6D1CbA8710F4D035C18f9',
296
298
  },
297
299
  uniswapV2ExchangeRouterAddress:
298
300
  '0xB41dD984730dAf82f5C41489E21ac79D5e3B61bC',
@@ -86,24 +86,6 @@ export const AlgebraConfig: DexConfigMap<DexParams> = {
86
86
  forceRPC: true,
87
87
  },
88
88
  },
89
- SwapBasedV3: {
90
- [Network.BASE]: {
91
- factory: '0xC207628E5e2b59E9C690071e68c7C1c4193b0252',
92
- router: '0xd58f563a7d6150a2575c74065cb18f53ec2e9d07',
93
- quoter: '0x64F477C68049B554113Bab6526038bcF5643136c',
94
- initHash:
95
- '0xbce37a54eab2fcd71913a0d40723e04238970e7fc1159bfd58ad5b79531697e7',
96
- chunksCount: 10,
97
- initRetryFrequency: 10,
98
- algebraStateMulticall: '0x23d574867597c7A980024d8b83a74b6Ca6E08A7B',
99
- subgraphURL:
100
- 'https://api.thegraph.com/subgraphs/name/chimpydev/swapbased-algebra-core',
101
- uniswapMulticall: '0xce512f490Bf09C4544A12a7264750B28FbE9AD76',
102
- deployer: '0xe4DFd4ad723B5DB11aa41D53603dB03B117eC690',
103
- version: 'v1.9-bidirectional-fee',
104
- forceRPC: true,
105
- },
106
- },
107
89
  };
108
90
 
109
91
  export const Adapters: Record<number, AdapterMappings> = {
@@ -9,13 +9,25 @@ import {
9
9
  import { DexConfigMap, AdapterMappings } from '../../types';
10
10
  import { Network, SwapSide } from '../../constants';
11
11
  import { normalizeAddress } from '../../utils';
12
+ import { FACTORY_MAX_PLAIN_COINS } from './constants';
12
13
 
14
+ // stable ng factories addresses are taken from https://github.com/curvefi/curve-api/blob/main/constants/configs/configs.js
13
15
  const CurveV1FactoryConfig: DexConfigMap<DexParams> = {
14
16
  CurveV1Factory: {
15
17
  [Network.MAINNET]: {
16
- factoryAddresses: [
17
- '0xB9fC157394Af804a3578134A6585C0dc9cc990d4',
18
- '0x4f8846ae9380b90d2e71d5e3d042dff3e7ebb40d',
18
+ factories: [
19
+ {
20
+ address: '0xB9fC157394Af804a3578134A6585C0dc9cc990d4',
21
+ maxPlainCoins: FACTORY_MAX_PLAIN_COINS,
22
+ },
23
+ {
24
+ address: '0x4f8846ae9380b90d2e71d5e3d042dff3e7ebb40d',
25
+ maxPlainCoins: FACTORY_MAX_PLAIN_COINS,
26
+ },
27
+ {
28
+ address: '0x6A8cbed756804B16E05E741eDaBd5cB544AE21bf', // factory stable ng
29
+ isStableNg: true,
30
+ },
19
31
  ],
20
32
  stateUpdatePeriodMs: 5 * 1000,
21
33
  disabledPools: new Set([
@@ -158,6 +170,30 @@ const CurveV1FactoryConfig: DexConfigMap<DexParams> = {
158
170
  address: '0x67fe41A94e779CcFa22cff02cc2957DC9C0e4286',
159
171
  liquidityApiSlug: '/factory-crvusd',
160
172
  },
173
+ '0xdcc91f930b42619377c200ba05b7513f2958b202': {
174
+ name: ImplementationNames.FACTORY_STABLE_NG,
175
+ address: '0xdcc91f930b42619377c200ba05b7513f2958b202',
176
+ liquidityApiSlug: '/factory-stable-ng',
177
+ isStoreRateSupported: true,
178
+ },
179
+ '0x933f4769dcc27fc7345d9d5975ae48ec4d0f829c': {
180
+ name: ImplementationNames.FACTORY_STABLE_NG,
181
+ address: '0x933f4769dcc27fc7345d9d5975ae48ec4d0f829c',
182
+ liquidityApiSlug: '/factory-stable-ng',
183
+ isStoreRateSupported: true,
184
+ },
185
+ '0xede71f77d7c900dca5892720e76316c6e575f0f7': {
186
+ name: ImplementationNames.FACTORY_STABLE_NG,
187
+ address: '0xede71f77d7c900dca5892720e76316c6e575f0f7',
188
+ liquidityApiSlug: '/factory-stable-ng',
189
+ isStoreRateSupported: true,
190
+ },
191
+ '0xdd7ebb1c49780519dd9755b8b1a23a6f42ce099e': {
192
+ name: ImplementationNames.FACTORY_STABLE_NG,
193
+ address: '0xdd7ebb1c49780519dd9755b8b1a23a6f42ce099e',
194
+ liquidityApiSlug: '/factory-stable-ng',
195
+ isStoreRateSupported: true,
196
+ },
161
197
  },
162
198
  customPools: {
163
199
  '0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2': {
@@ -208,7 +244,16 @@ const CurveV1FactoryConfig: DexConfigMap<DexParams> = {
208
244
  },
209
245
  },
210
246
  [Network.POLYGON]: {
211
- factoryAddresses: ['0x722272D36ef0Da72FF51c5A65Db7b870E2e8D4ee'],
247
+ factories: [
248
+ {
249
+ address: '0x722272D36ef0Da72FF51c5A65Db7b870E2e8D4ee',
250
+ maxPlainCoins: FACTORY_MAX_PLAIN_COINS,
251
+ },
252
+ {
253
+ address: '0x1764ee18e8B3ccA4787249Ceb249356192594585', // factory stable ng
254
+ isStableNg: true,
255
+ },
256
+ ],
212
257
  stateUpdatePeriodMs: 2 * 1000,
213
258
  disabledPools: new Set([
214
259
  '0x666Dc3b4baBfd063FaF965BD020024AF0dC51B64',
@@ -291,6 +336,18 @@ const CurveV1FactoryConfig: DexConfigMap<DexParams> = {
291
336
  address: '0xD8336532f6ED7b94282fAF724fe41d6145E07Cfc',
292
337
  basePoolAddress: '0xC2d95EEF97Ec6C17551d45e77B590dc1F9117C67',
293
338
  },
339
+ '0xe265fc390e9129b7e337da23cd42e00c34da2ce3': {
340
+ name: ImplementationNames.FACTORY_STABLE_NG,
341
+ address: '0xe265fc390e9129b7e337da23cd42e00c34da2ce3',
342
+ liquidityApiSlug: '/factory-stable-ng',
343
+ isStoreRateSupported: true,
344
+ },
345
+ '0xa7ba18eefcd9513230987ec2fab6711af5abd9c2': {
346
+ name: ImplementationNames.FACTORY_STABLE_NG,
347
+ address: '0xa7ba18eefcd9513230987ec2fab6711af5abd9c2',
348
+ liquidityApiSlug: '/factory-stable-ng',
349
+ isStoreRateSupported: true,
350
+ },
294
351
  },
295
352
  customPools: {
296
353
  '0x445FE580eF8d70FF569aB36e80c647af338db351': {
@@ -314,7 +371,16 @@ const CurveV1FactoryConfig: DexConfigMap<DexParams> = {
314
371
  },
315
372
  },
316
373
  [Network.FANTOM]: {
317
- factoryAddresses: ['0x686d67265703D1f124c45E33d47d794c566889Ba'],
374
+ factories: [
375
+ {
376
+ address: '0x686d67265703D1f124c45E33d47d794c566889Ba',
377
+ maxPlainCoins: FACTORY_MAX_PLAIN_COINS,
378
+ },
379
+ {
380
+ address: '0xe61Fb97Ef6eBFBa12B36Ffd7be785c1F5A2DE66b', // factory stable ng
381
+ isStableNg: true,
382
+ },
383
+ ],
318
384
  stateUpdatePeriodMs: 2 * 1000,
319
385
  disabledPools: new Set([]),
320
386
  disabledImplementations: new Set([]),
@@ -397,6 +463,12 @@ const CurveV1FactoryConfig: DexConfigMap<DexParams> = {
397
463
  address: '0xf82162bb68ad5a168345bb7efb2faa0edcca5177',
398
464
  basePoolAddress: '0x0fa949783947Bf6c1b171DB13AEACBB488845B3f',
399
465
  },
466
+ '0x5702bdb1ec244704e3cbbaae11a0275ae5b07499': {
467
+ name: ImplementationNames.FACTORY_STABLE_NG,
468
+ address: '0x5702bdb1ec244704e3cbbaae11a0275ae5b07499',
469
+ liquidityApiSlug: '/factory-stable-ng',
470
+ isStoreRateSupported: true,
471
+ },
400
472
  },
401
473
  customPools: {
402
474
  '0x27E611FD27b276ACbd5Ffd632E5eAEBEC9761E40': {
@@ -429,7 +501,12 @@ const CurveV1FactoryConfig: DexConfigMap<DexParams> = {
429
501
  },
430
502
  },
431
503
  [Network.AVALANCHE]: {
432
- factoryAddresses: ['0xb17b674D9c5CB2e441F8e196a2f048A81355d031'],
504
+ factories: [
505
+ {
506
+ address: '0xb17b674D9c5CB2e441F8e196a2f048A81355d031',
507
+ maxPlainCoins: FACTORY_MAX_PLAIN_COINS,
508
+ },
509
+ ],
433
510
  stateUpdatePeriodMs: 2 * 1000,
434
511
  // FIX: This must be removed when we go for full CurveV1 event based support
435
512
  disabledPools: new Set(['0x16a7da911a4dd1d83f3ff066fe28f3c792c50d90']),
@@ -527,7 +604,16 @@ const CurveV1FactoryConfig: DexConfigMap<DexParams> = {
527
604
  },
528
605
  },
529
606
  [Network.ARBITRUM]: {
530
- factoryAddresses: ['0xb17b674D9c5CB2e441F8e196a2f048A81355d031'],
607
+ factories: [
608
+ {
609
+ address: '0xb17b674D9c5CB2e441F8e196a2f048A81355d031',
610
+ maxPlainCoins: FACTORY_MAX_PLAIN_COINS,
611
+ },
612
+ {
613
+ address: '0x9AF14D26075f142eb3F292D5065EB3faa646167b', // factory stable ng
614
+ isStableNg: true,
615
+ },
616
+ ],
531
617
  stateUpdatePeriodMs: 2 * 1000,
532
618
  disabledPools: new Set([]),
533
619
  disabledImplementations: new Set([]),
@@ -621,6 +707,18 @@ const CurveV1FactoryConfig: DexConfigMap<DexParams> = {
621
707
  customGasCost: 130_000,
622
708
  isStoreRateSupported: true,
623
709
  },
710
+ '0xf6841c27fe35ed7069189afd5b81513578afd7ff': {
711
+ name: ImplementationNames.FACTORY_STABLE_NG,
712
+ address: '0xf6841c27fe35ed7069189afd5b81513578afd7ff',
713
+ liquidityApiSlug: '/factory-stable-ng',
714
+ isStoreRateSupported: true,
715
+ },
716
+ '0xff02cbd91f57a778bab7218da562594a680b8b61': {
717
+ name: ImplementationNames.FACTORY_STABLE_NG,
718
+ address: '0xff02cbd91f57a778bab7218da562594a680b8b61',
719
+ liquidityApiSlug: '/factory-stable-ng',
720
+ isStoreRateSupported: true,
721
+ },
624
722
  },
625
723
  customPools: {
626
724
  '0x7f90122BF0700F9E7e1F688fe926940E8839F353': {
@@ -653,7 +751,16 @@ const CurveV1FactoryConfig: DexConfigMap<DexParams> = {
653
751
  },
654
752
  },
655
753
  [Network.OPTIMISM]: {
656
- factoryAddresses: ['0x2db0E83599a91b508Ac268a6197b8B14F5e72840'],
754
+ factories: [
755
+ {
756
+ address: '0x2db0E83599a91b508Ac268a6197b8B14F5e72840',
757
+ maxPlainCoins: FACTORY_MAX_PLAIN_COINS,
758
+ },
759
+ {
760
+ address: '0x5eeE3091f747E60a045a2E715a4c71e600e31F6E', // factory stable ng
761
+ isStableNg: true,
762
+ },
763
+ ],
657
764
  stateUpdatePeriodMs: 2 * 1000,
658
765
  disabledPools: new Set([]),
659
766
  disabledImplementations: new Set([]),
@@ -737,6 +844,12 @@ const CurveV1FactoryConfig: DexConfigMap<DexParams> = {
737
844
  customGasCost: 130_000,
738
845
  isStoreRateSupported: true,
739
846
  },
847
+ '0x635742dcc8313dcf8c904206037d962c042eafbd': {
848
+ name: ImplementationNames.FACTORY_STABLE_NG,
849
+ address: '0x635742dcc8313dcf8c904206037d962c042eafbd',
850
+ liquidityApiSlug: '/factory-stable-ng',
851
+ isStoreRateSupported: true,
852
+ },
740
853
  },
741
854
  customPools: {
742
855
  '0x1337BedC9D22ecbe766dF105c9623922A27963EC': {
@@ -867,6 +980,7 @@ const configAddressesNormalizer = (
867
980
  ? normalizeAddress(implementationConfig.basePoolAddress)
868
981
  : undefined,
869
982
  isStoreRateSupported: implementationConfig.isStoreRateSupported,
983
+ liquidityApiSlug: implementationConfig.liquidityApiSlug,
870
984
  };
871
985
  acc[normalizeAddress(implementationAddress)] =
872
986
  normalizedImplementation;
@@ -877,9 +991,12 @@ const configAddressesNormalizer = (
877
991
 
878
992
  // Unite everything into top level config
879
993
  const normalizedConfig: DexParams = {
880
- factoryAddresses: _config.factoryAddresses
881
- ? _config.factoryAddresses.map(e => e.toLowerCase())
882
- : _config.factoryAddresses,
994
+ factories: _config.factories
995
+ ? _config.factories.map(e => ({
996
+ ...e,
997
+ address: e.address.toLowerCase(),
998
+ }))
999
+ : _config.factories,
883
1000
  stateUpdatePeriodMs: _config.stateUpdatePeriodMs,
884
1001
  factoryPoolImplementations,
885
1002
  customPools,
@@ -50,6 +50,11 @@ function testForNetwork(
50
50
  contractMethod,
51
51
  network,
52
52
  provider,
53
+ undefined,
54
+ undefined,
55
+ undefined,
56
+ undefined,
57
+ 5000,
53
58
  );
54
59
  });
55
60
  it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
@@ -111,7 +116,6 @@ describe('CurveV1Factory E2E', () => {
111
116
  tokenBAmount,
112
117
  );
113
118
  });
114
-
115
119
  describe('Mainnet crvUSD', () => {
116
120
  const network = Network.MAINNET;
117
121
 
@@ -148,6 +152,7 @@ describe('CurveV1Factory E2E', () => {
148
152
  tokenBAmount,
149
153
  );
150
154
  });
155
+
151
156
  describe('Mainnet SBTC2 pool', () => {
152
157
  const network = Network.MAINNET;
153
158
 
@@ -166,6 +171,7 @@ describe('CurveV1Factory E2E', () => {
166
171
  tokenBAmount,
167
172
  );
168
173
  });
174
+
169
175
  describe('Polygon', () => {
170
176
  const network = Network.POLYGON;
171
177
 
@@ -315,4 +321,120 @@ describe('CurveV1Factory E2E', () => {
315
321
  tokenBAmount,
316
322
  );
317
323
  });
324
+
325
+ describe('Stable NG Pools', () => {
326
+ describe('Mainnet Stable NG', () => {
327
+ const network = Network.MAINNET;
328
+
329
+ const tokenASymbol: string = 'GHO';
330
+ const tokenBSymbol: string = 'USDe';
331
+
332
+ const tokenAAmount: string = '100000000';
333
+ const tokenBAmount: string = '1000000000000000000';
334
+
335
+ testForNetwork(
336
+ network,
337
+ dexKey,
338
+ tokenASymbol,
339
+ tokenBSymbol,
340
+ tokenAAmount,
341
+ tokenBAmount,
342
+ );
343
+ });
344
+
345
+ describe('Polygon Stable NG', () => {
346
+ const network = Network.POLYGON;
347
+
348
+ describe('crvUSD -> USDT', () => {
349
+ const tokenASymbol: string = 'crvUSD';
350
+ const tokenBSymbol: string = 'USDT';
351
+
352
+ const tokenAAmount: string = '1000000000000000000';
353
+ const tokenBAmount: string = '10000000';
354
+
355
+ testForNetwork(
356
+ network,
357
+ dexKey,
358
+ tokenASymbol,
359
+ tokenBSymbol,
360
+ tokenAAmount,
361
+ tokenBAmount,
362
+ );
363
+ });
364
+
365
+ describe('USDC.e -> USDC', () => {
366
+ const tokenASymbol: string = 'USDCe';
367
+ const tokenBSymbol: string = 'USDC';
368
+
369
+ const tokenAAmount: string = '10000000';
370
+ const tokenBAmount: string = '10000000';
371
+
372
+ testForNetwork(
373
+ network,
374
+ dexKey,
375
+ tokenASymbol,
376
+ tokenBSymbol,
377
+ tokenAAmount,
378
+ tokenBAmount,
379
+ );
380
+ });
381
+ });
382
+
383
+ describe('Fantom Stable NG', () => {
384
+ const network = Network.FANTOM;
385
+
386
+ const tokenASymbol: string = 'scrvUSDC_e';
387
+ const tokenBSymbol: string = 'scrvUSDC_p';
388
+
389
+ const tokenAAmount: string = '1000000000000000000';
390
+ const tokenBAmount: string = '1000000000000000000';
391
+
392
+ testForNetwork(
393
+ network,
394
+ dexKey,
395
+ tokenASymbol,
396
+ tokenBSymbol,
397
+ tokenAAmount,
398
+ tokenBAmount,
399
+ );
400
+ });
401
+
402
+ describe('Arbitrum Stable NG', () => {
403
+ const network = Network.ARBITRUM;
404
+
405
+ const tokenASymbol: string = 'crvUSD';
406
+ const tokenBSymbol: string = 'USDCe';
407
+
408
+ const tokenAAmount: string = '1000000000000000000';
409
+ const tokenBAmount: string = '10000000';
410
+
411
+ testForNetwork(
412
+ network,
413
+ dexKey,
414
+ tokenASymbol,
415
+ tokenBSymbol,
416
+ tokenAAmount,
417
+ tokenBAmount,
418
+ );
419
+ });
420
+
421
+ describe('Optimism Stable NG', () => {
422
+ const network = Network.OPTIMISM;
423
+
424
+ const tokenASymbol: string = 'crvUSD';
425
+ const tokenBSymbol: string = 'USDT';
426
+
427
+ const tokenAAmount: string = '1000000000000000000';
428
+ const tokenBAmount: string = '10000000';
429
+
430
+ testForNetwork(
431
+ network,
432
+ dexKey,
433
+ tokenASymbol,
434
+ tokenBSymbol,
435
+ tokenAAmount,
436
+ tokenBAmount,
437
+ );
438
+ });
439
+ });
318
440
  });