diff --git a/packages/builder/.env.example b/packages/builder/.env.example
index b45fb7b90b..1e4272a457 100644
--- a/packages/builder/.env.example
+++ b/packages/builder/.env.example
@@ -44,6 +44,8 @@ REACT_APP_SUBGRAPH_PGN_API="https://graph-gitcoin-mainnet.hirenodes.io/subgraphs
REACT_APP_SUBGRAPH_PGN_TESTNET_API="https://graph-gitcoin-testnet.hirenodes.io/subgraphs/name/gitcoin/allo"
REACT_APP_SUBGRAPH_POLYGON_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-polygon"
REACT_APP_SUBGRAPH_POLYGON_MUMBAI_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-mumbai"
+REACT_APP_SUBGRAPH_ZKSYNC_TESTNET_API="https://api.thegraph.com/subgraphs/name/gitcoinco/grants-round-zkync-era-testnet"
+REACT_APP_SUBGRAPH_ZKSYNC_MAINNET_API="https://api.studio.thegraph.com/query/45391/grants-round-zkera/v0.0.2"
# Variables below are optional for local development
REACT_APP_DATADOG_APPLICATION_ID=
diff --git a/packages/builder/.env.test b/packages/builder/.env.test
index ee361ebd1c..9c00bdbcd8 100644
--- a/packages/builder/.env.test
+++ b/packages/builder/.env.test
@@ -13,6 +13,8 @@ REACT_APP_SUBGRAPH_PGN_API="https://graph-gitcoin-mainnet.hirenodes.io/subgraphs
REACT_APP_SUBGRAPH_PGN_TESTNET_API="https://graph-gitcoin-testnet.hirenodes.io/subgraphs/name/gitcoin/allo"
REACT_APP_SUBGRAPH_POLYGON_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-polygon"
REACT_APP_SUBGRAPH_POLYGON_MUMBAI_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-mumbai"
+REACT_APP_SUBGRAPH_ZKSYNC_TESTNET_API="https://api.thegraph.com/subgraphs/name/gitcoinco/grants-round-zkync-era-testnet"
+REACT_APP_SUBGRAPH_ZKSYNC_MAINNET_API="https://api.studio.thegraph.com/query/45391/grants-round-zkera/v0.0.2"
REACT_APP_GRANTS_STACK_SEARCH_API_BASE_URL="https://gitcoin-search-dev.fly.dev"
REACT_APP_PINATA_GATEWAY="https://pinata-gateway.com"
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 57695619f9..84b0c7108c 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -49,7 +49,7 @@
"dompurify": "^2.4.3",
"ethers": "^5.7.2",
"framer-motion": "^6",
- "gitcoin-lit-js-sdk": "^1.2.2",
+ "gitcoin-lit-js-sdk": "^1.2.6",
"history": "^5.3.0",
"https-browserify": "^1.0.0",
"jest": "^27.0",
diff --git a/packages/builder/src/actions/roundApplication.ts b/packages/builder/src/actions/roundApplication.ts
index 0d9bc68620..a36b37b926 100644
--- a/packages/builder/src/actions/roundApplication.ts
+++ b/packages/builder/src/actions/roundApplication.ts
@@ -1,11 +1,10 @@
import { datadogLogs } from "@datadog/browser-logs";
import { datadogRum } from "@datadog/browser-rum";
-import { ChainId } from "common";
+import { ChainId, isJestRunning } from "common";
import { ethers } from "ethers";
import { Dispatch } from "redux";
import { getConfig } from "common/src/config";
import RoundABI from "../contracts/abis/RoundImplementation.json";
-import { chains } from "../contracts/deployments";
import { global } from "../global";
import { RootState } from "../reducers";
import { Status } from "../reducers/roundApplication";
@@ -19,6 +18,8 @@ import { getProjectURIComponents, metadataToProject } from "../utils/utils";
import { fetchProjectApplications } from "./projects";
import { graphqlFetch } from "../utils/graphql";
+const LitJsSdk = isJestRunning() ? null : require("gitcoin-lit-js-sdk");
+
// FIXME: rename to ROUND_APPLICATION_APPLYING
export const ROUND_APPLICATION_LOADING = "ROUND_APPLICATION_LOADING";
interface RoundApplicationLoadingAction {
@@ -132,6 +133,17 @@ const dispatchAndLogApplicationError = (
dispatch(applicationError(roundAddress, error, step));
};
+export function chainIdToChainName(chainId: number): string {
+ // eslint-disable-next-line no-restricted-syntax
+ for (const name in LitJsSdk.LIT_CHAINS) {
+ if (LitJsSdk.LIT_CHAINS[name].chainId === chainId) {
+ return name;
+ }
+ }
+
+ throw new Error(`couldn't find LIT chain name for chainId ${chainId}`);
+}
+
export const submitApplication =
(roundAddress: string, formInputs: RoundApplicationAnswers) =>
async (dispatch: Dispatch, getState: () => RootState) => {
@@ -211,7 +223,7 @@ export const submitApplication =
);
return;
}
- const chainName = chains[chainID];
+ const chainName = chainIdToChainName(chainID);
dispatch({
type: ROUND_APPLICATION_LOADING,
@@ -222,23 +234,13 @@ export const submitApplication =
let application: RoundApplication;
let deterministicApplication: string;
- let chain: string = "";
-
- if (chainName === "mainnet") {
- chain = "ethereum";
- } else if (chainName === "pgn") {
- chain = "publicGoodsNetwork";
- } else {
- chain = chainName;
- }
-
try {
const builder = new RoundApplicationBuilder(
true,
project,
roundApplicationMetadata,
roundAddress,
- chain
+ chainName
);
application = await builder.build(roundAddress, formInputs);
diff --git a/packages/builder/src/contracts/deployments.ts b/packages/builder/src/contracts/deployments.ts
index 5eebc70e46..accded3e6a 100644
--- a/packages/builder/src/contracts/deployments.ts
+++ b/packages/builder/src/contracts/deployments.ts
@@ -4,6 +4,8 @@ export const chains = {
1: "mainnet",
10: "optimism",
250: "fantom",
+ 280: "zkSyncEraTestnet",
+ 324: "zkSyncEraMainnet",
424: "pgn",
4002: "fantomTestnet",
31337: "localhost",
@@ -80,6 +82,12 @@ export const addresses: DeploymentAddressesMap = {
polygonMumbai: {
projectRegistry: "0x545B282A50EaeA01A619914d44105437036CbB36",
},
+ zkSyncEraMainnet: {
+ projectRegistry: "0xe6CCEe93c97E20644431647B306F48e278aFFdb9",
+ },
+ zkSyncEraTestnet: {
+ projectRegistry: "0xb0F4882184EB6e3ed120c5181651D50719329788",
+ },
};
export const addressesByChainID = (chainId: ChainId): DeploymentAddresses => {
diff --git a/packages/builder/src/utils/chains.ts b/packages/builder/src/utils/chains.ts
index 8ac5d0418e..730a26da5f 100644
--- a/packages/builder/src/utils/chains.ts
+++ b/packages/builder/src/utils/chains.ts
@@ -6,6 +6,8 @@ import { publicProvider } from "wagmi/providers/public";
import {
pgn,
pgnTestnet,
+ zkSyncEraMainnet,
+ zkSyncEraTestnet,
devChain1,
devChain2,
avalanche,
@@ -34,6 +36,8 @@ const availableChains: { [key: string]: Chain } = {
arbitrumGoerli,
polygonMumbai,
avalancheFuji,
+ zkSyncEraMainnet,
+ zkSyncEraTestnet,
};
const stagingChains = [
@@ -51,6 +55,8 @@ const stagingChains = [
polygonMumbai,
avalanche,
avalancheFuji,
+ zkSyncEraMainnet,
+ zkSyncEraTestnet,
];
const productionChains = [
@@ -61,6 +67,7 @@ const productionChains = [
arbitrum,
avalanche,
customPolygon,
+ zkSyncEraMainnet,
];
export function getEnabledChainsAndProviders() {
diff --git a/packages/builder/src/utils/wallet.ts b/packages/builder/src/utils/wallet.ts
index 1b57f959fc..d4a38c6ed7 100644
--- a/packages/builder/src/utils/wallet.ts
+++ b/packages/builder/src/utils/wallet.ts
@@ -5,6 +5,7 @@ import { ethers } from "ethers";
import PGNIcon from "common/src/icons/PublicGoodsNetwork.svg";
import AVAXIcon from "common/src/icons/AVAX.svg";
import POLIcon from "common/src/icons/pol-logo.svg";
+import ZkSyncIcon from "common/src/icons/zksync-logo.svg";
import FantomFTMLogo from "common/src/assets/fantom-ftm-logo.png";
import {
EthDiamondGlyph,
@@ -44,6 +45,8 @@ export const networkPrettyNames: { [key in ChainName]: string } = {
fuji: "Fuji (Avalanche Testnet)",
polygon: "Polygon PoS",
polygonMumbai: "Polygon Mumbai",
+ zkSyncEraMainnet: "zkSync Era Mainnet",
+ zkSyncEraTestnet: "zkSync Era Testnet",
};
export const networkIcon: { [key in ChainName]: string } = {
@@ -62,6 +65,8 @@ export const networkIcon: { [key in ChainName]: string } = {
fuji: AVAXIcon,
polygon: POLIcon,
polygonMumbai: POLIcon,
+ zkSyncEraMainnet: ZkSyncIcon,
+ zkSyncEraTestnet: ZkSyncIcon,
};
export const payoutIcon: { [key in ChainName]: string } = {
@@ -80,6 +85,8 @@ export const payoutIcon: { [key in ChainName]: string } = {
polygonMumbai: POLIcon,
avalanche: AVAXIcon,
fuji: AVAXIcon,
+ zkSyncEraMainnet: ZkSyncIcon,
+ zkSyncEraTestnet: ZkSyncIcon,
};
export function getNetworkIcon(chainId: ChainId): string {
diff --git a/packages/common/.env.test b/packages/common/.env.test
index 34b1f34d79..d6042ba854 100644
--- a/packages/common/.env.test
+++ b/packages/common/.env.test
@@ -13,4 +13,6 @@ REACT_APP_SUBGRAPH_PGN_API="https://graph-gitcoin-mainnet.hirenodes.io/subgraphs
REACT_APP_SUBGRAPH_PGN_TESTNET_API="https://graph-gitcoin-testnet.hirenodes.io/subgraphs/name/gitcoin/allo"
REACT_APP_SUBGRAPH_POLYGON_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-polygon"
REACT_APP_SUBGRAPH_POLYGON_MUMBAI_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-mumbai"
+REACT_APP_SUBGRAPH_ZKSYNC_TESTNET_API="https://api.thegraph.com/subgraphs/name/gitcoinco/grants-round-zkync-era-testnet"
+REACT_APP_SUBGRAPH_ZKSYNC_MAINNET_API="https://api.studio.thegraph.com/query/45391/grants-round-zkera/v0.0.2"
REACT_APP_GRANTS_STACK_SEARCH_API_BASE_URL="https://gitcoin-search-dev.fly.dev"
\ No newline at end of file
diff --git a/packages/common/src/chain-ids.ts b/packages/common/src/chain-ids.ts
index 2222d3ac58..955ca651c6 100644
--- a/packages/common/src/chain-ids.ts
+++ b/packages/common/src/chain-ids.ts
@@ -3,6 +3,8 @@ export enum ChainId {
OPTIMISM_MAINNET_CHAIN_ID = 10,
FANTOM_MAINNET_CHAIN_ID = 250,
FANTOM_TESTNET_CHAIN_ID = 4002,
+ ZKSYNC_ERA_TESTNET_CHAIN_ID = 280,
+ ZKSYNC_ERA_MAINNET_CHAIN_ID = 324,
PGN = 424,
PGN_TESTNET = 58008,
ARBITRUM = 42161,
diff --git a/packages/common/src/chains.ts b/packages/common/src/chains.ts
index cf61d265dd..a168b87932 100644
--- a/packages/common/src/chains.ts
+++ b/packages/common/src/chains.ts
@@ -1,10 +1,13 @@
import { Chain } from "@rainbow-me/rainbowkit";
import PublicGoodsNetworkIcon from "./icons/PublicGoodsNetwork.svg";
+import zkSyncIcon from "./icons/zksync-logo.svg";
import {
avalanche as avalancheOriginal,
avalancheFuji as avalancheFujiOriginal,
fantom as fantomOriginal,
fantomTestnet as fantomTestnetOriginal,
+ zkSyncTestnet as zkSyncTestnetOriginal,
+ zkSync as zkSyncOriginal,
} from "wagmi/chains";
import FantomFTMLogo from "./assets/fantom-ftm-logo.png";
import { ChainId } from "./chain-ids";
@@ -64,6 +67,32 @@ export const avalanche: Chain = {
},
};
+export const zkSyncEraTestnet: Chain = {
+ ...zkSyncTestnetOriginal,
+ iconUrl: zkSyncIcon,
+ rpcUrls: {
+ default: {
+ http: ["https://testnet.era.zksync.dev"],
+ },
+ public: {
+ http: ["https://testnet.era.zksync.dev"],
+ },
+ },
+};
+
+export const zkSyncEraMainnet: Chain = {
+ ...zkSyncOriginal,
+ iconUrl: zkSyncIcon,
+ rpcUrls: {
+ default: {
+ http: ["https://mainnet.era.zksync.io"],
+ },
+ public: {
+ http: ["https://mainnet.era.zksync.io"],
+ },
+ },
+};
+
export const pgnTestnet: Chain = {
id: 58008,
name: "PGN Testnet",
diff --git a/packages/common/src/config.ts b/packages/common/src/config.ts
index 9e46af4448..e3a57efe3d 100644
--- a/packages/common/src/config.ts
+++ b/packages/common/src/config.ts
@@ -100,6 +100,12 @@ export function getConfig(): Config {
[ChainId.POLYGON_MUMBAI]: z
.string()
.parse(process.env.REACT_APP_SUBGRAPH_POLYGON_MUMBAI_API),
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]: z
+ .string()
+ .parse(process.env.REACT_APP_SUBGRAPH_ZKSYNC_TESTNET_API),
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]: z
+ .string()
+ .parse(process.env.REACT_APP_SUBGRAPH_ZKSYNC_MAINNET_API),
},
},
pinata: {
diff --git a/packages/common/src/icons/zksync-logo.svg b/packages/common/src/icons/zksync-logo.svg
new file mode 100644
index 0000000000..99d01a05c4
--- /dev/null
+++ b/packages/common/src/icons/zksync-logo.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/packages/common/src/index.ts b/packages/common/src/index.ts
index df4b61d979..70f516fedc 100644
--- a/packages/common/src/index.ts
+++ b/packages/common/src/index.ts
@@ -117,6 +117,10 @@ export const graphQlEndpoints: Record = {
[ChainId.AVALANCHE]: process.env.REACT_APP_SUBGRAPH_AVALANCHE_API!,
[ChainId.POLYGON]: process.env.REACT_APP_SUBGRAPH_POLYGON_API!,
[ChainId.POLYGON_MUMBAI]: process.env.REACT_APP_SUBGRAPH_POLYGON_MUMBAI_API!,
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]:
+ process.env.REACT_APP_SUBGRAPH_ZKSYNC_TESTNET_API!,
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]:
+ process.env.REACT_APP_SUBGRAPH_ZKSYNC_MAINNET_API!,
};
/**
@@ -323,6 +327,9 @@ export const RedstoneTokenIds = {
MATIC: "MATIC",
AVAX: "AVAX",
CVP: "CVP",
+ USDT: "USDT",
+ LUSD: "LUSD",
+ MUTE: "MUTE",
} as const;
export const useTokenPrice = (tokenId: string | undefined) => {
diff --git a/packages/grant-explorer/.env.example b/packages/grant-explorer/.env.example
index 20200bd073..740f1ac899 100644
--- a/packages/grant-explorer/.env.example
+++ b/packages/grant-explorer/.env.example
@@ -41,6 +41,8 @@ REACT_APP_SUBGRAPH_PGN_API="https://graph-gitcoin-mainnet.hirenodes.io/subgraphs
REACT_APP_SUBGRAPH_PGN_TESTNET_API="https://graph-gitcoin-testnet.hirenodes.io/subgraphs/name/gitcoin/allo"
REACT_APP_SUBGRAPH_POLYGON_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-polygon"
REACT_APP_SUBGRAPH_POLYGON_MUMBAI_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-mumbai"
+REACT_APP_SUBGRAPH_ZKSYNC_TESTNET_API="https://api.thegraph.com/subgraphs/name/gitcoinco/grants-round-zkync-era-testnet"
+REACT_APP_SUBGRAPH_ZKSYNC_MAINNET_API="https://api.thegraph.com/subgraphs/name/gitcoinco/grants-round-zkync-era-mainnet"
# Variables below are optional for local development
REACT_APP_DATADOG_APPLICATION_ID=
diff --git a/packages/grant-explorer/.env.test b/packages/grant-explorer/.env.test
index 7688312592..042c28dbe6 100644
--- a/packages/grant-explorer/.env.test
+++ b/packages/grant-explorer/.env.test
@@ -13,5 +13,7 @@ REACT_APP_SUBGRAPH_PGN_API="https://graph-gitcoin-mainnet.hirenodes.io/subgraphs
REACT_APP_SUBGRAPH_PGN_TESTNET_API="https://graph-gitcoin-testnet.hirenodes.io/subgraphs/name/gitcoin/allo"
REACT_APP_SUBGRAPH_POLYGON_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-polygon"
REACT_APP_SUBGRAPH_POLYGON_MUMBAI_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-mumbai"
+REACT_APP_SUBGRAPH_ZKSYNC_TESTNET_API="https://api.thegraph.com/subgraphs/name/gitcoinco/grants-round-zkync-era-testnet"
+REACT_APP_SUBGRAPH_ZKSYNC_MAINNET_API="https://api.studio.thegraph.com/query/45391/grants-round-zkera/v0.0.2"
REACT_APP_GRANTS_STACK_SEARCH_API_BASE_URL="https://gitcoin-search-dev.fly.dev"
REACT_APP_ENV="test"
diff --git a/packages/grant-explorer/public/logos/lusd-logo.svg b/packages/grant-explorer/public/logos/lusd-logo.svg
new file mode 100644
index 0000000000..d9b5ee8482
--- /dev/null
+++ b/packages/grant-explorer/public/logos/lusd-logo.svg
@@ -0,0 +1,17 @@
+
diff --git a/packages/grant-explorer/public/logos/mute-logo.svg b/packages/grant-explorer/public/logos/mute-logo.svg
new file mode 100644
index 0000000000..573b50b9ec
--- /dev/null
+++ b/packages/grant-explorer/public/logos/mute-logo.svg
@@ -0,0 +1,9 @@
+
diff --git a/packages/grant-explorer/public/logos/usdt-logo.svg b/packages/grant-explorer/public/logos/usdt-logo.svg
new file mode 100644
index 0000000000..161ecd051e
--- /dev/null
+++ b/packages/grant-explorer/public/logos/usdt-logo.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/grant-explorer/public/logos/zksync-logo.svg b/packages/grant-explorer/public/logos/zksync-logo.svg
new file mode 100644
index 0000000000..99d01a05c4
--- /dev/null
+++ b/packages/grant-explorer/public/logos/zksync-logo.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/packages/grant-explorer/src/app/chainConfig.ts b/packages/grant-explorer/src/app/chainConfig.ts
index e2b14600d8..493c826ff1 100644
--- a/packages/grant-explorer/src/app/chainConfig.ts
+++ b/packages/grant-explorer/src/app/chainConfig.ts
@@ -10,7 +10,12 @@ import {
polygonMumbai,
} from "wagmi/chains";
import { arbitrum, arbitrumGoerli } from "viem/chains";
-import { pgnTestnet, pgn } from "common/src/chains";
+import {
+ pgnTestnet,
+ pgn,
+ zkSyncEraMainnet,
+ zkSyncEraTestnet,
+} from "common/src/chains";
import { ChainId } from "common/src/chain-ids";
const ensureValidChainId = (chain: Chain) => {
@@ -27,6 +32,7 @@ const TESTNET_CHAINS = [
arbitrumGoerli,
avalancheFuji,
polygonMumbai,
+ zkSyncEraTestnet,
].map(ensureValidChainId);
const MAINNET_CHAINS = [
@@ -36,6 +42,7 @@ const MAINNET_CHAINS = [
arbitrum,
avalanche,
polygon,
+ zkSyncEraMainnet,
{ ...fantom, iconUrl: "/logos/fantom-logo.svg" },
].map(ensureValidChainId);
diff --git a/packages/grant-explorer/src/features/api/contracts.ts b/packages/grant-explorer/src/features/api/contracts.ts
index 6380c0d540..d5bfa42ff4 100644
--- a/packages/grant-explorer/src/features/api/contracts.ts
+++ b/packages/grant-explorer/src/features/api/contracts.ts
@@ -20,4 +20,8 @@ export const MRC_CONTRACTS: Record = {
[ChainId.AVALANCHE]: "0xe04d9e9CcDf65EB1Db51E56C04beE4c8582edB73",
[ChainId.POLYGON]: "0xe04d9e9CcDf65EB1Db51E56C04beE4c8582edB73",
[ChainId.POLYGON_MUMBAI]: "0x8e1bD5Da87C14dd8e08F7ecc2aBf9D1d558ea174",
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]:
+ "0x7468C30eC48066cea6666D12F10230d118792eD5",
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]:
+ "0x88e91283d97A482A9e0851dE335d58D97dCfF7b0",
};
diff --git a/packages/grant-explorer/src/features/api/utils.ts b/packages/grant-explorer/src/features/api/utils.ts
index 057da0d948..53ffd39088 100644
--- a/packages/grant-explorer/src/features/api/utils.ts
+++ b/packages/grant-explorer/src/features/api/utils.ts
@@ -99,6 +99,16 @@ export const CHAINS: Record<
name: "Polygon Mumbai",
logo: "./logos/pol-logo.svg",
},
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]: {
+ id: ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID,
+ name: "zkSync Era Testnet",
+ logo: "./logos/zksync-logo.svg",
+ },
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]: {
+ id: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ name: "zkSync Era",
+ logo: "./logos/zksync-logo.svg",
+ },
};
export const TokenNamesAndLogos = {
@@ -113,6 +123,10 @@ export const TokenNamesAndLogos = {
ARB: "./logos/arb-logo.svg",
AVAX: "./logos/avax-logo.svg",
MATIC: "./logos/pol-logo.svg",
+ TEST: "./logos/dai-logo.svg",
+ USDT: "./logos/usdt-logo.svg",
+ LUSD: "./logos/lusd-logo.svg",
+ MUTE: "./logos/mute-logo.svg",
} as const;
export const MAINNET_TOKENS: VotingToken[] = [
@@ -228,6 +242,92 @@ const FANTOM_TESTNET_TOKENS: VotingToken[] = [
},
];
+const ZKSYNC_ERA_TESTNET_TOKENS: VotingToken[] = [
+ {
+ name: "ETH",
+ chainId: ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID,
+ address: zeroAddress,
+ decimal: 18,
+ logo: TokenNamesAndLogos["ETH"],
+ redstoneTokenId: RedstoneTokenIds["ETH"],
+ defaultForVoting: true,
+ canVote: true,
+ },
+ {
+ name: "TEST",
+ chainId: ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID,
+ address: "0x8fd03Cd97Da068CC242Ab7551Dc4100DD405E8c7",
+ decimal: 18,
+ logo: TokenNamesAndLogos["DAI"],
+ redstoneTokenId: RedstoneTokenIds["DAI"],
+ defaultForVoting: false,
+ canVote: true,
+ },
+];
+
+const ZKSYNC_ERA_MAINNET_TOKENS: VotingToken[] = [
+ {
+ name: "ETH",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: zeroAddress,
+ decimal: 18,
+ logo: TokenNamesAndLogos["ETH"],
+ redstoneTokenId: RedstoneTokenIds["ETH"],
+ defaultForVoting: true,
+ canVote: true,
+ },
+ {
+ name: "DAI",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: "0x4B9eb6c0b6ea15176BBF62841C6B2A8a398cb656",
+ decimal: 18,
+ logo: TokenNamesAndLogos["DAI"],
+ redstoneTokenId: RedstoneTokenIds["DAI"],
+ defaultForVoting: false,
+ canVote: true,
+ },
+ {
+ name: "USDC",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: "0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4",
+ decimal: 6,
+ logo: TokenNamesAndLogos["USDC"],
+ redstoneTokenId: RedstoneTokenIds["USDC"],
+ defaultForVoting: false,
+ canVote: true,
+ },
+ {
+ name: "USDT",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: "0x493257fD37EDB34451f62EDf8D2a0C418852bA4C",
+ decimal: 6,
+ logo: TokenNamesAndLogos["USDT"],
+ redstoneTokenId: RedstoneTokenIds["USDT"],
+ defaultForVoting: false,
+ canVote: true,
+ },
+ {
+ name: "LUSD",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: "0x503234F203fC7Eb888EEC8513210612a43Cf6115",
+ decimal: 18,
+ logo: TokenNamesAndLogos["LUSD"],
+ redstoneTokenId: RedstoneTokenIds["LUSD"],
+ defaultForVoting: false,
+ canVote: true,
+ },
+ {
+ name: "MUTE",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: "0x0e97C7a0F8B2C9885C8ac9fC6136e829CbC21d42",
+ decimal: 18,
+ logo: TokenNamesAndLogos["MUTE"],
+ redstoneTokenId: RedstoneTokenIds["MUTE"],
+ defaultForVoting: false,
+ canVote: true,
+ },
+];
+
const PGN_TESTNET_TOKENS: VotingToken[] = [
{
name: "TEST",
@@ -430,6 +530,8 @@ export const votingTokens = [
...FUJI_TOKENS,
...POLYGON_TOKENS,
...POLYGON_MUMBAI_TOKENS,
+ ...ZKSYNC_ERA_TESTNET_TOKENS,
+ ...ZKSYNC_ERA_MAINNET_TOKENS,
];
type VotingTokensMap = Record;
@@ -450,6 +552,8 @@ export const votingTokensMap: VotingTokensMap = {
[ChainId.FUJI]: FUJI_TOKENS,
[ChainId.POLYGON]: POLYGON_TOKENS,
[ChainId.POLYGON_MUMBAI]: POLYGON_MUMBAI_TOKENS,
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]: ZKSYNC_ERA_TESTNET_TOKENS,
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]: ZKSYNC_ERA_MAINNET_TOKENS,
};
export const getVotingTokenOptions = (chainId: ChainId): VotingToken[] =>
@@ -480,6 +584,9 @@ export const txExplorerLinks: Record = {
[ChainId.POLYGON_MUMBAI]: "https://mumbai.polygonscan.com/tx/",
[ChainId.FUJI]: "https://snowtrace.io/tx/",
[ChainId.AVALANCHE]: "https://testnet.snowtrace.io/txt/",
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]:
+ "https://goerli.explorer.zksync.io/tx/",
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]: "https://explorer.zksync.io/tx/",
};
/**
@@ -636,6 +743,7 @@ export function getChainIds(): number[] {
Number(ChainId.ARBITRUM),
Number(ChainId.AVALANCHE),
Number(ChainId.POLYGON),
+ Number(ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID),
];
} else {
return Object.values(ChainId)
diff --git a/packages/round-manager/.env.example b/packages/round-manager/.env.example
index b2380c572a..e29de8b492 100644
--- a/packages/round-manager/.env.example
+++ b/packages/round-manager/.env.example
@@ -49,6 +49,8 @@ REACT_APP_SUBGRAPH_PGN_API="https://graph-gitcoin-mainnet.hirenodes.io/subgraphs
REACT_APP_SUBGRAPH_PGN_TESTNET_API="https://graph-gitcoin-testnet.hirenodes.io/subgraphs/name/gitcoin/allo"
REACT_APP_SUBGRAPH_POLYGON_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-polygon"
REACT_APP_SUBGRAPH_POLYGON_MUMBAI_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-mumbai"
+REACT_APP_SUBGRAPH_ZKSYNC_TESTNET_API="https://api.thegraph.com/subgraphs/name/gitcoinco/grants-round-zkync-era-testnet"
+REACT_APP_SUBGRAPH_ZKSYNC_MAINNET_API="https://api.studio.thegraph.com/query/45391/grants-round-zkera/v0.0.2"
# Variables below are optional for local development
REACT_APP_DATADOG_APPLICATION_ID=
diff --git a/packages/round-manager/.env.test b/packages/round-manager/.env.test
index 34b1f34d79..d6042ba854 100644
--- a/packages/round-manager/.env.test
+++ b/packages/round-manager/.env.test
@@ -13,4 +13,6 @@ REACT_APP_SUBGRAPH_PGN_API="https://graph-gitcoin-mainnet.hirenodes.io/subgraphs
REACT_APP_SUBGRAPH_PGN_TESTNET_API="https://graph-gitcoin-testnet.hirenodes.io/subgraphs/name/gitcoin/allo"
REACT_APP_SUBGRAPH_POLYGON_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-polygon"
REACT_APP_SUBGRAPH_POLYGON_MUMBAI_API="https://api.thegraph.com/subgraphs/name/allo-protocol/grants-round-mumbai"
+REACT_APP_SUBGRAPH_ZKSYNC_TESTNET_API="https://api.thegraph.com/subgraphs/name/gitcoinco/grants-round-zkync-era-testnet"
+REACT_APP_SUBGRAPH_ZKSYNC_MAINNET_API="https://api.studio.thegraph.com/query/45391/grants-round-zkera/v0.0.2"
REACT_APP_GRANTS_STACK_SEARCH_API_BASE_URL="https://gitcoin-search-dev.fly.dev"
\ No newline at end of file
diff --git a/packages/round-manager/package.json b/packages/round-manager/package.json
index 405e08f5da..9fdc2963c2 100644
--- a/packages/round-manager/package.json
+++ b/packages/round-manager/package.json
@@ -64,7 +64,7 @@
"html-react-parser": "^3.0.7",
"https-browserify": "^1.0.0",
"jest-fetch-mock": "^3.0.3",
- "lit-js-sdk-old-w-pgn": "^1.1.251",
+ "lit-js-sdk-old-w-pgn": "^1.1.254",
"lodash": "^4.17.21",
"moment": "^2.29.3",
"os-browserify": "^0.3.0",
diff --git a/packages/round-manager/public/logos/lusd-logo.svg b/packages/round-manager/public/logos/lusd-logo.svg
new file mode 100644
index 0000000000..d9b5ee8482
--- /dev/null
+++ b/packages/round-manager/public/logos/lusd-logo.svg
@@ -0,0 +1,17 @@
+
diff --git a/packages/round-manager/public/logos/mute-logo.svg b/packages/round-manager/public/logos/mute-logo.svg
new file mode 100644
index 0000000000..573b50b9ec
--- /dev/null
+++ b/packages/round-manager/public/logos/mute-logo.svg
@@ -0,0 +1,9 @@
+
diff --git a/packages/round-manager/public/logos/usdt-logo.svg b/packages/round-manager/public/logos/usdt-logo.svg
new file mode 100644
index 0000000000..161ecd051e
--- /dev/null
+++ b/packages/round-manager/public/logos/usdt-logo.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/round-manager/public/logos/zksync-logo.svg b/packages/round-manager/public/logos/zksync-logo.svg
new file mode 100644
index 0000000000..5a4cffb213
--- /dev/null
+++ b/packages/round-manager/public/logos/zksync-logo.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/packages/round-manager/src/app/wagmi.ts b/packages/round-manager/src/app/wagmi.ts
index e12e711a80..d5e66d56d5 100644
--- a/packages/round-manager/src/app/wagmi.ts
+++ b/packages/round-manager/src/app/wagmi.ts
@@ -22,7 +22,12 @@ import {
polygonMumbai,
} from "wagmi/chains";
-import { pgn, pgnTestnet } from "common/src/chains";
+import {
+ pgn,
+ pgnTestnet,
+ zkSyncEraMainnet,
+ zkSyncEraTestnet,
+} from "common/src/chains";
import { publicProvider } from "wagmi/providers/public";
import { infuraProvider } from "wagmi/providers/infura";
import { alchemyProvider } from "wagmi/providers/alchemy";
@@ -30,6 +35,7 @@ import { alchemyProvider } from "wagmi/providers/alchemy";
const testnetChains = () => {
return [
{ ...fantomTestnet, iconUrl: "/logos/fantom-logo.svg" },
+ zkSyncEraTestnet,
pgnTestnet,
arbitrumGoerli,
polygonMumbai,
@@ -45,6 +51,7 @@ const mainnetChains = () => {
arbitrum,
avalanche,
polygon,
+ zkSyncEraMainnet,
{ ...fantom, iconUrl: "/logos/fantom-logo.svg" },
];
};
diff --git a/packages/round-manager/src/features/api/contracts.ts b/packages/round-manager/src/features/api/contracts.ts
index ddf2bd5840..7429546379 100644
--- a/packages/round-manager/src/features/api/contracts.ts
+++ b/packages/round-manager/src/features/api/contracts.ts
@@ -30,6 +30,10 @@ const projectRegistryMap: ChainIdToStringMap = {
[ChainId.AVALANCHE]: "0xDF9BF58Aa1A1B73F0e214d79C652a7dd37a6074e",
[ChainId.POLYGON]: "0x5C5E2D94b107C7691B08E43169fDe76EAAB6D48b",
[ChainId.POLYGON_MUMBAI]: "0x545B282A50EaeA01A619914d44105437036CbB36",
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]:
+ "0xe6CCEe93c97E20644431647B306F48e278aFFdb9",
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]:
+ "0xb0F4882184EB6e3ed120c5181651D50719329788",
};
/* GrantHub's ProjectRegistry */
@@ -66,6 +70,10 @@ const programFactoryMap: ChainIdToStringMap = {
[ChainId.AVALANCHE]: "0xd07D54b0231088Ca9BF7DA6291c911B885cBC140",
[ChainId.POLYGON]: "0xF7c101A95Ea4cBD5DA0Ab9827D7B2C9857440143",
[ChainId.POLYGON_MUMBAI]: "0xDF9BF58Aa1A1B73F0e214d79C652a7dd37a6074e",
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]:
+ "0x68a14AF71BFa0FE09fC937033f6Ea5153c0e75e4",
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]:
+ "0x6D341814Be4E2316142D9190E390b494F1dECFAf",
};
/* ProgramFactory */
export const programFactoryContract = (chainId: ChainId): Contract => {
@@ -96,6 +104,10 @@ const roundFactoryMap: ChainIdToStringMap = {
[ChainId.AVALANCHE]: "0x8eC471f30cA797FD52F9D37A47Be2517a7BD6912",
[ChainId.POLYGON]: "0x5ab68dCdcA37A1C2b09c5218e28eB0d9cc3FEb03",
[ChainId.POLYGON_MUMBAI]: "0xE1c5812e9831bc1d5BDcF50AAEc1a47C4508F3fA",
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]:
+ "0xF3B5a0d59C6292BD0e4f8Cf735EEF52b98f428E6",
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]:
+ "0x0Bb6e2dfEaef0Db5809B3979717E99e053Cbae72",
};
/* RoundFactory */
export const roundFactoryContract = (
@@ -133,6 +145,10 @@ const qfVotingStrategyFactoryMap: ChainIdToStringMap = {
[ChainId.AVALANCHE]: "0x2AFA4bE0f2468347A2F086c2167630fb1E58b725",
[ChainId.POLYGON]: "0xc1a26b0789C3E93b07713e90596Cad8d0442C826",
[ChainId.POLYGON_MUMBAI]: "0xF7c101A95Ea4cBD5DA0Ab9827D7B2C9857440143",
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]:
+ "0x94cB638556d3991363102431d8cE9e839C734677",
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]:
+ "0x8c28F21D2d8C53eedC58bF9cdCfb7DCF7d809d97",
};
/* QuadraticFundingVotingStrategy */
export const qfVotingStrategyFactoryContract = (
@@ -206,6 +222,14 @@ export const dgVotingStrategyDummyContract = (chainId: ChainId): string => {
address = "0xA78Daa89fE9C1eC66c5cB1c5833bC8C6Cb307918";
break;
}
+ case ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID: {
+ address = "0x787D662D19C9528EB33FdaBb3cBEcBeAb2a7F15a";
+ break;
+ }
+ case ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID: {
+ address = "0x0c0B71BA1427cb46424d38133E8187365Cc5466b";
+ break;
+ }
default: {
address = "0x717A2cCDD81944e64c8BD9BB1D179A241dE14B46";
break;
@@ -236,6 +260,10 @@ const merklePayoutStrategyFactoryMap: ChainIdToStringMap = {
[ChainId.AVALANCHE]: "0x27efa1C90e097c980c669AB1a6e326AD4164f1Cb",
[ChainId.POLYGON]: "0xD0e19DBF9b896199F35Df255A1bf8dB3C787531c",
[ChainId.POLYGON_MUMBAI]: "0xc1a26b0789C3E93b07713e90596Cad8d0442C826",
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]:
+ "0x41A8F19C6CB88C9Cc98d29Cb7A4015629910fFc0",
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]:
+ "0xbA160C13F8F626e3232078aDFD6eD2f2B2289563",
};
export const merklePayoutStrategyFactoryContract = (
chainId: ChainId
@@ -268,6 +296,9 @@ const alloSettingsContractMap: ChainIdToStringMap = {
[ChainId.AVALANCHE]: "",
[ChainId.POLYGON]: "",
[ChainId.POLYGON_MUMBAI]: "",
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]: "",
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]:
+ "0x0FD600678475C03f28baE59A2d55f7a911383e2B",
};
/* AlloSettingsContract */
@@ -301,6 +332,10 @@ const directPayoutStrategyFactoryContractMap: ChainIdToStringMap = {
[ChainId.AVALANCHE]: "0x8AdFcF226dfb2fA73788Ad711C958Ba251369cb3",
[ChainId.POLYGON]: "0xF2a07728107B04266015E67b1468cA0a536956C8",
[ChainId.POLYGON_MUMBAI]: "0xD9B7Ce1F68A93dF783A8519ed52b74f5DcF5AFE1",
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]:
+ "0x0ccdfCB7e5DB60AAE5667d1680B490F7830c49C8",
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]:
+ "0x4170665B31bC10009f8a69CeaACf3265C3d66797",
};
/* DirectPayoutStrategyFactoryContract */
diff --git a/packages/round-manager/src/features/api/payoutTokens.ts b/packages/round-manager/src/features/api/payoutTokens.ts
index bee2d86cbb..9b5c855c7d 100644
--- a/packages/round-manager/src/features/api/payoutTokens.ts
+++ b/packages/round-manager/src/features/api/payoutTokens.ts
@@ -23,6 +23,10 @@ export const TokenNamesAndLogos = {
AVAX: "/logos/avax-logo.svg",
MATIC: "/logos/pol-logo.svg",
CVP: "/logos/power-pool.png", // PowerPool
+ TEST: "/logos/dai-logo.svg",
+ USDT: "/logos/usdt-logo.svg",
+ LUSD: "/logos/lusd-logo.svg",
+ MUTE: "/logos/mute-logo.svg",
} as const;
const MAINNET_TOKENS: PayoutToken[] = [
{
@@ -128,6 +132,77 @@ const FANTOM_TESTNET_TOKENS: PayoutToken[] = [
redstoneTokenId: RedstoneTokenIds["FTM"],
},
];
+
+const ZKSYNC_ERA_TESTNET_TOKENS: PayoutToken[] = [
+ {
+ name: "ETH",
+ chainId: ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID,
+ address: ethers.constants.AddressZero,
+ decimal: 18,
+ logo: TokenNamesAndLogos["ETH"],
+ redstoneTokenId: RedstoneTokenIds["ETH"],
+ },
+ {
+ name: "TEST",
+ chainId: ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID,
+ address: "0x8fd03Cd97Da068CC242Ab7551Dc4100DD405E8c7",
+ decimal: 18,
+ logo: TokenNamesAndLogos["DAI"],
+ redstoneTokenId: RedstoneTokenIds["DAI"],
+ },
+];
+
+const ZKSYNC_ERA_MAINNET_TOKENS: PayoutToken[] = [
+ {
+ name: "ETH",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: ethers.constants.AddressZero,
+ decimal: 18,
+ logo: TokenNamesAndLogos["ETH"],
+ redstoneTokenId: RedstoneTokenIds["ETH"],
+ },
+ {
+ name: "DAI",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: "0x4B9eb6c0b6ea15176BBF62841C6B2A8a398cb656",
+ decimal: 18,
+ logo: TokenNamesAndLogos["DAI"],
+ redstoneTokenId: RedstoneTokenIds["DAI"],
+ },
+ {
+ name: "USDC",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: "0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4",
+ decimal: 6,
+ logo: TokenNamesAndLogos["USDC"],
+ redstoneTokenId: RedstoneTokenIds["USDC"],
+ },
+ {
+ name: "USDT",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: "0x493257fD37EDB34451f62EDf8D2a0C418852bA4C",
+ decimal: 6,
+ logo: TokenNamesAndLogos["USDT"],
+ redstoneTokenId: RedstoneTokenIds["USDT"],
+ },
+ {
+ name: "LUSD",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: "0x503234F203fC7Eb888EEC8513210612a43Cf6115",
+ decimal: 18,
+ logo: TokenNamesAndLogos["LUSD"],
+ redstoneTokenId: RedstoneTokenIds["LUSD"],
+ },
+ {
+ name: "MUTE",
+ chainId: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ address: "0x0e97C7a0F8B2C9885C8ac9fC6136e829CbC21d42",
+ decimal: 18,
+ logo: TokenNamesAndLogos["MUTE"],
+ redstoneTokenId: RedstoneTokenIds["MUTE"],
+ },
+];
+
const PGN_TESTNET_TOKENS: PayoutToken[] = [
{
name: "TEST",
@@ -291,6 +366,8 @@ export const payoutTokens = [
...FUJI_TOKENS,
...POLYGON_TOKENS,
...POLYGON_MUMBAI_TOKENS,
+ ...ZKSYNC_ERA_MAINNET_TOKENS,
+ ...ZKSYNC_ERA_TESTNET_TOKENS,
];
export const getPayoutTokenOptions = (chainId: ChainId): PayoutToken[] => {
diff --git a/packages/round-manager/src/features/api/utils.ts b/packages/round-manager/src/features/api/utils.ts
index cb7780716a..fb1c74bf3b 100644
--- a/packages/round-manager/src/features/api/utils.ts
+++ b/packages/round-manager/src/features/api/utils.ts
@@ -81,6 +81,16 @@ export const CHAINS: Record = {
name: "Polygon Mumbai",
logo: "./logos/pol-logo.svg",
},
+ [ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID]: {
+ id: ChainId.ZKSYNC_ERA_MAINNET_CHAIN_ID,
+ name: "zkSync Era",
+ logo: "/logos/zksync-logo.svg",
+ },
+ [ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID]: {
+ id: ChainId.ZKSYNC_ERA_TESTNET_CHAIN_ID,
+ name: "zkSync Era Testnet",
+ logo: "/logos/zksync-logo.svg",
+ },
};
export type SupportType = {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 35a346f284..0f09174987 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -166,8 +166,8 @@ importers:
specifier: ^6
version: 6.5.1(react-dom@18.2.0)(react@18.2.0)
gitcoin-lit-js-sdk:
- specifier: ^1.2.2
- version: 1.2.3
+ specifier: ^1.2.6
+ version: 1.2.6
history:
specifier: ^5.3.0
version: 5.3.0
@@ -330,7 +330,7 @@ importers:
dependencies:
'@ethersproject/providers':
specifier: ^5.7.2
- version: 5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ version: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@rainbow-me/rainbowkit':
specifier: ^0.12.16
version: 0.12.16(@types/react@18.2.21)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.19)
@@ -548,7 +548,7 @@ importers:
version: 5.7.0
'@ethersproject/providers':
specifier: ^5.7.2
- version: 5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ version: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@gitcoinco/passport-sdk-verifier':
specifier: ^0.2.2
version: 0.2.2(debug@4.3.4)
@@ -858,7 +858,7 @@ importers:
version: 5.7.0
'@ethersproject/providers':
specifier: ^5.7.2
- version: 5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ version: 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@gitcoinco/passport-sdk-verifier':
specifier: ^0.1.2
version: 0.1.2
@@ -959,8 +959,8 @@ importers:
specifier: ^3.0.3
version: 3.0.3
lit-js-sdk-old-w-pgn:
- specifier: ^1.1.251
- version: 1.1.252
+ specifier: ^1.1.254
+ version: 1.1.254
lodash:
specifier: ^4.17.21
version: 4.17.21
@@ -4997,7 +4997,7 @@ packages:
dependencies:
'@ethersproject/logger': 5.7.0
- /@ethersproject/providers@5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==}
dependencies:
'@ethersproject/abstract-provider': 5.7.0
@@ -5019,7 +5019,7 @@ packages:
'@ethersproject/transactions': 5.7.0
'@ethersproject/web': 5.7.1
bech32: 1.1.4
- ws: 7.4.6(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ ws: 7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -5587,14 +5587,14 @@ packages:
'@jridgewell/resolve-uri': 3.1.1
'@jridgewell/sourcemap-codec': 1.4.15
- /@json-rpc-tools/provider@1.7.6(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /@json-rpc-tools/provider@1.7.6(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==}
deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
dependencies:
'@json-rpc-tools/utils': 1.7.6
axios: 0.21.4(debug@4.3.4)
safe-json-utils: 1.1.1
- ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- debug
@@ -7143,7 +7143,7 @@ packages:
dependencies:
'@ethersproject/abi': 5.7.0
'@ethersproject/bytes': 5.7.0
- '@ethersproject/providers': 5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
ethers: 5.7.2
lodash: 4.17.21
ts-essentials: 7.0.3(typescript@4.9.5)
@@ -8587,11 +8587,11 @@ packages:
detect-browser: 5.2.0
dev: false
- /@walletconnect/client@1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /@walletconnect/client@1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-svyBQ14NHx6Cs2j4TpkQaBI/2AF4+LXz64FojTjMtV4VMMhl81jSO1vNeg+yYhQzvjcGH/GpSwixjyCW0xFBOQ==}
deprecated: 'WalletConnect''s v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/'
dependencies:
- '@walletconnect/core': 1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@walletconnect/core': 1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@walletconnect/iso-crypto': 1.8.0
'@walletconnect/types': 1.8.0
'@walletconnect/utils': 1.8.0
@@ -8600,10 +8600,10 @@ packages:
- utf-8-validate
dev: false
- /@walletconnect/core@1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /@walletconnect/core@1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw==}
dependencies:
- '@walletconnect/socket-transport': 1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@walletconnect/socket-transport': 1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@walletconnect/types': 1.8.0
'@walletconnect/utils': 1.8.0
transitivePeerDependencies:
@@ -8714,17 +8714,17 @@ packages:
tslib: 1.14.1
dev: false
- /@walletconnect/ethereum-provider@1.7.8(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /@walletconnect/ethereum-provider@1.7.8(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-dnl560zFMdK/LD4MD2XwHbWj7RXOaeXWPc9jzDaosLQLAXfA5mKe4XbCFFUPbVMYuyBdRI9NZv3Ci/qDb5wncQ==}
deprecated: 'WalletConnect''s v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/'
dependencies:
- '@walletconnect/client': 1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@walletconnect/client': 1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@walletconnect/jsonrpc-http-connection': 1.0.7
'@walletconnect/jsonrpc-provider': 1.0.13
- '@walletconnect/signer-connection': 1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@walletconnect/signer-connection': 1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@walletconnect/types': 1.8.0
'@walletconnect/utils': 1.8.0
- eip1193-provider: 1.0.1(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ eip1193-provider: 1.0.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
eventemitter3: 4.0.7
transitivePeerDependencies:
- bufferutil
@@ -8733,17 +8733,17 @@ packages:
- utf-8-validate
dev: false
- /@walletconnect/ethereum-provider@1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /@walletconnect/ethereum-provider@1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-Nq9m+oo5P0F+njsROHw9KMWdoc/8iGHYzQdkjJN/1C7DtsqFRg5k5a3hd9rzCLpbPsOC1q8Z5lRs6JQgDvPm6Q==}
deprecated: 'WalletConnect''s v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/'
dependencies:
- '@walletconnect/client': 1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@walletconnect/client': 1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@walletconnect/jsonrpc-http-connection': 1.0.7
'@walletconnect/jsonrpc-provider': 1.0.13
- '@walletconnect/signer-connection': 1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@walletconnect/signer-connection': 1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@walletconnect/types': 1.8.0
'@walletconnect/utils': 1.8.0
- eip1193-provider: 1.0.1(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ eip1193-provider: 1.0.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
eventemitter3: 4.0.7
transitivePeerDependencies:
- bufferutil
@@ -8894,7 +8894,7 @@ packages:
'@walletconnect/safe-json': 1.0.2
events: 3.3.0
tslib: 1.14.1
- ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -8907,7 +8907,7 @@ packages:
'@walletconnect/safe-json': 1.0.2
events: 3.3.0
tslib: 1.14.1
- ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -9132,10 +9132,10 @@ packages:
- utf-8-validate
dev: false
- /@walletconnect/signer-connection@1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /@walletconnect/signer-connection@1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-+YAaTAP52MWZJ2wWnqKClKCPlPHBo6reURFe0cWidLADh9mi/kPWGALZ5AENK22zpem1bbKV466rF5Rzvu0ehA==}
dependencies:
- '@walletconnect/client': 1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@walletconnect/client': 1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@walletconnect/jsonrpc-types': 1.0.3
'@walletconnect/jsonrpc-utils': 1.0.8
'@walletconnect/qrcode-modal': 1.8.0
@@ -9146,12 +9146,12 @@ packages:
- utf-8-validate
dev: false
- /@walletconnect/socket-transport@1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /@walletconnect/socket-transport@1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-5DyIyWrzHXTcVp0Vd93zJ5XMW61iDM6bcWT4p8DTRfFsOtW46JquruMhxOLeCOieM4D73kcr3U7WtyR4JUsGuQ==}
dependencies:
'@walletconnect/types': 1.8.0
'@walletconnect/utils': 1.8.0
- ws: 7.5.3(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ ws: 7.5.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -10639,13 +10639,6 @@ packages:
ieee754: 1.2.1
dev: false
- /bufferutil@4.0.7:
- resolution: {integrity: sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==}
- engines: {node: '>=6.14.2'}
- requiresBuild: true
- dependencies:
- node-gyp-build: 4.6.1
-
/bufferutil@4.0.8:
resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==}
engines: {node: '>=6.14.2'}
@@ -12288,10 +12281,10 @@ packages:
/ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- /eip1193-provider@1.0.1(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /eip1193-provider@1.0.1(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==}
dependencies:
- '@json-rpc-tools/provider': 1.7.6(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@json-rpc-tools/provider': 1.7.6(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- debug
@@ -13630,7 +13623,7 @@ packages:
'@ethersproject/networks': 5.7.1
'@ethersproject/pbkdf2': 5.7.0
'@ethersproject/properties': 5.7.0
- '@ethersproject/providers': 5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@ethersproject/random': 5.7.0
'@ethersproject/rlp': 5.7.0
'@ethersproject/sha2': 5.7.0
@@ -14433,19 +14426,19 @@ packages:
through2: 4.0.2
dev: true
- /gitcoin-lit-js-sdk@1.2.3:
- resolution: {integrity: sha512-d5qJPI1XFu8+kZEIZ6quG8MYndrC5Rfhb7xgckqJ84vdyyjZ52epyZHIlQlNFLTiaiqQGYIyIFKN4gR2YO0aBA==}
+ /gitcoin-lit-js-sdk@1.2.6:
+ resolution: {integrity: sha512-Y3CYfgAXqRrDciLBBD7iTIiSOlSBLEF7jChWx4fa9J7JAMmKYNIrVqC1Jj4tasx67oaPjtcFx7Rw/9PWP6zy6Q==}
dependencies:
'@ethersproject/bytes': 5.7.0
'@ethersproject/contracts': 5.7.0
'@ethersproject/hash': 5.7.0
- '@ethersproject/providers': 5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@ethersproject/strings': 5.7.0
'@ethersproject/units': 5.7.0
'@ethersproject/wallet': 5.7.0
- '@walletconnect/ethereum-provider': 1.8.0(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@walletconnect/ethereum-provider': 1.8.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
buffer: 6.0.3
- bufferutil: 4.0.7
+ bufferutil: 4.0.8
cross-blob: 3.0.2
jszip: 3.10.1
lit-connect-modal: 0.1.11
@@ -14663,7 +14656,7 @@ packages:
'@ethersproject/bytes': 5.7.0
'@ethersproject/constants': 5.7.0
'@ethersproject/contracts': 5.7.0
- '@ethersproject/providers': 5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@ethersproject/solidity': 5.7.0
'@ethersproject/transactions': 5.7.0
'@ethersproject/wallet': 5.7.0
@@ -16044,7 +16037,7 @@ packages:
peerDependencies:
ws: '*'
dependencies:
- ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)
dev: false
/isomorphic-ws@5.0.0(ws@8.13.0):
@@ -16284,7 +16277,7 @@ packages:
buffer: 6.0.3
event-iterator: 2.0.0
iso-url: 1.2.1
- ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -16338,7 +16331,7 @@ packages:
isomorphic-ws: 4.0.1(ws@7.5.9)
json-stringify-safe: 5.0.1
uuid: 8.3.2
- ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -16994,7 +16987,7 @@ packages:
whatwg-encoding: 1.0.5
whatwg-mimetype: 2.3.0
whatwg-url: 8.7.0
- ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)
xml-name-validator: 3.0.0
transitivePeerDependencies:
- bufferutil
@@ -17783,19 +17776,19 @@ packages:
'@types/trusted-types': 2.0.3
dev: false
- /lit-js-sdk-old-w-pgn@1.1.252:
- resolution: {integrity: sha512-xa3xu3+1HGNk7LhzX9SP+u75TbG8iAuQBPL++RGYRwi3bgIZq3CApAC502QRwqP0eMx/3OOXDUBMqXV0/PMAjQ==}
+ /lit-js-sdk-old-w-pgn@1.1.254:
+ resolution: {integrity: sha512-czJousy2bo2oRR83ol/FZcS3TkZzYxkkVXVXKvfAdXLEspmYRjWvaTXWUnf21eUdUIBcoxfUox0AnTPjYna+rA==}
dependencies:
'@ethersproject/bytes': 5.7.0
'@ethersproject/contracts': 5.7.0
'@ethersproject/hash': 5.7.0
- '@ethersproject/providers': 5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@ethersproject/strings': 5.7.0
'@ethersproject/units': 5.7.0
'@ethersproject/wallet': 5.7.0
- '@walletconnect/ethereum-provider': 1.7.8(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@walletconnect/ethereum-provider': 1.7.8(bufferutil@4.0.8)(utf-8-validate@5.0.10)
buffer: 6.0.3
- bufferutil: 4.0.7
+ bufferutil: 4.0.8
cross-blob: 3.0.2
jszip: 3.10.1
lit-connect-modal: 0.1.11
@@ -17821,7 +17814,7 @@ packages:
dependencies:
'@ethersproject/contracts': 5.7.0
'@ethersproject/hash': 5.7.0
- '@ethersproject/providers': 5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10)
+ '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@ethersproject/wallet': 5.7.0
'@spruceid/siwe-parser': 1.1.3
'@stablelib/random': 1.0.2
@@ -24786,7 +24779,7 @@ packages:
signal-exit: 3.0.7
typedarray-to-buffer: 3.1.5
- /ws@7.4.6(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /ws@7.4.6(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==}
engines: {node: '>=8.3.0'}
peerDependencies:
@@ -24798,10 +24791,10 @@ packages:
utf-8-validate:
optional: true
dependencies:
- bufferutil: 4.0.7
+ bufferutil: 4.0.8
utf-8-validate: 5.0.10
- /ws@7.5.3(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /ws@7.5.3(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==}
engines: {node: '>=8.3.0'}
peerDependencies:
@@ -24813,11 +24806,11 @@ packages:
utf-8-validate:
optional: true
dependencies:
- bufferutil: 4.0.7
+ bufferutil: 4.0.8
utf-8-validate: 5.0.10
dev: false
- /ws@7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10):
+ /ws@7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10):
resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
engines: {node: '>=8.3.0'}
peerDependencies:
@@ -24829,7 +24822,7 @@ packages:
utf-8-validate:
optional: true
dependencies:
- bufferutil: 4.0.7
+ bufferutil: 4.0.8
utf-8-validate: 5.0.10
/ws@8.11.0: