From 9dca317a0c93956d4ed066d5e750bc670b7db715 Mon Sep 17 00:00:00 2001 From: Subh Date: Thu, 26 Jun 2025 15:22:04 +0530 Subject: [PATCH 1/2] Migrate CRISP from vanilla Semaphore to Semaphore Noir with scope encoding fix --- .gitmodules | 3 + examples/CRISP/apps/client/package.json | 12 +- .../client/src/hooks/voting/useVoteCasting.ts | 109 +- .../apps/client/src/utils/proof-encoding.ts | 20 + .../apps/client/src/utils/scopeEncoding.ts | 61 + .../client/src/utils/semaphoreNoirProof.ts | 24 + examples/CRISP/apps/client/vite.config.ts | 4 - examples/CRISP/apps/server/Cargo.toml | 2 + examples/CRISP/contracts/CRISPCheckerNoir.sol | 79 + .../contracts/CRISPCheckerNoirFactory.sol | 30 + examples/CRISP/contracts/CRISPPolicyNoir.sol | 57 + .../contracts/CRISPPolicyNoirFactory.sol | 32 + examples/CRISP/contracts/CRISPProgram.sol | 16 +- .../CRISPChecker.sol | 6 +- .../CRISPCheckerFactory.sol | 0 .../CRISPPolicy.sol | 2 +- .../CRISPPolicyFactory.sol | 0 examples/CRISP/deploy/Deploy.s.sol | 70 +- .../CRISP/deploy/DeployHonkVerifier.s.sol | 28 + examples/CRISP/deploy/DeployVerifiers.s.sol | 41 + examples/CRISP/deploy/config.toml | 2 +- examples/CRISP/foundry.toml | 4 +- .../lib/openzeppelin-contracts-upgradeable | 1 + examples/CRISP/package.json | 2 +- examples/CRISP/remappings.txt | 4 +- examples/CRISP/tests/CRISPProgram.t.sol | 2 +- pnpm-lock.yaml | 2407 +++++------------ semaphore-noir | 1 + 28 files changed, 1131 insertions(+), 1888 deletions(-) create mode 100644 examples/CRISP/apps/client/src/utils/scopeEncoding.ts create mode 100644 examples/CRISP/apps/client/src/utils/semaphoreNoirProof.ts create mode 100644 examples/CRISP/contracts/CRISPCheckerNoir.sol create mode 100644 examples/CRISP/contracts/CRISPCheckerNoirFactory.sol create mode 100644 examples/CRISP/contracts/CRISPPolicyNoir.sol create mode 100644 examples/CRISP/contracts/CRISPPolicyNoirFactory.sol rename examples/CRISP/{contracts => contracts_vanilla_backup}/CRISPChecker.sol (96%) rename examples/CRISP/{contracts => contracts_vanilla_backup}/CRISPCheckerFactory.sol (100%) rename examples/CRISP/{contracts => contracts_vanilla_backup}/CRISPPolicy.sol (99%) rename examples/CRISP/{contracts => contracts_vanilla_backup}/CRISPPolicyFactory.sol (100%) create mode 100644 examples/CRISP/deploy/DeployHonkVerifier.s.sol create mode 100644 examples/CRISP/deploy/DeployVerifiers.s.sol create mode 160000 examples/CRISP/lib/openzeppelin-contracts-upgradeable create mode 160000 semaphore-noir diff --git a/.gitmodules b/.gitmodules index b8ad5e5e47..d69c242d4e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "templates/default/lib/risc0-ethereum"] path = templates/default/lib/risc0-ethereum url = https://github.com/gnosisguild/risc0-ethereum +[submodule "examples/CRISP/lib/openzeppelin-contracts-upgradeable"] + path = examples/CRISP/lib/openzeppelin-contracts-upgradeable + url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable diff --git a/examples/CRISP/apps/client/package.json b/examples/CRISP/apps/client/package.json index 859f486098..7903880819 100644 --- a/examples/CRISP/apps/client/package.json +++ b/examples/CRISP/apps/client/package.json @@ -20,11 +20,16 @@ "@aztec/bb.js": "^0.82.2", "@emotion/babel-plugin": "^11.11.0", "@emotion/react": "^11.11.4", + "@noir-lang/acvm_js": "1.0.0-beta.3", "@noir-lang/noir_js": "1.0.0-beta.3", + "@noir-lang/noirc_abi": "1.0.0-beta.3", "@phosphor-icons/react": "^2.1.4", - "@semaphore-protocol/core": "^4.9.2", - "@semaphore-protocol/data": "^4.9.2", - "@svgr/rollup": "^8.1.0", + "@semaphore-protocol/core": "^4.0.3", + "@semaphore-protocol/data": "^4.0.3", + "@semaphore-protocol/group": "^4.0.3", + "@semaphore-protocol/identity": "^4.0.3", + "@semaphore-protocol/proof": "file:../../../../semaphore-noir/packages/proof", + "@zk-kit/artifacts": "github:hashcloak/snark-artifacts#main", "@tanstack/react-query": "^5.74.3", "axios": "^1.6.8", "connectkit": "^1.9.0", @@ -36,7 +41,6 @@ "react-syntax-highlighter": "^15.5.0", "viem": "^2.30.6", "vite-plugin-node-polyfills": "^0.22.0", - "vite-plugin-top-level-await": "^1.4.1", "vite-tsconfig-paths": "^4.3.2", "wagmi": "^2.14.16" }, diff --git a/examples/CRISP/apps/client/src/hooks/voting/useVoteCasting.ts b/examples/CRISP/apps/client/src/hooks/voting/useVoteCasting.ts index cf7dfa1db9..4d69fe0d49 100644 --- a/examples/CRISP/apps/client/src/hooks/voting/useVoteCasting.ts +++ b/examples/CRISP/apps/client/src/hooks/voting/useVoteCasting.ts @@ -4,8 +4,10 @@ import { useVoteManagementContext } from '@/context/voteManagement'; import { useNotificationAlertContext } from '@/context/NotificationAlert/NotificationAlert.context.tsx'; import { Poll } from '@/model/poll.model'; import { BroadcastVoteRequest } from '@/model/vote.model'; -import { Group, generateProof, SemaphoreProof } from '@semaphore-protocol/core'; -import { encodeSemaphoreProof } from '@/utils/proof-encoding'; +import { Group } from '@semaphore-protocol/group'; +import { generateNoirProof, SemaphoreNoirProof, initSemaphoreNoirBackend } from '@/utils/semaphoreNoirProof'; +import { encodeSemaphoreNoirProof } from '@/utils/proof-encoding'; +import { encodeScope } from '@/utils/scopeEncoding'; export const useVoteCasting = () => { const { @@ -14,6 +16,7 @@ export const useVoteCasting = () => { votingRound, semaphoreIdentity, currentGroupMembers, + currentSemaphoreGroupId, fetchingMembers, isRegisteredForCurrentRound, encryptVote, @@ -54,6 +57,11 @@ export const useVoteCasting = () => { showToast({ type: 'danger', message: 'Could not load group members for this round.' }); return; } + if (!currentSemaphoreGroupId) { + console.error("Cannot cast vote: No group ID available for this round."); + showToast({ type: 'danger', message: 'Group ID not available for this round.' }); + return; + } setIsLoading(true); console.log("Processing vote..."); @@ -64,12 +72,39 @@ export const useVoteCasting = () => { throw new Error("Failed to encrypt vote."); } + // Initialize Noir backend for proof generation + const merkleTreeDepth = Math.ceil(Math.log2(currentGroupMembers.length)) || 10; + const backend = await initSemaphoreNoirBackend(merkleTreeDepth); + const group = new Group(currentGroupMembers); - const scope = String(roundState.id); + + // CRITICAL FIX: Encode scope properly with address and group ID + // The scope encodes both the subject address and group ID to prevent front-running attacks: + // - Upper 160 bits: Subject address (20 bytes) + // - Lower 96 bits: Group ID (12 bytes) + const encodedScope = encodeScope(user.address, currentSemaphoreGroupId); + const scope = encodedScope.toString(); const message = String(pollSelected.value); - const fullProof: SemaphoreProof = await generateProof(semaphoreIdentity, group, message, scope); - console.log("Full generated proof object:", fullProof); - const proofBytes = encodeSemaphoreProof(fullProof); + + console.log("Scope encoding details:", { + userAddress: user.address, + groupId: currentSemaphoreGroupId.toString(), + encodedScope: encodedScope.toString(), + scope + }); + + // Generate Noir proof + const fullProof: SemaphoreNoirProof = await generateNoirProof( + semaphoreIdentity as any, + group, + message, + scope, + backend, + true // Use keccak for Solidity verifier + ); + + console.log("Full generated Noir proof object:", fullProof); + const proofBytes = encodeSemaphoreNoirProof(fullProof); const voteRequest: BroadcastVoteRequest = { round_id: roundState.id, @@ -80,60 +115,44 @@ export const useVoteCasting = () => { proof_sem: Array.from(proofBytes) }; - const broadcastVoteResponse = await broadcastVote(voteRequest); - console.log('broadcastVoteResponse', broadcastVoteResponse) + console.log("Broadcasting vote to server..."); + const result = await broadcastVote(voteRequest); + console.log("Vote broadcast result:", result); - if (broadcastVoteResponse) { - switch (broadcastVoteResponse.status) { - case 'success': { - const url = `https://sepolia.etherscan.io/tx/${broadcastVoteResponse.tx_hash}`; - setTxUrl(url); - showToast({ - type: 'success', - message: broadcastVoteResponse.message || 'Successfully voted', - linkUrl: url, - }); - navigate(`/result/${roundState.id}/confirmation`); - break; - } - case 'user_already_voted': - showToast({ - type: 'danger', - message: broadcastVoteResponse.message || 'User has already voted', - }); - break; - case 'failed_broadcast': - default: - showToast({ - type: 'danger', - message: broadcastVoteResponse.message || 'Error broadcasting the vote', - }); - break; + if (result && result.status === 'success') { + showToast({ type: 'success', message: 'Vote successfully submitted!' }); + if (result.tx_hash) { + console.log('Transaction hash:', result.tx_hash); + setTxUrl(result.tx_hash); } + navigate('/poll/result'); } else { - throw new Error('Received no response after broadcasting vote.'); + throw new Error(result?.message || 'Failed to broadcast vote'); } } catch (error) { - console.error("Vote processing failed:", error); - showToast({ type: 'danger', message: `Vote failed: ${error instanceof Error ? error.message : String(error)}` }); + console.error("Error during vote casting:", error); + const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred'; + showToast({ type: 'danger', message: `Failed to cast vote: ${errorMessage}` }); } finally { setIsLoading(false); } }, [ user, + isRegisteredForCurrentRound, roundState, - votingRound, semaphoreIdentity, - currentGroupMembers, fetchingMembers, - isRegisteredForCurrentRound, - encryptVote, + currentGroupMembers, + currentSemaphoreGroupId, + handleVoteEncryption, broadcastVote, - setTxUrl, showToast, + setTxUrl, navigate, - handleVoteEncryption ]); - return { castVoteWithProof, isLoading }; -}; \ No newline at end of file + return { + castVoteWithProof, + isLoading, + }; +}; \ No newline at end of file diff --git a/examples/CRISP/apps/client/src/utils/proof-encoding.ts b/examples/CRISP/apps/client/src/utils/proof-encoding.ts index 4f2a0e779e..783a9157ef 100644 --- a/examples/CRISP/apps/client/src/utils/proof-encoding.ts +++ b/examples/CRISP/apps/client/src/utils/proof-encoding.ts @@ -1,10 +1,15 @@ import { hexToBytes, encodeAbiParameters, parseAbiParameters } from 'viem'; import { type SemaphoreProof } from '@semaphore-protocol/core'; +import { type SemaphoreNoirProof } from '@/utils/semaphoreNoirProof'; const abi = parseAbiParameters( 'uint256,uint256,uint256,uint256,uint256,uint256[8]' ); +const noirAbi = parseAbiParameters( + 'uint256,uint256,uint256,uint256,uint256,bytes' +); + type Tuple8 = readonly [T, T, T, T, T, T, T, T]; export function encodeSemaphoreProof( @@ -25,3 +30,18 @@ export function encodeSemaphoreProof( return hexToBytes(hex); } + +export function encodeSemaphoreNoirProof( + { merkleTreeDepth, merkleTreeRoot, nullifier, message, scope, proofBytes }: SemaphoreNoirProof +): Uint8Array { + const hex = encodeAbiParameters(noirAbi, [ + BigInt(merkleTreeDepth), + BigInt(merkleTreeRoot), + BigInt(nullifier), + BigInt(message), + BigInt(scope), + `0x${Buffer.from(proofBytes).toString('hex')}` as `0x${string}`, + ]); + + return hexToBytes(hex); +} \ No newline at end of file diff --git a/examples/CRISP/apps/client/src/utils/scopeEncoding.ts b/examples/CRISP/apps/client/src/utils/scopeEncoding.ts new file mode 100644 index 0000000000..610917bd53 --- /dev/null +++ b/examples/CRISP/apps/client/src/utils/scopeEncoding.ts @@ -0,0 +1,61 @@ +/** + * Utility functions for encoding and decoding scope values for CRISP contracts. + * + * The scope encodes both the subject address and group ID to prevent front-running attacks: + * - Upper 160 bits: Subject address (20 bytes) + * - Lower 96 bits: Group ID (12 bytes) + */ + +/** + * Encodes an address and group ID into a scope value + * @param address The subject address (20 bytes, 160 bits) + * @param groupId The group ID (up to 96 bits) + * @returns The encoded scope as a BigInt + */ +export function encodeScope(address: string, groupId: bigint): bigint { + // Remove 0x prefix if present + const cleanAddress = address.startsWith('0x') ? address.slice(2) : address; + + // Convert address to BigInt (160 bits) + const addressBigInt = BigInt('0x' + cleanAddress); + + // Ensure groupId fits in 96 bits + const maxGroupId = (1n << 96n) - 1n; + if (groupId > maxGroupId) { + throw new Error(`Group ID ${groupId} exceeds maximum value of ${maxGroupId}`); + } + + // Encode: (address << 96) | groupId + return (addressBigInt << 96n) | groupId; +} + +/** + * Decodes a scope value into address and group ID + * @param scope The encoded scope value + * @returns Object with address and groupId + */ +export function decodeScope(scope: bigint): { address: string, groupId: bigint } { + // Extract group ID (lower 96 bits) + const groupId = scope & ((1n << 96n) - 1n); + + // Extract address (upper 160 bits) + const addressBigInt = scope >> 96n; + + // Convert back to hex address + const address = '0x' + addressBigInt.toString(16).padStart(40, '0'); + + return { address, groupId }; +} + +/** + * Validates that a scope contains the expected address and group ID + * @param scope The scope to validate + * @param expectedAddress The expected address + * @param expectedGroupId The expected group ID + * @returns True if scope matches expectations + */ +export function validateScope(scope: bigint, expectedAddress: string, expectedGroupId: bigint): boolean { + const decoded = decodeScope(scope); + return decoded.address.toLowerCase() === expectedAddress.toLowerCase() && + decoded.groupId === expectedGroupId; +} \ No newline at end of file diff --git a/examples/CRISP/apps/client/src/utils/semaphoreNoirProof.ts b/examples/CRISP/apps/client/src/utils/semaphoreNoirProof.ts new file mode 100644 index 0000000000..2c73925c17 --- /dev/null +++ b/examples/CRISP/apps/client/src/utils/semaphoreNoirProof.ts @@ -0,0 +1,24 @@ +import { Identity } from '@semaphore-protocol/identity'; +import { Group } from '@semaphore-protocol/group'; +import { generateNoirProof as generateSemaphoreNoirProof, initSemaphoreNoirBackend, SemaphoreNoirProof } from '@semaphore-protocol/proof'; + +export type { SemaphoreNoirProof }; +export { initSemaphoreNoirBackend }; + +export async function generateNoirProof( + identity: Identity, + group: Group, + message: string, + scope: string, + backend: any, + useKeccak: boolean = true +): Promise { + return generateSemaphoreNoirProof( + identity, + group, + message, + scope, + backend, + useKeccak + ); +} \ No newline at end of file diff --git a/examples/CRISP/apps/client/vite.config.ts b/examples/CRISP/apps/client/vite.config.ts index 77016882df..c2ecccb5e2 100644 --- a/examples/CRISP/apps/client/vite.config.ts +++ b/examples/CRISP/apps/client/vite.config.ts @@ -1,9 +1,7 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import viteTsconfigPaths from 'vite-tsconfig-paths' -import svgr from '@svgr/rollup' import wasm from 'vite-plugin-wasm' -import topLevelAwait from 'vite-plugin-top-level-await' import path from 'path' import { nodePolyfills } from 'vite-plugin-node-polyfills' @@ -28,7 +26,6 @@ export default defineConfig({ plugins: [ // here is the main update wasm(), - topLevelAwait(), react({ jsxImportSource: '@emotion/react', babel: { @@ -36,7 +33,6 @@ export default defineConfig({ }, }), viteTsconfigPaths(), - svgr(), nodePolyfills({ include: ['buffer'] }), ], server: { diff --git a/examples/CRISP/apps/server/Cargo.toml b/examples/CRISP/apps/server/Cargo.toml index 08d9cc40f6..f084af8ef0 100644 --- a/examples/CRISP/apps/server/Cargo.toml +++ b/examples/CRISP/apps/server/Cargo.toml @@ -3,6 +3,8 @@ name = "crisp" version = "0.1.0" edition = "2021" +[workspace] + [[bin]] name = "server" path = "src/server/main.rs" diff --git a/examples/CRISP/contracts/CRISPCheckerNoir.sol b/examples/CRISP/contracts/CRISPCheckerNoir.sol new file mode 100644 index 0000000000..14097c9c76 --- /dev/null +++ b/examples/CRISP/contracts/CRISPCheckerNoir.sol @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: LGPL-3.0-only +pragma solidity >=0.8.27; + +import {BaseChecker} from "@excubiae/contracts/checker/BaseChecker.sol"; +import {ISemaphore, ISemaphore as ISemaphoreNoir} from "@semaphore-protocol/contracts-noir/interfaces/ISemaphoreNoir.sol"; + +/// @title CRISPCheckerNoir. +/// @notice Enclave Input Validator using Semaphore Noir +/// @dev Extends BaseChecker for input verification with Noir proofs. +contract CRISPCheckerNoir is BaseChecker { + /// @notice Address of the Semaphore Noir contract used for proof verification. + ISemaphoreNoir public semaphoreNoir; + + /// @notice Unique identifier for the Semaphore group. + /// @dev Proofs are validated against this specific group ID. + uint256 public groupId; + + /// @notice custom errors + error InvalidProver(); + error InvalidGroup(); + error InvalidProof(); + + /// @notice Initializes the SemaphoreChecker with the provided Semaphore Noir contract address and group ID. + /// @dev Decodes initialization parameters from appended bytes for clone deployments. + function _initialize() internal override { + super._initialize(); + + bytes memory data = _getAppendedBytes(); + (address _semaphoreNoir, uint256 _groupId) = abi.decode( + data, + (address, uint256) + ); + + semaphoreNoir = ISemaphoreNoir(_semaphoreNoir); + groupId = _groupId; + } + + /// @notice Validates input using Semaphore Noir proof + /// @param subject Address to check. + /// @param evidence Noir proof data + /// @return True if proof is valid + function _check( + address subject, + bytes calldata evidence + ) internal view override returns (bool) { + super._check(subject, evidence); + + ISemaphoreNoir.SemaphoreNoirProof memory proof = abi.decode( + evidence, + (ISemaphoreNoir.SemaphoreNoirProof) + ); + + // The proof scope encodes both the subject address and group ID to prevent front-running attacks. + uint256 _scope = proof.scope; + + // Extract the group ID (remaining 12 bytes, 96 bits) from the scope. + uint96 _groupId = uint96(_scope & ((1 << 96) - 1)); + + if (_groupId != groupId) { + revert InvalidGroup(); + } + + /// Uncomment this to check the prover, this checks that the prover is the same as the subject + /// This is not needed for the CRISP protocol, since the subject is the relayer + /// Extract the subject's address (first 20 bytes, 160 bits) from the scope. + // =============================== + // address _prover = address(uint160(_scope >> 96)); + // if (_prover != subject) { + // revert InvalidProver(); + // } + // =============================== + + if (!semaphoreNoir.verifyProof(groupId, proof)) { + revert InvalidProof(); + } + + return true; + } +} \ No newline at end of file diff --git a/examples/CRISP/contracts/CRISPCheckerNoirFactory.sol b/examples/CRISP/contracts/CRISPCheckerNoirFactory.sol new file mode 100644 index 0000000000..8fbcc9ea85 --- /dev/null +++ b/examples/CRISP/contracts/CRISPCheckerNoirFactory.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: LGPL-3.0-only +pragma solidity >=0.8.27; + +import {Factory} from "@excubiae/contracts/proxy/Factory.sol"; +import {CRISPCheckerNoir} from "./CRISPCheckerNoir.sol"; + +/// @title CRISPCheckerNoirFactory +/// @notice Factory contract for deploying minimal proxy instances of CRISPCheckerNoir. +/// @dev Utilizes the Factory pattern to streamline deployment of CRISPCheckerNoir clones with configuration data. +contract CRISPCheckerNoirFactory is Factory { + /// @notice Initializes the factory with the CRISPCheckerNoir implementation. + /// @dev The constructor sets the CRISPCheckerNoir contract as the implementation for cloning. + constructor() Factory(address(new CRISPCheckerNoir())) {} + + /// @notice Deploys a new CRISPCheckerNoir clone with the specified Semaphore Noir contract and group ID. + /// @dev Encodes the Semaphore Noir contract address and group ID as initialization data for the clone. + /// @param semaphoreNoir Address of the Semaphore Noir contract. + /// @param groupId Unique identifier of the Semaphore group. + /// @return clone The address of the newly deployed CRISPCheckerNoir clone. + function deploy( + address semaphoreNoir, + uint256 groupId + ) public returns (address clone) { + bytes memory data = abi.encode(semaphoreNoir, groupId); + + clone = super._deploy(data); + + CRISPCheckerNoir(clone).initialize(); + } +} \ No newline at end of file diff --git a/examples/CRISP/contracts/CRISPPolicyNoir.sol b/examples/CRISP/contracts/CRISPPolicyNoir.sol new file mode 100644 index 0000000000..6879b655ec --- /dev/null +++ b/examples/CRISP/contracts/CRISPPolicyNoir.sol @@ -0,0 +1,57 @@ +// SPDX-License-Identifier: LGPL-3.0-only +pragma solidity >=0.8.27; + +import {BasePolicy} from "@excubiae/contracts/policy/BasePolicy.sol"; +import {BaseChecker} from "@excubiae/contracts/checker/BaseChecker.sol"; +import {ISemaphore} from "@semaphore-protocol/contracts-noir/interfaces/ISemaphoreNoir.sol"; + +/// @title CRISPPolicyNoir +/// @notice Policy contract for validating inputs based on Semaphore Noir proofs and usage limits. +contract CRISPPolicyNoir is BasePolicy { + /// Errors + error MainCalledTooManyTimes(); + error AlreadyEnforced(); + + /// State Variables + uint8 public inputLimit; + mapping(address subject => uint8 count) public enforced; + mapping(uint256 => bool) public spentNullifiers; + + /// @notice Initializes the contract with appended bytes data for configuration. + /// @dev Decodes AdvancedChecker address and sets the owner. + function _initialize() internal virtual override { + bytes memory data = _getAppendedBytes(); + (address sender, address baseCheckerAddr, uint8 _inputLimit) = abi + .decode(data, (address, address, uint8)); + _transferOwnership(sender); + + BASE_CHECKER = BaseChecker(baseCheckerAddr); + inputLimit = _inputLimit; + } + + /// @notice Internal enforcement logic: checks nullifier, input limit, and marks nullifier spent. + /// @param subject The interacting address. + /// @param evidence Abi-encoded `ISemaphore.SemaphoreNoirProof`. + function _enforce( + address subject, + bytes calldata evidence + ) internal override(BasePolicy) onlyTarget { + ISemaphore.SemaphoreNoirProof memory proof = abi.decode( + evidence, + (ISemaphore.SemaphoreNoirProof) + ); + uint256 n = proof.nullifier; + if (spentNullifiers[n]) revert AlreadyEnforced(); + if (inputLimit > 0 && enforced[subject] == inputLimit) + revert MainCalledTooManyTimes(); + + super._enforce(subject, evidence); + spentNullifiers[n] = true; + enforced[subject]++; + } + + /// @notice Returns policy identifier "CRISPPolicyNoir". + function trait() external pure returns (string memory) { + return "CRISPPolicyNoir"; + } +} \ No newline at end of file diff --git a/examples/CRISP/contracts/CRISPPolicyNoirFactory.sol b/examples/CRISP/contracts/CRISPPolicyNoirFactory.sol new file mode 100644 index 0000000000..db930f9bdb --- /dev/null +++ b/examples/CRISP/contracts/CRISPPolicyNoirFactory.sol @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: LGPL-3.0-only +pragma solidity >=0.8.27; + +import {Factory} from "@excubiae/contracts/proxy/Factory.sol"; +import {CRISPPolicyNoir} from "./CRISPPolicyNoir.sol"; + +/// @title CRISPPolicyNoirFactory +/// @notice Factory contract for deploying minimal proxy instances of CRISPPolicyNoir. +/// @dev Utilizes the Factory pattern to streamline deployment of CRISPPolicyNoir clones with configuration data. +contract CRISPPolicyNoirFactory is Factory { + /// @notice Initializes the factory with the CRISPPolicyNoir implementation. + /// @dev The constructor sets the CRISPPolicyNoir contract as the implementation for cloning. + constructor() Factory(address(new CRISPPolicyNoir())) {} + + /// @notice Deploys a new CRISPPolicyNoir clone with the specified parameters. + /// @dev Encodes the owner, checker address, and input limit as initialization data for the clone. + /// @param owner Address to be set as the owner of the policy. + /// @param checker Address of the BaseChecker contract. + /// @param inputLimit Maximum number of inputs allowed per subject. + /// @return clone The address of the newly deployed CRISPPolicyNoir clone. + function deploy( + address owner, + address checker, + uint8 inputLimit + ) public returns (address clone) { + bytes memory data = abi.encode(owner, checker, inputLimit); + + clone = super._deploy(data); + + CRISPPolicyNoir(clone).initialize(); + } +} \ No newline at end of file diff --git a/examples/CRISP/contracts/CRISPProgram.sol b/examples/CRISP/contracts/CRISPProgram.sol index cc321fccde..7ac5d17bbb 100644 --- a/examples/CRISP/contracts/CRISPProgram.sol +++ b/examples/CRISP/contracts/CRISPProgram.sol @@ -7,9 +7,9 @@ import {IE3Program} from "@gnosis-guild/enclave/contracts/interfaces/IE3Program. import {IBasePolicy} from "@excubiae/contracts/interfaces/IBasePolicy.sol"; import {IInputValidator} from "@gnosis-guild/enclave/contracts/interfaces/IInputValidator.sol"; import {IEnclave} from "@gnosis-guild/enclave/contracts/interfaces/IEnclave.sol"; -import {ISemaphore} from "@semaphore-protocol/contracts/interfaces/ISemaphore.sol"; -import {CRISPCheckerFactory} from "./CRISPCheckerFactory.sol"; -import {CRISPPolicyFactory} from "./CRISPPolicyFactory.sol"; +import {ISemaphore} from "@semaphore-protocol/contracts-noir/interfaces/ISemaphoreNoir.sol"; +import {CRISPCheckerNoirFactory} from "./CRISPCheckerNoirFactory.sol"; +import {CRISPPolicyNoirFactory} from "./CRISPPolicyNoirFactory.sol"; import {CRISPInputValidatorFactory} from "./CRISPInputValidatorFactory.sol"; import {HonkVerifier} from "./CRISPVerifier.sol"; @@ -21,8 +21,8 @@ contract CRISPProgram is IE3Program, Ownable { IEnclave public enclave; IRiscZeroVerifier public verifier; ISemaphore public semaphore; - CRISPCheckerFactory private immutable CHECKER_FACTORY; - CRISPPolicyFactory private immutable POLICY_FACTORY; + CRISPCheckerNoirFactory private immutable CHECKER_FACTORY; + CRISPPolicyNoirFactory private immutable POLICY_FACTORY; CRISPInputValidatorFactory private immutable INPUT_VALIDATOR_FACTORY; HonkVerifier private immutable HONK_VERIFIER; uint8 public constant INPUT_LIMIT = 100; @@ -65,8 +65,8 @@ contract CRISPProgram is IE3Program, Ownable { IEnclave _enclave, IRiscZeroVerifier _verifier, ISemaphore _semaphore, - CRISPCheckerFactory _checkerFactory, - CRISPPolicyFactory _policyFactory, + CRISPCheckerNoirFactory _checkerFactory, + CRISPPolicyNoirFactory _policyFactory, CRISPInputValidatorFactory _inputValidatorFactory, HonkVerifier _honkVerifier, bytes32 _imageId @@ -153,7 +153,7 @@ contract CRISPProgram is IE3Program, Ownable { // Deploy a new policy IBasePolicy policy = IBasePolicy( - POLICY_FACTORY.deploy(checker, INPUT_LIMIT) + POLICY_FACTORY.deploy(msg.sender, checker, INPUT_LIMIT) ); // Deploy a new input validator diff --git a/examples/CRISP/contracts/CRISPChecker.sol b/examples/CRISP/contracts_vanilla_backup/CRISPChecker.sol similarity index 96% rename from examples/CRISP/contracts/CRISPChecker.sol rename to examples/CRISP/contracts_vanilla_backup/CRISPChecker.sol index e1a368f261..ee986474bd 100644 --- a/examples/CRISP/contracts/CRISPChecker.sol +++ b/examples/CRISP/contracts_vanilla_backup/CRISPChecker.sol @@ -5,7 +5,7 @@ import {BaseChecker} from "@excubiae/contracts/checker/BaseChecker.sol"; import {ISemaphore} from "@semaphore-protocol/contracts/interfaces/ISemaphore.sol"; /// @title CRISPChecker. -/// @notice Enclave Input Validator +/// @notice Enclave Input Validator using Semaphore /// @dev Extends BaseChecker for input verification. contract CRISPChecker is BaseChecker { /// @notice Address of the Semaphore contract used for proof verification. @@ -70,10 +70,10 @@ contract CRISPChecker is BaseChecker { // } // =============================== - if (!semaphore.verifyProof(_scope, proof)) { + if (!semaphore.verifyProof(groupId, proof)) { revert InvalidProof(); } return true; } -} +} \ No newline at end of file diff --git a/examples/CRISP/contracts/CRISPCheckerFactory.sol b/examples/CRISP/contracts_vanilla_backup/CRISPCheckerFactory.sol similarity index 100% rename from examples/CRISP/contracts/CRISPCheckerFactory.sol rename to examples/CRISP/contracts_vanilla_backup/CRISPCheckerFactory.sol diff --git a/examples/CRISP/contracts/CRISPPolicy.sol b/examples/CRISP/contracts_vanilla_backup/CRISPPolicy.sol similarity index 99% rename from examples/CRISP/contracts/CRISPPolicy.sol rename to examples/CRISP/contracts_vanilla_backup/CRISPPolicy.sol index 3db670489b..30c81f151f 100644 --- a/examples/CRISP/contracts/CRISPPolicy.sol +++ b/examples/CRISP/contracts_vanilla_backup/CRISPPolicy.sol @@ -54,4 +54,4 @@ contract CRISPPolicy is BasePolicy { function trait() external pure returns (string memory) { return "CRISPPolicy"; } -} +} \ No newline at end of file diff --git a/examples/CRISP/contracts/CRISPPolicyFactory.sol b/examples/CRISP/contracts_vanilla_backup/CRISPPolicyFactory.sol similarity index 100% rename from examples/CRISP/contracts/CRISPPolicyFactory.sol rename to examples/CRISP/contracts_vanilla_backup/CRISPPolicyFactory.sol diff --git a/examples/CRISP/deploy/Deploy.s.sol b/examples/CRISP/deploy/Deploy.s.sol index 13b194837d..a00611be5a 100644 --- a/examples/CRISP/deploy/Deploy.s.sol +++ b/examples/CRISP/deploy/Deploy.s.sol @@ -23,15 +23,16 @@ import {RiscZeroGroth16Verifier} from "risc0/groth16/RiscZeroGroth16Verifier.sol import {ControlID} from "risc0/groth16/ControlID.sol"; import {CRISPProgram} from "../contracts/CRISPProgram.sol"; -import {CRISPPolicy} from "../contracts/CRISPPolicy.sol"; -import {CRISPChecker} from "../contracts/CRISPChecker.sol"; import {IE3Program} from "@gnosis-guild/enclave/contracts/interfaces/IE3Program.sol"; import {IEnclave} from "@gnosis-guild/enclave/contracts/interfaces/IEnclave.sol"; -import {Semaphore} from "@semaphore-protocol/contracts/Semaphore.sol"; -import {SemaphoreVerifier} from "@semaphore-protocol/contracts/base/SemaphoreVerifier.sol"; -import {ISemaphoreVerifier} from "@semaphore-protocol/contracts/interfaces/ISemaphoreVerifier.sol"; -import {CRISPCheckerFactory} from "../contracts/CRISPCheckerFactory.sol"; -import {CRISPPolicyFactory} from "../contracts/CRISPPolicyFactory.sol"; +// import {Enclave} from "@gnosis-guild/enclave/contracts/Enclave.sol"; +// import {ICiphernodeRegistry} from "@gnosis-guild/enclave/contracts/interfaces/ICiphernodeRegistry.sol"; +// import {CiphernodeRegistryOwnable} from "@gnosis-guild/enclave/contracts/registry/CiphernodeRegistryOwnable.sol"; +import {ISemaphore, SemaphoreNoir} from "@semaphore-protocol/contracts-noir/SemaphoreNoir.sol"; +import {SemaphoreNoirVerifier} from "@semaphore-protocol/contracts-noir/base/SemaphoreNoirVerifier.sol"; +import {IVerifier} from "@semaphore-protocol/contracts-noir/interfaces/ISemaphoreNoirVerifier.sol"; +import {CRISPCheckerNoirFactory} from "../contracts/CRISPCheckerNoirFactory.sol"; +import {CRISPPolicyNoirFactory} from "../contracts/CRISPPolicyNoirFactory.sol"; import {CRISPInputValidatorFactory} from "../contracts/CRISPInputValidatorFactory.sol"; import {HonkVerifier} from "../contracts/CRISPVerifier.sol"; import {MockRISC0Verifier} from "../contracts/Mocks/MockRISC0Verifier.sol"; @@ -97,36 +98,33 @@ contract CRISPProgramDeploy is Script { enclave = IEnclave(enclaveAddress); } - bool useMockEnv = vm.envOr("USE_MOCK_VERIFIER", false); - if (useMockEnv) { - console2.log("Using MockRISC0Verifier"); - verifier = new MockRISC0Verifier(); - console2.log("Deployed MockRISC0Verifier to", address(verifier)); - } else if (address(verifier) == address(0)) { - verifier = new RiscZeroGroth16Verifier( - ControlID.CONTROL_ROOT, - ControlID.BN254_CONTROL_ID + if (address(verifier) == address(0)) { + console2.log( + "RISC Zero verifier not found, deploying MockRISC0Verifier..." ); + verifier = new MockRISC0Verifier(); console2.log( - "Deployed RiscZeroGroth16Verifier to", + "Deployed MockRISC0Verifier to", address(verifier) ); - } else { - console2.log("Using IRiscZeroVerifier at", address(verifier)); + } + + if (address(enclave) == address(0)) { + console2.log("Enclave not found in config, expecting it to be deployed already"); + revert("Enclave address not configured. Please deploy Enclave first or update config.toml"); } } function setupDeployer() private { - uint256 deployerKey = uint256( - vm.envOr("ETH_WALLET_PRIVATE_KEY", bytes32(0)) - ); + uint256 deployerKey = vm.envOr("ETH_WALLET_PRIVATE_KEY", uint256(0)); address deployerAddr = vm.envOr("ETH_WALLET_ADDRESS", address(0)); + // Wallet selection is a user choice, so we don't check the chainId. if (deployerKey != 0) { require( deployerAddr == address(0) || deployerAddr == vm.addr(deployerKey), - "Conflicting wallet settings" + "Deployer address does not match deployer private key" ); vm.startBroadcast(deployerKey); } else { @@ -159,25 +157,27 @@ contract CRISPProgramDeploy is Script { console2.log("Enclave Address: ", address(enclave)); console2.log("Verifier Address: ", address(verifier)); - SemaphoreVerifier semaphoreVerifier = new SemaphoreVerifier(); + // Deploy Semaphore Noir Verifier + SemaphoreNoirVerifier semaphoreNoirVerifier = new SemaphoreNoirVerifier(); console2.log( - "Deployed SemaphoreVerifier to", - address(semaphoreVerifier) + "Deployed SemaphoreNoirVerifier to", + address(semaphoreNoirVerifier) ); - Semaphore semaphore = new Semaphore( - ISemaphoreVerifier(address(semaphoreVerifier)) + // Deploy Semaphore Noir + SemaphoreNoir semaphoreNoir = new SemaphoreNoir( + IVerifier(address(semaphoreNoirVerifier)) ); - console2.log("Deployed Semaphore to", address(semaphore)); + console2.log("Deployed SemaphoreNoir to", address(semaphoreNoir)); - CRISPCheckerFactory checkerFactory = new CRISPCheckerFactory(); + CRISPCheckerNoirFactory checkerFactory = new CRISPCheckerNoirFactory(); console2.log( - "Deployed CRISPCheckerFactory to", + "Deployed CRISPCheckerNoirFactory to", address(checkerFactory) ); - CRISPPolicyFactory policyFactory = new CRISPPolicyFactory(); - console2.log("Deployed CRISPPolicyFactory to", address(policyFactory)); + CRISPPolicyNoirFactory policyFactory = new CRISPPolicyNoirFactory(); + console2.log("Deployed CRISPPolicyNoirFactory to", address(policyFactory)); CRISPInputValidatorFactory inputValidatorFactory = new CRISPInputValidatorFactory(); console2.log( @@ -191,7 +191,7 @@ contract CRISPProgramDeploy is Script { CRISPProgram crisp = new CRISPProgram( enclave, verifier, - semaphore, + ISemaphore(address(semaphoreNoir)), checkerFactory, policyFactory, inputValidatorFactory, @@ -203,4 +203,4 @@ contract CRISPProgramDeploy is Script { enclave.enableE3Program(IE3Program(address(crisp))); console2.log("Enabled E3 Program on Enclave"); } -} +} \ No newline at end of file diff --git a/examples/CRISP/deploy/DeployHonkVerifier.s.sol b/examples/CRISP/deploy/DeployHonkVerifier.s.sol new file mode 100644 index 0000000000..a25a4dae84 --- /dev/null +++ b/examples/CRISP/deploy/DeployHonkVerifier.s.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.20; + +import {Script} from "forge-std/Script.sol"; +import {console2} from "forge-std/console2.sol"; +import {HonkVerifier} from "../contracts/CRISPVerifier.sol"; + +/// @notice Standalone deployment script for the HonkVerifier contract +/// @dev This script deploys only the HonkVerifier to test compilation and deployment +contract DeployHonkVerifier is Script { + function run() external { + // Read and log the chainID + uint256 chainId = block.chainid; + console2.log("Deploying HonkVerifier on ChainID %d", chainId); + + // Get the private key from environment + uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + + vm.startBroadcast(deployerPrivateKey); + + // Deploy HonkVerifier + console2.log("Deploying HonkVerifier..."); + HonkVerifier honkVerifier = new HonkVerifier(); + console2.log("Deployed HonkVerifier to", address(honkVerifier)); + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/examples/CRISP/deploy/DeployVerifiers.s.sol b/examples/CRISP/deploy/DeployVerifiers.s.sol new file mode 100644 index 0000000000..5b685b37b4 --- /dev/null +++ b/examples/CRISP/deploy/DeployVerifiers.s.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.20; + +import {Script} from "forge-std/Script.sol"; +import {console2} from "forge-std/console2.sol"; +import {HonkVerifier} from "../contracts/CRISPVerifier.sol"; +import {SemaphoreNoirVerifier} from "@semaphore-protocol/contracts-noir/base/SemaphoreNoirVerifier.sol"; + +/// @notice Deployment script for large verifier contracts +/// @dev This script deploys the complex verifier contracts separately to avoid compilation issues +contract DeployVerifiers is Script { + function run() external { + // Read and log the chainID + uint256 chainId = block.chainid; + console2.log("Deploying Verifiers on ChainID %d", chainId); + + // Get the private key from environment + uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + + vm.startBroadcast(deployerPrivateKey); + + // Deploy HonkVerifier + console2.log("Deploying HonkVerifier..."); + HonkVerifier honkVerifier = new HonkVerifier(); + console2.log("Deployed HonkVerifier to", address(honkVerifier)); + + // Deploy SemaphoreNoirVerifier + console2.log("Deploying SemaphoreNoirVerifier..."); + SemaphoreNoirVerifier semaphoreNoirVerifier = new SemaphoreNoirVerifier(); + console2.log("Deployed SemaphoreNoirVerifier to", address(semaphoreNoirVerifier)); + + vm.stopBroadcast(); + + // Output addresses for use in main deployment + console2.log(""); + console2.log("=== VERIFIER ADDRESSES ==="); + console2.log("HonkVerifier:", address(honkVerifier)); + console2.log("SemaphoreNoirVerifier:", address(semaphoreNoirVerifier)); + console2.log("========================="); + } +} \ No newline at end of file diff --git a/examples/CRISP/deploy/config.toml b/examples/CRISP/deploy/config.toml index 95d5f815b8..167cc3733c 100644 --- a/examples/CRISP/deploy/config.toml +++ b/examples/CRISP/deploy/config.toml @@ -14,4 +14,4 @@ enclaveAddress = "0xE3000000000000000000000000000000000000E3" [profile.custom] chainId = 31337 riscZeroVerifierAddress = "0x0000000000000000000000000000000000000000" # Deployed with the script. Don't set or it will be skipped. -enclaveAddress = "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512" # Based on default deployment address using local anvil node +enclaveAddress = "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512" # Actual deployed Enclave address diff --git a/examples/CRISP/foundry.toml b/examples/CRISP/foundry.toml index 26dd697d6b..3ae517e6a6 100644 --- a/examples/CRISP/foundry.toml +++ b/examples/CRISP/foundry.toml @@ -1,13 +1,13 @@ [profile.default] src = "contracts" out = "out" -libs = ["lib"] +libs = ["lib", "node_modules", "../../packages", "../../node_modules"] test = "tests" ffi = true fs_permissions = [{ access = "read-write", path = "./"}] via_ir = false optimizer = true -optimizer-runs = 10_000_000 +optimizer-runs = 200 [profile.local] libraries = [ diff --git a/examples/CRISP/lib/openzeppelin-contracts-upgradeable b/examples/CRISP/lib/openzeppelin-contracts-upgradeable new file mode 160000 index 0000000000..60b305a8f3 --- /dev/null +++ b/examples/CRISP/lib/openzeppelin-contracts-upgradeable @@ -0,0 +1 @@ +Subproject commit 60b305a8f3ff0c7688f02ac470417b6bbf1c4d27 diff --git a/examples/CRISP/package.json b/examples/CRISP/package.json index 9014b34388..d394e2db80 100644 --- a/examples/CRISP/package.json +++ b/examples/CRISP/package.json @@ -24,7 +24,7 @@ "dependencies": { "@excubiae/contracts": "^0.4.0", "@gnosis-guild/enclave": "workspace:*", - "@semaphore-protocol/contracts": "^4.9.2", + "@semaphore-protocol/contracts-noir": "github:hashcloak/semaphore-noir#noir-support-part2", "@zk-kit/lean-imt.sol": "2.0.0", "poseidon-solidity": "^0.0.5", "solady": "^0.1.13" diff --git a/examples/CRISP/remappings.txt b/examples/CRISP/remappings.txt index d27d274084..57e0ec4c7d 100644 --- a/examples/CRISP/remappings.txt +++ b/examples/CRISP/remappings.txt @@ -1,10 +1,12 @@ forge-std/=lib/risc0-ethereum/lib/forge-std/src/ @openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/ +@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/ openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/ risc0/=lib/risc0-ethereum/contracts/src/ -@gnosis-guild/enclave/=node_modules/@gnosis-guild/enclave/ +@gnosis-guild/enclave/=../../packages/evm/ @excubiae/contracts/=node_modules/@excubiae/contracts/ solady/=node_modules/solady/ @semaphore-protocol/contracts/=node_modules/@semaphore-protocol/contracts/ +@semaphore-protocol/contracts-noir/=node_modules/@semaphore-protocol/contracts-noir/packages/contracts-noir/contracts/ @zk-kit/lean-imt.sol/=node_modules/@zk-kit/lean-imt.sol/ poseidon-solidity/=node_modules/poseidon-solidity/ \ No newline at end of file diff --git a/examples/CRISP/tests/CRISPProgram.t.sol b/examples/CRISP/tests/CRISPProgram.t.sol index d281677297..6d0e46e5ea 100644 --- a/examples/CRISP/tests/CRISPProgram.t.sol +++ b/examples/CRISP/tests/CRISPProgram.t.sol @@ -21,7 +21,7 @@ import {console2} from "forge-std/console2.sol"; import {Test} from "forge-std/Test.sol"; import {IRiscZeroVerifier} from "risc0/IRiscZeroVerifier.sol"; import {CRISPProgram} from "../contracts/CRISPProgram.sol"; -import {Elf} from "./Elf.sol"; // auto-generated contract after running `cargo build`. +import {Elf} from "../tests/Elf.sol"; // auto-generated contract after running `cargo build`. contract CRISPProgramTest is RiscZeroCheats, Test { CRISPProgram public crispProgram; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7642358e24..1a1019465c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -60,9 +60,9 @@ importers: '@gnosis-guild/enclave': specifier: workspace:* version: link:../../packages/evm - '@semaphore-protocol/contracts': - specifier: ^4.9.2 - version: 4.11.1 + '@semaphore-protocol/contracts-noir': + specifier: github:hashcloak/semaphore-noir#noir-support-part2 + version: semaphore-protocol@https://codeload.github.com/hashcloak/semaphore-noir/tar.gz/ba35c86c91b2e2ef4d099b61d38b3b5f9f581d1b '@zk-kit/lean-imt.sol': specifier: 2.0.0 version: 2.0.0 @@ -160,24 +160,39 @@ importers: '@emotion/react': specifier: ^11.11.4 version: 11.14.0(@types/react@18.3.23)(react@18.3.1) + '@noir-lang/acvm_js': + specifier: 1.0.0-beta.3 + version: 1.0.0-beta.3 '@noir-lang/noir_js': specifier: 1.0.0-beta.3 version: 1.0.0-beta.3 + '@noir-lang/noirc_abi': + specifier: 1.0.0-beta.3 + version: 1.0.0-beta.3 '@phosphor-icons/react': specifier: ^2.1.4 version: 2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@semaphore-protocol/core': - specifier: ^4.9.2 + specifier: ^4.0.3 version: 4.11.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@semaphore-protocol/data': - specifier: ^4.9.2 + specifier: ^4.0.3 version: 4.11.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) - '@svgr/rollup': - specifier: ^8.1.0 - version: 8.1.0(rollup@4.41.1)(typescript@5.8.3) + '@semaphore-protocol/group': + specifier: ^4.0.3 + version: 4.9.1 + '@semaphore-protocol/identity': + specifier: ^4.0.3 + version: 4.9.1 + '@semaphore-protocol/proof': + specifier: file:../../../../semaphore-noir/packages/proof + version: file:semaphore-noir/packages/proof(@semaphore-protocol/group@4.9.1)(@semaphore-protocol/identity@4.9.1)(@types/snarkjs@0.7.9)(bufferutil@4.0.9)(commander@13.1.0)(utf-8-validate@5.0.10) '@tanstack/react-query': specifier: ^5.74.3 version: 5.80.5(react@18.3.1) + '@zk-kit/artifacts': + specifier: github:hashcloak/snark-artifacts#main + version: snark-artifacts-root@https://codeload.github.com/hashcloak/snark-artifacts/tar.gz/a3c1c28ead6b18098ef207c1c991df9f4f9a87b7 axios: specifier: ^1.6.8 version: 1.9.0 @@ -208,9 +223,6 @@ importers: vite-plugin-node-polyfills: specifier: ^0.22.0 version: 0.22.0(rollup@4.41.1)(vite@5.4.19(@types/node@22.7.5)) - vite-plugin-top-level-await: - specifier: ^1.4.1 - version: 1.5.0(rollup@4.41.1)(vite@5.4.19(@types/node@22.7.5)) vite-tsconfig-paths: specifier: ^4.3.2 version: 4.3.2(typescript@5.8.3)(vite@5.4.19(@types/node@22.7.5)) @@ -556,6 +568,10 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@aztec/bb.js@0.82.2': + resolution: {integrity: sha512-MBOHFVHOtfsknyJ1IsHH30paYqf0qLwYkiDTPyH1/KtkMwemvo5VyIgY0Dsl81KQa388MzoKhC6qnaFgERiaog==} + hasBin: true + '@aztec/bb.js@0.82.3': resolution: {integrity: sha512-jtnCqf+/QLw5yJGOmy818RMQqzHzHqcROtTdQZJybSxp0z3h76xpLSwoDQUBmZZVbP9e46FJjOLqB6gM9gY5cw==} hasBin: true @@ -588,23 +604,6 @@ packages: resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.27.1': - resolution: {integrity: sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-create-regexp-features-plugin@7.27.1': - resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-define-polyfill-provider@0.6.4': - resolution: {integrity: sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-environment-visitor@7.24.7': resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} @@ -617,10 +616,6 @@ packages: resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.27.1': - resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} - engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.27.1': resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} engines: {node: '>=6.9.0'} @@ -631,30 +626,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-optimise-call-expression@7.27.1': - resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} - engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.27.1': resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} - '@babel/helper-remap-async-to-generator@7.27.1': - resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-replace-supers@7.27.1': - resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': - resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} - engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.7': resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} @@ -671,10 +646,6 @@ packages: resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.27.1': - resolution: {integrity: sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==} - engines: {node: '>=6.9.0'} - '@babel/helpers@7.27.6': resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} engines: {node: '>=6.9.0'} @@ -684,570 +655,156 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1': - resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': - resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': - resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': - resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1': - resolution: {integrity: sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-assertions@7.27.1': - resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-attributes@7.27.1': - resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.27.1': resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.27.1': - resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + '@babel/plugin-transform-react-jsx-self@7.27.1': + resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-arrow-functions@7.27.1': - resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} + '@babel/plugin-transform-react-jsx-source@7.27.1': + resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.27.1': - resolution: {integrity: sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA==} + '@babel/runtime@7.27.6': + resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-to-generator@7.27.1': - resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==} + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoped-functions@7.27.1': - resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} + '@babel/traverse@7.23.2': + resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.27.5': - resolution: {integrity: sha512-JF6uE2s67f0y2RZcm2kpAUEbD50vH62TyWVebxwHAlbSdM49VqPz8t4a1uIjp4NIOIZ4xzLfjY5emt/RCyC7TQ==} + '@babel/traverse@7.27.4': + resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-properties@7.27.1': - resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==} + '@babel/types@7.17.0': + resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-static-block@7.27.1': - resolution: {integrity: sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==} + '@babel/types@7.27.6': + resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - '@babel/plugin-transform-classes@7.27.1': - resolution: {integrity: sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@braintree/sanitize-url@6.0.4': + resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} - '@babel/plugin-transform-computed-properties@7.27.1': - resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/apply-release-plan@7.0.12': + resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} - '@babel/plugin-transform-destructuring@7.27.3': - resolution: {integrity: sha512-s4Jrok82JpiaIprtY2nHsYmrThKvvwgHwjgd7UMiYhZaN0asdXNLr0y+NjTfkA7SyQE5i2Fb7eawUOZmLvyqOA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/assemble-release-plan@6.0.8': + resolution: {integrity: sha512-y8+8LvZCkKJdbUlpXFuqcavpzJR80PN0OIfn8HZdwK7Sh6MgLXm4hKY5vu6/NDoKp8lAlM4ERZCqRMLxP4m+MQ==} - '@babel/plugin-transform-dotall-regex@7.27.1': - resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/changelog-git@0.2.1': + resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@babel/plugin-transform-duplicate-keys@7.27.1': - resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/cli@2.29.4': + resolution: {integrity: sha512-VW30x9oiFp/un/80+5jLeWgEU6Btj8IqOgI+X/zAYu4usVOWXjPIK5jSSlt5jsCU7/6Z7AxEkarxBxGUqkAmNg==} + hasBin: true - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1': - resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@changesets/config@3.1.1': + resolution: {integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==} - '@babel/plugin-transform-dynamic-import@7.27.1': - resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/errors@0.2.0': + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@babel/plugin-transform-exponentiation-operator@7.27.1': - resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/get-dependents-graph@2.1.3': + resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - '@babel/plugin-transform-export-namespace-from@7.27.1': - resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/get-release-plan@4.0.12': + resolution: {integrity: sha512-KukdEgaafnyGryUwpHG2kZ7xJquOmWWWk5mmoeQaSvZTWH1DC5D/Sw6ClgGFYtQnOMSQhgoEbDxAbpIIayKH1g==} - '@babel/plugin-transform-for-of@7.27.1': - resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/get-version-range-type@0.4.0': + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@babel/plugin-transform-function-name@7.27.1': - resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/git@3.0.4': + resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} - '@babel/plugin-transform-json-strings@7.27.1': - resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/logger@0.1.1': + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - '@babel/plugin-transform-literals@7.27.1': - resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/parse@0.4.1': + resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==} - '@babel/plugin-transform-logical-assignment-operators@7.27.1': - resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/pre@2.0.2': + resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - '@babel/plugin-transform-member-expression-literals@7.27.1': - resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/read@0.6.5': + resolution: {integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==} - '@babel/plugin-transform-modules-amd@7.27.1': - resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/should-skip-package@0.1.2': + resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} - '@babel/plugin-transform-modules-commonjs@7.27.1': - resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/types@4.1.0': + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - '@babel/plugin-transform-modules-systemjs@7.27.1': - resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/types@6.1.0': + resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} - '@babel/plugin-transform-modules-umd@7.27.1': - resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@changesets/write@0.4.0': + resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1': - resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@coinbase/wallet-sdk@3.9.3': + resolution: {integrity: sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw==} - '@babel/plugin-transform-new-target@7.27.1': - resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@coinbase/wallet-sdk@4.3.0': + resolution: {integrity: sha512-T3+SNmiCw4HzDm4we9wCHCxlP0pqCiwKe4sOwPH3YAK2KSKjxPRydKu6UQJrdONFVLG7ujXvbd/6ZqmvJb8rkw==} - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1': - resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} - '@babel/plugin-transform-numeric-separator@7.27.1': - resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==} - engines: {node: '>=6.9.0'} + '@commander-js/extra-typings@12.1.0': + resolution: {integrity: sha512-wf/lwQvWAA0goIghcb91dQYpkLBcyhOhQNqG/VgWhnKzgt+UOMvra7EX/2fv70arm5RW+PUHoQHHDa6/p77Eqg==} peerDependencies: - '@babel/core': ^7.0.0-0 + commander: ~12.1.0 - '@babel/plugin-transform-object-rest-spread@7.27.3': - resolution: {integrity: sha512-7ZZtznF9g4l2JCImCo5LNKFHB5eXnN39lLtLY5Tg+VkR0jwOt7TBciMckuiQIOIW7L5tkQOCh3bVGYeXgMx52Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} - '@babel/plugin-transform-object-super@7.27.1': - resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@depay/solana-web3.js@1.98.2': + resolution: {integrity: sha512-O7SvHsZ6HGXlzSmjhj7mj0B/VvQQn8mzm/xKQ0SUrEUJVxg9zKFBlwIvxCtgf+IOrWlBJi6VqXRu7UznWvfrCA==} - '@babel/plugin-transform-optional-catch-binding@7.27.1': - resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@depay/web3-blockchains@9.8.6': + resolution: {integrity: sha512-Fp2sGHjvRuqsLivfbL2qdhB447Fk/A0eS/iZj5VlzVnrpfa1Jt+tAKPk1c5T5tOYagnWaGG5DTFMuFNKiqRPkQ==} + engines: {node: '>=18'} - '@babel/plugin-transform-optional-chaining@7.27.1': - resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==} - engines: {node: '>=6.9.0'} + '@depay/web3-client@10.18.6': + resolution: {integrity: sha512-JeUAZ04/dsIra1ao3mvqAdVhRf4U1YxSoH0mE+XxhcXPgLC7KQTzH6oCLp07tAmoxholEL2cf5Oo20n6q1fZ/w==} + engines: {node: '>=16'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@depay/solana-web3.js': ^1.25.1 + '@depay/web3-blockchains': ^9.3.6 + ethers: ^5.7.1 - '@babel/plugin-transform-parameters@7.27.1': - resolution: {integrity: sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@depay/web3-mock-evm@14.19.1': + resolution: {integrity: sha512-Gx5n87gwya5dGv4JwDdlJFWshLbM9nDj6co8Z25FTf7/xKsTUD1en971B2QweXqZJxYadnumOPb+n19lgRofpQ==} + engines: {node: '>=16'} - '@babel/plugin-transform-private-methods@7.27.1': - resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@depay/web3-mock@14.19.1': + resolution: {integrity: sha512-bBM1J0EWDWXJKVPtzo8YrX7fbGwUATYWN8kaJniQU2z5V+UK3kVhjQi+en0JMF9cCjinkERK7MqoZLaYR+cb+Q==} + engines: {node: '>=16'} - '@babel/plugin-transform-private-property-in-object@7.27.1': - resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==} - engines: {node: '>=6.9.0'} + '@ecies/ciphers@0.2.3': + resolution: {integrity: sha512-tapn6XhOueMwht3E2UzY0ZZjYokdaw9XtL9kEyjhQ/Fb9vL9xTFbOaI+fV0AWvTpYu4BNloC6getKW6NtSg4mA==} + engines: {bun: '>=1', deno: '>=2', node: '>=16'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@noble/ciphers': ^1.0.0 - '@babel/plugin-transform-property-literals@7.27.1': - resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-constant-elements@7.27.1': - resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-display-name@7.27.1': - resolution: {integrity: sha512-p9+Vl3yuHPmkirRrg021XiP+EETmPMQTLr6Ayjj85RLNEbb3Eya/4VI0vAdzQG9SEAl2Lnt7fy5lZyMzjYoZQQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-development@7.27.1': - resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-self@7.27.1': - resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-source@7.27.1': - resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx@7.27.1': - resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-pure-annotations@7.27.1': - resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regenerator@7.27.5': - resolution: {integrity: sha512-uhB8yHerfe3MWnuLAhEbeQ4afVoqv8BQsPqrTv7e/jZ9y00kJL6l9a/f4OWaKxotmjzewfEyXE1vgDJenkQ2/Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regexp-modifiers@7.27.1': - resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-reserved-words@7.27.1': - resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-shorthand-properties@7.27.1': - resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.27.1': - resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.27.1': - resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-template-literals@7.27.1': - resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.27.1': - resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typescript@7.27.1': - resolution: {integrity: sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-escapes@7.27.1': - resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-property-regex@7.27.1': - resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-regex@7.27.1': - resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-sets-regex@7.27.1': - resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/preset-env@7.27.2': - resolution: {integrity: sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - - '@babel/preset-react@7.27.1': - resolution: {integrity: sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-typescript@7.27.1': - resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/runtime@7.27.6': - resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.27.2': - resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.23.2': - resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.27.4': - resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.17.0': - resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.27.6': - resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} - engines: {node: '>=6.9.0'} - - '@braintree/sanitize-url@6.0.4': - resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} - - '@changesets/apply-release-plan@7.0.12': - resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} - - '@changesets/assemble-release-plan@6.0.8': - resolution: {integrity: sha512-y8+8LvZCkKJdbUlpXFuqcavpzJR80PN0OIfn8HZdwK7Sh6MgLXm4hKY5vu6/NDoKp8lAlM4ERZCqRMLxP4m+MQ==} - - '@changesets/changelog-git@0.2.1': - resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - - '@changesets/cli@2.29.4': - resolution: {integrity: sha512-VW30x9oiFp/un/80+5jLeWgEU6Btj8IqOgI+X/zAYu4usVOWXjPIK5jSSlt5jsCU7/6Z7AxEkarxBxGUqkAmNg==} - hasBin: true - - '@changesets/config@3.1.1': - resolution: {integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==} - - '@changesets/errors@0.2.0': - resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - - '@changesets/get-dependents-graph@2.1.3': - resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - - '@changesets/get-release-plan@4.0.12': - resolution: {integrity: sha512-KukdEgaafnyGryUwpHG2kZ7xJquOmWWWk5mmoeQaSvZTWH1DC5D/Sw6ClgGFYtQnOMSQhgoEbDxAbpIIayKH1g==} - - '@changesets/get-version-range-type@0.4.0': - resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - - '@changesets/git@3.0.4': - resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} - - '@changesets/logger@0.1.1': - resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - - '@changesets/parse@0.4.1': - resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==} - - '@changesets/pre@2.0.2': - resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - - '@changesets/read@0.6.5': - resolution: {integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==} - - '@changesets/should-skip-package@0.1.2': - resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} - - '@changesets/types@4.1.0': - resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - - '@changesets/types@6.1.0': - resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} - - '@changesets/write@0.4.0': - resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - - '@coinbase/wallet-sdk@3.9.3': - resolution: {integrity: sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw==} - - '@coinbase/wallet-sdk@4.3.0': - resolution: {integrity: sha512-T3+SNmiCw4HzDm4we9wCHCxlP0pqCiwKe4sOwPH3YAK2KSKjxPRydKu6UQJrdONFVLG7ujXvbd/6ZqmvJb8rkw==} - - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - - '@cspotcode/source-map-support@0.8.1': - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - - '@depay/solana-web3.js@1.98.2': - resolution: {integrity: sha512-O7SvHsZ6HGXlzSmjhj7mj0B/VvQQn8mzm/xKQ0SUrEUJVxg9zKFBlwIvxCtgf+IOrWlBJi6VqXRu7UznWvfrCA==} - - '@depay/web3-blockchains@9.8.6': - resolution: {integrity: sha512-Fp2sGHjvRuqsLivfbL2qdhB447Fk/A0eS/iZj5VlzVnrpfa1Jt+tAKPk1c5T5tOYagnWaGG5DTFMuFNKiqRPkQ==} - engines: {node: '>=18'} - - '@depay/web3-client@10.18.6': - resolution: {integrity: sha512-JeUAZ04/dsIra1ao3mvqAdVhRf4U1YxSoH0mE+XxhcXPgLC7KQTzH6oCLp07tAmoxholEL2cf5Oo20n6q1fZ/w==} - engines: {node: '>=16'} - peerDependencies: - '@depay/solana-web3.js': ^1.25.1 - '@depay/web3-blockchains': ^9.3.6 - ethers: ^5.7.1 - - '@depay/web3-mock-evm@14.19.1': - resolution: {integrity: sha512-Gx5n87gwya5dGv4JwDdlJFWshLbM9nDj6co8Z25FTf7/xKsTUD1en971B2QweXqZJxYadnumOPb+n19lgRofpQ==} - engines: {node: '>=16'} - - '@depay/web3-mock@14.19.1': - resolution: {integrity: sha512-bBM1J0EWDWXJKVPtzo8YrX7fbGwUATYWN8kaJniQU2z5V+UK3kVhjQi+en0JMF9cCjinkERK7MqoZLaYR+cb+Q==} - engines: {node: '>=16'} - - '@ecies/ciphers@0.2.3': - resolution: {integrity: sha512-tapn6XhOueMwht3E2UzY0ZZjYokdaw9XtL9kEyjhQ/Fb9vL9xTFbOaI+fV0AWvTpYu4BNloC6getKW6NtSg4mA==} - engines: {bun: '>=1', deno: '>=2', node: '>=16'} - peerDependencies: - '@noble/ciphers': ^1.0.0 - - '@emnapi/runtime@1.4.3': - resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + '@emnapi/runtime@1.4.3': + resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} '@emotion/babel-plugin@11.13.5': resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} @@ -1891,6 +1448,9 @@ packages: '@iden3/bigarray@0.0.2': resolution: {integrity: sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g==} + '@iden3/binfileutils@0.0.11': + resolution: {integrity: sha512-LylnJoZ0CTdgErnKY8OxohvW4K+p6UHD3sxt+3P9AmMyBQjYR4IpoqoYZZ+9aMj89cmCQ21UvdhndAx04er3NA==} + '@iden3/binfileutils@0.0.12': resolution: {integrity: sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ==} @@ -2010,6 +1570,30 @@ packages: cpu: [x64] os: [win32] + '@inquirer/core@9.2.1': + resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} + engines: {node: '>=18'} + + '@inquirer/figures@1.0.12': + resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} + engines: {node: '>=18'} + + '@inquirer/input@2.3.0': + resolution: {integrity: sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==} + engines: {node: '>=18'} + + '@inquirer/select@2.5.0': + resolution: {integrity: sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==} + engines: {node: '>=18'} + + '@inquirer/type@1.5.5': + resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} + engines: {node: '>=18'} + + '@inquirer/type@2.0.0': + resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} + engines: {node: '>=18'} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -2365,6 +1949,9 @@ packages: '@noir-lang/noir_js@1.0.0-beta.3': resolution: {integrity: sha512-Nt/rP7zRMOfNq9urD8+GtRpYqEc0K10FoKXs/v+ZTbGaP6Jkm7+F+UPj2bkWy66k1HNzsN6ortli7c7mnLDHwA==} + '@noir-lang/noir_wasm@1.0.0-beta.3': + resolution: {integrity: sha512-1EZCmaSYISxJIBLZN1tEyu25E7WIWAYpT3JdnVx+YCHk5uPWtXgroZSqypkpi39TVOJZT6DU/bPfrx0N1GSyog==} + '@noir-lang/noirc_abi@1.0.0-beta.3': resolution: {integrity: sha512-L6BI64ennatwTUciHqQ14ahUFsgzL41tzghqUELzO7XojasStcWDaSMjlTxca/2pvpWtEJHDtseKe1VZWIIVXQ==} @@ -2621,15 +2208,6 @@ packages: rollup: optional: true - '@rollup/plugin-virtual@3.0.2': - resolution: {integrity: sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - '@rollup/pluginutils@5.1.4': resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} @@ -2797,18 +2375,33 @@ packages: '@semaphore-protocol/group@4.11.1': resolution: {integrity: sha512-YJwLpAc0sOzlgZwDw62QRj1BJ3PXPQdFYqt0lhNvbhPosFAmjfHW+gr7xYuBku/oQJ4clm+fLQniAd37a+ZXHg==} + '@semaphore-protocol/group@4.9.1': + resolution: {integrity: sha512-P3nugLuPElwOUtvGlU3bRy35/1zHoCvrtCHr1R+LPgyOostoOHEH7ED5BVKgP2z7tGRp0ygj4pZtoy8W9IPjjA==} + '@semaphore-protocol/identity@4.11.1': resolution: {integrity: sha512-HVnm8TA7+tz1WiRpLhgiqZspsNfTrtUlArhiYg4GaZz4Xh3Xf8ryjcSVJLIiAmGu0eP46yg8GuRa6vW6I9Oi+g==} + '@semaphore-protocol/identity@4.9.1': + resolution: {integrity: sha512-cQpQOh33O5HD6LonqLd46RDKv/2mvCukF/O0rm7zlZKGltNAVtRUDi0o7ILU+SNAYLZHWf4XwGGfn9PLJ0F9mQ==} + '@semaphore-protocol/proof@4.11.1': resolution: {integrity: sha512-wnSIAUFtcAu/QhBZcq20lJE/7X4fwG6qq/LsDFnLB9GKMYXR2fdBCUPhoER34ojjJqSwrwqW+vk/omb3icqplA==} peerDependencies: '@semaphore-protocol/group': 4.11.1 '@semaphore-protocol/identity': 4.11.1 + '@semaphore-protocol/proof@file:semaphore-noir/packages/proof': + resolution: {directory: semaphore-noir/packages/proof, type: directory} + peerDependencies: + '@semaphore-protocol/group': ^4.0.3 + '@semaphore-protocol/identity': ^4.0.3 + '@semaphore-protocol/utils@4.11.1': resolution: {integrity: sha512-lTzZo9RV1wUyFXVnDcnSV3cDYfoMfmG17Sl9M1I7L82JX19LBPNJ1olBQbloC6UvyzE6DaqQ783MJnTkWEoDjg==} + '@semaphore-protocol/utils@4.9.1': + resolution: {integrity: sha512-fhiVW/CL+zU/DvKAibBh3thEg2GKTMvNEl2V+fcJYbiyjxjZPfwvVHS/tP2wxBibU8bvtfcuqAk3WFdJXYFG2A==} + '@sentry/core@5.30.0': resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} engines: {node: '>=6'} @@ -2859,84 +2452,6 @@ packages: '@solidity-parser/parser@0.20.1': resolution: {integrity: sha512-58I2sRpzaQUN+jJmWbHfbWf9AKfzqCI8JAdFB0vbyY+u8tBRcuTt9LxzasvR0LGQpcRv97eyV7l61FQ3Ib7zVw==} - '@svgr/babel-plugin-add-jsx-attribute@8.0.0': - resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': - resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': - resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': - resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-svg-dynamic-title@8.0.0': - resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-svg-em-dimensions@8.0.0': - resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-transform-react-native-svg@8.1.0': - resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-transform-svg-component@8.0.0': - resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} - engines: {node: '>=12'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-preset@8.1.0': - resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/core@8.1.0': - resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} - engines: {node: '>=14'} - - '@svgr/hast-util-to-babel-ast@8.0.0': - resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} - engines: {node: '>=14'} - - '@svgr/plugin-jsx@8.1.0': - resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} - engines: {node: '>=14'} - peerDependencies: - '@svgr/core': '*' - - '@svgr/plugin-svgo@8.1.0': - resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} - engines: {node: '>=14'} - peerDependencies: - '@svgr/core': '*' - - '@svgr/rollup@8.1.0': - resolution: {integrity: sha512-0XR1poYvPQoPpmfDYLEqUGu5ePAQ4pdgN3VFsZBNAeze7qubVpsIY1o1R6PZpKep/DKu33GSm2NhwpCLkMs2Cw==} - engines: {node: '>=14'} - '@swc/core-darwin-arm64@1.11.31': resolution: {integrity: sha512-NTEaYOts0OGSbJZc0O74xsji+64JrF1stmBii6D5EevWEtrY4wlZhm8SiP/qPrOB+HqtAihxWIukWkP2aSdGSQ==} engines: {node: '>=10'} @@ -3090,10 +2605,6 @@ packages: '@vue/compiler-sfc': optional: true - '@trysound/sax@0.2.0': - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} - '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -3235,6 +2746,9 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + '@types/mute-stream@0.0.4': + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + '@types/node@10.17.60': resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} @@ -3291,6 +2805,9 @@ packages: '@types/serve-static@1.15.7': resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + '@types/snarkjs@0.7.9': + resolution: {integrity: sha512-pb4Bq3GI2YQOQOG0dR/YuQs/mqcuL6k/vnz68LIPtpA2frrUL3twf69a3AUK9eUmNNeW0RIKkq6scDlC75Is+g==} + '@types/tinycolor2@1.4.6': resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} @@ -3303,6 +2820,9 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@types/wrap-ansi@3.0.0': + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -3492,6 +3012,10 @@ packages: '@zk-kit/artifacts@1.8.0': resolution: {integrity: sha512-G2rQ1BxYt9CuVyU4Egc4ceSLLWx9BRrtFGZWS0RWwHhAMfSV/Fq9Qz6OX02leFzTbi7Tr3bTP6DgDSqr28OQnw==} + '@zk-kit/artifacts@file:semaphore-noir/snark-artifacts/packages/artifacts': + resolution: {directory: semaphore-noir/snark-artifacts/packages/artifacts, type: directory} + hasBin: true + '@zk-kit/baby-jubjub@1.0.3': resolution: {integrity: sha512-Wl+QfV6XGOMk1yU2JTqHXeKWfJVXp83is0+dtqfj9wx4wsAPpb+qzYvwAxW5PBx5/Nu71Bh7jp/5vM+6QgHSwA==} @@ -3746,21 +3270,6 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} - babel-plugin-polyfill-corejs2@0.4.13: - resolution: {integrity: sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.11.1: - resolution: {integrity: sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.4: - resolution: {integrity: sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-styled-components@2.1.4: resolution: {integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==} peerDependencies: @@ -3809,6 +3318,9 @@ packages: binary@0.3.0: resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + blake2b-wasm@2.4.0: resolution: {integrity: sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w==} @@ -3834,9 +3346,6 @@ packages: resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} engines: {node: '>=18'} - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - bowser@2.11.0: resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} @@ -4065,6 +3574,9 @@ packages: check-types@11.2.3: resolution: {integrity: sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==} + child_process@1.0.2: + resolution: {integrity: sha512-Wmza/JzL0SiWz7kl6MhIKT5ceIlnFPJX+lwUGj7Clhy5MMldsSoJR0+uvRzOS5Kv45Mq7t1PoE8TsOA9bzvb6g==} + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -4084,10 +3596,25 @@ packages: resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} engines: {node: '>= 0.10'} + circom_runtime@0.1.21: + resolution: {integrity: sha512-qTkud630B/GK8y76hnOaaS1aNuF6prfV0dTrkeRsiJKnlP1ryQbP2FWLgDOPqn6aKyaPlam+Z+DTbBhkEzh8dA==} + hasBin: true + circom_runtime@0.1.25: resolution: {integrity: sha512-xBGsBFF5Uv6AKvbpgExYqpHfmfawH2HKe+LyjfKSRevqEV8u63i9KGHVIILsbJNW+0c5bm/66f0PUYQ7qZSkJA==} hasBin: true + circom_tester@0.0.19: + resolution: {integrity: sha512-SNHaBsGxcBH6XsVWfsRbRPA7NF8m8AMKJI9dtJJCFGUtOTT2+zsoIqAwi50z6XCnO4TtjyXq7AeXa1PLHqT0tw==} + + circomkit@0.2.1: + resolution: {integrity: sha512-7O8QsOLUq2QvwGMimvWxwdg7OgV33OT7ZBND+81dv3JrVp8ove93yV16jF3TW6XBncSY92/Aka8F4CAi/H9VQw==} + engines: {node: '>=12.0.0'} + hasBin: true + peerDependencies: + '@types/snarkjs': ^0.7.x + snarkjs: ^0.7.x + clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -4096,6 +3623,14 @@ packages: resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} engines: {node: '>=6'} + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + cli-table3@0.5.1: resolution: {integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==} engines: {node: '>=6'} @@ -4104,6 +3639,10 @@ packages: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} @@ -4125,6 +3664,10 @@ packages: resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} engines: {node: '>=20'} + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + clsx@1.2.1: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} @@ -4275,9 +3818,6 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - core-js-compat@3.42.0: - resolution: {integrity: sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==} - core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -4346,33 +3886,14 @@ packages: resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} engines: {node: '>=4'} - css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - css-to-react-native@3.2.0: resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} - css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - - css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -4585,9 +4106,8 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} @@ -4675,29 +4195,13 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - domain-browser@4.22.0: resolution: {integrity: sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==} engines: {node: '>=10'} - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - dompurify@3.1.6: resolution: {integrity: sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==} - domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - - dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - dotenv@16.5.0: resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} engines: {node: '>=12'} @@ -4769,10 +4273,6 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - entities@6.0.0: resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==} engines: {node: '>=0.12'} @@ -4837,11 +4337,6 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - escodegen@1.14.3: - resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} - engines: {node: '>=4.0'} - hasBin: true - escodegen@1.8.1: resolution: {integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==} engines: {node: '>=0.12.0'} @@ -4909,10 +4404,6 @@ packages: resolution: {integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==} engines: {node: '>=0.10.0'} - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -5116,6 +4607,12 @@ packages: picomatch: optional: true + ffjavascript@0.2.56: + resolution: {integrity: sha512-em6G5Lrj7ucIqj4TYEgyoHs/j99Urwwqa4+YxEVY2hggnpRimVj+noX5pZQTxI1pvtiekZI4rG65JBf0xraXrg==} + + ffjavascript@0.2.63: + resolution: {integrity: sha512-dBgdsfGks58b66JnUZeZpGxdMIDQ4QsD3VYlRJyFVrKQHb2kJy4R2gufx5oetrTxXPT+aEjg0dOvOLg1N0on4A==} + ffjavascript@0.3.0: resolution: {integrity: sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ==} @@ -5185,6 +4682,9 @@ packages: fmix@0.1.0: resolution: {integrity: sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==} + fnv-plus@1.3.1: + resolution: {integrity: sha512-Gz1EvfOneuFfk4yG458dJ3TLJ7gV19q3OM/vVvvHf7eT02Hm1DleB4edsia6ahbKgAYxO9gvyQ1ioWZR+a00Yw==} + focus-visible@5.2.1: resolution: {integrity: sha512-8Bx950VD1bWTQJEH/AM6SpEk+SU55aVnp4Ujhuuxy3eMEBCRwBnTBnVXr9YAPvZL3/CNjCa8u4IWfNmEO53whA==} @@ -5801,6 +5301,10 @@ packages: is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + is-nan@1.3.2: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} @@ -5936,11 +5440,6 @@ packages: engines: {node: '>=4'} hasBin: true - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -6088,9 +5587,6 @@ packages: lodash.clonedeep@4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. @@ -6121,6 +5617,10 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} + loglevel@1.9.2: + resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} + engines: {node: '>= 0.6.0'} + logplease@1.2.15: resolution: {integrity: sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA==} @@ -6134,9 +5634,6 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - lowercase-keys@3.0.0: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -6270,12 +5767,6 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - media-typer@1.1.0: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} engines: {node: '>= 0.8'} @@ -6580,6 +6071,10 @@ packages: murmur-128@0.2.1: resolution: {integrity: sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg==} + mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -6661,9 +6156,6 @@ packages: react: '>=16.13.1' react-dom: '>=16.13.1' - no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-addon-api@2.0.2: resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} @@ -6738,9 +6230,6 @@ packages: resolution: {integrity: sha512-O/j/ROyX0KGLG7O6Ieut/seQ0oiTpHF2tXAcFbpdTLQFiaNtkyTXXocM1fwpaa60dg1qpWj0nHlbNhx6qwuENQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - number-to-bn@1.7.0: resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} engines: {node: '>=6.5.0', npm: '>=3'} @@ -6804,6 +6293,10 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + ordinal@1.0.3: resolution: {integrity: sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==} @@ -7295,6 +6788,9 @@ packages: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} + r1csfile@0.0.41: + resolution: {integrity: sha512-Q1WDF3u1vYeAwjHo4YuddkA8Aq0TulbKjmGm99+Atn13Lf5fTsMZBnBV9T741w8iSyPFG6Uh6sapQby77sREqA==} + r1csfile@0.0.48: resolution: {integrity: sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw==} @@ -7422,17 +6918,6 @@ packages: refractor@3.6.0: resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==} - regenerate-unicode-properties@10.2.0: - resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regexpu-core@6.2.0: - resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} - engines: {node: '>=4'} - registry-auth-token@5.1.0: resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} engines: {node: '>=14'} @@ -7441,13 +6926,6 @@ packages: resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} engines: {node: '>=12'} - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} - hasBin: true - rehype-katex@7.0.1: resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==} @@ -7546,6 +7024,10 @@ packages: resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} engines: {node: '>=14.16'} + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -7637,6 +7119,10 @@ packages: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} + semaphore-protocol@https://codeload.github.com/hashcloak/semaphore-noir/tar.gz/ba35c86c91b2e2ef4d099b61d38b3b5f9f581d1b: + resolution: {tarball: https://codeload.github.com/hashcloak/semaphore-noir/tar.gz/ba35c86c91b2e2ef4d099b61d38b3b5f9f581d1b} + version: 0.0.0 + semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -7753,8 +7239,13 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} - snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + snark-artifacts-root@https://codeload.github.com/hashcloak/snark-artifacts/tar.gz/a3c1c28ead6b18098ef207c1c991df9f4f9a87b7: + resolution: {tarball: https://codeload.github.com/hashcloak/snark-artifacts/tar.gz/a3c1c28ead6b18098ef207c1c991df9f4f9a87b7} + version: 0.0.0 + + snarkjs@0.5.0: + resolution: {integrity: sha512-KWz8mZ2Y+6wvn6GGkQo6/ZlKwETdAGohd40Lzpwp5TUZCn6N6O4Az1SuX1rw/qREGL6Im+ycb19suCFE8/xaKA==} + hasBin: true snarkjs@0.7.4: resolution: {integrity: sha512-x4cOCR4YXSyBlLtfnUUwfbZrw8wFd/Y0lk83eexJzKwZB8ELdpH+10ts8YtDsm2/a3WK7c7p514bbE8NpqxW8w==} @@ -8028,14 +7519,6 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svg-parser@2.0.4: - resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} - - svgo@3.3.2: - resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} - engines: {node: '>=14.0.0'} - hasBin: true - sync-request@6.1.0: resolution: {integrity: sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==} engines: {node: '>=8.0.0'} @@ -8102,10 +7585,17 @@ packages: resolution: {integrity: sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw==} engines: {node: '>=0.10.0'} + tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -8320,22 +7810,6 @@ packages: resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} engines: {node: '>=14.0'} - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.0: - resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} @@ -8509,10 +7983,6 @@ packages: util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} - uuid@10.0.0: - resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} - hasBin: true - uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -8600,11 +8070,6 @@ packages: peerDependencies: vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - vite-plugin-top-level-await@1.5.0: - resolution: {integrity: sha512-r/DtuvHrSqUVk23XpG2cl8gjt1aATMG5cjExXL1BUTcSNab6CzkcPua9BPEc9fuTP5UpwClCxUe3+dNGL0yrgQ==} - peerDependencies: - vite: '>=2.8' - vite-plugin-wasm@3.4.1: resolution: {integrity: sha512-ja3nSo2UCkVeitltJGkS3pfQHAanHv/DqGatdI39ja6McgABlpsZ5hVgl6wuR8Qx5etY3T5qgDQhOWzc5RReZA==} peerDependencies: @@ -8677,9 +8142,15 @@ packages: wasmbuilder@0.0.16: resolution: {integrity: sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA==} + wasmcurves@0.2.0: + resolution: {integrity: sha512-3e2rbxdujOwaod657gxgmdhZNn+i1qKdHO3Y/bK+8E7bV8ttV/fu5FO4/WLBACF375cK0QDLOP+65Na63qYuWA==} + wasmcurves@0.2.2: resolution: {integrity: sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ==} + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} @@ -8898,787 +8369,198 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yoctocolors-cjs@2.1.2: + resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + engines: {node: '>=18'} + zksync-ethers@5.10.0: resolution: {integrity: sha512-OAjTGAHF9wbdkRGkj7XZuF/a1Sk/FVbwH4pmLjAKlR7mJ7sQtQhBhrPU2dCc67xLaNvEESPfwil19ES5wooYFg==} engines: {node: '>=16.0.0'} peerDependencies: ethers: ~5.7.0 - zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - - zod@3.25.51: - resolution: {integrity: sha512-TQSnBldh+XSGL+opiSIq0575wvDPqu09AqWe1F7JhUMKY+M91/aGlK4MhpVNO7MgYfHcVCB1ffwAUTJzllKJqg==} - - zustand@5.0.0: - resolution: {integrity: sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ==} - engines: {node: '>=12.20.0'} - peerDependencies: - '@types/react': '>=18.0.0' - immer: '>=9.0.6' - react: '>=18.0.0' - use-sync-external-store: '>=1.2.0' - peerDependenciesMeta: - '@types/react': - optional: true - immer: - optional: true - react: - optional: true - use-sync-external-store: - optional: true - - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - -snapshots: - - '@adraffy/ens-normalize@1.10.0': {} - - '@adraffy/ens-normalize@1.10.1': {} - - '@adraffy/ens-normalize@1.11.0': {} - - '@alloc/quick-lru@5.2.0': {} - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@aztec/bb.js@0.82.3': - dependencies: - comlink: 4.4.2 - commander: 12.1.0 - debug: 4.4.1(supports-color@5.5.0) - fflate: 0.8.2 - pako: 2.1.0 - tslib: 2.8.1 - transitivePeerDependencies: - - supports-color - - '@babel/code-frame@7.27.1': - dependencies: - '@babel/helper-validator-identifier': 7.27.1 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.27.5': {} - - '@babel/core@7.27.4': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.27.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) - '@babel/helpers': 7.27.6 - '@babel/parser': 7.27.5 - '@babel/template': 7.27.2 - '@babel/traverse': 7.27.4(supports-color@5.5.0) - '@babel/types': 7.27.6 - convert-source-map: 2.0.0 - debug: 4.4.1(supports-color@5.5.0) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.17.7': - dependencies: - '@babel/types': 7.27.6 - jsesc: 2.5.2 - source-map: 0.5.7 - - '@babel/generator@7.27.5': - dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.27.3': - dependencies: - '@babel/types': 7.27.6 - - '@babel/helper-compilation-targets@7.27.2': - dependencies: - '@babel/compat-data': 7.27.5 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.0 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.27.1 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.27.4(supports-color@5.5.0) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.2.0 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.4(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.1(supports-color@5.5.0) - lodash.debounce: 4.0.8 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - - '@babel/helper-environment-visitor@7.24.7': - dependencies: - '@babel/types': 7.27.6 - - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.27.6 - - '@babel/helper-hoist-variables@7.24.7': - dependencies: - '@babel/types': 7.27.6 - - '@babel/helper-member-expression-to-functions@7.27.1': - dependencies: - '@babel/traverse': 7.27.4(supports-color@5.5.0) - '@babel/types': 7.27.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.27.1(supports-color@5.5.0)': - dependencies: - '@babel/traverse': 7.27.4(supports-color@5.5.0) - '@babel/types': 7.27.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-imports': 7.27.1(supports-color@5.5.0) - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.27.4(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.27.1': - dependencies: - '@babel/types': 7.27.6 - - '@babel/helper-plugin-utils@7.27.1': {} - - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.27.1 - '@babel/traverse': 7.27.4(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-member-expression-to-functions': 7.27.1 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.27.4(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': - dependencies: - '@babel/traverse': 7.27.4(supports-color@5.5.0) - '@babel/types': 7.27.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-split-export-declaration@7.24.7': - dependencies: - '@babel/types': 7.27.6 - - '@babel/helper-string-parser@7.27.1': {} - - '@babel/helper-validator-identifier@7.27.1': {} - - '@babel/helper-validator-option@7.27.1': {} - - '@babel/helper-wrap-function@7.27.1': - dependencies: - '@babel/template': 7.27.2 - '@babel/traverse': 7.27.4(supports-color@5.5.0) - '@babel/types': 7.27.6 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.27.6': - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.27.6 - - '@babel/parser@7.27.5': - dependencies: - '@babel/types': 7.27.6 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.27.4(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.4) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.27.4(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-async-generator-functions@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.4) - '@babel/traverse': 7.27.4(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-imports': 7.27.1(supports-color@5.5.0) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.27.4) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-block-scoping@7.27.5(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) - '@babel/traverse': 7.27.4(supports-color@5.5.0) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/template': 7.27.2 - - '@babel/plugin-transform-destructuring@7.27.3(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.27.4(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.27.4(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 + zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + zod@3.25.51: + resolution: {integrity: sha512-TQSnBldh+XSGL+opiSIq0575wvDPqu09AqWe1F7JhUMKY+M91/aGlK4MhpVNO7MgYfHcVCB1ffwAUTJzllKJqg==} - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + zustand@5.0.0: + resolution: {integrity: sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true - '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - '@babel/plugin-transform-object-rest-spread@7.27.3(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.27.3(@babel/core@7.27.4) - '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.4) +snapshots: - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) - transitivePeerDependencies: - - supports-color + '@adraffy/ens-normalize@1.10.0': {} - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + '@adraffy/ens-normalize@1.10.1': {} - '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + '@adraffy/ens-normalize@1.11.0': {} - '@babel/plugin-transform-parameters@7.27.1(@babel/core@7.27.4)': + '@alloc/quick-lru@5.2.0': {} + + '@ampproject/remapping@2.3.0': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 - '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.27.4)': + '@aztec/bb.js@0.82.2': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 + comlink: 4.4.2 + commander: 12.1.0 + debug: 4.4.1(supports-color@5.5.0) + fflate: 0.8.2 + pako: 2.1.0 + tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.27.4)': + '@aztec/bb.js@0.82.3': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 + comlink: 4.4.2 + commander: 12.1.0 + debug: 4.4.1(supports-color@5.5.0) + fflate: 0.8.2 + pako: 2.1.0 + tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.27.4)': + '@babel/code-frame@7.27.1': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 - '@babel/plugin-transform-react-display-name@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/compat-data@7.27.5': {} - '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.27.4)': + '@babel/core@7.27.4': dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.4) + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.27.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) + '@babel/helpers': 7.27.6 + '@babel/parser': 7.27.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.27.4(supports-color@5.5.0) + '@babel/types': 7.27.6 + convert-source-map: 2.0.0 + debug: 4.4.1(supports-color@5.5.0) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.27.4)': + '@babel/generator@7.17.7': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.27.6 + jsesc: 2.5.2 + source-map: 0.5.7 - '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.27.4)': + '@babel/generator@7.27.5': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-module-imports': 7.27.1(supports-color@5.5.0) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) + '@babel/parser': 7.27.5 '@babel/types': 7.27.6 - transitivePeerDependencies: - - supports-color + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 - '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.27.4)': + '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.27.6 - '@babel/plugin-transform-regenerator@7.27.5(@babel/core@7.27.4)': + '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/compat-data': 7.27.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.25.0 + lru-cache: 5.1.1 + semver: 6.3.1 - '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.27.4)': + '@babel/helper-environment-visitor@7.24.7': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.27.6 - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.27.4)': + '@babel/helper-function-name@7.24.7': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/template': 7.27.2 + '@babel/types': 7.27.6 - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.27.4)': + '@babel/helper-hoist-variables@7.24.7': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.27.6 - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.27.4)': + '@babel/helper-module-imports@7.27.1(supports-color@5.5.0)': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.27.4(supports-color@5.5.0) + '@babel/types': 7.27.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.27.4)': + '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.4) + '@babel/helper-module-imports': 7.27.1(supports-color@5.5.0) + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.27.4(supports-color@5.5.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils@7.27.1': {} - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.27.4)': + '@babel/helper-split-export-declaration@7.24.7': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.27.6 - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/helper-validator-option@7.27.1': {} - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.27.4)': + '@babel/helpers@7.27.6': dependencies: - '@babel/core': 7.27.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/template': 7.27.2 + '@babel/types': 7.27.6 - '@babel/preset-env@7.27.2(@babel/core@7.27.4)': + '@babel/parser@7.27.5': dependencies: - '@babel/compat-data': 7.27.5 - '@babel/core': 7.27.4 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.4) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.27.4) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-async-generator-functions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-block-scoping': 7.27.5(@babel/core@7.27.4) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-class-static-block': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-classes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-destructuring': 7.27.3(@babel/core@7.27.4) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-object-rest-spread': 7.27.3(@babel/core@7.27.4) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-parameters': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-regenerator': 7.27.5(@babel/core@7.27.4) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.27.4) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.27.4) - babel-plugin-polyfill-corejs2: 0.4.13(@babel/core@7.27.4) - babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.27.4) - babel-plugin-polyfill-regenerator: 0.6.4(@babel/core@7.27.4) - core-js-compat: 3.42.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.27.6 - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.27.4)': + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.27.6 - esutils: 2.0.3 - '@babel/preset-react@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-react-display-name': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.27.4) - transitivePeerDependencies: - - supports-color - '@babel/preset-typescript@7.27.1(@babel/core@7.27.4)': + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.4) - transitivePeerDependencies: - - supports-color '@babel/runtime@7.27.6': {} @@ -9893,6 +8775,10 @@ snapshots: '@colors/colors@1.5.0': optional: true + '@commander-js/extra-typings@12.1.0(commander@13.1.0)': + dependencies: + commander: 13.1.0 + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -10570,6 +9456,11 @@ snapshots: '@iden3/bigarray@0.0.2': {} + '@iden3/binfileutils@0.0.11': + dependencies: + fastfile: 0.0.20 + ffjavascript: 0.2.63 + '@iden3/binfileutils@0.0.12': dependencies: fastfile: 0.0.20 @@ -10656,6 +9547,44 @@ snapshots: '@img/sharp-win32-x64@0.34.2': optional: true + '@inquirer/core@9.2.1': + dependencies: + '@inquirer/figures': 1.0.12 + '@inquirer/type': 2.0.0 + '@types/mute-stream': 0.0.4 + '@types/node': 22.7.5 + '@types/wrap-ansi': 3.0.0 + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 1.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + + '@inquirer/figures@1.0.12': {} + + '@inquirer/input@2.3.0': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 1.5.5 + + '@inquirer/select@2.5.0': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.12 + '@inquirer/type': 1.5.5 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + + '@inquirer/type@1.5.5': + dependencies: + mute-stream: 1.0.0 + + '@inquirer/type@2.0.0': + dependencies: + mute-stream: 1.0.0 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -11076,9 +10005,14 @@ snapshots: '@noir-lang/noir_js@1.0.0-beta.3': dependencies: - '@noir-lang/acvm_js': 1.0.0-beta.3 - '@noir-lang/noirc_abi': 1.0.0-beta.3 + '@noir-lang/acvm_js': 1.0.0-beta.3 + '@noir-lang/noirc_abi': 1.0.0-beta.3 + '@noir-lang/types': 1.0.0-beta.3 + + '@noir-lang/noir_wasm@1.0.0-beta.3': + dependencies: '@noir-lang/types': 1.0.0-beta.3 + pako: 2.1.0 '@noir-lang/noirc_abi@1.0.0-beta.3': dependencies: @@ -11634,10 +10568,6 @@ snapshots: optionalDependencies: rollup: 4.41.1 - '@rollup/plugin-virtual@3.0.2(rollup@4.41.1)': - optionalDependencies: - rollup: 4.41.1 - '@rollup/pluginutils@5.1.4(rollup@4.41.1)': dependencies: '@types/estree': 1.0.7 @@ -11820,6 +10750,12 @@ snapshots: '@zk-kit/utils': 1.3.0 poseidon-lite: 0.3.0 + '@semaphore-protocol/group@4.9.1': + dependencies: + '@zk-kit/lean-imt': 2.2.3 + '@zk-kit/utils': 1.3.0 + poseidon-lite: 0.3.0 + '@semaphore-protocol/identity@4.11.1': dependencies: '@zk-kit/baby-jubjub': 1.0.3 @@ -11827,6 +10763,13 @@ snapshots: '@zk-kit/utils': 1.3.0 poseidon-lite: 0.3.0 + '@semaphore-protocol/identity@4.9.1': + dependencies: + '@zk-kit/baby-jubjub': 1.0.3 + '@zk-kit/eddsa-poseidon': 1.0.4 + '@zk-kit/utils': 1.3.0 + poseidon-lite: 0.3.0 + '@semaphore-protocol/proof@4.11.1(@semaphore-protocol/group@4.11.1)(@semaphore-protocol/identity@4.11.1)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@semaphore-protocol/group': 4.11.1 @@ -11840,6 +10783,25 @@ snapshots: - bufferutil - utf-8-validate + '@semaphore-protocol/proof@file:semaphore-noir/packages/proof(@semaphore-protocol/group@4.9.1)(@semaphore-protocol/identity@4.9.1)(@types/snarkjs@0.7.9)(bufferutil@4.0.9)(commander@13.1.0)(utf-8-validate@5.0.10)': + dependencies: + '@aztec/bb.js': 0.82.2 + '@noir-lang/noir_js': 1.0.0-beta.3 + '@noir-lang/noir_wasm': 1.0.0-beta.3 + '@semaphore-protocol/group': 4.9.1 + '@semaphore-protocol/identity': 4.9.1 + '@semaphore-protocol/utils': 4.9.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@zk-kit/artifacts': file:semaphore-noir/snark-artifacts/packages/artifacts(@types/snarkjs@0.7.9)(commander@13.1.0) + '@zk-kit/utils': 1.3.0 + ethers: 6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + snarkjs: 0.7.4 + transitivePeerDependencies: + - '@types/snarkjs' + - bufferutil + - commander + - supports-color + - utf-8-validate + '@semaphore-protocol/utils@4.11.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: ethers: 6.14.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -11847,6 +10809,13 @@ snapshots: - bufferutil - utf-8-validate + '@semaphore-protocol/utils@4.9.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + ethers: 6.14.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + '@sentry/core@5.30.0': dependencies: '@sentry/hub': 5.30.0 @@ -11914,101 +10883,6 @@ snapshots: '@solidity-parser/parser@0.20.1': {} - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - - '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - - '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - - '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - - '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - - '@svgr/babel-preset@8.1.0(@babel/core@7.27.4)': - dependencies: - '@babel/core': 7.27.4 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.27.4) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.27.4) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.27.4) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.27.4) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.27.4) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.27.4) - '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.27.4) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.27.4) - - '@svgr/core@8.1.0(typescript@5.8.3)': - dependencies: - '@babel/core': 7.27.4 - '@svgr/babel-preset': 8.1.0(@babel/core@7.27.4) - camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.8.3) - snake-case: 3.0.4 - transitivePeerDependencies: - - supports-color - - typescript - - '@svgr/hast-util-to-babel-ast@8.0.0': - dependencies: - '@babel/types': 7.27.6 - entities: 4.5.0 - - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.8.3))': - dependencies: - '@babel/core': 7.27.4 - '@svgr/babel-preset': 8.1.0(@babel/core@7.27.4) - '@svgr/core': 8.1.0(typescript@5.8.3) - '@svgr/hast-util-to-babel-ast': 8.0.0 - svg-parser: 2.0.4 - transitivePeerDependencies: - - supports-color - - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.8.3))(typescript@5.8.3)': - dependencies: - '@svgr/core': 8.1.0(typescript@5.8.3) - cosmiconfig: 8.3.6(typescript@5.8.3) - deepmerge: 4.3.1 - svgo: 3.3.2 - transitivePeerDependencies: - - typescript - - '@svgr/rollup@8.1.0(rollup@4.41.1)(typescript@5.8.3)': - dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.27.4) - '@babel/preset-env': 7.27.2(@babel/core@7.27.4) - '@babel/preset-react': 7.27.1(@babel/core@7.27.4) - '@babel/preset-typescript': 7.27.1(@babel/core@7.27.4) - '@rollup/pluginutils': 5.1.4(rollup@4.41.1) - '@svgr/core': 8.1.0(typescript@5.8.3) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3))(typescript@5.8.3) - transitivePeerDependencies: - - rollup - - supports-color - - typescript - '@swc/core-darwin-arm64@1.11.31': optional: true @@ -12054,6 +10928,7 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.11.31 '@swc/core-win32-ia32-msvc': 1.11.31 '@swc/core-win32-x64-msvc': 1.11.31 + optional: true '@swc/counter@0.1.3': {} @@ -12065,6 +10940,7 @@ snapshots: '@swc/types@0.1.21': dependencies: '@swc/counter': 0.1.3 + optional: true '@synthetixio/ethereum-wallet-mock@0.0.12(@depay/solana-web3.js@1.98.2)(@depay/web3-blockchains@9.8.6)(@playwright/test@1.52.0)(bufferutil@4.0.9)(ethers@5.8.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51)': dependencies: @@ -12227,8 +11103,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@trysound/sax@0.2.0': {} - '@tsconfig/node10@1.0.11': {} '@tsconfig/node12@1.0.11': {} @@ -12406,6 +11280,10 @@ snapshots: '@types/ms@2.1.0': {} + '@types/mute-stream@0.0.4': + dependencies: + '@types/node': 20.10.4 + '@types/node@10.17.60': {} '@types/node@12.20.55': {} @@ -12466,6 +11344,8 @@ snapshots: '@types/node': 20.10.4 '@types/send': 0.17.4 + '@types/snarkjs@0.7.9': {} + '@types/tinycolor2@1.4.6': {} '@types/trusted-types@2.0.7': {} @@ -12474,6 +11354,8 @@ snapshots: '@types/unist@3.0.3': {} + '@types/wrap-ansi@3.0.0': {} + '@types/yargs-parser@21.0.3': {} '@types/yargs@17.0.33': @@ -13167,6 +12049,19 @@ snapshots: '@zk-kit/artifacts@1.8.0': {} + '@zk-kit/artifacts@file:semaphore-noir/snark-artifacts/packages/artifacts(@types/snarkjs@0.7.9)(commander@13.1.0)': + dependencies: + '@commander-js/extra-typings': 12.1.0(commander@13.1.0) + '@inquirer/input': 2.3.0 + '@inquirer/select': 2.5.0 + '@noir-lang/noir_js': 1.0.0-beta.3 + circomkit: 0.2.1(@types/snarkjs@0.7.9)(snarkjs@0.7.4) + ora: 5.4.1 + snarkjs: 0.7.4 + transitivePeerDependencies: + - '@types/snarkjs' + - commander + '@zk-kit/baby-jubjub@1.0.3': dependencies: '@zk-kit/utils': 1.2.1 @@ -13417,30 +12312,6 @@ snapshots: cosmiconfig: 7.1.0 resolve: 1.22.10 - babel-plugin-polyfill-corejs2@0.4.13(@babel/core@7.27.4): - dependencies: - '@babel/compat-data': 7.27.5 - '@babel/core': 7.27.4 - '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.4) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.27.4): - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.4) - core-js-compat: 3.42.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.4(@babel/core@7.27.4): - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-define-polyfill-provider': 0.6.4(@babel/core@7.27.4) - transitivePeerDependencies: - - supports-color - babel-plugin-styled-components@2.1.4(@babel/core@7.27.4)(styled-components@5.3.11(@babel/core@7.27.4)(react-dom@18.3.1(react@18.3.1))(react-is@16.13.1)(react@18.3.1))(supports-color@5.5.0): dependencies: '@babel/helper-annotate-as-pure': 7.27.3 @@ -13492,6 +12363,12 @@ snapshots: buffers: 0.1.1 chainsaw: 0.1.0 + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + blake2b-wasm@2.4.0: dependencies: b4a: 1.6.7 @@ -13523,8 +12400,6 @@ snapshots: transitivePeerDependencies: - supports-color - boolbase@1.0.0: {} - bowser@2.11.0: {} boxen@5.1.2: @@ -13783,6 +12658,8 @@ snapshots: check-types@11.2.3: {} + child_process@1.0.2: {} + chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -13808,14 +12685,43 @@ snapshots: inherits: 2.0.4 safe-buffer: 5.2.1 + circom_runtime@0.1.21: + dependencies: + ffjavascript: 0.2.56 + circom_runtime@0.1.25: dependencies: ffjavascript: 0.3.0 + circom_tester@0.0.19: + dependencies: + chai: 4.5.0 + child_process: 1.0.2 + ffjavascript: 0.2.63 + fnv-plus: 1.3.1 + r1csfile: 0.0.41 + snarkjs: 0.5.0 + tmp-promise: 3.0.3 + util: 0.12.5 + + circomkit@0.2.1(@types/snarkjs@0.7.9)(snarkjs@0.7.4): + dependencies: + '@types/snarkjs': 0.7.9 + circom_tester: 0.0.19 + commander: 12.1.0 + loglevel: 1.9.2 + snarkjs: 0.7.4 + clean-stack@2.2.0: {} cli-boxes@2.2.1: {} + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-spinners@2.9.2: {} + cli-table3@0.5.1: dependencies: object-assign: 4.1.1 @@ -13829,6 +12735,8 @@ snapshots: optionalDependencies: '@colors/colors': 1.5.0 + cli-width@4.1.0: {} + client-only@0.0.1: {} clipboardy@1.2.2: @@ -13860,6 +12768,8 @@ snapshots: strip-ansi: 7.1.0 wrap-ansi: 9.0.0 + clone@1.0.4: {} + clsx@1.2.1: {} clsx@2.1.1: {} @@ -13998,10 +12908,6 @@ snapshots: cookie@0.7.2: {} - core-js-compat@3.42.0: - dependencies: - browserslist: 4.25.0 - core-util-is@1.0.3: {} cose-base@1.0.3: @@ -14102,38 +13008,14 @@ snapshots: css-color-keywords@1.0.0: {} - css-select@5.1.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 5.0.3 - domutils: 3.2.2 - nth-check: 2.1.1 - css-to-react-native@3.2.0: dependencies: camelize: 1.0.1 css-color-keywords: 1.0.0 postcss-value-parser: 4.2.0 - css-tree@2.2.1: - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.2.1 - - css-tree@2.3.1: - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.2.1 - - css-what@6.1.0: {} - cssesc@3.0.0: {} - csso@5.0.5: - dependencies: - css-tree: 2.2.1 - csstype@3.1.3: {} cytoscape-cose-bilkent@4.1.0(cytoscape@3.32.0): @@ -14361,7 +13243,9 @@ snapshots: deep-is@0.1.4: {} - deepmerge@4.3.1: {} + defaults@1.0.4: + dependencies: + clone: 1.0.4 defer-to-connect@2.0.1: {} @@ -14438,33 +13322,10 @@ snapshots: dependencies: esutils: 2.0.3 - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - domain-browser@4.22.0: {} - domelementtype@2.3.0: {} - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - dompurify@3.1.6: {} - domutils@3.2.2: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - - dot-case@3.0.4: - dependencies: - no-case: 3.0.4 - tslib: 2.8.1 - dotenv@16.5.0: {} dunder-proto@1.0.1: @@ -14548,8 +13409,6 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - entities@4.5.0: {} - entities@6.0.0: {} env-paths@2.2.1: {} @@ -14663,15 +13522,6 @@ snapshots: escape-string-regexp@5.0.0: {} - escodegen@1.14.3: - dependencies: - esprima: 4.0.1 - estraverse: 4.3.0 - esutils: 2.0.3 - optionator: 0.8.3 - optionalDependencies: - source-map: 0.6.1 - escodegen@1.8.1: dependencies: esprima: 2.7.3 @@ -14765,8 +13615,6 @@ snapshots: estraverse@1.9.3: {} - estraverse@4.3.0: {} - estraverse@5.3.0: {} estree-util-attach-comments@2.1.1: @@ -15107,6 +13955,18 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + ffjavascript@0.2.56: + dependencies: + wasmbuilder: 0.0.16 + wasmcurves: 0.2.0 + web-worker: 1.5.0 + + ffjavascript@0.2.63: + dependencies: + wasmbuilder: 0.0.16 + wasmcurves: 0.2.2 + web-worker: 1.2.0 + ffjavascript@0.3.0: dependencies: wasmbuilder: 0.0.16 @@ -15186,6 +14046,8 @@ snapshots: dependencies: imul: 1.0.1 + fnv-plus@1.3.1: {} + focus-visible@5.2.1: {} follow-redirects@1.15.9(debug@4.4.1): @@ -16078,6 +14940,8 @@ snapshots: is-hexadecimal@2.0.1: {} + is-interactive@1.0.0: {} + is-nan@1.3.2: dependencies: call-bind: 1.0.8 @@ -16194,8 +15058,6 @@ snapshots: jsesc@2.5.2: {} - jsesc@3.0.2: {} - jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -16332,8 +15194,6 @@ snapshots: lodash.clonedeep@4.5.0: {} - lodash.debounce@4.0.8: {} - lodash.get@4.4.2: {} lodash.isequal@4.5.0: {} @@ -16355,6 +15215,8 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 + loglevel@1.9.2: {} + logplease@1.2.15: {} longest-streak@3.1.0: {} @@ -16367,10 +15229,6 @@ snapshots: dependencies: get-func-name: 2.0.2 - lower-case@2.0.2: - dependencies: - tslib: 2.8.1 - lowercase-keys@3.0.0: {} lowlight@1.20.0: @@ -16673,10 +15531,6 @@ snapshots: dependencies: '@types/mdast': 4.0.4 - mdn-data@2.0.28: {} - - mdn-data@2.0.30: {} - media-typer@1.1.0: {} memorystream@0.3.1: {} @@ -17230,6 +16084,8 @@ snapshots: fmix: 0.1.0 imul: 1.0.1 + mute-stream@1.0.0: {} + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -17357,11 +16213,6 @@ snapshots: transitivePeerDependencies: - supports-color - no-case@3.0.4: - dependencies: - lower-case: 2.0.2 - tslib: 2.8.1 - node-addon-api@2.0.2: {} node-addon-api@5.1.0: {} @@ -17440,10 +16291,6 @@ snapshots: npm-to-yarn@2.2.1: {} - nth-check@2.1.1: - dependencies: - boolbase: 1.0.0 - number-to-bn@1.7.0: dependencies: bn.js: 4.11.6 @@ -17521,6 +16368,18 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + ordinal@1.0.3: {} os-browserify@0.3.0: {} @@ -17961,6 +16820,13 @@ snapshots: quick-lru@5.1.1: {} + r1csfile@0.0.41: + dependencies: + '@iden3/bigarray': 0.0.2 + '@iden3/binfileutils': 0.0.11 + fastfile: 0.0.20 + ffjavascript: 0.2.56 + r1csfile@0.0.48: dependencies: '@iden3/bigarray': 0.0.2 @@ -18120,21 +16986,6 @@ snapshots: parse-entities: 2.0.0 prismjs: 1.27.0 - regenerate-unicode-properties@10.2.0: - dependencies: - regenerate: 1.4.2 - - regenerate@1.4.2: {} - - regexpu-core@6.2.0: - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.0 - regjsgen: 0.8.0 - regjsparser: 0.12.0 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.0 - registry-auth-token@5.1.0: dependencies: '@pnpm/npm-conf': 2.3.1 @@ -18143,12 +16994,6 @@ snapshots: dependencies: rc: 1.2.8 - regjsgen@0.8.0: {} - - regjsparser@0.12.0: - dependencies: - jsesc: 3.0.2 - rehype-katex@7.0.1: dependencies: '@types/hast': 3.0.4 @@ -18280,6 +17125,11 @@ snapshots: dependencies: lowercase-keys: 3.0.0 + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + reusify@1.1.0: {} rimraf@2.7.1: @@ -18409,6 +17259,8 @@ snapshots: extend-shallow: 2.0.1 kind-of: 6.0.3 + semaphore-protocol@https://codeload.github.com/hashcloak/semaphore-noir/tar.gz/ba35c86c91b2e2ef4d099b61d38b3b5f9f581d1b: {} + semver@5.7.2: {} semver@6.3.1: {} @@ -18572,10 +17424,20 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - snake-case@3.0.4: + snark-artifacts-root@https://codeload.github.com/hashcloak/snark-artifacts/tar.gz/a3c1c28ead6b18098ef207c1c991df9f4f9a87b7: {} + + snarkjs@0.5.0: dependencies: - dot-case: 3.0.4 - tslib: 2.8.1 + '@iden3/binfileutils': 0.0.11 + bfj: 7.1.0 + blake2b-wasm: 2.4.0 + circom_runtime: 0.1.21 + ejs: 3.1.10 + fastfile: 0.0.20 + ffjavascript: 0.2.56 + js-sha3: 0.8.0 + logplease: 1.2.15 + r1csfile: 0.0.41 snarkjs@0.7.4: dependencies: @@ -18757,7 +17619,7 @@ snapshots: static-eval@2.0.2: dependencies: - escodegen: 1.14.3 + escodegen: 1.8.1 statuses@2.0.1: {} @@ -18929,18 +17791,6 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svg-parser@2.0.4: {} - - svgo@3.3.2: - dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 - css-select: 5.1.0 - css-tree: 2.3.1 - css-what: 6.1.0 - csso: 5.0.5 - picocolors: 1.1.1 - sync-request@6.1.0: dependencies: http-response-object: 3.0.2 @@ -19052,10 +17902,16 @@ snapshots: titleize@1.0.0: {} + tmp-promise@3.0.3: + dependencies: + tmp: 0.2.3 + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 + tmp@0.2.3: {} + to-fast-properties@2.0.0: {} to-regex-range@5.0.1: @@ -19268,17 +18124,6 @@ snapshots: dependencies: '@fastify/busboy': 2.1.1 - unicode-canonical-property-names-ecmascript@2.0.1: {} - - unicode-match-property-ecmascript@2.0.0: - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.1.0 - - unicode-match-property-value-ecmascript@2.2.0: {} - - unicode-property-aliases-ecmascript@2.1.0: {} - unified@10.1.2: dependencies: '@types/unist': 2.0.11 @@ -19460,8 +18305,6 @@ snapshots: is-typed-array: 1.1.15 which-typed-array: 1.1.19 - uuid@10.0.0: {} - uuid@8.3.2: {} uuid@9.0.1: {} @@ -19612,16 +18455,6 @@ snapshots: transitivePeerDependencies: - rollup - vite-plugin-top-level-await@1.5.0(rollup@4.41.1)(vite@5.4.19(@types/node@22.7.5)): - dependencies: - '@rollup/plugin-virtual': 3.0.2(rollup@4.41.1) - '@swc/core': 1.11.31 - uuid: 10.0.0 - vite: 5.4.19(@types/node@22.7.5) - transitivePeerDependencies: - - '@swc/helpers' - - rollup - vite-plugin-wasm@3.4.1(vite@5.4.19(@types/node@22.7.5)): dependencies: vite: 5.4.19(@types/node@22.7.5) @@ -19702,10 +18535,18 @@ snapshots: wasmbuilder@0.0.16: {} + wasmcurves@0.2.0: + dependencies: + wasmbuilder: 0.0.16 + wasmcurves@0.2.2: dependencies: wasmbuilder: 0.0.16 + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + web-namespaces@2.0.1: {} web-worker@1.2.0: {} @@ -19909,6 +18750,8 @@ snapshots: yocto-queue@0.1.0: {} + yoctocolors-cjs@2.1.2: {} + zksync-ethers@5.10.0(ethers@5.8.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: ethers: 5.8.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) diff --git a/semaphore-noir b/semaphore-noir new file mode 160000 index 0000000000..ba35c86c91 --- /dev/null +++ b/semaphore-noir @@ -0,0 +1 @@ +Subproject commit ba35c86c91b2e2ef4d099b61d38b3b5f9f581d1b From fd02cdc77f71d566e8294785da8ae390aea36110 Mon Sep 17 00:00:00 2001 From: Subh Date: Thu, 26 Jun 2025 15:24:59 +0530 Subject: [PATCH 2/2] Remove unused semaphore-noir submodule --- semaphore-noir | 1 - 1 file changed, 1 deletion(-) delete mode 160000 semaphore-noir diff --git a/semaphore-noir b/semaphore-noir deleted file mode 160000 index ba35c86c91..0000000000 --- a/semaphore-noir +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ba35c86c91b2e2ef4d099b61d38b3b5f9f581d1b