@paraswap/dex-lib 2.12.9 → 2.12.10

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 (50) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  5. package/.idea/misc.xml +6 -0
  6. package/.idea/modules.xml +8 -0
  7. package/.idea/paraswap-dex-lib.iml +9 -0
  8. package/.idea/runConfigurations.xml +10 -0
  9. package/.idea/vcs.xml +6 -0
  10. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  11. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  12. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  13. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  14. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  15. package/build/dex/balancer-v2/balancer-v2.js +32 -5
  16. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  17. package/build/dex/balancer-v2/types.d.ts +10 -3
  18. package/build/dex/balancer-v2/types.js +10 -3
  19. package/build/dex/balancer-v2/types.js.map +1 -1
  20. package/build/dex/balancer-v2/utils.js +8 -1
  21. package/build/dex/balancer-v2/utils.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +58 -0
  24. package/src/dex/balancer-v2/balancer-v2.ts +32 -5
  25. package/src/dex/balancer-v2/types.ts +10 -3
  26. package/src/dex/balancer-v2/utils.ts +8 -1
  27. package/tests/constants-e2e.ts +5 -0
  28. package/build/abi/maverick/pool.json +0 -913
  29. package/build/abi/maverick/router.json +0 -703
  30. package/build/dex/maverick/config.d.ts +0 -4
  31. package/build/dex/maverick/config.js +0 -20
  32. package/build/dex/maverick/config.js.map +0 -1
  33. package/build/dex/maverick/maverick-math/maverick-pool-math.d.ts +0 -67
  34. package/build/dex/maverick/maverick-math/maverick-pool-math.js +0 -406
  35. package/build/dex/maverick/maverick-math/maverick-pool-math.js.map +0 -1
  36. package/build/dex/maverick/maverick-math/maverick-sol-math.d.ts +0 -17
  37. package/build/dex/maverick/maverick-math/maverick-sol-math.js +0 -139
  38. package/build/dex/maverick/maverick-math/maverick-sol-math.js.map +0 -1
  39. package/build/dex/maverick/maverick-pool.d.ts +0 -41
  40. package/build/dex/maverick/maverick-pool.js +0 -130
  41. package/build/dex/maverick/maverick-pool.js.map +0 -1
  42. package/build/dex/maverick/maverick.d.ts +0 -42
  43. package/build/dex/maverick/maverick.js +0 -174
  44. package/build/dex/maverick/maverick.js.map +0 -1
  45. package/build/dex/maverick/subgraph-queries.d.ts +0 -4
  46. package/build/dex/maverick/subgraph-queries.js +0 -114
  47. package/build/dex/maverick/subgraph-queries.js.map +0 -1
  48. package/build/dex/maverick/types.d.ts +0 -46
  49. package/build/dex/maverick/types.js +0 -3
  50. package/build/dex/maverick/types.js.map +0 -1
@@ -5,11 +5,18 @@ export declare enum BalancerPoolTypes {
5
5
  MetaStable = "MetaStable",
6
6
  LiquidityBootstrapping = "LiquidityBootstrapping",
7
7
  Investment = "Investment",
8
- AaveLinear = "AaveLinear",
9
8
  StablePhantom = "StablePhantom",
10
- ERC4626Linear = "ERC4626Linear",
9
+ ComposableStable = "ComposableStable",
11
10
  Linear = "Linear",
12
- ComposableStable = "ComposableStable"
11
+ AaveLinear = "AaveLinear",
12
+ ERC4626Linear = "ERC4626Linear",
13
+ BeefyLinear = "BeefyLinear",
14
+ GearboxLinear = "GearboxLinear",
15
+ MidasLinear = "MidasLinear",
16
+ ReaperLinear = "ReaperLinear",
17
+ SiloLinear = "SiloLinear",
18
+ TetuLinear = "TetuLinear",
19
+ YearnLinear = "YearnLinear"
13
20
  }
14
21
  export declare type TokenState = {
15
22
  balance: bigint;
@@ -9,11 +9,18 @@ var BalancerPoolTypes;
9
9
  BalancerPoolTypes["MetaStable"] = "MetaStable";
10
10
  BalancerPoolTypes["LiquidityBootstrapping"] = "LiquidityBootstrapping";
11
11
  BalancerPoolTypes["Investment"] = "Investment";
12
- BalancerPoolTypes["AaveLinear"] = "AaveLinear";
13
12
  BalancerPoolTypes["StablePhantom"] = "StablePhantom";
14
- BalancerPoolTypes["ERC4626Linear"] = "ERC4626Linear";
15
- BalancerPoolTypes["Linear"] = "Linear";
16
13
  BalancerPoolTypes["ComposableStable"] = "ComposableStable";
14
+ BalancerPoolTypes["Linear"] = "Linear";
15
+ BalancerPoolTypes["AaveLinear"] = "AaveLinear";
16
+ BalancerPoolTypes["ERC4626Linear"] = "ERC4626Linear";
17
+ BalancerPoolTypes["BeefyLinear"] = "BeefyLinear";
18
+ BalancerPoolTypes["GearboxLinear"] = "GearboxLinear";
19
+ BalancerPoolTypes["MidasLinear"] = "MidasLinear";
20
+ BalancerPoolTypes["ReaperLinear"] = "ReaperLinear";
21
+ BalancerPoolTypes["SiloLinear"] = "SiloLinear";
22
+ BalancerPoolTypes["TetuLinear"] = "TetuLinear";
23
+ BalancerPoolTypes["YearnLinear"] = "YearnLinear";
17
24
  })(BalancerPoolTypes = exports.BalancerPoolTypes || (exports.BalancerPoolTypes = {}));
18
25
  var SwapTypes;
19
26
  (function (SwapTypes) {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/types.ts"],"names":[],"mappings":";;;AAEA,mEAAmE;AACnE,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IAC3B,0CAAqB,CAAA;IACrB,sCAAiB,CAAA;IACjB,8CAAyB,CAAA;IACzB,sEAAiD,CAAA;IACjD,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;IACzB,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,sCAAiB,CAAA;IACjB,0DAAqC,CAAA;AACvC,CAAC,EAXW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAW5B;AAmFD,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,uDAAW,CAAA;IACX,yDAAY,CAAA;AACd,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/types.ts"],"names":[],"mappings":";;;AAEA,mEAAmE;AACnE,IAAY,iBAkBX;AAlBD,WAAY,iBAAiB;IAC3B,0CAAqB,CAAA;IACrB,sCAAiB,CAAA;IACjB,8CAAyB,CAAA;IACzB,sEAAiD,CAAA;IACjD,8CAAyB,CAAA;IACzB,oDAA+B,CAAA;IAC/B,0DAAqC,CAAA;IACrC,sCAAiB,CAAA;IACjB,8CAAyB,CAAA;IACzB,oDAA+B,CAAA;IAC/B,gDAA2B,CAAA;IAC3B,oDAA+B,CAAA;IAC/B,gDAA2B,CAAA;IAC3B,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;IACzB,gDAA2B,CAAA;AAC7B,CAAC,EAlBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAkB5B;AAmFD,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,uDAAW,CAAA;IACX,yDAAY,CAAA;AACd,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB"}
@@ -104,7 +104,14 @@ exports.poolGetMainTokens = poolGetMainTokens;
104
104
  function isLinearPool(poolType) {
105
105
  return (poolType === types_1.BalancerPoolTypes.Linear ||
106
106
  poolType === types_1.BalancerPoolTypes.AaveLinear ||
107
- poolType === types_1.BalancerPoolTypes.ERC4626Linear);
107
+ poolType === types_1.BalancerPoolTypes.ERC4626Linear ||
108
+ poolType === types_1.BalancerPoolTypes.BeefyLinear ||
109
+ poolType === types_1.BalancerPoolTypes.GearboxLinear ||
110
+ poolType === types_1.BalancerPoolTypes.MidasLinear ||
111
+ poolType === types_1.BalancerPoolTypes.ReaperLinear ||
112
+ poolType === types_1.BalancerPoolTypes.SiloLinear ||
113
+ poolType === types_1.BalancerPoolTypes.TetuLinear ||
114
+ poolType === types_1.BalancerPoolTypes.YearnLinear);
108
115
  }
109
116
  function isPhantomStablePool(poolType) {
110
117
  return (poolType === types_1.BalancerPoolTypes.StablePhantom ||
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/utils.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AAEpD,uCAA2C;AAC3C,6DAAiD;AAEjD,mCAMiB;AACjB,mCAAyC;AAQlC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAW,EAAE,CAC3E,IAAA,oBAAU,EAAC,QAAQ,CAAC,KAAK,IAAA,oBAAU,EAAC,QAAQ,CAAC,CAAC;AADnC,QAAA,aAAa,iBACsB;AAEhD,SAAgB,qBAAqB,CAAC,aAAqB;IACzD,OAAO,0BAAO,CAAC,EAAE,CAAC,GAAG,IAAA,oBAAY,EAAC,EAAE,GAAG,aAAa,CAAC,CAAC;AACxD,CAAC;AAFD,sDAEC;AAED,SAAgB,gBAAgB,CAC9B,iBAA4B,EAC5B,YAAoB,EACpB,WAAkD,EAClD,WAAmB;IAEnB,IAAI,CAAC,WAAW,CAAC,OAAO;QACtB,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,QAAQ,WAAW,EAAE,CAAC,CAAC;IAC1E,OAAO,iBAAiB,CAAC,oBAAoB,CAC3C,YAAY,EACZ,WAAW,CAAC,UAAU,CACvB,CAAC;AACJ,CAAC;AAZD,4CAYC;AAED,SAAgB,wBAAwB,CACtC,cAAsB,EACtB,eAAuB,EACvB,IAAsB,EACtB,QAAuC;IAEvC,MAAM,OAAO,GAAG,2BAA2B,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,2BAA2B,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAsB,IAAA,gBAAO,EAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAC1E,GAAG,CAAC,EAAE,CAAC,CAAC;QACN,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;QAC/B,OAAO,EAAE,GAAG,CAAC,KAAK;QAClB,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;KACrD,CAAC,CACH,CAAC;IAEF,MAAM,YAAY,GAAsB,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;QAC/B,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;QACnD,QAAQ,EAAE,GAAG,CAAC,KAAK;KACpB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,GAAG,WAAW;QACd,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE;QAClE,GAAG,YAAY;KAChB,CAAC;AACJ,CAAC;AA5BD,4DA4BC;AAED,SAAgB,sBAAsB,CACpC,IAAY,EACZ,EAAU,EACV,YAAgC,EAChC,cAA6C;IAE7C,qCAAqC;IACrC,OAAO,IAAA,eAAM,EACX,YAAY;SACT,GAAG,CAAC,IAAI,CAAC,EAAE,CACV,wBAAwB,CACtB,IAAI,CAAC,WAAW,EAAE,EAClB,EAAE,CAAC,WAAW,EAAE,EAChB,IAAI,EACJ,cAAc,CACf,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CACvB;SACA,IAAI,EAAE,EACT,SAAS,CACV,CAAC;AACJ,CAAC;AApBD,wDAoBC;AAED,SAAgB,iBAAiB,CAC/B,IAA0C,EAC1C,QAAuC;IAEvC,IAAI,UAAU,GAAwB,EAAE,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;QAC/B,sBAAsB;QACtB,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE;YAClC,SAAS;SACV;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACjD,oBAAoB;YACpB,UAAU,CAAC,IAAI,CAAC;gBACd,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;gBACxC,cAAc,EAAE,KAAK;gBACrB,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE;oBACX;wBACE,MAAM,EAAE,SAAS,CAAC,EAAE;wBACpB,WAAW,EAAE,SAAS,CAAC,OAAO;wBAC9B,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;qBAC7C;iBACF;aACF,CAAC,CAAC;SACJ;aAAM,IAAI,SAAS,IAAI,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAC/D,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChE,uBAAuB;YACvB,UAAU,GAAG;gBACX,GAAG,UAAU;gBACb,2CAA2C;gBAC3C,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACpC,GAAG,SAAS;oBACZ,WAAW,EAAE;wBACX;4BACE,MAAM,EAAE,SAAS,CAAC,EAAE;4BACpB,WAAW,EAAE,SAAS,CAAC,OAAO;4BAC9B,KAAK,EAAE,SAAS,CAAC,SAAS;yBAC3B;wBACD,GAAG,SAAS,CAAC,WAAW;qBACzB;oBACD,SAAS,EAAE,KAAK;oBAChB,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;aACJ,CAAC;SACH;aAAM;YACL,UAAU,CAAC,IAAI,CAAC;gBACd,GAAG,KAAK;gBACR,WAAW,EAAE,EAAE;gBACf,SAAS,EAAE,KAAK;gBAChB,cAAc,EAAE,KAAK;aACtB,CAAC,CAAC;SACJ;KACF;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AA3DD,8CA2DC;AAED,SAAS,YAAY,CAAC,QAAgB;IACpC,OAAO,CACL,QAAQ,KAAK,yBAAiB,CAAC,MAAM;QACrC,QAAQ,KAAK,yBAAiB,CAAC,UAAU;QACzC,QAAQ,KAAK,yBAAiB,CAAC,aAAa,CAC7C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,OAAO,CACL,QAAQ,KAAK,yBAAiB,CAAC,aAAa;QAC5C,QAAQ,KAAK,yBAAiB,CAAC,gBAAgB,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,WAAmB,EACnB,IAAsB;IAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACpC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CACnE,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC;KACtE;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/balancer-v2/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.12.9",
3
+ "version": "2.12.10",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -20,7 +20,65 @@ describe('BalancerV2 E2E', () => {
20
20
  network,
21
21
  );
22
22
 
23
+ describe('GearboxLinear pool', () => {
24
+ const sideToContractMethods = new Map([
25
+ [
26
+ SwapSide.SELL,
27
+ [
28
+ ContractMethod.simpleSwap,
29
+ ContractMethod.multiSwap,
30
+ ContractMethod.megaSwap,
31
+ ],
32
+ ],
33
+ ]);
34
+
35
+ const pairs: { name: string; sellAmount: string }[][] = [
36
+ [
37
+ { name: 'USDC', sellAmount: '1000000000' },
38
+ { name: 'dUSDC', sellAmount: '1000000000' },
39
+ ],
40
+ ];
41
+
42
+ sideToContractMethods.forEach((contractMethods, side) =>
43
+ describe(`${side}`, () => {
44
+ contractMethods.forEach((contractMethod: ContractMethod) => {
45
+ pairs.forEach(pair => {
46
+ describe(`${contractMethod}`, () => {
47
+ it(`${pair[0].name} -> ${pair[1].name}`, async () => {
48
+ await testE2E(
49
+ tokens[pair[0].name],
50
+ tokens[pair[1].name],
51
+ holders[pair[0].name],
52
+ pair[0].sellAmount,
53
+ side,
54
+ dexKey,
55
+ contractMethod,
56
+ network,
57
+ provider,
58
+ );
59
+ });
60
+ it(`${pair[1].name} -> ${pair[0].name}`, async () => {
61
+ await testE2E(
62
+ tokens[pair[1].name],
63
+ tokens[pair[0].name],
64
+ holders[pair[1].name],
65
+ pair[1].sellAmount,
66
+ side,
67
+ dexKey,
68
+ contractMethod,
69
+ network,
70
+ provider,
71
+ );
72
+ });
73
+ });
74
+ });
75
+ });
76
+ }),
77
+ );
78
+ });
79
+
23
80
  describe('Simpleswap', () => {
81
+
24
82
  it('ETH -> TOKEN', async () => {
25
83
  await testE2E(
26
84
  tokens['ETH'],
@@ -62,12 +62,32 @@ const fetchAllPools = `query ($count: Int) {
62
62
  first: $count
63
63
  orderBy: totalLiquidity
64
64
  orderDirection: desc
65
- where: {totalLiquidity_gt: ${MIN_USD_LIQUIDITY_TO_FETCH.toString()}, totalShares_not_in: ["0", "0.000000000001"], id_not_in: ["0xbd482ffb3e6e50dc1c437557c3bea2b68f3683ee0000000000000000000003c6"], swapEnabled: true, poolType_in: ["MetaStable", "Stable", "Weighted", "LiquidityBootstrapping", "Investment", "StablePhantom", "AaveLinear", "ERC4626Linear", "Linear", "ComposableStable"]}
65
+ where: {
66
+ totalLiquidity_gt: ${MIN_USD_LIQUIDITY_TO_FETCH.toString()},
67
+ totalShares_not_in: ["0", "0.000000000001"],
68
+ id_not_in: [
69
+ "0xbd482ffb3e6e50dc1c437557c3bea2b68f3683ee0000000000000000000003c6"
70
+ ],
71
+ address_not_in: [
72
+ "0x0afbd58beca09545e4fb67772faf3858e610bcd0",
73
+ "0x2ff1a9dbdacd55297452cfd8a4d94724bc22a5f7",
74
+ "0xbc0f2372008005471874e426e86ccfae7b4de79d",
75
+ "0xdba274b4d04097b90a72b62467d828cefd708037",
76
+ "0xf22ff21e17157340575158ad7394e068048dd98b",
77
+ "0xf71d0774b214c4cf51e33eb3d30ef98132e4dbaa",
78
+ ],
79
+ swapEnabled: true,
80
+ poolType_in: [
81
+ "MetaStable", "Stable", "Weighted", "LiquidityBootstrapping", "Investment", "StablePhantom", "AaveLinear",
82
+ "ERC4626Linear", "Linear", "ComposableStable", "BeefyLinear", "GearboxLinear", "MidasLinear",
83
+ "ReaperLinear", "SiloLinear", "TetuLinear", "YearnLinear"
84
+ ]
85
+ }
66
86
  ) {
67
87
  id
68
88
  address
69
89
  poolType
70
- tokens {
90
+ tokens (orderBy: index) {
71
91
  address
72
92
  decimals
73
93
  }
@@ -175,13 +195,20 @@ export class BalancerV2EventPool extends StatefulEventSubscriber<PoolStateMap> {
175
195
  this.pools[BalancerPoolTypes.MetaStable] = stablePool;
176
196
  this.pools[BalancerPoolTypes.LiquidityBootstrapping] = weightedPool;
177
197
  this.pools[BalancerPoolTypes.Investment] = weightedPool;
198
+ this.pools[BalancerPoolTypes.StablePhantom] = stablePhantomPool;
199
+ this.pools[BalancerPoolTypes.ComposableStable] = composableStable;
200
+ // All these Linear pool have same maths and ABI as AaveLinear but have different factories
178
201
  this.pools[BalancerPoolTypes.AaveLinear] = linearPool;
179
- // ERC4626Linear has the same maths and ABI as AaveLinear (has different factory)
180
202
  this.pools[BalancerPoolTypes.ERC4626Linear] = linearPool;
203
+ this.pools[BalancerPoolTypes.GearboxLinear] = linearPool;
204
+ this.pools[BalancerPoolTypes.MidasLinear] = linearPool;
205
+ this.pools[BalancerPoolTypes.ReaperLinear] = linearPool;
206
+ this.pools[BalancerPoolTypes.SiloLinear] = linearPool;
207
+ this.pools[BalancerPoolTypes.TetuLinear] = linearPool;
208
+ this.pools[BalancerPoolTypes.YearnLinear] = linearPool;
209
+ this.pools[BalancerPoolTypes.BeefyLinear] = linearPool;
181
210
  // Beets uses "Linear" generically for all linear pool types
182
211
  this.pools[BalancerPoolTypes.Linear] = linearPool;
183
- this.pools[BalancerPoolTypes.StablePhantom] = stablePhantomPool;
184
- this.pools[BalancerPoolTypes.ComposableStable] = composableStable;
185
212
  this.vaultDecoder = (log: Log) => this.vaultInterface.parseLog(log);
186
213
  this.addressesSubscribed = [vaultAddress];
187
214
 
@@ -7,11 +7,18 @@ export enum BalancerPoolTypes {
7
7
  MetaStable = 'MetaStable',
8
8
  LiquidityBootstrapping = 'LiquidityBootstrapping',
9
9
  Investment = 'Investment',
10
- AaveLinear = 'AaveLinear',
11
10
  StablePhantom = 'StablePhantom',
12
- ERC4626Linear = 'ERC4626Linear',
13
- Linear = 'Linear',
14
11
  ComposableStable = 'ComposableStable',
12
+ Linear = 'Linear',
13
+ AaveLinear = 'AaveLinear',
14
+ ERC4626Linear = 'ERC4626Linear',
15
+ BeefyLinear = 'BeefyLinear',
16
+ GearboxLinear = 'GearboxLinear',
17
+ MidasLinear = 'MidasLinear',
18
+ ReaperLinear = 'ReaperLinear',
19
+ SiloLinear = 'SiloLinear',
20
+ TetuLinear = 'TetuLinear',
21
+ YearnLinear = 'YearnLinear',
15
22
  }
16
23
 
17
24
  export type TokenState = {
@@ -156,7 +156,14 @@ function isLinearPool(poolType: string) {
156
156
  return (
157
157
  poolType === BalancerPoolTypes.Linear ||
158
158
  poolType === BalancerPoolTypes.AaveLinear ||
159
- poolType === BalancerPoolTypes.ERC4626Linear
159
+ poolType === BalancerPoolTypes.ERC4626Linear ||
160
+ poolType === BalancerPoolTypes.BeefyLinear ||
161
+ poolType === BalancerPoolTypes.GearboxLinear ||
162
+ poolType === BalancerPoolTypes.MidasLinear ||
163
+ poolType === BalancerPoolTypes.ReaperLinear ||
164
+ poolType === BalancerPoolTypes.SiloLinear ||
165
+ poolType === BalancerPoolTypes.TetuLinear ||
166
+ poolType === BalancerPoolTypes.YearnLinear
160
167
  );
161
168
  }
162
169
 
@@ -277,6 +277,10 @@ export const Tokens: {
277
277
  address: '0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE',
278
278
  decimals: 18,
279
279
  },
280
+ dUSDC: {
281
+ address: '0xc411db5f5eb3f7d552f9b8454b2d74097ccde6e3',
282
+ decimals: 6,
283
+ },
280
284
  },
281
285
  [Network.ROPSTEN]: {
282
286
  DAI: {
@@ -837,6 +841,7 @@ export const Holders: {
837
841
  SHIBA: '0x73af3bcf944a6559933396c1577b257e2054d935',
838
842
  aEthUSDC: '0x3178490d60B5cceaA5a79FD4D9050C7405Bab80c',
839
843
  aEthWETH: '0x645C4c0c95C1Aa6EF25d12f4a25038cA9b0C6Cc7',
844
+ dUSDC: '0x3C6A135F7A3A7Ce203EF629B43D9dc66f0f98BFa',
840
845
  },
841
846
  [Network.ROPSTEN]: {
842
847
  ETH: '0x43262A12d8610AA70C15DbaeAC321d51613c9071',