diff --git a/.github/workflows/cd-deploy-contracts.yaml b/.github/workflows/cd-deploy-contracts.yaml deleted file mode 100644 index 5d51c20117..0000000000 --- a/.github/workflows/cd-deploy-contracts.yaml +++ /dev/null @@ -1,146 +0,0 @@ -name: Deploy contracts - -on: - workflow_dispatch: - inputs: - network: - description: "network" - required: true - escrowFactory: - description: "deploy escrow factory" - required: true - -jobs: - deploy-contracts: - name: Deploy contracts - runs-on: ubuntu-latest - environment: deploy-contracts - env: - ETH_SEPOLIA_TESTNET_URL: ${{ secrets.ETH_SEPOLIA_TESTNET_URL }} - ETH_POLYGON_URL: ${{ secrets.ETH_POLYGON_URL }} - ETH_POLYGON_AMOY_URL: ${{ secrets.ETH_POLYGON_AMOY_URL }} - ETH_BSC_URL: ${{ secrets.ETH_BSC_URL }} - ETH_BSC_TESTNET_URL: ${{ secrets.ETH_BSC_TESTNET_URL }} - ETH_MOONBEAM_URL: ${{ secrets.ETH_MOONBEAM_URL }} - ETH_MOONBASE_ALPHA_URL: ${{ secrets.ETH_MOONBASE_ALPHA_URL }} - ETH_MAINNET_URL: ${{ secrets.ETH_MAINNET_URL }} - ETH_FUJI_URL: ${{ secrets.ETH_FUJI_URL }} - ETH_AVALANCHE_URL: ${{ secrets.ETH_AVALANCHE_URL }} - ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }} - POLYGONSCAN_API_KEY: ${{ secrets.POLYGONSCAN_API_KEY }} - BSC_API_KEY: ${{ secrets.BSC_API_KEY }} - MOONSCAN_API_KEY: ${{ secrets.MOONSCAN_API_KEY }} - AVALANCHE_API_KEY: ${{ secrets.AVALANCHE_API_KEY }} - steps: - - uses: actions/checkout@v6 - with: - token: ${{ secrets.GH_TOKEN_CD_CONTRACTS }} - - uses: actions/setup-node@v6 - with: - node-version-file: .nvmrc - cache: yarn - - name: Install dependencies - run: yarn workspaces focus @human-protocol/core - - name: Build core package - run: yarn workspace @human-protocol/core build - - name: Networks list - id: networks - run: | - case ${{ github.event.inputs.network }} in - "sepolia") - echo "escrow_factory=0x5987A5558d961ee674efe4A8c8eB7B1b5495D3bf" >> $GITHUB_OUTPUT - echo "private_key=TESTNET_PRIVATE_KEY" >> $GITHUB_OUTPUT - ;; - "polygon") - echo "escrow_factory=0xBDBfD2cC708199C5640C6ECdf3B0F4A4C67AdfcB" >> $GITHUB_OUTPUT - echo "private_key=MAINNET_PRIVATE_KEY" >> $GITHUB_OUTPUT - ;; - "polygonAmoy") - echo "escrow_factory=0xAFf5a986A530ff839d49325A5dF69F96627E8D29" >> $GITHUB_OUTPUT - echo "private_key=TESTNET_PRIVATE_KEY" >> $GITHUB_OUTPUT - ;; - "bsc") - echo "escrow_factory=0x92FD968AcBd521c232f5fB8c33b342923cC72714" >> $GITHUB_OUTPUT - echo "private_key=MAINNET_PRIVATE_KEY" >> $GITHUB_OUTPUT - ;; - "bscTestnet") - echo "escrow_factory=0x2bfA592DBDaF434DDcbb893B1916120d181DAD18" >> $GITHUB_OUTPUT - echo "private_key=TESTNET_PRIVATE_KEY" >> $GITHUB_OUTPUT - ;; - "moonbeam") - echo "escrow_factory=0xD9c75a1Aa4237BB72a41E5E26bd8384f10c1f55a" >> $GITHUB_OUTPUT - echo "private_key=MAINNET_PRIVATE_KEY" >> $GITHUB_OUTPUT - ;; - "moonbaseAlpha") - echo "escrow_factory=0x5e622FF522D81aa426f082bDD95210BC25fCA7Ed" >> $GITHUB_OUTPUT - echo "private_key=TESTNET_PRIVATE_KEY" >> $GITHUB_OUTPUT - ;; - "mainnet") - echo "escrow_factory=0xD9c75a1Aa4237BB72a41E5E26bd8384f10c1f55a" >> $GITHUB_OUTPUT - echo "private_key=MAINNET_PRIVATE_KEY" >> $GITHUB_OUTPUT - ;; - "avalanche") - echo "escrow_factory=0xD9c75a1Aa4237BB72a41E5E26bd8384f10c1f55a" >> $GITHUB_OUTPUT - echo "private_key=MAINNET_PRIVATE_KEY" >> $GITHUB_OUTPUT - ;; - "avalancheFujiTestnet") - echo "escrow_factory=0x56C2ba540726ED4f46E7a134b6b9Ee9C867FcF92" >> $GITHUB_OUTPUT - echo "private_key=TESTNET_PRIVATE_KEY" >> $GITHUB_OUTPUT - ;; - *) - echo "Invalid network" - exit 1 - ;; - esac - - name: Upgrade Proxies - if: github.event.inputs.escrowFactory == 'true' - run: yarn upgrade:proxy --network ${{ github.event.inputs.network }} - working-directory: ./packages/core - env: - PRIVATE_KEY: ${{ secrets[steps.networks.outputs.private_key] }} - DEPLOY_ESCROW_FACTORY: ${{ github.event.inputs.escrowFactory }} - ESCROW_FACTORY_ADDRESS: ${{ steps.networks.outputs.escrow_factory }} - - - name: Verify Escrow Factory Proxy - if: always() && github.event.inputs.escrowFactory == 'true' - run: yarn hardhat verify --network ${{ github.event.inputs.network }} ${{ steps.networks.outputs.escrow_factory }} - working-directory: ./packages/core - #Commit changes to develop - - name: Check for Changes - if: always() - id: check_changes - run: | - git fetch - if [[ -n "$(git diff --name-only)" ]]; then - echo "Changes detected." - echo "::set-output name=changes::true" - else - echo "No changes detected." - echo "::set-output name=changes::false" - fi - - - name: stash - if: always() && steps.check_changes.outputs.changes == 'true' - run: | - git status - git stash --include-untracked - - name: Checkout develop - if: always() && steps.check_changes.outputs.changes == 'true' - uses: actions/checkout@v6 - with: - ref: develop - token: ${{ secrets.GH_TOKEN_CD_CONTRACTS }} - - name: pop - if: always() && steps.check_changes.outputs.changes == 'true' - run: | - git stash pop - git status - - name: Commit changes - if: always() && steps.check_changes.outputs.changes == 'true' - uses: EndBug/add-and-commit@v9 - with: - add: "['./packages/core/.openzeppelin']" - message: "Update upgrade file from CD" - default_author: github_actions - tag_push: "--force" - github_token: ${{ secrets.GH_TOKEN_CD_CONTRACTS }} diff --git a/.github/workflows/cd-job-launcher-server.yaml b/.github/workflows/cd-job-launcher-server.yaml deleted file mode 100644 index ec761f4ec7..0000000000 --- a/.github/workflows/cd-job-launcher-server.yaml +++ /dev/null @@ -1,57 +0,0 @@ -name: Deploy Job launcher server - -on: - push: - branches: [ develop, main ] - paths: - - 'packages/apps/job-launcher/server/**' - pull_request: - branches: [ develop, main ] - paths: - - 'packages/apps/job-launcher/server/**' - workflow_dispatch: - -permissions: - id-token: write - contents: read - -jobs: - pull-request-check: - runs-on: ubuntu-latest - if: ${{ github.event_name == 'pull_request' }} - steps: - - name: Checkout - uses: actions/checkout@v6 - - - name: PR check - run: | - if [[ $GITHUB_REPOSITORY_OWNER == 'humanprotocol' ]] && [[ $GITHUB_BASE_REF == 'main' ]] && [[ $GITHUB_HEAD_REF == 'develop' ]]; then - echo "LGTM. PR from $GITHUB_HEAD_REF to $GITHUB_BASE_REF." - elif [[ $GITHUB_BASE_REF != 'main' ]]; then - echo "LGTM. PR from $GITHUB_HEAD_REF to $GITHUB_BASE_REF." - else - echo "Check out the target branch. A PR to 'main' can only be from the 'develop' branch within the 'humanprotocol' organization." - exit 1 - fi - - trigger-build-and-deploy: - if: always() && github.repository_owner == 'humanprotocol' && (needs.pull-request-check.result == 'skipped' || needs.pull-request-check.result == 'success') - needs: pull-request-check - name: Trigger build and deploy image - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6 - - - uses: convictional/trigger-workflow-and-wait@v1.6.5 - with: - owner: humanprotocol - repo: multi-repo-cicd - github_token: ${{ secrets.GH_TOKEN }} - workflow_file_name: docker_build_and_deploy.yml - ref: job-launcher - wait_interval: 15 - client_payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}", "repository": "${{ github.repository }}", "trigger": "${{ github.event_name }}", "app": "job-launcher"}' - propagate_failure: true - trigger_workflow: true - wait_workflow: true diff --git a/.github/workflows/cd-reputation-oracle.yaml b/.github/workflows/cd-reputation-oracle.yaml deleted file mode 100644 index e107727447..0000000000 --- a/.github/workflows/cd-reputation-oracle.yaml +++ /dev/null @@ -1,57 +0,0 @@ -name: Deploy Reputation oracle - -on: - push: - branches: [ develop, main ] - paths: - - 'packages/apps/reputation-oracle/server/**' - pull_request: - branches: [ develop, main ] - paths: - - 'packages/apps/reputation-oracle/server/**' - workflow_dispatch: - -permissions: - id-token: write - contents: read - -jobs: - pull-request-check: - runs-on: ubuntu-latest - if: ${{ github.event_name == 'pull_request' }} - steps: - - name: Checkout - uses: actions/checkout@v6 - - - name: PR check - run: | - if [[ $GITHUB_REPOSITORY_OWNER == 'humanprotocol' ]] && [[ $GITHUB_BASE_REF == 'main' ]] && [[ $GITHUB_HEAD_REF == 'develop' ]]; then - echo "LGTM. PR from $GITHUB_HEAD_REF to $GITHUB_BASE_REF." - elif [[ $GITHUB_BASE_REF != 'main' ]]; then - echo "LGTM. PR from $GITHUB_HEAD_REF to $GITHUB_BASE_REF." - else - echo "Check out the target branch. A PR to 'main' can only be from the 'develop' branch within the 'humanprotocol' organization." - exit 1 - fi - - trigger-build-and-deploy: - if: always() && github.repository_owner == 'humanprotocol' && (needs.pull-request-check.result == 'skipped' || needs.pull-request-check.result == 'success') - needs: pull-request-check - name: Trigger build and deploy image - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6 - - - uses: convictional/trigger-workflow-and-wait@v1.6.5 - with: - owner: humanprotocol - repo: multi-repo-cicd - github_token: ${{ secrets.GH_TOKEN }} - workflow_file_name: docker_build_and_deploy.yml - ref: reputation-oracle - wait_interval: 15 - client_payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}", "repository": "${{ github.repository }}", "trigger": "${{ github.event_name }}", "app": "reputation-oracle"}' - propagate_failure: true - trigger_workflow: true - wait_workflow: true diff --git a/README.md b/README.md index e25fa2cf9b..8f604bc7dd 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,9 @@ | | | | | | --- | --- | --- | --- | -| [![Lint Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-lint.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-lint.yaml) | [![Protocol Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-core.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-core.yaml) | [![Python SDK Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-python-sdk.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-python-sdk.yaml) | [![Node.js SDK Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-node-sdk.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-node-sdk.yaml) | -| [![Subgraph Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-subgraph.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-subgraph.yaml) | [![Dashboard Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-dashboard.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-dashboard.yaml) | [![Faucet Server Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-faucet-server.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-faucet-server.yaml) | [![Contract Deploy](https://github.com/humanprotocol/human-protocol/actions/workflows/cd-deploy-contracts.yaml/badge.svg?event=workflow_dispatch)](https://github.com/humanprotocol/human-protocol/actions/workflows/cd-deploy-contracts.yaml) | -| [![Core NPM Publish](https://github.com/humanprotocol/human-protocol/actions/workflows/cd-core.yaml/badge.svg?event=release)](https://github.com/humanprotocol/human-protocol/actions/workflows/cd-core.yaml) | [![Python SDK Publish](https://github.com/humanprotocol/human-protocol/actions/workflows/cd-python-sdk.yaml/badge.svg?event=release)](https://github.com/humanprotocol/human-protocol/actions/workflows/cd-python-sdk.yaml) | [![Node.js SDK Publish](https://github.com/humanprotocol/human-protocol/actions/workflows/cd-node-sdk.yaml/badge.svg?event=release)](https://github.com/humanprotocol/human-protocol/actions/workflows/cd-node-sdk.yaml) | [![Subgraph Deploy](https://github.com/humanprotocol/human-protocol/actions/workflows/cd-subgraph.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/cd-subgraph.yaml) | - +| [![Lint Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-lint.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-lint.yaml) | [![Protocol Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-core.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-core.yaml) | [![Node.js SDK Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-node-sdk.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-node-sdk.yaml) | [![Python SDK Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-python-sdk.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-python-sdk.yaml) | +| [![Human Protocol Subgraph Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-subgraph-human.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-subgraph-human.yaml) | [![HMT Subgraph Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-subgraph-hmt.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-subgraph-hmt.yaml) | [![Dashboard Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-dashboard.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-dashboard.yaml) | [![Human App Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-human-app.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-human-app.yaml) | +| [![Job Launcher Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-job-launcher.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-job-launcher.yaml) | [![Reputation Oracle Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-reputation-oracle.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-reputation-oracle.yaml) | [![Faucet Server Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-faucet-server.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-faucet-server.yaml) | [![Fortune Check](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-fortune.yaml/badge.svg?branch=main)](https://github.com/humanprotocol/human-protocol/actions/workflows/ci-test-fortune.yaml) | ## All work on-chain @@ -16,12 +15,12 @@ Join us on [Discord](http://hmt.ai/discord) **What is the HUMAN Network?** -HUMAN is a permissionless protocol to facilitate the exchange of HUMAN work, knowledge, and contribution. Using HUMAN, individuals, organizations or businesses can either create or complete tasks. These are tasks that cannot typically be automated or completed by a machine. The types of work that are currently being completed using the HUMAN Protocol are: +HUMAN is a permissionless protocol to facilitate the exchange of HUMAN work, knowledge, and contribution. Using HUMAN, individuals, organizations or businesses can either create or complete tasks. These are tasks that cannot typically be automated or completed by a machine. The types of work that are currently being completed using the HUMAN Protocol are: -* [Data labeling](https://app.humanprotocol.org/) - HUMAN is currently being used to label raw image data which can subsequently be used to train Machine Learning algorithms. Last month over 20 Million images were labeled by HUMAN workers: [HUMAN Escrow Scanner](https://dashboard.humanprotocol.org/) -* [IMOO](https://www.humanprotocol.org/imoo) - An on-chain oracle for decentralized prediction markets -* [POH](https://www.humanprotocol.org/proof-of-humanity) - A system that brings bot-blocking applications on-chain -* … +- [Data labeling](https://app.humanprotocol.org/) - HUMAN is currently being used to label raw image data which can subsequently be used to train Machine Learning algorithms. Last month over 20 Million images were labeled by HUMAN workers: [HUMAN Escrow Scanner](https://dashboard.humanprotocol.org/) +- [IMOO](https://www.humanprotocol.org/imoo) - An on-chain oracle for decentralized prediction markets +- [POH](https://www.humanprotocol.org/proof-of-humanity) - A system that brings bot-blocking applications on-chain +- … ### Documentation @@ -29,7 +28,7 @@ For a more detailed description of the HUMAN Protocol architecture and vision se ### Description -As part of our efforts to increase open source contributions we have consolidated all our codebase into a single monorepo. This monorepo provides an easy and reliable way to build applications that interact with the HUMAN Protocol. It has been designed so that it can be extended to meet the requirements of a wide variety of blockchain application use-cases involving human work or contribution. We have also included various example applications and reference implementations for the core infrastructure components that make up the HUMAN Protocol. +As part of our efforts to increase open source contributions we have consolidated all our codebase into a single monorepo. This monorepo provides an easy and reliable way to build applications that interact with the HUMAN Protocol. It has been designed so that it can be extended to meet the requirements of a wide variety of blockchain application use-cases involving human work or contribution. We have also included various example applications and reference implementations for the core infrastructure components that make up the HUMAN Protocol. ### Contributing to this repository @@ -58,16 +57,18 @@ The contribution guidelines are as per the CONTRIBUTING.MD file. │ │ │ ├── human-protocol-sdk # Node.js SDK to interact with Human Protocol │ │ │ ├── subgraph # Human Protocol Subgraph ``` + ### Smart contracts + To access comprehensive information about the smart contracts, please visit the following URL: https://docs.humanprotocol.org/architecture/contracts/escrow.sol. This resource provides detailed documentation that covers various aspects of the smart contracts used within the Human Protocol ecosystem. ### How To Use This Repo -If you would like to join the HUMAN network as an operator please see the [apps](https://github.com/humanprotocol/human-protocol/tree/main/packages/apps) folder. Users may participate as any of the following roles: +If you would like to join the HUMAN network as an operator please see the [apps](https://github.com/humanprotocol/human-protocol/tree/main/packages/apps) folder. Users may participate as any of the following roles: -* [Job Launcher Operator](https://github.com/humanprotocol/human-protocol/tree/main/packages/apps/job-launcher) -* [Exchange Oracle Operator](https://github.com/humanprotocol/human-protocol/tree/main/packages/apps/fortune/exchange-oracle) -* [Recording Oracle Operator](https://github.com/humanprotocol/human-protocol/tree/main/packages/apps/fortune/recording-oracle) +- [Job Launcher Operator](https://github.com/humanprotocol/human-protocol/tree/main/packages/apps/job-launcher) +- [Exchange Oracle Operator](https://github.com/humanprotocol/human-protocol/tree/main/packages/apps/fortune/exchange-oracle) +- [Recording Oracle Operator](https://github.com/humanprotocol/human-protocol/tree/main/packages/apps/fortune/recording-oracle) #### Building New Applications for HUMAN @@ -83,6 +84,7 @@ To improve `git blame` accuracy by ignoring non-functional commits (e.g., format **To enable this:** Run: + ```bash git config blame.ignoreRevsFile .git-blame-ignore-revs git config blame.markIgnoredLines true @@ -91,5 +93,5 @@ git config blame.markUnblamableLines true ## LEGAL NOTICE -The Protocol is an open-source, blockchain-based network that organizes, evaluates, and compensates human labor (the “Protocol”). Your use of the Protocol is entirely at your own risk. The Protocol is available on an “as is” basis without warranties of any kind, either express or implied, including, but not limited to, warranties of merchantability, title, fitness for a particular purpose and non-infringement. You assume all risks associated with using the Protocol, and digital assets and decentralized systems generally, including but not -limited to, that: (a) digital assets are highly volatile; (b) using digital assets is inherently risky due to both features of such assets and the potential unauthorized acts of third parties; (c) you may not have ready access to digital assets; and (d) you may lose some or all of your tokens or other digital assets. You agree that you will have no recourse against anyone else for any losses due to the use of the Protocol. For example, these losses may arise from or relate to: (i) incorrect information; (ii) software or network failures; (iii) corrupted digital wallet files; (iv) unauthorized access; (v) errors, mistakes, or inaccuracies; or (vi) third-party activities. The Protocol does not collect any personal data, and your interaction with the Protocol will solely be through your public digital wallet address. Any personal or other data that you may make available in connection with the Protocol may not be private or secure. +The Protocol is an open-source, blockchain-based network that organizes, evaluates, and compensates human labor (the “Protocol”). Your use of the Protocol is entirely at your own risk. The Protocol is available on an “as is” basis without warranties of any kind, either express or implied, including, but not limited to, warranties of merchantability, title, fitness for a particular purpose and non-infringement. You assume all risks associated with using the Protocol, and digital assets and decentralized systems generally, including but not +limited to, that: (a) digital assets are highly volatile; (b) using digital assets is inherently risky due to both features of such assets and the potential unauthorized acts of third parties; (c) you may not have ready access to digital assets; and (d) you may lose some or all of your tokens or other digital assets. You agree that you will have no recourse against anyone else for any losses due to the use of the Protocol. For example, these losses may arise from or relate to: (i) incorrect information; (ii) software or network failures; (iii) corrupted digital wallet files; (iv) unauthorized access; (v) errors, mistakes, or inaccuracies; or (vi) third-party activities. The Protocol does not collect any personal data, and your interaction with the Protocol will solely be through your public digital wallet address. Any personal or other data that you may make available in connection with the Protocol may not be private or secure. diff --git a/packages/apps/dashboard/client/eslint.config.mjs b/packages/apps/dashboard/client/eslint.config.mjs index d41d2254a2..8db1e8685a 100644 --- a/packages/apps/dashboard/client/eslint.config.mjs +++ b/packages/apps/dashboard/client/eslint.config.mjs @@ -1,9 +1,10 @@ import eslint from '@eslint/js'; import tseslint from 'typescript-eslint'; +import { createTypeScriptImportResolver } from 'eslint-import-resolver-typescript'; +import { createNodeResolver, importX } from 'eslint-plugin-import-x'; import reactPlugin from 'eslint-plugin-react'; import reactHooksPlugin from 'eslint-plugin-react-hooks'; import prettierPlugin from 'eslint-plugin-prettier'; -import importPlugin from 'eslint-plugin-import'; import globals from 'globals'; export default tseslint.config( @@ -33,17 +34,18 @@ export default tseslint.config( react: reactPlugin, 'react-hooks': reactHooksPlugin, prettier: prettierPlugin, - import: importPlugin, + 'import-x': importX, }, settings: { react: { version: 'detect', }, - 'import/resolver': { - typescript: { + 'import-x/resolver-next': [ + createTypeScriptImportResolver({ alwaysTryTypes: true, - }, - }, + }), + createNodeResolver(), + ], }, rules: { 'no-useless-assignment': 'off', @@ -53,7 +55,7 @@ export default tseslint.config( 'react/react-in-jsx-scope': 'off', 'react-hooks/exhaustive-deps': 'warn', 'react-hooks/rules-of-hooks': 'error', - 'import/order': [ + 'import-x/order': [ 'error', { groups: [ @@ -79,8 +81,8 @@ export default tseslint.config( }, }, ], - 'import/no-duplicates': 'error', - 'import/no-unresolved': 'error', + 'import-x/no-duplicates': 'error', + 'import-x/no-unresolved': 'error', '@typescript-eslint/consistent-type-imports': 'error', '@typescript-eslint/no-unused-vars': [ 'error', diff --git a/packages/apps/dashboard/client/package.json b/packages/apps/dashboard/client/package.json index a2f93a521b..0089c0ef8e 100644 --- a/packages/apps/dashboard/client/package.json +++ b/packages/apps/dashboard/client/package.json @@ -23,7 +23,7 @@ "@mui/icons-material": "^7.3.8", "@mui/material": "^7.2.0", "@mui/styled-engine-sc": "7.3.8", - "@mui/system": "^7.2.0", + "@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", @@ -49,11 +49,10 @@ "@eslint/js": "^10.0.1", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", - "@typescript-eslint/eslint-plugin": "^7.2.0", - "@typescript-eslint/parser": "^8.46.3", "@vitejs/plugin-react": "^4.2.1", - "eslint": "^9.39.1", - "eslint-plugin-import": "^2.31.0", + "eslint": "^10.0.3", + "eslint-import-resolver-typescript": "^4.4.4", + "eslint-plugin-import-x": "^4.16.2", "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", @@ -63,7 +62,7 @@ "sass": "^1.89.2", "terser": "^5.36.0", "typescript": "^5.6.3", - "typescript-eslint": "^8.33.0", + "typescript-eslint": "^8.57.0", "vite": "^6.2.4" }, "lint-staged": { diff --git a/packages/apps/dashboard/client/src/features/searchResults/model/addressDetailsSchema.ts b/packages/apps/dashboard/client/src/features/searchResults/model/addressDetailsSchema.ts index fe9c339c49..2a5a2926a4 100644 --- a/packages/apps/dashboard/client/src/features/searchResults/model/addressDetailsSchema.ts +++ b/packages/apps/dashboard/client/src/features/searchResults/model/addressDetailsSchema.ts @@ -11,7 +11,6 @@ const walletSchema = z.object({ lockedAmount: z.string(), withdrawableAmount: z.string(), reputation: reputationSchema, - totalHMTAmountReceived: z.string(), payoutCount: z.number().or(z.string()), }); diff --git a/packages/apps/dashboard/client/src/features/searchResults/ui/WalletAddress.tsx b/packages/apps/dashboard/client/src/features/searchResults/ui/WalletAddress.tsx index 29b551a00e..673d27a825 100644 --- a/packages/apps/dashboard/client/src/features/searchResults/ui/WalletAddress.tsx +++ b/packages/apps/dashboard/client/src/features/searchResults/ui/WalletAddress.tsx @@ -30,7 +30,7 @@ const WalletAddress: FC = ({ data }) => { reputation, withdrawableAmount, } = data; - const isWallet = 'totalHMTAmountReceived' in data; + const isWallet = 'payoutCount' in data; return ( <> @@ -51,10 +51,10 @@ const WalletAddress: FC = ({ data }) => { {isWallet && ( - + )} diff --git a/packages/apps/dashboard/server/package.json b/packages/apps/dashboard/server/package.json index 1a2a35ac27..2b4a786c14 100644 --- a/packages/apps/dashboard/server/package.json +++ b/packages/apps/dashboard/server/package.json @@ -39,7 +39,7 @@ "class-transformer": "^0.5.1", "class-validator": "0.14.1", "dayjs": "^1.11.12", - "ethers": "~6.15.0", + "ethers": "~6.16.0", "joi": "^17.13.3", "keyv": "^5.5.5", "lodash": "^4.17.21", @@ -48,6 +48,7 @@ "rxjs": "^7.2.0" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@golevelup/ts-jest": "^1.2.1", "@nestjs/cli": "^11.0.16", "@nestjs/schematics": "^11.0.9", @@ -55,19 +56,19 @@ "@types/express": "^5.0.6", "@types/jest": "30.0.0", "@types/node": "22.10.5", - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^8.46.3", - "eslint": "^9.39.1", + "eslint": "^10.0.3", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-jest": "^28.9.0", + "eslint-plugin-jest": "^29.15.0", "eslint-plugin-prettier": "^5.5.5", + "globals": "^16.3.0", "jest": "^29.7.0", "prettier": "^3.8.1", "source-map-support": "^0.5.20", "ts-jest": "29.2.5", "ts-node": "^10.0.0", "tsconfig-paths": "4.2.0", - "typescript": "^5.6.3" + "typescript": "^5.6.3", + "typescript-eslint": "^8.57.0" }, "lint-staged": { "*.ts": [ diff --git a/packages/apps/dashboard/server/src/modules/details/details.service.ts b/packages/apps/dashboard/server/src/modules/details/details.service.ts index 0b40757ced..72a73d03c2 100644 --- a/packages/apps/dashboard/server/src/modules/details/details.service.ts +++ b/packages/apps/dashboard/server/src/modules/details/details.service.ts @@ -128,9 +128,6 @@ export class DetailsService { withdrawableAmount: ethers.formatEther(stakingData.withdrawableAmount), reputation: (await this.fetchOperatorReputation(chainId, address)) .reputation, - totalHMTAmountReceived: ethers.formatEther( - workerData?.totalHMTAmountReceived || 0, - ), payoutCount: workerData?.payoutCount || 0, }); diff --git a/packages/apps/faucet/client/package.json b/packages/apps/faucet/client/package.json index b821969172..6fb1508b7e 100644 --- a/packages/apps/faucet/client/package.json +++ b/packages/apps/faucet/client/package.json @@ -31,18 +31,21 @@ "viem": "2.x" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@vitejs/plugin-react": "^4.3.4", "dotenv": "^17.2.2", - "eslint": "^9.39.1", + "eslint": "^10.0.3", + "eslint-config-prettier": "^10.1.8", "eslint-config-react-app": "^7.0.1", - "eslint-import-resolver-typescript": "^3.7.0", - "eslint-plugin-import": "^2.29.0", + "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-react": "^7.34.3", "eslint-plugin-react-hooks": "^5.1.0", + "globals": "^16.3.0", "prettier": "^3.8.1", "typescript": "^5.8.3", + "typescript-eslint": "^8.57.0", "vite": "^6.2.4", "vite-plugin-node-polyfills": "^0.25.0" }, diff --git a/packages/apps/faucet/server/package.json b/packages/apps/faucet/server/package.json index 9ae1f12a7c..ffa9ddad54 100644 --- a/packages/apps/faucet/server/package.json +++ b/packages/apps/faucet/server/package.json @@ -25,16 +25,22 @@ "web3": "^4.12.1" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@types/cors": "^2.8.19", "@types/express": "^5.0.6", "@types/jest": "^29.5.14", "@types/node": "^22.15.16", "concurrently": "^9.1.2", - "eslint": "^9.39.1", + "eslint": "^10.0.3", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-prettier": "^5.5.5", + "globals": "^16.3.0", "hardhat": "^2.26.0", "jest": "^29.7.0", + "prettier": "^3.8.1", "ts-jest": "29.2.5", "ts-node": "^10.9.2", - "typescript": "^5.8.3" + "typescript": "^5.8.3", + "typescript-eslint": "^8.57.0" } } diff --git a/packages/apps/fortune/exchange-oracle/client/package.json b/packages/apps/fortune/exchange-oracle/client/package.json index 9e2a7f1309..89b7e86dba 100644 --- a/packages/apps/fortune/exchange-oracle/client/package.json +++ b/packages/apps/fortune/exchange-oracle/client/package.json @@ -36,7 +36,7 @@ "@tanstack/react-query": "^5.67.2", "@tanstack/react-query-persist-client": "^5.80.7", "axios": "^1.7.2", - "ethers": "^6.15.0", + "ethers": "^6.16.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^7.13.0", @@ -45,17 +45,18 @@ "wagmi": "^2.14.6" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^7.13.1", - "@typescript-eslint/parser": "^8.46.3", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^9.39.1", + "eslint": "^10.0.3", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.11", + "globals": "^16.3.0", "prettier": "^3.8.1", "typescript": "^5.6.3", + "typescript-eslint": "^8.57.0", "vite": "^6.2.4", "vite-plugin-node-polyfills": "^0.25.0" }, diff --git a/packages/apps/fortune/exchange-oracle/server/package.json b/packages/apps/fortune/exchange-oracle/server/package.json index 17fe5b0829..e006a225c1 100644 --- a/packages/apps/fortune/exchange-oracle/server/package.json +++ b/packages/apps/fortune/exchange-oracle/server/package.json @@ -40,7 +40,7 @@ "@nestjs/platform-express": "^11.1.12", "@nestjs/schedule": "^6.1.1", "@nestjs/swagger": "^11.2.5", - "@nestjs/terminus": "^11.0.0", + "@nestjs/terminus": "^11.1.1", "@nestjs/typeorm": "^11.0.0", "@types/passport-jwt": "^4.0.1", "axios": "^1.3.1", @@ -48,7 +48,7 @@ "class-transformer": "^0.5.1", "class-validator": "0.14.1", "dotenv": "^17.2.2", - "ethers": "~6.15.0", + "ethers": "~6.16.0", "joi": "^17.13.3", "jsonwebtoken": "^9.0.2", "minio": "8.0.6", @@ -61,6 +61,7 @@ "typeorm-naming-strategies": "^4.1.0" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@golevelup/ts-jest": "^0.6.1", "@nestjs/cli": "^11.0.16", "@nestjs/schematics": "^11.0.9", @@ -72,18 +73,18 @@ "@types/node": "22.10.5", "@types/passport": "^1", "@types/pg": "8.11.10", - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^8.46.3", - "eslint": "^9.39.1", + "eslint": "^10.0.3", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-jest": "^28.9.0", + "eslint-plugin-jest": "^29.15.0", "eslint-plugin-prettier": "^5.5.5", + "globals": "^16.3.0", "jest": "^29.7.0", "prettier": "^3.8.1", "source-map-support": "^0.5.20", "ts-jest": "29.2.5", "ts-node": "^10.9.2", "tsconfig-paths": "4.2.0", - "typescript": "^5.6.3" + "typescript": "^5.6.3", + "typescript-eslint": "^8.57.0" } } diff --git a/packages/apps/fortune/recording-oracle/package.json b/packages/apps/fortune/recording-oracle/package.json index 4cef509a1b..d3fb090936 100644 --- a/packages/apps/fortune/recording-oracle/package.json +++ b/packages/apps/fortune/recording-oracle/package.json @@ -43,19 +43,23 @@ "rxjs": "^7.2.0" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@nestjs/cli": "^11.0.16", "@nestjs/schematics": "^11.0.9", "@nestjs/testing": "^11.1.14", "@types/express": "^5.0.6", "@types/jest": "^29.5.14", "@types/node": "^22.15.16", - "eslint": "^9.39.1", - "eslint-plugin-jest": "^28.9.0", + "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", "ts-jest": "29.2.5", "ts-node": "^10.9.2", - "typescript": "^5.8.3" + "typescript": "^5.8.3", + "typescript-eslint": "^8.57.0" } } diff --git a/packages/apps/human-app/frontend/eslint.config.mjs b/packages/apps/human-app/frontend/eslint.config.mjs index 21c512d7f1..d53c10dcf5 100644 --- a/packages/apps/human-app/frontend/eslint.config.mjs +++ b/packages/apps/human-app/frontend/eslint.config.mjs @@ -3,7 +3,6 @@ import globals from 'globals'; import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; import reactHooks from 'eslint-plugin-react-hooks'; import jsxA11y from 'eslint-plugin-jsx-a11y'; -import eslintPluginImport from 'eslint-plugin-import'; import tseslint from 'typescript-eslint'; export default tseslint.config( @@ -31,7 +30,6 @@ export default tseslint.config( '@typescript-eslint': tseslint.plugin, 'react-hooks': reactHooks, 'jsx-a11y': jsxA11y, - import: eslintPluginImport, }, rules: { 'no-useless-assignment': 'off', diff --git a/packages/apps/human-app/frontend/package.json b/packages/apps/human-app/frontend/package.json index 1973f80321..4fbdff97fb 100644 --- a/packages/apps/human-app/frontend/package.json +++ b/packages/apps/human-app/frontend/package.json @@ -27,7 +27,7 @@ "@human-protocol/sdk": "workspace:*", "@mui/icons-material": "^7.3.8", "@mui/material": "^5.16.7", - "@mui/system": "^5.15.14", + "@mui/system": "^7.3.9", "@mui/x-date-pickers": "^8.26.0", "@reown/appkit": "^1.7.11", "@reown/appkit-adapter-wagmi": "^1.7.11", @@ -35,7 +35,7 @@ "@tanstack/react-query": "^5.75.5", "@wagmi/core": "^3.4.0", "date-fns": "^4.1.0", - "ethers": "^6.15.0", + "ethers": "^6.16.0", "i18next": "^25.8.0", "jwt-decode": "^4.0.0", "lodash": "^4.17.21", @@ -59,6 +59,7 @@ "zustand": "^5.0.10" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@tanstack/eslint-plugin-query": "^5.60.1", "@tanstack/react-query-devtools": "^5.59.16", "@types/lodash": "^4.17.12", @@ -67,18 +68,20 @@ "@types/prop-types": "^15", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^8.46.3", "@vercel/style-guide": "^6.0.0", "@vitejs/plugin-react": "^4.2.1", - "eslint": "^9.39.1", + "eslint": "^10.0.3", "eslint-config-prettier": "^9.1.0", + "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-prettier": "^5.5.5", + "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.11", + "globals": "^16.3.0", "husky": "^9.1.6", "jsdom": "^25.0.1", "prettier": "^3.8.1", "typescript": "^5.6.3", + "typescript-eslint": "^8.57.0", "vite": "^6.2.4", "vitest": "^4.0.18" } diff --git a/packages/apps/human-app/server/package.json b/packages/apps/human-app/server/package.json index 1bb66447bd..7caf038a17 100644 --- a/packages/apps/human-app/server/package.json +++ b/packages/apps/human-app/server/package.json @@ -37,13 +37,13 @@ "@nestjs/platform-express": "^11.1.12", "@nestjs/schedule": "^6.1.1", "@nestjs/swagger": "^11.2.5", - "@nestjs/terminus": "^11.0.0", + "@nestjs/terminus": "^11.1.1", "@types/passport-jwt": "^4.0.1", "axios": "^1.7.2", "cache-manager": "7.2.8", "class-transformer": "^0.5.1", "class-validator": "0.14.1", - "ethers": "^6.15.0", + "ethers": "^6.16.0", "joi": "^17.13.3", "jsonwebtoken": "^9.0.2", "jwt-decode": "^4.0.0", @@ -55,6 +55,7 @@ "rxjs": "^7.2.0" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@nestjs/cli": "^11.0.16", "@nestjs/schematics": "^11.0.9", "@nestjs/testing": "^11.1.14", @@ -64,12 +65,11 @@ "@types/lodash": "^4.17.14", "@types/node": "22.10.5", "@types/passport": "^1", - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^8.46.3", - "eslint": "^9.39.1", + "eslint": "^10.0.3", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-jest": "^28.9.0", + "eslint-plugin-jest": "^29.15.0", "eslint-plugin-prettier": "^5.5.5", + "globals": "^16.3.0", "jest": "^29.7.0", "nock": "^14.0.11", "prettier": "^3.8.1", @@ -77,6 +77,7 @@ "ts-jest": "29.2.5", "ts-node": "^10.9.2", "tsconfig-paths": "4.2.0", - "typescript": "^5.6.3" + "typescript": "^5.6.3", + "typescript-eslint": "^8.57.0" } } diff --git a/packages/apps/job-launcher/client/eslint.config.mjs b/packages/apps/job-launcher/client/eslint.config.mjs index 0016de8981..921e03332a 100644 --- a/packages/apps/job-launcher/client/eslint.config.mjs +++ b/packages/apps/job-launcher/client/eslint.config.mjs @@ -3,7 +3,6 @@ import globals from 'globals'; import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; import reactHooks from 'eslint-plugin-react-hooks'; import jsxA11y from 'eslint-plugin-jsx-a11y'; -import eslintPluginImport from 'eslint-plugin-import'; import tseslint from 'typescript-eslint'; export default tseslint.config( @@ -30,7 +29,6 @@ export default tseslint.config( plugins: { '@typescript-eslint': tseslint.plugin, 'react-hooks': reactHooks, - import: eslintPluginImport, }, rules: { 'no-useless-assignment': 'off', diff --git a/packages/apps/job-launcher/client/package.json b/packages/apps/job-launcher/client/package.json index 9cf9b95fcd..165c9bffa1 100644 --- a/packages/apps/job-launcher/client/package.json +++ b/packages/apps/job-launcher/client/package.json @@ -11,7 +11,7 @@ "@mui/icons-material": "^7.3.8", "@mui/lab": "^6.0.0-dev.240424162023-9968b4889d", "@mui/material": "^5.16.7", - "@mui/system": "^5.15.14", + "@mui/system": "^7.3.9", "@mui/x-date-pickers": "^8.26.0", "@reduxjs/toolkit": "^2.5.0", "@stripe/react-stripe-js": "^3.0.0", @@ -23,7 +23,7 @@ "copy-to-clipboard": "^3.3.3", "dayjs": "^1.11.12", "decimal.js": "^10.6.0", - "ethers": "^6.15.0", + "ethers": "^6.16.0", "file-saver": "^2.0.5", "formik": "^2.4.2", "jwt-decode": "^4.0.0", @@ -65,19 +65,23 @@ ] }, "devDependencies": { + "@eslint/js": "^10.0.1", "@types/file-saver": "^2.0.7", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/xml2js": "^0.4.14", "@vitejs/plugin-react": "^4.2.1", - "eslint": "^9.39.1", + "eslint": "^10.0.3", + "eslint-config-prettier": "^10.1.8", "eslint-config-react-app": "^7.0.1", - "eslint-import-resolver-typescript": "^3.7.0", - "eslint-plugin-import": "^2.29.0", + "eslint-plugin-jsx-a11y": "^6.10.2", + "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-react": "^7.34.3", "eslint-plugin-react-hooks": "^5.1.0", + "globals": "^16.3.0", "prettier": "^3.8.1", "resize-observer-polyfill": "^1.5.1", + "typescript-eslint": "^8.57.0", "vite": "^6.2.4", "vite-plugin-node-polyfills": "^0.25.0" }, diff --git a/packages/apps/job-launcher/server/package.json b/packages/apps/job-launcher/server/package.json index c048e3030d..52364ac02a 100644 --- a/packages/apps/job-launcher/server/package.json +++ b/packages/apps/job-launcher/server/package.json @@ -43,7 +43,7 @@ "@nestjs/platform-express": "^11.1.12", "@nestjs/schedule": "^6.1.1", "@nestjs/swagger": "^11.2.5", - "@nestjs/terminus": "^11.0.0", + "@nestjs/terminus": "^11.1.1", "@nestjs/throttler": "^6.5.0", "@nestjs/typeorm": "^11.0.0", "@sendgrid/mail": "^8.1.3", @@ -75,6 +75,7 @@ "zxcvbn": "^4.4.2" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@faker-js/faker": "^9.8.0", "@golevelup/ts-jest": "^0.6.1", "@nestjs/cli": "^11.0.16", @@ -86,19 +87,19 @@ "@types/node": "22.10.5", "@types/xml2js": "0.4.14", "@types/zxcvbn": "4.4.5", - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^8.46.3", - "eslint": "^9.39.1", + "eslint": "^10.0.3", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-jest": "^28.9.0", + "eslint-plugin-jest": "^29.15.0", "eslint-plugin-prettier": "^5.5.5", + "globals": "^16.3.0", "jest": "^29.7.0", "prettier": "^3.8.1", "source-map-support": "^0.5.20", "ts-jest": "29.2.5", "ts-node": "^10.9.2", "tsconfig-paths": "4.2.0", - "typescript": "^5.6.3" + "typescript": "^5.6.3", + "typescript-eslint": "^8.57.0" }, "lint-staged": { "*.ts": [ diff --git a/packages/apps/job-launcher/server/src/modules/cron-job/cron-job.service.spec.ts b/packages/apps/job-launcher/server/src/modules/cron-job/cron-job.service.spec.ts index b7f7706a97..660fab11e1 100644 --- a/packages/apps/job-launcher/server/src/modules/cron-job/cron-job.service.spec.ts +++ b/packages/apps/job-launcher/server/src/modules/cron-job/cron-job.service.spec.ts @@ -885,7 +885,7 @@ describe('CronJobService', () => { escrowEventMock = { chainId: ChainId.LOCALHOST, escrowAddress: MOCK_ADDRESS, - status: EscrowStatus.Partial, + status: 'Partial', }; jest.spyOn(repository, 'findOneByType').mockResolvedValue(null); diff --git a/packages/apps/job-launcher/server/src/modules/cron-job/cron-job.service.ts b/packages/apps/job-launcher/server/src/modules/cron-job/cron-job.service.ts index 12f245123b..f41f759733 100644 --- a/packages/apps/job-launcher/server/src/modules/cron-job/cron-job.service.ts +++ b/packages/apps/job-launcher/server/src/modules/cron-job/cron-job.service.ts @@ -435,19 +435,19 @@ export class CronJobService { } if (!job || job.status === JobStatus.CANCELED) continue; - if (event.status === EscrowStatus.Cancelled) { + if (event.status === EscrowStatus[EscrowStatus.Cancelled]) { await this.jobService.cancelJob(job); continue; } let newStatus: JobStatus | null = null; if ( - event.status === EscrowStatus.Partial && + event.status === EscrowStatus[EscrowStatus.Partial] && job.status !== JobStatus.PARTIAL ) { newStatus = JobStatus.PARTIAL; } else if ( - event.status === EscrowStatus.Complete && + event.status === EscrowStatus[EscrowStatus.Complete] && job.status !== JobStatus.COMPLETED ) { newStatus = JobStatus.COMPLETED; diff --git a/packages/apps/reputation-oracle/server/eslint.config.mjs b/packages/apps/reputation-oracle/server/eslint.config.mjs index 6275a10188..637a9bdf49 100644 --- a/packages/apps/reputation-oracle/server/eslint.config.mjs +++ b/packages/apps/reputation-oracle/server/eslint.config.mjs @@ -1,8 +1,9 @@ // @ts-check import eslint from '@eslint/js'; +import { createTypeScriptImportResolver } from 'eslint-import-resolver-typescript'; import globals from 'globals'; import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; -import * as importPlugin from 'eslint-plugin-import'; +import { createNodeResolver, importX } from 'eslint-plugin-import-x'; import tseslint from 'typescript-eslint'; export default tseslint.config( @@ -25,7 +26,7 @@ export default tseslint.config( }, }, plugins: { - 'import': importPlugin, + 'import-x': importX, }, rules: { 'no-useless-assignment': 'off', @@ -42,7 +43,7 @@ export default tseslint.config( 'varsIgnorePattern': '^_', 'ignoreRestSiblings': true }], - 'import/order': [ + 'import-x/order': [ 'warn', { alphabetize: { order: 'asc', caseInsensitive: true }, @@ -57,9 +58,10 @@ export default tseslint.config( ], }, settings: { - 'import/resolver': { - typescript: {}, - }, + 'import-x/resolver-next': [ + createTypeScriptImportResolver(), + createNodeResolver(), + ], }, }, -); \ No newline at end of file +); diff --git a/packages/apps/reputation-oracle/server/package.json b/packages/apps/reputation-oracle/server/package.json index 9ea92ab5a0..ee2836b318 100644 --- a/packages/apps/reputation-oracle/server/package.json +++ b/packages/apps/reputation-oracle/server/package.json @@ -42,7 +42,7 @@ "@nestjs/platform-express": "^11.1.12", "@nestjs/schedule": "^6.1.1", "@nestjs/swagger": "^11.2.5", - "@nestjs/terminus": "^11.0.0", + "@nestjs/terminus": "^11.1.1", "@nestjs/typeorm": "^11.0.0", "@sendgrid/mail": "^8.1.3", "@slack/bolt": "^4.2.1", @@ -55,7 +55,7 @@ "class-transformer": "^0.5.1", "class-validator": "^0.14.1", "dotenv": "^17.2.2", - "ethers": "~6.15.0", + "ethers": "~6.16.0", "helmet": "^7.1.0", "joi": "^17.13.3", "json-stable-stringify": "^1.2.1", @@ -86,10 +86,10 @@ "@types/node": "22.10.5", "@types/uuid": "^10.0.0", "@types/zxcvbn": "4.4.5", - "eslint": "^9.39.1", + "eslint": "^10.0.3", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-typescript": "^4.4.4", - "eslint-plugin-import": "^2.32.0", + "eslint-plugin-import-x": "^4.16.2", "eslint-plugin-prettier": "^5.5.5", "globals": "^16.3.0", "jest": "^29.7.0", @@ -100,7 +100,7 @@ "tsconfig-paths": "^4.2.0", "type-fest": "^4.37.0", "typescript": "^5.9.2", - "typescript-eslint": "^8.39.1" + "typescript-eslint": "^8.57.0" }, "lint-staged": { "*.ts": [ diff --git a/packages/apps/reputation-oracle/server/src/modules/exchange-api-keys/exchange-api-keys.service.spec.ts b/packages/apps/reputation-oracle/server/src/modules/exchange-api-keys/exchange-api-keys.service.spec.ts index 7869bf4f60..082d28dc67 100644 --- a/packages/apps/reputation-oracle/server/src/modules/exchange-api-keys/exchange-api-keys.service.spec.ts +++ b/packages/apps/reputation-oracle/server/src/modules/exchange-api-keys/exchange-api-keys.service.spec.ts @@ -7,7 +7,7 @@ import { AesEncryptionService } from '@/modules/encryption/aes-encryption.servic import { mockEncryptionConfigService } from '@/modules/encryption/fixtures'; import { ExchangeClientFactory } from '@/modules/exchange/exchange-client.factory'; -// eslint-disable-next-line import/order +// eslint-disable-next-line import-x/order import { ExchangeApiKeysService } from './exchange-api-keys.service'; import { UserEntity, UserNotFoundError, UserRepository } from '@/modules/user'; diff --git a/packages/apps/staking/package.json b/packages/apps/staking/package.json index 0401dffed8..2d3101c398 100644 --- a/packages/apps/staking/package.json +++ b/packages/apps/staking/package.json @@ -38,7 +38,7 @@ "@tanstack/react-query": "^5.67.2", "@tanstack/react-query-persist-client": "^5.80.7", "axios": "^1.7.2", - "ethers": "^6.15.0", + "ethers": "^6.16.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^7.13.0", @@ -48,18 +48,19 @@ "wagmi": "^2.14.6" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^7.13.1", - "@typescript-eslint/parser": "^8.46.3", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^9.39.1", + "eslint": "^10.0.3", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.11", + "globals": "^16.3.0", "prettier": "^3.8.1", "sass": "^1.89.2", "typescript": "^5.6.3", + "typescript-eslint": "^8.57.0", "vite": "^6.2.4", "vite-plugin-node-polyfills": "^0.25.0" }, diff --git a/packages/core/.openzeppelin/bsc.json b/packages/core/.openzeppelin/bsc.json index 7666d5d45a..76b3501fe6 100644 --- a/packages/core/.openzeppelin/bsc.json +++ b/packages/core/.openzeppelin/bsc.json @@ -1729,6 +1729,171 @@ }, "namespaces": {} } + }, + "0f95cf567f8918b75255368d276f9d1d3ff01313866d4084b4a734938d09a6e6": { + "address": "0x8C39c41Bd6257B2Fa3aF58511825D5eAD4921279", + "txHash": "0x6c92b19d5bb9196d090c29b37da44e31539e54321141642418575c2265e567dc", + "layout": { + "solcVersion": "0.8.23", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "151", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "counter", + "offset": 0, + "slot": "201", + "type": "t_uint256", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:17" + }, + { + "label": "escrowCounters", + "offset": 0, + "slot": "202", + "type": "t_mapping(t_address,t_uint256)", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:18" + }, + { + "label": "lastEscrow", + "offset": 0, + "slot": "203", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:19" + }, + { + "label": "staking", + "offset": 0, + "slot": "204", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:20" + }, + { + "label": "minimumStake", + "offset": 0, + "slot": "205", + "type": "t_uint256", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:21" + }, + { + "label": "admin", + "offset": 0, + "slot": "206", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:22" + }, + { + "label": "kvstore", + "offset": 0, + "slot": "207", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "208", + "type": "t_array(t_uint256)43_storage", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:195" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)43_storage": { + "label": "uint256[43]", + "numberOfBytes": "1376" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } diff --git a/packages/core/.openzeppelin/mainnet.json b/packages/core/.openzeppelin/mainnet.json index ee64d50eff..8a709b1a34 100644 --- a/packages/core/.openzeppelin/mainnet.json +++ b/packages/core/.openzeppelin/mainnet.json @@ -1729,6 +1729,171 @@ }, "namespaces": {} } + }, + "0f95cf567f8918b75255368d276f9d1d3ff01313866d4084b4a734938d09a6e6": { + "address": "0x182f882690c2B35Eb5885849Bb4331888857CF78", + "txHash": "0xd7100a2f0e6097eee27507ce2d4b1bee3ecf18cdda6b86326d7a2aea42f6a0d7", + "layout": { + "solcVersion": "0.8.23", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "151", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "counter", + "offset": 0, + "slot": "201", + "type": "t_uint256", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:17" + }, + { + "label": "escrowCounters", + "offset": 0, + "slot": "202", + "type": "t_mapping(t_address,t_uint256)", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:18" + }, + { + "label": "lastEscrow", + "offset": 0, + "slot": "203", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:19" + }, + { + "label": "staking", + "offset": 0, + "slot": "204", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:20" + }, + { + "label": "minimumStake", + "offset": 0, + "slot": "205", + "type": "t_uint256", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:21" + }, + { + "label": "admin", + "offset": 0, + "slot": "206", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:22" + }, + { + "label": "kvstore", + "offset": 0, + "slot": "207", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "208", + "type": "t_array(t_uint256)43_storage", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:195" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)43_storage": { + "label": "uint256[43]", + "numberOfBytes": "1376" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } diff --git a/packages/core/.openzeppelin/polygon.json b/packages/core/.openzeppelin/polygon.json index ecfb3f007c..417ed44cbc 100644 --- a/packages/core/.openzeppelin/polygon.json +++ b/packages/core/.openzeppelin/polygon.json @@ -1725,6 +1725,171 @@ }, "namespaces": {} } + }, + "0f95cf567f8918b75255368d276f9d1d3ff01313866d4084b4a734938d09a6e6": { + "address": "0x6839ef9b4872Ee7F1B01AAbbc046872D481A480F", + "txHash": "0x5a0eb7f4d9b09a438f482f77957f27da1c47fb248fa8aafd771d8ab4545edda9", + "layout": { + "solcVersion": "0.8.23", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:40" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "151", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "counter", + "offset": 0, + "slot": "201", + "type": "t_uint256", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:17" + }, + { + "label": "escrowCounters", + "offset": 0, + "slot": "202", + "type": "t_mapping(t_address,t_uint256)", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:18" + }, + { + "label": "lastEscrow", + "offset": 0, + "slot": "203", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:19" + }, + { + "label": "staking", + "offset": 0, + "slot": "204", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:20" + }, + { + "label": "minimumStake", + "offset": 0, + "slot": "205", + "type": "t_uint256", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:21" + }, + { + "label": "admin", + "offset": 0, + "slot": "206", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:22" + }, + { + "label": "kvstore", + "offset": 0, + "slot": "207", + "type": "t_address", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "208", + "type": "t_array(t_uint256)43_storage", + "contract": "EscrowFactory", + "src": "contracts/EscrowFactory.sol:195" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)43_storage": { + "label": "uint256[43]", + "numberOfBytes": "1376" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } diff --git a/packages/core/package.json b/packages/core/package.json index 31d24f0f95..00557aba87 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -54,6 +54,7 @@ ], "license": "MIT", "devDependencies": { + "@eslint/js": "^10.0.1", "@faker-js/faker": "^9.9.0", "@nomicfoundation/hardhat-chai-matchers": "^2.0.7", "@nomicfoundation/hardhat-ethers": "^3.1.0", @@ -71,9 +72,11 @@ "@types/node": "^22.15.16", "chai": "^4.5.0", "concurrently": "^9.1.2", - "eslint": "^9.39.1", + "eslint": "^10.0.3", + "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.5", - "ethers": "~6.15.0", + "ethers": "~6.16.0", + "globals": "^16.3.0", "hardhat": "^2.26.0", "hardhat-abi-exporter": "^2.10.1", "hardhat-contract-sizer": "^2.6.1", @@ -87,11 +90,11 @@ "ts-node": "^10.9.2", "typechain": "^8.3.2", "typescript": "^5.8.3", - "typescript-eslint": "^8.39.1", + "typescript-eslint": "^8.57.0", "xdeployer": "3.1.6" }, "peerDependencies": { - "ethers": "~6.15.0" + "ethers": "~6.16.0" }, "lint-staged": { "*.sol": [ diff --git a/packages/core/scripts/rpc-workarounds.ts b/packages/core/scripts/rpc-workarounds.ts new file mode 100644 index 0000000000..6f8b0b2c47 --- /dev/null +++ b/packages/core/scripts/rpc-workarounds.ts @@ -0,0 +1,52 @@ +import { ethers } from 'hardhat'; + +const PATCH_FLAG = Symbol.for('human-protocol.rpc-empty-address-normalized'); + +type JsonRpcSend = (method: string, params?: unknown[]) => Promise; + +function normalizeEmptyAddressFields(payload: T): T { + if (!payload || typeof payload !== 'object') { + return payload; + } + + const normalized = payload as Record; + + if (normalized.to === '') { + normalized.to = null; + } + + if (normalized.contractAddress === '') { + normalized.contractAddress = null; + } + + return payload; +} + +export function applyRpcAddressWorkaround(): void { + const provider = ethers.provider as unknown as { + _hardhatProvider?: { send?: JsonRpcSend; [PATCH_FLAG]?: boolean }; + }; + + const hardhatProvider = provider._hardhatProvider; + + if (!hardhatProvider?.send || hardhatProvider[PATCH_FLAG]) { + return; + } + + const originalSend = hardhatProvider.send.bind(hardhatProvider); + + hardhatProvider.send = async (method: string, params?: unknown[]) => { + const response = await originalSend(method, params); + + if ( + method === 'eth_getTransactionByHash' || + method === 'eth_getTransactionReceipt' + ) { + return normalizeEmptyAddressFields(response); + } + + return response; + }; + + hardhatProvider[PATCH_FLAG] = true; +} diff --git a/packages/core/scripts/upgrade-governor.ts b/packages/core/scripts/upgrade-governor.ts index 82ae82b7d0..32008d0dd7 100644 --- a/packages/core/scripts/upgrade-governor.ts +++ b/packages/core/scripts/upgrade-governor.ts @@ -1,8 +1,11 @@ /* eslint-disable no-console */ import 'dotenv/config'; import { ethers, upgrades } from 'hardhat'; +import { applyRpcAddressWorkaround } from './rpc-workarounds'; async function main() { + applyRpcAddressWorkaround(); + const governorProxy = process.env.GOVERNOR_ADDRESS; const fqName = process.env.GOVERNOR_FQN || diff --git a/packages/core/scripts/upgrade-proxies.ts b/packages/core/scripts/upgrade-proxies.ts index 8e83dacdd6..e494d9a6f5 100644 --- a/packages/core/scripts/upgrade-proxies.ts +++ b/packages/core/scripts/upgrade-proxies.ts @@ -1,8 +1,11 @@ /* eslint-disable no-console */ import { ethers, upgrades } from 'hardhat'; import type { EscrowFactory } from '../typechain-types'; +import { applyRpcAddressWorkaround } from './rpc-workarounds'; async function main() { + applyRpcAddressWorkaround(); + const escrowFactoryAddress = process.env.ESCROW_FACTORY_ADDRESS; const kvStoreAddress = process.env.KVSTORE_ADDRESS; @@ -21,9 +24,13 @@ async function main() { EscrowFactory ); const contract = await escrowFactoryContract.waitForDeployment(); - const hash = contract.deploymentTransaction()?.hash; - if (hash) { - await ethers.provider.getTransactionReceipt(hash); + const upgradeTx = contract.deploymentTransaction(); + if (upgradeTx) { + console.log( + 'Waiting for upgrade transaction confirmation...', + upgradeTx.hash + ); + await upgradeTx.wait(); } const escrowFactory = (await ethers.getContractAt( diff --git a/packages/examples/gcv/package.json b/packages/examples/gcv/package.json index c6057b7401..520ea20f57 100644 --- a/packages/examples/gcv/package.json +++ b/packages/examples/gcv/package.json @@ -18,10 +18,16 @@ "xml2js": "^0.6.2" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@types/xml2js": "^0.4.14", - "eslint": "^9.39.1", - "eslint-plugin-jest": "^28.9.0", + "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", - "typescript": "^5.8.3" + "prettier": "^3.8.1", + "typescript": "^5.8.3", + "typescript-eslint": "^8.57.0" } } diff --git a/packages/libs/logger/eslint.config.mjs b/packages/libs/logger/eslint.config.mjs index 0e913843d1..2e0a760184 100644 --- a/packages/libs/logger/eslint.config.mjs +++ b/packages/libs/logger/eslint.config.mjs @@ -1,8 +1,9 @@ // @ts-check import eslint from '@eslint/js'; +import { createTypeScriptImportResolver } from 'eslint-import-resolver-typescript'; import globals from 'globals'; import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; -import importPlugin from 'eslint-plugin-import'; +import { createNodeResolver, importX } from 'eslint-plugin-import-x'; import tseslint from 'typescript-eslint'; export default tseslint.config( @@ -25,12 +26,13 @@ export default tseslint.config( }, }, plugins: { - import: importPlugin, + 'import-x': importX, }, settings: { - 'import/resolver': { - typescript: {}, - }, + 'import-x/resolver-next': [ + createTypeScriptImportResolver(), + createNodeResolver(), + ], }, rules: { 'no-useless-assignment': 'off', @@ -55,7 +57,7 @@ export default tseslint.config( 'single', { 'avoidEscape': true, 'allowTemplateLiterals': true } ], - 'import/order': [ + 'import-x/order': [ 'warn', { alphabetize: { order: 'asc', caseInsensitive: true }, diff --git a/packages/libs/logger/package.json b/packages/libs/logger/package.json index 89e1b97f86..54d7382720 100644 --- a/packages/libs/logger/package.json +++ b/packages/libs/logger/package.json @@ -16,22 +16,22 @@ "prepack": "[ \"${SKIP_PREPACK:-}\" = \"true\" ] && exit 0 || yarn build" }, "dependencies": { - "pino": "^10.1.0", + "pino": "^10.3.1", "pino-pretty": "^13.1.3" }, "devDependencies": { "@eslint/js": "^10.0.1", "@types/node": "^22.10.5", - "eslint": "^9.39.1", + "eslint": "^10.0.3", "eslint-config-prettier": "^10.1.5", "eslint-import-resolver-typescript": "^4.4.4", - "eslint-plugin-import": "^2.32.0", + "eslint-plugin-import-x": "^4.16.2", "eslint-plugin-prettier": "^5.5.5", "globals": "^16.3.0", "prettier": "^3.8.1", "ts-node": "^10.9.2", "typescript": "^5.8.3", - "typescript-eslint": "^8.35.1" + "typescript-eslint": "^8.57.0" }, "peerDependencies": { "@nestjs/common": ">=10.0.0 <12.0.0" diff --git a/packages/sdk/python/human-protocol-sdk/CHANGELOG.md b/packages/sdk/python/human-protocol-sdk/CHANGELOG.md index 95ef3c397b..9ec3182f37 100644 --- a/packages/sdk/python/human-protocol-sdk/CHANGELOG.md +++ b/packages/sdk/python/human-protocol-sdk/CHANGELOG.md @@ -1,5 +1,16 @@ # @human-protocol/python-sdk +## 7.1.0 + +### Minor Changes + +- 7da7b12: Extended SDK to return block and tx hash for "getStatusEvents". + Fixed "status" field in return value to be consistent in SDKs. + +### Patch Changes + +- a49202f: Delete references to totalHMTAmountReceived that was removed from subgraph + ## 7.0.0 ### Major Changes diff --git a/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/escrow/escrow_utils.py b/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/escrow/escrow_utils.py index fa759799d1..2c08b7d1b9 100644 --- a/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/escrow/escrow_utils.py +++ b/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/escrow/escrow_utils.py @@ -143,12 +143,20 @@ class StatusEvent: """ def __init__( - self, timestamp: int, status: str, chain_id: ChainId, escrow_address: str + self, + timestamp: int, + status: str, + chain_id: ChainId, + escrow_address: str, + block: str, + tx_hash: str, ): self.timestamp = timestamp * 1000 self.status = status self.chain_id = chain_id self.escrow_address = escrow_address + self.block = int(block) + self.tx_hash = tx_hash class Payout: @@ -473,6 +481,9 @@ def get_status_events( if filter.launcher and not Web3.is_address(filter.launcher): raise EscrowClientError("Invalid Address") + if filter.escrow_address and not Web3.is_address(filter.escrow_address): + raise EscrowClientError("Invalid Address") + network = NETWORKS.get(filter.chain_id) if not network: raise EscrowClientError("Unsupported Chain ID") @@ -481,12 +492,17 @@ def get_status_events( data = custom_gql_fetch( network, - get_status_query(filter.date_from, filter.date_to, filter.launcher), + get_status_query( + filter.date_from, filter.date_to, filter.launcher, filter.escrow_address + ), { "status": status_names, "from": int(filter.date_from.timestamp()) if filter.date_from else None, "to": int(filter.date_to.timestamp()) if filter.date_to else None, "launcher": filter.launcher.lower() if filter.launcher else None, + "escrowAddress": ( + filter.escrow_address.lower() if filter.escrow_address else None + ), "first": filter.first, "skip": filter.skip, "orderDirection": filter.order_direction.value, @@ -510,6 +526,8 @@ def get_status_events( escrow_address=event["escrowAddress"], status=event["status"], chain_id=filter.chain_id, + block=event["block"], + tx_hash=event["txHash"], ) for event in status_events ] diff --git a/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/filter.py b/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/filter.py index 896bc09fd2..027d4829ee 100644 --- a/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/filter.py +++ b/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/filter.py @@ -302,6 +302,7 @@ class StatusEventFilter: date_from (Optional[datetime]): Filter events from this date. date_to (Optional[datetime]): Filter events until this date. launcher (Optional[str]): Launcher address to filter by. + escrow_address (Optional[str]): Escrow address to filter by. first (int): Number of items per page. skip (int): Number of items to skip for pagination. order_direction (OrderDirection): Sort order for results. @@ -314,6 +315,7 @@ def __init__( date_from: Optional[datetime] = None, date_to: Optional[datetime] = None, launcher: Optional[str] = None, + escrow_address: Optional[str] = None, first: int = 10, skip: int = 0, order_direction: OrderDirection = OrderDirection.DESC, @@ -326,6 +328,7 @@ def __init__( :param date_from: Optional start date for filtering. :param date_to: Optional end date for filtering. :param launcher: Optional launcher address to filter by. + :param escrow_address: Optional escrow address to filter by. :param first: Optional number of events per page. Default is 10. :param skip: Optional number of events to skip. Default is 0. :param order_direction: Optional order direction. Default is DESC. @@ -342,6 +345,7 @@ def __init__( self.date_from = date_from self.date_to = date_to self.launcher = launcher + self.escrow_address = escrow_address self.first = first self.skip = skip self.order_direction = order_direction diff --git a/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/gql/escrow.py b/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/gql/escrow.py index 5d1b01f6e6..528de7d944 100644 --- a/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/gql/escrow.py +++ b/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/gql/escrow.py @@ -101,7 +101,10 @@ def get_escrow_query(): def get_status_query( - from_: datetime = None, to_: datetime = None, launcher: str = None + from_: datetime = None, + to_: datetime = None, + launcher: str = None, + escrow_address: str = None, ): return """ query getStatus( @@ -109,6 +112,7 @@ def get_status_query( $from: Int $to: Int $launcher: String + $escrowAddress: String $orderDirection: String $first: Int $skip: Int @@ -119,20 +123,25 @@ def get_status_query( {from_clause} {to_clause} {launcher_clause} + {escrow_address_clause} }} orderBy: timestamp orderDirection: $orderDirection first: $first skip: $skip ) {{ - id escrowAddress timestamp status + block + txHash }} }} """.format( from_clause="timestamp_gte: $from" if from_ else "", to_clause="timestamp_lte: $to" if to_ else "", launcher_clause=f"launcher: $launcher" if launcher else "", + escrow_address_clause=( + f"escrowAddress: $escrowAddress" if escrow_address else "" + ), ) diff --git a/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/gql/worker.py b/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/gql/worker.py index ee21af1ef7..2a12dad238 100644 --- a/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/gql/worker.py +++ b/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/gql/worker.py @@ -4,7 +4,6 @@ fragment WorkerFields on Worker { id address - totalHMTAmountReceived payoutCount } """ diff --git a/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/worker/worker_utils.py b/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/worker/worker_utils.py index 27de33976a..e6d7ba70d2 100644 --- a/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/worker/worker_utils.py +++ b/packages/sdk/python/human-protocol-sdk/human_protocol_sdk/worker/worker_utils.py @@ -9,7 +9,7 @@ WorkerFilter(chain_id=ChainId.POLYGON_AMOY) ) for worker in workers: - print(f"{worker.address}: {worker.total_amount_received}") + print(f"{worker.address}: {worker.payout_count}") ``` """ @@ -37,7 +37,6 @@ class WorkerData: Attributes: id (str): Unique worker identifier. address (str): Worker's Ethereum address. - total_amount_received (int): Total amount of HMT tokens received by the worker. payout_count (int): Number of payouts the worker has received. """ @@ -45,12 +44,10 @@ def __init__( self, id: str, address: str, - total_amount_received: str, payout_count: str, ): self.id = id self.address = address - self.total_amount_received = int(total_amount_received) self.payout_count = int(payout_count) @@ -94,7 +91,7 @@ def get_workers( WorkerFilter(chain_id=ChainId.POLYGON_AMOY) ) for worker in workers: - print(f"{worker.address}: {worker.total_amount_received} HMT") + print(f"{worker.address}: {worker.payout_count} payouts") # Get specific worker workers = WorkerUtils.get_workers( @@ -141,7 +138,6 @@ def get_workers( WorkerData( id=worker.get("id"), address=worker.get("address"), - total_amount_received=worker.get("totalHMTAmountReceived"), payout_count=worker.get("payoutCount"), ) ) @@ -180,7 +176,6 @@ def get_worker( "0x1234567890123456789012345678901234567890", ) if worker: - print(f"Total received: {worker.total_amount_received} HMT") print(f"Payout count: {worker.payout_count}") ``` """ @@ -215,6 +210,5 @@ def get_worker( return WorkerData( id=worker.get("id"), address=worker.get("address"), - total_amount_received=worker.get("totalHMTAmountReceived"), payout_count=worker.get("payoutCount"), ) diff --git a/packages/sdk/python/human-protocol-sdk/package.json b/packages/sdk/python/human-protocol-sdk/package.json index 0bccb37465..be42bad7e5 100644 --- a/packages/sdk/python/human-protocol-sdk/package.json +++ b/packages/sdk/python/human-protocol-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@human-protocol/python-sdk", - "version": "7.0.0", + "version": "7.1.0", "private": true, "description": "Stub package to integrate the Python SDK with Changesets (dev-only).", "license": "MIT", diff --git a/packages/sdk/python/human-protocol-sdk/test/human_protocol_sdk/escrow/test_escrow_utils.py b/packages/sdk/python/human-protocol-sdk/test/human_protocol_sdk/escrow/test_escrow_utils.py index c4f22de6bb..98158e7358 100644 --- a/packages/sdk/python/human-protocol-sdk/test/human_protocol_sdk/escrow/test_escrow_utils.py +++ b/packages/sdk/python/human-protocol-sdk/test/human_protocol_sdk/escrow/test_escrow_utils.py @@ -381,6 +381,8 @@ def test_get_status_events(self): "timestamp": 1620000000, "escrowAddress": "0x123", "status": "Pending", + "block": "123456", + "txHash": "0xabc", } ] } @@ -396,6 +398,8 @@ def test_get_status_events(self): self.assertEqual(result[0].escrow_address, "0x123") self.assertEqual(result[0].status, "Pending") self.assertEqual(result[0].chain_id, ChainId.POLYGON_AMOY) + self.assertEqual(result[0].block, 123456) + self.assertEqual(result[0].tx_hash, "0xabc") def test_get_status_events_with_date_range(self): with patch( @@ -408,6 +412,8 @@ def test_get_status_events_with_date_range(self): "timestamp": 1620000000, "escrowAddress": "0x123", "status": "Pending", + "block": "123456", + "txHash": "0xabc", } ] } @@ -429,6 +435,8 @@ def test_get_status_events_with_date_range(self): self.assertEqual(result[0].escrow_address, "0x123") self.assertEqual(result[0].status, "Pending") self.assertEqual(result[0].chain_id, ChainId.POLYGON_AMOY) + self.assertEqual(result[0].block, 123456) + self.assertEqual(result[0].tx_hash, "0xabc") def test_get_status_events_no_data(self): with patch( @@ -454,6 +462,8 @@ def test_get_status_events_with_launcher(self): "timestamp": 1620000000, "escrowAddress": "0x123", "status": "Pending", + "block": "123456", + "txHash": "0xabc", } ] } @@ -471,6 +481,8 @@ def test_get_status_events_with_launcher(self): self.assertEqual(result[0].escrow_address, "0x123") self.assertEqual(result[0].status, "Pending") self.assertEqual(result[0].chain_id, ChainId.POLYGON_AMOY) + self.assertEqual(result[0].block, 123456) + self.assertEqual(result[0].tx_hash, "0xabc") def test_get_payouts_unsupported_chain_id(self): filter = PayoutFilter(chain_id=9999) diff --git a/packages/sdk/python/human-protocol-sdk/test/human_protocol_sdk/worker/test_worker_utils.py b/packages/sdk/python/human-protocol-sdk/test/human_protocol_sdk/worker/test_worker_utils.py index 806547042d..cdd0902081 100644 --- a/packages/sdk/python/human-protocol-sdk/test/human_protocol_sdk/worker/test_worker_utils.py +++ b/packages/sdk/python/human-protocol-sdk/test/human_protocol_sdk/worker/test_worker_utils.py @@ -15,13 +15,11 @@ def test_get_workers(self): mock_worker_1 = { "id": "worker1", "address": "0x1234567890123456789012345678901234567890", - "totalHMTAmountReceived": "1000", "payoutCount": 5, } mock_worker_2 = { "id": "worker2", "address": "0x9876543210987654321098765432109876543210", - "totalHMTAmountReceived": "2000", "payoutCount": 10, } @@ -31,7 +29,7 @@ def test_get_workers(self): filter = WorkerFilter( chain_id=ChainId.POLYGON_AMOY, - order_by="totalHMTAmountReceived", + order_by="payoutCount", order_direction=OrderDirection.ASC, ) @@ -44,7 +42,7 @@ def test_get_workers(self): "address": None, "first": 10, "skip": 0, - "orderBy": "totalHMTAmountReceived", + "orderBy": "payoutCount", "orderDirection": "asc", }, options=None, @@ -52,6 +50,8 @@ def test_get_workers(self): self.assertEqual(len(workers), 2) self.assertEqual(workers[0].id, "worker1") self.assertEqual(workers[1].id, "worker2") + self.assertEqual(workers[0].payout_count, 5) + self.assertEqual(workers[1].payout_count, 10) def test_get_workers_empty_response(self): with patch( @@ -93,7 +93,6 @@ def test_get_worker(self): mock_worker = { "id": "worker1", "address": "0x1234567890123456789012345678901234567890", - "totalHMTAmountReceived": "1000", "payoutCount": 5, } @@ -115,6 +114,7 @@ def test_get_worker(self): self.assertEqual( worker.address, "0x1234567890123456789012345678901234567890" ) + self.assertEqual(worker.payout_count, 5) def test_get_worker_empty_data(self): with patch( diff --git a/packages/sdk/typescript/human-protocol-sdk/CHANGELOG.md b/packages/sdk/typescript/human-protocol-sdk/CHANGELOG.md index 7dfae9ee93..24ecf0707d 100644 --- a/packages/sdk/typescript/human-protocol-sdk/CHANGELOG.md +++ b/packages/sdk/typescript/human-protocol-sdk/CHANGELOG.md @@ -1,5 +1,16 @@ # @human-protocol/sdk +## 7.1.0 + +### Minor Changes + +- 7da7b12: Extended SDK to return block and tx hash for "getStatusEvents". + Fixed "status" field in return value to be consistent in SDKs. + +### Patch Changes + +- a49202f: Delete references to totalHMTAmountReceived that was removed from subgraph + ## 7.0.0 ### Major Changes diff --git a/packages/sdk/typescript/human-protocol-sdk/eslint.config.mjs b/packages/sdk/typescript/human-protocol-sdk/eslint.config.mjs index ea3fd32317..1ab56c6bc0 100644 --- a/packages/sdk/typescript/human-protocol-sdk/eslint.config.mjs +++ b/packages/sdk/typescript/human-protocol-sdk/eslint.config.mjs @@ -1,7 +1,6 @@ import eslint from '@eslint/js'; import globals from 'globals'; import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; -import importPlugin from 'eslint-plugin-import'; import jestPlugin from 'eslint-plugin-jest'; import tseslint from 'typescript-eslint'; @@ -27,7 +26,6 @@ export default tseslint.config( }, }, plugins: { - import: importPlugin, jest: jestPlugin, }, rules: { diff --git a/packages/sdk/typescript/human-protocol-sdk/package.json b/packages/sdk/typescript/human-protocol-sdk/package.json index f1c4573780..93e94f7f1c 100644 --- a/packages/sdk/typescript/human-protocol-sdk/package.json +++ b/packages/sdk/typescript/human-protocol-sdk/package.json @@ -1,7 +1,7 @@ { "name": "@human-protocol/sdk", "description": "Human Protocol SDK", - "version": "7.0.0", + "version": "7.1.0", "files": [ "src", "dist" @@ -40,7 +40,7 @@ "dependencies": { "@human-protocol/core": "workspace:*", "axios": "^1.4.0", - "ethers": "~6.15.0", + "ethers": "~6.16.0", "graphql": "^16.8.1", "graphql-request": "^7.3.4", "graphql-tag": "^2.12.6", @@ -50,15 +50,19 @@ "vitest": "^4.0.18" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@types/validator": "^13.15.4", - "eslint": "^9.39.1", - "eslint-plugin-jest": "^28.9.0", + "eslint": "^10.0.3", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-jest": "^29.15.0", "eslint-plugin-prettier": "^5.5.5", "glob": "^13.0.0", + "globals": "^16.3.0", "prettier": "^3.8.1", "ts-node": "^10.9.2", "typedoc": "^0.28.15", "typedoc-plugin-markdown": "^4.9.0", - "typescript": "^5.8.3" + "typescript": "^5.8.3", + "typescript-eslint": "^8.57.0" } } diff --git a/packages/sdk/typescript/human-protocol-sdk/src/escrow/escrow_utils.ts b/packages/sdk/typescript/human-protocol-sdk/src/escrow/escrow_utils.ts index 7d3639cdfa..ff3e582a4b 100644 --- a/packages/sdk/typescript/human-protocol-sdk/src/escrow/escrow_utils.ts +++ b/packages/sdk/typescript/human-protocol-sdk/src/escrow/escrow_utils.ts @@ -212,6 +212,7 @@ export class EscrowUtils { from, to, launcher, + escrowAddress, first = 10, skip = 0, orderDirection = OrderDirection.DESC, @@ -221,6 +222,10 @@ export class EscrowUtils { throw ErrorInvalidAddress; } + if (escrowAddress && !ethers.isAddress(escrowAddress)) { + throw ErrorInvalidAddress; + } + const networkData = NETWORKS[chainId]; if (!networkData) { throw ErrorUnsupportedChainID; @@ -242,12 +247,13 @@ export class EscrowUtils { escrowStatusEvents: StatusEvent[]; }>( getSubgraphUrl(networkData), - GET_STATUS_UPDATES_QUERY(from, to, launcher), + GET_STATUS_UPDATES_QUERY(from, to, launcher, escrowAddress), { status: statusNames, from: from ? getUnixTimestamp(from) : undefined, to: to ? getUnixTimestamp(to) : undefined, launcher: launcher || undefined, + escrowAddress: escrowAddress || undefined, orderDirection, first: Math.min(first, 1000), skip, @@ -262,8 +268,10 @@ export class EscrowUtils { return data['escrowStatusEvents'].map((event) => ({ timestamp: Number(event.timestamp) * 1000, escrowAddress: event.escrowAddress, - status: EscrowStatus[event.status as keyof typeof EscrowStatus], + status: event.status as keyof typeof EscrowStatus, chainId, + block: BigInt(event.block), + txHash: event.txHash, })); } diff --git a/packages/sdk/typescript/human-protocol-sdk/src/graphql/queries/escrow.ts b/packages/sdk/typescript/human-protocol-sdk/src/graphql/queries/escrow.ts index d173298396..64cd13a781 100644 --- a/packages/sdk/typescript/human-protocol-sdk/src/graphql/queries/escrow.ts +++ b/packages/sdk/typescript/human-protocol-sdk/src/graphql/queries/escrow.ts @@ -107,7 +107,8 @@ export const GET_ESCROWS_QUERY = (filter: IEscrowsFilter) => { export const GET_STATUS_UPDATES_QUERY = ( from?: Date, to?: Date, - launcher?: string + launcher?: string, + escrowAddress?: string ) => { const WHERE_CLAUSE = ` where: { @@ -115,6 +116,7 @@ export const GET_STATUS_UPDATES_QUERY = ( ${from ? `timestamp_gte: $from` : ''} ${to ? `timestamp_lte: $to` : ''} ${launcher ? `launcher: $launcher` : ''} + ${escrowAddress ? `escrowAddress: $escrowAddress` : ''} } `; return gql` @@ -123,6 +125,7 @@ export const GET_STATUS_UPDATES_QUERY = ( $from: Int $to: Int $launcher: String + $escrowAddress: String $orderDirection: String $first: Int $skip: Int @@ -137,6 +140,8 @@ export const GET_STATUS_UPDATES_QUERY = ( escrowAddress, timestamp, status, + block, + txHash, } } `; diff --git a/packages/sdk/typescript/human-protocol-sdk/src/graphql/queries/worker.ts b/packages/sdk/typescript/human-protocol-sdk/src/graphql/queries/worker.ts index 5242e64988..78aebd7a03 100644 --- a/packages/sdk/typescript/human-protocol-sdk/src/graphql/queries/worker.ts +++ b/packages/sdk/typescript/human-protocol-sdk/src/graphql/queries/worker.ts @@ -6,7 +6,6 @@ export const GET_WORKER_QUERY = gql` worker(id: $address) { id address - totalHMTAmountReceived payoutCount } } @@ -34,7 +33,6 @@ export const GET_WORKERS_QUERY = (filter: IWorkersFilter) => { ) { id address - totalHMTAmountReceived payoutCount } }`; diff --git a/packages/sdk/typescript/human-protocol-sdk/src/graphql/types.ts b/packages/sdk/typescript/human-protocol-sdk/src/graphql/types.ts index 295acaac4a..928d37fffe 100644 --- a/packages/sdk/typescript/human-protocol-sdk/src/graphql/types.ts +++ b/packages/sdk/typescript/human-protocol-sdk/src/graphql/types.ts @@ -30,7 +30,6 @@ export type EscrowData = { export type WorkerData = { id: string; address: string; - totalHMTAmountReceived: string; payoutCount: string; }; @@ -121,6 +120,8 @@ export type StatusEvent = { timestamp: string; escrowAddress: string; status: string; + block: string; + txHash: string; }; export type KVStoreData = { diff --git a/packages/sdk/typescript/human-protocol-sdk/src/interfaces.ts b/packages/sdk/typescript/human-protocol-sdk/src/interfaces.ts index cac654ae4c..0719d1d033 100644 --- a/packages/sdk/typescript/human-protocol-sdk/src/interfaces.ts +++ b/packages/sdk/typescript/human-protocol-sdk/src/interfaces.ts @@ -176,12 +176,12 @@ export interface IStatusEventFilter extends IPagination { from?: Date; to?: Date; launcher?: string; + escrowAddress?: string; } export interface IWorker { id: string; address: string; - totalHMTAmountReceived: bigint; payoutCount: number; } @@ -280,8 +280,10 @@ export interface IDailyHMT { export interface IStatusEvent { timestamp: number; escrowAddress: string; - status: EscrowStatus; + status: keyof typeof EscrowStatus; chainId: ChainId; + block: bigint; + txHash: string; } export interface ICancellationRefund { diff --git a/packages/sdk/typescript/human-protocol-sdk/src/worker/worker_utils.ts b/packages/sdk/typescript/human-protocol-sdk/src/worker/worker_utils.ts index d26c847f8d..1f5fd9684e 100644 --- a/packages/sdk/typescript/human-protocol-sdk/src/worker/worker_utils.ts +++ b/packages/sdk/typescript/human-protocol-sdk/src/worker/worker_utils.ts @@ -93,7 +93,6 @@ export class WorkerUtils { * type IWorker = { * id: string; * address: string; - * totalHMTAmountReceived: bigint; * payoutCount: number; * }; * ``` @@ -162,7 +161,6 @@ function mapWorker(w: WorkerData): IWorker { return { id: w.id, address: w.address, - totalHMTAmountReceived: BigInt(w.totalHMTAmountReceived || 0), payoutCount: Number(w.payoutCount || 0), }; } diff --git a/packages/sdk/typescript/human-protocol-sdk/test/escrow.test.ts b/packages/sdk/typescript/human-protocol-sdk/test/escrow.test.ts index 08579ea475..ac9e09262c 100644 --- a/packages/sdk/typescript/human-protocol-sdk/test/escrow.test.ts +++ b/packages/sdk/typescript/human-protocol-sdk/test/escrow.test.ts @@ -4083,13 +4083,15 @@ describe('EscrowUtils', () => { escrowAddress: '0x1', timestamp: '1234567890', status: 'Pending', - chainId: ChainId.LOCALHOST, + block: '123456', + txHash: '0x123', }, { escrowAddress: '0x2', timestamp: '1234567891', status: 'Pending', - chainId: ChainId.LOCALHOST, + block: '123457', + txHash: '0x124', }, ]; @@ -4102,8 +4104,10 @@ describe('EscrowUtils', () => { }); const expectedResults = pendingEvents.map((event) => ({ ...event, - status: EscrowStatus.Pending, + status: EscrowStatus[EscrowStatus.Pending], timestamp: +event.timestamp * 1000, + block: BigInt(event.block), + chainId: ChainId.LOCALHOST, })); expect(result).toEqual(expectedResults); expect(gqlFetchSpy).toHaveBeenCalled(); @@ -4118,13 +4122,15 @@ describe('EscrowUtils', () => { escrowAddress: '0x1', timestamp: '1234567890', status: 'Pending', - chainId: ChainId.POLYGON_AMOY, + block: '123456', + txHash: '0x123', }, { escrowAddress: '0x2', timestamp: '1234567891', status: 'Pending', - chainId: ChainId.POLYGON_AMOY, + block: '123457', + txHash: '0x124', }, ]; @@ -4140,8 +4146,10 @@ describe('EscrowUtils', () => { const expectedResults = pendingEvents.map((event) => ({ ...event, - status: EscrowStatus.Pending, + status: EscrowStatus[EscrowStatus.Pending], timestamp: +event.timestamp * 1000, + block: BigInt(event.block), + chainId: ChainId.POLYGON_AMOY, })); expect(result).toEqual(expectedResults); expect(gqlFetchSpy).toHaveBeenCalled(); @@ -4156,13 +4164,15 @@ describe('EscrowUtils', () => { escrowAddress: '0x1', timestamp: '1234567890', status: 'Partial', - chainId: ChainId.POLYGON_AMOY, + block: '123456', + txHash: '0x123', }, { escrowAddress: '0x2', timestamp: '1234567891', status: 'Partial', - chainId: ChainId.POLYGON_AMOY, + block: '123457', + txHash: '0x124', }, ]; @@ -4179,8 +4189,10 @@ describe('EscrowUtils', () => { const expectedResults = partialEvents.map((event) => ({ ...event, - status: EscrowStatus.Partial, + status: EscrowStatus[EscrowStatus.Partial], timestamp: +event.timestamp * 1000, + block: BigInt(event.block), + chainId: ChainId.POLYGON_AMOY, })); expect(result).toEqual(expectedResults); expect(gqlFetchSpy).toHaveBeenCalled(); @@ -4195,13 +4207,15 @@ describe('EscrowUtils', () => { escrowAddress: '0x1', timestamp: '1234567890', status: 'Pending', - chainId: ChainId.POLYGON_AMOY, + block: '123456', + txHash: '0x123', }, { escrowAddress: '0x2', timestamp: '1234567891', status: 'Pending', - chainId: ChainId.POLYGON_AMOY, + block: '123457', + txHash: '0x124', }, ]; @@ -4217,8 +4231,10 @@ describe('EscrowUtils', () => { const expectedResults = pendingEvents.map((event) => ({ ...event, - status: EscrowStatus.Pending, + status: EscrowStatus[EscrowStatus.Pending], timestamp: +event.timestamp * 1000, + block: BigInt(event.block), + chainId: ChainId.POLYGON_AMOY, })); expect(result).toEqual(expectedResults); expect(gqlFetchSpy).toHaveBeenCalled(); diff --git a/packages/sdk/typescript/human-protocol-sdk/test/worker.test.ts b/packages/sdk/typescript/human-protocol-sdk/test/worker.test.ts index f50f2da8f4..56b256124e 100644 --- a/packages/sdk/typescript/human-protocol-sdk/test/worker.test.ts +++ b/packages/sdk/typescript/human-protocol-sdk/test/worker.test.ts @@ -27,8 +27,7 @@ describe('WorkerUtils', () => { const mockWorker: WorkerData = { id: workerAddress, address: workerAddress, - totalHMTAmountReceived: '1000', - payoutCount: 10, + payoutCount: '10', }; test('should return worker details', async () => { @@ -51,7 +50,7 @@ describe('WorkerUtils', () => { ); const expected: IWorker = { ...mockWorker, - totalHMTAmountReceived: BigInt(mockWorker.totalHMTAmountReceived || 0), + payoutCount: Number(mockWorker.payoutCount || 0), }; expect(result).toEqual(expected); }); @@ -100,14 +99,12 @@ describe('WorkerUtils', () => { { id: '0x1234567890abcdef1234567890abcdef12345678', address: '0x1234567890abcdef1234567890abcdef12345678', - totalHMTAmountReceived: '1000', - payoutCount: 10, + payoutCount: '10', }, { id: '0xabcdefabcdefabcdefabcdefabcdefabcdef', address: '0xabcdefabcdefabcdefabcdefabcdefabcdef', - totalHMTAmountReceived: '2000', - payoutCount: 20, + payoutCount: '20', }, ]; @@ -120,7 +117,7 @@ describe('WorkerUtils', () => { chainId: ChainId.LOCALHOST, first: 10, skip: 0, - orderBy: 'totalHMTAmountReceived', + orderBy: 'payoutCount', orderDirection: OrderDirection.ASC, }; @@ -133,14 +130,14 @@ describe('WorkerUtils', () => { address: undefined, first: 10, skip: 0, - orderBy: 'totalHMTAmountReceived', + orderBy: 'payoutCount', orderDirection: 'asc', }, undefined ); const expected: IWorker[] = mockWorkers.map((mockWorker) => ({ ...mockWorker, - totalHMTAmountReceived: BigInt(mockWorker.totalHMTAmountReceived || 0), + payoutCount: Number(mockWorker.payoutCount || 0), })); expect(result).toEqual(expected); }); @@ -215,7 +212,7 @@ describe('WorkerUtils', () => { const expected: IWorker[] = mockWorkers.map((mockWorker) => ({ ...mockWorker, - totalHMTAmountReceived: BigInt(mockWorker.totalHMTAmountReceived || 0), + payoutCount: Number(mockWorker.payoutCount || 0), })); expect(result).toEqual(expected); }); diff --git a/packages/subgraph/hmt/package.json b/packages/subgraph/hmt/package.json index e20e04caf4..ae55b6018c 100644 --- a/packages/subgraph/hmt/package.json +++ b/packages/subgraph/hmt/package.json @@ -30,16 +30,22 @@ ], "license": "MIT", "devDependencies": { + "@eslint/js": "^10.0.1", "@graphprotocol/graph-cli": "^0.97.1", "@graphprotocol/graph-ts": "^0.38.0", "@graphql-eslint/eslint-plugin": "^3.19.1", "@human-protocol/core": "workspace:*", - "eslint": "^9.39.1", - "ethers": "~6.15.0", + "eslint": "^10.0.3", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-prettier": "^5.5.5", + "ethers": "~6.16.0", + "globals": "^16.3.0", "graphql": "^16.6.0", "matchstick-as": "^0.6.0", "mustache": "^4.2.0", - "prettier": "^3.8.1" + "prettier": "^3.8.1", + "typescript": "^5.8.3", + "typescript-eslint": "^8.57.0" }, "lint-staged": { "*.{ts,graphql}": [ diff --git a/packages/subgraph/human-protocol/package.json b/packages/subgraph/human-protocol/package.json index b52c140176..5200420f32 100644 --- a/packages/subgraph/human-protocol/package.json +++ b/packages/subgraph/human-protocol/package.json @@ -36,16 +36,22 @@ ], "license": "MIT", "devDependencies": { + "@eslint/js": "^10.0.1", "@graphprotocol/graph-cli": "^0.97.1", "@graphprotocol/graph-ts": "^0.38.0", "@graphql-eslint/eslint-plugin": "^3.19.1", "@human-protocol/core": "workspace:*", - "eslint": "^9.39.1", - "ethers": "~6.15.0", + "eslint": "^10.0.3", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-prettier": "^5.5.5", + "ethers": "~6.16.0", + "globals": "^16.3.0", "graphql": "^16.6.0", "matchstick-as": "^0.6.0", "mustache": "^4.2.0", - "prettier": "^3.8.1" + "prettier": "^3.8.1", + "typescript": "^5.8.3", + "typescript-eslint": "^8.57.0" }, "lint-staged": { "*.{ts,graphql}": [ diff --git a/yarn.lock b/yarn.lock index f305864d96..895b8c2d02 100644 --- a/yarn.lock +++ b/yarn.lock @@ -110,7 +110,7 @@ __metadata: "@mui/icons-material": "npm:^7.3.8" "@mui/material": "npm:^7.2.0" "@mui/styled-engine-sc": "npm:7.3.8" - "@mui/system": "npm:^7.2.0" + "@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" @@ -118,14 +118,13 @@ __metadata: "@types/react-dom": "npm:^18.3.1" "@types/react-router-dom": "npm:^5.3.3" "@types/recharts": "npm:^1.8.29" - "@typescript-eslint/eslint-plugin": "npm:^7.2.0" - "@typescript-eslint/parser": "npm:^8.46.3" "@vitejs/plugin-react": "npm:^4.2.1" axios: "npm:^1.7.2" clsx: "npm:^2.1.1" dayjs: "npm:^1.11.11" - eslint: "npm:^9.39.1" - eslint-plugin-import: "npm:^2.31.0" + eslint: "npm:^10.0.3" + eslint-import-resolver-typescript: "npm:^4.4.4" + eslint-plugin-import-x: "npm:^4.16.2" eslint-plugin-prettier: "npm:^5.5.5" eslint-plugin-react: "npm:^7.37.5" eslint-plugin-react-hooks: "npm:^5.2.0" @@ -143,7 +142,7 @@ __metadata: swiper: "npm:^11.1.3" terser: "npm:^5.36.0" typescript: "npm:^5.6.3" - typescript-eslint: "npm:^8.33.0" + typescript-eslint: "npm:^8.57.0" use-debounce: "npm:^10.1.0" vite: "npm:^6.2.4" vite-plugin-node-polyfills: "npm:^0.25.0" @@ -156,6 +155,7 @@ __metadata: version: 0.0.0-use.local resolution: "@apps/dashboard-server@workspace:packages/apps/dashboard/server" dependencies: + "@eslint/js": "npm:^10.0.1" "@golevelup/ts-jest": "npm:^1.2.1" "@human-protocol/core": "workspace:*" "@human-protocol/logger": "workspace:*" @@ -176,18 +176,17 @@ __metadata: "@types/express": "npm:^5.0.6" "@types/jest": "npm:30.0.0" "@types/node": "npm:22.10.5" - "@typescript-eslint/eslint-plugin": "npm:^5.0.0" - "@typescript-eslint/parser": "npm:^8.46.3" axios: "npm:^1.3.1" cache-manager: "npm:7.2.8" class-transformer: "npm:^0.5.1" class-validator: "npm:0.14.1" dayjs: "npm:^1.11.12" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" eslint-config-prettier: "npm:^9.1.0" - eslint-plugin-jest: "npm:^28.9.0" + eslint-plugin-jest: "npm:^29.15.0" eslint-plugin-prettier: "npm:^5.5.5" - ethers: "npm:~6.15.0" + ethers: "npm:~6.16.0" + globals: "npm:^16.3.0" jest: "npm:^29.7.0" joi: "npm:^17.13.3" keyv: "npm:^5.5.5" @@ -201,6 +200,7 @@ __metadata: ts-node: "npm:^10.0.0" tsconfig-paths: "npm:4.2.0" typescript: "npm:^5.6.3" + typescript-eslint: "npm:^8.57.0" languageName: unknown linkType: soft @@ -210,6 +210,7 @@ __metadata: dependencies: "@emotion/react": "npm:^11.14.0" "@emotion/styled": "npm:^11.14.1" + "@eslint/js": "npm:^10.0.1" "@human-protocol/sdk": "workspace:*" "@mui/icons-material": "npm:^7.3.8" "@mui/material": "npm:^5.16.7" @@ -217,12 +218,13 @@ __metadata: "@types/react-dom": "npm:^18.3.1" "@vitejs/plugin-react": "npm:^4.3.4" dotenv: "npm:^17.2.2" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" + eslint-config-prettier: "npm:^10.1.8" eslint-config-react-app: "npm:^7.0.1" - eslint-import-resolver-typescript: "npm:^3.7.0" - eslint-plugin-import: "npm:^2.29.0" + eslint-plugin-prettier: "npm:^5.5.5" eslint-plugin-react: "npm:^7.34.3" eslint-plugin-react-hooks: "npm:^5.1.0" + globals: "npm:^16.3.0" prettier: "npm:^3.8.1" react: "npm:^18.3.1" react-dom: "npm:^18.3.1" @@ -230,6 +232,7 @@ __metadata: react-router-dom: "npm:^7.13.0" serve: "npm:^14.2.4" typescript: "npm:^5.8.3" + typescript-eslint: "npm:^8.57.0" viem: "npm:2.x" vite: "npm:^6.2.4" vite-plugin-node-polyfills: "npm:^0.25.0" @@ -240,6 +243,7 @@ __metadata: version: 0.0.0-use.local resolution: "@apps/faucet-server@workspace:packages/apps/faucet/server" dependencies: + "@eslint/js": "npm:^10.0.1" "@human-protocol/sdk": "workspace:*" "@types/cors": "npm:^2.8.19" "@types/express": "npm:^5.0.6" @@ -249,15 +253,20 @@ __metadata: body-parser: "npm:^1.20.0" concurrently: "npm:^9.1.2" cors: "npm:^2.8.5" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" + eslint-config-prettier: "npm:^10.1.8" + eslint-plugin-prettier: "npm:^5.5.5" express: "npm:^5.2.1" express-rate-limit: "npm:^7.3.0" + globals: "npm:^16.3.0" hardhat: "npm:^2.26.0" jest: "npm:^29.7.0" node-cache: "npm:^5.1.2" + prettier: "npm:^3.8.1" ts-jest: "npm:29.2.5" ts-node: "npm:^10.9.2" typescript: "npm:^5.8.3" + typescript-eslint: "npm:^8.57.0" web3: "npm:^4.12.1" languageName: unknown linkType: soft @@ -268,6 +277,7 @@ __metadata: dependencies: "@emotion/react": "npm:^11.11.3" "@emotion/styled": "npm:^11.11.0" + "@eslint/js": "npm:^10.0.1" "@human-protocol/sdk": "workspace:^" "@mui/icons-material": "npm:^7.3.8" "@mui/material": "npm:^5.16.7" @@ -277,20 +287,20 @@ __metadata: "@types/react": "npm:^18.3.12" "@types/react-dom": "npm:^18.3.1" "@types/react-router-dom": "npm:^5.3.3" - "@typescript-eslint/eslint-plugin": "npm:^7.13.1" - "@typescript-eslint/parser": "npm:^8.46.3" "@vitejs/plugin-react": "npm:^4.3.1" axios: "npm:^1.7.2" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" eslint-plugin-react-hooks: "npm:^5.1.0" eslint-plugin-react-refresh: "npm:^0.4.11" - ethers: "npm:^6.15.0" + ethers: "npm:^6.16.0" + globals: "npm:^16.3.0" prettier: "npm:^3.8.1" react: "npm:^18.3.1" react-dom: "npm:^18.3.1" react-router-dom: "npm:^7.13.0" serve: "npm:^14.2.4" typescript: "npm:^5.6.3" + typescript-eslint: "npm:^8.57.0" viem: "npm:2.x" vite: "npm:^6.2.4" vite-plugin-node-polyfills: "npm:^0.25.0" @@ -302,6 +312,7 @@ __metadata: version: 0.0.0-use.local resolution: "@apps/fortune-exchange-oracle-server@workspace:packages/apps/fortune/exchange-oracle/server" dependencies: + "@eslint/js": "npm:^10.0.1" "@golevelup/ts-jest": "npm:^0.6.1" "@human-protocol/logger": "workspace:*" "@human-protocol/sdk": "workspace:*" @@ -315,7 +326,7 @@ __metadata: "@nestjs/schedule": "npm:^6.1.1" "@nestjs/schematics": "npm:^11.0.9" "@nestjs/swagger": "npm:^11.2.5" - "@nestjs/terminus": "npm:^11.0.0" + "@nestjs/terminus": "npm:^11.1.1" "@nestjs/testing": "npm:^11.1.14" "@nestjs/typeorm": "npm:^11.0.0" "@types/body-parser": "npm:^1" @@ -326,18 +337,17 @@ __metadata: "@types/passport": "npm:^1" "@types/passport-jwt": "npm:^4.0.1" "@types/pg": "npm:8.11.10" - "@typescript-eslint/eslint-plugin": "npm:^5.0.0" - "@typescript-eslint/parser": "npm:^8.46.3" axios: "npm:^1.3.1" body-parser: "npm:^1.20.3" class-transformer: "npm:^0.5.1" class-validator: "npm:0.14.1" dotenv: "npm:^17.2.2" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" eslint-config-prettier: "npm:^9.1.0" - eslint-plugin-jest: "npm:^28.9.0" + eslint-plugin-jest: "npm:^29.15.0" eslint-plugin-prettier: "npm:^5.5.5" - ethers: "npm:~6.15.0" + ethers: "npm:~6.16.0" + globals: "npm:^16.3.0" jest: "npm:^29.7.0" joi: "npm:^17.13.3" jsonwebtoken: "npm:^9.0.2" @@ -355,6 +365,7 @@ __metadata: typeorm: "npm:^0.3.28" typeorm-naming-strategies: "npm:^4.1.0" typescript: "npm:^5.6.3" + typescript-eslint: "npm:^8.57.0" languageName: unknown linkType: soft @@ -362,6 +373,7 @@ __metadata: version: 0.0.0-use.local resolution: "@apps/fortune-recording-oracle@workspace:packages/apps/fortune/recording-oracle" dependencies: + "@eslint/js": "npm:^10.0.1" "@human-protocol/logger": "workspace:*" "@human-protocol/sdk": "workspace:*" "@nestjs/axios": "npm:^4.0.1" @@ -381,9 +393,11 @@ __metadata: class-transformer: "npm:^0.5.1" class-validator: "npm:0.14.1" dotenv: "npm:^17.2.2" - eslint: "npm:^9.39.1" - eslint-plugin-jest: "npm:^28.9.0" + 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" helmet: "npm:^7.1.0" jest: "npm:^29.7.0" joi: "npm:^17.13.3" @@ -394,6 +408,7 @@ __metadata: ts-jest: "npm:29.2.5" ts-node: "npm:^10.9.2" typescript: "npm:^5.8.3" + typescript-eslint: "npm:^8.57.0" languageName: unknown linkType: soft @@ -401,15 +416,21 @@ __metadata: 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:^9.39.1" - eslint-plugin-jest: "npm:^28.9.0" + 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 @@ -420,6 +441,7 @@ __metadata: dependencies: "@emotion/react": "npm:^11.11.3" "@emotion/styled": "npm:^11.11.0" + "@eslint/js": "npm:^10.0.1" "@faker-js/faker": "npm:^9.7.0" "@fontsource/inter": "npm:^5.0.17" "@fontsource/roboto": "npm:^5.2.9" @@ -428,7 +450,7 @@ __metadata: "@human-protocol/sdk": "workspace:*" "@mui/icons-material": "npm:^7.3.8" "@mui/material": "npm:^5.16.7" - "@mui/system": "npm:^5.15.14" + "@mui/system": "npm:^7.3.9" "@mui/x-date-pickers": "npm:^8.26.0" "@reown/appkit": "npm:^1.7.11" "@reown/appkit-adapter-wagmi": "npm:^1.7.11" @@ -442,17 +464,18 @@ __metadata: "@types/prop-types": "npm:^15" "@types/react": "npm:^18.3.12" "@types/react-dom": "npm:^18.3.1" - "@typescript-eslint/eslint-plugin": "npm:^6.20.0" - "@typescript-eslint/parser": "npm:^8.46.3" "@vercel/style-guide": "npm:^6.0.0" "@vitejs/plugin-react": "npm:^4.2.1" "@wagmi/core": "npm:^3.4.0" date-fns: "npm:^4.1.0" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" eslint-config-prettier: "npm:^9.1.0" + eslint-plugin-jsx-a11y: "npm:^6.10.2" eslint-plugin-prettier: "npm:^5.5.5" + eslint-plugin-react-hooks: "npm:^5.2.0" eslint-plugin-react-refresh: "npm:^0.4.11" - ethers: "npm:^6.15.0" + ethers: "npm:^6.16.0" + globals: "npm:^16.3.0" husky: "npm:^9.1.6" i18next: "npm:^25.8.0" jsdom: "npm:^25.0.1" @@ -473,6 +496,7 @@ __metadata: react-router-dom: "npm:^7.13.0" serve: "npm:^14.2.4" typescript: "npm:^5.6.3" + typescript-eslint: "npm:^8.57.0" viem: "npm:^2.31.4" vite: "npm:^6.2.4" vite-plugin-svgr: "npm:^4.2.0" @@ -490,6 +514,7 @@ __metadata: "@automapper/classes": "npm:^8.8.1" "@automapper/core": "npm:^8.8.1" "@automapper/nestjs": "npm:^8.8.1" + "@eslint/js": "npm:^10.0.1" "@human-protocol/core": "workspace:*" "@human-protocol/logger": "workspace:*" "@human-protocol/sdk": "workspace:*" @@ -505,7 +530,7 @@ __metadata: "@nestjs/schedule": "npm:^6.1.1" "@nestjs/schematics": "npm:^11.0.9" "@nestjs/swagger": "npm:^11.2.5" - "@nestjs/terminus": "npm:^11.0.0" + "@nestjs/terminus": "npm:^11.1.1" "@nestjs/testing": "npm:^11.1.14" "@types/express": "npm:^5.0.6" "@types/jest": "npm:30.0.0" @@ -514,17 +539,16 @@ __metadata: "@types/node": "npm:22.10.5" "@types/passport": "npm:^1" "@types/passport-jwt": "npm:^4.0.1" - "@typescript-eslint/eslint-plugin": "npm:^5.0.0" - "@typescript-eslint/parser": "npm:^8.46.3" axios: "npm:^1.7.2" cache-manager: "npm:7.2.8" class-transformer: "npm:^0.5.1" class-validator: "npm:0.14.1" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" eslint-config-prettier: "npm:^9.1.0" - eslint-plugin-jest: "npm:^28.9.0" + eslint-plugin-jest: "npm:^29.15.0" eslint-plugin-prettier: "npm:^5.5.5" - ethers: "npm:^6.15.0" + ethers: "npm:^6.16.0" + globals: "npm:^16.3.0" jest: "npm:^29.7.0" joi: "npm:^17.13.3" jsonwebtoken: "npm:^9.0.2" @@ -542,6 +566,7 @@ __metadata: ts-node: "npm:^10.9.2" tsconfig-paths: "npm:4.2.0" typescript: "npm:^5.6.3" + typescript-eslint: "npm:^8.57.0" languageName: unknown linkType: soft @@ -551,12 +576,13 @@ __metadata: dependencies: "@emotion/react": "npm:^11.10.5" "@emotion/styled": "npm:^11.10.5" + "@eslint/js": "npm:^10.0.1" "@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/material": "npm:^5.16.7" - "@mui/system": "npm:^5.15.14" + "@mui/system": "npm:^7.3.9" "@mui/x-date-pickers": "npm:^8.26.0" "@reduxjs/toolkit": "npm:^2.5.0" "@stripe/react-stripe-js": "npm:^3.0.0" @@ -573,15 +599,17 @@ __metadata: copy-to-clipboard: "npm:^3.3.3" dayjs: "npm:^1.11.12" decimal.js: "npm:^10.6.0" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" + eslint-config-prettier: "npm:^10.1.8" eslint-config-react-app: "npm:^7.0.1" - eslint-import-resolver-typescript: "npm:^3.7.0" - eslint-plugin-import: "npm:^2.29.0" + eslint-plugin-jsx-a11y: "npm:^6.10.2" + eslint-plugin-prettier: "npm:^5.5.5" eslint-plugin-react: "npm:^7.34.3" eslint-plugin-react-hooks: "npm:^5.1.0" - ethers: "npm:^6.15.0" + ethers: "npm:^6.16.0" file-saver: "npm:^2.0.5" formik: "npm:^2.4.2" + globals: "npm:^16.3.0" jwt-decode: "npm:^4.0.0" prettier: "npm:^3.8.1" react: "npm:^18.3.1" @@ -593,6 +621,7 @@ __metadata: serve: "npm:^14.2.4" swr: "npm:^2.2.4" typescript: "npm:^5.6.3" + typescript-eslint: "npm:^8.57.0" viem: "npm:2.x" vite: "npm:^6.2.4" vite-plugin-node-polyfills: "npm:^0.25.0" @@ -606,6 +635,7 @@ __metadata: version: 0.0.0-use.local resolution: "@apps/job-launcher-server@workspace:packages/apps/job-launcher/server" dependencies: + "@eslint/js": "npm:^10.0.1" "@faker-js/faker": "npm:^9.8.0" "@golevelup/ts-jest": "npm:^0.6.1" "@google-cloud/storage": "npm:^7.19.0" @@ -623,7 +653,7 @@ __metadata: "@nestjs/schedule": "npm:^6.1.1" "@nestjs/schematics": "npm:^11.0.9" "@nestjs/swagger": "npm:^11.2.5" - "@nestjs/terminus": "npm:^11.0.0" + "@nestjs/terminus": "npm:^11.1.1" "@nestjs/testing": "npm:^11.1.14" "@nestjs/throttler": "npm:^6.5.0" "@nestjs/typeorm": "npm:^11.0.0" @@ -636,8 +666,6 @@ __metadata: "@types/uuid": "npm:^10.0.0" "@types/xml2js": "npm:0.4.14" "@types/zxcvbn": "npm:4.4.5" - "@typescript-eslint/eslint-plugin": "npm:^5.0.0" - "@typescript-eslint/parser": "npm:^8.46.3" async-mutex: "npm:^0.5.0" axios: "npm:^1.7.2" bcrypt: "npm:^6.0.0" @@ -646,10 +674,11 @@ __metadata: class-validator: "npm:0.14.1" decimal.js: "npm:^10.6.0" dotenv: "npm:^17.2.2" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" eslint-config-prettier: "npm:^9.1.0" - eslint-plugin-jest: "npm:^28.9.0" + eslint-plugin-jest: "npm:^29.15.0" eslint-plugin-prettier: "npm:^5.5.5" + globals: "npm:^16.3.0" helmet: "npm:^7.1.0" jest: "npm:^29.7.0" joi: "npm:^17.13.3" @@ -671,6 +700,7 @@ __metadata: typeorm: "npm:^0.3.28" typeorm-naming-strategies: "npm:^4.1.0" typescript: "npm:^5.6.3" + typescript-eslint: "npm:^8.57.0" validator: "npm:^13.12.0" zxcvbn: "npm:^4.4.2" languageName: unknown @@ -697,7 +727,7 @@ __metadata: "@nestjs/schedule": "npm:^6.1.1" "@nestjs/schematics": "npm:^11.0.9" "@nestjs/swagger": "npm:^11.2.5" - "@nestjs/terminus": "npm:^11.0.0" + "@nestjs/terminus": "npm:^11.1.1" "@nestjs/testing": "npm:^11.1.14" "@nestjs/typeorm": "npm:^11.0.0" "@sendgrid/mail": "npm:^8.1.3" @@ -718,12 +748,12 @@ __metadata: class-transformer: "npm:^0.5.1" class-validator: "npm:^0.14.1" dotenv: "npm:^17.2.2" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" eslint-config-prettier: "npm:^10.1.8" eslint-import-resolver-typescript: "npm:^4.4.4" - eslint-plugin-import: "npm:^2.32.0" + eslint-plugin-import-x: "npm:^4.16.2" eslint-plugin-prettier: "npm:^5.5.5" - ethers: "npm:~6.15.0" + ethers: "npm:~6.16.0" globals: "npm:^16.3.0" helmet: "npm:^7.1.0" jest: "npm:^29.7.0" @@ -745,7 +775,7 @@ __metadata: typeorm: "npm:^0.3.28" typeorm-naming-strategies: "npm:^4.1.0" typescript: "npm:^5.9.2" - typescript-eslint: "npm:^8.39.1" + typescript-eslint: "npm:^8.57.0" uuid: "npm:^11.1.0" validator: "npm:^13.12.0" zxcvbn: "npm:^4.4.2" @@ -758,6 +788,7 @@ __metadata: dependencies: "@emotion/react": "npm:^11.14.0" "@emotion/styled": "npm:^11.14.1" + "@eslint/js": "npm:^10.0.1" "@human-protocol/sdk": "npm:*" "@mui/icons-material": "npm:^7.3.8" "@mui/material": "npm:^5.16.7" @@ -768,14 +799,13 @@ __metadata: "@types/react": "npm:^18.3.12" "@types/react-dom": "npm:^18.3.1" "@types/react-router-dom": "npm:^5.3.3" - "@typescript-eslint/eslint-plugin": "npm:^7.13.1" - "@typescript-eslint/parser": "npm:^8.46.3" "@vitejs/plugin-react": "npm:^4.3.1" axios: "npm:^1.7.2" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" eslint-plugin-react-hooks: "npm:^5.1.0" eslint-plugin-react-refresh: "npm:^0.4.11" - ethers: "npm:^6.15.0" + ethers: "npm:^6.16.0" + globals: "npm:^16.3.0" prettier: "npm:^3.8.1" react: "npm:^18.3.1" react-dom: "npm:^18.3.1" @@ -784,6 +814,7 @@ __metadata: serve: "npm:^14.2.4" simplebar-react: "npm:^3.3.2" typescript: "npm:^5.6.3" + typescript-eslint: "npm:^8.57.0" viem: "npm:2.x" vite: "npm:^6.2.4" vite-plugin-node-polyfills: "npm:^0.25.0" @@ -3890,39 +3921,50 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.5.1": +"@eslint-community/eslint-utils@npm:^4.9.1": + version: 4.9.1 + resolution: "@eslint-community/eslint-utils@npm:4.9.1" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/dc4ab5e3e364ef27e33666b11f4b86e1a6c1d7cbf16f0c6ff87b1619b3562335e9201a3d6ce806221887ff780ec9d828962a290bb910759fd40a674686503f02 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.2, @eslint-community/regexpp@npm:^4.4.0": version: 4.12.2 resolution: "@eslint-community/regexpp@npm:4.12.2" checksum: 10c0/fddcbc66851b308478d04e302a4d771d6917a0b3740dc351513c0da9ca2eab8a1adf99f5e0aa7ab8b13fa0df005c81adeee7e63a92f3effd7d367a163b721c2d languageName: node linkType: hard -"@eslint/config-array@npm:^0.21.1": - version: 0.21.1 - resolution: "@eslint/config-array@npm:0.21.1" +"@eslint/config-array@npm:^0.23.3": + version: 0.23.3 + resolution: "@eslint/config-array@npm:0.23.3" dependencies: - "@eslint/object-schema": "npm:^2.1.7" + "@eslint/object-schema": "npm:^3.0.3" debug: "npm:^4.3.1" - minimatch: "npm:^3.1.2" - checksum: 10c0/2f657d4edd6ddcb920579b72e7a5b127865d4c3fb4dda24f11d5c4f445a93ca481aebdbd6bf3291c536f5d034458dbcbb298ee3b698bc6c9dd02900fe87eec3c + minimatch: "npm:^10.2.4" + checksum: 10c0/7c19027acf9110cc542513ff9f3ca73a61d127e900c24f0e8e4d5e18aa22baf08d1d5bc386563d2f9311095f3b7898fe9b627b590fe9232b745ef60d4443cf9f languageName: node linkType: hard -"@eslint/config-helpers@npm:^0.4.2": - version: 0.4.2 - resolution: "@eslint/config-helpers@npm:0.4.2" +"@eslint/config-helpers@npm:^0.5.2": + version: 0.5.3 + resolution: "@eslint/config-helpers@npm:0.5.3" dependencies: - "@eslint/core": "npm:^0.17.0" - checksum: 10c0/92efd7a527b2d17eb1a148409d71d80f9ac160b565ac73ee092252e8bf08ecd08670699f46b306b94f13d22e88ac88a612120e7847570dd7cdc72f234d50dcb4 + "@eslint/core": "npm:^1.1.1" + checksum: 10c0/c836476e839a79dcdc9f7e0013057cfe0341162180d50e5a08668edb4b4b6c520a3174011469f6ef02efd2affd092263c020e89d0a3452c801427b0ac003549a languageName: node linkType: hard -"@eslint/core@npm:^0.17.0": - version: 0.17.0 - resolution: "@eslint/core@npm:0.17.0" +"@eslint/core@npm:^1.1.1": + version: 1.1.1 + resolution: "@eslint/core@npm:1.1.1" dependencies: "@types/json-schema": "npm:^7.0.15" - checksum: 10c0/9a580f2246633bc752298e7440dd942ec421860d1946d0801f0423830e67887e4aeba10ab9a23d281727a978eb93d053d1922a587d502942a713607f40ed704e + checksum: 10c0/129c654c78afc1f6d61dccb0ce841be667f09f052f7d5642614b6ba5eeebd579ca6cc336d7b750d88625e61f7aad22fdd62bf83847fbfc10cc3e58cfe6c5072e languageName: node linkType: hard @@ -3943,30 +3985,6 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^3.3.1": - version: 3.3.1 - resolution: "@eslint/eslintrc@npm:3.3.1" - dependencies: - ajv: "npm:^6.12.4" - debug: "npm:^4.3.2" - espree: "npm:^10.0.1" - globals: "npm:^14.0.0" - ignore: "npm:^5.2.0" - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" - strip-json-comments: "npm:^3.1.1" - checksum: 10c0/b0e63f3bc5cce4555f791a4e487bf999173fcf27c65e1ab6e7d63634d8a43b33c3693e79f192cbff486d7df1be8ebb2bd2edc6e70ddd486cbfa84a359a3e3b41 - languageName: node - linkType: hard - -"@eslint/js@npm:9.39.1": - version: 9.39.1 - resolution: "@eslint/js@npm:9.39.1" - checksum: 10c0/6f7f26f8cdb7ad6327bbf9741973b6278eb946f18f70e35406e88194b0d5c522d0547a34a02f2a208eec95c5d1388cdf7ccb20039efd2e4cb6655615247a50f1 - languageName: node - linkType: hard - "@eslint/js@npm:^10.0.1": version: 10.0.1 resolution: "@eslint/js@npm:10.0.1" @@ -3979,20 +3997,20 @@ __metadata: languageName: node linkType: hard -"@eslint/object-schema@npm:^2.1.7": - version: 2.1.7 - resolution: "@eslint/object-schema@npm:2.1.7" - checksum: 10c0/936b6e499853d1335803f556d526c86f5fe2259ed241bc665000e1d6353828edd913feed43120d150adb75570cae162cf000b5b0dfc9596726761c36b82f4e87 +"@eslint/object-schema@npm:^3.0.3": + version: 3.0.3 + resolution: "@eslint/object-schema@npm:3.0.3" + checksum: 10c0/4abbb7cba5419dce46ae8aa8e979fa190f2e906a8e1b5a8e22e4489f62a68dea3967679f66acbc0c3ef89f33252a7460e39fc2d6f2b4f616a137f3514eda4784 languageName: node linkType: hard -"@eslint/plugin-kit@npm:^0.4.1": - version: 0.4.1 - resolution: "@eslint/plugin-kit@npm:0.4.1" +"@eslint/plugin-kit@npm:^0.6.1": + version: 0.6.1 + resolution: "@eslint/plugin-kit@npm:0.6.1" dependencies: - "@eslint/core": "npm:^0.17.0" + "@eslint/core": "npm:^1.1.1" levn: "npm:^0.4.1" - checksum: 10c0/51600f78b798f172a9915dffb295e2ffb44840d583427bc732baf12ecb963eb841b253300e657da91d890f4b323d10a1bd12934bf293e3018d8bb66fdce5217b + checksum: 10c0/f8354a7b92cc41e7a55d51986d192134be84f9dc0c91b5e649d075d733b56981c4ca8bf4460d54120c4c87b47984167bad2cb9bceb303f11b0a3bad22b3ed06a languageName: node linkType: hard @@ -5095,6 +5113,7 @@ __metadata: version: 0.0.0-use.local resolution: "@human-protocol/core@workspace:packages/core" dependencies: + "@eslint/js": "npm:^10.0.1" "@faker-js/faker": "npm:^9.9.0" "@nomicfoundation/hardhat-chai-matchers": "npm:^2.0.7" "@nomicfoundation/hardhat-ethers": "npm:^3.1.0" @@ -5112,9 +5131,11 @@ __metadata: "@types/node": "npm:^22.15.16" chai: "npm:^4.5.0" concurrently: "npm:^9.1.2" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" + eslint-config-prettier: "npm:^10.1.8" eslint-plugin-prettier: "npm:^5.5.5" - ethers: "npm:~6.15.0" + ethers: "npm:~6.16.0" + globals: "npm:^16.3.0" hardhat: "npm:^2.26.0" hardhat-abi-exporter: "npm:^2.10.1" hardhat-contract-sizer: "npm:^2.6.1" @@ -5128,10 +5149,10 @@ __metadata: ts-node: "npm:^10.9.2" typechain: "npm:^8.3.2" typescript: "npm:^5.8.3" - typescript-eslint: "npm:^8.39.1" + typescript-eslint: "npm:^8.57.0" xdeployer: "npm:3.1.6" peerDependencies: - ethers: ~6.15.0 + ethers: ~6.16.0 languageName: unknown linkType: soft @@ -5141,18 +5162,18 @@ __metadata: dependencies: "@eslint/js": "npm:^10.0.1" "@types/node": "npm:^22.10.5" - eslint: "npm:^9.39.1" + eslint: "npm:^10.0.3" eslint-config-prettier: "npm:^10.1.5" eslint-import-resolver-typescript: "npm:^4.4.4" - eslint-plugin-import: "npm:^2.32.0" + eslint-plugin-import-x: "npm:^4.16.2" eslint-plugin-prettier: "npm:^5.5.5" globals: "npm:^16.3.0" - pino: "npm:^10.1.0" + pino: "npm:^10.3.1" pino-pretty: "npm:^13.1.3" prettier: "npm:^3.8.1" ts-node: "npm:^10.9.2" typescript: "npm:^5.8.3" - typescript-eslint: "npm:^8.35.1" + typescript-eslint: "npm:^8.57.0" peerDependencies: "@nestjs/common": ">=10.0.0 <12.0.0" languageName: unknown @@ -5189,14 +5210,17 @@ __metadata: version: 0.0.0-use.local resolution: "@human-protocol/sdk@workspace:packages/sdk/typescript/human-protocol-sdk" dependencies: + "@eslint/js": "npm:^10.0.1" "@human-protocol/core": "workspace:*" "@types/validator": "npm:^13.15.4" axios: "npm:^1.4.0" - eslint: "npm:^9.39.1" - eslint-plugin-jest: "npm:^28.9.0" + 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" - ethers: "npm:~6.15.0" + ethers: "npm:~6.16.0" glob: "npm:^13.0.0" + globals: "npm:^16.3.0" graphql: "npm:^16.8.1" graphql-request: "npm:^7.3.4" graphql-tag: "npm:^2.12.6" @@ -5207,6 +5231,7 @@ __metadata: typedoc: "npm:^0.28.15" typedoc-plugin-markdown: "npm:^4.9.0" typescript: "npm:^5.8.3" + typescript-eslint: "npm:^8.57.0" validator: "npm:^13.12.0" vitest: "npm:^4.0.18" languageName: unknown @@ -6866,6 +6891,23 @@ __metadata: languageName: node linkType: hard +"@mui/private-theming@npm:^7.3.9": + version: 7.3.9 + resolution: "@mui/private-theming@npm:7.3.9" + dependencies: + "@babel/runtime": "npm:^7.28.6" + "@mui/utils": "npm:^7.3.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/04f9647b62b7c516b743d4f800def768e77f5302f61fe74e6a0e8ce8b111037ac45f866e8c5ad8d1c9390163962872e949c058cec6693b6faa2004302bb70be3 + languageName: node + linkType: hard + "@mui/styled-engine-sc@npm:7.3.8": version: 7.3.8 resolution: "@mui/styled-engine-sc@npm:7.3.8" @@ -6949,7 +6991,30 @@ __metadata: languageName: node linkType: hard -"@mui/system@npm:^5.15.14, @mui/system@npm:^5.18.0": +"@mui/styled-engine@npm:^7.3.9": + version: 7.3.9 + resolution: "@mui/styled-engine@npm:7.3.9" + dependencies: + "@babel/runtime": "npm:^7.28.6" + "@emotion/cache": "npm:^11.14.0" + "@emotion/serialize": "npm:^1.3.3" + "@emotion/sheet": "npm:^1.4.0" + csstype: "npm:^3.2.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/b7646474880bb0787faffa48703ba16191cca3f88eb09efab3947b4edf7536bf03107909b85011cf4af41188b13d7b6b72c31b470559929e3c4c403007c5ac68 + languageName: node + linkType: hard + +"@mui/system@npm:^5.18.0": version: 5.18.0 resolution: "@mui/system@npm:5.18.0" dependencies: @@ -7005,7 +7070,7 @@ __metadata: languageName: node linkType: hard -"@mui/system@npm:^7.2.0, @mui/system@npm:^7.3.3": +"@mui/system@npm:^7.3.3": version: 7.3.3 resolution: "@mui/system@npm:7.3.3" dependencies: @@ -7033,6 +7098,34 @@ __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": version: 7.4.10 resolution: "@mui/types@npm:7.4.10" @@ -7047,6 +7140,20 @@ __metadata: languageName: node linkType: hard +"@mui/types@npm:^7.4.12": + version: 7.4.12 + resolution: "@mui/types@npm:7.4.12" + dependencies: + "@babel/runtime": "npm:^7.28.6" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/e2247f9c3b8ef08e2eb7494ad8fcaffd8d695655cb355b8c3f23ebecbf69e13fcf73411b0a209fc0750eb416f7d0f7da1aa82557beb9bd58f26f9645f3f2ce95 + languageName: node + linkType: hard + "@mui/types@npm:^7.4.7": version: 7.4.7 resolution: "@mui/types@npm:7.4.7" @@ -7153,6 +7260,26 @@ __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" @@ -7566,9 +7693,9 @@ __metadata: languageName: node linkType: hard -"@nestjs/terminus@npm:^11.0.0": - version: 11.0.0 - resolution: "@nestjs/terminus@npm:11.0.0" +"@nestjs/terminus@npm:^11.1.1": + version: 11.1.1 + resolution: "@nestjs/terminus@npm:11.1.1" dependencies: boxen: "npm:5.1.2" check-disk-space: "npm:3.4.0" @@ -7617,7 +7744,7 @@ __metadata: optional: true typeorm: optional: true - checksum: 10c0/6c2d019b7a0f91bc68e654b44e45d93998d3a30919aaee8792e337d33183452817cd462706101f39157813d2aabb5d2ac81bc392c2ba943bfeaeb65920da15db + checksum: 10c0/4ec57d56b43b39496a13173f98aa4fa54847ae8401fedf5106adad4f0c4a41b187138f8e40196bcbd726ebc4ff97a30b854cc05e8c28a3691aa7bd0315b0b3bf languageName: node linkType: hard @@ -8413,6 +8540,13 @@ __metadata: languageName: node linkType: hard +"@package-json/types@npm:^0.0.12": + version: 0.0.12 + resolution: "@package-json/types@npm:0.0.12" + checksum: 10c0/d9bba086efe7b9901f02f1cff7a68ab23269aeddfb7ee92a16930e219f705bfc188b9fec2dd47265033dbda45ed1514d8a46f46363f38f1ad56bc993754126da + languageName: node + linkType: hard + "@parcel/watcher-android-arm64@npm:2.5.1": version: 2.5.1 resolution: "@parcel/watcher-android-arm64@npm:2.5.1" @@ -11307,16 +11441,22 @@ __metadata: version: 0.0.0-use.local resolution: "@tools/subgraph-hmt@workspace:packages/subgraph/hmt" dependencies: + "@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" "@human-protocol/core": "workspace:*" - eslint: "npm:^9.39.1" - ethers: "npm:~6.15.0" + eslint: "npm:^10.0.3" + eslint-config-prettier: "npm:^10.1.8" + eslint-plugin-prettier: "npm:^5.5.5" + ethers: "npm:~6.16.0" + globals: "npm:^16.3.0" graphql: "npm:^16.6.0" matchstick-as: "npm:^0.6.0" mustache: "npm:^4.2.0" prettier: "npm:^3.8.1" + typescript: "npm:^5.8.3" + typescript-eslint: "npm:^8.57.0" languageName: unknown linkType: soft @@ -11324,16 +11464,22 @@ __metadata: version: 0.0.0-use.local resolution: "@tools/subgraph-human-protocol@workspace:packages/subgraph/human-protocol" dependencies: + "@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" "@human-protocol/core": "workspace:*" - eslint: "npm:^9.39.1" - ethers: "npm:~6.15.0" + eslint: "npm:^10.0.3" + eslint-config-prettier: "npm:^10.1.8" + eslint-plugin-prettier: "npm:^5.5.5" + ethers: "npm:~6.16.0" + globals: "npm:^16.3.0" graphql: "npm:^16.6.0" matchstick-as: "npm:^0.6.0" mustache: "npm:^4.2.0" prettier: "npm:^3.8.1" + typescript: "npm:^5.8.3" + typescript-eslint: "npm:^8.57.0" languageName: unknown linkType: soft @@ -11650,6 +11796,13 @@ __metadata: languageName: node linkType: hard +"@types/esrecurse@npm:^4.3.1": + version: 4.3.1 + resolution: "@types/esrecurse@npm:4.3.1" + checksum: 10c0/90dad74d5da3ad27606d8e8e757322f33171cfeaa15ad558b615cf71bb2a516492d18f55f4816384685a3eb2412142e732bbae9a4a7cd2cf3deb7572aa4ebe03 + languageName: node + linkType: hard + "@types/estree@npm:*, @types/estree@npm:1.0.8, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": version: 1.0.8 resolution: "@types/estree@npm:1.0.8" @@ -11796,7 +11949,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db @@ -12108,7 +12261,7 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.0": +"@types/semver@npm:^7.3.12": version: 7.7.1 resolution: "@types/semver@npm:7.7.1" checksum: 10c0/c938aef3bf79a73f0f3f6037c16e2e759ff40c54122ddf0b2583703393d8d3127130823facb880e694caa324eb6845628186aac1997ee8b31dc2d18fafe26268 @@ -12286,28 +12439,27 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.46.2": - version: 8.46.2 - resolution: "@typescript-eslint/eslint-plugin@npm:8.46.2" +"@typescript-eslint/eslint-plugin@npm:8.57.1": + version: 8.57.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.57.1" dependencies: - "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.46.2" - "@typescript-eslint/type-utils": "npm:8.46.2" - "@typescript-eslint/utils": "npm:8.46.2" - "@typescript-eslint/visitor-keys": "npm:8.46.2" - graphemer: "npm:^1.4.0" - ignore: "npm:^7.0.0" + "@eslint-community/regexpp": "npm:^4.12.2" + "@typescript-eslint/scope-manager": "npm:8.57.1" + "@typescript-eslint/type-utils": "npm:8.57.1" + "@typescript-eslint/utils": "npm:8.57.1" + "@typescript-eslint/visitor-keys": "npm:8.57.1" + ignore: "npm:^7.0.5" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.1.0" + ts-api-utils: "npm:^2.4.0" peerDependencies: - "@typescript-eslint/parser": ^8.46.2 - eslint: ^8.57.0 || ^9.0.0 + "@typescript-eslint/parser": ^8.57.1 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/24d1257bd023525754dc130e99bad1404c46f997729a060e3764b7f80dd43edcc43767b60fd89244cba82157918609e3922e408d0f7be4223e2056c1447fb387 + checksum: 10c0/5bf9227f5d608d4313c9f898da3a2f6737eca985aa925df9e90b73499b9d552221781d3d09245543c6d09995ab262ea0d6773d2dae4b8bdf319765d46b22d0e1 languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^5.0.0, @typescript-eslint/eslint-plugin@npm:^5.5.0": +"@typescript-eslint/eslint-plugin@npm:^5.5.0": version: 5.62.0 resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" dependencies: @@ -12331,32 +12483,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^6.20.0": - version: 6.21.0 - resolution: "@typescript-eslint/eslint-plugin@npm:6.21.0" - dependencies: - "@eslint-community/regexpp": "npm:^4.5.1" - "@typescript-eslint/scope-manager": "npm:6.21.0" - "@typescript-eslint/type-utils": "npm:6.21.0" - "@typescript-eslint/utils": "npm:6.21.0" - "@typescript-eslint/visitor-keys": "npm:6.21.0" - debug: "npm:^4.3.4" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.4" - natural-compare: "npm:^1.4.0" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependencies: - "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/f911a79ee64d642f814a3b6cdb0d324b5f45d9ef955c5033e78903f626b7239b4aa773e464a38c3e667519066169d983538f2bf8e5d00228af587c9d438fb344 - languageName: node - linkType: hard - -"@typescript-eslint/eslint-plugin@npm:^7.1.1, @typescript-eslint/eslint-plugin@npm:^7.13.1, @typescript-eslint/eslint-plugin@npm:^7.2.0": +"@typescript-eslint/eslint-plugin@npm:^7.1.1": version: 7.18.0 resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" dependencies: @@ -12390,19 +12517,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.46.2": - version: 8.46.2 - resolution: "@typescript-eslint/parser@npm:8.46.2" +"@typescript-eslint/parser@npm:8.57.1": + version: 8.57.1 + resolution: "@typescript-eslint/parser@npm:8.57.1" dependencies: - "@typescript-eslint/scope-manager": "npm:8.46.2" - "@typescript-eslint/types": "npm:8.46.2" - "@typescript-eslint/typescript-estree": "npm:8.46.2" - "@typescript-eslint/visitor-keys": "npm:8.46.2" - debug: "npm:^4.3.4" + "@typescript-eslint/scope-manager": "npm:8.57.1" + "@typescript-eslint/types": "npm:8.57.1" + "@typescript-eslint/typescript-estree": "npm:8.57.1" + "@typescript-eslint/visitor-keys": "npm:8.57.1" + debug: "npm:^4.4.3" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/9556bf8ec039c6d1751a37cf76cf70912e80dc45337731a304509309e67472c3f5b5abe6ac5021a7ae9361ea65b2e1f66b626603cecca6506a4533152a77b28f + checksum: 10c0/ab624f5ad6f3585ee690d11be36597135779a373e7f07810ed921163de2e879000f6d3213db67413ee630bcf25d5cfaa24b089ee49596cd11b0456372bc17163 languageName: node linkType: hard @@ -12441,22 +12568,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.46.3": - version: 8.46.3 - resolution: "@typescript-eslint/parser@npm:8.46.3" - dependencies: - "@typescript-eslint/scope-manager": "npm:8.46.3" - "@typescript-eslint/types": "npm:8.46.3" - "@typescript-eslint/typescript-estree": "npm:8.46.3" - "@typescript-eslint/visitor-keys": "npm:8.46.3" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/8a8b47abbbc8bbc68f423df23189afefd296305d50a31c6bec9bdde563adc9ddf99b89a6b8466965fda4aee9118263bae36422dd1c25d7595dd82f8897b5df61 - languageName: node - linkType: hard - "@typescript-eslint/project-service@npm:8.46.2": version: 8.46.2 resolution: "@typescript-eslint/project-service@npm:8.46.2" @@ -12470,29 +12581,16 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.46.3": - version: 8.46.3 - resolution: "@typescript-eslint/project-service@npm:8.46.3" +"@typescript-eslint/project-service@npm:8.57.1": + version: 8.57.1 + resolution: "@typescript-eslint/project-service@npm:8.57.1" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.46.3" - "@typescript-eslint/types": "npm:^8.46.3" - debug: "npm:^4.3.4" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/24ef305bbb550a8e27a7d6377663c1f2773b39b7a9f12c8b95c66c0d15f8150787b036bbff9ae4c2a0a18ab68c62435b0e03889df294bef00b3ae8846cd20659 - languageName: node - linkType: hard - -"@typescript-eslint/project-service@npm:8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/project-service@npm:8.47.0" - dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.47.0" - "@typescript-eslint/types": "npm:^8.47.0" - debug: "npm:^4.3.4" + "@typescript-eslint/tsconfig-utils": "npm:^8.57.1" + "@typescript-eslint/types": "npm:^8.57.1" + debug: "npm:^4.4.3" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/6d7ec78c63d672178727b2d79856b470bd99e90d387335decec026931caa94c6907afc4690b884ce1eaca65f2d8b8f070a5c6e70e47971dfeec34dfd022933b8 + checksum: 10c0/7830f61e35364ba77799f4badeaca8bd8914bbcda6afe37b788821f94f4b88b9c49817c50f4bdba497e8e542a705e9d921d36f5e67960ebf33f4f3d3111cdfee languageName: node linkType: hard @@ -12506,16 +12604,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/scope-manager@npm:6.21.0" - dependencies: - "@typescript-eslint/types": "npm:6.21.0" - "@typescript-eslint/visitor-keys": "npm:6.21.0" - checksum: 10c0/eaf868938d811cbbea33e97e44ba7050d2b6892202cea6a9622c486b85ab1cf801979edf78036179a8ba4ac26f1dfdf7fcc83a68c1ff66be0b3a8e9a9989b526 - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/scope-manager@npm:7.18.0" @@ -12536,23 +12624,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.46.3": - version: 8.46.3 - resolution: "@typescript-eslint/scope-manager@npm:8.46.3" - dependencies: - "@typescript-eslint/types": "npm:8.46.3" - "@typescript-eslint/visitor-keys": "npm:8.46.3" - checksum: 10c0/de8c116477e2a05a895ecd848a8289974a76cab884e07683c8085b3a2ce53895871d9bcd9de94723d6b2a437a6c526c77afcc75d6030cc4f1dccb9b47f4fc069 - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/scope-manager@npm:8.47.0" +"@typescript-eslint/scope-manager@npm:8.57.1": + version: 8.57.1 + resolution: "@typescript-eslint/scope-manager@npm:8.57.1" dependencies: - "@typescript-eslint/types": "npm:8.47.0" - "@typescript-eslint/visitor-keys": "npm:8.47.0" - checksum: 10c0/2faa11e30724ca3a0648cdf83e0fc0fbdfcd89168fa0598d235a89604ee20c1f51ca2b70716f2bc0f1ea843de85976c0852de4549ba4649406d6b4acaf63f9c7 + "@typescript-eslint/types": "npm:8.57.1" + "@typescript-eslint/visitor-keys": "npm:8.57.1" + checksum: 10c0/42b0b54981318bf21be6b107df82910718497b7b7b2b60df635aa06d78e313759e4b675830c0e542b6d87104d35b49df41b9fb7739b8ae326eaba2d6f7116166 languageName: node linkType: hard @@ -12565,21 +12643,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.46.3, @typescript-eslint/tsconfig-utils@npm:^8.46.3": - version: 8.46.3 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.46.3" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/a9686141204a96591ee51814a79fa676a8da845638eabb2363f9d82902660fd48ea47f7ec15a618129e45021ad154e1d193127248915752546d60d475d6a566e - languageName: node - linkType: hard - -"@typescript-eslint/tsconfig-utils@npm:8.47.0, @typescript-eslint/tsconfig-utils@npm:^8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.47.0" +"@typescript-eslint/tsconfig-utils@npm:8.57.1, @typescript-eslint/tsconfig-utils@npm:^8.57.1": + version: 8.57.1 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.57.1" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/d62b1840344912f916e590dad0cc5aa8816ce281ea9cac7485a28c4427ecbb88c52fa64b3d8cc520c7cab401ede8631e1b3176306cd3d496f756046e5d0c345f + checksum: 10c0/3d3c8d80621507d31e4656c693534f28a1c04dfb047538cb79b0b6da874ef41875f5df5e814fa3a38812451cff6d5a7ae38d0bf77eb7fec7867f9c80af361b00 languageName: node linkType: hard @@ -12600,23 +12669,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/type-utils@npm:6.21.0" - dependencies: - "@typescript-eslint/typescript-estree": "npm:6.21.0" - "@typescript-eslint/utils": "npm:6.21.0" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.0.1" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/7409c97d1c4a4386b488962739c4f1b5b04dc60cf51f8cd88e6b12541f84d84c6b8b67e491a147a2c95f9ec486539bf4519fb9d418411aef6537b9c156468117 - languageName: node - linkType: hard - "@typescript-eslint/type-utils@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/type-utils@npm:7.18.0" @@ -12634,19 +12686,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.46.2": - version: 8.46.2 - resolution: "@typescript-eslint/type-utils@npm:8.46.2" +"@typescript-eslint/type-utils@npm:8.57.1": + version: 8.57.1 + resolution: "@typescript-eslint/type-utils@npm:8.57.1" dependencies: - "@typescript-eslint/types": "npm:8.46.2" - "@typescript-eslint/typescript-estree": "npm:8.46.2" - "@typescript-eslint/utils": "npm:8.46.2" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^2.1.0" + "@typescript-eslint/types": "npm:8.57.1" + "@typescript-eslint/typescript-estree": "npm:8.57.1" + "@typescript-eslint/utils": "npm:8.57.1" + debug: "npm:^4.4.3" + ts-api-utils: "npm:^2.4.0" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/e12fc65e4b58c1ab6fe65f5486265b7afe9a9a6730e3529aca927ddfc22e5913eb28999fc83e68ea1b49097e1edbbae1f61dd724b0bb0e7586fb24ecda1d4938 + checksum: 10c0/e8eae4e3b9ca71ad065c307fd3cdefdcc6abc31bda2ef74f0e54b5c9ac0ee6bc0e2d69ec9097899f4d7a99d4a8a72391503b47f4317b3b6b9ba41cea24e6b9e9 languageName: node linkType: hard @@ -12657,13 +12709,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/types@npm:6.21.0" - checksum: 10c0/020631d3223bbcff8a0da3efbdf058220a8f48a3de221563996ad1dcc30d6c08dadc3f7608cc08830d21c0d565efd2db19b557b9528921c78aabb605eef2d74d - languageName: node - linkType: hard - "@typescript-eslint/types@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/types@npm:7.18.0" @@ -12678,17 +12723,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.46.3, @typescript-eslint/types@npm:^8.46.3": - version: 8.46.3 - resolution: "@typescript-eslint/types@npm:8.46.3" - checksum: 10c0/6a6ccefbd086e6c38172fe14d04ba27c1c34755af7c25e752547c42d978b91bf6b97da56a5e63d098fbd679b4a5076c4dd4be6c947fd39b4c5feea5fed6deeb6 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:8.47.0, @typescript-eslint/types@npm:^8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/types@npm:8.47.0" - checksum: 10c0/0d7f139b29f2581e905463c904b9aef37d8bc62f7b647cd3950d8b139a9fa6821faa5370f4975ccbbd2b2046a50629bd78729be390fb2663e6d103ecda22d794 +"@typescript-eslint/types@npm:8.57.1, @typescript-eslint/types@npm:^8.56.0, @typescript-eslint/types@npm:^8.57.1": + version: 8.57.1 + resolution: "@typescript-eslint/types@npm:8.57.1" + checksum: 10c0/f447015276a31871440b07e328c2bbcee8337d72dca90ae00ac91e87d09e28a8a9c2fe44726a5226fcaa7db9d5347aafa650d59f7577a074dc65ea1414d24da1 languageName: node linkType: hard @@ -12710,25 +12748,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/typescript-estree@npm:6.21.0" - dependencies: - "@typescript-eslint/types": "npm:6.21.0" - "@typescript-eslint/visitor-keys": "npm:6.21.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:9.0.3" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/af1438c60f080045ebb330155a8c9bb90db345d5069cdd5d01b67de502abb7449d6c75500519df829f913a6b3f490ade3e8215279b6bdc63d0fb0ae61034df5f - languageName: node - linkType: hard - "@typescript-eslint/typescript-estree@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" @@ -12768,43 +12787,22 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.46.3": - version: 8.46.3 - resolution: "@typescript-eslint/typescript-estree@npm:8.46.3" - dependencies: - "@typescript-eslint/project-service": "npm:8.46.3" - "@typescript-eslint/tsconfig-utils": "npm:8.46.3" - "@typescript-eslint/types": "npm:8.46.3" - "@typescript-eslint/visitor-keys": "npm:8.46.3" - debug: "npm:^4.3.4" - fast-glob: "npm:^3.3.2" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^2.1.0" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/3a2bb879a3b42eda478015beee42729efdc78c0cfc70fa009442706626813114f8f9a1e918638ab957df385681ab073cf2076c508973ff9a72e2425e4e521b4f - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.47.0" +"@typescript-eslint/typescript-estree@npm:8.57.1": + version: 8.57.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.57.1" dependencies: - "@typescript-eslint/project-service": "npm:8.47.0" - "@typescript-eslint/tsconfig-utils": "npm:8.47.0" - "@typescript-eslint/types": "npm:8.47.0" - "@typescript-eslint/visitor-keys": "npm:8.47.0" - debug: "npm:^4.3.4" - fast-glob: "npm:^3.3.2" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^2.1.0" + "@typescript-eslint/project-service": "npm:8.57.1" + "@typescript-eslint/tsconfig-utils": "npm:8.57.1" + "@typescript-eslint/types": "npm:8.57.1" + "@typescript-eslint/visitor-keys": "npm:8.57.1" + debug: "npm:^4.4.3" + minimatch: "npm:^10.2.2" + semver: "npm:^7.7.3" + tinyglobby: "npm:^0.2.15" + ts-api-utils: "npm:^2.4.0" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/b63e72f85382f9022a52c606738400d599a3d27318ec48bad21039758aa6d74050fb2462aa61bac1de8bd5951bc24f775d1dde74140433c60e2943e045c21649 + checksum: 10c0/a87e1d920a8fd2231b6a98b279dc7680d10ceac072001e85a72cd43adce288ed471afcaf8f171378f5a3221c500b3cf0ffc10a75fd521fb69fbd8b26d4626677 languageName: node linkType: hard @@ -12826,23 +12824,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/utils@npm:6.21.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@types/json-schema": "npm:^7.0.12" - "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:6.21.0" - "@typescript-eslint/types": "npm:6.21.0" - "@typescript-eslint/typescript-estree": "npm:6.21.0" - semver: "npm:^7.5.4" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: 10c0/ab2df3833b2582d4e5467a484d08942b4f2f7208f8e09d67de510008eb8001a9b7460f2f9ba11c12086fd3cdcac0c626761c7995c2c6b5657d5fa6b82030a32d - languageName: node - linkType: hard - "@typescript-eslint/utils@npm:7.18.0, @typescript-eslint/utils@npm:^7.1.1": version: 7.18.0 resolution: "@typescript-eslint/utils@npm:7.18.0" @@ -12857,33 +12838,33 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.46.2, @typescript-eslint/utils@npm:^8.44.1": - version: 8.46.2 - resolution: "@typescript-eslint/utils@npm:8.46.2" +"@typescript-eslint/utils@npm:8.57.1, @typescript-eslint/utils@npm:^8.0.0": + version: 8.57.1 + resolution: "@typescript-eslint/utils@npm:8.57.1" dependencies: - "@eslint-community/eslint-utils": "npm:^4.7.0" - "@typescript-eslint/scope-manager": "npm:8.46.2" - "@typescript-eslint/types": "npm:8.46.2" - "@typescript-eslint/typescript-estree": "npm:8.46.2" + "@eslint-community/eslint-utils": "npm:^4.9.1" + "@typescript-eslint/scope-manager": "npm:8.57.1" + "@typescript-eslint/types": "npm:8.57.1" + "@typescript-eslint/typescript-estree": "npm:8.57.1" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/600b70730077ed85a6e278e06771f3933cdafce242f979e4af1c1b41290bf1efb14d20823c25c38a3a792def69b18eb9410af28bb228fe86027ad7859753c62d + checksum: 10c0/c85d6e7c618dbf902fda98cc795883388bc512bc2c34c7ac0481ea43acb6dd3cd38d60bdb571b586f392419a17998c89330fd7b0b9a344161f4a595637dd3f55 languageName: node linkType: hard -"@typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.47.0 - resolution: "@typescript-eslint/utils@npm:8.47.0" +"@typescript-eslint/utils@npm:^8.44.1": + version: 8.46.2 + resolution: "@typescript-eslint/utils@npm:8.46.2" dependencies: "@eslint-community/eslint-utils": "npm:^4.7.0" - "@typescript-eslint/scope-manager": "npm:8.47.0" - "@typescript-eslint/types": "npm:8.47.0" - "@typescript-eslint/typescript-estree": "npm:8.47.0" + "@typescript-eslint/scope-manager": "npm:8.46.2" + "@typescript-eslint/types": "npm:8.46.2" + "@typescript-eslint/typescript-estree": "npm:8.46.2" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/8774f4e5748bdcefad32b4d06aee589208f4e78500c6c39bd6819b9602fc4212ed69fd774ccd2ad847f87a6bc0092d4db51e440668e7512d366969ab038a74f5 + checksum: 10c0/600b70730077ed85a6e278e06771f3933cdafce242f979e4af1c1b41290bf1efb14d20823c25c38a3a792def69b18eb9410af28bb228fe86027ad7859753c62d languageName: node linkType: hard @@ -12897,16 +12878,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.21.0" - dependencies: - "@typescript-eslint/types": "npm:6.21.0" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/7395f69739cfa1cb83c1fb2fad30afa2a814756367302fb4facd5893eff66abc807e8d8f63eba94ed3b0fe0c1c996ac9a1680bcbf0f83717acedc3f2bb724fbf - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" @@ -12927,23 +12898,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.46.3": - version: 8.46.3 - resolution: "@typescript-eslint/visitor-keys@npm:8.46.3" +"@typescript-eslint/visitor-keys@npm:8.57.1": + version: 8.57.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.57.1" dependencies: - "@typescript-eslint/types": "npm:8.46.3" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/c5f96840e0c31541e1a2390712a6cb290eff59fc97a3ffa7ecab353d3bb3cf0d8c6f62d68db271bf194aa8c4582be735b6121fcc5b30449e01799642be77de6e - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.47.0" - dependencies: - "@typescript-eslint/types": "npm:8.47.0" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/14aedfdb5bf9b4c310b4a64cb62af94f35515af44911bae266205138165b3a8dc2cd57db3255ec27531dfa3552ba79a700ec8d745b0d18bca220a7f9f437ad06 + "@typescript-eslint/types": "npm:8.57.1" + eslint-visitor-keys: "npm:^5.0.0" + checksum: 10c0/088a545c4aec6d9cabb266e1e40634f5fafa06cb05ef172526555957b0d99ac08822733fb788a09227071fdd6bd8b63f054393a0ecf9d4599c54b57918aa0e57 languageName: node linkType: hard @@ -14301,6 +14262,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.16.0": + version: 8.16.0 + resolution: "acorn@npm:8.16.0" + bin: + acorn: bin/acorn + checksum: 10c0/c9c52697227661b68d0debaf972222d4f622aa06b185824164e153438afa7b08273432ca43ea792cadb24dada1d46f6f6bb1ef8de9956979288cc1b96bf9914e + languageName: node + linkType: hard + "adm-zip@npm:^0.4.16": version: 0.4.16 resolution: "adm-zip@npm:0.4.16" @@ -14441,6 +14411,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:^6.14.0": + version: 6.14.0 + resolution: "ajv@npm:6.14.0" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/a2bc39b0555dc9802c899f86990eb8eed6e366cddbf65be43d5aa7e4f3c4e1a199d5460fd7ca4fb3d864000dbbc049253b72faa83b3b30e641ca52cb29a68c22 + languageName: node + linkType: hard + "amazon-cognito-identity-js@npm:^6.3.6": version: 6.3.15 resolution: "amazon-cognito-identity-js@npm:6.3.15" @@ -15209,6 +15191,13 @@ __metadata: languageName: node linkType: hard +"balanced-match@npm:^4.0.2": + version: 4.0.4 + resolution: "balanced-match@npm:4.0.4" + checksum: 10c0/07e86102a3eb2ee2a6a1a89164f29d0dbaebd28f2ca3f5ca786f36b8b23d9e417eb3be45a4acf754f837be5ac0a2317de90d3fcb7f4f4dc95720a1f36b26a17b + languageName: node + linkType: hard + "base-x@npm:^3.0.2": version: 3.0.11 resolution: "base-x@npm:3.0.11" @@ -15497,6 +15486,15 @@ __metadata: languageName: node linkType: hard +"brace-expansion@npm:^5.0.2": + version: 5.0.4 + resolution: "brace-expansion@npm:5.0.4" + dependencies: + balanced-match: "npm:^4.0.2" + checksum: 10c0/359cbcfa80b2eb914ca1f3440e92313fbfe7919ee6b274c35db55bec555aded69dac5ee78f102cec90c35f98c20fa43d10936d0cd9978158823c249257e1643a + languageName: node + linkType: hard + "braces@npm:^3.0.3, braces@npm:~3.0.2": version: 3.0.3 resolution: "braces@npm:3.0.3" @@ -16605,6 +16603,13 @@ __metadata: languageName: node linkType: hard +"comment-parser@npm:^1.4.1": + version: 1.4.5 + resolution: "comment-parser@npm:1.4.5" + checksum: 10c0/6a6a74697c79927e3bd42bde9608a471f1a9d4995affbc22fa3364cc42b4017f82ef477431a1558b0b6bef959f9bb6964c01c1bbfc06a58ba1730dec9c423b44 + languageName: node + linkType: hard + "compare-versions@npm:^6.0.0": version: 6.1.1 resolution: "compare-versions@npm:6.1.1" @@ -18543,7 +18548,7 @@ __metadata: languageName: node linkType: hard -"eslint-import-context@npm:^0.1.8": +"eslint-import-context@npm:^0.1.8, eslint-import-context@npm:^0.1.9": version: 0.1.9 resolution: "eslint-import-context@npm:0.1.9" dependencies: @@ -18578,7 +18583,7 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-typescript@npm:^3.6.1, eslint-import-resolver-typescript@npm:^3.7.0": +"eslint-import-resolver-typescript@npm:^3.6.1": version: 3.10.1 resolution: "eslint-import-resolver-typescript@npm:3.10.1" dependencies: @@ -18664,7 +18669,34 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:^2.25.3, eslint-plugin-import@npm:^2.29.0, eslint-plugin-import@npm:^2.29.1, eslint-plugin-import@npm:^2.31.0, eslint-plugin-import@npm:^2.32.0": +"eslint-plugin-import-x@npm:^4.16.2": + version: 4.16.2 + resolution: "eslint-plugin-import-x@npm:4.16.2" + dependencies: + "@package-json/types": "npm:^0.0.12" + "@typescript-eslint/types": "npm:^8.56.0" + comment-parser: "npm:^1.4.1" + debug: "npm:^4.4.1" + eslint-import-context: "npm:^0.1.9" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.3 || ^10.1.2" + semver: "npm:^7.7.2" + stable-hash-x: "npm:^0.2.0" + unrs-resolver: "npm:^1.9.2" + peerDependencies: + "@typescript-eslint/utils": ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + eslint-import-resolver-node: "*" + peerDependenciesMeta: + "@typescript-eslint/utils": + optional: true + eslint-import-resolver-node: + optional: true + checksum: 10c0/b51b814323a6005c5230fccdffef9a8adc3691ad7a475de6ba635f5ef776fc1f5d1a1c7e65e2c98c6033155cc7e8f8b9f2f507fe31fc038972d535355673e83e + languageName: node + linkType: hard + +"eslint-plugin-import@npm:^2.25.3, eslint-plugin-import@npm:^2.29.1": version: 2.32.0 resolution: "eslint-plugin-import@npm:2.32.0" dependencies: @@ -18728,25 +18760,28 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jest@npm:^28.9.0": - version: 28.14.0 - resolution: "eslint-plugin-jest@npm:28.14.0" +"eslint-plugin-jest@npm:^29.15.0": + version: 29.15.0 + resolution: "eslint-plugin-jest@npm:29.15.0" dependencies: - "@typescript-eslint/utils": "npm:^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/utils": "npm:^8.0.0" peerDependencies: - "@typescript-eslint/eslint-plugin": ^6.0.0 || ^7.0.0 || ^8.0.0 - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + "@typescript-eslint/eslint-plugin": ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 jest: "*" + typescript: ">=4.8.4 <6.0.0" peerDependenciesMeta: "@typescript-eslint/eslint-plugin": optional: true jest: optional: true - checksum: 10c0/da9c99dd8a1a80aa0c126ff4558882451dcee61b7e4c88e2407ac27d0c86fad2951384a4b037748e26f8743890b4628c6917b0760b01b7017c53fb29768584bc + typescript: + optional: true + checksum: 10c0/e3d8f67708ba4a77a628f8d97a9ebbb20f62ad690d7cc155c0a1066d36b74a6ad8e943fda5c54264c4ad4186dd8d212075bce9f5c2debdd35708ed74ecdc81ef languageName: node linkType: hard -"eslint-plugin-jsx-a11y@npm:^6.5.1, eslint-plugin-jsx-a11y@npm:^6.8.0": +"eslint-plugin-jsx-a11y@npm:^6.10.2, eslint-plugin-jsx-a11y@npm:^6.5.1, eslint-plugin-jsx-a11y@npm:^6.8.0": version: 6.10.2 resolution: "eslint-plugin-jsx-a11y@npm:6.10.2" dependencies: @@ -18946,13 +18981,15 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^8.4.0": - version: 8.4.0 - resolution: "eslint-scope@npm:8.4.0" +"eslint-scope@npm:^9.1.2": + version: 9.1.2 + resolution: "eslint-scope@npm:9.1.2" dependencies: + "@types/esrecurse": "npm:^4.3.1" + "@types/estree": "npm:^1.0.8" esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/407f6c600204d0f3705bd557f81bd0189e69cd7996f408f8971ab5779c0af733d1af2f1412066b40ee1588b085874fc37a2333986c6521669cdbdd36ca5058e0 + checksum: 10c0/9fb8bca5a73e5741efb6cec84467027b6cb6f4203ff9b43a938e272c5cd30800bde46a5c20dfd1609f840225f0b62b7673be391b20acadf8658ca9fa4729b3dd languageName: node linkType: hard @@ -18977,31 +19014,35 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^9.39.1": - version: 9.39.1 - resolution: "eslint@npm:9.39.1" +"eslint-visitor-keys@npm:^5.0.0, eslint-visitor-keys@npm:^5.0.1": + version: 5.0.1 + resolution: "eslint-visitor-keys@npm:5.0.1" + checksum: 10c0/16190bdf2cbae40a1109384c94450c526a79b0b9c3cb21e544256ed85ac48a4b84db66b74a6561d20fe6ab77447f150d711c2ad5ad74df4fcc133736bce99678 + languageName: node + linkType: hard + +"eslint@npm:^10.0.3": + version: 10.0.3 + resolution: "eslint@npm:10.0.3" dependencies: "@eslint-community/eslint-utils": "npm:^4.8.0" - "@eslint-community/regexpp": "npm:^4.12.1" - "@eslint/config-array": "npm:^0.21.1" - "@eslint/config-helpers": "npm:^0.4.2" - "@eslint/core": "npm:^0.17.0" - "@eslint/eslintrc": "npm:^3.3.1" - "@eslint/js": "npm:9.39.1" - "@eslint/plugin-kit": "npm:^0.4.1" + "@eslint-community/regexpp": "npm:^4.12.2" + "@eslint/config-array": "npm:^0.23.3" + "@eslint/config-helpers": "npm:^0.5.2" + "@eslint/core": "npm:^1.1.1" + "@eslint/plugin-kit": "npm:^0.6.1" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" "@humanwhocodes/retry": "npm:^0.4.2" "@types/estree": "npm:^1.0.6" - ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" + ajv: "npm:^6.14.0" cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^8.4.0" - eslint-visitor-keys: "npm:^4.2.1" - espree: "npm:^10.4.0" - esquery: "npm:^1.5.0" + eslint-scope: "npm:^9.1.2" + eslint-visitor-keys: "npm:^5.0.1" + espree: "npm:^11.1.1" + esquery: "npm:^1.7.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" file-entry-cache: "npm:^8.0.0" @@ -19011,8 +19052,7 @@ __metadata: imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" + minimatch: "npm:^10.2.4" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" peerDependencies: @@ -19022,18 +19062,18 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/59b2480639404ba24578ca480f973683b87b7aac8aa7e349240474a39067804fd13cd8b9cb22fee074170b8c7c563b57bab703ec0f0d3f81ea017e5d2cad299d + checksum: 10c0/fbbb4d99cb6af5c30b163b7898241dbac1cd1cee0e6746d5732a95e3b1e68b5bea0bc27cb78e8440a39cf4cc98c7f52cf5ed8d7c2bbdf2232662476d113c41fc languageName: node linkType: hard -"espree@npm:^10.0.1, espree@npm:^10.4.0": - version: 10.4.0 - resolution: "espree@npm:10.4.0" +"espree@npm:^11.1.1": + version: 11.2.0 + resolution: "espree@npm:11.2.0" dependencies: - acorn: "npm:^8.15.0" + acorn: "npm:^8.16.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/c63fe06131c26c8157b4083313cb02a9a54720a08e21543300e55288c40e06c3fc284bdecf108d3a1372c5934a0a88644c98714f38b6ae8ed272b40d9ea08d6b + eslint-visitor-keys: "npm:^5.0.1" + checksum: 10c0/cf87e18ffd9dc113eb8d16588e7757701bc10c9934a71cce8b89c2611d51672681a918307bd6b19ac3ccd0e7ba1cbccc2f815b36b52fa7e73097b251014c3d81 languageName: node linkType: hard @@ -19077,6 +19117,15 @@ __metadata: languageName: node linkType: hard +"esquery@npm:^1.7.0": + version: 1.7.0 + resolution: "esquery@npm:1.7.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/77d5173db450b66f3bc685d11af4c90cffeedb340f34a39af96d43509a335ce39c894fd79233df32d38f5e4e219fa0f7076f6ec90bae8320170ba082c0db4793 + languageName: node + linkType: hard + "esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" @@ -19289,7 +19338,7 @@ __metadata: languageName: node linkType: hard -"ethers@npm:^6.14.0, ethers@npm:^6.15.0, ethers@npm:^6.8.1, ethers@npm:~6.15.0": +"ethers@npm:^6.14.0, ethers@npm:^6.8.1, ethers@npm:~6.15.0": version: 6.15.0 resolution: "ethers@npm:6.15.0" dependencies: @@ -19304,6 +19353,21 @@ __metadata: languageName: node linkType: hard +"ethers@npm:^6.16.0, ethers@npm:~6.16.0": + version: 6.16.0 + resolution: "ethers@npm:6.16.0" + dependencies: + "@adraffy/ens-normalize": "npm:1.10.1" + "@noble/curves": "npm:1.2.0" + "@noble/hashes": "npm:1.3.2" + "@types/node": "npm:22.7.5" + aes-js: "npm:4.0.0-beta.5" + tslib: "npm:2.7.0" + ws: "npm:8.17.1" + checksum: 10c0/65c0ff7016b1592b1961c3b68508902b89fc75e1ad025bab3a722df1b5699fd077551875a7285e65b2d0cfea9a85b2459bb84010a0fa4e4494d231848aee3a73 + languageName: node + linkType: hard + "ethjs-unit@npm:0.1.6": version: 0.1.6 resolution: "ethjs-unit@npm:0.1.6" @@ -20491,13 +20555,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^14.0.0": - version: 14.0.0 - resolution: "globals@npm:14.0.0" - checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d - languageName: node - linkType: hard - "globals@npm:^16.2.0, globals@npm:^16.3.0": version: 16.5.0 resolution: "globals@npm:16.5.0" @@ -21407,14 +21464,14 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.0.5, ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1": +"ignore@npm:^5.0.5, ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.3.1": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 languageName: node linkType: hard -"ignore@npm:^7.0.0": +"ignore@npm:^7.0.5": version: 7.0.5 resolution: "ignore@npm:7.0.5" checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d @@ -23750,13 +23807,6 @@ __metadata: languageName: node linkType: hard -"lodash.merge@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.merge@npm:4.6.2" - checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 - languageName: node - linkType: hard - "lodash.once@npm:^4.0.0": version: 4.1.1 resolution: "lodash.once@npm:4.1.1" @@ -24391,15 +24441,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:9.0.3": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac - languageName: node - linkType: hard - "minimatch@npm:^10.0.0, minimatch@npm:^10.1.1": version: 10.1.1 resolution: "minimatch@npm:10.1.1" @@ -24409,6 +24450,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^10.2.2, minimatch@npm:^10.2.4, minimatch@npm:^9.0.3 || ^10.1.2": + version: 10.2.4 + resolution: "minimatch@npm:10.2.4" + dependencies: + brace-expansion: "npm:^5.0.2" + checksum: 10c0/35f3dfb7b99b51efd46afd378486889f590e7efb10e0f6a10ba6800428cf65c9a8dedb74427d0570b318d749b543dc4e85f06d46d2858bc8cac7e1eb49a95945 + languageName: node + linkType: hard + "minimatch@npm:^5.0.1, minimatch@npm:^5.1.6": version: 5.1.6 resolution: "minimatch@npm:5.1.6" @@ -26323,24 +26373,24 @@ __metadata: languageName: node linkType: hard -"pino@npm:^10.1.0": - version: 10.1.0 - resolution: "pino@npm:10.1.0" +"pino@npm:^10.3.1": + version: 10.3.1 + resolution: "pino@npm:10.3.1" dependencies: "@pinojs/redact": "npm:^0.4.0" atomic-sleep: "npm:^1.0.0" on-exit-leak-free: "npm:^2.1.0" - pino-abstract-transport: "npm:^2.0.0" + pino-abstract-transport: "npm:^3.0.0" pino-std-serializers: "npm:^7.0.0" process-warning: "npm:^5.0.0" quick-format-unescaped: "npm:^4.0.3" real-require: "npm:^0.2.0" safe-stable-stringify: "npm:^2.3.1" sonic-boom: "npm:^4.0.1" - thread-stream: "npm:^3.0.0" + thread-stream: "npm:^4.0.0" bin: pino: bin.js - checksum: 10c0/49c1dd80d5f99f02bde1acf2f60cef7686948a937f751f6cb368c2868c7e82e54aeabac63a34587e16019965cbf0eb6e609edf92c439a98a0a4fcb0add277eaf + checksum: 10c0/ae1c57f2baac85dd5d63a3500746d5ea1cfc4bfcbf356eaec94d42a782eeb80caa4d4614de43a036cf48e2aed46d855a7ff21b126f55a63811def52a894ef937 languageName: node linkType: hard @@ -28282,6 +28332,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.7.2": + version: 7.7.4 + resolution: "semver@npm:7.7.4" + bin: + semver: bin/semver.js + checksum: 10c0/5215ad0234e2845d4ea5bb9d836d42b03499546ddafb12075566899fc617f68794bb6f146076b6881d755de17d6c6cc73372555879ec7dce2c2feee947866ad2 + languageName: node + linkType: hard + "send@npm:^1.1.0, send@npm:^1.2.0": version: 1.2.0 resolution: "send@npm:1.2.0" @@ -29773,6 +29832,15 @@ __metadata: languageName: node linkType: hard +"thread-stream@npm:^4.0.0": + version: 4.0.0 + resolution: "thread-stream@npm:4.0.0" + dependencies: + real-require: "npm:^0.2.0" + checksum: 10c0/f0a47a673af574062df20140ec3e857d679365253fcaa98a76c167c9a053ee03291f4b25bd89b078c7f6a48f07f49d5a49e4f5598bb1c8a263ec15955a018fbd + languageName: node + linkType: hard + "through2@npm:^4.0.0, through2@npm:^4.0.2": version: 4.0.2 resolution: "through2@npm:4.0.2" @@ -30007,7 +30075,7 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.0.1, ts-api-utils@npm:^1.3.0": +"ts-api-utils@npm:^1.3.0": version: 1.4.3 resolution: "ts-api-utils@npm:1.4.3" peerDependencies: @@ -30025,6 +30093,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^2.4.0": + version: 2.4.0 + resolution: "ts-api-utils@npm:2.4.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: 10c0/ed185861aef4e7124366a3f6561113557a57504267d4d452a51e0ba516a9b6e713b56b4aeaab9fa13de9db9ab755c65c8c13a777dba9133c214632cb7b65c083 + languageName: node + linkType: hard + "ts-command-line-args@npm:^2.2.0": version: 2.5.1 resolution: "ts-command-line-args@npm:2.5.1" @@ -30523,18 +30600,18 @@ __metadata: languageName: node linkType: hard -"typescript-eslint@npm:^8.33.0, typescript-eslint@npm:^8.35.1, typescript-eslint@npm:^8.39.1": - version: 8.46.2 - resolution: "typescript-eslint@npm:8.46.2" +"typescript-eslint@npm:^8.57.0": + version: 8.57.1 + resolution: "typescript-eslint@npm:8.57.1" dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.46.2" - "@typescript-eslint/parser": "npm:8.46.2" - "@typescript-eslint/typescript-estree": "npm:8.46.2" - "@typescript-eslint/utils": "npm:8.46.2" + "@typescript-eslint/eslint-plugin": "npm:8.57.1" + "@typescript-eslint/parser": "npm:8.57.1" + "@typescript-eslint/typescript-estree": "npm:8.57.1" + "@typescript-eslint/utils": "npm:8.57.1" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/9c1bef1887ee984e63cbf4f4321f22ed232b192597400b74220aaecd42235bccc3c7786e002d283f81e1a0812a1c6d83ea5860bffa5e87d119204ecb9db0296a + checksum: 10c0/be5a19738a785a2695e01874cbedbddbb63ea0a1c2eac331be7d251bda35116505f4d4d8de5a25a77a09392396247af4b89d2a793580217af4891e9e5036a716 languageName: node linkType: hard @@ -30831,7 +30908,7 @@ __metadata: languageName: node linkType: hard -"unrs-resolver@npm:^1.6.2, unrs-resolver@npm:^1.7.11": +"unrs-resolver@npm:^1.6.2, unrs-resolver@npm:^1.7.11, unrs-resolver@npm:^1.9.2": version: 1.11.1 resolution: "unrs-resolver@npm:1.11.1" dependencies: