From 60491b0684eb5dff333bf54a12fec9fc448134fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20L=C3=B3pez?= <50665615+flopez7@users.noreply.github.com> Date: Fri, 20 Mar 2026 07:59:46 +0100 Subject: [PATCH 1/8] Remove GCV example package (#3838) Co-authored-by: flopez7 --- packages/examples/gcv/.env.example | 18 -- packages/examples/gcv/.gitignore | 44 ---- packages/examples/gcv/.prettierrc | 4 - packages/examples/gcv/README.md | 121 --------- packages/examples/gcv/eslint.config.mjs | 60 ----- packages/examples/gcv/jest.config.ts | 14 -- packages/examples/gcv/package.json | 33 --- packages/examples/gcv/src/constants/errors.ts | 20 -- packages/examples/gcv/src/dto/storage.ts | 8 - packages/examples/gcv/src/enums/storage.ts | 92 ------- .../examples/gcv/src/errors/controlled.ts | 13 - packages/examples/gcv/src/index.ts | 23 -- .../examples/gcv/src/utils/storage.spec.ts | 149 ------------ packages/examples/gcv/src/utils/storage.ts | 98 -------- .../examples/gcv/src/utils/vision.spec.ts | 229 ------------------ packages/examples/gcv/src/utils/vision.ts | 124 ---------- packages/examples/gcv/tsconfig.json | 23 -- yarn.lock | 23 -- 18 files changed, 1096 deletions(-) delete mode 100644 packages/examples/gcv/.env.example delete mode 100644 packages/examples/gcv/.gitignore delete mode 100644 packages/examples/gcv/.prettierrc delete mode 100644 packages/examples/gcv/README.md delete mode 100644 packages/examples/gcv/eslint.config.mjs delete mode 100644 packages/examples/gcv/jest.config.ts delete mode 100644 packages/examples/gcv/package.json delete mode 100644 packages/examples/gcv/src/constants/errors.ts delete mode 100644 packages/examples/gcv/src/dto/storage.ts delete mode 100644 packages/examples/gcv/src/enums/storage.ts delete mode 100644 packages/examples/gcv/src/errors/controlled.ts delete mode 100644 packages/examples/gcv/src/index.ts delete mode 100644 packages/examples/gcv/src/utils/storage.spec.ts delete mode 100644 packages/examples/gcv/src/utils/storage.ts delete mode 100644 packages/examples/gcv/src/utils/vision.spec.ts delete mode 100644 packages/examples/gcv/src/utils/vision.ts delete mode 100644 packages/examples/gcv/tsconfig.json diff --git a/packages/examples/gcv/.env.example b/packages/examples/gcv/.env.example deleted file mode 100644 index 5912b08eaf..0000000000 --- a/packages/examples/gcv/.env.example +++ /dev/null @@ -1,18 +0,0 @@ -# GCV -GOOGLE_PROJECT_ID= -GOOGLE_PRIVATE_KEY_ID= -GOOGLE_PRIVATE_KEY= -GOOGLE_CLIENT_EMAIL= -GOOGLE_CLIENT_ID= -GOOGLE_AUTH_URI= -GOOGLE_TOKEN_URI= -GOOGLE_AUTH_PROVIDER_X509_CERT_URL= -GOOGLE_CLIENT_X509_CERT_URL= - -# S3 -S3_ENDPOINT=localhost -S3_PORT=9000 -S3_ACCESS_KEY=access-key -S3_SECRET_KEY=secret-key -S3_BUCKET=manifests -S3_USE_SSL=false \ No newline at end of file diff --git a/packages/examples/gcv/.gitignore b/packages/examples/gcv/.gitignore deleted file mode 100644 index a17018a7e2..0000000000 --- a/packages/examples/gcv/.gitignore +++ /dev/null @@ -1,44 +0,0 @@ -# compiled output -/dist -/node_modules - -# Logs -logs -*.log -npm-debug.log* -pnpm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# OS -.DS_Store - -# Tests -/coverage -/.nyc_output - -# IDEs and editors -/.idea -.project -.classpath -.c9/ -*.launch -.settings/ -*.sublime-workspace - -# IDE - VSCode -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json - -.env.development -.env.production - -# Postgres Data -db - -# Results Data -results.json \ No newline at end of file diff --git a/packages/examples/gcv/.prettierrc b/packages/examples/gcv/.prettierrc deleted file mode 100644 index a20502b7f0..0000000000 --- a/packages/examples/gcv/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "singleQuote": true, - "trailingComma": "all" -} diff --git a/packages/examples/gcv/README.md b/packages/examples/gcv/README.md deleted file mode 100644 index 9b6f91f4b0..0000000000 --- a/packages/examples/gcv/README.md +++ /dev/null @@ -1,121 +0,0 @@ -# Images Content Moderation - -Images Content Moderation is a module that uses the Google Cloud Vision API to analyze images for moderation purposes. It can assess images for adult, violent, racy, spoof, and medical content, saving the results in a JSON file. The module is designed to help detect potentially inappropriate content in image datasets stored in a remote bucket. - -## Table of Contents - -- [Prerequisites](#prerequisites) -- [Installation](#installation) -- [Usage](#usage) -- [Methods](#methods) -- [Example Output](#example-output) - -## Prerequisites - -- [Node.js](https://nodejs.org/) (version 14 or higher) -- [Google Cloud Vision API](https://cloud.google.com/vision) enabled and credentials for access - -## Installation - -1. Clone the repository: - ```bash - git clone https://github.com/humanprotocol/human-protocol.git - ``` - -2. Navigate to the project directory: - ```bash - cd human-protocol/packages/examples/gcv - ``` - -3. Install dependencies: - ```bash - npm install - ``` - -4. Set up your Google Cloud Vision API credentials: - ```bash - Create a `.env` file in the project directory (or rename `.env.example` to `.env`) and add your credentials. - ``` - -## Usage - -To use the `VisionModeration` class, import and create an instance by providing the necessary credentials. Then, call `processDataset` with your dataset. - -Example usage: - -```typescript -import { VisionModeration } from './VisionModeration'; -import { StorageDataDto } from './dto/storage'; - -const visionModeration = new VisionModeration('your-project-id', 'your-private-key', 'your-client-email'); -const storageData = new StorageDataDto('your-bucket-name', 'your-folder-name'); - -visionModeration.processDataset(storageData) - .then(response => { - console.log('Moderation Results:', response); - }) - .catch(error => { - console.error('Error processing dataset:', error); - }); -``` - -## Methods - -### `analyzeImagesForModeration(imageUrls: string[]): Promise` -Analyzes a list of image URLs for moderation using the Google Cloud Vision API. - -- **Parameters:** `imageUrls` - an array of URLs pointing to images in the dataset -- **Returns:** a list of moderation results, including scores for adult, violence, racy, spoof, and medical content. - -### `saveResultsToJson(results: any[], jsonFilePath: string)` -Saves the moderation results to a JSON file at the specified path. - -- **Parameters:** - - `results`: the moderation results to save - - `jsonFilePath`: the path where the JSON file should be saved - -### `processDataset(storageData: StorageDataDto): Promise<{ containsAbuse: string; abuseResultsFile: string }>` -Processes all images in the dataset, analyzes them for inappropriate content, and saves results to `results.json`. It returns whether any abusive content was detected. - -- **Parameters:** `storageData` - an object containing details about the storage dataset -- **Returns:** an object with: - - `containsAbuse`: `"true"` if any content is marked as abusive, `"false"` otherwise - - `abuseResultsFile`: the path to `results.json` - -## Example Output - -Example content of `results.json` file: - -```json -[ - { - "imageUrl": "https://yourapp.com/bucket/abuse.jpg", - "moderationResult": { - "adult": "VERY_LIKELY", - "violence": "VERY_UNLIKELY", - "racy": "VERY_LIKELY", - "spoof": "VERY_UNLIKELY", - "medical": "LIKELY" - } - }, - { - "imageUrl": "https://yourapp.com/bucket/cat.jpg", - "moderationResult": { - "adult": "VERY_UNLIKELY", - "violence": "UNLIKELY", - "racy": "VERY_UNLIKELY", - "spoof": "POSSIBLE", - "medical": "VERY_UNLIKELY" - } - } -] -``` - -Example response from `processDataset`: - -```json -{ - "containsAbuse": "true", - "abuseResultsFile": "./results.json" -} -``` \ No newline at end of file diff --git a/packages/examples/gcv/eslint.config.mjs b/packages/examples/gcv/eslint.config.mjs deleted file mode 100644 index c127f82b7f..0000000000 --- a/packages/examples/gcv/eslint.config.mjs +++ /dev/null @@ -1,60 +0,0 @@ -import eslint from '@eslint/js'; -import globals from 'globals'; -import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; -import jestPlugin from 'eslint-plugin-jest'; -import tseslint from 'typescript-eslint'; - -/** @type {import('eslint').Linter.FlatConfig[]} */ -const config = tseslint.config( - { - ignores: ['dist', 'node_modules'], - }, - eslint.configs.recommended, - tseslint.configs.recommended, - eslintPluginPrettierRecommended, - { - files: ['**/*.ts', '**/*.js'], - languageOptions: { - globals: { - ...globals.node, - ...globals.es2022, - }, - ecmaVersion: 2022, - sourceType: 'module', - parserOptions: { - projectService: true, - tsconfigRootDir: import.meta.dirname, - }, - }, - plugins: { - jest: jestPlugin, - }, - rules: { - 'no-useless-assignment': 'off', - 'preserve-caught-error': 'off', - '@typescript-eslint/interface-name-prefix': 'off', - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-empty-function': 'off', - '@/quotes': [ - 'error', - 'single', - { avoidEscape: true, allowTemplateLiterals: true }, - ], - }, - }, - { - files: ['**/*.spec.ts', '**/*.spec.tsx', '**/*.test.ts', '**/*.test.tsx'], - languageOptions: { - globals: { - ...globals.jest, - }, - }, - plugins: { - jest: jestPlugin, - }, - }, -); - -export default config; diff --git a/packages/examples/gcv/jest.config.ts b/packages/examples/gcv/jest.config.ts deleted file mode 100644 index 43fd9c5a46..0000000000 --- a/packages/examples/gcv/jest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - coverageDirectory: '../coverage', - collectCoverageFrom: ['**/*.(t|j)s'], - moduleFileExtensions: ['js', 'json', 'ts'], - rootDir: 'src', - testEnvironment: 'node', - testRegex: '.*\\.spec\\.ts$', - transform: { - '^.+\\.(t|j)s$': 'ts-jest', - }, - moduleNameMapper: { - '^uuid$': require.resolve('uuid'), - }, -}; diff --git a/packages/examples/gcv/package.json b/packages/examples/gcv/package.json deleted file mode 100644 index 520ea20f57..0000000000 --- a/packages/examples/gcv/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "@apps/gcv", - "private": true, - "version": "1.0.0", - "license": "UNLICENSED", - "scripts": { - "clean": "tsc --build --clean && rm -rf dist", - "build": "tsc --build", - "start": "node dist/src/index.js", - "test": "jest", - "lint": "eslint \"{src,test}/**/*.ts\" --fix" - }, - "dependencies": { - "@google-cloud/vision": "^4.3.2", - "@nestjs/common": "^11.1.12", - "axios": "^1.7.2", - "dotenv": "^17.2.2", - "xml2js": "^0.6.2" - }, - "devDependencies": { - "@eslint/js": "^10.0.1", - "@types/xml2js": "^0.4.14", - "eslint": "^10.0.3", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-jest": "^29.15.0", - "eslint-plugin-prettier": "^5.5.5", - "globals": "^16.3.0", - "jest": "^29.7.0", - "prettier": "^3.8.1", - "typescript": "^5.8.3", - "typescript-eslint": "^8.57.0" - } -} diff --git a/packages/examples/gcv/src/constants/errors.ts b/packages/examples/gcv/src/constants/errors.ts deleted file mode 100644 index 762e5d153d..0000000000 --- a/packages/examples/gcv/src/constants/errors.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Represents common error messages. - */ -export enum ErrorCommon { - ErrorProcessingDataset = 'Error processing dataset', -} - -/** - * Represents error messages related to bucket. - */ -export enum ErrorBucket { - NotExist = 'Bucket does not exist', - NotPublic = 'Bucket is not public', - UnableSaveFile = 'Unable to save file', - InvalidProvider = 'Invalid storage provider', - EmptyRegion = 'Region cannot be empty for this storage provider', - InvalidRegion = 'Invalid region for the storage provider', - EmptyBucket = 'bucketName cannot be empty', - FailedToFetchBucketContents = 'Failed to fetch bucket contents', -} diff --git a/packages/examples/gcv/src/dto/storage.ts b/packages/examples/gcv/src/dto/storage.ts deleted file mode 100644 index bc2d8d17da..0000000000 --- a/packages/examples/gcv/src/dto/storage.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { AWSRegions, StorageProviders } from '../enums/storage'; - -export class StorageDataDto { - public provider: StorageProviders; - public region: AWSRegions | null; - public bucketName: string; - public path: string; -} diff --git a/packages/examples/gcv/src/enums/storage.ts b/packages/examples/gcv/src/enums/storage.ts deleted file mode 100644 index 19d763dbe6..0000000000 --- a/packages/examples/gcv/src/enums/storage.ts +++ /dev/null @@ -1,92 +0,0 @@ -export enum StorageProviders { - AWS = 'AWS', - GCS = 'GCS', - LOCAL = 'LOCAL', -} - -export enum AWSRegions { - AF_SOUTH_1 = 'af-south-1', - AP_EAST_1 = 'ap-east-1', - AP_NORTHEAST_1 = 'ap-northeast-1', - AP_NORTHEAST_2 = 'ap-northeast-2', - AP_NORTHEAST_3 = 'ap-northeast-3', - AP_SOUTH_1 = 'ap-south-1', - AP_SOUTH_2 = 'ap-south-2', - AP_SOUTHEAST_1 = 'ap-southeast-1', - AP_SOUTHEAST_2 = 'ap-southeast-2', - AP_SOUTHEAST_3 = 'ap-southeast-3', - AP_SOUTHEAST_4 = 'ap-southeast-4', - CA_CENTRAL_1 = 'ca-central-1', - CN_NORTH_1 = 'cn-north-1', - CN_NORTHWEST_1 = 'cn-northwest-1', - EU_CENTRAL_1 = 'eu-central-1', - EU_CENTRAL_2 = 'eu-central-2', - EU_NORTH_1 = 'eu-north-1', - EU_SOUTH_1 = 'eu-south-1', - EU_SOUTH_2 = 'eu-south-2', - EU_WEST_1 = 'eu-west-1', - EU_WEST_2 = 'eu-west-2', - EU_WEST_3 = 'eu-west-3', - IL_CENTRAL_1 = 'il-central-1', - ME_CENTRAL_1 = 'me-central-1', - ME_SOUTH_1 = 'me-south-1', - SA_EAST_1 = 'sa-east-1', - US_EAST_1 = 'us-east-1', - US_EAST_2 = 'us-east-2', - US_GOV_EAST_1 = 'us-gov-east-1', - US_GOV_WEST_1 = 'us-gov-west-1', - US_WEST_1 = 'us-west-1', - US_WEST_2 = 'us-west-2', -} - -export enum GCSRegions { - ASIA_EAST1 = 'asia-east1', // Taiwan - ASIA_EAST2 = 'asia-east2', // Hong Kong - ASIA_NORTHEAST1 = 'asia-northeast1', // Tokyo - ASIA_NORTHEAST2 = 'asia-northeast2', // Osaka - ASIA_NORTHEAST3 = 'asia-northeast3', // Seoul - ASIA_SOUTH1 = 'asia-south1', // Bombay - ASIA_SOUTH2 = 'asia-south2', // Delhi - ASIA_SOUTHEAST1 = 'asia-southeast1', // Singapore - ASIA_SOUTHEAST2 = 'asia-southeast2', // Jakarta - AUSTRALIA_SOUTHEAST1 = 'australia-southeast1', // Sydney - AUSTRALIA_SOUTHEAST2 = 'australia-southeast2', // Melbourne - EUROPE_CENTRAL2 = 'europe-central2', // Warsaw - EUROPE_NORTH1 = 'europe-north1', // Finland (Low CO2 footprint) - EUROPE_SOUTHWEST1 = 'europe-southwest1', // Madrid - EUROPE_WEST1 = 'europe-west1', // Belgium (Low CO2 footprint) - EUROPE_WEST2 = 'europe-west2', // London (Low CO2 footprint) - EUROPE_WEST3 = 'europe-west3', // Frankfurt (Low CO2 footprint) - EUROPE_WEST4 = 'europe-west4', // Netherlands - EUROPE_WEST6 = 'europe-west6', // Zurich (Low CO2 footprint) - EUROPE_WEST8 = 'europe-west8', // Milan - EUROPE_WEST9 = 'europe-west9', // Paris (Low CO2 footprint) - EUROPE_WEST10 = 'europe-west10', // Berlin - EUROPE_WEST12 = 'europe-west12', // Turin - ME_CENTRAL1 = 'me-central1', // Doha - ME_CENTRAL2 = 'me-central2', // Dammam, Saudi Arabia - ME_WEST1 = 'me-west1', // Tel Aviv - NORTHAMERICA_NORTHEAST1 = 'northamerica-northeast1', // Montreal (Low CO2 footprint) - NORTHAMERICA_NORTHEAST2 = 'northamerica-northeast2', // Toronto (Low CO2 footprint) - SOUTHAMERICA_EAST1 = 'southamerica-east1', // São Paulo (Low CO2 footprint) - SOUTHAMERICA_WEST1 = 'southamerica-west1', // Santiago (Low CO2 footprint) - US_CENTRAL1 = 'us-central1', // Iowa (Low CO2 footprint) - US_EAST1 = 'us-east1', // South Carolina - US_EAST4 = 'us-east4', // Northern Virginia - US_EAST5 = 'us-east5', // Columbus - US_SOUTH1 = 'us-south1', // Dallas - US_WEST1 = 'us-west1', // Oregon (Low CO2 footprint) - US_WEST2 = 'us-west2', // Los Angeles - US_WEST3 = 'us-west3', // Salt Lake City - US_WEST4 = 'us-west4', // Las Vegas -} - -export enum ContentType { - TEXT_PLAIN = 'text/plain', - APPLICATION_JSON = 'application/json', -} - -export enum Extension { - JSON = '.json', - ZIP = '.zip', -} diff --git a/packages/examples/gcv/src/errors/controlled.ts b/packages/examples/gcv/src/errors/controlled.ts deleted file mode 100644 index 32cc401c90..0000000000 --- a/packages/examples/gcv/src/errors/controlled.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { HttpStatus } from '@nestjs/common'; - -export class ControlledError extends Error { - status: HttpStatus; - - constructor(message: string, status: HttpStatus, stack?: string) { - super(message); - this.name = this.constructor.name; - this.status = status; - if (stack) this.stack = stack; - else Error.captureStackTrace(this, this.constructor); - } -} diff --git a/packages/examples/gcv/src/index.ts b/packages/examples/gcv/src/index.ts deleted file mode 100644 index a01941c778..0000000000 --- a/packages/examples/gcv/src/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as dotenv from 'dotenv'; -import { StorageProviders } from './enums/storage'; -import { StorageDataDto } from './dto/storage'; -import { VisionModeration } from './utils/vision'; - -dotenv.config(); - -const visionModeration = new VisionModeration( - process.env.GOOGLE_PROJECT_ID!, - process.env.GOOGLE_PRIVATE_KEY!.replace(/\\n/g, '\n')!, - process.env.GOOGLE_CLIENT_EMAIL!, -); - -(async () => { - const storageData: StorageDataDto = { - provider: StorageProviders.LOCAL, - region: null, - bucketName: process.env.S3_BUCKET!, - path: '', - }; - - console.log(await visionModeration.processDataset(storageData)); -})(); diff --git a/packages/examples/gcv/src/utils/storage.spec.ts b/packages/examples/gcv/src/utils/storage.spec.ts deleted file mode 100644 index 319e89ccee..0000000000 --- a/packages/examples/gcv/src/utils/storage.spec.ts +++ /dev/null @@ -1,149 +0,0 @@ -import { HttpStatus } from '@nestjs/common'; -import axios from 'axios'; -import { parseString } from 'xml2js'; -import { generateBucketUrl, listObjectsInBucket } from './storage'; -import { StorageDataDto } from '../dto/storage'; -import { AWSRegions, StorageProviders } from '../enums/storage'; -import { ErrorBucket } from '../constants/errors'; - -jest.mock('axios'); -jest.mock('xml2js'); - -describe('Storage Utils', () => { - describe('generateBucketUrl', () => { - it('should generate AWS bucket URL with path', () => { - const storageData: StorageDataDto = { - provider: StorageProviders.AWS, - region: AWSRegions.US_EAST_1, - bucketName: 'my-bucket', - path: 'my/path/', - }; - const result = generateBucketUrl(storageData); - expect(result.toString()).toBe( - 'https://my-bucket.s3.us-east-1.amazonaws.com/my/path', - ); - }); - - it('should generate GCS bucket URL without path', () => { - const storageData: StorageDataDto = { - provider: StorageProviders.GCS, - region: null, - bucketName: 'my-bucket', - path: '', - }; - const result = generateBucketUrl(storageData); - expect(result.toString()).toBe( - 'https://my-bucket.storage.googleapis.com/', - ); - }); - - it('should generate local bucket URL', () => { - process.env.S3_ENDPOINT = 'localhost'; - process.env.S3_PORT = '9000'; - const storageData: StorageDataDto = { - provider: StorageProviders.LOCAL, - region: null, - bucketName: 'my-local-bucket', - path: 'path/to/file', - }; - const result = generateBucketUrl(storageData); - expect(result.toString()).toBe( - 'http://localhost:9000/my-local-bucket/path/to/file', - ); - }); - - it('should throw an error for invalid provider', () => { - const storageData: StorageDataDto = { - provider: 'INVALID_PROVIDER' as StorageProviders, - region: null, - bucketName: 'my-bucket', - path: '', - }; - expect(() => generateBucketUrl(storageData)).toThrow( - ErrorBucket.InvalidProvider, - ); - }); - - it('should throw an error for empty bucket name', () => { - const storageData: StorageDataDto = { - provider: StorageProviders.AWS, - region: AWSRegions.US_EAST_1, - bucketName: '', - path: '', - }; - expect(() => generateBucketUrl(storageData)).toThrow( - ErrorBucket.EmptyBucket, - ); - }); - - it('should throw an error for empty region in AWS', () => { - const storageData: StorageDataDto = { - provider: StorageProviders.AWS, - region: null, - bucketName: 'my-bucket', - path: '', - }; - expect(() => generateBucketUrl(storageData)).toThrow( - ErrorBucket.EmptyRegion, - ); - }); - - it('should throw an error for invalid region', () => { - const storageData: StorageDataDto = { - provider: StorageProviders.AWS, - region: 'INVALID_REGION' as AWSRegions, - bucketName: 'my-bucket', - path: '', - }; - expect(() => generateBucketUrl(storageData)).toThrow( - ErrorBucket.InvalidRegion, - ); - }); - }); - - describe('listObjectsInBucket', () => { - it('should return object keys when API responds with valid data', async () => { - const mockUrl = new URL('https://my-bucket.s3.us-east-1.amazonaws.com'); - const mockResponse = { - status: HttpStatus.OK, - data: 'file1.txtfile2.txt', - }; - - (axios.get as jest.Mock).mockResolvedValue(mockResponse); - (parseString as jest.Mock).mockImplementation((data, callback) => { - callback(null, { - ListBucketResult: { - Contents: [{ Key: 'file1.txt' }, { Key: 'file2.txt' }], - }, - }); - }); - - const result = await listObjectsInBucket(mockUrl); - expect(result).toEqual(['file1.txt', 'file2.txt']); - }); - - it('should handle errors from the axios request', async () => { - const mockUrl = new URL('https://my-bucket.s3.us-east-1.amazonaws.com'); - (axios.get as jest.Mock).mockRejectedValue(new Error('Network Error')); - - await expect(listObjectsInBucket(mockUrl)).rejects.toThrow( - 'Network Error', - ); - }); - - it('should handle errors when parsing XML', async () => { - const mockUrl = new URL('https://my-bucket.s3.us-east-1.amazonaws.com'); - const mockResponse = { - status: HttpStatus.OK, - data: '', - }; - - (axios.get as jest.Mock).mockResolvedValue(mockResponse); - (parseString as jest.Mock).mockImplementation((data, callback) => { - callback(new Error('Parse Error'), null); - }); - - await expect(listObjectsInBucket(mockUrl)).rejects.toThrow('Parse Error'); - }); - }); -}); diff --git a/packages/examples/gcv/src/utils/storage.ts b/packages/examples/gcv/src/utils/storage.ts deleted file mode 100644 index f0976d74d8..0000000000 --- a/packages/examples/gcv/src/utils/storage.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { HttpStatus } from '@nestjs/common'; -import axios from 'axios'; -import { parseString } from 'xml2js'; -import { AWSRegions, StorageProviders } from '../enums/storage'; -import { StorageDataDto } from '../dto/storage'; -import { ErrorBucket } from '../constants/errors'; - -export function generateBucketUrl(storageData: StorageDataDto): URL { - if ( - storageData.provider != StorageProviders.AWS && - storageData.provider != StorageProviders.GCS && - storageData.provider != StorageProviders.LOCAL - ) { - throw new Error(ErrorBucket.InvalidProvider); - } - if (!storageData.bucketName) { - throw new Error(ErrorBucket.EmptyBucket); - } - switch (storageData.provider) { - case StorageProviders.AWS: - if (!storageData.region) { - throw new Error(ErrorBucket.EmptyRegion); - } - if (!isRegion(storageData.region)) { - throw new Error(ErrorBucket.InvalidRegion); - } - return new URL( - `https://${storageData.bucketName}.s3.${ - storageData.region - }.amazonaws.com${ - storageData.path ? `/${storageData.path.replace(/\/$/, '')}` : '' - }`, - ); - case StorageProviders.GCS: - return new URL( - `https://${storageData.bucketName}.storage.googleapis.com${ - storageData.path ? `/${storageData.path}` : '' - }`, - ); - case StorageProviders.LOCAL: - return new URL( - `http://${process.env.S3_ENDPOINT}:${process.env.S3_PORT}/${storageData.bucketName}${ - storageData.path ? `/${storageData.path}` : '' - }`, - ); - default: - throw new Error(ErrorBucket.InvalidProvider); - } -} - -function isRegion(value: string): value is AWSRegions { - return Object.values(AWSRegions).includes(value as AWSRegions); -} - -export async function listObjectsInBucket(url: URL): Promise { - let objects: string[] = []; - let nextContinuationToken: string | undefined; - const baseUrl = `${url.protocol}//${url.host}/`; - do { - let requestOptions = `${baseUrl}`; - - if (url.hostname !== 'localhost' && url.hostname !== '127.0.0.1') { - requestOptions += `?list-type=2${ - nextContinuationToken - ? `&continuation-token=${encodeURIComponent(nextContinuationToken)}` - : '' - }${url.pathname ? `&prefix=${url.pathname.replace(/^\//, '')}` : ''}`; - } else { - requestOptions += `${url.pathname ? `${url.pathname.replace(/^\//, '')}` : ''}?list-type=2${ - nextContinuationToken - ? `&continuation-token=${encodeURIComponent(nextContinuationToken)}` - : '' - }`; - } - - const response = await axios.get(requestOptions); - - if (response.status === HttpStatus.OK && response.data) { - parseString(response.data, (err: any, result: any) => { - if (err) { - throw new Error(err); - } - nextContinuationToken = result.ListBucketResult.NextContinuationToken - ? result.ListBucketResult.NextContinuationToken[0] - : undefined; - - const objectKeys = result.ListBucketResult.Contents?.map( - (item: any) => item.Key, - ); - - objects = objects.concat(objectKeys?.flat()); - }); - } else { - throw new Error(ErrorBucket.FailedToFetchBucketContents); - } - } while (nextContinuationToken); - return objects; -} diff --git a/packages/examples/gcv/src/utils/vision.spec.ts b/packages/examples/gcv/src/utils/vision.spec.ts deleted file mode 100644 index 772d1979a6..0000000000 --- a/packages/examples/gcv/src/utils/vision.spec.ts +++ /dev/null @@ -1,229 +0,0 @@ -import * as fs from 'fs'; -import { ImageAnnotatorClient } from '@google-cloud/vision'; -import { generateBucketUrl, listObjectsInBucket } from './storage'; -import { StorageDataDto } from '../dto/storage'; -import { VisionModeration } from './vision'; -import { ErrorCommon } from '../constants/errors'; -import { AWSRegions, StorageProviders } from '../enums/storage'; - -jest.mock('fs'); -jest.mock('@google-cloud/vision'); -jest.mock('./storage'); - -describe('VisionModeration', () => { - let visionModeration: VisionModeration; - let mockBatchAnnotateImages: jest.Mock; - - beforeEach(() => { - mockBatchAnnotateImages = jest.fn(); - (ImageAnnotatorClient as unknown as jest.Mock).mockImplementation(() => ({ - batchAnnotateImages: mockBatchAnnotateImages, - })); - - visionModeration = new VisionModeration( - 'test-project-id', - 'test-private-key', - 'test-client-email', - ); - }); - - afterEach(() => { - jest.clearAllMocks(); - }); - - describe('analyzeImagesForModeration', () => { - it('should return moderation results for a batch of valid image URLs', async () => { - const mockResponses = { - responses: [ - { - safeSearchAnnotation: { - adult: 'LIKELY', - violence: 'VERY_UNLIKELY', - racy: 'UNLIKELY', - spoof: 'POSSIBLE', - medical: 'VERY_UNLIKELY', - }, - }, - { - safeSearchAnnotation: { - adult: 'VERY_LIKELY', - violence: 'LIKELY', - racy: 'VERY_UNLIKELY', - spoof: 'UNLIKELY', - medical: 'VERY_UNLIKELY', - }, - }, - ], - }; - mockBatchAnnotateImages.mockResolvedValue([mockResponses]); - - const result = await visionModeration.analyzeImagesForModeration([ - 'http://test.com/image1.jpg', - 'http://test.com/image2.jpg', - ]); - - expect(result).toEqual([ - { - imageUrl: 'http://test.com/image1.jpg', - moderationResult: { - adult: 'LIKELY', - violence: 'VERY_UNLIKELY', - racy: 'UNLIKELY', - spoof: 'POSSIBLE', - medical: 'VERY_UNLIKELY', - }, - }, - { - imageUrl: 'http://test.com/image2.jpg', - moderationResult: { - adult: 'VERY_LIKELY', - violence: 'LIKELY', - racy: 'VERY_UNLIKELY', - spoof: 'UNLIKELY', - medical: 'VERY_UNLIKELY', - }, - }, - ]); - }); - - it('should return an empty array if no moderation results are found', async () => { - mockBatchAnnotateImages.mockResolvedValue([ - { - responses: [{}], // No safeSearchAnnotation - }, - ]); - - const result = await visionModeration.analyzeImagesForModeration([ - 'http://test.com/image.jpg', - ]); - - expect(result).toEqual([]); - }); - - it('should return an empty array if an error occurs', async () => { - mockBatchAnnotateImages.mockRejectedValue(new Error('API Error')); - - const result = await visionModeration.analyzeImagesForModeration([ - 'http://test.com/image.jpg', - ]); - - expect(result).toEqual([]); - expect(mockBatchAnnotateImages).toHaveBeenCalled(); - }); - }); - - describe('saveResultsToJson', () => { - it('should overwrite results in the JSON file', () => { - const results = [ - { imageUrl: 'http://test.com/image1.jpg', moderationResult: {} }, - ]; - const jsonFilePath = './results.json'; - - visionModeration.saveResultsToJson(results, jsonFilePath); - - expect(fs.writeFileSync).toHaveBeenCalledWith( - jsonFilePath, - JSON.stringify(results, null, 2), - ); - }); - }); - - describe('processDataset', () => { - it('should process all images in the dataset and save results', async () => { - const mockBucketUrl = { - protocol: 'http:', - host: 'test-bucket.s3.amazonaws.com', - pathname: '/images', - }; - const mockObjectKeys = ['image1.jpg', 'image2.jpg']; - const mockModerationResults = [ - { - imageUrl: 'http://test.com/image1.jpg', - moderationResult: { adult: 'LIKELY' }, - }, - { - imageUrl: 'http://test.com/image2.jpg', - moderationResult: { adult: 'VERY_LIKELY' }, - }, - ]; - - (generateBucketUrl as jest.Mock).mockReturnValue(mockBucketUrl); - (listObjectsInBucket as jest.Mock).mockResolvedValue(mockObjectKeys); - - jest - .spyOn(visionModeration, 'analyzeImagesForModeration') - .mockResolvedValue(mockModerationResults); - - jest.spyOn(visionModeration, 'saveResultsToJson'); - - const storageData: StorageDataDto = { - provider: StorageProviders.AWS, - region: AWSRegions.AF_SOUTH_1, - bucketName: 'test-bucket', - path: 'images', - }; - - const result = await visionModeration.processDataset(storageData); - - expect(generateBucketUrl).toHaveBeenCalledWith(storageData); - expect(listObjectsInBucket).toHaveBeenCalledWith(mockBucketUrl); - expect(visionModeration.saveResultsToJson).toHaveBeenCalledWith( - mockModerationResults, - './results.json', - ); - expect(result).toEqual({ - containsAbuse: 'true', - abuseResultsFile: './results.json', - }); - }); - - it('should return false for containsAbuse if no abusive content is detected', async () => { - const mockBucketUrl = { - protocol: 'http:', - host: 'test-bucket.s3.amazonaws.com', - pathname: '/images', - }; - const mockObjectKeys = ['image1.jpg']; - const mockModerationResults = [ - { - imageUrl: 'http://test.com/image1.jpg', - moderationResult: { adult: 'LIKELY' }, - }, - ]; - - (generateBucketUrl as jest.Mock).mockReturnValue(mockBucketUrl); - (listObjectsInBucket as jest.Mock).mockResolvedValue(mockObjectKeys); - jest - .spyOn(visionModeration, 'analyzeImagesForModeration') - .mockResolvedValue(mockModerationResults); - - const storageData: StorageDataDto = { - provider: StorageProviders.AWS, - region: AWSRegions.AF_SOUTH_1, - bucketName: 'test-bucket', - path: 'images', - }; - - const result = await visionModeration.processDataset(storageData); - - expect(result.containsAbuse).toBe('false'); - }); - - it('should throw an error if processing fails', async () => { - (listObjectsInBucket as jest.Mock).mockRejectedValue( - new Error('Error listing objects'), - ); - - const storageData: StorageDataDto = { - provider: StorageProviders.AWS, - region: AWSRegions.AF_SOUTH_1, - bucketName: 'test-bucket', - path: 'images', - }; - - await expect( - visionModeration.processDataset(storageData), - ).rejects.toThrow(ErrorCommon.ErrorProcessingDataset); - }); - }); -}); diff --git a/packages/examples/gcv/src/utils/vision.ts b/packages/examples/gcv/src/utils/vision.ts deleted file mode 100644 index d4c2203ab4..0000000000 --- a/packages/examples/gcv/src/utils/vision.ts +++ /dev/null @@ -1,124 +0,0 @@ -import * as fs from 'fs'; -import { ImageAnnotatorClient, protos } from '@google-cloud/vision'; -import { generateBucketUrl, listObjectsInBucket } from './storage'; -import { StorageDataDto } from '../dto/storage'; -import { ErrorCommon } from '../constants/errors'; - -export class VisionModeration { - private visionClient: ImageAnnotatorClient; - - constructor(projectId: string, privateKey: string, clientEmail: string) { - this.visionClient = new ImageAnnotatorClient({ - projectId, - credentials: { - private_key: privateKey, - client_email: clientEmail, - }, - }); - } - - /** - * Analyze a batch of remote images for moderation using Google Cloud Vision API. - */ - public async analyzeImagesForModeration(imageUrls: string[]): Promise { - const batchRequest: protos.google.cloud.vision.v1.IBatchAnnotateImagesRequest = - { - requests: imageUrls.map((imageUrl) => ({ - image: { source: { imageUri: imageUrl } }, - features: [{ type: 'SAFE_SEARCH_DETECTION' }], - })), - }; - - try { - const [responses]: any = - await this.visionClient.batchAnnotateImages(batchRequest); - console.log(responses); - return responses.responses - .map( - ( - response: protos.google.cloud.vision.v1.IAnnotateImageResponse, - index: number, - ) => { - const safeSearch = response.safeSearchAnnotation; - if (safeSearch) { - return { - imageUrl: imageUrls[index], - moderationResult: { - adult: safeSearch.adult, - violence: safeSearch.violence, - racy: safeSearch.racy, - spoof: safeSearch.spoof, - medical: safeSearch.medical, - }, - }; - } else { - console.error( - `No safeSearchAnnotation found for the image: ${imageUrls[index]}`, - ); - return null; - } - }, - ) - .filter((result: any) => result !== null); - } catch (error) { - console.error('Error analyzing images:', error); - return []; - } - } - - /** - * Save the moderation results to a JSON file. - * This method now overwrites the existing results.json file each time it's called. - */ - public saveResultsToJson(results: any[], jsonFilePath: string) { - // Directly write the results to the JSON file, overwriting any existing data - fs.writeFileSync(jsonFilePath, JSON.stringify(results, null, 2)); - } - - /** - * Process all images in a dataset for moderation. - */ - public async processDataset( - storageData: StorageDataDto, - ): Promise<{ containsAbuse: string; abuseResultsFile: string }> { - const resultsJsonPath = './results.json'; - let containsAbuse = false; - - try { - const bucketUrl = generateBucketUrl(storageData); - const objectKeys = await listObjectsInBucket(bucketUrl); - const imageUrls = objectKeys.map( - (objectKey) => - `${bucketUrl.protocol}//${bucketUrl.host}${bucketUrl.pathname}/${objectKey}`, - ); - - const moderationResults = - await this.analyzeImagesForModeration(imageUrls); - - if (moderationResults.length > 0) { - this.saveResultsToJson(moderationResults, resultsJsonPath); - - containsAbuse = moderationResults.some( - (result) => - result.moderationResult.adult === 'VERY_LIKELY' || - result.moderationResult.racy === 'VERY_LIKELY' || - result.moderationResult.violence === 'VERY_LIKELY' || - result.moderationResult.spoof === 'VERY_LIKELY' || - result.moderationResult.medical === 'VERY_LIKELY', - ); - - console.log('Processing completed. Results saved to results.json.'); - } else { - console.log('No valid moderation results to save.'); - } - } catch (error) { - console.error('Error processing dataset:', error); - throw new Error(ErrorCommon.ErrorProcessingDataset); - } - - return { - containsAbuse: containsAbuse ? 'true' : 'false', - abuseResultsFile: resultsJsonPath, - }; - } -} diff --git a/packages/examples/gcv/tsconfig.json b/packages/examples/gcv/tsconfig.json deleted file mode 100644 index a1e0956c73..0000000000 --- a/packages/examples/gcv/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "declaration": true, - "removeComments": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "allowSyntheticDefaultImports": true, - "allowJs": true, - "target": "es2023", - "sourceMap": true, - "outDir": "./dist", - "baseUrl": "./", - "incremental": true, - "skipLibCheck": true, - "strictNullChecks": true, - "noImplicitAny": true, - "strictBindCallApply": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "esModuleInterop": true - } -} diff --git a/yarn.lock b/yarn.lock index 895b8c2d02..2553906294 100644 --- a/yarn.lock +++ b/yarn.lock @@ -412,29 +412,6 @@ __metadata: languageName: unknown linkType: soft -"@apps/gcv@workspace:packages/examples/gcv": - version: 0.0.0-use.local - resolution: "@apps/gcv@workspace:packages/examples/gcv" - dependencies: - "@eslint/js": "npm:^10.0.1" - "@google-cloud/vision": "npm:^4.3.2" - "@nestjs/common": "npm:^11.1.12" - "@types/xml2js": "npm:^0.4.14" - axios: "npm:^1.7.2" - dotenv: "npm:^17.2.2" - eslint: "npm:^10.0.3" - eslint-config-prettier: "npm:^10.1.8" - eslint-plugin-jest: "npm:^29.15.0" - eslint-plugin-prettier: "npm:^5.5.5" - globals: "npm:^16.3.0" - jest: "npm:^29.7.0" - prettier: "npm:^3.8.1" - typescript: "npm:^5.8.3" - typescript-eslint: "npm:^8.57.0" - xml2js: "npm:^0.6.2" - languageName: unknown - linkType: soft - "@apps/human-app-frontend@workspace:packages/apps/human-app/frontend": version: 0.0.0-use.local resolution: "@apps/human-app-frontend@workspace:packages/apps/human-app/frontend" From 6122ba6232ae22b7d5767203d3081804166526b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20L=C3=B3pez?= <50665615+flopez7@users.noreply.github.com> Date: Mon, 23 Mar 2026 09:56:33 +0100 Subject: [PATCH 2/8] [Subgraph] Update launcher references in Escrow functions (#3837) Co-authored-by: flopez7 --- .../src/mapping/EscrowFactory.ts | 32 +++++-- .../src/mapping/EscrowTemplate.ts | 6 +- .../escrow-factory/escrow-factory.test.ts | 95 ++++++++++++++++++- .../tests/escrow-factory/fixtures.ts | 49 +++++++++- .../tests/escrow/escrow.test.ts | 20 +++- 5 files changed, 179 insertions(+), 23 deletions(-) diff --git a/packages/subgraph/human-protocol/src/mapping/EscrowFactory.ts b/packages/subgraph/human-protocol/src/mapping/EscrowFactory.ts index 20014574b0..5508c96647 100644 --- a/packages/subgraph/human-protocol/src/mapping/EscrowFactory.ts +++ b/packages/subgraph/human-protocol/src/mapping/EscrowFactory.ts @@ -4,19 +4,29 @@ import { } from '../../generated/EscrowFactory/EscrowFactory'; import { Escrow, EscrowStatusEvent } from '../../generated/schema'; import { Escrow as EscrowTemplate } from '../../generated/templates'; +import { Escrow as EscrowContract } from '../../generated/templates/Escrow/Escrow'; import { createOrLoadEscrowStatistics } from './Escrow'; import { createOrLoadOperator } from './KVStore'; import { createTransaction } from './utils/transaction'; import { getEventDayData } from './utils/dayUpdates'; import { toEventId } from './utils/event'; import { ONE_BI, ZERO_BI } from './utils/number'; -import { dataSource } from '@graphprotocol/graph-ts'; +import { Address, dataSource } from '@graphprotocol/graph-ts'; + +function getEscrowLauncher(escrowAddress: Address): Address { + const escrowContract = EscrowContract.bind(escrowAddress); + const launcher = escrowContract.try_launcher(); + + return launcher.value; +} export function handleLaunched(event: Launched): void { + const launcher = getEscrowLauncher(event.params.escrow); + createTransaction( event, 'createEscrow', - event.transaction.from, + launcher, dataSource.address(), null, event.params.escrow @@ -28,7 +38,7 @@ export function handleLaunched(event: Launched): void { statusEventEntity.txHash = event.transaction.hash; statusEventEntity.escrowAddress = event.params.escrow; statusEventEntity.sender = event.transaction.from; - statusEventEntity.launcher = event.transaction.from; + statusEventEntity.launcher = launcher; statusEventEntity.status = 'Launched'; statusEventEntity.save(); @@ -39,8 +49,8 @@ export function handleLaunched(event: Launched): void { entity.address = event.params.escrow; entity.token = event.params.token; entity.factoryAddress = event.address; - entity.launcher = event.transaction.from; - entity.canceler = event.transaction.from; + entity.launcher = launcher; + entity.canceler = launcher; entity.balance = ZERO_BI; entity.amountPaid = ZERO_BI; @@ -65,16 +75,18 @@ export function handleLaunched(event: Launched): void { eventDayData.save(); // Increase amount of jobs launched by operator - const operator = createOrLoadOperator(event.transaction.from); + const operator = createOrLoadOperator(launcher); operator.amountJobsProcessed = operator.amountJobsProcessed.plus(ONE_BI); operator.save(); } export function handleLaunchedV2(event: LaunchedV2): void { + const launcher = getEscrowLauncher(event.params.escrow); + createTransaction( event, 'createEscrow', - event.transaction.from, + launcher, dataSource.address(), null, event.params.escrow @@ -87,8 +99,8 @@ export function handleLaunchedV2(event: LaunchedV2): void { entity.token = event.params.token; entity.jobRequesterId = event.params.jobRequesterId; entity.factoryAddress = event.address; - entity.launcher = event.transaction.from; - entity.canceler = event.transaction.from; + entity.launcher = launcher; + entity.canceler = launcher; entity.balance = ZERO_BI; entity.amountPaid = ZERO_BI; @@ -113,7 +125,7 @@ export function handleLaunchedV2(event: LaunchedV2): void { eventDayData.save(); // Increase amount of jobs launched by operator - const operator = createOrLoadOperator(event.transaction.from); + const operator = createOrLoadOperator(launcher); operator.amountJobsProcessed = operator.amountJobsProcessed.plus(ONE_BI); operator.save(); } diff --git a/packages/subgraph/human-protocol/src/mapping/EscrowTemplate.ts b/packages/subgraph/human-protocol/src/mapping/EscrowTemplate.ts index 88685f7332..5492229357 100644 --- a/packages/subgraph/human-protocol/src/mapping/EscrowTemplate.ts +++ b/packages/subgraph/human-protocol/src/mapping/EscrowTemplate.ts @@ -241,7 +241,7 @@ export function handlePending(event: Pending): void { createTransaction( event, 'setup', - event.transaction.from, + Address.fromBytes(escrowEntity.launcher), Address.fromBytes(escrowEntity.address), null, Address.fromBytes(escrowEntity.address) @@ -275,7 +275,7 @@ export function handlePendingV2(event: PendingV2): void { createTransaction( event, 'setup', - event.transaction.from, + Address.fromBytes(escrowEntity.launcher), Address.fromBytes(escrowEntity.address), null, Address.fromBytes(escrowEntity.address) @@ -312,7 +312,7 @@ export function handlePendingV3(event: PendingV3): void { createTransaction( event, 'setup', - event.transaction.from, + Address.fromBytes(escrowEntity.launcher), Address.fromBytes(escrowEntity.address), null, Address.fromBytes(escrowEntity.address) diff --git a/packages/subgraph/human-protocol/tests/escrow-factory/escrow-factory.test.ts b/packages/subgraph/human-protocol/tests/escrow-factory/escrow-factory.test.ts index 3e905eda7a..eb2aff2b33 100644 --- a/packages/subgraph/human-protocol/tests/escrow-factory/escrow-factory.test.ts +++ b/packages/subgraph/human-protocol/tests/escrow-factory/escrow-factory.test.ts @@ -1,4 +1,9 @@ -import { Address, BigInt, DataSourceContext } from '@graphprotocol/graph-ts'; +import { + Address, + BigInt, + DataSourceContext, + ethereum, +} from '@graphprotocol/graph-ts'; import { describe, test, @@ -7,12 +12,16 @@ import { afterAll, dataSourceMock, beforeAll, + createMockedFunction, } from 'matchstick-as/assembly'; import { STATISTICS_ENTITY_ID } from '../../src/mapping/Escrow'; -import { handleLaunched } from '../../src/mapping/EscrowFactory'; +import { + handleLaunched, + handleLaunchedV2, +} from '../../src/mapping/EscrowFactory'; import { toEventId } from '../../src/mapping/utils/event'; -import { createLaunchedEvent } from './fixtures'; +import { createLaunchedEvent, createLaunchedV2Event } from './fixtures'; const factoryAddressString = '0x92a2eef7ff696bcef98957a0189872680600a958'; const factoryAddress = Address.fromString(factoryAddressString); @@ -24,6 +33,9 @@ const escrow1AddressString = '0xd979105297fb0eee83f7475fc09279cb5b94ffc6'; const escrow1Address = Address.fromString(escrow1AddressString); const escrow2AddressString = '0xd979105297fb0eee83f7433fc09279cb5b94ffc7'; const escrow2Address = Address.fromString(escrow2AddressString); +const escrow3AddressString = '0xd979105297fb0eee83f7433fc09279cb5b94ffc8'; +const escrow3Address = Address.fromString(escrow3AddressString); +const jobRequesterId = 'requester-123'; describe('EscrowFactory', () => { beforeAll(() => { @@ -53,6 +65,17 @@ describe('EscrowFactory', () => { BigInt.fromI32(11) ); + createMockedFunction( + escrow1Address, + 'launcher', + 'launcher():(address)' + ).returns([ethereum.Value.fromAddress(launcherAddress)]); + createMockedFunction( + escrow2Address, + 'launcher', + 'launcher():(address)' + ).returns([ethereum.Value.fromAddress(launcherAddress)]); + handleLaunched(data1); handleLaunched(data2); @@ -208,7 +231,7 @@ describe('EscrowFactory', () => { 'Transaction', data1.transaction.hash.toHex(), 'from', - data1.transaction.from.toHex() + launcherAddressString ); assert.fieldEquals( @@ -233,7 +256,7 @@ describe('EscrowFactory', () => { 'Transaction', data2.transaction.hash.toHex(), 'from', - data2.transaction.from.toHex() + launcherAddressString ); assert.fieldEquals( 'Transaction', @@ -242,4 +265,66 @@ describe('EscrowFactory', () => { factoryAddressString ); }); + + test('Should properly handle LaunchedV2 event using escrow launcher', () => { + const launchedV2 = createLaunchedV2Event( + factoryAddress, + factoryAddress, + tokenAddress, + escrow3Address, + jobRequesterId, + BigInt.fromI32(12) + ); + + createMockedFunction( + escrow3Address, + 'launcher', + 'launcher():(address)' + ).returns([ethereum.Value.fromAddress(launcherAddress)]); + + handleLaunchedV2(launchedV2); + + assert.fieldEquals( + 'Escrow', + escrow3AddressString, + 'launcher', + launcherAddressString + ); + assert.fieldEquals( + 'Escrow', + escrow3AddressString, + 'canceler', + launcherAddressString + ); + assert.fieldEquals( + 'Escrow', + escrow3AddressString, + 'jobRequesterId', + jobRequesterId + ); + assert.fieldEquals( + 'Transaction', + launchedV2.transaction.hash.toHex(), + 'from', + launcherAddressString + ); + assert.fieldEquals( + 'Transaction', + launchedV2.transaction.hash.toHex(), + 'method', + 'createEscrow' + ); + assert.fieldEquals( + 'Operator', + launcherAddressString, + 'amountJobsProcessed', + '3' + ); + assert.fieldEquals( + 'EscrowStatistics', + STATISTICS_ENTITY_ID.toHex(), + 'totalEscrowCount', + '3' + ); + }); }); diff --git a/packages/subgraph/human-protocol/tests/escrow-factory/fixtures.ts b/packages/subgraph/human-protocol/tests/escrow-factory/fixtures.ts index 4673d3412f..610c913b02 100644 --- a/packages/subgraph/human-protocol/tests/escrow-factory/fixtures.ts +++ b/packages/subgraph/human-protocol/tests/escrow-factory/fixtures.ts @@ -1,7 +1,10 @@ import { newMockEvent } from 'matchstick-as/assembly/index'; import { ethereum, BigInt, Address, dataSource } from '@graphprotocol/graph-ts'; -import { Launched } from '../../generated/EscrowFactory/EscrowFactory'; +import { + Launched, + LaunchedV2, +} from '../../generated/EscrowFactory/EscrowFactory'; import { generateUniqueHash } from '../../tests/utils'; export function createLaunchedEvent( @@ -41,3 +44,47 @@ export function createLaunchedEvent( return newLaunchedEvent; } + +export function createLaunchedV2Event( + factory: Address, + launcher: Address, + token: Address, + escrow: Address, + jobRequesterId: string, + timestamp: BigInt +): LaunchedV2 { + const newLaunchedEvent = changetype(newMockEvent()); + newLaunchedEvent.transaction.hash = generateUniqueHash( + escrow.toString(), + timestamp, + newLaunchedEvent.transaction.nonce + ); + + newLaunchedEvent.block.timestamp = timestamp; + newLaunchedEvent.transaction.from = launcher; + newLaunchedEvent.transaction.to = Address.fromString( + dataSource.address().toHexString() + ); + newLaunchedEvent.address = factory; + + newLaunchedEvent.parameters = []; + + const tokenParam = new ethereum.EventParam( + 'token', + ethereum.Value.fromAddress(token) + ); + const escrowParam = new ethereum.EventParam( + 'escrow', + ethereum.Value.fromAddress(escrow) + ); + const jobRequesterIdParam = new ethereum.EventParam( + 'jobRequesterId', + ethereum.Value.fromString(jobRequesterId) + ); + + newLaunchedEvent.parameters.push(tokenParam); + newLaunchedEvent.parameters.push(escrowParam); + newLaunchedEvent.parameters.push(jobRequesterIdParam); + + return newLaunchedEvent; +} diff --git a/packages/subgraph/human-protocol/tests/escrow/escrow.test.ts b/packages/subgraph/human-protocol/tests/escrow/escrow.test.ts index 26a8d442f1..30847fcb56 100644 --- a/packages/subgraph/human-protocol/tests/escrow/escrow.test.ts +++ b/packages/subgraph/human-protocol/tests/escrow/escrow.test.ts @@ -254,7 +254,7 @@ describe('Escrow', () => { 'Transaction', newPending1.transaction.hash.toHex(), 'from', - newPending1.transaction.from.toHex() + launcherAddressString ); assert.fieldEquals( 'Transaction', @@ -380,7 +380,7 @@ describe('Escrow', () => { 'Transaction', newPending1.transaction.hash.toHex(), 'from', - newPending1.transaction.from.toHex() + launcherAddressString ); assert.fieldEquals( 'Transaction', @@ -530,7 +530,7 @@ describe('Escrow', () => { 'Transaction', newPending1.transaction.hash.toHex(), 'from', - newPending1.transaction.from.toHex() + launcherAddressString ); assert.fieldEquals( 'Transaction', @@ -574,6 +574,12 @@ describe('Escrow', () => { 'method', 'fund' ); + assert.fieldEquals( + 'Transaction', + fund.transaction.hash.toHex(), + 'from', + operatorAddressString + ); assert.fieldEquals( 'Transaction', fund.transaction.hash.toHex(), @@ -728,7 +734,7 @@ describe('Escrow', () => { 'Transaction', newPending1.transaction.hash.toHex(), 'from', - newPending1.transaction.from.toHex() + launcherAddressString ); assert.fieldEquals( 'Transaction', @@ -809,6 +815,12 @@ describe('Escrow', () => { 'method', 'setup' ); + assert.fieldEquals( + 'Transaction', + newPending1.transaction.hash.toHex(), + 'from', + launcherAddressString + ); }); test('should properly handle IntermediateStorage event', () => { From 9bc2d0f1f0ee8b4a3932665f3b86fe48e3c6a49e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 17:10:13 +0100 Subject: [PATCH 3/8] chore(deps): bump @tanstack/react-query from 5.90.6 to 5.91.3 (#3844) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/apps/dashboard/client/package.json | 2 +- .../exchange-oracle/client/package.json | 2 +- packages/apps/human-app/frontend/package.json | 2 +- .../apps/job-launcher/client/package.json | 2 +- packages/apps/staking/package.json | 2 +- yarn.lock | 27 ++++++++++++------- 6 files changed, 22 insertions(+), 15 deletions(-) diff --git a/packages/apps/dashboard/client/package.json b/packages/apps/dashboard/client/package.json index 0089c0ef8e..758e160779 100644 --- a/packages/apps/dashboard/client/package.json +++ b/packages/apps/dashboard/client/package.json @@ -26,7 +26,7 @@ "@mui/system": "^7.3.9", "@mui/x-data-grid": "^8.7.0", "@mui/x-date-pickers": "^8.26.0", - "@tanstack/react-query": "^5.67.2", + "@tanstack/react-query": "^5.91.3", "@types/react-router-dom": "^5.3.3", "@types/recharts": "^1.8.29", "axios": "^1.7.2", diff --git a/packages/apps/fortune/exchange-oracle/client/package.json b/packages/apps/fortune/exchange-oracle/client/package.json index 89b7e86dba..4e8912a20b 100644 --- a/packages/apps/fortune/exchange-oracle/client/package.json +++ b/packages/apps/fortune/exchange-oracle/client/package.json @@ -33,7 +33,7 @@ "@mui/icons-material": "^7.3.8", "@mui/material": "^5.16.7", "@tanstack/query-sync-storage-persister": "^5.68.0", - "@tanstack/react-query": "^5.67.2", + "@tanstack/react-query": "^5.91.3", "@tanstack/react-query-persist-client": "^5.80.7", "axios": "^1.7.2", "ethers": "^6.16.0", diff --git a/packages/apps/human-app/frontend/package.json b/packages/apps/human-app/frontend/package.json index 4fbdff97fb..055e49df1f 100644 --- a/packages/apps/human-app/frontend/package.json +++ b/packages/apps/human-app/frontend/package.json @@ -32,7 +32,7 @@ "@reown/appkit": "^1.7.11", "@reown/appkit-adapter-wagmi": "^1.7.11", "@synaps-io/verify-sdk": "^4.0.45", - "@tanstack/react-query": "^5.75.5", + "@tanstack/react-query": "^5.91.3", "@wagmi/core": "^3.4.0", "date-fns": "^4.1.0", "ethers": "^6.16.0", diff --git a/packages/apps/job-launcher/client/package.json b/packages/apps/job-launcher/client/package.json index 165c9bffa1..13baa25f2d 100644 --- a/packages/apps/job-launcher/client/package.json +++ b/packages/apps/job-launcher/client/package.json @@ -17,7 +17,7 @@ "@stripe/react-stripe-js": "^3.0.0", "@stripe/stripe-js": "^4.2.0", "@tanstack/query-sync-storage-persister": "^5.68.0", - "@tanstack/react-query": "^5.67.2", + "@tanstack/react-query": "^5.91.3", "@tanstack/react-query-persist-client": "^5.80.7", "axios": "^1.1.3", "copy-to-clipboard": "^3.3.3", diff --git a/packages/apps/staking/package.json b/packages/apps/staking/package.json index 2d3101c398..2addd889eb 100644 --- a/packages/apps/staking/package.json +++ b/packages/apps/staking/package.json @@ -35,7 +35,7 @@ "@mui/material": "^5.16.7", "@mui/x-data-grid": "^8.7.0", "@tanstack/query-sync-storage-persister": "^5.68.0", - "@tanstack/react-query": "^5.67.2", + "@tanstack/react-query": "^5.91.3", "@tanstack/react-query-persist-client": "^5.80.7", "axios": "^1.7.2", "ethers": "^6.16.0", diff --git a/yarn.lock b/yarn.lock index 2553906294..94272fcf2d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -113,7 +113,7 @@ __metadata: "@mui/system": "npm:^7.3.9" "@mui/x-data-grid": "npm:^8.7.0" "@mui/x-date-pickers": "npm:^8.26.0" - "@tanstack/react-query": "npm:^5.67.2" + "@tanstack/react-query": "npm:^5.91.3" "@types/react": "npm:^18.3.12" "@types/react-dom": "npm:^18.3.1" "@types/react-router-dom": "npm:^5.3.3" @@ -282,7 +282,7 @@ __metadata: "@mui/icons-material": "npm:^7.3.8" "@mui/material": "npm:^5.16.7" "@tanstack/query-sync-storage-persister": "npm:^5.68.0" - "@tanstack/react-query": "npm:^5.67.2" + "@tanstack/react-query": "npm:^5.91.3" "@tanstack/react-query-persist-client": "npm:^5.80.7" "@types/react": "npm:^18.3.12" "@types/react-dom": "npm:^18.3.1" @@ -433,7 +433,7 @@ __metadata: "@reown/appkit-adapter-wagmi": "npm:^1.7.11" "@synaps-io/verify-sdk": "npm:^4.0.45" "@tanstack/eslint-plugin-query": "npm:^5.60.1" - "@tanstack/react-query": "npm:^5.75.5" + "@tanstack/react-query": "npm:^5.91.3" "@tanstack/react-query-devtools": "npm:^5.59.16" "@types/lodash": "npm:^4.17.12" "@types/mui-image": "npm:^1.0.5" @@ -565,7 +565,7 @@ __metadata: "@stripe/react-stripe-js": "npm:^3.0.0" "@stripe/stripe-js": "npm:^4.2.0" "@tanstack/query-sync-storage-persister": "npm:^5.68.0" - "@tanstack/react-query": "npm:^5.67.2" + "@tanstack/react-query": "npm:^5.91.3" "@tanstack/react-query-persist-client": "npm:^5.80.7" "@types/file-saver": "npm:^2.0.7" "@types/react": "npm:^18.3.12" @@ -771,7 +771,7 @@ __metadata: "@mui/material": "npm:^5.16.7" "@mui/x-data-grid": "npm:^8.7.0" "@tanstack/query-sync-storage-persister": "npm:^5.68.0" - "@tanstack/react-query": "npm:^5.67.2" + "@tanstack/react-query": "npm:^5.91.3" "@tanstack/react-query-persist-client": "npm:^5.80.7" "@types/react": "npm:^18.3.12" "@types/react-dom": "npm:^18.3.1" @@ -11237,6 +11237,13 @@ __metadata: languageName: node linkType: hard +"@tanstack/query-core@npm:5.91.2": + version: 5.91.2 + resolution: "@tanstack/query-core@npm:5.91.2" + checksum: 10c0/4feda32bd61dee28c0c8ff120f49d805aa0f3a3d4ad12bf371f6991590eaf5db667b49c35a2730a59598db4ef862f9d7899bc1c8aaf743cedc0c0f98b1958940 + languageName: node + linkType: hard + "@tanstack/query-devtools@npm:5.90.1": version: 5.90.1 resolution: "@tanstack/query-devtools@npm:5.90.1" @@ -11287,14 +11294,14 @@ __metadata: languageName: node linkType: hard -"@tanstack/react-query@npm:^5.67.2, @tanstack/react-query@npm:^5.75.5": - version: 5.90.6 - resolution: "@tanstack/react-query@npm:5.90.6" +"@tanstack/react-query@npm:^5.91.3": + version: 5.91.3 + resolution: "@tanstack/react-query@npm:5.91.3" dependencies: - "@tanstack/query-core": "npm:5.90.6" + "@tanstack/query-core": "npm:5.91.2" peerDependencies: react: ^18 || ^19 - checksum: 10c0/0cde819c41d3f02dccc443786c3aeb6e0a6135365ef127dd8e5bb25d65837b0b12b011c6700c14df1f866a1d65d57a6f4a00abf2ddac31543d68b4963ca80d1a + checksum: 10c0/8bd08061be6b186bc1adf6dee50d50b0a225a09ba6ae6e47dd0928c068e0c83ed169e2407a532ee8a9ff1b5248074d3bc3d7e1bd64ece183d3d0c79ffe32deb2 languageName: node linkType: hard From 68f1b825c0591807cbcb8cef67bb042d2dee5c34 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 17:13:52 +0100 Subject: [PATCH 4/8] chore(deps-dev): bump eslint from 10.0.3 to 10.1.0 (#3843) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/apps/dashboard/client/package.json | 2 +- packages/apps/dashboard/server/package.json | 2 +- packages/apps/faucet/client/package.json | 2 +- packages/apps/faucet/server/package.json | 2 +- .../exchange-oracle/client/package.json | 2 +- .../exchange-oracle/server/package.json | 2 +- .../fortune/recording-oracle/package.json | 2 +- packages/apps/human-app/frontend/package.json | 2 +- packages/apps/human-app/server/package.json | 2 +- .../apps/job-launcher/client/package.json | 2 +- .../apps/job-launcher/server/package.json | 2 +- .../reputation-oracle/server/package.json | 2 +- packages/apps/staking/package.json | 2 +- packages/core/package.json | 2 +- packages/libs/logger/package.json | 2 +- .../human-protocol-sdk/package.json | 2 +- packages/subgraph/hmt/package.json | 2 +- packages/subgraph/human-protocol/package.json | 2 +- yarn.lock | 52 +++++++++---------- 19 files changed, 44 insertions(+), 44 deletions(-) diff --git a/packages/apps/dashboard/client/package.json b/packages/apps/dashboard/client/package.json index 758e160779..3a27e82c31 100644 --- a/packages/apps/dashboard/client/package.json +++ b/packages/apps/dashboard/client/package.json @@ -50,7 +50,7 @@ "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@vitejs/plugin-react": "^4.2.1", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import-x": "^4.16.2", "eslint-plugin-prettier": "^5.5.5", diff --git a/packages/apps/dashboard/server/package.json b/packages/apps/dashboard/server/package.json index 2b4a786c14..8c74078982 100644 --- a/packages/apps/dashboard/server/package.json +++ b/packages/apps/dashboard/server/package.json @@ -56,7 +56,7 @@ "@types/express": "^5.0.6", "@types/jest": "30.0.0", "@types/node": "22.10.5", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jest": "^29.15.0", "eslint-plugin-prettier": "^5.5.5", diff --git a/packages/apps/faucet/client/package.json b/packages/apps/faucet/client/package.json index 6fb1508b7e..4504409cca 100644 --- a/packages/apps/faucet/client/package.json +++ b/packages/apps/faucet/client/package.json @@ -36,7 +36,7 @@ "@types/react-dom": "^18.3.1", "@vitejs/plugin-react": "^4.3.4", "dotenv": "^17.2.2", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", "eslint-config-react-app": "^7.0.1", "eslint-plugin-prettier": "^5.5.5", diff --git a/packages/apps/faucet/server/package.json b/packages/apps/faucet/server/package.json index ffa9ddad54..a8a2abc7e2 100644 --- a/packages/apps/faucet/server/package.json +++ b/packages/apps/faucet/server/package.json @@ -31,7 +31,7 @@ "@types/jest": "^29.5.14", "@types/node": "^22.15.16", "concurrently": "^9.1.2", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.5", "globals": "^16.3.0", diff --git a/packages/apps/fortune/exchange-oracle/client/package.json b/packages/apps/fortune/exchange-oracle/client/package.json index 4e8912a20b..98b1a55755 100644 --- a/packages/apps/fortune/exchange-oracle/client/package.json +++ b/packages/apps/fortune/exchange-oracle/client/package.json @@ -50,7 +50,7 @@ "@types/react-dom": "^18.3.1", "@types/react-router-dom": "^5.3.3", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.11", "globals": "^16.3.0", diff --git a/packages/apps/fortune/exchange-oracle/server/package.json b/packages/apps/fortune/exchange-oracle/server/package.json index e006a225c1..658fec55f4 100644 --- a/packages/apps/fortune/exchange-oracle/server/package.json +++ b/packages/apps/fortune/exchange-oracle/server/package.json @@ -73,7 +73,7 @@ "@types/node": "22.10.5", "@types/passport": "^1", "@types/pg": "8.11.10", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jest": "^29.15.0", "eslint-plugin-prettier": "^5.5.5", diff --git a/packages/apps/fortune/recording-oracle/package.json b/packages/apps/fortune/recording-oracle/package.json index d3fb090936..f77d40861d 100644 --- a/packages/apps/fortune/recording-oracle/package.json +++ b/packages/apps/fortune/recording-oracle/package.json @@ -50,7 +50,7 @@ "@types/express": "^5.0.6", "@types/jest": "^29.5.14", "@types/node": "^22.15.16", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-jest": "^29.15.0", "eslint-plugin-prettier": "^5.5.5", diff --git a/packages/apps/human-app/frontend/package.json b/packages/apps/human-app/frontend/package.json index 055e49df1f..90ff4edc1f 100644 --- a/packages/apps/human-app/frontend/package.json +++ b/packages/apps/human-app/frontend/package.json @@ -70,7 +70,7 @@ "@types/react-dom": "^18.3.1", "@vercel/style-guide": "^6.0.0", "@vitejs/plugin-react": "^4.2.1", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-prettier": "^5.5.5", diff --git a/packages/apps/human-app/server/package.json b/packages/apps/human-app/server/package.json index 7caf038a17..5f0384caf1 100644 --- a/packages/apps/human-app/server/package.json +++ b/packages/apps/human-app/server/package.json @@ -65,7 +65,7 @@ "@types/lodash": "^4.17.14", "@types/node": "22.10.5", "@types/passport": "^1", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jest": "^29.15.0", "eslint-plugin-prettier": "^5.5.5", diff --git a/packages/apps/job-launcher/client/package.json b/packages/apps/job-launcher/client/package.json index 13baa25f2d..310c702a87 100644 --- a/packages/apps/job-launcher/client/package.json +++ b/packages/apps/job-launcher/client/package.json @@ -71,7 +71,7 @@ "@types/react-dom": "^18.3.1", "@types/xml2js": "^0.4.14", "@vitejs/plugin-react": "^4.2.1", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", "eslint-config-react-app": "^7.0.1", "eslint-plugin-jsx-a11y": "^6.10.2", diff --git a/packages/apps/job-launcher/server/package.json b/packages/apps/job-launcher/server/package.json index 52364ac02a..9aaa313805 100644 --- a/packages/apps/job-launcher/server/package.json +++ b/packages/apps/job-launcher/server/package.json @@ -87,7 +87,7 @@ "@types/node": "22.10.5", "@types/xml2js": "0.4.14", "@types/zxcvbn": "4.4.5", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jest": "^29.15.0", "eslint-plugin-prettier": "^5.5.5", diff --git a/packages/apps/reputation-oracle/server/package.json b/packages/apps/reputation-oracle/server/package.json index ee2836b318..1e8523aee5 100644 --- a/packages/apps/reputation-oracle/server/package.json +++ b/packages/apps/reputation-oracle/server/package.json @@ -86,7 +86,7 @@ "@types/node": "22.10.5", "@types/uuid": "^10.0.0", "@types/zxcvbn": "4.4.5", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import-x": "^4.16.2", diff --git a/packages/apps/staking/package.json b/packages/apps/staking/package.json index 2addd889eb..c90926c772 100644 --- a/packages/apps/staking/package.json +++ b/packages/apps/staking/package.json @@ -53,7 +53,7 @@ "@types/react-dom": "^18.3.1", "@types/react-router-dom": "^5.3.3", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.11", "globals": "^16.3.0", diff --git a/packages/core/package.json b/packages/core/package.json index 00557aba87..14a5e22d3b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -72,7 +72,7 @@ "@types/node": "^22.15.16", "chai": "^4.5.0", "concurrently": "^9.1.2", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.5", "ethers": "~6.16.0", diff --git a/packages/libs/logger/package.json b/packages/libs/logger/package.json index 54d7382720..6ee0e42ce9 100644 --- a/packages/libs/logger/package.json +++ b/packages/libs/logger/package.json @@ -22,7 +22,7 @@ "devDependencies": { "@eslint/js": "^10.0.1", "@types/node": "^22.10.5", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.5", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import-x": "^4.16.2", diff --git a/packages/sdk/typescript/human-protocol-sdk/package.json b/packages/sdk/typescript/human-protocol-sdk/package.json index 93e94f7f1c..7a3461018e 100644 --- a/packages/sdk/typescript/human-protocol-sdk/package.json +++ b/packages/sdk/typescript/human-protocol-sdk/package.json @@ -52,7 +52,7 @@ "devDependencies": { "@eslint/js": "^10.0.1", "@types/validator": "^13.15.4", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-jest": "^29.15.0", "eslint-plugin-prettier": "^5.5.5", diff --git a/packages/subgraph/hmt/package.json b/packages/subgraph/hmt/package.json index ae55b6018c..f06777bc54 100644 --- a/packages/subgraph/hmt/package.json +++ b/packages/subgraph/hmt/package.json @@ -35,7 +35,7 @@ "@graphprotocol/graph-ts": "^0.38.0", "@graphql-eslint/eslint-plugin": "^3.19.1", "@human-protocol/core": "workspace:*", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.5", "ethers": "~6.16.0", diff --git a/packages/subgraph/human-protocol/package.json b/packages/subgraph/human-protocol/package.json index 5200420f32..3b13aa27b6 100644 --- a/packages/subgraph/human-protocol/package.json +++ b/packages/subgraph/human-protocol/package.json @@ -41,7 +41,7 @@ "@graphprotocol/graph-ts": "^0.38.0", "@graphql-eslint/eslint-plugin": "^3.19.1", "@human-protocol/core": "workspace:*", - "eslint": "^10.0.3", + "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.5", "ethers": "~6.16.0", diff --git a/yarn.lock b/yarn.lock index 94272fcf2d..8790afef4c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,7 +122,7 @@ __metadata: axios: "npm:^1.7.2" clsx: "npm:^2.1.1" dayjs: "npm:^1.11.11" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-import-resolver-typescript: "npm:^4.4.4" eslint-plugin-import-x: "npm:^4.16.2" eslint-plugin-prettier: "npm:^5.5.5" @@ -181,7 +181,7 @@ __metadata: class-transformer: "npm:^0.5.1" class-validator: "npm:0.14.1" dayjs: "npm:^1.11.12" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-jest: "npm:^29.15.0" eslint-plugin-prettier: "npm:^5.5.5" @@ -218,7 +218,7 @@ __metadata: "@types/react-dom": "npm:^18.3.1" "@vitejs/plugin-react": "npm:^4.3.4" dotenv: "npm:^17.2.2" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.8" eslint-config-react-app: "npm:^7.0.1" eslint-plugin-prettier: "npm:^5.5.5" @@ -253,7 +253,7 @@ __metadata: body-parser: "npm:^1.20.0" concurrently: "npm:^9.1.2" cors: "npm:^2.8.5" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.8" eslint-plugin-prettier: "npm:^5.5.5" express: "npm:^5.2.1" @@ -289,7 +289,7 @@ __metadata: "@types/react-router-dom": "npm:^5.3.3" "@vitejs/plugin-react": "npm:^4.3.1" axios: "npm:^1.7.2" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-plugin-react-hooks: "npm:^5.1.0" eslint-plugin-react-refresh: "npm:^0.4.11" ethers: "npm:^6.16.0" @@ -342,7 +342,7 @@ __metadata: class-transformer: "npm:^0.5.1" class-validator: "npm:0.14.1" dotenv: "npm:^17.2.2" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-jest: "npm:^29.15.0" eslint-plugin-prettier: "npm:^5.5.5" @@ -393,7 +393,7 @@ __metadata: class-transformer: "npm:^0.5.1" class-validator: "npm:0.14.1" dotenv: "npm:^17.2.2" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.8" eslint-plugin-jest: "npm:^29.15.0" eslint-plugin-prettier: "npm:^5.5.5" @@ -445,7 +445,7 @@ __metadata: "@vitejs/plugin-react": "npm:^4.2.1" "@wagmi/core": "npm:^3.4.0" date-fns: "npm:^4.1.0" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-jsx-a11y: "npm:^6.10.2" eslint-plugin-prettier: "npm:^5.5.5" @@ -520,7 +520,7 @@ __metadata: cache-manager: "npm:7.2.8" class-transformer: "npm:^0.5.1" class-validator: "npm:0.14.1" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-jest: "npm:^29.15.0" eslint-plugin-prettier: "npm:^5.5.5" @@ -576,7 +576,7 @@ __metadata: copy-to-clipboard: "npm:^3.3.3" dayjs: "npm:^1.11.12" decimal.js: "npm:^10.6.0" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.8" eslint-config-react-app: "npm:^7.0.1" eslint-plugin-jsx-a11y: "npm:^6.10.2" @@ -651,7 +651,7 @@ __metadata: class-validator: "npm:0.14.1" decimal.js: "npm:^10.6.0" dotenv: "npm:^17.2.2" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^9.1.0" eslint-plugin-jest: "npm:^29.15.0" eslint-plugin-prettier: "npm:^5.5.5" @@ -725,7 +725,7 @@ __metadata: class-transformer: "npm:^0.5.1" class-validator: "npm:^0.14.1" dotenv: "npm:^17.2.2" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.8" eslint-import-resolver-typescript: "npm:^4.4.4" eslint-plugin-import-x: "npm:^4.16.2" @@ -778,7 +778,7 @@ __metadata: "@types/react-router-dom": "npm:^5.3.3" "@vitejs/plugin-react": "npm:^4.3.1" axios: "npm:^1.7.2" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-plugin-react-hooks: "npm:^5.1.0" eslint-plugin-react-refresh: "npm:^0.4.11" ethers: "npm:^6.16.0" @@ -3927,7 +3927,7 @@ __metadata: languageName: node linkType: hard -"@eslint/config-helpers@npm:^0.5.2": +"@eslint/config-helpers@npm:^0.5.3": version: 0.5.3 resolution: "@eslint/config-helpers@npm:0.5.3" dependencies: @@ -5108,7 +5108,7 @@ __metadata: "@types/node": "npm:^22.15.16" chai: "npm:^4.5.0" concurrently: "npm:^9.1.2" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.8" eslint-plugin-prettier: "npm:^5.5.5" ethers: "npm:~6.16.0" @@ -5139,7 +5139,7 @@ __metadata: dependencies: "@eslint/js": "npm:^10.0.1" "@types/node": "npm:^22.10.5" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.5" eslint-import-resolver-typescript: "npm:^4.4.4" eslint-plugin-import-x: "npm:^4.16.2" @@ -5191,7 +5191,7 @@ __metadata: "@human-protocol/core": "workspace:*" "@types/validator": "npm:^13.15.4" axios: "npm:^1.4.0" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.8" eslint-plugin-jest: "npm:^29.15.0" eslint-plugin-prettier: "npm:^5.5.5" @@ -11430,7 +11430,7 @@ __metadata: "@graphprotocol/graph-ts": "npm:^0.38.0" "@graphql-eslint/eslint-plugin": "npm:^3.19.1" "@human-protocol/core": "workspace:*" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.8" eslint-plugin-prettier: "npm:^5.5.5" ethers: "npm:~6.16.0" @@ -11453,7 +11453,7 @@ __metadata: "@graphprotocol/graph-ts": "npm:^0.38.0" "@graphql-eslint/eslint-plugin": "npm:^3.19.1" "@human-protocol/core": "workspace:*" - eslint: "npm:^10.0.3" + eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.8" eslint-plugin-prettier: "npm:^5.5.5" ethers: "npm:~6.16.0" @@ -19005,14 +19005,14 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^10.0.3": - version: 10.0.3 - resolution: "eslint@npm:10.0.3" +"eslint@npm:^10.1.0": + version: 10.1.0 + resolution: "eslint@npm:10.1.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.8.0" "@eslint-community/regexpp": "npm:^4.12.2" "@eslint/config-array": "npm:^0.23.3" - "@eslint/config-helpers": "npm:^0.5.2" + "@eslint/config-helpers": "npm:^0.5.3" "@eslint/core": "npm:^1.1.1" "@eslint/plugin-kit": "npm:^0.6.1" "@humanfs/node": "npm:^0.16.6" @@ -19025,7 +19025,7 @@ __metadata: escape-string-regexp: "npm:^4.0.0" eslint-scope: "npm:^9.1.2" eslint-visitor-keys: "npm:^5.0.1" - espree: "npm:^11.1.1" + espree: "npm:^11.2.0" esquery: "npm:^1.7.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" @@ -19046,11 +19046,11 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/fbbb4d99cb6af5c30b163b7898241dbac1cd1cee0e6746d5732a95e3b1e68b5bea0bc27cb78e8440a39cf4cc98c7f52cf5ed8d7c2bbdf2232662476d113c41fc + checksum: 10c0/b784ac18905b663fa4a801b0baa7bfa636c2d7ac08dad60690b15338c9b2126c5fa9fd4f9269b4f584cb0b426e428c1e353e23ff5ab6d8f8c610a0bb365831d6 languageName: node linkType: hard -"espree@npm:^11.1.1": +"espree@npm:^11.2.0": version: 11.2.0 resolution: "espree@npm:11.2.0" dependencies: From a8268395cf65471ba4288e4024bde31a4e8826f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 17:17:33 +0100 Subject: [PATCH 5/8] chore(deps-dev): bump typedoc-plugin-markdown from 4.9.0 to 4.11.0 (#3842) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../sdk/typescript/human-protocol-sdk/package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/sdk/typescript/human-protocol-sdk/package.json b/packages/sdk/typescript/human-protocol-sdk/package.json index 7a3461018e..480f1f6043 100644 --- a/packages/sdk/typescript/human-protocol-sdk/package.json +++ b/packages/sdk/typescript/human-protocol-sdk/package.json @@ -61,7 +61,7 @@ "prettier": "^3.8.1", "ts-node": "^10.9.2", "typedoc": "^0.28.15", - "typedoc-plugin-markdown": "^4.9.0", + "typedoc-plugin-markdown": "^4.11.0", "typescript": "^5.8.3", "typescript-eslint": "^8.57.0" } diff --git a/yarn.lock b/yarn.lock index 8790afef4c..f371e2f304 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5206,7 +5206,7 @@ __metadata: secp256k1: "npm:^5.0.1" ts-node: "npm:^10.9.2" typedoc: "npm:^0.28.15" - typedoc-plugin-markdown: "npm:^4.9.0" + typedoc-plugin-markdown: "npm:^4.11.0" typescript: "npm:^5.8.3" typescript-eslint: "npm:^8.57.0" validator: "npm:^13.12.0" @@ -30472,12 +30472,12 @@ __metadata: languageName: node linkType: hard -"typedoc-plugin-markdown@npm:^4.9.0": - version: 4.9.0 - resolution: "typedoc-plugin-markdown@npm:4.9.0" +"typedoc-plugin-markdown@npm:^4.11.0": + version: 4.11.0 + resolution: "typedoc-plugin-markdown@npm:4.11.0" peerDependencies: typedoc: 0.28.x - checksum: 10c0/12040bbff7bc7e4f777d06710e39421f8ebaaf706f4b8075536453f35bc86726c5ce743de0cc9c39ee1bdfc8611b2878a4cf4c83a493e0678fc640dd71fe97fc + checksum: 10c0/03374acfd0b5bd5af13198c043ffc31324b097647f5ffd92959647a9a277f0ece665331ff6a650ddaefdf9ff33928e138c5483e7cddbac830eb77e69b6067803 languageName: node linkType: hard From 1d1a4a770fd0635dad9973d4ec18a2a3c308baaa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 18:33:07 +0100 Subject: [PATCH 6/8] chore(deps): bump @mui/lab from 6.0.0-dev.240424162023-9968b4889d to 7.0.0-beta.17 (#3841) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../apps/job-launcher/client/package.json | 2 +- yarn.lock | 233 ++++-------------- 2 files changed, 48 insertions(+), 187 deletions(-) diff --git a/packages/apps/job-launcher/client/package.json b/packages/apps/job-launcher/client/package.json index 310c702a87..37ab9fd1c4 100644 --- a/packages/apps/job-launcher/client/package.json +++ b/packages/apps/job-launcher/client/package.json @@ -9,7 +9,7 @@ "@hcaptcha/react-hcaptcha": "^1.14.0", "@human-protocol/sdk": "workspace:*", "@mui/icons-material": "^7.3.8", - "@mui/lab": "^6.0.0-dev.240424162023-9968b4889d", + "@mui/lab": "^7.0.0-beta.17", "@mui/material": "^5.16.7", "@mui/system": "^7.3.9", "@mui/x-date-pickers": "^8.26.0", diff --git a/yarn.lock b/yarn.lock index f371e2f304..33b566412d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -557,7 +557,7 @@ __metadata: "@hcaptcha/react-hcaptcha": "npm:^1.14.0" "@human-protocol/sdk": "workspace:*" "@mui/icons-material": "npm:^7.3.8" - "@mui/lab": "npm:^6.0.0-dev.240424162023-9968b4889d" + "@mui/lab": "npm:^7.0.0-beta.17" "@mui/material": "npm:^5.16.7" "@mui/system": "npm:^7.3.9" "@mui/x-date-pickers": "npm:^8.26.0" @@ -2901,7 +2901,14 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.24.4, @babel/runtime@npm:^7.28.6": +"@babel/runtime@npm:^7.28.3": + version: 7.29.2 + resolution: "@babel/runtime@npm:7.29.2" + checksum: 10c0/30b80a0140d16467792e1bbeb06f655b0dab70407da38dfac7fedae9c859f9ae9d846ef14ad77bd3814c064295fe9b1bc551f1541ea14646ae9f22b71a8bc17a + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.28.6": version: 7.28.6 resolution: "@babel/runtime@npm:7.28.6" checksum: 10c0/358cf2429992ac1c466df1a21c1601d595c46930a13c1d4662fde908d44ee78ec3c183aaff513ecb01ef8c55c3624afe0309eeeb34715672dbfadb7feedb2c0d @@ -4502,44 +4509,6 @@ __metadata: languageName: node linkType: hard -"@floating-ui/core@npm:^1.7.3": - version: 1.7.3 - resolution: "@floating-ui/core@npm:1.7.3" - dependencies: - "@floating-ui/utils": "npm:^0.2.10" - checksum: 10c0/edfc23800122d81df0df0fb780b7328ae6c5f00efbb55bd48ea340f4af8c5b3b121ceb4bb81220966ab0f87b443204d37105abdd93d94846468be3243984144c - languageName: node - linkType: hard - -"@floating-ui/dom@npm:^1.7.4": - version: 1.7.4 - resolution: "@floating-ui/dom@npm:1.7.4" - dependencies: - "@floating-ui/core": "npm:^1.7.3" - "@floating-ui/utils": "npm:^0.2.10" - checksum: 10c0/da6166c25f9b0729caa9f498685a73a0e28251613b35d27db8de8014bc9d045158a23c092b405321a3d67c2064909b6e2a7e6c1c9cc0f62967dca5779f5aef30 - languageName: node - linkType: hard - -"@floating-ui/react-dom@npm:^2.0.8": - version: 2.1.6 - resolution: "@floating-ui/react-dom@npm:2.1.6" - dependencies: - "@floating-ui/dom": "npm:^1.7.4" - peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: 10c0/6654834a8e73ecbdbc6cad2ad8f7abc698ac7c1800ded4d61113525c591c03d2e3b59d3cf9205859221465ea38c87af4f9e6e204703c5b7a7e85332d1eef2e18 - languageName: node - linkType: hard - -"@floating-ui/utils@npm:^0.2.10": - version: 0.2.10 - resolution: "@floating-ui/utils@npm:0.2.10" - checksum: 10c0/e9bc2a1730ede1ee25843937e911ab6e846a733a4488623cd353f94721b05ec2c9ec6437613a2ac9379a94c2fd40c797a2ba6fa1df2716f5ce4aa6ddb1cf9ea4 - languageName: node - linkType: hard - "@fontsource/inter@npm:^5.0.17": version: 5.2.8 resolution: "@fontsource/inter@npm:5.2.8" @@ -6667,28 +6636,6 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.42": - version: 5.0.0-beta.42 - resolution: "@mui/base@npm:5.0.0-beta.42" - dependencies: - "@babel/runtime": "npm:^7.24.4" - "@floating-ui/react-dom": "npm:^2.0.8" - "@mui/types": "npm:^7.2.14" - "@mui/utils": "npm:^6.0.0-alpha.1" - "@popperjs/core": "npm:^2.11.8" - clsx: "npm:^2.1.0" - prop-types: "npm:^15.8.1" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/768276965820cffc26295d534a2610fdc8da533e083352da779983d1d16d39784fc764ae3f8bae9e9f7ae3dd7ecb448b483c8ae36d785b3bc81fd436b19f1c8c - languageName: node - linkType: hard - "@mui/core-downloads-tracker@npm:^5.18.0": version: 5.18.0 resolution: "@mui/core-downloads-tracker@npm:5.18.0" @@ -6719,32 +6666,34 @@ __metadata: languageName: node linkType: hard -"@mui/lab@npm:^6.0.0-dev.240424162023-9968b4889d": - version: 6.0.0-dev.240424162023-9968b4889d - resolution: "@mui/lab@npm:6.0.0-dev.240424162023-9968b4889d" +"@mui/lab@npm:^7.0.0-beta.17": + version: 7.0.0-beta.17 + resolution: "@mui/lab@npm:7.0.0-beta.17" dependencies: - "@babel/runtime": "npm:^7.24.4" - "@mui/base": "npm:5.0.0-beta.42" - "@mui/system": "npm:^6.0.0-dev.240424162023-9968b4889d" - "@mui/types": "npm:^7.2.14" - "@mui/utils": "npm:^6.0.0-alpha.3" - clsx: "npm:^2.1.0" + "@babel/runtime": "npm:^7.28.3" + "@mui/system": "npm:^7.3.2" + "@mui/types": "npm:^7.4.6" + "@mui/utils": "npm:^7.3.2" + clsx: "npm:^2.1.1" prop-types: "npm:^15.8.1" peerDependencies: "@emotion/react": ^11.5.0 "@emotion/styled": ^11.3.0 - "@mui/material": ^6.0.0-dev.240424162023-9968b4889d - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 + "@mui/material": ^7.3.2 + "@mui/material-pigment-css": ^7.3.2 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@emotion/react": optional: true "@emotion/styled": optional: true + "@mui/material-pigment-css": + optional: true "@types/react": optional: true - checksum: 10c0/b8e9b5bf386b720dcea7c98afcceb484bb4efd9972ddddbc34378863135f02b03eeaa0af7dd104fdb68f1d9a4e6c5b58c214a7322812c3a6009f5f34a86e7a0b + checksum: 10c0/3b8b7d230934f96f71b4ecb2badcf2b4546a5bcc8ac6da296daa9f2fedd19e62e06bb740283eb7e3cf2710493c4981a7dae13d0d595d710c4313ec555521ac80 languageName: node linkType: hard @@ -6834,23 +6783,6 @@ __metadata: languageName: node linkType: hard -"@mui/private-theming@npm:^6.4.9": - version: 6.4.9 - resolution: "@mui/private-theming@npm:6.4.9" - dependencies: - "@babel/runtime": "npm:^7.26.0" - "@mui/utils": "npm:^6.4.9" - prop-types: "npm:^15.8.1" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/3b198fad085b9ce5092cb2ad2aceee5f6a643f68f4fb1469d0748615490b8b9228179a6564be9c6784aa6f1f42a9afe61f1ad5ce0af56858e9bb58d36472e339 - languageName: node - linkType: hard - "@mui/private-theming@npm:^7.3.3": version: 7.3.3 resolution: "@mui/private-theming@npm:7.3.3" @@ -6922,29 +6854,6 @@ __metadata: languageName: node linkType: hard -"@mui/styled-engine@npm:^6.5.0": - version: 6.5.0 - resolution: "@mui/styled-engine@npm:6.5.0" - dependencies: - "@babel/runtime": "npm:^7.26.0" - "@emotion/cache": "npm:^11.13.5" - "@emotion/serialize": "npm:^1.3.3" - "@emotion/sheet": "npm:^1.4.0" - csstype: "npm:^3.1.3" - prop-types: "npm:^15.8.1" - peerDependencies: - "@emotion/react": ^11.4.1 - "@emotion/styled": ^11.3.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": - optional: true - checksum: 10c0/aa44806d2cdd1b65c756a97927edcd7907cc5649d206382b5b5b8c27f899552a002e713fb167aa0e5aa980542bd309166113830dc550672d7598ad5993e7ff66 - languageName: node - linkType: hard - "@mui/styled-engine@npm:^7.3.3": version: 7.3.3 resolution: "@mui/styled-engine@npm:7.3.3" @@ -7019,17 +6928,17 @@ __metadata: languageName: node linkType: hard -"@mui/system@npm:^6.0.0-dev.240424162023-9968b4889d": - version: 6.5.0 - resolution: "@mui/system@npm:6.5.0" +"@mui/system@npm:^7.3.2, @mui/system@npm:^7.3.9": + version: 7.3.9 + resolution: "@mui/system@npm:7.3.9" dependencies: - "@babel/runtime": "npm:^7.26.0" - "@mui/private-theming": "npm:^6.4.9" - "@mui/styled-engine": "npm:^6.5.0" - "@mui/types": "npm:~7.2.24" - "@mui/utils": "npm:^6.4.9" + "@babel/runtime": "npm:^7.28.6" + "@mui/private-theming": "npm:^7.3.9" + "@mui/styled-engine": "npm:^7.3.9" + "@mui/types": "npm:^7.4.12" + "@mui/utils": "npm:^7.3.9" clsx: "npm:^2.1.1" - csstype: "npm:^3.1.3" + csstype: "npm:^3.2.3" prop-types: "npm:^15.8.1" peerDependencies: "@emotion/react": ^11.5.0 @@ -7043,7 +6952,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: 10c0/2603ca8997625924e867504a53a20f81ad2dd7f3abb314709175341e4d2143bb22e2a9b4e8a008c92bf12e0333775dec651e8b9c237c4848650aabb60d8dab06 + checksum: 10c0/293e4e76e24d3517f8883fe7e8d1a640775a1e7e11b5e9917cd566238d0b0f71f799829d823a022b30a65c6c6f9257c1274a0aec9015b1b7b8d58b27de9d35d8 languageName: node linkType: hard @@ -7075,35 +6984,7 @@ __metadata: languageName: node linkType: hard -"@mui/system@npm:^7.3.9": - version: 7.3.9 - resolution: "@mui/system@npm:7.3.9" - dependencies: - "@babel/runtime": "npm:^7.28.6" - "@mui/private-theming": "npm:^7.3.9" - "@mui/styled-engine": "npm:^7.3.9" - "@mui/types": "npm:^7.4.12" - "@mui/utils": "npm:^7.3.9" - clsx: "npm:^2.1.1" - csstype: "npm:^3.2.3" - prop-types: "npm:^15.8.1" - peerDependencies: - "@emotion/react": ^11.5.0 - "@emotion/styled": ^11.3.0 - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": - optional: true - "@types/react": - optional: true - checksum: 10c0/293e4e76e24d3517f8883fe7e8d1a640775a1e7e11b5e9917cd566238d0b0f71f799829d823a022b30a65c6c6f9257c1274a0aec9015b1b7b8d58b27de9d35d8 - languageName: node - linkType: hard - -"@mui/types@npm:^7.2.14, @mui/types@npm:^7.4.10": +"@mui/types@npm:^7.4.10": version: 7.4.10 resolution: "@mui/types@npm:7.4.10" dependencies: @@ -7117,7 +6998,7 @@ __metadata: languageName: node linkType: hard -"@mui/types@npm:^7.4.12": +"@mui/types@npm:^7.4.12, @mui/types@npm:^7.4.6": version: 7.4.12 resolution: "@mui/types@npm:7.4.12" dependencies: @@ -7145,7 +7026,7 @@ __metadata: languageName: node linkType: hard -"@mui/types@npm:~7.2.15, @mui/types@npm:~7.2.24": +"@mui/types@npm:~7.2.15": version: 7.2.24 resolution: "@mui/types@npm:7.2.24" peerDependencies: @@ -7177,23 +7058,23 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^6.0.0-alpha.1, @mui/utils@npm:^6.0.0-alpha.3, @mui/utils@npm:^6.4.9": - version: 6.4.9 - resolution: "@mui/utils@npm:6.4.9" +"@mui/utils@npm:^7.3.2, @mui/utils@npm:^7.3.9": + version: 7.3.9 + resolution: "@mui/utils@npm:7.3.9" dependencies: - "@babel/runtime": "npm:^7.26.0" - "@mui/types": "npm:~7.2.24" - "@types/prop-types": "npm:^15.7.14" + "@babel/runtime": "npm:^7.28.6" + "@mui/types": "npm:^7.4.12" + "@types/prop-types": "npm:^15.7.15" clsx: "npm:^2.1.1" prop-types: "npm:^15.8.1" - react-is: "npm:^19.0.0" + react-is: "npm:^19.2.3" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/27122262bc24d31e8906e3133f3f6e6c858733802019e0e9ec6dedf632ca46287ab3735c9da6be7a7e0b4f043ced9b8f36b5b21bfef1d96ecfa5d150ea458508 + checksum: 10c0/218423d82807bf031ad69cb897ac0d0038b65da1bf282e167d1c195764946964e2bea2dbcbb2c01e143d9cb3a702efe3f5ff3320602a001e6ba5202f82648e3e languageName: node linkType: hard @@ -7237,26 +7118,6 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^7.3.9": - version: 7.3.9 - resolution: "@mui/utils@npm:7.3.9" - dependencies: - "@babel/runtime": "npm:^7.28.6" - "@mui/types": "npm:^7.4.12" - "@types/prop-types": "npm:^15.7.15" - clsx: "npm:^2.1.1" - prop-types: "npm:^15.8.1" - react-is: "npm:^19.2.3" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/218423d82807bf031ad69cb897ac0d0038b65da1bf282e167d1c195764946964e2bea2dbcbb2c01e143d9cb3a702efe3f5ff3320602a001e6ba5202f82648e3e - languageName: node - linkType: hard - "@mui/x-data-grid@npm:^8.7.0": version: 8.16.0 resolution: "@mui/x-data-grid@npm:8.16.0" @@ -12128,7 +11989,7 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:*, @types/prop-types@npm:^15, @types/prop-types@npm:^15.7.12, @types/prop-types@npm:^15.7.14, @types/prop-types@npm:^15.7.15": +"@types/prop-types@npm:*, @types/prop-types@npm:^15, @types/prop-types@npm:^15.7.12, @types/prop-types@npm:^15.7.15": version: 15.7.15 resolution: "@types/prop-types@npm:15.7.15" checksum: 10c0/b59aad1ad19bf1733cf524fd4e618196c6c7690f48ee70a327eb450a42aab8e8a063fbe59ca0a5701aebe2d92d582292c0fb845ea57474f6a15f6994b0e260b2 From 984a1eb94406f9701c69f2546b74694cfe922a28 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Mar 2026 16:53:14 +0100 Subject: [PATCH 7/8] chore(deps-dev): bump @graphql-eslint/eslint-plugin from 3.20.1 to 4.4.0 (#3845) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: flopez7 --- packages/subgraph/hmt/eslint.config.mjs | 5 +- packages/subgraph/hmt/package.json | 2 +- .../subgraph/human-protocol/eslint.config.mjs | 5 +- packages/subgraph/human-protocol/package.json | 2 +- yarn.lock | 933 ++++++++++-------- 5 files changed, 555 insertions(+), 392 deletions(-) diff --git a/packages/subgraph/hmt/eslint.config.mjs b/packages/subgraph/hmt/eslint.config.mjs index 666059c3d0..6ca02a8eee 100644 --- a/packages/subgraph/hmt/eslint.config.mjs +++ b/packages/subgraph/hmt/eslint.config.mjs @@ -1,9 +1,10 @@ import eslint from '@eslint/js'; +import { configs as graphqlConfigs } from '@graphql-eslint/eslint-plugin'; import globals from 'globals'; import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; import tseslint from 'typescript-eslint'; -import { flatConfigs as graphqlFlatConfigs } from '@graphql-eslint/eslint-plugin'; -const graphqlOperations = graphqlFlatConfigs['operations-recommended']; + +const graphqlOperations = graphqlConfigs['flat/operations-recommended']; export default tseslint.config( { diff --git a/packages/subgraph/hmt/package.json b/packages/subgraph/hmt/package.json index f06777bc54..cfea826c2f 100644 --- a/packages/subgraph/hmt/package.json +++ b/packages/subgraph/hmt/package.json @@ -33,7 +33,7 @@ "@eslint/js": "^10.0.1", "@graphprotocol/graph-cli": "^0.97.1", "@graphprotocol/graph-ts": "^0.38.0", - "@graphql-eslint/eslint-plugin": "^3.19.1", + "@graphql-eslint/eslint-plugin": "^4.4.0", "@human-protocol/core": "workspace:*", "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", diff --git a/packages/subgraph/human-protocol/eslint.config.mjs b/packages/subgraph/human-protocol/eslint.config.mjs index 666059c3d0..6ca02a8eee 100644 --- a/packages/subgraph/human-protocol/eslint.config.mjs +++ b/packages/subgraph/human-protocol/eslint.config.mjs @@ -1,9 +1,10 @@ import eslint from '@eslint/js'; +import { configs as graphqlConfigs } from '@graphql-eslint/eslint-plugin'; import globals from 'globals'; import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; import tseslint from 'typescript-eslint'; -import { flatConfigs as graphqlFlatConfigs } from '@graphql-eslint/eslint-plugin'; -const graphqlOperations = graphqlFlatConfigs['operations-recommended']; + +const graphqlOperations = graphqlConfigs['flat/operations-recommended']; export default tseslint.config( { diff --git a/packages/subgraph/human-protocol/package.json b/packages/subgraph/human-protocol/package.json index 3b13aa27b6..d72955cd23 100644 --- a/packages/subgraph/human-protocol/package.json +++ b/packages/subgraph/human-protocol/package.json @@ -39,7 +39,7 @@ "@eslint/js": "^10.0.1", "@graphprotocol/graph-cli": "^0.97.1", "@graphprotocol/graph-ts": "^0.38.0", - "@graphql-eslint/eslint-plugin": "^3.19.1", + "@graphql-eslint/eslint-plugin": "^4.4.0", "@human-protocol/core": "workspace:*", "eslint": "^10.1.0", "eslint-config-prettier": "^10.1.8", diff --git a/yarn.lock b/yarn.lock index 33b566412d..9562bebc48 100644 --- a/yarn.lock +++ b/yarn.lock @@ -799,15 +799,6 @@ __metadata: languageName: unknown linkType: soft -"@ardatan/sync-fetch@npm:^0.0.1": - version: 0.0.1 - resolution: "@ardatan/sync-fetch@npm:0.0.1" - dependencies: - node-fetch: "npm:^2.6.1" - checksum: 10c0/cd69134005ef5ea570d55631c8be59b593e2dda2207f616d30618f948af6ee5d227b857aefd56c535e8f7f3ade47083e4e7795b5ee014a6732011c6e5f9eb08f - languageName: node - linkType: hard - "@asamuzakjp/css-color@npm:^3.2.0": version: 3.2.0 resolution: "@asamuzakjp/css-color@npm:3.2.0" @@ -1378,7 +1369,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.27.1": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.27.1": version: 7.27.1 resolution: "@babel/code-frame@npm:7.27.1" dependencies: @@ -1389,6 +1380,17 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/code-frame@npm:7.29.0" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.28.5" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/d34cc504e7765dfb576a663d97067afb614525806b5cad1a5cc1a7183b916fec8ff57fa233585e3926fd5a9e6b31aae6df91aa81ae9775fb7a28f658d3346f0d + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.5": version: 7.28.5 resolution: "@babel/compat-data@npm:7.28.5" @@ -1396,6 +1398,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.28.6": + version: 7.29.0 + resolution: "@babel/compat-data@npm:7.29.0" + checksum: 10c0/08f348554989d23aa801bf1405aa34b15e841c0d52d79da7e524285c77a5f9d298e70e11d91cc578d8e2c9542efc586d50c5f5cf8e1915b254a9dcf786913a94 + languageName: node + linkType: hard + "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.16.0, @babel/core@npm:^7.21.3, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.0, @babel/core@npm:^7.28.0": version: 7.28.5 resolution: "@babel/core@npm:7.28.5" @@ -1419,6 +1428,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.28.6": + version: 7.29.0 + resolution: "@babel/core@npm:7.29.0" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helpers": "npm:^7.28.6" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/5127d2e8e842ae409e11bcbb5c2dff9874abf5415e8026925af7308e903f4f43397341467a130490d1a39884f461bc2b67f3063bce0be44340db89687fd852aa + languageName: node + linkType: hard + "@babel/eslint-parser@npm:^7.16.3, @babel/eslint-parser@npm:^7.23.10": version: 7.28.5 resolution: "@babel/eslint-parser@npm:7.28.5" @@ -1446,6 +1478,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.29.0": + version: 7.29.1 + resolution: "@babel/generator@npm:7.29.1" + dependencies: + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10c0/349086e6876258ef3fb2823030fee0f6c0eb9c3ebe35fc572e16997f8c030d765f636ddc6299edae63e760ea6658f8ee9a2edfa6d6b24c9a80c917916b973551 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": version: 7.27.3 resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" @@ -1468,6 +1513,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-compilation-targets@npm:7.28.6" + dependencies: + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/3fcdf3b1b857a1578e99d20508859dbd3f22f3c87b8a0f3dc540627b4be539bae7f6e61e49d931542fe5b557545347272bbdacd7f58a5c77025a18b745593a50 + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.27.1, @babel/helper-create-class-features-plugin@npm:^7.28.3, @babel/helper-create-class-features-plugin@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-create-class-features-plugin@npm:7.28.5" @@ -1540,6 +1598,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-imports@npm:7.28.6" + dependencies: + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/b49d8d8f204d9dbfd5ac70c54e533e5269afb3cea966a9d976722b13e9922cc773a653405f53c89acb247d5aebdae4681d631a3ae3df77ec046b58da76eda2ac + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3": version: 7.28.3 resolution: "@babel/helper-module-transforms@npm:7.28.3" @@ -1553,6 +1621,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-transforms@npm:7.28.6" + dependencies: + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/6f03e14fc30b287ce0b839474b5f271e72837d0cafe6b172d759184d998fbee3903a035e81e07c2c596449e504f453463d58baa65b6f40a37ded5bec74620b2b + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" @@ -1569,6 +1650,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-plugin-utils@npm:7.28.6" + checksum: 10c0/3f5f8acc152fdbb69a84b8624145ff4f9b9f6e776cb989f9f968f8606eb7185c5c3cfcf3ba08534e37e1e0e1c118ac67080610333f56baa4f7376c99b5f1143d + languageName: node + linkType: hard + "@babel/helper-remap-async-to-generator@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" @@ -1647,7 +1735,17 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.5": +"@babel/helpers@npm:^7.28.6": + version: 7.29.2 + resolution: "@babel/helpers@npm:7.29.2" + dependencies: + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.29.0" + checksum: 10c0/dab0e65b9318b2502a62c58bc0913572318595eec0482c31f0ad416b72636e6698a1d7c57cd2791d4528eb8c548bca88d338dc4d2a55a108dc1f6702f9bc5512 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.5": version: 7.28.5 resolution: "@babel/parser@npm:7.28.5" dependencies: @@ -1658,6 +1756,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.26.10, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": + version: 7.29.2 + resolution: "@babel/parser@npm:7.29.2" + dependencies: + "@babel/types": "npm:^7.29.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/e5a4e69e3ac7acdde995f37cf299a68458cfe7009dff66bd0962fd04920bef287201169006af365af479c08ff216bfefbb595e331f87f6ae7283858aebbc3317 + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": version: 7.28.5 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" @@ -1880,7 +1989,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.20.0, @babel/plugin-syntax-import-assertions@npm:^7.27.1": +"@babel/plugin-syntax-import-assertions@npm:^7.26.0": + version: 7.28.6 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.28.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f3b8bdccb9b4d3e3b9226684ca518e055399d05579da97dfe0160a38d65198cfe7dce809e73179d6463a863a040f980de32425a876d88efe4eda933d0d95982c + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" dependencies: @@ -2926,7 +3046,33 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.4, @babel/traverse@npm:^7.28.5": +"@babel/template@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/template@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/66d87225ed0bc77f888181ae2d97845021838c619944877f7c4398c6748bcf611f216dfd6be74d39016af502bca876e6ce6873db3c49e4ac354c56d34d57e9f5 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.26.10, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/traverse@npm:7.29.0" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.29.0" + debug: "npm:^4.3.1" + checksum: 10c0/f63ef6e58d02a9fbf3c0e2e5f1c877da3e0bc57f91a19d2223d53e356a76859cbaf51171c9211c71816d94a0e69efa2732fd27ffc0e1bbc84b636e60932333eb + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.4, @babel/traverse@npm:^7.28.5": version: 7.28.5 resolution: "@babel/traverse@npm:7.28.5" dependencies: @@ -2941,7 +3087,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.28.5 resolution: "@babel/types@npm:7.28.5" dependencies: @@ -2951,6 +3097,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.26.10, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/types@npm:7.29.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/23cc3466e83bcbfab8b9bd0edaafdb5d4efdb88b82b3be6728bbade5ba2f0996f84f63b1c5f7a8c0d67efded28300898a5f930b171bb40b311bca2029c4e9b4f + languageName: node + linkType: hard + "@base-org/account@npm:2.4.0": version: 2.4.0 resolution: "@base-org/account@npm:2.4.0" @@ -3530,6 +3686,38 @@ __metadata: languageName: node linkType: hard +"@envelop/core@npm:^5.4.0": + version: 5.5.1 + resolution: "@envelop/core@npm:5.5.1" + dependencies: + "@envelop/instrumentation": "npm:^1.0.0" + "@envelop/types": "npm:^5.2.1" + "@whatwg-node/promise-helpers": "npm:^1.2.4" + tslib: "npm:^2.5.0" + checksum: 10c0/380d5a1bc7abf700dc42195c5769f08e18eef7de552ad36299445b416ff3d2c2d5a74bcfae3239b6c390793efc842120dcdbdc0872457a2fdc80b4c37a54312a + languageName: node + linkType: hard + +"@envelop/instrumentation@npm:^1.0.0": + version: 1.0.0 + resolution: "@envelop/instrumentation@npm:1.0.0" + dependencies: + "@whatwg-node/promise-helpers": "npm:^1.2.1" + tslib: "npm:^2.5.0" + checksum: 10c0/134df1ac481fb392aafc4522a22bcdc6ef0701f2d15d51b16207f3c9a4c7d3760adfa5f5bcc84f0c0ec7b011d84bcd40fff671eb471bed54bd928c165994b4e3 + languageName: node + linkType: hard + +"@envelop/types@npm:^5.2.1": + version: 5.2.1 + resolution: "@envelop/types@npm:5.2.1" + dependencies: + "@whatwg-node/promise-helpers": "npm:^1.0.0" + tslib: "npm:^2.5.0" + checksum: 10c0/2cdbb29d98350d957e18aff38ddf95670c249df894afab7fc888e2a02b43ca029fde96ca2829e5350bf83b982bc0267a5c8f7ee3ed9d353d4f145ebc0dc0b1e0 + languageName: node + linkType: hard + "@esbuild/aix-ppc64@npm:0.25.12": version: 0.25.12 resolution: "@esbuild/aix-ppc64@npm:0.25.12" @@ -4672,287 +4860,329 @@ __metadata: languageName: node linkType: hard -"@graphql-eslint/eslint-plugin@npm:^3.19.1": - version: 3.20.1 - resolution: "@graphql-eslint/eslint-plugin@npm:3.20.1" +"@graphql-eslint/eslint-plugin@npm:^4.4.0": + version: 4.4.0 + resolution: "@graphql-eslint/eslint-plugin@npm:4.4.0" dependencies: - "@babel/code-frame": "npm:^7.18.6" - "@graphql-tools/code-file-loader": "npm:^7.3.6" - "@graphql-tools/graphql-tag-pluck": "npm:^7.3.6" - "@graphql-tools/utils": "npm:^9.0.0" - chalk: "npm:^4.1.2" + "@graphql-tools/code-file-loader": "npm:^8.0.0" + "@graphql-tools/graphql-tag-pluck": "npm:^8.3.4" + "@graphql-tools/utils": "npm:^10.0.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.2.12" - graphql-config: "npm:^4.4.0" + graphql-config: "npm:^5.1.3" graphql-depth-limit: "npm:^1.1.0" lodash.lowercase: "npm:^4.3.0" - tslib: "npm:^2.4.1" peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10c0/30c874e2f6ae845d7b8e016074c4b3b195a493afbff6fee4c61877893ab565d5e358b6424f35cf812b0956c48ed9a48490382ddf1d9eaa169069eb31fb7431a5 + "@apollo/subgraph": ^2 + eslint: ">=8.44.0" + graphql: ^16 + json-schema-to-ts: ^3 + peerDependenciesMeta: + "@apollo/subgraph": + optional: true + json-schema-to-ts: + optional: true + checksum: 10c0/ec513156279e7de6d281ae32db98f1750870c233f9dced8bf449ad3ac8635675d34797650db14999633d35a5401a7283be6a4ef05808d9c4ddc9de86159b1fd5 + languageName: node + linkType: hard + +"@graphql-hive/signal@npm:^2.0.0": + version: 2.0.0 + resolution: "@graphql-hive/signal@npm:2.0.0" + checksum: 10c0/33a0b095fb55155b9eab25815c6a208fd69a712b445978796297375b42d3bec7e20e4db9226d20c5dd0d5cbf8a514eecd6dcd1dc3d06c4bfc0617735a7f0e6f9 languageName: node linkType: hard -"@graphql-tools/batch-execute@npm:^8.5.22": - version: 8.5.22 - resolution: "@graphql-tools/batch-execute@npm:8.5.22" +"@graphql-tools/batch-execute@npm:^10.0.7": + version: 10.0.7 + resolution: "@graphql-tools/batch-execute@npm:10.0.7" dependencies: - "@graphql-tools/utils": "npm:^9.2.1" - dataloader: "npm:^2.2.2" - tslib: "npm:^2.4.0" - value-or-promise: "npm:^1.0.12" + "@graphql-tools/utils": "npm:^11.0.0" + "@whatwg-node/promise-helpers": "npm:^1.3.2" + dataloader: "npm:^2.2.3" + tslib: "npm:^2.8.1" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/ff5ad8f36844cfa823061e6aa4cb0e5c4e2ebbd716c02c04bc1fdf637799fea760abd9f53083e9ebb038a0aa61263cf6360535776610dbfb9b0981e1deb1fb8a + checksum: 10c0/294e3f735a8e20b52bfe7acc0b0678e0ca20488aea88b6c3a0b7eca1fe14c280910e99eb817ed3ead14cfc3520de1e42b803bc23b48fc20b6ee7e71fb8270a74 languageName: node linkType: hard -"@graphql-tools/code-file-loader@npm:^7.3.6": - version: 7.3.23 - resolution: "@graphql-tools/code-file-loader@npm:7.3.23" +"@graphql-tools/code-file-loader@npm:^8.0.0": + version: 8.1.29 + resolution: "@graphql-tools/code-file-loader@npm:8.1.29" dependencies: - "@graphql-tools/graphql-tag-pluck": "npm:7.5.2" - "@graphql-tools/utils": "npm:^9.2.1" + "@graphql-tools/graphql-tag-pluck": "npm:8.3.28" + "@graphql-tools/utils": "npm:^11.0.0" globby: "npm:^11.0.3" tslib: "npm:^2.4.0" unixify: "npm:^1.0.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/c7a59c9422c20b3deecdaa227a73c900581487f3f13dc4105ffe2e32f4d740b9d9409d4aed2a8f8c78f659f5181f93a20cfbb963994c9902261a1df7486c9bd4 + checksum: 10c0/32ed4160775b4d1978c5b9fad504a3eca02130881a3a4a17b2db7bde13b4fb48e4a43327892443b2c536f05eaefc63cc9ceffa31097a7aff29076e1b2b00224d languageName: node linkType: hard -"@graphql-tools/delegate@npm:^9.0.31": - version: 9.0.35 - resolution: "@graphql-tools/delegate@npm:9.0.35" +"@graphql-tools/delegate@npm:^12.0.12": + version: 12.0.12 + resolution: "@graphql-tools/delegate@npm:12.0.12" dependencies: - "@graphql-tools/batch-execute": "npm:^8.5.22" - "@graphql-tools/executor": "npm:^0.0.20" - "@graphql-tools/schema": "npm:^9.0.19" - "@graphql-tools/utils": "npm:^9.2.1" - dataloader: "npm:^2.2.2" - tslib: "npm:^2.5.0" - value-or-promise: "npm:^1.0.12" + "@graphql-tools/batch-execute": "npm:^10.0.7" + "@graphql-tools/executor": "npm:^1.4.13" + "@graphql-tools/schema": "npm:^10.0.29" + "@graphql-tools/utils": "npm:^11.0.0" + "@repeaterjs/repeater": "npm:^3.0.6" + "@whatwg-node/promise-helpers": "npm:^1.3.2" + dataloader: "npm:^2.2.3" + tslib: "npm:^2.8.1" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/1199ad14ffa1f0e8d6b12102bd78f7b0451ebe802f4bb7b4332a6fc27acf26b5d092b9dc6d656c7595efb0f7fc3bc247ba7fe1bb5317892443f42b27af4c54fc + checksum: 10c0/9fbabf2ed3c7a0ae0893827e72d2004b4b9dce81465b61a3c8feeb53c96e6bc694d4e36c76f5bd6db8dd0cacf98a39f9e45b64a1dda7b965b68126011a11c256 languageName: node linkType: hard -"@graphql-tools/executor-graphql-ws@npm:^0.0.14": - version: 0.0.14 - resolution: "@graphql-tools/executor-graphql-ws@npm:0.0.14" +"@graphql-tools/executor-common@npm:^1.0.6": + version: 1.0.6 + resolution: "@graphql-tools/executor-common@npm:1.0.6" dependencies: - "@graphql-tools/utils": "npm:^9.2.1" - "@repeaterjs/repeater": "npm:3.0.4" - "@types/ws": "npm:^8.0.0" - graphql-ws: "npm:5.12.1" - isomorphic-ws: "npm:5.0.0" - tslib: "npm:^2.4.0" - ws: "npm:8.13.0" + "@envelop/core": "npm:^5.4.0" + "@graphql-tools/utils": "npm:^11.0.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/35619da6da45320ea53433018c4e2aa3ceab5fed097b9b51b6151007817139c9cb9f554d44a6fc51185d3ba829824cad9758f6cd98ead052a75d3d757306400f + checksum: 10c0/eb43c0475ef85a3b627fc6c9b0a0294dd0ea515de3ed59bf12ec82cd12a1e0a919ae442db124d0a7d8390dd267102fc8f9beb6c2e6a37047085fadbf6e8afc55 languageName: node linkType: hard -"@graphql-tools/executor-http@npm:^0.1.7": - version: 0.1.10 - resolution: "@graphql-tools/executor-http@npm:0.1.10" +"@graphql-tools/executor-graphql-ws@npm:^3.1.4": + version: 3.1.5 + resolution: "@graphql-tools/executor-graphql-ws@npm:3.1.5" dependencies: - "@graphql-tools/utils": "npm:^9.2.1" + "@graphql-tools/executor-common": "npm:^1.0.6" + "@graphql-tools/utils": "npm:^11.0.0" + "@whatwg-node/disposablestack": "npm:^0.0.6" + graphql-ws: "npm:^6.0.6" + isows: "npm:^1.0.7" + tslib: "npm:^2.8.1" + ws: "npm:^8.18.3" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/0cc0816d71b99c0c3636b07b1ebefad5c49eef4ed732011cfd25f7d873ee1718ada0d6f5e2afcfbe05a55cac7f0d9ee0275c66d6db012a969cdd029aeaa07293 + languageName: node + linkType: hard + +"@graphql-tools/executor-http@npm:^3.1.0": + version: 3.1.1 + resolution: "@graphql-tools/executor-http@npm:3.1.1" + dependencies: + "@graphql-hive/signal": "npm:^2.0.0" + "@graphql-tools/executor-common": "npm:^1.0.6" + "@graphql-tools/utils": "npm:^11.0.0" "@repeaterjs/repeater": "npm:^3.0.4" - "@whatwg-node/fetch": "npm:^0.8.1" - dset: "npm:^3.1.2" - extract-files: "npm:^11.0.0" - meros: "npm:^1.2.1" - tslib: "npm:^2.4.0" - value-or-promise: "npm:^1.0.12" + "@whatwg-node/disposablestack": "npm:^0.0.6" + "@whatwg-node/fetch": "npm:^0.10.13" + "@whatwg-node/promise-helpers": "npm:^1.3.2" + meros: "npm:^1.3.2" + tslib: "npm:^2.8.1" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/db2bb80e10bde0e6e34c3c86ed30c4f3082ba332fba5700d182045c4eb40453e670ea2277426fea31167481ed0b89446644ff106848e397b83e17c61d73218f3 + checksum: 10c0/366bd48322f616b495d948f3f125215cf975ffa42e47eefa396a985176fff6b4e448a8860e3afdff0871dce508881bcb608232b72ce5f5c6bc7d69afd544ab96 languageName: node linkType: hard -"@graphql-tools/executor-legacy-ws@npm:^0.0.11": - version: 0.0.11 - resolution: "@graphql-tools/executor-legacy-ws@npm:0.0.11" +"@graphql-tools/executor-legacy-ws@npm:^1.1.25": + version: 1.1.25 + resolution: "@graphql-tools/executor-legacy-ws@npm:1.1.25" dependencies: - "@graphql-tools/utils": "npm:^9.2.1" + "@graphql-tools/utils": "npm:^11.0.0" "@types/ws": "npm:^8.0.0" - isomorphic-ws: "npm:5.0.0" + isomorphic-ws: "npm:^5.0.0" tslib: "npm:^2.4.0" - ws: "npm:8.13.0" + ws: "npm:^8.19.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/caf03080b125a9c3291a09a19747ffd7d16c99bfa378ee26bbd82d7613efcaa516d684ed74139a70267c68d8b4ff071541a4db4c9a3e9d2ea944d2bf912b6f50 + checksum: 10c0/42184c80aa52ce10af503658f606ada1871c2881f808c3a76bf3e48cd16ea89e6edd4e97a843b6249e4b7ac66566e2349914df1bfeadfc0e0ec3f3a84f9fb1f0 languageName: node linkType: hard -"@graphql-tools/executor@npm:^0.0.20": - version: 0.0.20 - resolution: "@graphql-tools/executor@npm:0.0.20" +"@graphql-tools/executor@npm:^1.4.13": + version: 1.5.1 + resolution: "@graphql-tools/executor@npm:1.5.1" dependencies: - "@graphql-tools/utils": "npm:^9.2.1" - "@graphql-typed-document-node/core": "npm:3.2.0" + "@graphql-tools/utils": "npm:^11.0.0" + "@graphql-typed-document-node/core": "npm:^3.2.0" "@repeaterjs/repeater": "npm:^3.0.4" + "@whatwg-node/disposablestack": "npm:^0.0.6" + "@whatwg-node/promise-helpers": "npm:^1.0.0" tslib: "npm:^2.4.0" - value-or-promise: "npm:^1.0.12" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/c9300ac118040ea1da18f4cc79613292d91b6e5edc312763c5b8a9da79cc3581bc7d43a292120c7b4c71367613c4b21da3e656985dce827fae0503a5fcbcbc71 + checksum: 10c0/6d8d4dd9c005bd280da2bf61c8606f0dc1f0b0d6f518c5020b1d24854fd3cf8627843e21cd46ae5a505e3271cb88db0204fad8aaf5949020ebfa2cf26971c7b3 languageName: node linkType: hard -"@graphql-tools/graphql-file-loader@npm:^7.3.7": - version: 7.5.17 - resolution: "@graphql-tools/graphql-file-loader@npm:7.5.17" +"@graphql-tools/graphql-file-loader@npm:^8.0.0": + version: 8.1.12 + resolution: "@graphql-tools/graphql-file-loader@npm:8.1.12" dependencies: - "@graphql-tools/import": "npm:6.7.18" - "@graphql-tools/utils": "npm:^9.2.1" + "@graphql-tools/import": "npm:^7.1.12" + "@graphql-tools/utils": "npm:^11.0.0" globby: "npm:^11.0.3" tslib: "npm:^2.4.0" unixify: "npm:^1.0.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/f737f14357731ad01da57755e1cf26ce375b475209d6ab7e4b656b56191a8979d2ab7dd5d1c54a1f11e04374f7a373fa95ea5ec6a001d0cef913ea208fadc65b + checksum: 10c0/efc08fb887a7e8166957cae6935896a3e026a71319fbddaf896cf5a9c07bda85e7e92f371d78af633e31fe5844f8312809dad1262b1e90b54e1287637e1f1088 languageName: node linkType: hard -"@graphql-tools/graphql-tag-pluck@npm:7.5.2, @graphql-tools/graphql-tag-pluck@npm:^7.3.6": - version: 7.5.2 - resolution: "@graphql-tools/graphql-tag-pluck@npm:7.5.2" +"@graphql-tools/graphql-tag-pluck@npm:8.3.28, @graphql-tools/graphql-tag-pluck@npm:^8.3.4": + version: 8.3.28 + resolution: "@graphql-tools/graphql-tag-pluck@npm:8.3.28" dependencies: - "@babel/parser": "npm:^7.16.8" - "@babel/plugin-syntax-import-assertions": "npm:^7.20.0" - "@babel/traverse": "npm:^7.16.8" - "@babel/types": "npm:^7.16.8" - "@graphql-tools/utils": "npm:^9.2.1" + "@babel/core": "npm:^7.28.6" + "@babel/parser": "npm:^7.26.10" + "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" + "@babel/traverse": "npm:^7.26.10" + "@babel/types": "npm:^7.26.10" + "@graphql-tools/utils": "npm:^11.0.0" tslib: "npm:^2.4.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/86d9558cdd64526dd8ff8c3fdcb8c242c00911fac856ea7c8d6e437a13a1ee38aea44a55c586bcba13481928f45cd3e2006712cc750a8ba5a3d43e7be6097ea8 + checksum: 10c0/59174cf25397289df91d6bdba77df008b2e37bce2ed4267123dab748b9333443178623d635e2678ee3238740fde669a6e71e4f73f95fb5df51fd42496a8fa291 languageName: node linkType: hard -"@graphql-tools/import@npm:6.7.18": - version: 6.7.18 - resolution: "@graphql-tools/import@npm:6.7.18" +"@graphql-tools/import@npm:^7.1.12": + version: 7.1.12 + resolution: "@graphql-tools/import@npm:7.1.12" dependencies: - "@graphql-tools/utils": "npm:^9.2.1" + "@graphql-tools/utils": "npm:^11.0.0" resolve-from: "npm:5.0.0" tslib: "npm:^2.4.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/d33e37a1879dd43ac2851c9bac2f2873c58bb3687f1c06e159760dbb5e540ef074d688df70cc6dbd3ee5de48d437878df8f65a7c65ae80bd025bf98f2d615732 + checksum: 10c0/a57f2b68fc54762d2a1a6a648ced41403df8cdc5f088c55da33e30c706a1b4892cdbd75ddae4d26d42e7952d7049790b4318e33924e8165635e9cd2fab962a7c languageName: node linkType: hard -"@graphql-tools/json-file-loader@npm:^7.3.7": - version: 7.4.18 - resolution: "@graphql-tools/json-file-loader@npm:7.4.18" +"@graphql-tools/json-file-loader@npm:^8.0.0": + version: 8.0.26 + resolution: "@graphql-tools/json-file-loader@npm:8.0.26" dependencies: - "@graphql-tools/utils": "npm:^9.2.1" + "@graphql-tools/utils": "npm:^11.0.0" globby: "npm:^11.0.3" tslib: "npm:^2.4.0" unixify: "npm:^1.0.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/0628719ae10799d6b07d80b2f6228d62afb53aa52ce2f95e222afa63c829fd3ccf1bec68f334c5a00e11f1a517c768528704bb9290a8e303a60e0286258e100d + checksum: 10c0/899f388d639c2ab4881b0e6892c01c4dafe82954b14ad37ab7ce32daf12424f3bdbefb2dc299ce771b5af0d6d1b4f48c99affa961ccf4e68396be3aed20822ad languageName: node linkType: hard -"@graphql-tools/load@npm:^7.5.5": - version: 7.8.14 - resolution: "@graphql-tools/load@npm:7.8.14" +"@graphql-tools/load@npm:^8.1.0": + version: 8.1.8 + resolution: "@graphql-tools/load@npm:8.1.8" dependencies: - "@graphql-tools/schema": "npm:^9.0.18" - "@graphql-tools/utils": "npm:^9.2.1" + "@graphql-tools/schema": "npm:^10.0.31" + "@graphql-tools/utils": "npm:^11.0.0" p-limit: "npm:3.1.0" tslib: "npm:^2.4.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/1fa036ac596ccf48f350aa545d108c173184d9b53247f9e21c0d4ba96c5cba4a0b44281f9154f122e1e8e9d9d6eab93a5b2618ca8a797969bde1e75c1d45e786 + checksum: 10c0/87d26ee4363223e0f187dd6d4fd41c2dee80ec87ce1f01faf7174ac1ca0b85ac537f466a084812024cd2857a0df17c71afae3567998b84cc7a65b65bb84c0663 languageName: node linkType: hard -"@graphql-tools/merge@npm:^8.2.6, @graphql-tools/merge@npm:^8.4.1": - version: 8.4.2 - resolution: "@graphql-tools/merge@npm:8.4.2" +"@graphql-tools/merge@npm:^9.0.0, @graphql-tools/merge@npm:^9.1.7": + version: 9.1.7 + resolution: "@graphql-tools/merge@npm:9.1.7" dependencies: - "@graphql-tools/utils": "npm:^9.2.1" + "@graphql-tools/utils": "npm:^11.0.0" tslib: "npm:^2.4.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/2df55222b48e010e683572f456cf265aabae5748c59f7c1260c66dec9794b7a076d3706f04da969b77f0a32c7ccb4551fee30125931d3fe9c98a8806aae9a3f4 + checksum: 10c0/b1dbebb12419e9d1d2f2ae6a92bbbe67dca4def052b6225259c3fee5d98a178668614f7faf68cfb2097e6598a7ef69309e1e9e93db6a5e219731b7613ab9805a languageName: node linkType: hard -"@graphql-tools/schema@npm:^9.0.18, @graphql-tools/schema@npm:^9.0.19": - version: 9.0.19 - resolution: "@graphql-tools/schema@npm:9.0.19" +"@graphql-tools/schema@npm:^10.0.29, @graphql-tools/schema@npm:^10.0.31": + version: 10.0.31 + resolution: "@graphql-tools/schema@npm:10.0.31" dependencies: - "@graphql-tools/merge": "npm:^8.4.1" - "@graphql-tools/utils": "npm:^9.2.1" + "@graphql-tools/merge": "npm:^9.1.7" + "@graphql-tools/utils": "npm:^11.0.0" tslib: "npm:^2.4.0" - value-or-promise: "npm:^1.0.12" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/42fd8ca8d3c8d60b583077c201980518482ff0cd5ed0c1f14bd9b835a2689ad41d02cbd3478f7d7dea7aec1227f7639fd5deb5e6360852a2e542b96b44bfb7a4 + checksum: 10c0/d95b969d8f118e642a963b4a947314e475affba0acc0470132e52164d7fd483eccf13c8dbf70b33be535309af17b480fd7061c947ce6d76092d7d2a3527a499f languageName: node linkType: hard -"@graphql-tools/url-loader@npm:^7.9.7": - version: 7.17.18 - resolution: "@graphql-tools/url-loader@npm:7.17.18" +"@graphql-tools/url-loader@npm:^9.0.0": + version: 9.0.7 + resolution: "@graphql-tools/url-loader@npm:9.0.7" dependencies: - "@ardatan/sync-fetch": "npm:^0.0.1" - "@graphql-tools/delegate": "npm:^9.0.31" - "@graphql-tools/executor-graphql-ws": "npm:^0.0.14" - "@graphql-tools/executor-http": "npm:^0.1.7" - "@graphql-tools/executor-legacy-ws": "npm:^0.0.11" - "@graphql-tools/utils": "npm:^9.2.1" - "@graphql-tools/wrap": "npm:^9.4.2" + "@graphql-tools/executor-graphql-ws": "npm:^3.1.4" + "@graphql-tools/executor-http": "npm:^3.1.0" + "@graphql-tools/executor-legacy-ws": "npm:^1.1.25" + "@graphql-tools/utils": "npm:^11.0.0" + "@graphql-tools/wrap": "npm:^11.1.1" "@types/ws": "npm:^8.0.0" - "@whatwg-node/fetch": "npm:^0.8.0" + "@whatwg-node/fetch": "npm:^0.10.13" + "@whatwg-node/promise-helpers": "npm:^1.0.0" isomorphic-ws: "npm:^5.0.0" + sync-fetch: "npm:0.6.0" tslib: "npm:^2.4.0" - value-or-promise: "npm:^1.0.11" - ws: "npm:^8.12.0" + ws: "npm:^8.19.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/963153fde3389f3e44de63c8bca3ce43c85c6ef0f9c5feb56b24d9146f4bf4fef84bebe44a961acc0e0aa0a48081add24684404b83b84bbb9f5e3fcdbc131cae + checksum: 10c0/12cf73b5c8b8449b98aafc894b50521eefef001c35df5aeeb1c3b303c3a5955b4d79ea06be63b75a5e03ae3286921e7978f87599d18dfa5cf455a2549644ad7b languageName: node linkType: hard -"@graphql-tools/utils@npm:^9.0.0, @graphql-tools/utils@npm:^9.2.1": - version: 9.2.1 - resolution: "@graphql-tools/utils@npm:9.2.1" +"@graphql-tools/utils@npm:^10.0.0": + version: 10.11.0 + resolution: "@graphql-tools/utils@npm:10.11.0" dependencies: "@graphql-typed-document-node/core": "npm:^3.1.1" + "@whatwg-node/promise-helpers": "npm:^1.0.0" + cross-inspect: "npm:1.0.1" tslib: "npm:^2.4.0" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/37a7bd7e14d28ff1bacc007dca84bc6cef2d7d7af9a547b5dbe52fcd134afddd6d4a7b2148cfbaff5ddba91a868453d597da77bd0457fb0be15928f916901606 + checksum: 10c0/73459332c199d8f3aa698bdee4ac6ce802274dba95cc7eff1f0219b6fe6e3a8f314d2e824168e296df8f5ce18f6dbd23ca14406b71890a41ce80b7548e8ccd6d languageName: node linkType: hard -"@graphql-tools/wrap@npm:^9.4.2": - version: 9.4.2 - resolution: "@graphql-tools/wrap@npm:9.4.2" +"@graphql-tools/utils@npm:^11.0.0": + version: 11.0.0 + resolution: "@graphql-tools/utils@npm:11.0.0" dependencies: - "@graphql-tools/delegate": "npm:^9.0.31" - "@graphql-tools/schema": "npm:^9.0.18" - "@graphql-tools/utils": "npm:^9.2.1" + "@graphql-typed-document-node/core": "npm:^3.1.1" + "@whatwg-node/promise-helpers": "npm:^1.0.0" + cross-inspect: "npm:1.0.1" tslib: "npm:^2.4.0" - value-or-promise: "npm:^1.0.12" peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 10c0/6b0aa1a78af8280c7356e2841156a6708a9a147e5991afae9586046ef000b8d08e6d0405dceb10ffbfb0c208a97a527a16d5f04ee2fbf99f6eefe98fe6037292 + checksum: 10c0/008f7d033b900bab7daf073c34d2b5502f52005a3dfa9761dfd550d64734c7cd47c2cc92f130f24c5911ceed91315494b54e6849ed345004e59e84377ab1f6c7 languageName: node linkType: hard -"@graphql-typed-document-node/core@npm:3.2.0, @graphql-typed-document-node/core@npm:^3.1.1, @graphql-typed-document-node/core@npm:^3.2.0": +"@graphql-tools/wrap@npm:^11.1.1": + version: 11.1.12 + resolution: "@graphql-tools/wrap@npm:11.1.12" + dependencies: + "@graphql-tools/delegate": "npm:^12.0.12" + "@graphql-tools/schema": "npm:^10.0.29" + "@graphql-tools/utils": "npm:^11.0.0" + "@whatwg-node/promise-helpers": "npm:^1.3.2" + tslib: "npm:^2.8.1" + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10c0/236bd539f99fe078bb58c5d32fdeb5276cf6c37683ee12c61e39470f1b0c5d8359a618d675d88e1a4d13bab4db8c1a8a433c78674879acf7cbd4904b3e2de8ab + languageName: node + linkType: hard + +"@graphql-typed-document-node/core@npm:^3.1.1, @graphql-typed-document-node/core@npm:^3.2.0": version: 3.2.0 resolution: "@graphql-typed-document-node/core@npm:3.2.0" peerDependencies: @@ -8536,39 +8766,6 @@ __metadata: languageName: node linkType: hard -"@peculiar/asn1-schema@npm:^2.3.13, @peculiar/asn1-schema@npm:^2.3.8": - version: 2.5.0 - resolution: "@peculiar/asn1-schema@npm:2.5.0" - dependencies: - asn1js: "npm:^3.0.6" - pvtsutils: "npm:^1.3.6" - tslib: "npm:^2.8.1" - checksum: 10c0/17a3a68b9ac631beeea6fa6a86b5b95e2d91602d6c477f18374beadfbc71fd4cdbec3290233bf8eae0b216595229450b3cff8ba9c7b96b4a56d57cbbd41ff62f - languageName: node - linkType: hard - -"@peculiar/json-schema@npm:^1.1.12": - version: 1.1.12 - resolution: "@peculiar/json-schema@npm:1.1.12" - dependencies: - tslib: "npm:^2.0.0" - checksum: 10c0/202132c66dcc6b6aca5d0af971c015be2e163da2f7f992910783c5d39c8a7db59b6ec4f4ce419459a1f954b7e1d17b6b253f0e60072c1b3d254079f4eaebc311 - languageName: node - linkType: hard - -"@peculiar/webcrypto@npm:^1.4.0": - version: 1.5.0 - resolution: "@peculiar/webcrypto@npm:1.5.0" - dependencies: - "@peculiar/asn1-schema": "npm:^2.3.8" - "@peculiar/json-schema": "npm:^1.1.12" - pvtsutils: "npm:^1.3.5" - tslib: "npm:^2.6.2" - webcrypto-core: "npm:^1.8.0" - checksum: 10c0/4f6f24b2c52c2155b9c569b6eb1d57954cb5f7bd2764a50cdaed7aea17a6dcf304b75b87b57ba318756ffec8179a07d9a76534aaf77855912b838543e5ff8983 - languageName: node - linkType: hard - "@phosphor-icons/webcomponents@npm:2.1.5": version: 2.1.5 resolution: "@phosphor-icons/webcomponents@npm:2.1.5" @@ -9025,14 +9222,7 @@ __metadata: languageName: node linkType: hard -"@repeaterjs/repeater@npm:3.0.4": - version: 3.0.4 - resolution: "@repeaterjs/repeater@npm:3.0.4" - checksum: 10c0/9a2928d70f2be4a8f72857f8f7553810015ac970f174b4b20f07289644379af57fa68947601d67e557c1a7c33ddf805e787cf2a1d5e9037ba485d24075a81b6b - languageName: node - linkType: hard - -"@repeaterjs/repeater@npm:^3.0.4": +"@repeaterjs/repeater@npm:^3.0.4, @repeaterjs/repeater@npm:^3.0.6": version: 3.0.6 resolution: "@repeaterjs/repeater@npm:3.0.6" checksum: 10c0/c3915e2603927c7d6a9eb09673bc28fc49ab3a86947ec191a74663b33deebee2fcc4b03c31cc663ff27bd6db9e6c9487639b6935e265d601ce71b8c497f5f4a8 @@ -11289,7 +11479,7 @@ __metadata: "@eslint/js": "npm:^10.0.1" "@graphprotocol/graph-cli": "npm:^0.97.1" "@graphprotocol/graph-ts": "npm:^0.38.0" - "@graphql-eslint/eslint-plugin": "npm:^3.19.1" + "@graphql-eslint/eslint-plugin": "npm:^4.4.0" "@human-protocol/core": "workspace:*" eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.8" @@ -11312,7 +11502,7 @@ __metadata: "@eslint/js": "npm:^10.0.1" "@graphprotocol/graph-cli": "npm:^0.97.1" "@graphprotocol/graph-ts": "npm:^0.38.0" - "@graphql-eslint/eslint-plugin": "npm:^3.19.1" + "@graphql-eslint/eslint-plugin": "npm:^4.4.0" "@human-protocol/core": "workspace:*" eslint: "npm:^10.1.0" eslint-config-prettier: "npm:^10.1.8" @@ -13859,13 +14049,6 @@ __metadata: languageName: node linkType: hard -"@whatwg-node/events@npm:^0.0.3": - version: 0.0.3 - resolution: "@whatwg-node/events@npm:0.0.3" - checksum: 10c0/87ac0854f84650ce016ccd82a6c087eac1c6204eeb80cf358737ce7757a345e3a4ba19e9b1815b326eb1451d49878785aa9dc426631f4ea47dedbcfc51b56977 - languageName: node - linkType: hard - "@whatwg-node/fetch@npm:^0.10.1": version: 0.10.11 resolution: "@whatwg-node/fetch@npm:0.10.11" @@ -13876,29 +14059,13 @@ __metadata: languageName: node linkType: hard -"@whatwg-node/fetch@npm:^0.8.0, @whatwg-node/fetch@npm:^0.8.1": - version: 0.8.8 - resolution: "@whatwg-node/fetch@npm:0.8.8" - dependencies: - "@peculiar/webcrypto": "npm:^1.4.0" - "@whatwg-node/node-fetch": "npm:^0.3.6" - busboy: "npm:^1.6.0" - urlpattern-polyfill: "npm:^8.0.0" - web-streams-polyfill: "npm:^3.2.1" - checksum: 10c0/37d882bf85764aec7541cda1008099ab4d695971608946ec9b9e40326eedfd4c49507fbcc8765ebe3e9241f4dc9d1e970e0b3501a814d721c40c721d313c5d50 - languageName: node - linkType: hard - -"@whatwg-node/node-fetch@npm:^0.3.6": - version: 0.3.6 - resolution: "@whatwg-node/node-fetch@npm:0.3.6" +"@whatwg-node/fetch@npm:^0.10.13": + version: 0.10.13 + resolution: "@whatwg-node/fetch@npm:0.10.13" dependencies: - "@whatwg-node/events": "npm:^0.0.3" - busboy: "npm:^1.6.0" - fast-querystring: "npm:^1.1.1" - fast-url-parser: "npm:^1.1.3" - tslib: "npm:^2.3.1" - checksum: 10c0/49e4fd5e682d1fa1229b2c13c06074c6a633eddbe61be162fd213ddb85d6d27d51554b3cced5f6b7f3be1722a64cca7f5ffe0722d08b3285fe2f289d8d5a045d + "@whatwg-node/node-fetch": "npm:^0.8.3" + urlpattern-polyfill: "npm:^10.0.0" + checksum: 10c0/afce42c44e9c5572ac5800615bac3a03865923af53af99098d2e931b40f6db556ad5d4a3e08c29e51ecf871809f0860fb11f2b024891daa26646a309f8b07fc1 languageName: node linkType: hard @@ -13914,7 +14081,19 @@ __metadata: languageName: node linkType: hard -"@whatwg-node/promise-helpers@npm:^1.0.0, @whatwg-node/promise-helpers@npm:^1.3.2": +"@whatwg-node/node-fetch@npm:^0.8.3": + version: 0.8.5 + resolution: "@whatwg-node/node-fetch@npm:0.8.5" + dependencies: + "@fastify/busboy": "npm:^3.1.1" + "@whatwg-node/disposablestack": "npm:^0.0.6" + "@whatwg-node/promise-helpers": "npm:^1.3.2" + tslib: "npm:^2.6.3" + checksum: 10c0/9f0d944476cc40f5cfed79057cff269ddacf52bd4dda36017fe922cbf3e0a98850f26cb9c4e7990e87e6097f2f9dd94a20c6cc11f95d57652a516e99a5ccafc2 + languageName: node + linkType: hard + +"@whatwg-node/promise-helpers@npm:^1.0.0, @whatwg-node/promise-helpers@npm:^1.2.1, @whatwg-node/promise-helpers@npm:^1.2.4, @whatwg-node/promise-helpers@npm:^1.3.2": version: 1.3.2 resolution: "@whatwg-node/promise-helpers@npm:1.3.2" dependencies: @@ -14652,17 +14831,6 @@ __metadata: languageName: node linkType: hard -"asn1js@npm:^3.0.5, asn1js@npm:^3.0.6": - version: 3.0.6 - resolution: "asn1js@npm:3.0.6" - dependencies: - pvtsutils: "npm:^1.3.6" - pvutils: "npm:^1.1.3" - tslib: "npm:^2.8.1" - checksum: 10c0/96d35e65e3df819ad9cc2d91d1150a3041fd84687a62faa73405e72a6b4c655bc2450e779fad524969e14eeac1f69db2559f27ef6d06ddeeddada28f72ad9b89 - languageName: node - linkType: hard - "assemblyscript@npm:0.19.23": version: 0.19.23 resolution: "assemblyscript@npm:0.19.23" @@ -16687,18 +16855,6 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:8.0.0": - version: 8.0.0 - resolution: "cosmiconfig@npm:8.0.0" - dependencies: - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - parse-json: "npm:^5.0.0" - path-type: "npm:^4.0.0" - checksum: 10c0/cea301202bb68373f9c8ccc77a6002aab1032f327dd1458e5932ee1a2f48919c881074d702cece91f18275673817872a0d3d00eb46f30a33c8f2009dbbac0e5c - languageName: node - linkType: hard - "cosmiconfig@npm:^7.0.0": version: 7.1.0 resolution: "cosmiconfig@npm:7.1.0" @@ -16712,7 +16868,7 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^8.1.3, cosmiconfig@npm:^8.2.0": +"cosmiconfig@npm:^8.1.0, cosmiconfig@npm:^8.1.3, cosmiconfig@npm:^8.2.0": version: 8.3.6 resolution: "cosmiconfig@npm:8.3.6" dependencies: @@ -16827,6 +16983,15 @@ __metadata: languageName: node linkType: hard +"cross-inspect@npm:1.0.1": + version: 1.0.1 + resolution: "cross-inspect@npm:1.0.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/2493ee47a801b46ede1c42ca6242b8d2059f7319b5baf23887bbaf46a6ea8e536d2e271d0990176c05092f67b32d084ffd8c93e7c1227eff4a06cceadb49af47 + languageName: node + linkType: hard + "cross-spawn@npm:7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -17037,6 +17202,13 @@ __metadata: languageName: node linkType: hard +"data-uri-to-buffer@npm:^4.0.0": + version: 4.0.1 + resolution: "data-uri-to-buffer@npm:4.0.1" + checksum: 10c0/20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b + languageName: node + linkType: hard + "data-urls@npm:^5.0.0": version: 5.0.0 resolution: "data-urls@npm:5.0.0" @@ -17080,7 +17252,7 @@ __metadata: languageName: node linkType: hard -"dataloader@npm:^2.2.2": +"dataloader@npm:^2.2.3": version: 2.2.3 resolution: "dataloader@npm:2.2.3" checksum: 10c0/9b9a056fbc863ca86da87d59e053e871e263b4966aa4d55e40d61a65e96815fae5530ca220629064ca5f8e3000c0c4ec93292e170c38ff393fb34256b4d7c1aa @@ -17636,13 +17808,6 @@ __metadata: languageName: node linkType: hard -"dset@npm:^3.1.2": - version: 3.1.4 - resolution: "dset@npm:3.1.4" - checksum: 10c0/b67bbd28dd8a539e90c15ffb61100eb64ef995c5270a124d4f99bbb53f4d82f55a051b731ba81f3215dd9dce2b4c8d69927dc20b3be1c5fc88bab159467aa438 - languageName: node - linkType: hard - "dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": version: 1.0.1 resolution: "dunder-proto@npm:1.0.1" @@ -19445,13 +19610,6 @@ __metadata: languageName: node linkType: hard -"extract-files@npm:^11.0.0": - version: 11.0.0 - resolution: "extract-files@npm:11.0.0" - checksum: 10c0/7ac1cd693d081099d7c29f2b36aad199f92c5ea234c2016eb37ba213dddaefe74d54566f0675de5917d35cf98670183c2c9a0d96094727eb2c6dae02be7fc308 - languageName: node - linkType: hard - "eyes@npm:^0.1.8": version: 0.1.8 resolution: "eyes@npm:0.1.8" @@ -19473,13 +19631,6 @@ __metadata: languageName: node linkType: hard -"fast-decode-uri-component@npm:^1.0.1": - version: 1.0.1 - resolution: "fast-decode-uri-component@npm:1.0.1" - checksum: 10c0/039d50c2e99d64f999c3f2126c23fbf75a04a4117e218a149ca0b1d2aeb8c834b7b19d643b9d35d4eabce357189a6a94085f78cf48869e6e26cc59b036284bc3 - languageName: node - linkType: hard - "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -19544,15 +19695,6 @@ __metadata: languageName: node linkType: hard -"fast-querystring@npm:^1.1.1": - version: 1.1.2 - resolution: "fast-querystring@npm:1.1.2" - dependencies: - fast-decode-uri-component: "npm:^1.0.1" - checksum: 10c0/e8223273a9b199722f760f5a047a77ad049a14bd444b821502cb8218f5925e3a5fffb56b64389bca73ab2ac6f1aa7aebbe4e203e5f6e53ff5978de97c0fde4e3 - languageName: node - linkType: hard - "fast-redact@npm:^3.0.0": version: 3.5.0 resolution: "fast-redact@npm:3.5.0" @@ -19581,15 +19723,6 @@ __metadata: languageName: node linkType: hard -"fast-url-parser@npm:^1.1.3": - version: 1.1.3 - resolution: "fast-url-parser@npm:1.1.3" - dependencies: - punycode: "npm:^1.3.2" - checksum: 10c0/d85c5c409cf0215417380f98a2d29c23a95004d93ff0d8bdf1af5f1a9d1fc608ac89ac6ffe863783d2c73efb3850dd35390feb1de3296f49877bfee0392eb5d3 - languageName: node - linkType: hard - "fast-xml-builder@npm:^1.0.0": version: 1.0.0 resolution: "fast-xml-builder@npm:1.0.0" @@ -19668,6 +19801,16 @@ __metadata: languageName: node linkType: hard +"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": + version: 3.2.0 + resolution: "fetch-blob@npm:3.2.0" + dependencies: + node-domexception: "npm:^1.0.0" + web-streams-polyfill: "npm:^3.0.3" + checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 + languageName: node + linkType: hard + "file-entry-cache@npm:^8.0.0": version: 8.0.0 resolution: "file-entry-cache@npm:8.0.0" @@ -19892,6 +20035,15 @@ __metadata: languageName: node linkType: hard +"formdata-polyfill@npm:^4.0.10": + version: 4.0.10 + resolution: "formdata-polyfill@npm:4.0.10" + dependencies: + fetch-blob: "npm:^3.1.2" + checksum: 10c0/5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 + languageName: node + linkType: hard + "formik@npm:^2.4.2": version: 2.4.6 resolution: "formik@npm:2.4.6" @@ -20565,20 +20717,20 @@ __metadata: languageName: node linkType: hard -"graphql-config@npm:^4.4.0": - version: 4.5.0 - resolution: "graphql-config@npm:4.5.0" - dependencies: - "@graphql-tools/graphql-file-loader": "npm:^7.3.7" - "@graphql-tools/json-file-loader": "npm:^7.3.7" - "@graphql-tools/load": "npm:^7.5.5" - "@graphql-tools/merge": "npm:^8.2.6" - "@graphql-tools/url-loader": "npm:^7.9.7" - "@graphql-tools/utils": "npm:^9.0.0" - cosmiconfig: "npm:8.0.0" - jiti: "npm:1.17.1" - minimatch: "npm:4.2.3" - string-env-interpolation: "npm:1.0.1" +"graphql-config@npm:^5.1.3": + version: 5.1.6 + resolution: "graphql-config@npm:5.1.6" + dependencies: + "@graphql-tools/graphql-file-loader": "npm:^8.0.0" + "@graphql-tools/json-file-loader": "npm:^8.0.0" + "@graphql-tools/load": "npm:^8.1.0" + "@graphql-tools/merge": "npm:^9.0.0" + "@graphql-tools/url-loader": "npm:^9.0.0" + "@graphql-tools/utils": "npm:^11.0.0" + cosmiconfig: "npm:^8.1.0" + jiti: "npm:^2.0.0" + minimatch: "npm:^10.0.0" + string-env-interpolation: "npm:^1.0.1" tslib: "npm:^2.4.0" peerDependencies: cosmiconfig-toml-loader: ^1.0.0 @@ -20586,7 +20738,7 @@ __metadata: peerDependenciesMeta: cosmiconfig-toml-loader: optional: true - checksum: 10c0/2f9fcc16fca402640f10d3b8c5502f2e77fe640b43ea1d9548664282f48fe2998707ef2e495d1b8b46b33f1c74bbf575c3981ed0a0af43cdfcad5356cae61ce7 + checksum: 10c0/f7cc385754a823c126c8c95ed4c73de3f34d2ca98c8fd2e4dbc55ef3a02a4adec8638eeebc019d80ffc9a21eaf5431455d9138fc159c35b9788d84f2b910d8e5 languageName: node linkType: hard @@ -20644,12 +20796,22 @@ __metadata: languageName: node linkType: hard -"graphql-ws@npm:5.12.1": - version: 5.12.1 - resolution: "graphql-ws@npm:5.12.1" +"graphql-ws@npm:^6.0.6": + version: 6.0.7 + resolution: "graphql-ws@npm:6.0.7" peerDependencies: - graphql: ">=0.11 <=16" - checksum: 10c0/17338de4783b76e01a41e73a740beb72f9bde46750867463e394679cecc557f2af4ba59af8196e14aed1711a9b7ce6cff0149abc4ff27ca92497b988d6ebbac3 + "@fastify/websocket": ^10 || ^11 + crossws: ~0.3 + graphql: ^15.10.1 || ^16 + ws: ^8 + peerDependenciesMeta: + "@fastify/websocket": + optional: true + crossws: + optional: true + ws: + optional: true + checksum: 10c0/3faba221334a96d3221fc49a8649554831f1504123f03857d1f62761eb5fc4f6f1a0f345dfb2442e871ea63009ed98d4dd995d74bcc671e7e3577ba1b4923953 languageName: node linkType: hard @@ -22060,21 +22222,21 @@ __metadata: languageName: node linkType: hard -"isomorphic-ws@npm:5.0.0, isomorphic-ws@npm:^5.0.0": - version: 5.0.0 - resolution: "isomorphic-ws@npm:5.0.0" +"isomorphic-ws@npm:^4.0.1": + version: 4.0.1 + resolution: "isomorphic-ws@npm:4.0.1" peerDependencies: ws: "*" - checksum: 10c0/a058ac8b5e6efe9e46252cb0bc67fd325005d7216451d1a51238bc62d7da8486f828ef017df54ddf742e0fffcbe4b1bcc2a66cc115b027ed0180334cd18df252 + checksum: 10c0/7cb90dc2f0eb409825558982fb15d7c1d757a88595efbab879592f9d2b63820d6bbfb5571ab8abe36c715946e165a413a99f6aafd9f40ab1f514d73487bc9996 languageName: node linkType: hard -"isomorphic-ws@npm:^4.0.1": - version: 4.0.1 - resolution: "isomorphic-ws@npm:4.0.1" +"isomorphic-ws@npm:^5.0.0": + version: 5.0.0 + resolution: "isomorphic-ws@npm:5.0.0" peerDependencies: ws: "*" - checksum: 10c0/7cb90dc2f0eb409825558982fb15d7c1d757a88595efbab879592f9d2b63820d6bbfb5571ab8abe36c715946e165a413a99f6aafd9f40ab1f514d73487bc9996 + checksum: 10c0/a058ac8b5e6efe9e46252cb0bc67fd325005d7216451d1a51238bc62d7da8486f828ef017df54ddf742e0fffcbe4b1bcc2a66cc115b027ed0180334cd18df252 languageName: node linkType: hard @@ -22087,7 +22249,7 @@ __metadata: languageName: node linkType: hard -"isows@npm:1.0.7": +"isows@npm:1.0.7, isows@npm:^1.0.7": version: 1.0.7 resolution: "isows@npm:1.0.7" peerDependencies: @@ -22838,12 +23000,12 @@ __metadata: languageName: node linkType: hard -"jiti@npm:1.17.1": - version: 1.17.1 - resolution: "jiti@npm:1.17.1" +"jiti@npm:^2.0.0": + version: 2.6.1 + resolution: "jiti@npm:2.6.1" bin: - jiti: bin/jiti.js - checksum: 10c0/1241a0dec1493867bfc25bb52ed37bbede9bc37f64ef6414dbef0f0059186734633cf25329bdd583237001a094f9c90017ee245ce96a053d0ce95e34df18a17b + jiti: lib/jiti-cli.mjs + checksum: 10c0/79b2e96a8e623f66c1b703b98ec1b8be4500e1d217e09b09e343471bbb9c105381b83edbb979d01cef18318cc45ce6e153571b6c83122170eefa531c64b6789b languageName: node linkType: hard @@ -24115,7 +24277,7 @@ __metadata: languageName: node linkType: hard -"meros@npm:^1.2.1": +"meros@npm:^1.3.2": version: 1.3.2 resolution: "meros@npm:1.3.2" peerDependencies: @@ -24277,15 +24439,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:4.2.3": - version: 4.2.3 - resolution: "minimatch@npm:4.2.3" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/ce19d52a4692037aa7768bfcdca0cef3eb3975ab8e3aaf32ab0a3d23863fca94ba7555d1ca67893320076efe8376e61bf7cc6fa82161a3c1127f0d0b9b06b666 - languageName: node - linkType: hard - "minimatch@npm:^10.0.0, minimatch@npm:^10.1.1": version: 10.1.1 resolution: "minimatch@npm:10.1.1" @@ -24844,6 +24997,13 @@ __metadata: languageName: node linkType: hard +"node-domexception@npm:^1.0.0": + version: 1.0.0 + resolution: "node-domexception@npm:1.0.0" + checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b + languageName: node + linkType: hard + "node-emoji@npm:1.11.0, node-emoji@npm:^1.10.0": version: 1.11.0 resolution: "node-emoji@npm:1.11.0" @@ -24874,6 +25034,17 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^3.3.2": + version: 3.3.2 + resolution: "node-fetch@npm:3.3.2" + dependencies: + data-uri-to-buffer: "npm:^4.0.0" + fetch-blob: "npm:^3.1.4" + formdata-polyfill: "npm:^4.0.10" + checksum: 10c0/f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538 + languageName: node + linkType: hard + "node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.3.0, node-gyp-build@npm:^4.8.4": version: 4.8.4 resolution: "node-gyp-build@npm:4.8.4" @@ -26759,7 +26930,7 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^1.3.2, punycode@npm:^1.4.1": +"punycode@npm:^1.4.1": version: 1.4.1 resolution: "punycode@npm:1.4.1" checksum: 10c0/354b743320518aef36f77013be6e15da4db24c2b4f62c5f1eb0529a6ed02fbaf1cb52925785f6ab85a962f2b590d9cd5ad730b70da72b5f180e2556b8bd3ca08 @@ -26780,22 +26951,6 @@ __metadata: languageName: node linkType: hard -"pvtsutils@npm:^1.3.5, pvtsutils@npm:^1.3.6": - version: 1.3.6 - resolution: "pvtsutils@npm:1.3.6" - dependencies: - tslib: "npm:^2.8.1" - checksum: 10c0/b1b42646370505ccae536dcffa662303b2c553995211330c8e39dec9ab8c197585d7751c2c5b9ab2f186feda0219d9bb23c34ee1e565573be96450f79d89a13c - languageName: node - linkType: hard - -"pvutils@npm:^1.1.3": - version: 1.1.5 - resolution: "pvutils@npm:1.1.5" - checksum: 10c0/e968b07b78a58fec9377fe7aa6342c8cfa21c8fb4afc4e51e1489bd42bec6dc71b8a52541d0aede0aea17adec7ca3f89f29f56efdc31d0083cc02e9bb5721bcf - languageName: node - linkType: hard - "qrcode@npm:1.5.3": version: 1.5.3 resolution: "qrcode@npm:1.5.3" @@ -29006,7 +29161,7 @@ __metadata: languageName: node linkType: hard -"string-env-interpolation@npm:1.0.1": +"string-env-interpolation@npm:^1.0.1": version: 1.0.1 resolution: "string-env-interpolation@npm:1.0.1" checksum: 10c0/410046e621e71678e71816377d799b40ba88d236708c0ad015114137fa3575f1b3cf14bfd63ec5eaa35ea43ac582308e60a8e1a3839a10f475b8db73470105bc @@ -29471,6 +29626,17 @@ __metadata: languageName: node linkType: hard +"sync-fetch@npm:0.6.0": + version: 0.6.0 + resolution: "sync-fetch@npm:0.6.0" + dependencies: + node-fetch: "npm:^3.3.2" + timeout-signal: "npm:^2.0.0" + whatwg-mimetype: "npm:^4.0.0" + checksum: 10c0/d59941c40bb97131ddd1c7c836a45f415aba7b063b12ebf0a5822aa940af75ad9eb2a49ee0d2d9f2091421f43347dcf8af8ef5ed79ede836f22f03d42817816d + languageName: node + linkType: hard + "synckit@npm:0.11.11": version: 0.11.11 resolution: "synckit@npm:0.11.11" @@ -29695,6 +29861,13 @@ __metadata: languageName: node linkType: hard +"timeout-signal@npm:^2.0.0": + version: 2.0.0 + resolution: "timeout-signal@npm:2.0.0" + checksum: 10c0/dd0a41712552fd45e075664edbdb5d1715a0791e6a206f1d00f5808b954b18046f87b71a7b9216a5030ba772516212b696bbbfb3115bf81b3277b04f62aab135 + languageName: node + linkType: hard + "timers-browserify@npm:^2.0.4": version: 2.0.12 resolution: "timers-browserify@npm:2.0.12" @@ -30094,7 +30267,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.8.1, tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.4.1, tslib@npm:^2.5.0, tslib@npm:^2.6.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3, tslib@npm:^2.7.0, tslib@npm:^2.8.0, tslib@npm:^2.8.1": +"tslib@npm:2.8.1, tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3, tslib@npm:^2.8.0, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -30959,13 +31132,6 @@ __metadata: languageName: node linkType: hard -"urlpattern-polyfill@npm:^8.0.0": - version: 8.0.2 - resolution: "urlpattern-polyfill@npm:8.0.2" - checksum: 10c0/5388bbe8459dbd8861ee7cb97904be915dd863a9789c2191c528056f16adad7836ec22762ed002fed44e8995d0f98bdfb75a606466b77233e70d0f61b969aaf9 - languageName: node - linkType: hard - "use-debounce@npm:^10.1.0": version: 10.1.0 resolution: "use-debounce@npm:10.1.0" @@ -31151,13 +31317,6 @@ __metadata: languageName: node linkType: hard -"value-or-promise@npm:^1.0.11, value-or-promise@npm:^1.0.12": - version: 1.0.12 - resolution: "value-or-promise@npm:1.0.12" - checksum: 10c0/b75657b74e4d17552bd88e0c2857020fbab34a4d091dc058db18c470e7da0336067e72c130b3358e3321ac0a6ff11c0b92b67a382318a3705ad5d57de7ff3262 - languageName: node - linkType: hard - "vary@npm:^1, vary@npm:^1.1.2, vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" @@ -31659,7 +31818,7 @@ __metadata: languageName: node linkType: hard -"web-streams-polyfill@npm:^3.2.1": +"web-streams-polyfill@npm:^3.0.3": version: 3.3.3 resolution: "web-streams-polyfill@npm:3.3.3" checksum: 10c0/64e855c47f6c8330b5436147db1c75cb7e7474d924166800e8e2aab5eb6c76aac4981a84261dd2982b3e754490900b99791c80ae1407a9fa0dcff74f82ea3a7f @@ -31949,19 +32108,6 @@ __metadata: languageName: node linkType: hard -"webcrypto-core@npm:^1.8.0": - version: 1.8.1 - resolution: "webcrypto-core@npm:1.8.1" - dependencies: - "@peculiar/asn1-schema": "npm:^2.3.13" - "@peculiar/json-schema": "npm:^1.1.12" - asn1js: "npm:^3.0.5" - pvtsutils: "npm:^1.3.5" - tslib: "npm:^2.7.0" - checksum: 10c0/b85a986b4f73e8505ec5eaafe8e4f1ff02574a3b655793aca91f913d02822c8b79168ad6961eaab86ae00fec00bf780ec4cef7535f64879fb866649bc2a723fa - languageName: node - linkType: hard - "webextension-polyfill@npm:>=0.10.0 <1.0": version: 0.12.0 resolution: "webextension-polyfill@npm:0.12.0" @@ -32340,7 +32486,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:8.18.3, ws@npm:^8, ws@npm:^8.12.0, ws@npm:^8.17.1, ws@npm:^8.18.0, ws@npm:^8.5.0": +"ws@npm:8.18.3, ws@npm:^8, ws@npm:^8.17.1, ws@npm:^8.18.0, ws@npm:^8.5.0": version: 8.18.3 resolution: "ws@npm:8.18.3" peerDependencies: @@ -32370,6 +32516,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.19.0": + version: 8.20.0 + resolution: "ws@npm:8.20.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/956ac5f11738c914089b65878b9223692ace77337ba55379ae68e1ecbeae9b47a0c6eb9403688f609999a58c80d83d99865fe0029b229d308b08c1ef93d4ea14 + languageName: node + linkType: hard + "xdeployer@npm:3.1.6": version: 3.1.6 resolution: "xdeployer@npm:3.1.6" From 5552a3f4413d32a468590871b412fec8262417ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20L=C3=B3pez?= <50665615+flopez7@users.noreply.github.com> Date: Thu, 26 Mar 2026 14:29:12 +0100 Subject: [PATCH 8/8] [Subgraph] Add Escrow ABI to dataSources (#3847) Co-authored-by: flopez7 --- docker-setup/docker-compose.dev.yml | 2 +- packages/subgraph/human-protocol/template.yaml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docker-setup/docker-compose.dev.yml b/docker-setup/docker-compose.dev.yml index 285fcb690a..28253c35b4 100644 --- a/docker-setup/docker-compose.dev.yml +++ b/docker-setup/docker-compose.dev.yml @@ -102,7 +102,7 @@ services: container_name: hp-dev-graph-node # In case of issues on Mac M1 rebuild the image for it locally # https://github.com/graphprotocol/graph-node/blob/master/docker/README.md#running-graph-node-on-an-macbook-m1 - image: graphprotocol/graph-node + image: graphprotocol/graph-node:v0.41.1 restart: *default-restart logging: <<: *default-logging diff --git a/packages/subgraph/human-protocol/template.yaml b/packages/subgraph/human-protocol/template.yaml index 3217e18a10..f4fde48c1c 100644 --- a/packages/subgraph/human-protocol/template.yaml +++ b/packages/subgraph/human-protocol/template.yaml @@ -28,6 +28,8 @@ dataSources: abis: - name: EscrowFactory file: '{{{ EscrowFactory.abi }}}' + - name: Escrow + file: '{{{ Escrow.abi }}}' eventHandlers: - event: Launched(address,address) handler: handleLaunched