diff --git a/packages/app/.env b/packages/app/.env
deleted file mode 100644
index 4d2fee0..0000000
--- a/packages/app/.env
+++ /dev/null
@@ -1,2 +0,0 @@
-VITE_CONTRACT_ADDRESS=0x21d42CC2EcDb6db2c3D9b494D8CCcb6674360912
-VITE_CIRCUIT_ARTIFACTS_URL=https://storage.googleapis.com/proof-of-twitter-artifacts/b6ea02e/
diff --git a/packages/app/package.json b/packages/app/package.json
index 627c55d..a781fd6 100644
--- a/packages/app/package.json
+++ b/packages/app/package.json
@@ -5,6 +5,7 @@
"@proof-of-twitter/circuits": "workspace:^",
"@proof-of-twitter/contracts": "workspace:^",
"@rainbow-me/rainbowkit": "^1.3.3",
+ "@react-oauth/google": "^0.12.1",
"@zk-email/helpers": "4.0.0",
"lodash": "^4.17.21",
"react": "^17.0.2",
diff --git a/packages/app/src/components/Button.tsx b/packages/app/src/components/Button.tsx
index e55d88d..385498f 100644
--- a/packages/app/src/components/Button.tsx
+++ b/packages/app/src/components/Button.tsx
@@ -25,3 +25,50 @@ export const Button = styled.button`
cursor: not-allowed;
}
`;
+
+export const OutlinedButton = styled.button`
+ padding: 0 14px;
+ border-radius: 4px;
+ border: none;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-weight: 500;
+ font-size: 0.9rem;
+ letter-spacing: -0.02em;
+ color: #8272e4;
+ cursor: pointer;
+ height: 48px;
+ width: 100%;
+ min-width: 32px;
+ transition: all 0.2s ease-in-out;
+ background: transparent;
+ border: 1px solid #8272e4;
+ &:hover {
+ background: #9b8df2;
+ color: white;
+ }
+ &:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ }
+`;
+
+
+export const TextButton = styled.button`
+width: fit-content;
+background: transparent;
+border: none;
+color: white;
+font-weight: 500;
+padding: 4px 16px;
+border-radius: 4px;
+ &:hover {
+ background: #00000020;
+ color: white;
+ }
+ &:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+ }
+`;
diff --git a/packages/app/src/components/EmailInputMethod.tsx b/packages/app/src/components/EmailInputMethod.tsx
new file mode 100644
index 0000000..dd991f9
--- /dev/null
+++ b/packages/app/src/components/EmailInputMethod.tsx
@@ -0,0 +1,28 @@
+import { useState } from "react";
+import { Button, OutlinedButton } from "./Button";
+
+const EmailInputMethod = ({ onClickGoogle, onClickEMLFile }) => {
+ return (
+
+
+ or
+ {
+ onClickEMLFile();
+ }}
+ >
+ Upload email .eml file{" "}
+
+
+ );
+};
+
+export default EmailInputMethod;
diff --git a/packages/app/src/constants.ts b/packages/app/src/constants.ts
new file mode 100644
index 0000000..af183f6
--- /dev/null
+++ b/packages/app/src/constants.ts
@@ -0,0 +1,75 @@
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt
+export const ZERO = BigInt(0);
+export const SECONDS_IN_DAY = BigInt(86400);
+
+export const MAX_USDC_TRANSFER_SIZE_VENMO = 500000000n; // 500 USD
+export const MAX_USDC_TRANSFER_SIZE_HDFC = 10000000n; // 10 USD
+export const MAX_USDC_TRANSFER_SIZE_GARANTI = 10000000n; // 10 USD
+export const MAX_USDC_TRANSFER_SIZE_REVOLUT = 100000000n; // 100 USD
+
+export const DEPOSIT_REFETCH_INTERVAL = 20000; // 0.3 minutes
+export const STATE_REFETCH_INTERVAL = 60000; // 1 minute
+// export const DEPOSIT_REFETCH_INTERVAL = 2000000; // 30 minutes
+// export const STATE_REFETCH_INTERVAL = 6000000; // 100 minute
+
+export const VENMO_EMAIL_FILTER = `from:venmo@venmo.com subject:"You paid" after:2024/01/10`;
+export const HDFC_EMAIL_FULTER = `from:alerts@hdfcbank.net subject:"❗ You have done a UPI txn. Check details!" after:2023/09/01`;
+export const GARANTI_EMAIL_FULTER = `from:garanti@info.garantibbva.com.tr subject:"Para Transferi Bilgilendirmesi" after:2023/09/01`;
+
+export const PRECISION = BigInt(1_000_000_000_000_000_000); // 18
+export const USDC_UNITS = BigInt(1_000_000); // 6
+export const PENNY_IN_USDC_UNITS = BigInt(10_000); // 6
+
+export const EMPTY_STRING = '';
+
+export const SOCKET_QUOTE_DEFAULT_ADDRESS = '0x18Cc6F90512C6D95ACA0d57F98C727D61873c06a';
+export const SOCKET_DEFAULT_SOL_ADDRESS = '8pHKRNF3u8tndkUJ4euAddNWM9EAMWbUiK5GVmtaGY5U';
+export const QUOTE_FETCHING_DEBOUNCE_MS = 750;
+
+// the numeric form of the payload1 passed into the primitive
+// corresponds to the openssh signature produced by the following command:
+// echo "E PLURIBUS UNUM; DO NOT SHARE" | ssh-keygen -Y sign -n double-blind.xyz -f ~/.ssh/id_rsa | pbcopy
+export const MAGIC_DOUBLE_BLIND_BASE_MESSAGE =
+ 14447023197094784173331616578829287000074783130802912942914027114823662617007553911501158244718575362051758829289159984830457466395841150324770159971462582912755545324694933673046215187947905307019469n;
+// Length in bits
+export const MAGIC_DOUBLE_BLIND_BASE_MESSAGE_LEN = 672;
+
+export const CIRCOM_FIELD_MODULUS = 21888242871839275222246405745257275088548364400416034343698204186575808495617n;
+export const MAX_HEADER_PADDED_BYTES = 1024; // NOTE: this must be the same as the first arg in the email in main args circom
+export const MAX_BODY_PADDED_BYTES = 6400; // NOTE: this must be the same as the arg to sha the remainder number of bytes in the email in main args circom
+
+
+export const CLIENT_VERSION = '0.3.2';
+
+// circom constants from main.circom / https://zkrepl.dev/?gist=30d21c7a7285b1b14f608325f172417b
+// template RSAGroupSigVerify(n, k, levels) {
+// component main { public [ modulus ] } = RSAVerify(121, 17);
+// component main { public [ root, payload1 ] } = RSAGroupSigVerify(121, 17, 30);
+export const CIRCOM_BIGINT_N = 121;
+export const CIRCOM_BIGINT_K = 17;
+export const CIRCOM_LEVELS = 30;
+
+
+// This is the string that comes right before the target string in the email. Ideally as close to the end of the email as possible.
+export const STRING_PRESELECTOR = "";
+
+
+// Misc smart contract values
+export const UINT256_MAX = "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
+export const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000000000000000000000000000";
+export const CALLER_ACCOUNT = "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266";
+export const DEFAULT_NETWORK = "base";
+
+
+// Proving key paths
+export const HOSTED_FILES_PATH = "https://s3.amazonaws.com/zk-p2p/v2/v0.0.10/";
+export const REGISTRATION_KEY_FILE_NAME = "venmo_registration/venmo_registration";
+export const SEND_KEY_FILE_NAME = "venmo_send/venmo_send";
+
+export const RemoteProofGenEmailTypes = {
+ REGISTRATION: "registration",
+ SEND: "send",
+};
+
+const ENABLE_STATE_LOGGING = false;
+export const esl = ENABLE_STATE_LOGGING;
diff --git a/packages/app/src/contexts/Account/AccountContext.ts b/packages/app/src/contexts/Account/AccountContext.ts
new file mode 100644
index 0000000..9e02379
--- /dev/null
+++ b/packages/app/src/contexts/Account/AccountContext.ts
@@ -0,0 +1,30 @@
+import { createContext } from 'react';
+
+
+interface AccountValues {
+ isLoggedIn: boolean;
+ loggedInEthereumAddress: string | null;
+ loginStatus: string | null;
+ authenticatedLogout: (() => void) | null;
+ authenticatedLogin: (() => void) | null;
+ accountDisplay: string | null;
+ network: string | null;
+ connectStatus: string | null;
+ exportAuthenticatedWallet: (() => void) | null;
+};
+
+const defaultValues: AccountValues = {
+ isLoggedIn: false,
+ loggedInEthereumAddress: null,
+ loginStatus: null,
+ authenticatedLogout: null,
+ authenticatedLogin: null,
+ accountDisplay: null,
+ network: null,
+ connectStatus: null,
+ exportAuthenticatedWallet: null
+};
+
+const AccountContext = createContext(defaultValues);
+
+export default AccountContext;
diff --git a/packages/app/src/contexts/Account/AccountProvider.tsx b/packages/app/src/contexts/Account/AccountProvider.tsx
new file mode 100644
index 0000000..cee6044
--- /dev/null
+++ b/packages/app/src/contexts/Account/AccountProvider.tsx
@@ -0,0 +1,172 @@
+import { useEffect, useState, ReactNode } from 'react';
+import { useAccount, useConnect, useDisconnect, useNetwork } from 'wagmi';
+import { useWallets } from '@privy-io/react-auth';
+import { usePrivyWagmi } from '@privy-io/wagmi-connector';
+import { usePrivy } from '@privy-io/react-auth';
+
+import AccountContext from './AccountContext';
+import { esl } from '../../constants';
+import { formatAddress } from '../../helpers/addressFormat';
+import { LoginStatus, LoginStatusType } from '../../helpers/types/loginStatus';
+
+interface ProvidersProps {
+ children: ReactNode;
+}
+
+const AccountProvider = ({ children }: ProvidersProps) => {
+ const { address } = useAccount();
+ const { chain } = useNetwork();
+ const { disconnect } = useDisconnect();
+ const { status: connectStatus } = useConnect();
+
+ const { wallets } = useWallets();
+ const { wallet: activeWallet, setActiveWallet } = usePrivyWagmi();
+ const {
+ authenticated,
+ logout: authenticatedLogout,
+ user,
+ login: authenticatedLogin,
+ exportWallet: exportAuthenticatedWallet
+ } = usePrivy();
+
+ /*
+ * State
+ */
+
+ const [isLoggedIn, setIsLoggedIn] = useState(false);
+ const [loginStatus, setLoginStatus] = useState(LoginStatus.LOGGED_OUT);
+ const [loggedInEthereumAddress, setLoggedInEthereumAddress] = useState(null);
+ const [accountDisplay, setAccountDisplay] = useState(null);
+ const [network, setNetwork] = useState(null);
+
+ /*
+ * Hooks
+ */
+
+ useEffect(() => {
+ esl && console.log('activeWallet_1');
+ esl && console.log('checking wallets: ', wallets);
+ esl && console.log('checking activeWallet: ', activeWallet);
+
+ if (wallets[0] && !activeWallet) {
+ esl && console.log('activeWallet_2');
+ setActiveWallet(wallets[0]);
+ }
+ }, [activeWallet, wallets, setActiveWallet]);
+
+ useEffect(() => {
+ esl && console.log('loginStatus_1');
+ esl && console.log('user: ', user);
+
+ if (authenticated && user?.wallet?.connectorType) {
+ const connectorType = user.wallet.connectorType;
+ if (connectorType === 'embedded') {
+ esl && console.log('loginStatus_2');
+
+ setLoginStatus(LoginStatus.AUTHENTICATED);
+ } else if (
+ connectorType === 'injected' ||
+ connectorType === 'coinbase_wallet' ||
+ connectorType === 'wallet_connect' ||
+ connectorType === 'wallet_connect_v2'
+ ) {
+ esl && console.log('loginStatus_3');
+
+ setLoginStatus(LoginStatus.EOA);
+ } else {
+ esl && console.log('loginStatus_4');
+
+ setLoginStatus(LoginStatus.LOGGED_OUT);
+ }
+ } else {
+ esl && console.log('loginStatus_5');
+
+ setLoginStatus(LoginStatus.LOGGED_OUT);
+ }
+ }, [authenticated, user]);
+
+ useEffect(() => {
+ esl && console.log('isLoggedIn_1');
+ esl && console.log('checking loginStatus: ', loginStatus);
+ esl && console.log('user: ', user);
+ esl && console.log('address: ', address);
+
+ switch (loginStatus) {
+ case LoginStatus.AUTHENTICATED:
+ if (address && user) {
+ esl && console.log('isLoggedIn_2');
+
+ if (user.email && user.email.address) {
+ setAccountDisplay(user.email.address);
+ } else if (user.google && user.google.email) {
+ setAccountDisplay(user.google.email);
+ } else if (user.twitter && user.twitter.username) {
+ setAccountDisplay(user.twitter.username);
+ } else if (user.farcaster && user.farcaster.displayName) {
+ setAccountDisplay(user.farcaster.displayName);
+ } else {
+ setAccountDisplay('Account');
+ }
+
+ setIsLoggedIn(true);
+ setLoggedInEthereumAddress(address);
+ }
+ break;
+
+ case LoginStatus.EOA:
+ if (address) {
+ esl && console.log('isLoggedIn_3');
+
+ const formattedAddress = formatAddress(address);
+
+ setAccountDisplay(formattedAddress);
+ setIsLoggedIn(true);
+ setLoggedInEthereumAddress(address);
+ }
+ break;
+
+ case LoginStatus.LOGGED_OUT:
+ default:
+ esl && console.log('isLoggedIn_4');
+
+ setAccountDisplay(null);
+ setIsLoggedIn(false);
+ setLoggedInEthereumAddress(null);
+ }
+ }, [user, address, loginStatus, disconnect]);
+
+ useEffect(() => {
+ esl && console.log('networkRaw_1');
+ esl && console.log('checking chain: ', chain);
+
+ if (chain) {
+ esl && console.log('networkRaw_2');
+
+ setNetwork(chain.network);
+ } else {
+ esl && console.log('networkRaw_3');
+
+ setNetwork(null);
+ }
+ }, [chain]);
+
+ return (
+
+ {children}
+
+ );
+};
+
+export default AccountProvider;
diff --git a/packages/app/src/contexts/Account/index.ts b/packages/app/src/contexts/Account/index.ts
new file mode 100644
index 0000000..91841ae
--- /dev/null
+++ b/packages/app/src/contexts/Account/index.ts
@@ -0,0 +1,2 @@
+export { default as AccountContext } from './AccountContext'
+export { default as AccountProvider } from './AccountProvider'
diff --git a/packages/app/src/contexts/GoogleAuth/GoogleAuthContext.ts b/packages/app/src/contexts/GoogleAuth/GoogleAuthContext.ts
new file mode 100644
index 0000000..3156bc2
--- /dev/null
+++ b/packages/app/src/contexts/GoogleAuth/GoogleAuthContext.ts
@@ -0,0 +1,24 @@
+import { createContext } from 'react'
+
+
+interface GoogleAuthValues {
+ googleAuthToken: any | null;
+ isGoogleAuthed: boolean;
+ loggedInGmail: string | null;
+ scopesApproved: boolean;
+ googleLogIn: () => void;
+ googleLogOut: () => void;
+}
+
+const defaultValues: GoogleAuthValues = {
+ googleAuthToken: null,
+ isGoogleAuthed: false,
+ loggedInGmail: null,
+ scopesApproved: false,
+ googleLogIn: () => {},
+ googleLogOut: () => {},
+};
+
+const GoogleAuthContext = createContext(defaultValues)
+
+export default GoogleAuthContext
diff --git a/packages/app/src/contexts/GoogleAuth/GoogleAuthProvider.tsx b/packages/app/src/contexts/GoogleAuth/GoogleAuthProvider.tsx
new file mode 100644
index 0000000..e0941d2
--- /dev/null
+++ b/packages/app/src/contexts/GoogleAuth/GoogleAuthProvider.tsx
@@ -0,0 +1,154 @@
+import React, { useEffect, useState, ReactNode } from 'react'
+import {
+ hasGrantedAllScopesGoogle,
+ useGoogleLogin,
+ googleLogout,
+} from '@react-oauth/google';
+
+// import GoogleAuthContext from './GoogleAuthContext'
+import { fetchProfile } from '../../hooks/useGmailClient';
+import useAccount from '../../hooks/useAccount';
+import { esl } from '../../constants';
+import GoogleAuthContext from './GoogleAuthContext';
+
+
+interface ProvidersProps {
+ children: ReactNode;
+}
+
+const GoogleAuthProvider = ({ children }: ProvidersProps) => {
+ /*
+ * Contexts
+ */
+
+ const { loggedInEthereumAddress } = useAccount()
+
+ /*
+ * State Keys
+ */
+
+ const getGoogleAuthTokenKey = () => {
+ return `googleAuthToken_${loggedInEthereumAddress}`;
+ }
+
+ /*
+ * State
+ */
+
+ const [googleAuthToken, setGoogleAuthToken] = useState(
+ () => {
+ const cachedToken = localStorage.getItem(getGoogleAuthTokenKey());
+ return cachedToken ? JSON.parse(cachedToken) : null;
+ }
+ );
+
+ const [isGoogleAuthed, setIsGoogleAuthed] = useState(false);
+ const [isScopesApproved, setIsScopesApproved] = useState(false);
+ const [loggedInGmail, setLoggedInGmail] = useState(null);
+
+ /*
+ * Hooks
+ */
+
+ useEffect(() => {
+ esl && console.log('logoOutGoogleAuth');
+ esl && console.log('checking loggedInEthereumAddress', loggedInEthereumAddress);
+
+ if (!loggedInEthereumAddress) {
+ esl && console.log('logoOutGoogleAuth_1');
+
+ googleLogOut();
+ }
+
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [loggedInEthereumAddress]);
+
+ useEffect(() => {
+ esl && console.log('googleAuthScopes_1');
+ esl && console.log('checking googleAuthToken', googleAuthToken);
+
+ if (googleAuthToken) {
+ esl && console.log('googleAuthScopes_2');
+
+ const allScope = hasGrantedAllScopesGoogle(
+ googleAuthToken,
+ 'email',
+ 'profile',
+ 'https://www.googleapis.com/auth/gmail.readonly',
+ );
+
+ setIsScopesApproved(allScope);
+ }
+ }, [googleAuthToken]);
+
+ useEffect(() => {
+ esl && console.log('googleProfile_1');
+ esl && console.log('checking googleAuthToken', googleAuthToken);
+
+ if (googleAuthToken) {
+ esl && console.log('googleProfile_2');
+
+ const fetchData = async () => {
+ try {
+ const email = await fetchProfile(googleAuthToken.access_token);
+
+ if (email) {
+ setLoggedInGmail(email);
+
+ localStorage.setItem('loggedInEmail', email);
+ }
+ } catch (error) {
+ console.error('Error in fetching profile data:', error);
+ }
+ };
+
+ fetchData();
+ };
+ }, [googleAuthToken]);
+
+ /*
+ * Helpers
+ */
+
+ const googleLogIn = useGoogleLogin({
+ onSuccess: tokenResponse => {
+ setGoogleAuthToken(tokenResponse);
+ setIsGoogleAuthed(true);
+
+ localStorage.setItem(getGoogleAuthTokenKey(), JSON.stringify(tokenResponse));
+ },
+ scope: 'email profile https://www.googleapis.com/auth/gmail.readonly',
+ });
+
+ const googleLogOut = () => {
+ setIsScopesApproved(false);
+
+ setGoogleAuthToken(null);
+ localStorage.removeItem(getGoogleAuthTokenKey());
+
+ setIsGoogleAuthed(false);
+ localStorage.removeItem('isGoogleAuthed');
+
+ setLoggedInGmail(null);
+ localStorage.removeItem('loggedInGmail');
+
+ googleLogout();
+ };
+
+ return (
+
+ {children}
+
+ );
+};
+
+export default GoogleAuthProvider
diff --git a/packages/app/src/contexts/GoogleAuth/index.ts b/packages/app/src/contexts/GoogleAuth/index.ts
new file mode 100644
index 0000000..80c2afe
--- /dev/null
+++ b/packages/app/src/contexts/GoogleAuth/index.ts
@@ -0,0 +1,2 @@
+export { default as GoogleAuthContext } from './GoogleAuthContext'
+export { default as GoogleAuthProvider } from './GoogleAuthProvider'
diff --git a/packages/app/src/helpers/addressFormat.ts b/packages/app/src/helpers/addressFormat.ts
new file mode 100644
index 0000000..78dca2c
--- /dev/null
+++ b/packages/app/src/helpers/addressFormat.ts
@@ -0,0 +1,13 @@
+export const formatAddress = (address: string | undefined): string => {
+ if (!address || address.length < 9) {
+ return address || '';
+ }
+ return `${address.substring(0, 6)}...${address.substring(address.length - 4)}`;
+ };
+
+ export const formatAddressLong = (address: string | undefined): string => {
+ if (!address || address.length < 9) {
+ return address || '';
+ }
+ return `${address.substring(0, 12)}...${address.substring(address.length - 10)}`;
+ };
\ No newline at end of file
diff --git a/packages/app/src/helpers/dateTimeFormat.ts b/packages/app/src/helpers/dateTimeFormat.ts
new file mode 100644
index 0000000..14ffcfe
--- /dev/null
+++ b/packages/app/src/helpers/dateTimeFormat.ts
@@ -0,0 +1,21 @@
+export function formatDateTime(unixTimestamp: string): string {
+ const date = new Date(Number(unixTimestamp));
+ const now = new Date();
+
+ const isToday =
+ date.getDate() === now.getDate() &&
+ date.getMonth() === now.getMonth() &&
+ date.getFullYear() === now.getFullYear();
+
+ if (isToday) {
+ return date.toLocaleTimeString("en-US", {
+ hour: "numeric",
+ minute: "2-digit",
+ hour12: true,
+ });
+ }
+ return date.toLocaleDateString("en-US", {
+ month: "numeric",
+ day: "numeric",
+ });
+}
diff --git a/packages/app/src/helpers/types/index.ts b/packages/app/src/helpers/types/index.ts
new file mode 100644
index 0000000..e69de29
diff --git a/packages/app/src/helpers/types/loginStatus.ts b/packages/app/src/helpers/types/loginStatus.ts
new file mode 100644
index 0000000..affed4e
--- /dev/null
+++ b/packages/app/src/helpers/types/loginStatus.ts
@@ -0,0 +1,8 @@
+export const LoginStatus = {
+ LOGGED_OUT: 'logged_out',
+ AUTHENTICATED: 'authenticated',
+ EOA: 'eoa'
+ };
+
+ export type LoginStatusType = typeof LoginStatus[keyof typeof LoginStatus];
+
\ No newline at end of file
diff --git a/packages/app/src/hooks/useAccount.ts b/packages/app/src/hooks/useAccount.ts
new file mode 100644
index 0000000..b744222
--- /dev/null
+++ b/packages/app/src/hooks/useAccount.ts
@@ -0,0 +1,8 @@
+import { useContext } from 'react'
+import { AccountContext } from '../contexts/Account'
+
+const useAccount = () => {
+ return { ...useContext(AccountContext) }
+}
+
+export default useAccount
diff --git a/packages/app/src/hooks/useGmailClient.ts b/packages/app/src/hooks/useGmailClient.ts
new file mode 100644
index 0000000..3ab9f1a
--- /dev/null
+++ b/packages/app/src/hooks/useGmailClient.ts
@@ -0,0 +1,129 @@
+/*
+ * users.getProfile
+ */
+
+export async function fetchProfile(
+ accessToken: string,
+ ): Promise {
+ const url = `https://www.googleapis.com/gmail/v1/users/me/profile`;
+
+ const response = await fetch(url, {
+ headers: {
+ 'Authorization': `Bearer ${accessToken}`,
+ },
+ });
+
+ if (response.ok) {
+ const data = await response.json();
+
+ return data.emailAddress;
+ } else {
+ console.error('Failed to fetch emails:', response);
+
+ throw new Error('Failed to fetch emails');
+ }
+ }
+
+ /*
+ * messages.list
+ */
+
+ export type GmailMessagesListResponse = {
+ messages: Array<{
+ id: string;
+ threadId: string;
+ }>;
+ nextPageToken?: string;
+ resultSizeEstimate?: number;
+ };
+
+ export async function fetchEmailList(
+ accessToken: string,
+ queryParams: any
+ ): Promise {
+ const defaultParams = {
+ maxResults: 5,
+ pageToken: 0,
+ };
+
+ const finalQueryParams = { ...defaultParams, ...queryParams };
+ const queryString = new URLSearchParams(finalQueryParams).toString();
+ const url = `https://www.googleapis.com/gmail/v1/users/me/messages?${queryString}`;
+
+ const response = await fetch(url, {
+ headers: {
+ 'Authorization': `Bearer ${accessToken}`,
+ },
+ });
+
+ if (response.ok) {
+ const data: GmailMessagesListResponse = await response.json();
+
+ return data;
+ } else {
+ console.error('Failed to fetch emails:', response);
+ throw new Error('Failed to fetch emails');
+ }
+ }
+
+ /*
+ * messages.get
+ */
+
+ export type RawEmailResponse = {
+ subject: string;
+ internalDate: string;
+ decodedContents: string;
+ };
+
+ export async function fetchEmailsRaw(
+ accessToken: string,
+ messageIds: string[]
+ ): Promise {
+ try {
+ const fetchPromises = messageIds.map(messageId => {
+ const url = `https://www.googleapis.com/gmail/v1/users/me/messages/${messageId}?format=raw`;
+
+ return fetch(url, {
+ headers: {
+ 'Authorization': `Bearer ${accessToken}`,
+ },
+ })
+ .then(response => {
+ if (!response.ok) {
+ throw new Error(`Failed to fetch email with ID: ${messageId}`);
+ }
+
+ return response.json();
+ })
+ .then(data => {
+ let rawBase64 = data.raw
+ .replace(/-/g, '+')
+ .replace(/_/g, '/');
+
+ while (rawBase64.length % 4) {
+ rawBase64 += '=';
+ }
+
+ const decodedContents = atob(rawBase64);
+
+ const subject = decodedContents.match(/Subject: (.*)/)?.[1] || 'No Subject';
+
+ return {
+ subject,
+ internalDate: data.internalDate,
+ decodedContents
+ };
+ }) as Promise;
+ });
+
+ const results = await Promise.all(fetchPromises);
+
+ return results;
+ } catch (error) {
+ console.error('Error fetching emails:', error);
+
+ throw new Error('Error fetching emails');
+ }
+ };
+
\ No newline at end of file
diff --git a/packages/app/src/hooks/useGoogleAuth.ts b/packages/app/src/hooks/useGoogleAuth.ts
new file mode 100644
index 0000000..32fbf82
--- /dev/null
+++ b/packages/app/src/hooks/useGoogleAuth.ts
@@ -0,0 +1,8 @@
+import { useContext } from 'react'
+import { GoogleAuthContext } from '../contexts/GoogleAuth'
+
+const useGoogleAuth = () => {
+ return { ...useContext(GoogleAuthContext) }
+}
+
+export default useGoogleAuth
diff --git a/packages/app/src/index.tsx b/packages/app/src/index.tsx
index 61fa279..4fec4d0 100644
--- a/packages/app/src/index.tsx
+++ b/packages/app/src/index.tsx
@@ -2,7 +2,9 @@ import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
import { WagmiConfig, createConfig } from "wagmi";
-import { createPublicClient, http } from 'viem'
+import { createPublicClient, http } from "viem";
+import { configureChains } from "wagmi";
+import { publicProvider } from "wagmi/providers/public";
import { sepolia } from "wagmi/chains";
import {
getDefaultWallets,
@@ -10,7 +12,8 @@ import {
darkTheme,
} from "@rainbow-me/rainbowkit";
import "@rainbow-me/rainbowkit/styles.css";
-
+import { GoogleOAuthProvider } from "@react-oauth/google";
+import { GoogleAuthProvider } from "./contexts/GoogleAuth";
const { connectors } = getDefaultWallets({
appName: "ZK Email - Twitter Verifier",
@@ -22,17 +25,20 @@ const config = createConfig({
autoConnect: true,
publicClient: createPublicClient({
chain: sepolia,
- transport: http()
+ transport: http(),
}),
connectors: connectors,
-})
-
+});
ReactDOM.render(
-
+
+
+
+
+
,
diff --git a/packages/app/src/pages/MainPage.tsx b/packages/app/src/pages/MainPage.tsx
index be6677a..fa31636 100644
--- a/packages/app/src/pages/MainPage.tsx
+++ b/packages/app/src/pages/MainPage.tsx
@@ -22,17 +22,34 @@ import {
import { LabeledTextArea } from "../components/LabeledTextArea";
import DragAndDropTextBox from "../components/DragAndDropTextBox";
import { SingleLineInput } from "../components/SingleLineInput";
-import { Button } from "../components/Button";
+import { Button, TextButton } from "../components/Button";
import { Col, Row } from "../components/Layout";
import { NumberedStep } from "../components/NumberedStep";
import { TopBanner } from "../components/TopBanner";
import { ProgressBar } from "../components/ProgressBar";
+import useGoogleAuth from "../hooks/useGoogleAuth";
+import {
+ RawEmailResponse,
+ fetchEmailList,
+ fetchEmailsRaw,
+} from "../hooks/useGmailClient";
+import { formatDateTime } from "../helpers/dateTimeFormat";
+import EmailInputMethod from "../components/EmailInputMethod";
const CIRCUIT_NAME = "twitter";
export const MainPage: React.FC<{}> = (props) => {
const { address } = useAccount();
+ const {
+ googleAuthToken,
+ isGoogleAuthed,
+ loggedInGmail,
+ scopesApproved,
+ googleLogIn,
+ googleLogOut,
+ } = useGoogleAuth();
+
const [ethereumAddress, setEthereumAddress] = useState(address ?? "");
const [emailFull, setEmailFull] = useState(
localStorage.emailFull || ""
@@ -48,8 +65,13 @@ export const MainPage: React.FC<{}> = (props) => {
const [lastAction, setLastAction] = useState<"" | "sign" | "verify" | "send">(
""
);
+ const [isFetchEmailLoading, setIsFetchEmailLoading] = useState(false);
+ const [fetchedEmails, setFetchedEmails] = useState([]);
const [showBrowserWarning, setShowBrowserWarning] = useState(false);
const [downloadProgress, setDownloadProgress] = useState(0);
+ const [inputMethod, setInputMethod] = useState<
+ "GOOGLE" | "EML_FILE" | null
+ >();
const [status, setStatus] = useState<
| "not-started"
| "generating-input"
@@ -73,6 +95,14 @@ export const MainPage: React.FC<{}> = (props) => {
finishedProving: 0,
});
+ useEffect(() => {
+ if (isGoogleAuthed) {
+ handleFetchEmails();
+ }
+ }, [isGoogleAuthed]);
+
+ console.log(fetchedEmails);
+
useEffect(() => {
const userAgent = navigator.userAgent;
const isChrome = userAgent.indexOf("Chrome") > -1;
@@ -129,6 +159,33 @@ export const MainPage: React.FC<{}> = (props) => {
const { data, isLoading, isSuccess, write } = useContractWrite(config);
+ const handleFetchEmails = async () => {
+ try {
+ setIsFetchEmailLoading(true);
+ const emailListResponse = await fetchEmailList(
+ googleAuthToken.access_token,
+ {}
+ );
+
+ const emailResponseMessages = emailListResponse.messages;
+ if (emailResponseMessages?.length > 0) {
+ const emailIds = emailResponseMessages.map((message) => message.id);
+ const emails = await fetchEmailsRaw(
+ googleAuthToken.access_token,
+ emailIds
+ );
+
+ setFetchedEmails(emails);
+ } else {
+ setFetchedEmails([]);
+ }
+ } catch (error) {
+ console.error("Error in fetching data:", error);
+ } finally {
+ setIsFetchEmailLoading(false);
+ }
+ };
+
useMount(() => {
function handleKeyDown() {
setLastAction("");
@@ -284,23 +341,88 @@ export const MainPage: React.FC<{}> = (props) => {
Input
-
-
- OR
-
- {
- setEmailFull(e.currentTarget.value);
- }}
- />
+ {inputMethod ? null : (
+ {
+ try {
+ setIsFetchEmailLoading(true);
+ setInputMethod("GOOGLE");
+ googleLogIn();
+ } catch (e) {
+ console.log(e);
+ setIsFetchEmailLoading(false);
+ }
+ }}
+ onClickEMLFile={() => {
+ setInputMethod("EML_FILE");
+ }}
+ />
+ )}
+ {inputMethod ? (
+ setInputMethod(null)}>
+ ←{" "}Go Back
+
+ ) : null}
+ {inputMethod === "GOOGLE" ? (
+
+ {isFetchEmailLoading ? (
+
+ ) : (
+ fetchedEmails.map((email, index) => (
+
{
+ setEmailFull(email.decodedContents);
+ }}
+ >
+
{email.subject}
+
{formatDateTime(email.internalDate)}
+
+ ))
+ )}
+
+ ) : null}
+ {inputMethod === "EML_FILE" ? (
+ <>
+ {" "}
+
+
+ OR
+
+ {
+ setEmailFull(e.currentTarget.value);
+ }}
+ />
+ >
+ ) : null}
=17"
viem: ~0.3.19 || ^1.0.0
wagmi: ~1.0.1 || ~1.1.0 || ~1.2.0 || ~1.3.0 || ~1.4.0
- checksum: 212286d24fb76e07b60255fef3b549b96925cb294b77fd1a697c7aed40381779428b5b64981b72d078e087ad0db6a3b89dbd634f8c79574a5bfa97ae23b0fc4e
+ checksum: 63a367eccc897203976473057f41e7537248a28b859dc4d58f0d4bae0808ce6588af691f1dbf480f7c393714d06e520b16105305ac1f345c816757f778d3ba8e
languageName: node
linkType: hard
-"@remix-run/router@npm:1.15.3":
- version: 1.15.3
- resolution: "@remix-run/router@npm:1.15.3"
- checksum: 9e70bd334d99fdf9285f0885c10353d7e25f66369080f551d997e3ce204e1af3a12d6f12b091f94a2dc9a54c80598bbe3c5194b57cbae17b7b40ab815dcd49a0
+"@react-oauth/google@npm:^0.12.1":
+ version: 0.12.1
+ resolution: "@react-oauth/google@npm:0.12.1"
+ peerDependencies:
+ react: ">=16.8.0"
+ react-dom: ">=16.8.0"
+ checksum: fff63a0fc0b367519b48422c39f6ebc73226e4442ae148d752d05083a185660e66d047fcc8d88b962de97980cfb71f726de0a96ff5f00af0d7e68f333560a7c3
languageName: node
linkType: hard
-"@rollup/rollup-android-arm-eabi@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-android-arm-eabi@npm:4.14.3"
+"@remix-run/router@npm:1.16.1":
+ version: 1.16.1
+ resolution: "@remix-run/router@npm:1.16.1"
+ checksum: 69068815832b30d2a5c063ac1c75365c45cf5b484dab65e1b3129fdbb3c2a7b866401733f766e550dbca1eaf0b84bc772a9c55310f4dd21eb53e62eb1b4625d0
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-android-arm-eabi@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-android-arm-eabi@npm:4.18.0"
conditions: os=android & cpu=arm
languageName: node
linkType: hard
-"@rollup/rollup-android-arm64@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-android-arm64@npm:4.14.3"
+"@rollup/rollup-android-arm64@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-android-arm64@npm:4.18.0"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
-"@rollup/rollup-darwin-arm64@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-darwin-arm64@npm:4.14.3"
+"@rollup/rollup-darwin-arm64@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-darwin-arm64@npm:4.18.0"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@rollup/rollup-darwin-x64@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-darwin-x64@npm:4.14.3"
+"@rollup/rollup-darwin-x64@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-darwin-x64@npm:4.18.0"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm-gnueabihf@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.14.3"
- conditions: os=linux & cpu=arm
+"@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0"
+ conditions: os=linux & cpu=arm & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm-musleabihf@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.14.3"
- conditions: os=linux & cpu=arm
+"@rollup/rollup-linux-arm-musleabihf@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.18.0"
+ conditions: os=linux & cpu=arm & libc=musl
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm64-gnu@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.14.3"
+"@rollup/rollup-linux-arm64-gnu@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.18.0"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm64-musl@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-linux-arm64-musl@npm:4.14.3"
+"@rollup/rollup-linux-arm64-musl@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-arm64-musl@npm:4.18.0"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.3"
+"@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0"
conditions: os=linux & cpu=ppc64 & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-riscv64-gnu@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.14.3"
+"@rollup/rollup-linux-riscv64-gnu@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.18.0"
conditions: os=linux & cpu=riscv64 & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-s390x-gnu@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.14.3"
+"@rollup/rollup-linux-s390x-gnu@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.18.0"
conditions: os=linux & cpu=s390x & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-x64-gnu@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-linux-x64-gnu@npm:4.14.3"
+"@rollup/rollup-linux-x64-gnu@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-x64-gnu@npm:4.18.0"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-x64-musl@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-linux-x64-musl@npm:4.14.3"
+"@rollup/rollup-linux-x64-musl@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-x64-musl@npm:4.18.0"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"@rollup/rollup-win32-arm64-msvc@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.14.3"
+"@rollup/rollup-win32-arm64-msvc@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.18.0"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"@rollup/rollup-win32-ia32-msvc@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.14.3"
+"@rollup/rollup-win32-ia32-msvc@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.18.0"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
-"@rollup/rollup-win32-x64-msvc@npm:4.14.3":
- version: 4.14.3
- resolution: "@rollup/rollup-win32-x64-msvc@npm:4.14.3"
+"@rollup/rollup-win32-x64-msvc@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-win32-x64-msvc@npm:4.18.0"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -3179,9 +3198,9 @@ __metadata:
linkType: hard
"@safe-global/safe-gateway-typescript-sdk@npm:^3.5.3":
- version: 3.19.0
- resolution: "@safe-global/safe-gateway-typescript-sdk@npm:3.19.0"
- checksum: e658d42b285b9f05e6ef86a1b6e32e9b540de64d236f9e0556924b48a7bcd9d0b1ae88aa8ac62a3da663c199fda6bda56203ed7648a694d778fd28ae8c96088a
+ version: 3.21.1
+ resolution: "@safe-global/safe-gateway-typescript-sdk@npm:3.21.1"
+ checksum: 04934d3ad1d6f97de499357522df123ebb03e15b5c9264dd1750fb6ea7cd2fa02b67223c92e27755946f2a043658071c4e5bc92a9cc7b470b9a29d261fdb5f2d
languageName: node
linkType: hard
@@ -3608,11 +3627,11 @@ __metadata:
linkType: hard
"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6":
- version: 7.20.5
- resolution: "@types/babel__traverse@npm:7.20.5"
+ version: 7.20.6
+ resolution: "@types/babel__traverse@npm:7.20.6"
dependencies:
"@babel/types": ^7.20.7
- checksum: 608e0ab4fc31cd47011d98942e6241b34d461608c0c0e153377c5fd822c436c475f1ded76a56bfa76a1adf8d9266b727bbf9bfac90c4cb152c97f30dadc5b7e8
+ checksum: 2bdc65eb62232c2d5c1086adeb0c31e7980e6fd7e50a3483b4a724a1a1029c84d9cb59749cf8de612f9afa2bc14c85b8f50e64e21f8a4398fa77eb9059a4283c
languageName: node
linkType: hard
@@ -3712,9 +3731,9 @@ __metadata:
linkType: hard
"@types/lodash@npm:^4.14.202":
- version: 4.17.0
- resolution: "@types/lodash@npm:4.17.0"
- checksum: 3f98c0b67a93994cbc3403d4fa9dbaf52b0b6bb7f07a764d73875c2dcd5ef91222621bd5bcf8eee7b417a74d175c2f7191b9f595f8603956fd06f0674c0cba93
+ version: 4.17.4
+ resolution: "@types/lodash@npm:4.17.4"
+ checksum: 268e652fd52d49189f155bc89b49bd4535aa44f0b6b0ed9ce7e50318307bda58147c49539d2047f39ca37cf5b5ea38dfb801d0dbcdbc8b019c95c1afc346b05a
languageName: node
linkType: hard
@@ -3742,11 +3761,11 @@ __metadata:
linkType: hard
"@types/node@npm:*, @types/node@npm:^20.11.5":
- version: 20.12.7
- resolution: "@types/node@npm:20.12.7"
+ version: 20.12.12
+ resolution: "@types/node@npm:20.12.12"
dependencies:
undici-types: ~5.26.4
- checksum: 7cc979f7e2ca9a339ec71318c3901b9978555257929ef3666987f3e447123bc6dc92afcc89f6347e09e07d602fde7d51bcddea626c23aa2bb74aeaacfd1e1686
+ checksum: 5373983874b9af7c216e7ca5d26b32a8d9829c703a69f1e66f2113598b5be8582c0e009ca97369f1ec9a6282b3f92812208d06eb1e9fc3bd9b939b022303d042
languageName: node
linkType: hard
@@ -3774,12 +3793,12 @@ __metadata:
linkType: hard
"@types/react@npm:*":
- version: 18.2.79
- resolution: "@types/react@npm:18.2.79"
+ version: 18.3.3
+ resolution: "@types/react@npm:18.3.3"
dependencies:
"@types/prop-types": "*"
csstype: ^3.0.2
- checksum: 85aa96e0e88725c84d8fc5f04f10a4da6a1f507dde33557ac9cc211414756867721264bfefd9e02bae1288ce2905351d949b652b931e734ea24519ee5c625138
+ checksum: c63d6a78163244e2022b01ef79b0baec4fe4da3475dc4a90bb8accefad35ef0c43560fd0312e5974f92a0f1108aa4d669ac72d73d66396aa060ea03b5d2e3873
languageName: node
linkType: hard
@@ -3819,10 +3838,10 @@ __metadata:
languageName: node
linkType: hard
-"@types/stylis@npm:4.2.0":
- version: 4.2.0
- resolution: "@types/stylis@npm:4.2.0"
- checksum: 02a47584acd2fcb664f7d8270a69686c83752bdfb855f804015d33116a2b09c0b2ac535213a4a7b6d3a78b2915b22b4024cce067ae979beee0e4f8f5fdbc26a9
+"@types/stylis@npm:4.2.5":
+ version: 4.2.5
+ resolution: "@types/stylis@npm:4.2.5"
+ checksum: 24f91719db5569979e9e2f197e050ef82e1fd72474e8dc45bca38d48ee56481eae0f0d4a7ac172540d7774b45a2a78d901a4c6d07bba77a33dbccff464ea3edf
languageName: node
linkType: hard
@@ -3973,9 +3992,9 @@ __metadata:
linkType: hard
"@vanilla-extract/private@npm:^1.0.3":
- version: 1.0.4
- resolution: "@vanilla-extract/private@npm:1.0.4"
- checksum: 12d85d0e02d39e7ea27e63a4a623040ac1cce1cee2f39292185661803792457d80bdd21a60620764713fff87dffa0bf5744fe7e0d7f0740eb7dfb61210ed7171
+ version: 1.0.5
+ resolution: "@vanilla-extract/private@npm:1.0.5"
+ checksum: 147acf9b1795f0681372db92e483bc27eeddad050b7d517e9ab87c5e9bcbdce69c0be300c4948f42e3bdeb81b8dd16b8243f3404ce74e6bc9acbb31112429ff4
languageName: node
linkType: hard
@@ -3989,17 +4008,17 @@ __metadata:
linkType: hard
"@vitejs/plugin-react@npm:^4.2.1":
- version: 4.2.1
- resolution: "@vitejs/plugin-react@npm:4.2.1"
+ version: 4.3.0
+ resolution: "@vitejs/plugin-react@npm:4.3.0"
dependencies:
- "@babel/core": ^7.23.5
- "@babel/plugin-transform-react-jsx-self": ^7.23.3
- "@babel/plugin-transform-react-jsx-source": ^7.23.3
+ "@babel/core": ^7.24.5
+ "@babel/plugin-transform-react-jsx-self": ^7.24.5
+ "@babel/plugin-transform-react-jsx-source": ^7.24.1
"@types/babel__core": ^7.20.5
- react-refresh: ^0.14.0
+ react-refresh: ^0.14.2
peerDependencies:
vite: ^4.2.0 || ^5.0.0
- checksum: 08d227d27ff2304e395e746bd2d4b5fee40587f69d7e2fcd6beb7d91163c1f1dc26d843bc48e2ffb8f38c6b8a1b9445fb07840e3dcc841f97b56bbb8205346aa
+ checksum: e4642c081e74e701fc07f03f505b44eb428d7105461b8026e7364ecd30dcf7785126bf272767a3bc36899b6abe85479af444612ef6d09509d9bc7d6025cac925
languageName: node
linkType: hard
@@ -4143,18 +4162,18 @@ __metadata:
linkType: hard
"@walletconnect/jsonrpc-http-connection@npm:^1.0.4, @walletconnect/jsonrpc-http-connection@npm:^1.0.7":
- version: 1.0.7
- resolution: "@walletconnect/jsonrpc-http-connection@npm:1.0.7"
+ version: 1.0.8
+ resolution: "@walletconnect/jsonrpc-http-connection@npm:1.0.8"
dependencies:
"@walletconnect/jsonrpc-utils": ^1.0.6
"@walletconnect/safe-json": ^1.0.1
cross-fetch: ^3.1.4
- tslib: 1.14.1
- checksum: c4efcd46d4b344727ca6879badca2c2f855499ac76c8dace5d118f4423167adce34e41a99f3dcab0febb945ce51c6ef0ac8556567d5e38d8dad864b131eb5b00
+ events: ^3.3.0
+ checksum: 2b7c49aca54af2ec37f7bb493062e0bb522ec262889890aa00c133a85dd39beffcfcdb73252600446383a9e6db360cffdc6c50ef7c9b68aae7f5606c8781bdbc
languageName: node
linkType: hard
-"@walletconnect/jsonrpc-provider@npm:1.0.13, @walletconnect/jsonrpc-provider@npm:^1.0.13, @walletconnect/jsonrpc-provider@npm:^1.0.6":
+"@walletconnect/jsonrpc-provider@npm:1.0.13":
version: 1.0.13
resolution: "@walletconnect/jsonrpc-provider@npm:1.0.13"
dependencies:
@@ -4165,7 +4184,18 @@ __metadata:
languageName: node
linkType: hard
-"@walletconnect/jsonrpc-types@npm:1.0.3, @walletconnect/jsonrpc-types@npm:^1.0.2, @walletconnect/jsonrpc-types@npm:^1.0.3":
+"@walletconnect/jsonrpc-provider@npm:^1.0.13, @walletconnect/jsonrpc-provider@npm:^1.0.6":
+ version: 1.0.14
+ resolution: "@walletconnect/jsonrpc-provider@npm:1.0.14"
+ dependencies:
+ "@walletconnect/jsonrpc-utils": ^1.0.8
+ "@walletconnect/safe-json": ^1.0.2
+ events: ^3.3.0
+ checksum: db8f931f93285520c51939603108f5cfe2a90a651d12744766d14471db3a488d2964ece5bfedc6cc93832ecd008cd37e7e1b1a950d9ef3385106ee052b936573
+ languageName: node
+ linkType: hard
+
+"@walletconnect/jsonrpc-types@npm:1.0.3":
version: 1.0.3
resolution: "@walletconnect/jsonrpc-types@npm:1.0.3"
dependencies:
@@ -4175,6 +4205,16 @@ __metadata:
languageName: node
linkType: hard
+"@walletconnect/jsonrpc-types@npm:^1.0.2, @walletconnect/jsonrpc-types@npm:^1.0.3":
+ version: 1.0.4
+ resolution: "@walletconnect/jsonrpc-types@npm:1.0.4"
+ dependencies:
+ events: ^3.3.0
+ keyvaluestorage-interface: ^1.0.0
+ checksum: 99ea5f9f3b0c5892ff874de87dee62cf4fc345124177db1e6e5eaf48b85e2ea3833f0157beca43c51047444938e8eda6362fa8069b33e11d39e1050e7ef6e821
+ languageName: node
+ linkType: hard
+
"@walletconnect/jsonrpc-utils@npm:1.0.8, @walletconnect/jsonrpc-utils@npm:^1.0.4, @walletconnect/jsonrpc-utils@npm:^1.0.6, @walletconnect/jsonrpc-utils@npm:^1.0.7, @walletconnect/jsonrpc-utils@npm:^1.0.8":
version: 1.0.8
resolution: "@walletconnect/jsonrpc-utils@npm:1.0.8"
@@ -4338,12 +4378,11 @@ __metadata:
linkType: hard
"@walletconnect/relay-api@npm:^1.0.9":
- version: 1.0.9
- resolution: "@walletconnect/relay-api@npm:1.0.9"
+ version: 1.0.10
+ resolution: "@walletconnect/relay-api@npm:1.0.10"
dependencies:
"@walletconnect/jsonrpc-types": ^1.0.2
- tslib: 1.14.1
- checksum: 5870579b6552f1ce7351878f1acb8386b0c11288c64d39133c7cee5040feeb7ccf9114228d97a59749d60366ad107b097d656407d534567c24f5d3878ea6e246
+ checksum: a332cbfdf0d3bad7046b0559653a5121a4b5a540f029cc01eeb8ef466681b10626a5a24d55668405e7c635535f35b8038d4aa5a2f0d16c8b512c41fecff2448c
languageName: node
linkType: hard
@@ -4486,12 +4525,12 @@ __metadata:
linkType: hard
"@zk-email/contracts@npm:^6.0.0":
- version: 6.0.0
- resolution: "@zk-email/contracts@npm:6.0.0"
+ version: 6.0.3
+ resolution: "@zk-email/contracts@npm:6.0.3"
dependencies:
"@openzeppelin/contracts": ^5.0.0
dotenv: ^16.3.1
- checksum: cf6fefabc1d8c28e7dce4a82395c737ea9f40a556c361d7397410bbd352e7dd329d14c9e8d24f6ec350b68a660c7729dbf56c4ff13317dcd3a01f500564482a6
+ checksum: 520ddfacbd0b54f9b4a1dac728c4fd421a6958978dbe077cbc64a8fafb65c0af7a3a34d75081d98fc4266668f8ab68a289f9a26dc54e24e1c91a4943c37ff606
languageName: node
linkType: hard
@@ -4536,6 +4575,7 @@ __metadata:
"@proof-of-twitter/circuits": "workspace:^"
"@proof-of-twitter/contracts": "workspace:^"
"@rainbow-me/rainbowkit": ^1.3.3
+ "@react-oauth/google": ^0.12.1
"@testing-library/jest-dom": ^5.16.3
"@testing-library/react": ^12.1.4
"@types/jest": ^29.5.11
@@ -4957,13 +4997,13 @@ __metadata:
linkType: hard
"axios@npm:^1.6.1":
- version: 1.6.8
- resolution: "axios@npm:1.6.8"
+ version: 1.7.2
+ resolution: "axios@npm:1.7.2"
dependencies:
follow-redirects: ^1.15.6
form-data: ^4.0.0
proxy-from-env: ^1.1.0
- checksum: bf007fa4b207d102459300698620b3b0873503c6d47bf5a8f6e43c0c64c90035a4f698b55027ca1958f61ab43723df2781c38a99711848d232cad7accbcdfcdd
+ checksum: e457e2b0ab748504621f6fa6609074ac08c824bf0881592209dfa15098ece7e88495300e02cd22ba50b3468fd712fe687e629dcb03d6a3f6a51989727405aedf
languageName: node
linkType: hard
@@ -5017,15 +5057,15 @@ __metadata:
linkType: hard
"babel-plugin-polyfill-corejs2@npm:^0.4.10":
- version: 0.4.10
- resolution: "babel-plugin-polyfill-corejs2@npm:0.4.10"
+ version: 0.4.11
+ resolution: "babel-plugin-polyfill-corejs2@npm:0.4.11"
dependencies:
"@babel/compat-data": ^7.22.6
- "@babel/helper-define-polyfill-provider": ^0.6.1
+ "@babel/helper-define-polyfill-provider": ^0.6.2
semver: ^6.3.1
peerDependencies:
"@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
- checksum: 2c0e4868789152f50db306f4957fa7934876cefb51d5d86436595f0b091539e45ce0e9c0125b5db2d71f913b29cd48ae76b8e942ba28fcf2273e084f54664a1c
+ checksum: f098353ce7c7dde1a1d2710858e01b471e85689110c9e37813e009072347eb8c55d5f84d20d3bf1cab31755f20078ba90f8855fdc4686a9daa826a95ff280bd7
languageName: node
linkType: hard
@@ -5042,13 +5082,13 @@ __metadata:
linkType: hard
"babel-plugin-polyfill-regenerator@npm:^0.6.1":
- version: 0.6.1
- resolution: "babel-plugin-polyfill-regenerator@npm:0.6.1"
+ version: 0.6.2
+ resolution: "babel-plugin-polyfill-regenerator@npm:0.6.2"
dependencies:
- "@babel/helper-define-polyfill-provider": ^0.6.1
+ "@babel/helper-define-polyfill-provider": ^0.6.2
peerDependencies:
"@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
- checksum: 9df4a8e9939dd419fed3d9ea26594b4479f2968f37c225e1b2aa463001d7721f5537740e6622909d2a570b61cec23256924a1701404fc9d6fd4474d3e845cedb
+ checksum: 150233571072b6b3dfe946242da39cba8587b7f908d1c006f7545fc88b0e3c3018d445739beb61e7a75835f0c2751dbe884a94ff9b245ec42369d9267e0e1b3f
languageName: node
linkType: hard
@@ -5238,12 +5278,12 @@ __metadata:
languageName: node
linkType: hard
-"braces@npm:^3.0.2, braces@npm:~3.0.2":
- version: 3.0.2
- resolution: "braces@npm:3.0.2"
+"braces@npm:^3.0.3, braces@npm:~3.0.2":
+ version: 3.0.3
+ resolution: "braces@npm:3.0.3"
dependencies:
- fill-range: ^7.0.1
- checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459
+ fill-range: ^7.1.1
+ checksum: b95aa0b3bd909f6cd1720ffcf031aeaf46154dd88b4da01f9a1d3f7ea866a79eba76a6d01cbc3c422b2ee5cdc39a4f02491058d5df0d7bf6e6a162a832df1f69
languageName: node
linkType: hard
@@ -5391,8 +5431,8 @@ __metadata:
linkType: hard
"cacache@npm:^18.0.0":
- version: 18.0.2
- resolution: "cacache@npm:18.0.2"
+ version: 18.0.3
+ resolution: "cacache@npm:18.0.3"
dependencies:
"@npmcli/fs": ^3.1.0
fs-minipass: ^3.0.0
@@ -5406,7 +5446,7 @@ __metadata:
ssri: ^10.0.0
tar: ^6.1.11
unique-filename: ^3.0.0
- checksum: 0250df80e1ad0c828c956744850c5f742c24244e9deb5b7dc81bca90f8c10e011e132ecc58b64497cc1cad9a98968676147fb6575f4f94722f7619757b17a11b
+ checksum: b717fd9b36e9c3279bfde4545c3a8f6d5a539b084ee26a9504d48f83694beb724057d26e090b97540f9cc62bea18b9f6cf671c50e18fb7dac60eda9db691714f
languageName: node
linkType: hard
@@ -5452,9 +5492,9 @@ __metadata:
linkType: hard
"caniuse-lite@npm:^1.0.30001587":
- version: 1.0.30001610
- resolution: "caniuse-lite@npm:1.0.30001610"
- checksum: 580c7367aafd7e524f4e3f0e8b22ac08d081a4d44ceece211f1758e214df9a87961750fb1e1ee28a2cd2830f0daf3edafe5e1d87bf1eefbbe7c6cf3d00e2979d
+ version: 1.0.30001621
+ resolution: "caniuse-lite@npm:1.0.30001621"
+ checksum: 0afb65bbf558faea769c16e831fbbd5600c684c0f6bb4ffbc0d38528671fb5cb5d88714804241a88c61872ce289f7c6333aef6cfdfb09277bda0dbdf0aab3459
languageName: node
linkType: hard
@@ -5637,14 +5677,14 @@ __metadata:
languageName: node
linkType: hard
-"circom_runtime@npm:0.1.24":
- version: 0.1.24
- resolution: "circom_runtime@npm:0.1.24"
+"circom_runtime@npm:0.1.25":
+ version: 0.1.25
+ resolution: "circom_runtime@npm:0.1.25"
dependencies:
- ffjavascript: 0.2.60
+ ffjavascript: 0.3.0
bin:
calcwit: calcwit.js
- checksum: 0654649ed64ace5562cec025648422970df885e79048b7942e283ef50f43142673acfd752ac2851917a81c43d4d42d37f5fdfc8df71d59ee81b873c19ea81a31
+ checksum: db2c786ba5bfe749c2824e8f36567d202a3a4c838a1940711b009fd63ca9fb178bd96888817becbd59e240dbdeb6dff83e673b93a91c4fa49d67b2dfdd53b1eb
languageName: node
linkType: hard
@@ -5693,9 +5733,9 @@ __metadata:
linkType: hard
"cjs-module-lexer@npm:^1.0.0":
- version: 1.2.3
- resolution: "cjs-module-lexer@npm:1.2.3"
- checksum: 5ea3cb867a9bb609b6d476cd86590d105f3cfd6514db38ff71f63992ab40939c2feb68967faa15a6d2b1f90daa6416b79ea2de486e9e2485a6f8b66a21b4fb0a
+ version: 1.3.1
+ resolution: "cjs-module-lexer@npm:1.3.1"
+ checksum: 75f20ac264a397ea5c63f9c2343a51ab878043666468f275e94862f7180ec1d764a400ec0c09085dcf0db3193c74a8b571519abd2bf4be0d2be510d1377c8d4b
languageName: node
linkType: hard
@@ -5904,6 +5944,13 @@ __metadata:
languageName: node
linkType: hard
+"confbox@npm:^0.1.7":
+ version: 0.1.7
+ resolution: "confbox@npm:0.1.7"
+ checksum: bde836c26f5154a348b0c0a757f8a0138929e5737e0553be3c4f07a056abca618b861aa63ac3b22d344789b56be99a1382928933e08cd500df00213bf4d8fb43
+ languageName: node
+ linkType: hard
+
"consola@npm:^3.2.3":
version: 3.2.3
resolution: "consola@npm:3.2.3"
@@ -5935,11 +5982,11 @@ __metadata:
linkType: hard
"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.36.1":
- version: 3.36.1
- resolution: "core-js-compat@npm:3.36.1"
+ version: 3.37.1
+ resolution: "core-js-compat@npm:3.37.1"
dependencies:
browserslist: ^4.23.0
- checksum: c9109bd599a97b5d20f25fc8b8339b8c7f3fca5f9a1bebd397805383ff7699e117786c7ffe0f7a95058a6fa5e0e1435d4c10e5cda6ad86ce1957986bb6580562
+ checksum: 5e7430329358bced08c30950512d2081aea0a5652b4c5892cbb3c4a6db05b0d3893a191a955162a07fdb5f4fe74e61b6429fdb503f54e062336d76e43c9555d9
languageName: node
linkType: hard
@@ -6182,14 +6229,7 @@ __metadata:
languageName: node
linkType: hard
-"csstype@npm:3.1.2":
- version: 3.1.2
- resolution: "csstype@npm:3.1.2"
- checksum: e1a52e6c25c1314d6beef5168da704ab29c5186b877c07d822bd0806717d9a265e8493a2e35ca7e68d0f5d472d43fac1cdce70fd79fd0853dff81f3028d857b5
- languageName: node
- linkType: hard
-
-"csstype@npm:^3.0.2, csstype@npm:^3.0.7, csstype@npm:^3.1.2":
+"csstype@npm:3.1.3, csstype@npm:^3.0.2, csstype@npm:^3.0.7, csstype@npm:^3.1.2":
version: 3.1.3
resolution: "csstype@npm:3.1.3"
checksum: 8db785cc92d259102725b3c694ec0c823f5619a84741b5c7991b8ad135dfaa66093038a1cc63e03361a6cd28d122be48f2106ae72334e067dd619a51f49eddf7
@@ -6758,9 +6798,9 @@ __metadata:
linkType: hard
"electron-to-chromium@npm:^1.4.668":
- version: 1.4.737
- resolution: "electron-to-chromium@npm:1.4.737"
- checksum: ef20126fee0eecb3bb3d8af0cfd33b8b8305d4726f2ea6d25bd7f21f7d0e7a4b64026b185fd24146e3a81d9a3ebee68f6742230d9281962274b5478dcb798b06
+ version: 1.4.783
+ resolution: "electron-to-chromium@npm:1.4.783"
+ checksum: 49dfd8614c8e28076ca82e241a4a246685440dacde5e2cdb85d57a0d5bcc1cbd5de3201b3158b94ad5f1016e91ab9bb0d4da8cfe46d2897400fb62e6a5be198e
languageName: node
linkType: hard
@@ -6848,12 +6888,12 @@ __metadata:
linkType: hard
"enhanced-resolve@npm:^5.8.3":
- version: 5.16.0
- resolution: "enhanced-resolve@npm:5.16.0"
+ version: 5.16.1
+ resolution: "enhanced-resolve@npm:5.16.1"
dependencies:
graceful-fs: ^4.2.4
tapable: ^2.2.0
- checksum: ccfd01850ecf2aa51e8554d539973319ff7d8a539ef1e0ba3460a0ccad6223c4ef6e19165ee64161b459cd8a48df10f52af4434c60023c65fde6afa32d475f7e
+ checksum: 6e4c166fef72ef231455f9119686d93ecccb11874f8256d73a42de5b293cb2536050849382468864b25973514ca4fa4cb13c37be2ff857a211e2aca3ff05bb6c
languageName: node
linkType: hard
@@ -6930,9 +6970,9 @@ __metadata:
linkType: hard
"es-module-lexer@npm:^1.2.1":
- version: 1.5.0
- resolution: "es-module-lexer@npm:1.5.0"
- checksum: adbe0772701e226b4b853f758fd89c0bbfe8357ab93babde7b1cdb4f88c3a31460c908cbe578817e241d116cc4fcf569f7c6f29c4fbfa0aadb0def90f1ad4dd2
+ version: 1.5.3
+ resolution: "es-module-lexer@npm:1.5.3"
+ checksum: 2e0a0936fb49ca072d438128f588d5b46974035f7a1362bdb26447868016243cfd1c5ec8f12e80d273749e8c603f5aba5a828d5c2d95c07f61fbe77ab4fce4af
languageName: node
linkType: hard
@@ -7016,7 +7056,7 @@ __metadata:
languageName: node
linkType: hard
-"escalade@npm:^3.1.1":
+"escalade@npm:^3.1.1, escalade@npm:^3.1.2":
version: 3.1.2
resolution: "escalade@npm:3.1.2"
checksum: 1ec0977aa2772075493002bdbd549d595ff6e9393b1cb0d7d6fcaf78c750da0c158f180938365486f75cb69fba20294351caddfce1b46552a7b6c3cde52eaa02
@@ -7504,18 +7544,18 @@ __metadata:
languageName: node
linkType: hard
-"ffjavascript@npm:0.2.60":
- version: 0.2.60
- resolution: "ffjavascript@npm:0.2.60"
+"ffjavascript@npm:0.3.0, ffjavascript@npm:^0.3.0":
+ version: 0.3.0
+ resolution: "ffjavascript@npm:0.3.0"
dependencies:
wasmbuilder: 0.0.16
wasmcurves: 0.2.2
- web-worker: ^1.2.0
- checksum: 5dbd597ee108373af1ba1877757a08b47db4bcd7b3b043b260d4475a0b1125454de00fb214224f85d9e6e6a6c0a1cfabd1ba9a2b68279b99c581404266e78138
+ web-worker: 1.2.0
+ checksum: eb1c3ee979299d3b670f371336e1a65ec5319a085da3a896465218283a079453b164e340483a5d66588227d8f1e8cf2ddb890d556bb21931a6f5b70d06f3d894
languageName: node
linkType: hard
-"ffjavascript@npm:0.2.63, ffjavascript@npm:^0.2.45, ffjavascript@npm:^0.2.48, ffjavascript@npm:^0.2.56, ffjavascript@npm:^0.2.59":
+"ffjavascript@npm:^0.2.45, ffjavascript@npm:^0.2.48, ffjavascript@npm:^0.2.56, ffjavascript@npm:^0.2.59":
version: 0.2.63
resolution: "ffjavascript@npm:0.2.63"
dependencies:
@@ -7558,12 +7598,12 @@ __metadata:
languageName: node
linkType: hard
-"fill-range@npm:^7.0.1":
- version: 7.0.1
- resolution: "fill-range@npm:7.0.1"
+"fill-range@npm:^7.1.1":
+ version: 7.1.1
+ resolution: "fill-range@npm:7.1.1"
dependencies:
to-regex-range: ^5.0.1
- checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917
+ checksum: b4abfbca3839a3d55e4ae5ec62e131e2e356bf4859ce8480c64c4876100f4df292a63e5bb1618e1d7460282ca2b305653064f01654474aa35c68000980f17798
languageName: node
linkType: hard
@@ -7702,9 +7742,9 @@ __metadata:
linkType: hard
"forge-std@git+https://github.com/foundry-rs/forge-std.git":
- version: 1.7.6
- resolution: "forge-std@https://github.com/foundry-rs/forge-std.git#commit=e4aef94c1768803a16fe19f7ce8b65defd027cfd"
- checksum: 6fab51b92a24c97384f55dcb1b9eba29ce5043b67930b4179a9f9f4f8da85e8315163db60bec2ffbe7334135755630ba549b246db9e503e59ec93ba2f11931cc
+ version: 1.8.2
+ resolution: "forge-std@https://github.com/foundry-rs/forge-std.git#commit=52715a217dc51d0de15877878ab8213f6cbbbab5"
+ checksum: 51b9148c39ebbedb4470042dec86f3961d35d5d088249091d2b51258b45a697c5cce25f96d1601a099838dae11fdd1bfddf5119f6bacf6c69698d88535822350
languageName: node
linkType: hard
@@ -7942,17 +7982,17 @@ __metadata:
linkType: hard
"glob@npm:^10.2.2, glob@npm:^10.3.10":
- version: 10.3.12
- resolution: "glob@npm:10.3.12"
+ version: 10.4.1
+ resolution: "glob@npm:10.4.1"
dependencies:
foreground-child: ^3.1.0
- jackspeak: ^2.3.6
- minimatch: ^9.0.1
- minipass: ^7.0.4
- path-scurry: ^1.10.2
+ jackspeak: ^3.1.2
+ minimatch: ^9.0.4
+ minipass: ^7.1.2
+ path-scurry: ^1.11.1
bin:
glob: dist/esm/bin.mjs
- checksum: 2b0949d6363021aaa561b108ac317bf5a97271b8a5d7a5fac1a176e40e8068ecdcccc992f8a7e958593d501103ac06d673de92adc1efcbdab45edefe35f8d7c6
+ checksum: 5d33c686c80bf6877f4284adf99a8c3cbb2a6eccbc92342943fe5d4b42c01d78c1881f2223d950c92a938d0f857e12e37b86a8e5483ab2141822e053b67d0dde
languageName: node
linkType: hard
@@ -8296,9 +8336,9 @@ __metadata:
linkType: hard
"hyphenate-style-name@npm:^1.0.3":
- version: 1.0.4
- resolution: "hyphenate-style-name@npm:1.0.4"
- checksum: 4f5bf4b055089754924babebaa23c17845937bcca6aee95d5d015f8fa1e6814279002bd6a9e541e3fac2cd02519fc76305396727066c57c8e21a7e73e7a12137
+ version: 1.0.5
+ resolution: "hyphenate-style-name@npm:1.0.5"
+ checksum: 1eda2ea5bf6798cb16317edce62658791371b0e371bbf15c95f49f41c44a2c3fae42aec945be55bd1e453df13f377c20998952e1019393687f962eb42e46d6ab
languageName: node
linkType: hard
@@ -8447,9 +8487,9 @@ __metadata:
linkType: hard
"iron-webcrypto@npm:^1.0.0":
- version: 1.1.0
- resolution: "iron-webcrypto@npm:1.1.0"
- checksum: 75cdc0931a9ff701dfd699c48eeeb855bc07c2525f72f4086d0790e18133e44e8253949cf109240c149aa0b823f376c4eff4b2e69d4540914d54b2200b19f460
+ version: 1.2.1
+ resolution: "iron-webcrypto@npm:1.2.1"
+ checksum: b158d1893c8d037c11a7dcfd1998b519f31f979643c2c505c6eb1170fd63553498a58b05947d5dea116975df8f12ede5ca235cb68e4c1f404fa6695e4508c60c
languageName: node
linkType: hard
@@ -8878,6 +8918,15 @@ __metadata:
languageName: node
linkType: hard
+"isows@npm:1.0.4":
+ version: 1.0.4
+ resolution: "isows@npm:1.0.4"
+ peerDependencies:
+ ws: "*"
+ checksum: a3ee62e3d6216abb3adeeb2a551fe2e7835eac87b05a6ecc3e7739259bf5f8e83290501f49e26137390c8093f207fc3378d4a7653aab76ad7bbab4b2dba9c5b9
+ languageName: node
+ linkType: hard
+
"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0":
version: 3.2.2
resolution: "istanbul-lib-coverage@npm:3.2.2"
@@ -8943,22 +8992,22 @@ __metadata:
languageName: node
linkType: hard
-"jackspeak@npm:^2.3.6":
- version: 2.3.6
- resolution: "jackspeak@npm:2.3.6"
+"jackspeak@npm:^3.1.2":
+ version: 3.1.2
+ resolution: "jackspeak@npm:3.1.2"
dependencies:
"@isaacs/cliui": ^8.0.2
"@pkgjs/parseargs": ^0.11.0
dependenciesMeta:
"@pkgjs/parseargs":
optional: true
- checksum: 57d43ad11eadc98cdfe7496612f6bbb5255ea69fe51ea431162db302c2a11011642f50cfad57288bd0aea78384a0612b16e131944ad8ecd09d619041c8531b54
+ checksum: 134276d5f785c518930701a0dcba1f3b0e9ce3e5b1c3e300898e2ae0bbd9b5195088b77252bf2110768de072c426e9e39f47e13912b0b002da4a3f4ff6e16eac
languageName: node
linkType: hard
"jake@npm:^10.8.5":
- version: 10.8.7
- resolution: "jake@npm:10.8.7"
+ version: 10.9.1
+ resolution: "jake@npm:10.9.1"
dependencies:
async: ^3.2.3
chalk: ^4.0.2
@@ -8966,7 +9015,7 @@ __metadata:
minimatch: ^3.1.2
bin:
jake: bin/cli.js
- checksum: a23fd2273fb13f0d0d845502d02c791fd55ef5c6a2d207df72f72d8e1eac6d2b8ffa6caf660bc8006b3242e0daaa88a3ecc600194d72b5c6016ad56e9cd43553
+ checksum: 49659c156b8ad921af377fb782505ae3cc7e7dd8793695b782070d99b4b66d2688b4e3efb32e09252400bfe6e49a7fb393a3a0959e8e1a51dbda95bcacbb9c36
languageName: node
linkType: hard
@@ -9502,15 +9551,15 @@ __metadata:
linkType: hard
"joi@npm:^17.11.0":
- version: 17.12.3
- resolution: "joi@npm:17.12.3"
+ version: 17.13.1
+ resolution: "joi@npm:17.13.1"
dependencies:
"@hapi/hoek": ^9.3.0
"@hapi/topo": ^5.1.0
"@sideway/address": ^4.1.5
"@sideway/formula": ^3.0.1
"@sideway/pinpoint": ^2.0.0
- checksum: 6fc74ad7561261a3500fecfcb2cab30928526286a4ee737cad4d41e8556263326561e4146f6c2c9429d0eef27a7d1ba93b919795ade1e766d6dbb797fb4f1b77
+ checksum: e755140446a0e0fb679c0f512d20dfe1625691de368abe8069507c9bccae5216b5bb56b5a83100a600808b1753ab44fdfdc9933026268417f84b6e0832a9604e
languageName: node
linkType: hard
@@ -9678,13 +9727,6 @@ __metadata:
languageName: node
linkType: hard
-"jsonc-parser@npm:^3.2.0":
- version: 3.2.1
- resolution: "jsonc-parser@npm:3.2.1"
- checksum: 656d9027b91de98d8ab91b3aa0d0a4cab7dc798a6830845ca664f3e76c82d46b973675bbe9b500fae1de37fd3e81aceacbaa2a57884bf2f8f29192150d2d1ef7
- languageName: node
- linkType: hard
-
"jsonfile@npm:^6.0.1":
version: 6.1.0
resolution: "jsonfile@npm:6.1.0"
@@ -9993,9 +10035,9 @@ __metadata:
linkType: hard
"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0":
- version: 10.2.0
- resolution: "lru-cache@npm:10.2.0"
- checksum: eee7ddda4a7475deac51ac81d7dd78709095c6fa46e8350dc2d22462559a1faa3b81ed931d5464b13d48cbd7e08b46100b6f768c76833912bc444b99c37e25db
+ version: 10.2.2
+ resolution: "lru-cache@npm:10.2.2"
+ checksum: 98e8fc93691c546f719a76103ef2bee5a3ac823955c755a47641ec41f8c7fafa1baeaba466937cc1cbfa9cfd47e03536d10e2db3158a64ad91ff3a58a32c893e
languageName: node
linkType: hard
@@ -10008,15 +10050,6 @@ __metadata:
languageName: node
linkType: hard
-"lru-cache@npm:^6.0.0":
- version: 6.0.0
- resolution: "lru-cache@npm:6.0.0"
- dependencies:
- yallist: ^4.0.0
- checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297
- languageName: node
- linkType: hard
-
"lru-cache@npm:^7.14.1":
version: 7.18.3
resolution: "lru-cache@npm:7.18.3"
@@ -10080,11 +10113,11 @@ __metadata:
linkType: hard
"magic-string@npm:^0.30.1":
- version: 0.30.9
- resolution: "magic-string@npm:0.30.9"
+ version: 0.30.10
+ resolution: "magic-string@npm:0.30.10"
dependencies:
"@jridgewell/sourcemap-codec": ^1.4.15
- checksum: a97b9a706b39e9569781dcb662b15ab085ca3af8b916cd69d8485e8565108917c17e4eb03b6b1013389387d827bb3025711ebeafe237f742bc95a90708416147
+ checksum: 456fd47c39b296c47dff967e1965121ace35417eab7f45a99e681e725b8661b48e1573c366ee67a27715025b3740773c46b088f115421c7365ea4ea6fa10d399
languageName: node
linkType: hard
@@ -10098,8 +10131,8 @@ __metadata:
linkType: hard
"make-fetch-happen@npm:^13.0.0":
- version: 13.0.0
- resolution: "make-fetch-happen@npm:13.0.0"
+ version: 13.0.1
+ resolution: "make-fetch-happen@npm:13.0.1"
dependencies:
"@npmcli/agent": ^2.0.0
cacache: ^18.0.0
@@ -10110,9 +10143,10 @@ __metadata:
minipass-flush: ^1.0.5
minipass-pipeline: ^1.2.4
negotiator: ^0.6.3
+ proc-log: ^4.2.0
promise-retry: ^2.0.1
ssri: ^10.0.0
- checksum: 7c7a6d381ce919dd83af398b66459a10e2fe8f4504f340d1d090d3fa3d1b0c93750220e1d898114c64467223504bd258612ba83efbc16f31b075cd56de24b4af
+ checksum: 5c9fad695579b79488fa100da05777213dd9365222f85e4757630f8dd2a21a79ddd3206c78cfd6f9b37346819681782b67900ac847a57cf04190f52dda5343fd
languageName: node
linkType: hard
@@ -10185,12 +10219,12 @@ __metadata:
linkType: hard
"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5":
- version: 4.0.5
- resolution: "micromatch@npm:4.0.5"
+ version: 4.0.7
+ resolution: "micromatch@npm:4.0.7"
dependencies:
- braces: ^3.0.2
+ braces: ^3.0.3
picomatch: ^2.3.1
- checksum: 02a17b671c06e8fefeeb6ef996119c1e597c942e632a21ef589154f23898c9c6a9858526246abb14f8bca6e77734aa9dcf65476fca47cedfb80d9577d52843fc
+ checksum: 3cde047d70ad80cf60c787b77198d680db3b8c25b23feb01de5e2652205d9c19f43bd81882f69a0fd1f0cde6a7a122d774998aad3271ddb1b8accf8a0f480cf7
languageName: node
linkType: hard
@@ -10293,7 +10327,7 @@ __metadata:
languageName: node
linkType: hard
-"minimatch@npm:^9.0.1":
+"minimatch@npm:^9.0.4":
version: 9.0.4
resolution: "minimatch@npm:9.0.4"
dependencies:
@@ -10319,8 +10353,8 @@ __metadata:
linkType: hard
"minipass-fetch@npm:^3.0.0":
- version: 3.0.4
- resolution: "minipass-fetch@npm:3.0.4"
+ version: 3.0.5
+ resolution: "minipass-fetch@npm:3.0.5"
dependencies:
encoding: ^0.1.13
minipass: ^7.0.3
@@ -10329,7 +10363,7 @@ __metadata:
dependenciesMeta:
encoding:
optional: true
- checksum: af7aad15d5c128ab1ebe52e043bdf7d62c3c6f0cecb9285b40d7b395e1375b45dcdfd40e63e93d26a0e8249c9efd5c325c65575aceee192883970ff8cb11364a
+ checksum: 8047d273236157aab27ab7cd8eab7ea79e6ecd63e8f80c3366ec076cb9a0fed550a6935bab51764369027c414647fd8256c2a20c5445fb250c483de43350de83
languageName: node
linkType: hard
@@ -10376,10 +10410,10 @@ __metadata:
languageName: node
linkType: hard
-"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4":
- version: 7.0.4
- resolution: "minipass@npm:7.0.4"
- checksum: 87585e258b9488caf2e7acea242fd7856bbe9a2c84a7807643513a338d66f368c7d518200ad7b70a508664d408aa000517647b2930c259a8b1f9f0984f344a21
+"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2":
+ version: 7.1.2
+ resolution: "minipass@npm:7.1.2"
+ checksum: 2bfd325b95c555f2b4d2814d49325691c7bee937d753814861b0b49d5edcda55cbbf22b6b6a60bb91eddac8668771f03c5ff647dcd9d0f798e9548b9cdc46ee3
languageName: node
linkType: hard
@@ -10426,15 +10460,15 @@ __metadata:
languageName: node
linkType: hard
-"mlly@npm:^1.2.0, mlly@npm:^1.6.1":
- version: 1.6.1
- resolution: "mlly@npm:1.6.1"
+"mlly@npm:^1.6.1, mlly@npm:^1.7.0":
+ version: 1.7.0
+ resolution: "mlly@npm:1.7.0"
dependencies:
acorn: ^8.11.3
pathe: ^1.1.2
- pkg-types: ^1.0.3
- ufo: ^1.3.2
- checksum: c40a547dba8f6b2a5a840899d49f4c9550c233d47fd7bd75f4ac27f388047bad655ad86684329809c1640df4373b45bec77304f73530ca4354bc1199700e2a46
+ pkg-types: ^1.1.0
+ ufo: ^1.5.3
+ checksum: c1548f4dd0e31ce15d293ebb7c61778bd28c405573dc43dcf799eaeb8f6b776d7dadd95e957d6631b9cc4bb963cd01079d58b7e2290ed540aa460e061bdbd1fa
languageName: node
linkType: hard
@@ -10583,7 +10617,7 @@ __metadata:
languageName: node
linkType: hard
-"nanoid@npm:^3.3.6, nanoid@npm:^3.3.7":
+"nanoid@npm:^3.3.7":
version: 3.3.7
resolution: "nanoid@npm:3.3.7"
bin:
@@ -10690,13 +10724,13 @@ __metadata:
linkType: hard
"node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.2.2":
- version: 4.8.0
- resolution: "node-gyp-build@npm:4.8.0"
+ version: 4.8.1
+ resolution: "node-gyp-build@npm:4.8.1"
bin:
node-gyp-build: bin.js
node-gyp-build-optional: optional.js
node-gyp-build-test: build-test.js
- checksum: b82a56f866034b559dd3ed1ad04f55b04ae381b22ec2affe74b488d1582473ca6e7f85fccf52da085812d3de2b0bf23109e752a57709ac7b9963951c710fea40
+ checksum: fe6e95da6f4608c1a98655f6bf2fe4e8dd9c877cd13256056a8acaf585cc7f98718823fe9366be11b78c2f332d5a184b00cf07a4af96c9d8fea45f640c019f98
languageName: node
linkType: hard
@@ -10753,13 +10787,13 @@ __metadata:
linkType: hard
"nopt@npm:^7.0.0":
- version: 7.2.0
- resolution: "nopt@npm:7.2.0"
+ version: 7.2.1
+ resolution: "nopt@npm:7.2.1"
dependencies:
abbrev: ^2.0.0
bin:
nopt: bin/nopt.js
- checksum: a9c0f57fb8cb9cc82ae47192ca2b7ef00e199b9480eed202482c962d61b59a7fbe7541920b2a5839a97b42ee39e288c0aed770e38057a608d7f579389dfde410
+ checksum: 6fa729cc77ce4162cfad8abbc9ba31d4a0ff6850c3af61d59b505653bef4781ec059f8890ecfe93ee8aa0c511093369cca88bfc998101616a2904e715bbbb7c9
languageName: node
linkType: hard
@@ -10789,9 +10823,9 @@ __metadata:
linkType: hard
"nwsapi@npm:^2.2.2":
- version: 2.2.7
- resolution: "nwsapi@npm:2.2.7"
- checksum: cab25f7983acec7e23490fec3ef7be608041b460504229770e3bfcf9977c41d6fe58f518994d3bd9aa3a101f501089a3d4a63536f4ff8ae4b8c4ca23bdbfda4e
+ version: 2.2.10
+ resolution: "nwsapi@npm:2.2.10"
+ checksum: 5f1d361b38c47ab49727d5ea8bbfeb5867ae6de0e538eec9a8b77c88005ddde36d8b930e0730b50ee5e5dda949112c0f9ffed1bf15e7e1b3cd9cfa319f5a9b6f
languageName: node
linkType: hard
@@ -11120,13 +11154,13 @@ __metadata:
languageName: node
linkType: hard
-"path-scurry@npm:^1.10.2":
- version: 1.10.2
- resolution: "path-scurry@npm:1.10.2"
+"path-scurry@npm:^1.11.1":
+ version: 1.11.1
+ resolution: "path-scurry@npm:1.11.1"
dependencies:
lru-cache: ^10.2.0
minipass: ^5.0.0 || ^6.0.2 || ^7.0.0
- checksum: 6739b4290f7d1a949c61c758b481c07ac7d1a841964c68cf5e1fa153d7e18cbde4872b37aadf9c5173c800d627f219c47945859159de36c977dd82419997b9b8
+ checksum: 890d5abcd593a7912dcce7cf7c6bf7a0b5648e3dee6caf0712c126ca0a65c7f3d7b9d769072a4d1baf370f61ce493ab5b038d59988688e0c5f3f646ee3c69023
languageName: node
linkType: hard
@@ -11137,7 +11171,7 @@ __metadata:
languageName: node
linkType: hard
-"pathe@npm:^1.1.0, pathe@npm:^1.1.1, pathe@npm:^1.1.2":
+"pathe@npm:^1.1.1, pathe@npm:^1.1.2":
version: 1.1.2
resolution: "pathe@npm:1.1.2"
checksum: ec5f778d9790e7b9ffc3e4c1df39a5bb1ce94657a4e3ad830c1276491ca9d79f189f47609884671db173400256b005f4955f7952f52a2aeb5834ad5fb4faf134
@@ -11171,10 +11205,10 @@ __metadata:
languageName: node
linkType: hard
-"picocolors@npm:^1.0.0":
- version: 1.0.0
- resolution: "picocolors@npm:1.0.0"
- checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981
+"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "picocolors@npm:1.0.1"
+ checksum: fa68166d1f56009fc02a34cdfd112b0dd3cf1ef57667ac57281f714065558c01828cdf4f18600ad6851cbe0093952ed0660b1e0156bddf2184b6aaf5817553a5
languageName: node
linkType: hard
@@ -11253,14 +11287,14 @@ __metadata:
languageName: node
linkType: hard
-"pkg-types@npm:^1.0.3":
- version: 1.0.3
- resolution: "pkg-types@npm:1.0.3"
+"pkg-types@npm:^1.1.0":
+ version: 1.1.1
+ resolution: "pkg-types@npm:1.1.1"
dependencies:
- jsonc-parser: ^3.2.0
- mlly: ^1.2.0
- pathe: ^1.1.0
- checksum: 4b305c834b912ddcc8a0fe77530c0b0321fe340396f84cbb87aecdbc126606f47f2178f23b8639e71a4870f9631c7217aef52ffed0ae17ea2dbbe7e43d116a6e
+ confbox: ^0.1.7
+ mlly: ^1.7.0
+ pathe: ^1.1.2
+ checksum: 78ee49eea8c03802ffbdc79dfb6a741f905a4053453280cd2f1149850523fdaf46d39ecb88c2c2f757cceb9883f234bb0e56371084b5895632bdb00ef0f7298f
languageName: node
linkType: hard
@@ -11333,18 +11367,7 @@ __metadata:
languageName: node
linkType: hard
-"postcss@npm:8.4.31":
- version: 8.4.31
- resolution: "postcss@npm:8.4.31"
- dependencies:
- nanoid: ^3.3.6
- picocolors: ^1.0.0
- source-map-js: ^1.0.2
- checksum: 1d8611341b073143ad90486fcdfeab49edd243377b1f51834dc4f6d028e82ce5190e4f11bb2633276864503654fb7cab28e67abdc0fbf9d1f88cad4a0ff0beea
- languageName: node
- linkType: hard
-
-"postcss@npm:^8.1.7, postcss@npm:^8.4.23, postcss@npm:^8.4.38":
+"postcss@npm:8.4.38, postcss@npm:^8.1.7, postcss@npm:^8.4.23, postcss@npm:^8.4.38":
version: 8.4.38
resolution: "postcss@npm:8.4.38"
dependencies:
@@ -11356,9 +11379,9 @@ __metadata:
linkType: hard
"preact@npm:^10.12.0, preact@npm:^10.16.0":
- version: 10.20.2
- resolution: "preact@npm:10.20.2"
- checksum: 497c755065cdaf9d687e38c1cfaf935e20e98cc95a4b8c977a538dc74d41133a13ebed26d34001d11fa08b7d6811de28add74e94a3404bf35b222aa5e966fd1b
+ version: 10.22.0
+ resolution: "preact@npm:10.22.0"
+ checksum: 1b7493abec35d5042094d652e5cb980de00a0ef39e130b2f20485214d273ef0cebafa2000aa9fa4ef9dad952bd4e746ad3714f42206f34b817fd3712d0d70bcd
languageName: node
linkType: hard
@@ -11452,6 +11475,13 @@ __metadata:
languageName: node
linkType: hard
+"proc-log@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "proc-log@npm:4.2.0"
+ checksum: 98f6cd012d54b5334144c5255ecb941ee171744f45fca8b43b58ae5a0c1af07352475f481cadd9848e7f0250376ee584f6aa0951a856ff8f021bdfbff4eb33fc
+ languageName: node
+ linkType: hard
+
"process-nextick-args@npm:~2.0.0":
version: 2.0.1
resolution: "process-nextick-args@npm:2.0.1"
@@ -11718,15 +11748,15 @@ __metadata:
languageName: node
linkType: hard
-"r1csfile@npm:0.0.47":
- version: 0.0.47
- resolution: "r1csfile@npm:0.0.47"
+"r1csfile@npm:0.0.48":
+ version: 0.0.48
+ resolution: "r1csfile@npm:0.0.48"
dependencies:
"@iden3/bigarray": 0.0.2
- "@iden3/binfileutils": 0.0.11
+ "@iden3/binfileutils": 0.0.12
fastfile: 0.0.20
- ffjavascript: 0.2.60
- checksum: edeb325b83851a71cbca2e5de56eb622ee5347ecae921b526a5fc484c4825b6b30c73b6fde40e9bc5112b9d21e046af885bf212ed9cee2efbc6de93b8454ec06
+ ffjavascript: 0.3.0
+ checksum: 8929285ece5d0e8e560572e3a202e84165c5de3855cd04f221fec474b289c8bf9f3d0f734fc7303482fdc75f650e09ca0633bf5769c3367f642df93e83dbb90e
languageName: node
linkType: hard
@@ -11798,16 +11828,16 @@ __metadata:
linkType: hard
"react-is@npm:^18.0.0, react-is@npm:^18.2.0":
- version: 18.2.0
- resolution: "react-is@npm:18.2.0"
- checksum: e72d0ba81b5922759e4aff17e0252bd29988f9642ed817f56b25a3e217e13eea8a7f2322af99a06edb779da12d5d636e9fda473d620df9a3da0df2a74141d53e
+ version: 18.3.1
+ resolution: "react-is@npm:18.3.1"
+ checksum: e20fe84c86ff172fc8d898251b7cc2c43645d108bf96d0b8edf39b98f9a2cae97b40520ee7ed8ee0085ccc94736c4886294456033304151c3f94978cec03df21
languageName: node
linkType: hard
-"react-refresh@npm:^0.14.0":
- version: 0.14.0
- resolution: "react-refresh@npm:0.14.0"
- checksum: dc69fa8c993df512f42dd0f1b604978ae89bd747c0ed5ec595c0cc50d535fb2696619ccd98ae28775cc01d0a7c146a532f0f7fb81dc22e1977c242a4912312f4
+"react-refresh@npm:^0.14.2":
+ version: 0.14.2
+ resolution: "react-refresh@npm:0.14.2"
+ checksum: d80db4bd40a36dab79010dc8aa317a5b931f960c0d83c4f3b81f0552cbcf7f29e115b84bb7908ec6a1eb67720fff7023084eff73ece8a7ddc694882478464382
languageName: node
linkType: hard
@@ -11847,26 +11877,26 @@ __metadata:
linkType: hard
"react-router-dom@npm:^6.2.2":
- version: 6.22.3
- resolution: "react-router-dom@npm:6.22.3"
+ version: 6.23.1
+ resolution: "react-router-dom@npm:6.23.1"
dependencies:
- "@remix-run/router": 1.15.3
- react-router: 6.22.3
+ "@remix-run/router": 1.16.1
+ react-router: 6.23.1
peerDependencies:
react: ">=16.8"
react-dom: ">=16.8"
- checksum: 5ae3759a70e4123cd4b8efbb82199a69f5d8c4a7a434d186d2ec7b532b6ef3302df2a98e5c27db977d3f0d725c7a279010a16ae77a3bf6257f1fee96123d8b77
+ checksum: e87b5cf85019496f499286d466a4ad9cf5efe729f1420502fc5d16093d525462803253538418ea5b0da7ab5671a16caefee67848b373008e567629c2d667dc44
languageName: node
linkType: hard
-"react-router@npm:6.22.3":
- version: 6.22.3
- resolution: "react-router@npm:6.22.3"
+"react-router@npm:6.23.1":
+ version: 6.23.1
+ resolution: "react-router@npm:6.23.1"
dependencies:
- "@remix-run/router": 1.15.3
+ "@remix-run/router": 1.16.1
peerDependencies:
react: ">=16.8"
- checksum: 1f7d9a5a849761ff69ef8f3d3131b4c1c25d18b76317ba5ad6f0d9421192c0b8b71ab0cc818c57aad7b81ada725559e513307d0ab43296a460262f0358602672
+ checksum: d5d43ccb908a95d2b7345f2a13315c38bf094e25bcf97d5a6c3f353b1ea88602de15726c3570cd7f07c53b19a3519af2b6739bf6929ec355012795611d739cff
languageName: node
linkType: hard
@@ -12256,25 +12286,25 @@ __metadata:
linkType: hard
"rollup@npm:^4.13.0":
- version: 4.14.3
- resolution: "rollup@npm:4.14.3"
- dependencies:
- "@rollup/rollup-android-arm-eabi": 4.14.3
- "@rollup/rollup-android-arm64": 4.14.3
- "@rollup/rollup-darwin-arm64": 4.14.3
- "@rollup/rollup-darwin-x64": 4.14.3
- "@rollup/rollup-linux-arm-gnueabihf": 4.14.3
- "@rollup/rollup-linux-arm-musleabihf": 4.14.3
- "@rollup/rollup-linux-arm64-gnu": 4.14.3
- "@rollup/rollup-linux-arm64-musl": 4.14.3
- "@rollup/rollup-linux-powerpc64le-gnu": 4.14.3
- "@rollup/rollup-linux-riscv64-gnu": 4.14.3
- "@rollup/rollup-linux-s390x-gnu": 4.14.3
- "@rollup/rollup-linux-x64-gnu": 4.14.3
- "@rollup/rollup-linux-x64-musl": 4.14.3
- "@rollup/rollup-win32-arm64-msvc": 4.14.3
- "@rollup/rollup-win32-ia32-msvc": 4.14.3
- "@rollup/rollup-win32-x64-msvc": 4.14.3
+ version: 4.18.0
+ resolution: "rollup@npm:4.18.0"
+ dependencies:
+ "@rollup/rollup-android-arm-eabi": 4.18.0
+ "@rollup/rollup-android-arm64": 4.18.0
+ "@rollup/rollup-darwin-arm64": 4.18.0
+ "@rollup/rollup-darwin-x64": 4.18.0
+ "@rollup/rollup-linux-arm-gnueabihf": 4.18.0
+ "@rollup/rollup-linux-arm-musleabihf": 4.18.0
+ "@rollup/rollup-linux-arm64-gnu": 4.18.0
+ "@rollup/rollup-linux-arm64-musl": 4.18.0
+ "@rollup/rollup-linux-powerpc64le-gnu": 4.18.0
+ "@rollup/rollup-linux-riscv64-gnu": 4.18.0
+ "@rollup/rollup-linux-s390x-gnu": 4.18.0
+ "@rollup/rollup-linux-x64-gnu": 4.18.0
+ "@rollup/rollup-linux-x64-musl": 4.18.0
+ "@rollup/rollup-win32-arm64-msvc": 4.18.0
+ "@rollup/rollup-win32-ia32-msvc": 4.18.0
+ "@rollup/rollup-win32-x64-msvc": 4.18.0
"@types/estree": 1.0.5
fsevents: ~2.3.2
dependenciesMeta:
@@ -12314,7 +12344,7 @@ __metadata:
optional: true
bin:
rollup: dist/bin/rollup
- checksum: f5077037e8514e330db1451a92bf6d9d15b8634698b2e60f56d8d7f30df11cdacfcd1b350a1598ed6516383b5ed2bf3e5a0685e72f81bb2fdb4e630491d09b67
+ checksum: 54cde921e763017ce952ba76ec77d58dd9c01e3536c3be628d4af8c59d9b2f0e1e6a11b30fda44845c7b74098646cd972feb3bcd2f4a35d3293366f2eeb0a39e
languageName: node
linkType: hard
@@ -12424,13 +12454,13 @@ __metadata:
linkType: hard
"selenium-webdriver@npm:^4.16.0":
- version: 4.19.0
- resolution: "selenium-webdriver@npm:4.19.0"
+ version: 4.21.0
+ resolution: "selenium-webdriver@npm:4.21.0"
dependencies:
jszip: ^3.10.1
tmp: ^0.2.3
ws: ">=8.16.0"
- checksum: 1e4bba2923bc8277c7f63e6af869db38291074dd290124a4303f8de4f5e77f1e8e3346230feff1d0604b8a2e46b1ab6c56b5bd38feb2074ca8fd6362470b5901
+ checksum: 9d6bd5337580d7f47cafc60df719c6fca5e8bba0ce1e1920da5ba06d8372533300e4b955cd50f1e35e8775d8e74c744a2c11e71f5920dec8362fbcb8910ad202
languageName: node
linkType: hard
@@ -12444,13 +12474,11 @@ __metadata:
linkType: hard
"semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4":
- version: 7.6.0
- resolution: "semver@npm:7.6.0"
- dependencies:
- lru-cache: ^6.0.0
+ version: 7.6.2
+ resolution: "semver@npm:7.6.2"
bin:
semver: bin/semver.js
- checksum: 7427f05b70786c696640edc29fdd4bc33b2acf3bbe1740b955029044f80575fc664e1a512e4113c3af21e767154a94b4aa214bf6cd6e42a1f6dba5914e0b208c
+ checksum: 40f6a95101e8d854357a644da1b8dd9d93ce786d5c6a77227bc69dbb17bea83d0d1d1d7c4cd5920a6df909f48e8bd8a5909869535007f90278289f2451d0292d
languageName: node
linkType: hard
@@ -12666,22 +12694,22 @@ __metadata:
linkType: hard
"snarkjs@npm:^0.7.0":
- version: 0.7.3
- resolution: "snarkjs@npm:0.7.3"
+ version: 0.7.4
+ resolution: "snarkjs@npm:0.7.4"
dependencies:
- "@iden3/binfileutils": 0.0.11
+ "@iden3/binfileutils": 0.0.12
bfj: ^7.0.2
blake2b-wasm: ^2.4.0
- circom_runtime: 0.1.24
+ circom_runtime: 0.1.25
ejs: ^3.1.6
fastfile: 0.0.20
- ffjavascript: 0.2.63
+ ffjavascript: 0.3.0
js-sha3: ^0.8.0
logplease: ^1.2.15
- r1csfile: 0.0.47
+ r1csfile: 0.0.48
bin:
snarkjs: build/cli.cjs
- checksum: 6a8818c0f23b1c213b3296b4a253ceb2f26accfd0259274230550dfce010e4c6d1f5ecaaea1d84ff9b9da54c42dc94869f820838af4e33ffd4e09d95e986d9ee
+ checksum: 239b12de4f837deb32ba7ca3b02ddea71d25152242016f8d789e98fc984ecf7588a2f396174e603894d3cdfa76cf0ce7f89afdb15a27115a2a7932285a7e77bd
languageName: node
linkType: hard
@@ -12715,7 +12743,7 @@ __metadata:
languageName: node
linkType: hard
-"source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.0":
+"source-map-js@npm:^1.2.0":
version: 1.2.0
resolution: "source-map-js@npm:1.2.0"
checksum: 791a43306d9223792e84293b00458bf102a8946e7188f3db0e4e22d8d530b5f80a4ce468eb5ec0bf585443ad55ebbd630bf379c98db0b1f317fd902500217f97
@@ -12793,11 +12821,11 @@ __metadata:
linkType: hard
"ssri@npm:^10.0.0":
- version: 10.0.5
- resolution: "ssri@npm:10.0.5"
+ version: 10.0.6
+ resolution: "ssri@npm:10.0.6"
dependencies:
minipass: ^7.0.3
- checksum: 0a31b65f21872dea1ed3f7c200d7bc1c1b91c15e419deca14f282508ba917cbb342c08a6814c7f68ca4ca4116dd1a85da2bbf39227480e50125a1ceffeecb750
+ checksum: 4603d53a05bcd44188747d38f1cc43833b9951b5a1ee43ba50535bdfc5fe4a0897472dbe69837570a5417c3c073377ef4f8c1a272683b401857f72738ee57299
languageName: node
linkType: hard
@@ -13050,29 +13078,29 @@ __metadata:
linkType: hard
"styled-components@npm:^6.1.8":
- version: 6.1.8
- resolution: "styled-components@npm:6.1.8"
+ version: 6.1.11
+ resolution: "styled-components@npm:6.1.11"
dependencies:
- "@emotion/is-prop-valid": 1.2.1
- "@emotion/unitless": 0.8.0
- "@types/stylis": 4.2.0
+ "@emotion/is-prop-valid": 1.2.2
+ "@emotion/unitless": 0.8.1
+ "@types/stylis": 4.2.5
css-to-react-native: 3.2.0
- csstype: 3.1.2
- postcss: 8.4.31
+ csstype: 3.1.3
+ postcss: 8.4.38
shallowequal: 1.1.0
- stylis: 4.3.1
- tslib: 2.5.0
+ stylis: 4.3.2
+ tslib: 2.6.2
peerDependencies:
react: ">= 16.8.0"
react-dom: ">= 16.8.0"
- checksum: 367858097ca57911cc310ddf95d16fed162fbb1d2f187366b33ce5e6e22c324f9bcc7206686624a3edd15e3e9605875c8c041ac5ffb430bbee98f1ad0be71604
+ checksum: 18fb43fe49b61c7b5d3b6c6bd6fd315c7f83310916b52e7b788286064f6586d3211d40528d9413b4f812c6ff806ae25976f7e400f9b125a8f7ea653b39f155c8
languageName: node
linkType: hard
-"stylis@npm:4.3.1, stylis@npm:^4.3.0":
- version: 4.3.1
- resolution: "stylis@npm:4.3.1"
- checksum: d365f1b008677b2147e8391e9cf20094a4202a5f9789562e7d9d0a3bd6f0b3067d39e8fd17cce5323903a56f6c45388e3d839e9c0bb5a738c91726992b14966d
+"stylis@npm:4.3.2, stylis@npm:^4.3.0":
+ version: 4.3.2
+ resolution: "stylis@npm:4.3.2"
+ checksum: 0faa8a97ff38369f47354376cd9f0def9bf12846da54c28c5987f64aaf67dcb6f00dce88a8632013bfb823b2c4d1d62a44f4ac20363a3505a7ab4e21b70179fc
languageName: node
linkType: hard
@@ -13292,14 +13320,14 @@ __metadata:
linkType: hard
"tough-cookie@npm:^4.1.2":
- version: 4.1.3
- resolution: "tough-cookie@npm:4.1.3"
+ version: 4.1.4
+ resolution: "tough-cookie@npm:4.1.4"
dependencies:
psl: ^1.1.33
punycode: ^2.1.1
universalify: ^0.2.0
url-parse: ^1.5.3
- checksum: c9226afff36492a52118432611af083d1d8493a53ff41ec4ea48e5b583aec744b989e4280bcf476c910ec1525a89a4a0f1cae81c08b18fb2ec3a9b3a72b91dcc
+ checksum: 5815059f014c31179a303c673f753f7899a6fce94ac93712c88ea5f3c26e0c042b5f0c7a599a00f8e0feeca4615dba75c3dffc54f3c1a489978aa8205e09307c
languageName: node
linkType: hard
@@ -13382,14 +13410,7 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:2.5.0":
- version: 2.5.0
- resolution: "tslib@npm:2.5.0"
- checksum: ae3ed5f9ce29932d049908ebfdf21b3a003a85653a9a140d614da6b767a93ef94f460e52c3d787f0e4f383546981713f165037dc2274df212ea9f8a4541004e1
- languageName: node
- linkType: hard
-
-"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.3.1":
+"tslib@npm:2.6.2, tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.3.1":
version: 2.6.2
resolution: "tslib@npm:2.6.2"
checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad
@@ -13506,7 +13527,7 @@ __metadata:
languageName: node
linkType: hard
-"ufo@npm:^1.3.2, ufo@npm:^1.4.0, ufo@npm:^1.5.3":
+"ufo@npm:^1.4.0, ufo@npm:^1.5.3":
version: 1.5.3
resolution: "ufo@npm:1.5.3"
checksum: 2f54fa543b2e689cc4ab341fe2194937afe37c5ee43cd782e6ecc184e36859e84d4197a43ae4cd6e9a56f793ca7c5b950dfff3f16fadaeef9b6b88b05c88c8ef
@@ -13716,16 +13737,16 @@ __metadata:
linkType: hard
"update-browserslist-db@npm:^1.0.13":
- version: 1.0.13
- resolution: "update-browserslist-db@npm:1.0.13"
+ version: 1.0.16
+ resolution: "update-browserslist-db@npm:1.0.16"
dependencies:
- escalade: ^3.1.1
- picocolors: ^1.0.0
+ escalade: ^3.1.2
+ picocolors: ^1.0.1
peerDependencies:
browserslist: ">= 4.21.0"
bin:
update-browserslist-db: cli.js
- checksum: 1e47d80182ab6e4ad35396ad8b61008ae2a1330221175d0abd37689658bdb61af9b705bfc41057fd16682474d79944fb2d86767c5ed5ae34b6276b9bed353322
+ checksum: 51b1f7189c9ea5925c80154b0a6fd3ec36106d07858d8f69826427d8edb4735d1801512c69eade38ba0814d7407d11f400d74440bbf3da0309f3d788017f35b2
languageName: node
linkType: hard
@@ -13784,7 +13805,7 @@ __metadata:
languageName: node
linkType: hard
-"use-sync-external-store@npm:1.2.0, use-sync-external-store@npm:^1.2.0":
+"use-sync-external-store@npm:1.2.0":
version: 1.2.0
resolution: "use-sync-external-store@npm:1.2.0"
peerDependencies:
@@ -13793,6 +13814,15 @@ __metadata:
languageName: node
linkType: hard
+"use-sync-external-store@npm:^1.2.0":
+ version: 1.2.2
+ resolution: "use-sync-external-store@npm:1.2.2"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ checksum: fe07c071c4da3645f112c38c0e57beb479a8838616ff4e92598256ecce527f2888c08febc7f9b2f0ce2f0e18540ba3cde41eb2035e4fafcb4f52955037098a81
+ languageName: node
+ linkType: hard
+
"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1":
version: 1.0.2
resolution: "util-deprecate@npm:1.0.2"
@@ -13889,8 +13919,8 @@ __metadata:
linkType: hard
"viem@npm:^2.2.0":
- version: 2.9.19
- resolution: "viem@npm:2.9.19"
+ version: 2.12.1
+ resolution: "viem@npm:2.12.1"
dependencies:
"@adraffy/ens-normalize": 1.10.0
"@noble/curves": 1.2.0
@@ -13898,14 +13928,14 @@ __metadata:
"@scure/bip32": 1.3.2
"@scure/bip39": 1.2.1
abitype: 1.0.0
- isows: 1.0.3
+ isows: 1.0.4
ws: 8.13.0
peerDependencies:
typescript: ">=5.0.4"
peerDependenciesMeta:
typescript:
optional: true
- checksum: 9f649ab58720f58a15c35e920e2828da513b8bb4005f4294a8e76bdc1dbe4328f74cda47397e9c7b96d5c720ff9c5da364a38fe697ecfd8e17eba2eea5066007
+ checksum: b0083f992a564eb13b88816b1c870d8f31cfc7a54e4b8b4a20db918c62a54f339d451f3ec009c3c9ddb338714771f8ea7334c11b9399fac1ae94439889ee7966
languageName: node
linkType: hard
@@ -13950,8 +13980,8 @@ __metadata:
linkType: hard
"vite@npm:^5.0.8":
- version: 5.2.9
- resolution: "vite@npm:5.2.9"
+ version: 5.2.11
+ resolution: "vite@npm:5.2.11"
dependencies:
esbuild: ^0.20.1
fsevents: ~2.3.3
@@ -13985,7 +14015,7 @@ __metadata:
optional: true
bin:
vite: bin/vite.js
- checksum: 7a97f9547af8550c55bc2529cc6827c1ef0a043a09e9686cf20b615e8d59305cbe917954e806c5fdad6c33bfb883c1ce51325a9c474b5aa5bc13c377a74805fd
+ checksum: 3f9f976cc6ada93aca56abcc683a140e807725b351abc241a1ec0763ec561a4bf5760e1ad94de4e59505904ddaa88727de66af02f61ecf540c7720045de55d0a
languageName: node
linkType: hard
@@ -14339,7 +14369,7 @@ __metadata:
languageName: node
linkType: hard
-"ws@npm:8.16.0, ws@npm:>=8.16.0, ws@npm:^8.11.0":
+"ws@npm:8.16.0":
version: 8.16.0
resolution: "ws@npm:8.16.0"
peerDependencies:
@@ -14369,6 +14399,21 @@ __metadata:
languageName: node
linkType: hard
+"ws@npm:>=8.16.0, ws@npm:^8.11.0":
+ version: 8.17.0
+ resolution: "ws@npm:8.17.0"
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ">=5.0.2"
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ checksum: 147ef9eab0251364e1d2c55338ad0efb15e6913923ccbfdf20f7a8a6cb8f88432bcd7f4d8f66977135bfad35575644f9983201c1a361019594a4e53977bf6d4e
+ languageName: node
+ linkType: hard
+
"ws@npm:^7.5.1":
version: 7.5.9
resolution: "ws@npm:7.5.9"