From 86aa629d558b1d777a8b445dd09429f463a7adeb Mon Sep 17 00:00:00 2001
From: Sismobot <94460392+sismobot@users.noreply.github.com>
Date: Wed, 27 Sep 2023 15:57:56 +0200
Subject: [PATCH] [factory]: Adding new usdc-eth-lpers group

---
 group-generators/generators/index.ts          |  2 +
 .../generators/usdc-eth-lpers/index.ts        | 50 +++++++++++++++++++
 2 files changed, 52 insertions(+)
 create mode 100644 group-generators/generators/usdc-eth-lpers/index.ts

diff --git a/group-generators/generators/index.ts b/group-generators/generators/index.ts
index d3f8e9327..5754a009e 100644
--- a/group-generators/generators/index.ts
+++ b/group-generators/generators/index.ts
@@ -787,6 +787,7 @@ import unstoppableDomains from "./unstoppable-domains"
 import unumdao from "./unumdao";
 import usdStablecoinPerWallet from "./usd-stablecoin-per-wallet";
 import usdTokenHolders from "./usd-token-holders";
+import usdcEthLpers from "./usdc-eth-lpers";
 import vaultIdTest from "./vaultid-test";
 import vegan from "./vegan";
 import veirenDonators from "./veiren-donators";
@@ -1648,6 +1649,7 @@ export const groupGenerators: GroupGeneratorsLibrary = {
   "unumdao": unumdao,
   "usd-stablecoin-per-wallet": usdStablecoinPerWallet,
   "usd-token-holders": usdTokenHolders,
+  "usdc-eth-lpers": usdcEthLpers,
   "vault-id-test": vaultIdTest,
   "vegan": vegan,
   "veiren-donators": veirenDonators,
diff --git a/group-generators/generators/usdc-eth-lpers/index.ts b/group-generators/generators/usdc-eth-lpers/index.ts
new file mode 100644
index 000000000..5906dff5b
--- /dev/null
+++ b/group-generators/generators/usdc-eth-lpers/index.ts
@@ -0,0 +1,50 @@
+
+import { dataOperators } from "@group-generators/helpers/data-operators";
+import { dataProviders } from "@group-generators/helpers/data-providers";
+import { Tags, ValueType, GroupWithData } from "topics/group";
+import {
+  GenerationContext,
+  GenerationFrequency,
+  GroupGenerator,
+} from "topics/group-generator";
+
+// Generated from factory.sismo.io
+
+const generator: GroupGenerator = {
+  
+  generationFrequency: GenerationFrequency.Once,
+  
+  generate: async (context: GenerationContext): Promise<GroupWithData[]> => {
+  
+    const tokenProvider = new dataProviders.TokenProvider();
+    
+    const tokenProviderData0 = await tokenProvider.getERC20Holders({
+      contractAddress: "0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc",
+      network: "mainnet"
+    });
+    
+    const jsonListData1 = {
+      "0x78a74b5D1A86704c573163C3aafB6e7234c9Da1e": "1",
+      "0xE3c382A8B72643CC3756D532e967Eb44e885c619": "1",
+    };
+    
+    const dataUnion = dataOperators.Union([
+      tokenProviderData0,
+      jsonListData1 
+    ]);
+
+    return [
+      {
+        name: "usdc-eth-lpers",
+        timestamp: context.timestamp,
+        description: "Data Group of UniSwap V2 USDC/ETH LPers",
+        specs: "Hold 0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc ERC-20",
+        data: dataUnion,
+        valueType: ValueType.Score,
+        tags: [Tags.Factory],
+      },
+    ];
+  },
+};
+
+export default generator;