@paraswap/dex-lib 2.50.8 → 2.50.9

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 (160) hide show
  1. package/build/abi/Redstone.json +739 -0
  2. package/build/abi/angle/stagToken.json +963 -0
  3. package/build/abi/angle-transmuter/MorphoOracle.json +193 -0
  4. package/build/abi/angle-transmuter/MorphoVault.json +2506 -0
  5. package/build/abi/angle-transmuter/Pyth.json +1534 -0
  6. package/build/abi/angle-transmuter/Transmuter.json +1711 -0
  7. package/build/abi/pharaoh/PharaohPool.abi.json +1582 -0
  8. package/build/abi/smardex/smardex-factory.json +185 -0
  9. package/build/abi/smardex/smardex-pool.json +578 -0
  10. package/build/abi/smardex/smardex-router.json +648 -0
  11. package/build/abi/trader-joe-v2_1/FactoryABI.json +1208 -0
  12. package/build/abi/trader-joe-v2_1/PairABI.json +1493 -0
  13. package/build/abi/trader-joe-v2_1/RouterABI.json +1489 -0
  14. package/build/abi/trader-joe-v2_1/StateMulticall.json +193 -0
  15. package/build/abi/wombat/pool.json +1289 -0
  16. package/build/config.js +8 -7
  17. package/build/config.js.map +1 -1
  18. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  19. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  20. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  21. package/build/dex/angle-staked-stable/angle-staked-stable-pool.d.ts +56 -0
  22. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js +197 -0
  23. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js.map +1 -0
  24. package/build/dex/angle-staked-stable/angle-staked-stable.d.ts +48 -0
  25. package/build/dex/angle-staked-stable/angle-staked-stable.js +222 -0
  26. package/build/dex/angle-staked-stable/angle-staked-stable.js.map +1 -0
  27. package/build/dex/angle-staked-stable/config.d.ts +4 -0
  28. package/build/dex/angle-staked-stable/config.js +139 -0
  29. package/build/dex/angle-staked-stable/config.js.map +1 -0
  30. package/build/dex/angle-staked-stable/types.d.ts +15 -0
  31. package/build/dex/angle-staked-stable/types.js +3 -0
  32. package/build/dex/angle-staked-stable/types.js.map +1 -0
  33. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +61 -0
  34. package/build/dex/angle-transmuter/angle-transmuter-pool.js +415 -0
  35. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +1 -0
  36. package/build/dex/angle-transmuter/angle-transmuter.d.ts +59 -0
  37. package/build/dex/angle-transmuter/angle-transmuter.js +262 -0
  38. package/build/dex/angle-transmuter/angle-transmuter.js.map +1 -0
  39. package/build/dex/angle-transmuter/backedOracle.d.ts +19 -0
  40. package/build/dex/angle-transmuter/backedOracle.js +56 -0
  41. package/build/dex/angle-transmuter/backedOracle.js.map +1 -0
  42. package/build/dex/angle-transmuter/config.d.ts +4 -0
  43. package/build/dex/angle-transmuter/config.js +30 -0
  44. package/build/dex/angle-transmuter/config.js.map +1 -0
  45. package/build/dex/angle-transmuter/constants.d.ts +77 -0
  46. package/build/dex/angle-transmuter/constants.js +94 -0
  47. package/build/dex/angle-transmuter/constants.js.map +1 -0
  48. package/build/dex/angle-transmuter/morphoOracle.d.ts +42 -0
  49. package/build/dex/angle-transmuter/morphoOracle.js +179 -0
  50. package/build/dex/angle-transmuter/morphoOracle.js.map +1 -0
  51. package/build/dex/angle-transmuter/morphoVault.d.ts +19 -0
  52. package/build/dex/angle-transmuter/morphoVault.js +78 -0
  53. package/build/dex/angle-transmuter/morphoVault.js.map +1 -0
  54. package/build/dex/angle-transmuter/pyth.d.ts +19 -0
  55. package/build/dex/angle-transmuter/pyth.js +70 -0
  56. package/build/dex/angle-transmuter/pyth.js.map +1 -0
  57. package/build/dex/angle-transmuter/redstone.d.ts +20 -0
  58. package/build/dex/angle-transmuter/redstone.js +73 -0
  59. package/build/dex/angle-transmuter/redstone.js.map +1 -0
  60. package/build/dex/angle-transmuter/transmuter.d.ts +52 -0
  61. package/build/dex/angle-transmuter/transmuter.js +374 -0
  62. package/build/dex/angle-transmuter/transmuter.js.map +1 -0
  63. package/build/dex/angle-transmuter/types.d.ts +188 -0
  64. package/build/dex/angle-transmuter/types.js +33 -0
  65. package/build/dex/angle-transmuter/types.js.map +1 -0
  66. package/build/dex/angle-transmuter/utils.d.ts +9 -0
  67. package/build/dex/angle-transmuter/utils.js +252 -0
  68. package/build/dex/angle-transmuter/utils.js.map +1 -0
  69. package/build/dex/index.js +2 -0
  70. package/build/dex/index.js.map +1 -1
  71. package/build/dex/smardex/subgraph-queries.d.ts +1 -0
  72. package/build/dex/smardex/subgraph-queries.js +17 -0
  73. package/build/dex/smardex/subgraph-queries.js.map +1 -0
  74. package/build/dex/smardex/usd-reserves.d.ts +23 -0
  75. package/build/dex/smardex/usd-reserves.js +86 -0
  76. package/build/dex/smardex/usd-reserves.js.map +1 -0
  77. package/build/dex/trader-joe-v2-1-2/config.d.ts +4 -0
  78. package/build/dex/trader-joe-v2-1-2/config.js +47 -0
  79. package/build/dex/trader-joe-v2-1-2/config.js.map +1 -0
  80. package/build/dex/trader-joe-v2-1-2/constants.d.ts +20 -0
  81. package/build/dex/trader-joe-v2-1-2/constants.js +22 -0
  82. package/build/dex/trader-joe-v2-1-2/constants.js.map +1 -0
  83. package/build/dex/trader-joe-v2-1-2/math/index.d.ts +37 -0
  84. package/build/dex/trader-joe-v2-1-2/math/index.js +291 -0
  85. package/build/dex/trader-joe-v2-1-2/math/index.js.map +1 -0
  86. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +60 -0
  87. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +248 -0
  88. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +1 -0
  89. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +53 -0
  90. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +307 -0
  91. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +1 -0
  92. package/build/dex/trader-joe-v2-1-2/types.d.ts +82 -0
  93. package/build/dex/trader-joe-v2-1-2/types.js +9 -0
  94. package/build/dex/trader-joe-v2-1-2/types.js.map +1 -0
  95. package/build/dex/trader-joe-v2_1/config.d.ts +4 -0
  96. package/build/dex/trader-joe-v2_1/config.js +47 -0
  97. package/build/dex/trader-joe-v2_1/config.js.map +1 -0
  98. package/build/dex/trader-joe-v2_1/constants.d.ts +20 -0
  99. package/build/dex/trader-joe-v2_1/constants.js +22 -0
  100. package/build/dex/trader-joe-v2_1/constants.js.map +1 -0
  101. package/build/dex/trader-joe-v2_1/math/index.d.ts +37 -0
  102. package/build/dex/trader-joe-v2_1/math/index.js +291 -0
  103. package/build/dex/trader-joe-v2_1/math/index.js.map +1 -0
  104. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
  105. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +384 -0
  106. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +1 -0
  107. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.d.ts +60 -0
  108. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js +247 -0
  109. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js.map +1 -0
  110. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.d.ts +53 -0
  111. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js +307 -0
  112. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js.map +1 -0
  113. package/build/dex/trader-joe-v2_1/types.d.ts +82 -0
  114. package/build/dex/trader-joe-v2_1/types.js +9 -0
  115. package/build/dex/trader-joe-v2_1/types.js.map +1 -0
  116. package/build/dex/wombat/wombat-pool-poller.d.ts +22 -0
  117. package/build/dex/wombat/wombat-pool-poller.js +164 -0
  118. package/build/dex/wombat/wombat-pool-poller.js.map +1 -0
  119. package/build/dex-helper/Cache.d.ts +31 -0
  120. package/build/dex-helper/Cache.js +106 -0
  121. package/build/dex-helper/Cache.js.map +1 -0
  122. package/build/dex-helper/RedisBatcher.d.ts +20 -0
  123. package/build/dex-helper/RedisBatcher.js +75 -0
  124. package/build/dex-helper/RedisBatcher.js.map +1 -0
  125. package/build/dex-helper/RedisWrapper.d.ts +37 -0
  126. package/build/dex-helper/RedisWrapper.js +165 -0
  127. package/build/dex-helper/RedisWrapper.js.map +1 -0
  128. package/package.json +1 -1
  129. package/src/abi/angle/stagToken.json +963 -0
  130. package/src/config.ts +8 -7
  131. package/src/dex/angle-staked-stable/angle-staked-stable-e2e.test.ts +146 -0
  132. package/src/dex/angle-staked-stable/angle-staked-stable-events.test.ts +95 -0
  133. package/src/dex/angle-staked-stable/angle-staked-stable-integration.test.ts +476 -0
  134. package/src/dex/angle-staked-stable/angle-staked-stable-pool.ts +325 -0
  135. package/src/dex/angle-staked-stable/angle-staked-stable.ts +312 -0
  136. package/src/dex/angle-staked-stable/config.ts +139 -0
  137. package/src/dex/angle-staked-stable/types.ts +16 -0
  138. package/src/dex/index.ts +2 -0
  139. package/tests/constants-e2e.ts +112 -1
  140. package/build/dex/sdai/config.d.ts +0 -11
  141. package/build/dex/sdai/config.js +0 -21
  142. package/build/dex/sdai/config.js.map +0 -1
  143. package/build/dex/sdai/constants.d.ts +0 -2
  144. package/build/dex/sdai/constants.js +0 -6
  145. package/build/dex/sdai/constants.js.map +0 -1
  146. package/build/dex/sdai/scripts/validate-state.d.ts +0 -1
  147. package/build/dex/sdai/scripts/validate-state.js +0 -102
  148. package/build/dex/sdai/scripts/validate-state.js.map +0 -1
  149. package/build/dex/sdai/sdai-pool.d.ts +0 -16
  150. package/build/dex/sdai/sdai-pool.js +0 -85
  151. package/build/dex/sdai/sdai-pool.js.map +0 -1
  152. package/build/dex/sdai/sdai.d.ts +0 -51
  153. package/build/dex/sdai/sdai.js +0 -172
  154. package/build/dex/sdai/sdai.js.map +0 -1
  155. package/build/dex/sdai/types.d.ts +0 -21
  156. package/build/dex/sdai/types.js +0 -11
  157. package/build/dex/sdai/types.js.map +0 -1
  158. package/build/dex/sdai/utils.d.ts +0 -4
  159. package/build/dex/sdai/utils.js +0 -39
  160. package/build/dex/sdai/utils.js.map +0 -1
package/src/config.ts CHANGED
@@ -170,8 +170,8 @@ const baseConfigs: { [network: number]: BaseConfig } = {
170
170
  process.env[`HASHFLOW_DISABLED_MMS_56`]?.split(',') || [],
171
171
  adapterAddresses: {
172
172
  BscAdapter01: '0xA31d9C571DF00e0F428B0bD24c34D103E8112222',
173
- BscAdapter02: '0x9A92D2649C38415860FA59ba8B9a9960cd2839Db',
174
- BscBuyAdapter: '0xd32C191e0febaa6Cc93A29Cb676474c72486E00b',
173
+ BscAdapter02: '0x7A8f0436981B893349514655a00Ca974A6e9fd93',
174
+ BscBuyAdapter: '0x2389726B55948d8D8944b0145204761215AaEc71',
175
175
  },
176
176
  rpcPollingMaxAllowedStateDelayInBlocks: 1,
177
177
  rpcPollingBlocksBackToTriggerUpdate: 1,
@@ -199,8 +199,8 @@ const baseConfigs: { [network: number]: BaseConfig } = {
199
199
  process.env[`HASHFLOW_DISABLED_MMS_137`]?.split(',') || [],
200
200
  adapterAddresses: {
201
201
  PolygonAdapter01: '0xE44769f42E1e9592f86B82f206407a8f7C84b4ed',
202
- PolygonAdapter02: '0x84bEF12C9931cE12662cc9F2366b6a5029E4BD29',
203
- PolygonBuyAdapter: '0xBAEeb4540f59d30E567a5B563CC0c4587eDd9366',
202
+ PolygonAdapter02: '0xE7d4CC1589311BD7Bb58739269748a20DAAD755D',
203
+ PolygonBuyAdapter: '0x8643Aa3E63dF7742223A713C7525677df336183f',
204
204
  },
205
205
  uniswapV2ExchangeRouterAddress:
206
206
  '0xf3938337F7294fEf84e9B2c6D548A93F956Cc281',
@@ -323,7 +323,8 @@ const baseConfigs: { [network: number]: BaseConfig } = {
323
323
  process.env[`HASHFLOW_DISABLED_MMS_10`]?.split(',') || [],
324
324
  adapterAddresses: {
325
325
  OptimismAdapter01: '0x5dcf544b0c9689fa67dcb713fd2656d217e25a59',
326
- OptimismBuyAdapter: '0xA10c9a84E72d9DfF424Fe2284B6460784bed407E',
326
+ OptimismAdapter02: '0x4483Ae378897eB9FbF7f15Df98Bf07233ffFEe8b',
327
+ OptimismBuyAdapter: '0xe9166234DFB6d3ec05C82404109C02Ca82b16c22',
327
328
  },
328
329
  uniswapV2ExchangeRouterAddress:
329
330
  '0xB41dD984730dAf82f5C41489E21ac79D5e3B61bC',
@@ -380,8 +381,8 @@ const baseConfigs: { [network: number]: BaseConfig } = {
380
381
  smardexSubgraphAuthToken: process.env.API_KEY_SMARDEX_SUBGRAPH || '',
381
382
  hashFlowDisabledMMs: [],
382
383
  adapterAddresses: {
383
- BaseAdapter01: '0xf531fC01aFa26dAa71f581e1e18AA3B37Ee515A6',
384
- BaseBuyAdapter: '0x2B99cefbfeE6f134D68aBB291386588ADe3808F8',
384
+ BaseAdapter01: '0xe53d24CD81cC81bbf271AD7B02D0d67f851D727c',
385
+ BaseBuyAdapter: '0xe07678E5Fd104cbabb239049148b8a4E9dA5d07E',
385
386
  },
386
387
  uniswapV2ExchangeRouterAddress:
387
388
  '0x75d199EfB540e47D27D52c62Da3E7daC2B9e834F',
@@ -0,0 +1,146 @@
1
+ /* eslint-disable no-console */
2
+ import dotenv from 'dotenv';
3
+ dotenv.config();
4
+
5
+ import { testE2E } from '../../../tests/utils-e2e';
6
+ import {
7
+ Tokens,
8
+ Holders,
9
+ NativeTokenSymbols,
10
+ } from '../../../tests/constants-e2e';
11
+ import { Network, ContractMethod, SwapSide } from '../../constants';
12
+ import { StaticJsonRpcProvider } from '@ethersproject/providers';
13
+ import { generateConfig } from '../../config';
14
+
15
+ function testForNetwork(
16
+ network: Network,
17
+ dexKey: string,
18
+ tokenASymbol: string,
19
+ tokenBSymbol: string,
20
+ tokenAAmount: string,
21
+ tokenBAmount: string,
22
+ nativeTokenAmount: string,
23
+ ) {
24
+ const provider = new StaticJsonRpcProvider(
25
+ generateConfig(network).privateHttpProvider,
26
+ network,
27
+ );
28
+ const tokens = Tokens[network];
29
+ const holders = Holders[network];
30
+ const nativeTokenSymbol = NativeTokenSymbols[network];
31
+
32
+ const sideToContractMethods = new Map([
33
+ [
34
+ SwapSide.SELL,
35
+ [
36
+ ContractMethod.simpleSwap,
37
+ ContractMethod.multiSwap,
38
+ ContractMethod.megaSwap,
39
+ ],
40
+ ],
41
+ [SwapSide.BUY, [ContractMethod.simpleBuy, ContractMethod.buy]],
42
+ ]);
43
+
44
+ describe(`${network}`, () => {
45
+ sideToContractMethods.forEach((contractMethods, side) =>
46
+ describe(`${side}`, () => {
47
+ contractMethods.forEach((contractMethod: ContractMethod) => {
48
+ describe(`${contractMethod}`, () => {
49
+ it(`${tokenASymbol} -> ${tokenBSymbol}`, async () => {
50
+ await testE2E(
51
+ tokens[tokenASymbol],
52
+ tokens[tokenBSymbol],
53
+ holders[tokenASymbol],
54
+ side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
55
+ side,
56
+ dexKey,
57
+ contractMethod,
58
+ network,
59
+ provider,
60
+ undefined,
61
+ undefined,
62
+ undefined,
63
+ 1,
64
+ );
65
+ });
66
+ it(`${tokenBSymbol} -> ${tokenASymbol}`, async () => {
67
+ await testE2E(
68
+ tokens[tokenBSymbol],
69
+ tokens[tokenASymbol],
70
+ holders[tokenBSymbol],
71
+ side === SwapSide.SELL ? tokenBAmount : tokenAAmount,
72
+ side,
73
+ dexKey,
74
+ contractMethod,
75
+ network,
76
+ provider,
77
+ undefined,
78
+ undefined,
79
+ undefined,
80
+ 1,
81
+ );
82
+ });
83
+ });
84
+ });
85
+ }),
86
+ );
87
+ });
88
+ }
89
+
90
+ describe('AngleStakedStable E2E', () => {
91
+ const networksEUR = [
92
+ Network.MAINNET,
93
+ Network.ARBITRUM,
94
+ Network.POLYGON,
95
+ Network.OPTIMISM,
96
+ ];
97
+
98
+ const networksUSD = [
99
+ Network.MAINNET,
100
+ Network.ARBITRUM,
101
+ Network.POLYGON,
102
+ Network.OPTIMISM,
103
+ Network.BASE,
104
+ Network.BSC,
105
+ ];
106
+
107
+ networksEUR.forEach(network =>
108
+ describe(`${network} - EUR`, () => {
109
+ const dexKey = 'AngleStakedStableEUR';
110
+ const tokenASymbol: string = 'EURA';
111
+ const tokenBSymbol: string = 'stEUR';
112
+ const tokenAAmount: string = '990000000000000000';
113
+ const tokenBAmount: string = '990000000000000000';
114
+ const nativeTokenAmount = '990000000000000000';
115
+ testForNetwork(
116
+ network,
117
+ dexKey,
118
+ tokenASymbol,
119
+ tokenBSymbol,
120
+ tokenAAmount,
121
+ tokenBAmount,
122
+ nativeTokenAmount,
123
+ );
124
+ }),
125
+ );
126
+
127
+ networksUSD.forEach(network =>
128
+ describe(`${network} - USD`, () => {
129
+ const dexKey = 'AngleStakedStableUSD';
130
+ const tokenASymbol: string = 'USDA';
131
+ const tokenBSymbol: string = 'stUSD';
132
+ const tokenAAmount: string = '990000000000000000';
133
+ const tokenBAmount: string = '990000000000000000';
134
+ const nativeTokenAmount = '990000000000000000';
135
+ testForNetwork(
136
+ network,
137
+ dexKey,
138
+ tokenASymbol,
139
+ tokenBSymbol,
140
+ tokenAAmount,
141
+ tokenBAmount,
142
+ nativeTokenAmount,
143
+ );
144
+ }),
145
+ );
146
+ });
@@ -0,0 +1,95 @@
1
+ /* eslint-disable no-console */
2
+ import dotenv from 'dotenv';
3
+ dotenv.config();
4
+
5
+ import { AngleStakedStableEventPool } from './angle-staked-stable-pool';
6
+ import { Network } from '../../constants';
7
+ import { Address } from '../../types';
8
+ import { DummyDexHelper } from '../../dex-helper/index';
9
+ import { testEventSubscriber } from '../../../tests/utils-events';
10
+ import { PoolState } from './types';
11
+ import { AngleStakedStableConfig } from './config';
12
+
13
+ jest.setTimeout(50 * 1000);
14
+
15
+ async function fetchPoolState(
16
+ angleStakedStablePools: AngleStakedStableEventPool,
17
+ blockNumber: number,
18
+ poolAddress: string,
19
+ ): Promise<PoolState> {
20
+ return angleStakedStablePools.generateState(blockNumber);
21
+ }
22
+
23
+ // eventName -> blockNumbers
24
+ type EventMappings = Record<string, number[]>;
25
+
26
+ describe('AngleStakedStable EventPool Mainnet', () => {
27
+ const dexKey = 'AngleStakedStableEUR';
28
+ const network = Network.MAINNET;
29
+ const dexHelper = new DummyDexHelper(network);
30
+ const logger = dexHelper.getLogger(dexKey);
31
+ let angleStakedStablePool: AngleStakedStableEventPool;
32
+
33
+ // poolAddress -> EventMappings
34
+ const eventsToTest: Record<Address, EventMappings> = {
35
+ '0x004626a008b1acdc4c74ab51644093b155e59a23': {
36
+ Accrued: [
37
+ 19368181, 19387091, 19387136, 19390671, 19395050, 19395068, 19404404,
38
+ 19404492, 19407830, 19410813, 19482839, 19575712, 19622932, 19622960,
39
+ 19632489, 19650535, 19668024, 19668335, 19669259, 19672358, 19675559,
40
+ 19679409,
41
+ ],
42
+ Deposit: [
43
+ 19387091, 19387136, 19395050, 19404404, 19410813, 19622932, 19622960,
44
+ 19632489, 19668335, 19669259, 19672358, 19675559,
45
+ ],
46
+ Withdraw: [
47
+ 19368181, 19390671, 19395068, 19404492, 19407830, 19482839, 19575712,
48
+ 19650535, 19679409,
49
+ ],
50
+ ToggledPause: [],
51
+ RateUpdated: [19668024],
52
+ },
53
+ };
54
+
55
+ beforeEach(async () => {
56
+ angleStakedStablePool = new AngleStakedStableEventPool(
57
+ dexKey,
58
+ network,
59
+ dexHelper,
60
+ AngleStakedStableConfig[dexKey][network].stakeToken,
61
+ AngleStakedStableConfig[dexKey][network].agToken,
62
+ logger,
63
+ );
64
+ });
65
+
66
+ Object.entries(eventsToTest).forEach(
67
+ ([poolAddress, events]: [string, EventMappings]) => {
68
+ describe(`Events for ${poolAddress}`, () => {
69
+ Object.entries(events).forEach(
70
+ ([eventName, blockNumbers]: [string, number[]]) => {
71
+ describe(`${eventName}`, () => {
72
+ blockNumbers.forEach((blockNumber: number) => {
73
+ it(`State after ${blockNumber}`, async () => {
74
+ await testEventSubscriber(
75
+ angleStakedStablePool,
76
+ angleStakedStablePool.addressesSubscribed,
77
+ (_blockNumber: number) =>
78
+ fetchPoolState(
79
+ angleStakedStablePool,
80
+ _blockNumber,
81
+ poolAddress,
82
+ ),
83
+ blockNumber,
84
+ `${dexKey}_${poolAddress}`,
85
+ dexHelper.provider,
86
+ );
87
+ });
88
+ });
89
+ });
90
+ },
91
+ );
92
+ });
93
+ },
94
+ );
95
+ });