diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 25025ea7..c3b0aa3e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -84,7 +84,13 @@ jobs:
docker pull ghcr.io/gear-tech/node:v1.6.2
docker run --name $NODE_CONTAINER_NAME --detach --rm --publish 127.0.0.1:9944:9944 ghcr.io/gear-tech/node:v1.6.2 gear --dev --tmp --rpc-external
- name: Run tests
- run: cargo test --release --workspace --all-targets || { exit_code=$?; if [ x$exit_code != x0 ]; then docker stop $NODE_CONTAINER_NAME; fi; exit $exit_code; }
+ run: cargo test --release --workspace
+ --exclude prover
+ --exclude plonky2_blake2b256
+ --exclude plonky2_ecdsa
+ --exclude plonky2_ed25519
+ --exclude plonky2_sha512
+ --exclude plonky2_u32 || { exit_code=$?; if [ x$exit_code != x0 ]; then docker stop $NODE_CONTAINER_NAME; fi; exit $exit_code; }
- name: Run solidity tests
run: |
cd ethereum
@@ -92,6 +98,40 @@ jobs:
- name: Stop Gear node container (if any)
continue-on-error: true
run: docker stop $NODE_CONTAINER_NAME
+ check-zk-circuits-changed:
+ runs-on: kuberunner
+ outputs:
+ circuits_changed: ${{ steps.filter.outputs.circuits }}
+ prover_changed: ${{ steps.filter.outputs.prover }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Filter files
+ id: filter
+ uses: dorny/paths-filter@v3
+ with:
+ filters: |
+ circuits:
+ - 'circuits/**'
+ prover:
+ - 'prover/**'
+ zk-tests:
+ runs-on: kuberunner
+ needs: check-zk-circuits-changed
+ if: ${{needs.check-zk-circuits-changed.outputs.circuits_changed == 'true' || needs.check-zk-circuits-changed.outputs.prover_changed == 'true'}}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Install rust toolchain
+ uses: actions-rust-lang/setup-rust-toolchain@v1
+ - name: Run tests
+ run: cargo test --release
+ -p prover
+ -p plonky2_blake2b256
+ -p plonky2_ecdsa
+ -p plonky2_ed25519
+ -p plonky2_sha512
+ -p plonky2_u32
check-api-files:
runs-on: kuberunner
steps:
diff --git a/.github/workflows/indexer-ci.yml b/.github/workflows/indexer-ci.yml
new file mode 100644
index 00000000..cb946739
--- /dev/null
+++ b/.github/workflows/indexer-ci.yml
@@ -0,0 +1,39 @@
+name: CI indexer
+
+on:
+ pull_request:
+ branches:
+ - main
+ paths:
+ - indexer/**
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js 20.x
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20.x
+
+ - name: Install dependencies
+ working-directory: indexer
+ run: npm install
+
+ - name: Copy api files
+ run: |
+ mkdir -p indexer/assets
+ node indexer/scripts/abi.js api/ethereum/IERC20Manager.json indexer/assets
+ node indexer/scripts/abi.js api/ethereum/IMessageQueue.json indexer/assets
+
+ - name: Build
+ working-directory: indexer
+ run: npm run build
diff --git a/.github/workflows/k8s-deploy.yml b/.github/workflows/k8s-deploy.yml
index 58b5ea9a..edf6237a 100644
--- a/.github/workflows/k8s-deploy.yml
+++ b/.github/workflows/k8s-deploy.yml
@@ -2,7 +2,7 @@ name: Frontend
on:
workflow_dispatch:
push:
- branches: ['master', 'main', 'staging']
+ branches: ['main']
paths:
- frontend/**
@@ -11,67 +11,38 @@ concurrency:
cancel-in-progress: true
env:
- ENVIRONMENT: ${{ (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main') && 'prod' || 'stg' }}
+ REGISTRY: ghcr.io
+ IMAGE_NAME: ${{ github.repository }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: ${{ secrets.AWS_REGION }}
KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
- KUBECTL_VERSION: 'v1.22.17'
- KUBE_NAMESPACE: zk-bridge
- KUBE_DEPLOYMENT_PREFIX: zk-bridge
- REGISTRY: ghcr.io/${{ github.repository }}
jobs:
- prepair:
+ build-frontend-image-staging:
runs-on: ubuntu-latest
- outputs:
- image_name: ${{ steps.image.outputs.image_name }}
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Get branch
- id: branch
- run: |
- branch_name=${GITHUB_REF#refs/heads/}
- echo "branch_name=$branch_name" >> $GITHUB_ENV
-
- - name: Get short SHA
- id: sha
- run: |
- sha_short=$(git rev-parse --short HEAD)
- echo "sha_short=$sha_short" >> $GITHUB_ENV
-
- - name: Set IMAGE_NAME
- id: image
- run: |
- image_name=${{ env.REGISTRY }}-${{ env.KUBE_DEPLOYMENT_PREFIX }}:${{ env.branch_name }}-${{ env.sha_short }}
- echo "image_name=$image_name" >> $GITHUB_OUTPUT
-
- build-and-push-image:
- needs: [prepair]
- runs-on: ubuntu-latest
- environment: ${{ (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main') && 'prod' || 'stg' }}
+ environment: stg
permissions:
contents: read
packages: write
+
steps:
- name: Checkout repository
- uses: actions/checkout@v4
+ uses: actions/checkout@v2
- name: Log in to the github container registry
- uses: docker/login-action@v3
+ uses: docker/login-action@master
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- - name: Build and push image
- uses: docker/build-push-action@v5
+ - name: Build and push Frontend Docker image
+ uses: docker/build-push-action@master
with:
file: frontend/Dockerfile
push: true
- tags: ${{ needs.prepair.outputs.image_name }}
+ tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-frontend:qa
build-args: |
VITE_VARA_NODE_ADDRESS=${{ secrets.VITE_VARA_NODE_ADDRESS }}
VITE_ETH_NODE_ADDRESS=${{ secrets.VITE_ETH_NODE_ADDRESS }}
@@ -80,38 +51,26 @@ jobs:
VITE_INDEXER_ADDRESS=${{ secrets.VITE_INDEXER_ADDRESS }}
VITE_BRIDGING_PAYMENT_CONTRACT_ADDRESS=${{ secrets.VITE_BRIDGING_PAYMENT_CONTRACT_ADDRESS }}
VITE_ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS=${{ secrets.VITE_ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS }}
+ VITE_WRAPPED_VARA_CONTRACT_ADDRESS=${{ secrets.VITE_WRAPPED_VARA_CONTRACT_ADDRESS }}
- deploy-to-k8s:
- needs: [prepair, build-and-push-image]
+ deploy-to-k8s-staging:
+ needs:
+ [build-frontend-image-staging]
runs-on: ubuntu-latest
- environment: ${{ (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main') && 'prod' || 'stg' }}
+
steps:
- name: Configure AWS credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}
- - name: Update deployment image
- uses: kodermax/kubectl-aws-eks@main
+ - name: Deploy to k8s
+ uses: sergeyfilyanin/kubectl-aws-eks@master
with:
- args: |
- set image deployment/${{ env.KUBE_DEPLOYMENT_PREFIX }}-${{ env.ENVIRONMENT }} \
- ${{ env.KUBE_DEPLOYMENT_PREFIX }}-${{ env.ENVIRONMENT }}=${{ needs.prepair.outputs.image_name }} \
- -n ${{ env.KUBE_NAMESPACE }}
-
- - name: Restart deployment
- uses: kodermax/kubectl-aws-eks@main
- with:
- args: |
- rollout restart deployment/${{ env.KUBE_DEPLOYMENT_PREFIX }}-${{ env.ENVIRONMENT }} \
- -n ${{ env.KUBE_NAMESPACE }}
-
- - name: Check deployment
- uses: kodermax/kubectl-aws-eks@main
+ args: rollout restart deployment zk-bridge-stg -n zk-bridge
+ - name: Check k8s deployments
+ uses: sergeyfilyanin/kubectl-aws-eks@master
with:
- args: |
- rollout status deployment/${{ env.KUBE_DEPLOYMENT_PREFIX }}-${{ env.ENVIRONMENT }} \
- --timeout=240s \
- -n ${{ env.KUBE_NAMESPACE }}
+ args: get deployment -o name -n zk-bridge | xargs -n1 -t kubectl rollout status -n zk-bridge --timeout=120s
diff --git a/.gitignore b/.gitignore
index cb783608..d95838a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,8 @@ out/
ethereum/broadcast
.env
+.DS_Store
+
+node_modules/
+indexer/lib/
+indexer/assets/
diff --git a/.dockerignore b/Dockerfile.dockerignore
similarity index 76%
rename from .dockerignore
rename to Dockerfile.dockerignore
index 810676a1..880379f4 100644
--- a/.dockerignore
+++ b/Dockerfile.dockerignore
@@ -1,19 +1,19 @@
# Rust build directory
target
-# Resource files
+# Resource files
audits
images
LICENSE
*.md
api
-# Git
+# Git
.git
.gitignore
.github
-# IDE-generated files
+# IDE-generated files
.vscode
.idea
@@ -28,5 +28,8 @@ ethereum/cache
ethereum/out
ethereum/broadcast
+# Indexer-related
+indexer/
+
# Frontend
-frontend
+frontend/
diff --git a/frontend/.env.example b/frontend/.env.example
index ca387a8b..83fdfd08 100644
--- a/frontend/.env.example
+++ b/frontend/.env.example
@@ -5,3 +5,4 @@ VITE_WALLET_CONNECT_PROJECT_ID=
VITE_INDEXER_ADDRESS=
VITE_BRIDGING_PAYMENT_CONTRACT_ADDRESS=
VITE_ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS=
+VITE_WRAPPED_VARA_CONTRACT_ADDRESS=
diff --git a/frontend/Dockerfile b/frontend/Dockerfile
index bb92a326..76621934 100644
--- a/frontend/Dockerfile
+++ b/frontend/Dockerfile
@@ -17,7 +17,8 @@ ARG VITE_VARA_NODE_ADDRESS \
VITE_WALLET_CONNECT_PROJECT_ID \
VITE_INDEXER_ADDRESS \
VITE_BRIDGING_PAYMENT_CONTRACT_ADDRESS \
- VITE_ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS
+ VITE_ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS \
+ VITE_WRAPPED_VARA_CONTRACT_ADDRESS
ENV VITE_VARA_NODE_ADDRESS=${VITE_VARA_NODE_ADDRESS} \
VITE_ETH_NODE_ADDRESS=${VITE_ETH_NODE_ADDRESS} \
@@ -25,7 +26,8 @@ ENV VITE_VARA_NODE_ADDRESS=${VITE_VARA_NODE_ADDRESS} \
VITE_WALLET_CONNECT_PROJECT_ID=${VITE_WALLET_CONNECT_PROJECT_ID} \
VITE_INDEXER_ADDRESS=${VITE_INDEXER_ADDRESS} \
VITE_BRIDGING_PAYMENT_CONTRACT_ADDRESS=${VITE_BRIDGING_PAYMENT_CONTRACT_ADDRESS} \
- VITE_ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS=${VITE_ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS}
+ VITE_ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS=${VITE_ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS} \
+ VITE_WRAPPED_VARA_CONTRACT_ADDRESS=${VITE_WRAPPED_VARA_CONTRACT_ADDRESS}
RUN pnpm install
diff --git a/frontend/package.json b/frontend/package.json
index 7c467725..e61ad45a 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -11,13 +11,13 @@
"codegen": "graphql-codegen"
},
"dependencies": {
- "@gear-js/api": "0.38.1",
- "@gear-js/react-hooks": "0.12.2",
+ "@gear-js/api": "0.39.0",
+ "@gear-js/react-hooks": "0.14.0",
"@gear-js/vara-ui": "0.0.10",
"@hookform/resolvers": "3.9.0",
- "@polkadot/api": "11.0.2",
- "@polkadot/react-identicon": "3.9.1",
- "@tanstack/react-query": "5.52.1",
+ "@polkadot/api": "14.3.1",
+ "@polkadot/react-identicon": "3.11.3",
+ "@tanstack/react-query": "5.61.5",
"@web3modal/wagmi": "5.1.3",
"graphql": "16.9.0",
"graphql-request": "7.1.0",
@@ -26,7 +26,7 @@
"react-hook-form": "7.52.2",
"react-number-format": "5.4.0",
"react-router-dom": "6.26.1",
- "sails-js": "0.1.8",
+ "sails-js": "0.3.0",
"viem": "2.19.6",
"wagmi": "2.12.7",
"zod": "3.23.8"
@@ -35,7 +35,7 @@
"@graphql-codegen/cli": "5.0.2",
"@graphql-codegen/client-preset": "4.3.3",
"@graphql-typed-document-node/core": "3.2.0",
- "@polkadot/types": "11.0.2",
+ "@polkadot/types": "14.3.1",
"@types/react": "18.3.4",
"@types/react-dom": "18.3.0",
"@typescript-eslint/eslint-plugin": "8.2.0",
diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml
index 99e8ea01..e41c269e 100644
--- a/frontend/pnpm-lock.yaml
+++ b/frontend/pnpm-lock.yaml
@@ -9,11 +9,11 @@ importers:
.:
dependencies:
'@gear-js/api':
- specifier: 0.38.1
- version: 0.38.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))))(rxjs@7.8.1)
+ specifier: 0.39.0
+ version: 0.39.0(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))))(rxjs@7.8.1)
'@gear-js/react-hooks':
- specifier: 0.12.2
- version: 0.12.2(@gear-js/api@0.38.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))))(rxjs@7.8.1))(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@tanstack/react-query@5.52.1(react@18.3.1))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sails-js@0.1.8(@gear-js/api@0.38.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))))(rxjs@7.8.1))(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/types@11.0.2))(utf-8-validate@5.0.10)
+ specifier: 0.14.0
+ version: 0.14.0(@gear-js/api@0.39.0(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))))(rxjs@7.8.1))(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@tanstack/react-query@5.61.5(react@18.3.1))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sails-js-types@0.0.1)(sails-js@0.3.0(@gear-js/api@0.39.0(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))))(rxjs@7.8.1))(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/types@14.3.1)(sails-js-types@0.0.1)(sails-js-util@0.0.1))(utf-8-validate@5.0.10)
'@gear-js/vara-ui':
specifier: 0.0.10
version: 0.0.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -21,17 +21,17 @@ importers:
specifier: 3.9.0
version: 3.9.0(react-hook-form@7.52.2(react@18.3.1))
'@polkadot/api':
- specifier: 11.0.2
- version: 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ specifier: 14.3.1
+ version: 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@polkadot/react-identicon':
- specifier: 3.9.1
- version: 3.9.1(@polkadot/keyring@13.0.2(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2))(@polkadot/networks@13.0.2)(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)
+ specifier: 3.11.3
+ version: 3.11.3(@polkadot/keyring@13.2.3(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3))(@polkadot/networks@13.2.3)(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)
'@tanstack/react-query':
- specifier: 5.52.1
- version: 5.52.1(react@18.3.1)
+ specifier: 5.61.5
+ version: 5.61.5(react@18.3.1)
'@web3modal/wagmi':
specifier: 5.1.3
- version: 5.1.3(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@types/react@18.3.4)(@wagmi/connectors@5.1.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@types/react@18.3.4)(@wagmi/core@2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(@wagmi/core@2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(vue@3.4.3(typescript@5.5.4))(wagmi@2.12.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.52.0)(@tanstack/react-query@5.52.1(react@18.3.1))(@types/react@18.3.4)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))
+ version: 5.1.3(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@types/react@18.3.4)(@wagmi/connectors@5.1.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@types/react@18.3.4)(@wagmi/core@2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(@wagmi/core@2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(vue@3.4.3(typescript@5.5.4))(wagmi@2.12.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.52.0)(@tanstack/react-query@5.61.5(react@18.3.1))(@types/react@18.3.4)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))
graphql:
specifier: 16.9.0
version: 16.9.0
@@ -54,14 +54,14 @@ importers:
specifier: 6.26.1
version: 6.26.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
sails-js:
- specifier: 0.1.8
- version: 0.1.8(@gear-js/api@0.38.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))))(rxjs@7.8.1))(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/types@11.0.2)
+ specifier: 0.3.0
+ version: 0.3.0(@gear-js/api@0.39.0(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))))(rxjs@7.8.1))(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/types@14.3.1)(sails-js-types@0.0.1)(sails-js-util@0.0.1)
viem:
specifier: 2.19.6
version: 2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)
wagmi:
specifier: 2.12.7
- version: 2.12.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.52.0)(@tanstack/react-query@5.52.1(react@18.3.1))(@types/react@18.3.4)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)
+ version: 2.12.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.52.0)(@tanstack/react-query@5.61.5(react@18.3.1))(@types/react@18.3.4)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)
zod:
specifier: 3.23.8
version: 3.23.8
@@ -76,8 +76,8 @@ importers:
specifier: 3.2.0
version: 3.2.0(graphql@16.9.0)
'@polkadot/types':
- specifier: 11.0.2
- version: 11.0.2
+ specifier: 14.3.1
+ version: 14.3.1
'@types/react':
specifier: 18.3.4
version: 18.3.4
@@ -1148,22 +1148,22 @@ packages:
resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==}
engines: {node: '>=14'}
- '@gear-js/api@0.38.1':
- resolution: {integrity: sha512-SghbC+9Jc5YsNjuO/I3cHMlBXkUZK8OgpI7bXyP3fetQo/Ls4/cgv4JD/XX2S7Y/UpG+gSdSEXaxpU1g7OYK7A==}
+ '@gear-js/api@0.39.0':
+ resolution: {integrity: sha512-qJcaZStYwB6Io3zOTteKv8ertVJHSuV/qKnuO/ciL+FfSj/LGX3JnskjYxIHzeqRam2qIOTdnC6OK7M8x+9whQ==}
peerDependencies:
- '@polkadot/api': 11.0.2
- '@polkadot/wasm-crypto': 7.3.2
+ '@polkadot/api': 14.3.1
+ '@polkadot/wasm-crypto': 7.4.1
rxjs: 7.8.1
- '@gear-js/react-hooks@0.12.2':
- resolution: {integrity: sha512-rQbdjZUDxmqxHmionFAQz6seFX6Nxqb1IQk3Ijpbd2zZLsEgS9fHx+G6nMtolOWBUxpOQ0BkNO6BLvakBpgfTg==}
+ '@gear-js/react-hooks@0.14.0':
+ resolution: {integrity: sha512-4aaDNh6xH8C2fMu76PpkAp1zOaacERjtsvEEJdLmWv79eDy0yyLzdaY8O7Cleiyh7rNcTMPt/9z/2Jjd0PG4qQ==}
peerDependencies:
- '@gear-js/api': 0.38.1
- '@polkadot/api': 11.0.2
- '@tanstack/react-query': ^5.29.0
+ '@gear-js/api': 0.39.0
+ '@polkadot/api': 14.3.1
+ '@tanstack/react-query': ^5.56.2
react: ^18.2.0
react-dom: ^18.2.0
- sails-js: 0.1.8
+ sails-js: 0.3.0
'@gear-js/vara-ui@0.0.10':
resolution: {integrity: sha512-5f6FamMaRNM1uF6X8qZwVVf5p/tS0S8/0x+O/wr+2bnDL4qlK+kBhhhuGzIyBATFoEDOo1fKvEriHnuOFw/GSA==}
@@ -1704,97 +1704,66 @@ packages:
resolution: {integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==}
engines: {node: '>=10.12.0'}
- '@polkadot-api/json-rpc-provider-proxy@0.0.1':
- resolution: {integrity: sha512-gmVDUP8LpCH0BXewbzqXF2sdHddq1H1q+XrAW2of+KZj4woQkIGBRGTJHeBEVHe30EB+UejR1N2dT4PO/RvDdg==}
-
'@polkadot-api/json-rpc-provider-proxy@0.1.0':
resolution: {integrity: sha512-8GSFE5+EF73MCuLQm8tjrbCqlgclcHBSRaswvXziJ0ZW7iw3UEMsKkkKvELayWyBuOPa2T5i1nj6gFOeIsqvrg==}
'@polkadot-api/json-rpc-provider@0.0.1':
resolution: {integrity: sha512-/SMC/l7foRjpykLTUTacIH05H3mr9ip8b5xxfwXlVezXrNVLp3Cv0GX6uItkKd+ZjzVPf3PFrDF2B2/HLSNESA==}
- '@polkadot-api/metadata-builders@0.0.1':
- resolution: {integrity: sha512-GCI78BHDzXAF/L2pZD6Aod/yl82adqQ7ftNmKg51ixRL02JpWUA+SpUKTJE5MY1p8kiJJIo09P2um24SiJHxNA==}
-
'@polkadot-api/metadata-builders@0.3.2':
resolution: {integrity: sha512-TKpfoT6vTb+513KDzMBTfCb/ORdgRnsS3TDFpOhAhZ08ikvK+hjHMt5plPiAX/OWkm1Wc9I3+K6W0hX5Ab7MVg==}
- '@polkadot-api/observable-client@0.1.0':
- resolution: {integrity: sha512-GBCGDRztKorTLna/unjl/9SWZcRmvV58o9jwU2Y038VuPXZcr01jcw/1O3x+yeAuwyGzbucI/mLTDa1QoEml3A==}
- peerDependencies:
- rxjs: '>=7.8.0'
-
'@polkadot-api/observable-client@0.3.2':
resolution: {integrity: sha512-HGgqWgEutVyOBXoGOPp4+IAq6CNdK/3MfQJmhCJb8YaJiaK4W6aRGrdQuQSTPHfERHCARt9BrOmEvTXAT257Ug==}
peerDependencies:
'@polkadot-api/substrate-client': 0.1.4
rxjs: '>=7.8.0'
- '@polkadot-api/substrate-bindings@0.0.1':
- resolution: {integrity: sha512-bAe7a5bOPnuFVmpv7y4BBMRpNTnMmE0jtTqRUw/+D8ZlEHNVEJQGr4wu3QQCl7k1GnSV1wfv3mzIbYjErEBocg==}
-
'@polkadot-api/substrate-bindings@0.6.0':
resolution: {integrity: sha512-lGuhE74NA1/PqdN7fKFdE5C1gNYX357j1tWzdlPXI0kQ7h3kN0zfxNOpPUN7dIrPcOFZ6C0tRRVrBylXkI6xPw==}
- '@polkadot-api/substrate-client@0.0.1':
- resolution: {integrity: sha512-9Bg9SGc3AwE+wXONQoW8GC00N3v6lCZLW74HQzqB6ROdcm5VAHM4CB/xRzWSUF9CXL78ugiwtHx3wBcpx4H4Wg==}
-
'@polkadot-api/substrate-client@0.1.4':
resolution: {integrity: sha512-MljrPobN0ZWTpn++da9vOvt+Ex+NlqTlr/XT7zi9sqPtDJiQcYl+d29hFAgpaeTqbeQKZwz3WDE9xcEfLE8c5A==}
- '@polkadot-api/utils@0.0.1':
- resolution: {integrity: sha512-3j+pRmlF9SgiYDabSdZsBSsN5XHbpXOAce1lWj56IEEaFZVjsiCaxDOA7C9nCcgfVXuvnbxqqEGQvnY+QfBAUw==}
-
'@polkadot-api/utils@0.1.0':
resolution: {integrity: sha512-MXzWZeuGxKizPx2Xf/47wx9sr/uxKw39bVJUptTJdsaQn/TGq+z310mHzf1RCGvC1diHM8f593KrnDgc9oNbJA==}
- '@polkadot/api-augment@11.0.2':
- resolution: {integrity: sha512-Icrwk9DxcWlMxl0UFhIthYX+TzFGhxC2zwCaIgUbE5l1hoRFWl+K4BbLOtNdGTr6jkEkJizdnzbXvxWMYHZEOA==}
+ '@polkadot/api-augment@14.3.1':
+ resolution: {integrity: sha512-PE6DW+8kRhbnGKn7qCF7yM6eEt/kqrY8bh1i0RZcPY9QgwXW4bZZrtMK4WssX6Z70NTEoOW6xHYIjc7gFZuz8g==}
engines: {node: '>=18'}
- '@polkadot/api-base@11.0.2':
- resolution: {integrity: sha512-Sz1z6KHe+AyiQRxwSXU2KM0KSKZ97sc1WBEhqqkGuR3YdaV2Pt++ixSJe1FXt5/YyMI/KU0W8GSciK6Kydgxgw==}
+ '@polkadot/api-base@14.3.1':
+ resolution: {integrity: sha512-GZT6rTpT3HYZ/C3rLPjoX3rX3DOxNG/zgts+jKjNrCumAeZkVq5JErKIX8/3f2TVaE2Kbqniy3d1TH/AL4HBPA==}
engines: {node: '>=18'}
- '@polkadot/api-derive@11.0.2':
- resolution: {integrity: sha512-1E3alBICLBbsNJ4HvJkyIuCznuOgksS6cQ+H57K0d9NCC4xZcCqreHm+VTlZh3HZjDgw4CPDRvhgCDvDOP8KpA==}
+ '@polkadot/api-derive@14.3.1':
+ resolution: {integrity: sha512-PhqUEJCY54vXtIaoYqGUtJY06wHd/K0cBmBz9yCLxp8UZkLoGWhfJRTruI25Jnucf9awS5cZKYqbsoDrL09Oqg==}
engines: {node: '>=18'}
- '@polkadot/api@11.0.2':
- resolution: {integrity: sha512-LG4gwlev+SC2WolWMX0CaUZJyZWxXbsCe5h58zFxXucQuiPAvkn0QrnSTC3hB3qywsxK6aeuQ9E2vrQYcN7EMg==}
+ '@polkadot/api@14.3.1':
+ resolution: {integrity: sha512-ZBKSXEVJa1S1bnmpnA7KT/fX3sJDIJOdVD9Hp3X+G73yvXzuK5k1Mn5z9bD/AcMs/HAGcbuYU+b9+b9IByH9YQ==}
engines: {node: '>=18'}
- '@polkadot/extension-inject@0.51.1':
- resolution: {integrity: sha512-9b6mNw+ELkKOBxDARs3mfbFOzgOiV1brCY6OizXpGb1UAN6I77QcueUBC4zqvGo0NP7/pAlp2Aqxo7u9XuRi7w==}
+ '@polkadot/extension-inject@0.56.2':
+ resolution: {integrity: sha512-HY4wrJ2YJykvxG/BYzOGgaCxOqGckHFE9HKA7/pq7sl2wVtdO8mlNET+jdSwTY3prfmLxkUiDNbY+bWv1ydPYQ==}
engines: {node: '>=18'}
peerDependencies:
'@polkadot/api': '*'
'@polkadot/util': '*'
- '@polkadot/keyring@12.6.2':
- resolution: {integrity: sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==}
- engines: {node: '>=18'}
- peerDependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/util-crypto': 12.6.2
-
- '@polkadot/keyring@13.0.2':
- resolution: {integrity: sha512-NeLbhyKDT5W8LI9seWTZGePxNTOVpDhv2018HSrEDwJq9Ie0C4TZhUf3KNERCkSveuThXjfQJMs+1CF33ZXPWw==}
+ '@polkadot/keyring@13.2.3':
+ resolution: {integrity: sha512-pgTo6DXNXub0wGD+MnVHYhKxf80Jl+QMOCb818ioGdXz++Uw4mTueFAwtB+N7TGo0HafhChUiNJDxFdlDkcAng==}
engines: {node: '>=18'}
peerDependencies:
- '@polkadot/util': 13.0.2
- '@polkadot/util-crypto': 13.0.2
+ '@polkadot/util': 13.2.3
+ '@polkadot/util-crypto': 13.2.3
- '@polkadot/networks@12.6.2':
- resolution: {integrity: sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==}
+ '@polkadot/networks@13.2.3':
+ resolution: {integrity: sha512-mG+zkXg/33AyPrkv2xBbAo3LBUwOwBn6qznBU/4jxiZPnVvCwMaxE7xHM22B5riItbNJ169FXv3wy0v6ZmkFbw==}
engines: {node: '>=18'}
- '@polkadot/networks@13.0.2':
- resolution: {integrity: sha512-ABAL+vug/gIwkdFEzeh87JoJd0YKrxSYg/HjUrZ+Zis2ucxQEKpvtCpJ34ku+YrjacBfVqIAkkwd3ZdIPGq9aQ==}
- engines: {node: '>=18'}
-
- '@polkadot/react-identicon@3.9.1':
- resolution: {integrity: sha512-4cMGPNc3KZdaEqZbrhfvuwPg4jXT29hIadBjKVbyQZAuJzwzcIiFpr9JvQ8fLHE1elFr5dbQqGsHB/iZRyzhyw==}
+ '@polkadot/react-identicon@3.11.3':
+ resolution: {integrity: sha512-YnIF85RaMqw2CwxGkACwWtLHA3twL7jQi/IY9njjJYg3QkdyTQclZqFAw0IClYduBI1YIdRjFoob6k+kyNKpqQ==}
engines: {node: '>=18'}
peerDependencies:
'@polkadot/keyring': '*'
@@ -1804,199 +1773,134 @@ packages:
react-dom: '*'
react-is: '*'
- '@polkadot/rpc-augment@11.0.2':
- resolution: {integrity: sha512-QcT9U2hINcjynJhHC4AhoHNgZR5JymDkuhAIOVYsNb1BUcDzoud5lvfK+ISfw2kVPAyCdx3kHodFPhdNdPGHUg==}
+ '@polkadot/rpc-augment@14.3.1':
+ resolution: {integrity: sha512-Z8Hp8fFHwFCiTX0bBCDqCZ4U26wLIJl1NRSjJTsAr+SS68pYZBDGCwhKztpKGqndk1W1akRUaxrkGqYdIFmspQ==}
engines: {node: '>=18'}
- '@polkadot/rpc-core@11.0.2':
- resolution: {integrity: sha512-kC+85+WIc/uKColIGzrnRjM47N+AjbujRkTf0n9ldwtAIYJnq+B09R3Qjmk+kXrdW5fes85L/WigqwkohMfNkw==}
+ '@polkadot/rpc-core@14.3.1':
+ resolution: {integrity: sha512-FV2NPhFwFxmX8LqibDcGc6IKTBqmvwr7xwF2OA60Br4cX+AQzMSVpFlfQcETll+0M+LnRhqGKGkP0EQWXaSowA==}
engines: {node: '>=18'}
- '@polkadot/rpc-provider@11.0.2':
- resolution: {integrity: sha512-EHoWs27r+V8NKexawcTkDzSJtYAXmkz8/zge+Ctm0PzdxtP740U9xvbK7uZ0INXeLIPdKKk7n9lGib3fhnXRvQ==}
+ '@polkadot/rpc-provider@14.3.1':
+ resolution: {integrity: sha512-NF/Z/7lzT+jp5LZzC49g+YIjRzXVI0hFag3+B+4zh6E/kKADdF59EHj2Im4LDhRGOnEO9AE4H6/UjNEbZ94JtA==}
engines: {node: '>=18'}
- '@polkadot/rpc-provider@12.4.2':
- resolution: {integrity: sha512-cAhfN937INyxwW1AdjABySdCKhC7QCIONRDHDea1aLpiuxq/w+QwjxauR9fCNGh3lTaAwwnmZ5WfFU2PtkDMGQ==}
+ '@polkadot/types-augment@14.3.1':
+ resolution: {integrity: sha512-SC4M6TBlgCglNz+gRbvfoVRDz0Vyeev6v0HeAdw0H6ayEW4BXUdo5bFr0092bdS5uTrEPgiSyUry5TJs2KoXig==}
engines: {node: '>=18'}
- '@polkadot/types-augment@11.0.2':
- resolution: {integrity: sha512-36C1LNWrd/IJu4y4xJFsklw7qmyBMnH16WLkIoma7W7tCkPyuvKpl9btTcNpY9UE0FLb3AEhO0shrz3KUANk/g==}
+ '@polkadot/types-codec@14.3.1':
+ resolution: {integrity: sha512-3y3RBGd+8ebscGbNUOjqUjnRE7hgicgid5LtofHK3O1EDcJQJnYBDkJ7fOAi96CDgHsg+f2FWWkBWEPgpOQoMQ==}
engines: {node: '>=18'}
- '@polkadot/types-augment@12.4.2':
- resolution: {integrity: sha512-3fDCOy2BEMuAtMYl4crKg76bv/0pDNEuzpAzV4EBUMIlJwypmjy5sg3gUPCMcA+ckX3xb8DhkWU4ceUdS7T2KQ==}
+ '@polkadot/types-create@14.3.1':
+ resolution: {integrity: sha512-F4EBvF3Zvym0xrkAA5Yz01IAVMepMV3w2Dwd0C9IygEAQ5sYLLPHmf72/aXn+Ag+bSyT2wlJHpDc+nEBXNQ3Gw==}
engines: {node: '>=18'}
- '@polkadot/types-codec@11.0.2':
- resolution: {integrity: sha512-OL7jM9JNzmRo+gLNIWllvyv3I4k+2dywKchC9gw/D5OCkFD+B5T3oHUw99zzER0C/r7/vTH9RM3w79yeW0UYKA==}
+ '@polkadot/types-known@14.3.1':
+ resolution: {integrity: sha512-58b3Yc7+sxwNjs8axmrA9OCgnxmEKIq7XCH2VxSgLqTeqbohVtxwUSCW/l8NPrq1nxzj4J2sopu0PPg8/++q4g==}
engines: {node: '>=18'}
- '@polkadot/types-codec@12.4.2':
- resolution: {integrity: sha512-DiPGRFWtVMepD9i05eC3orSbGtpN7un/pXOrXu0oriU+oxLkpvZH68ZsPNtJhKdQy03cAYtvB8elJOFJZYqoqQ==}
+ '@polkadot/types-support@14.3.1':
+ resolution: {integrity: sha512-MfVe4iIOJIfBr+gj8Lu8gwIvhnO6gDbG5LeaKAjY6vS6Oh0y5Ztr8NdMIl8ccSpoyt3LqIXjfApeGzHiLzr6bw==}
engines: {node: '>=18'}
- '@polkadot/types-create@11.0.2':
- resolution: {integrity: sha512-yx5Gef3QkbJjzbEGoyOxv74XslGEK1Uo0IC8qSmwHsqO2+QoAEU7uJ9QpSNxHAcRrjx1W3+MdJAsfXtnwOiOeQ==}
+ '@polkadot/types@14.3.1':
+ resolution: {integrity: sha512-O748XgCLDQYxS5nQ6TJSqW88oC4QNIoNVlWZC2Qq4SmEXuSzaNHQwSVtdyPRJCCc4Oi1DCQvGui4O+EukUl7HA==}
engines: {node: '>=18'}
- '@polkadot/types-create@12.4.2':
- resolution: {integrity: sha512-nOpeAKZLdSqNMfzS3waQXgyPPaNt8rUHEmR5+WNv6c/Ke/vyf710wjxiTewfp0wpBgtdrimlgG4DLX1J9Ms1LA==}
- engines: {node: '>=18'}
-
- '@polkadot/types-known@11.0.2':
- resolution: {integrity: sha512-c89H2y2mMCjuf5X9tTadwHpJtnQvfVxlJLTlrGElfImzWNgRetIjH65Zgy/uh/I9LqTxRlk5y3ZhBMZgL/ybbg==}
- engines: {node: '>=18'}
-
- '@polkadot/types-support@11.0.2':
- resolution: {integrity: sha512-p26QwtEniCyqUX9WoMtEp5LRdrmvvUf8s8Dx6P3W8/lU+hYeKQjeGCudWoudSXIYpsfTliLEowoxmjx4Wn4GIw==}
- engines: {node: '>=18'}
-
- '@polkadot/types-support@12.4.2':
- resolution: {integrity: sha512-bz6JSt23UEZ2eXgN4ust6z5QF9pO5uNH7UzCP+8I/Nm85ZipeBYj2Wu6pLlE3Hw30hWZpuPxMDOKoEhN5bhLgw==}
- engines: {node: '>=18'}
-
- '@polkadot/types@11.0.2':
- resolution: {integrity: sha512-jYORxnbR9cOoLW2KI7OAbHlC8bQr+Anj34CqgtlEikRSZBlmmx1CLD08hZSnSHkVAQgqHB6SLfFIW5VTI2YaqA==}
- engines: {node: '>=18'}
-
- '@polkadot/types@12.4.2':
- resolution: {integrity: sha512-ivYtt7hYcRvo69ULb1BJA9BE1uefijXcaR089Dzosr9+sMzvsB1yslNQReOq+Wzq6h6AQj4qex6qVqjWZE6Z4A==}
- engines: {node: '>=18'}
-
- '@polkadot/ui-settings@3.9.1':
- resolution: {integrity: sha512-G6WYluS3oE9wiK4KLK1Hi+lr0ZII65x7EcmRoqaR5BBKAr2cBnLAOfBiK5gUchntY7cw1ukXRmcCJmNmCFvwzg==}
+ '@polkadot/ui-settings@3.11.3':
+ resolution: {integrity: sha512-VGtv5pGQM9iFWZ9kpU9TD0auDUb01mTp/DACTgG79mo9icK2XK8KUdkMMh70HuhnS5Dnqsgn7nhYuYqVOGAxeQ==}
engines: {node: '>=18'}
peerDependencies:
'@polkadot/networks': '*'
'@polkadot/util': '*'
- '@polkadot/ui-shared@3.9.1':
- resolution: {integrity: sha512-bg7t4NKy2yyuK/0h1ahTJiK2Ooe1b+qNmkPfcY3b96o9lgzPiUPYFLg+pVIS/Cu3lULd0dzZEqi4IPl63tAt+w==}
+ '@polkadot/ui-shared@3.11.3':
+ resolution: {integrity: sha512-oK8HCI9//ymQrRMSunUpHXjWXRHwKynSlQphonqmWL2duFWgTKVqGrEbEmeaW5Ps4dzK3w06GYQDj7fhe7BcRg==}
engines: {node: '>=18'}
peerDependencies:
'@polkadot/util': '*'
'@polkadot/util-crypto': '*'
- '@polkadot/util-crypto@12.6.2':
- resolution: {integrity: sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==}
+ '@polkadot/util-crypto@13.2.3':
+ resolution: {integrity: sha512-5sbggmLbn5eiuVMyPROPlT5roHRqdKHOfSpioNbGvGIZ1qIWVoC1RfsK0NWJOVGDzy6DpQe0KYT/kgcU5Xsrzw==}
engines: {node: '>=18'}
peerDependencies:
- '@polkadot/util': 12.6.2
+ '@polkadot/util': 13.2.3
- '@polkadot/util-crypto@13.0.2':
- resolution: {integrity: sha512-woUsJJ6zd/caL7U+D30a5oM/+WK9iNI00Y8aNUHSj6Zq/KPzK9uqDBaLGWwlgrejoMQkxxiU2X0f2LzP15AtQg==}
+ '@polkadot/util@13.2.3':
+ resolution: {integrity: sha512-pioNnsig3qHXrfOKMe4Yqos8B8N3/EZUpS+WfTpWnn1VjYban/0GrTXeavPlAwggnY27b8fS6rBzQBhnVYDw8g==}
engines: {node: '>=18'}
- peerDependencies:
- '@polkadot/util': 13.0.2
- '@polkadot/util@12.6.2':
- resolution: {integrity: sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==}
- engines: {node: '>=18'}
-
- '@polkadot/util@13.0.2':
- resolution: {integrity: sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==}
- engines: {node: '>=18'}
-
- '@polkadot/wasm-bridge@7.3.2':
- resolution: {integrity: sha512-AJEXChcf/nKXd5Q/YLEV5dXQMle3UNT7jcXYmIffZAo/KI394a+/24PaISyQjoNC0fkzS1Q8T5pnGGHmXiVz2g==}
+ '@polkadot/wasm-bridge@7.4.1':
+ resolution: {integrity: sha512-tdkJaV453tezBxhF39r4oeG0A39sPKGDJmN81LYLf+Fihb7astzwju+u75BRmDrHZjZIv00un3razJEWCxze6g==}
engines: {node: '>=18'}
peerDependencies:
'@polkadot/util': '*'
'@polkadot/x-randomvalues': '*'
- '@polkadot/wasm-crypto-asmjs@7.3.2':
- resolution: {integrity: sha512-QP5eiUqUFur/2UoF2KKKYJcesc71fXhQFLT3D4ZjG28Mfk2ZPI0QNRUfpcxVQmIUpV5USHg4geCBNuCYsMm20Q==}
+ '@polkadot/wasm-crypto-asmjs@7.4.1':
+ resolution: {integrity: sha512-pwU8QXhUW7IberyHJIQr37IhbB6DPkCG5FhozCiNTq4vFBsFPjm9q8aZh7oX1QHQaiAZa2m2/VjIVE+FHGbvHQ==}
engines: {node: '>=18'}
peerDependencies:
'@polkadot/util': '*'
- '@polkadot/wasm-crypto-init@7.3.2':
- resolution: {integrity: sha512-FPq73zGmvZtnuJaFV44brze3Lkrki3b4PebxCy9Fplw8nTmisKo9Xxtfew08r0njyYh+uiJRAxPCXadkC9sc8g==}
+ '@polkadot/wasm-crypto-init@7.4.1':
+ resolution: {integrity: sha512-AVka33+f7MvXEEIGq5U0dhaA2SaXMXnxVCQyhJTaCnJ5bRDj0Xlm3ijwDEQUiaDql7EikbkkRtmlvs95eSUWYQ==}
engines: {node: '>=18'}
peerDependencies:
'@polkadot/util': '*'
'@polkadot/x-randomvalues': '*'
- '@polkadot/wasm-crypto-wasm@7.3.2':
- resolution: {integrity: sha512-15wd0EMv9IXs5Abp1ZKpKKAVyZPhATIAHfKsyoWCEFDLSOA0/K0QGOxzrAlsrdUkiKZOq7uzSIgIDgW8okx2Mw==}
+ '@polkadot/wasm-crypto-wasm@7.4.1':
+ resolution: {integrity: sha512-PE1OAoupFR0ZOV2O8tr7D1FEUAwaggzxtfs3Aa5gr+yxlSOaWUKeqsOYe1KdrcjmZVV3iINEAXxgrbzCmiuONg==}
engines: {node: '>=18'}
peerDependencies:
'@polkadot/util': '*'
- '@polkadot/wasm-crypto@7.3.2':
- resolution: {integrity: sha512-+neIDLSJ6jjVXsjyZ5oLSv16oIpwp+PxFqTUaZdZDoA2EyFRQB8pP7+qLsMNk+WJuhuJ4qXil/7XiOnZYZ+wxw==}
+ '@polkadot/wasm-crypto@7.4.1':
+ resolution: {integrity: sha512-kHN/kF7hYxm1y0WeFLWeWir6oTzvcFmR4N8fJJokR+ajYbdmrafPN+6iLgQVbhZnDdxyv9jWDuRRsDnBx8tPMQ==}
engines: {node: '>=18'}
peerDependencies:
'@polkadot/util': '*'
'@polkadot/x-randomvalues': '*'
- '@polkadot/wasm-util@7.3.2':
- resolution: {integrity: sha512-bmD+Dxo1lTZyZNxbyPE380wd82QsX+43mgCm40boyKrRppXEyQmWT98v/Poc7chLuskYb6X8IQ6lvvK2bGR4Tg==}
+ '@polkadot/wasm-util@7.4.1':
+ resolution: {integrity: sha512-RAcxNFf3zzpkr+LX/ItAsvj+QyM56TomJ0xjUMo4wKkHjwsxkz4dWJtx5knIgQz/OthqSDMR59VNEycQeNuXzA==}
engines: {node: '>=18'}
peerDependencies:
'@polkadot/util': '*'
- '@polkadot/x-bigint@12.6.2':
- resolution: {integrity: sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==}
- engines: {node: '>=18'}
-
- '@polkadot/x-bigint@13.0.2':
- resolution: {integrity: sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==}
- engines: {node: '>=18'}
-
- '@polkadot/x-fetch@12.6.2':
- resolution: {integrity: sha512-8wM/Z9JJPWN1pzSpU7XxTI1ldj/AfC8hKioBlUahZ8gUiJaOF7K9XEFCrCDLis/A1BoOu7Ne6WMx/vsJJIbDWw==}
+ '@polkadot/x-bigint@13.2.3':
+ resolution: {integrity: sha512-VKgEAh0LsxTd/Hg517Tt5ZU4CySjBwMpaojbkjgv3fOdg1cN7t4eFEUxpyj7mlO0cp22SzDh7nmy4TO98qhLQA==}
engines: {node: '>=18'}
- '@polkadot/x-fetch@13.0.2':
- resolution: {integrity: sha512-B/gf9iriUr6za/Ui7zIFBfHz7UBZ68rJEIteWHx1UHRCZPcLqv+hgpev6xIGrkfFljI0/lI7IwtN2qy6HYzFBg==}
+ '@polkadot/x-fetch@13.2.3':
+ resolution: {integrity: sha512-7Nmk+8ieEGzz43nc1rX6nH3rQo6rhGmAaIXJWnXY9gOHY0k1me1bJYbP+xDdh8vcLh8eY3D1sESUwG6QYZW2lg==}
engines: {node: '>=18'}
- '@polkadot/x-global@12.6.2':
- resolution: {integrity: sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==}
+ '@polkadot/x-global@13.2.3':
+ resolution: {integrity: sha512-7MYQIAEwBkRcNrgqac5PbB0kNPlI6ISJEy6/Nb+crj8BFjQ8rf11PF49fq0QsvDeuYM1aNLigrvYZNptQs4lbw==}
engines: {node: '>=18'}
- '@polkadot/x-global@13.0.2':
- resolution: {integrity: sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==}
- engines: {node: '>=18'}
-
- '@polkadot/x-randomvalues@12.6.2':
- resolution: {integrity: sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==}
- engines: {node: '>=18'}
- peerDependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-util': '*'
-
- '@polkadot/x-randomvalues@13.0.2':
- resolution: {integrity: sha512-SGj+L0H/7TWZtSmtkWlixO4DFzXDdluI0UscN2h285os2Ns8PnmBbue+iJ8PVSzpY1BOxd66gvkkpboPz+jXFQ==}
+ '@polkadot/x-randomvalues@13.2.3':
+ resolution: {integrity: sha512-Zf0GTfLmVk+VzPUmcQSpXjjmFzMTjPhXoLuIoE7xIu73T+vQ+TX9j7DvorN6bIRsnZ9l1SyTZsSf/NTjNZKIZg==}
engines: {node: '>=18'}
peerDependencies:
- '@polkadot/util': 13.0.2
+ '@polkadot/util': 13.2.3
'@polkadot/wasm-util': '*'
- '@polkadot/x-textdecoder@12.6.2':
- resolution: {integrity: sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==}
- engines: {node: '>=18'}
-
- '@polkadot/x-textdecoder@13.0.2':
- resolution: {integrity: sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==}
- engines: {node: '>=18'}
-
- '@polkadot/x-textencoder@12.6.2':
- resolution: {integrity: sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==}
+ '@polkadot/x-textdecoder@13.2.3':
+ resolution: {integrity: sha512-i8hRXPtGknmdm3FYv6/94I52VXHJZa5sgYNw1+Hqb4Jqmq4awUjea35CKXd/+aw70Qn8Ngg31l2GoiH494fa+Q==}
engines: {node: '>=18'}
- '@polkadot/x-textencoder@13.0.2':
- resolution: {integrity: sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==}
+ '@polkadot/x-textencoder@13.2.3':
+ resolution: {integrity: sha512-wJI3Bb/dC4zyBXJFm5+ZhyBXWoI5wvP8k8qX0/ZC0PQsgSAqs7LVhiofk4Wd94n0P41W5re58LrGXLyziSAshw==}
engines: {node: '>=18'}
- '@polkadot/x-ws@12.6.2':
- resolution: {integrity: sha512-cGZWo7K5eRRQCRl2LrcyCYsrc3lRbTlixZh3AzgU8uX4wASVGRlNWi/Hf4TtHNe1ExCDmxabJzdIsABIfrr7xw==}
- engines: {node: '>=18'}
-
- '@polkadot/x-ws@13.0.2':
- resolution: {integrity: sha512-nC5e2eY5D5ZR5teQOB7ib+dWLbmNws86cTz3BjKCalSMBBIn6i3V9ElgABpierBmnSJe9D94EyrH1BxdVfDxUg==}
+ '@polkadot/x-ws@13.2.3':
+ resolution: {integrity: sha512-Y6MTAWgcnrnx/LkBx65X3ZyoJH5EFj3tXtflRoKg1+PLHSLuNBV7Wi5mLcE70z4e5c+4hgBbLq+8SqCqzFtSPw==}
engines: {node: '>=18'}
'@react-native-async-storage/async-storage@1.23.1':
@@ -2215,6 +2119,9 @@ packages:
'@scure/base@1.1.6':
resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==}
+ '@scure/base@1.2.1':
+ resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==}
+
'@scure/bip32@1.3.3':
resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==}
@@ -2305,32 +2212,35 @@ packages:
'@substrate/connect-extension-protocol@2.0.0':
resolution: {integrity: sha512-nKu8pDrE3LNCEgJjZe1iGXzaD6OSIDD4Xzz/yo4KO9mQ6LBvf49BVrt4qxBFGL6++NneLiWUZGoh+VSd4PyVIg==}
- '@substrate/connect-known-chains@1.1.4':
- resolution: {integrity: sha512-iT+BdKqvKl/uBLd8BAJysFM1BaMZXRkaXBP2B7V7ob/EyNs5h0EMhTVbO6MJxV/IEOg5OKsyl6FUqQK7pKnqyw==}
+ '@substrate/connect-extension-protocol@2.2.1':
+ resolution: {integrity: sha512-GoafTgm/Jey9E4Xlj4Z5ZBt/H4drH2CNq8VrAro80rtoznrXnFDNVivLQzZN0Xaj2g8YXSn9pC9Oc9IovYZJXw==}
'@substrate/connect-known-chains@1.3.0':
resolution: {integrity: sha512-BHcWdhOsnHtoWuS4LpFpH3MbLAhm1amq4hvl5ctI47KNZcZJcEPAF4zmeaTMuvj+UJ7LEFooy46Mn7zok47MwA==}
- '@substrate/connect@0.8.10':
- resolution: {integrity: sha512-DIyQ13DDlXqVFnLV+S6/JDgiGowVRRrh18kahieJxhgvzcWicw5eLc6jpfQ0moVVLBYkO7rctB5Wreldwpva8w==}
- deprecated: versions below 1.x are no longer maintained
+ '@substrate/connect-known-chains@1.8.0':
+ resolution: {integrity: sha512-sl7WfeDgnZuPvUl5Xw0XIziOTe8rEBJ3uugyDETGnafxEbjYMv5aJL0ilq5djhnQ7l9OuMJCN3Ckved2yINeeQ==}
'@substrate/connect@0.8.11':
resolution: {integrity: sha512-ofLs1PAO9AtDdPbdyTYj217Pe+lBfTLltdHDs3ds8no0BseoLeAGxpz1mHfi7zB4IxI3YyAiLjH6U8cw4pj4Nw==}
deprecated: versions below 1.x are no longer maintained
- '@substrate/light-client-extension-helpers@0.0.6':
- resolution: {integrity: sha512-girltEuxQ1BvkJWmc8JJlk4ZxnlGXc/wkLcNguhY+UoDEMBK0LsdtfzQKIfrIehi4QdeSBlFEFBoI4RqPmsZzA==}
- peerDependencies:
- smoldot: 2.x
+ '@substrate/connect@2.1.0':
+ resolution: {integrity: sha512-k0fQtifLK2Ve+X5I+1IlnCxYRc3XWFQ/vcCiPjd4pgcGNVPbhptLiRb2ONVVoIb3jRDv6jrUNRVUPlWjTL7ffg==}
+
+ '@substrate/discovery@0.2.1':
+ resolution: {integrity: sha512-SRWlBK65Qy6WvHG2V2vjctJaz07Td2HZTw58z59bZOcr+I10q7OxqFKYPIvQwz/VWrWEGdHQ57jt7EwS4T6mDQ==}
'@substrate/light-client-extension-helpers@1.0.0':
resolution: {integrity: sha512-TdKlni1mBBZptOaeVrKnusMg/UBpWUORNDv5fdCaJklP4RJiFOzBCrzC+CyVI5kQzsXBisZ+2pXm+rIjS38kHg==}
peerDependencies:
smoldot: 2.x
- '@substrate/ss58-registry@1.47.0':
- resolution: {integrity: sha512-6kuIJedRcisUJS2pgksEH2jZf3hfSIVzqtFzs/AyjTW3ETbMg5q1Bb7VWa0WYaT6dTrEXp/6UoXM5B9pSIUmcw==}
+ '@substrate/smoldot-discovery@2.0.1':
+ resolution: {integrity: sha512-8IXrZN4X6mOb/VOYF6Sy+MWSICiZQ92475ca/8fU65f54JkbXhslF6CmIUm2pGDHb51/uNZ+ZUkc/zPHwBdI2w==}
+
+ '@substrate/ss58-registry@1.51.0':
+ resolution: {integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==}
'@svgr/babel-plugin-add-jsx-attribute@8.0.0':
resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==}
@@ -2403,8 +2313,11 @@ packages:
'@tanstack/query-core@5.52.0':
resolution: {integrity: sha512-U1DOEgltjUwalN6uWYTewSnA14b+tE7lSylOiASKCAO61ENJeCq9VVD/TXHA6O5u9+6v5+UgGYBSccTKDoyMqw==}
- '@tanstack/react-query@5.52.1':
- resolution: {integrity: sha512-soyn4dNIUZ8US8NaPVXv06gkZFHaZnPfKWPDjRJjFRW3Y7WZ0jx72eT6zhw3VQlkMPysmXye8l35ewPHspKgbQ==}
+ '@tanstack/query-core@5.61.5':
+ resolution: {integrity: sha512-iG5vqurEOEbv+paP6kW3zPENa99kSIrd1THISJMaTwVlJ+N5yjVDNOUwp9McK2DWqWCXM3v13ubBbAyhxT78UQ==}
+
+ '@tanstack/react-query@5.61.5':
+ resolution: {integrity: sha512-rjy8aqPgBBEz/rjJnpnuhi8TVkVTorMUsJlM3lMvrRb5wK6yzfk34Er0fnJ7w/4qyF01SnXsLB/QsTBsLF5PaQ==}
peerDependencies:
react: ^18 || ^19
@@ -2420,8 +2333,8 @@ packages:
'@types/babel__traverse@7.20.5':
resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
- '@types/bn.js@5.1.5':
- resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==}
+ '@types/bn.js@5.1.6':
+ resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==}
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
@@ -3355,10 +3268,6 @@ packages:
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
engines: {node: '>=14'}
- commander@12.1.0:
- resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
- engines: {node: '>=18'}
-
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
@@ -5150,8 +5059,8 @@ packages:
resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==}
engines: {node: '>=12.0.0'}
- nock@13.5.4:
- resolution: {integrity: sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==}
+ nock@13.5.6:
+ resolution: {integrity: sha512-o2zOYiCpzRqSzPj0Zt/dQ/DqZeYoaQ7TUonc/xUPjCGl9WeHpNbxgVvOquXYAaJzI0M9BXV3HTzG0p8IUAbBTQ==}
engines: {node: '>= 10.13'}
node-abort-controller@3.1.1:
@@ -5896,13 +5805,26 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- sails-js@0.1.8:
- resolution: {integrity: sha512-lt1ObG2RZrQrg4J6a0/tyWrU6+GVsMiBwVaQlb5yxkQywJFXLB22YmZJvHs5/n9EGTmM+EXduCC/KUvTXzOFfQ==}
+ sails-js-parser@0.0.1:
+ resolution: {integrity: sha512-N1ab0Hl5xdYufDCGP7pB5Zxyvoqjxh8rH8Df3nQTlgIW7y+SH3kYedW7RLmZnDO6KEI8ArtPtXID+MLiQkRh8g==}
+ peerDependencies:
+ sails-js-types: 0.0.1
+
+ sails-js-types@0.0.1:
+ resolution: {integrity: sha512-pwJVfCtbLFOqcMtBZyb58pE+giww4cAETWr+LBK0euDWuej5SSPiE9s1oOalURkV3cJTJf2PUavZMsWHyKeNLQ==}
+
+ sails-js-util@0.0.1:
+ resolution: {integrity: sha512-Hyc7WaqpKVpFSr0AnQrKVqyHcwh1HlGvrouGLnaVq0xTTMH8/NgWasP3PuAZ0/W0k0kaK77Nt5J1rwZGlWpx2Q==}
+
+ sails-js@0.3.0:
+ resolution: {integrity: sha512-GyxWBguS5GTqqfuLDERiMHPVVgt5cKNKy2HLQYrbXPUwkCRkfQ03sHptIt+uSyBNoYnzXkXqcGXmvW1GyEal+w==}
hasBin: true
peerDependencies:
- '@gear-js/api': ^0.38.1
- '@polkadot/api': ^11.0.1
- '@polkadot/types': ^11.0.1
+ '@gear-js/api': 0.38.3
+ '@polkadot/api': 13.2.1
+ '@polkadot/types': 13.2.1
+ sails-js-types: 0.0.1
+ sails-js-util: 0.0.1
sass@1.77.8:
resolution: {integrity: sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==}
@@ -6032,12 +5954,12 @@ packages:
resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
engines: {node: '>=10'}
- smoldot@2.0.22:
- resolution: {integrity: sha512-B50vRgTY6v3baYH6uCgL15tfaag5tcS2o/P5q1OiXcKGv1axZDfz2dzzMuIkVpyMR2ug11F6EAtQlmYBQd292g==}
-
smoldot@2.0.26:
resolution: {integrity: sha512-F+qYmH4z2s2FK+CxGj8moYcd1ekSIKH8ywkdqlOz88Dat35iB1DIYL11aILN46YSGMzQW/lbJNS307zBSDN5Ig==}
+ smoldot@2.0.34:
+ resolution: {integrity: sha512-mw9tCbGEhEp0koMqLL0jBEixVY1MIN/xI3pE6ZY1TuOPU+LnYy8FloODVyzkvzQPaBYrETXJdRlmA/+k6g3gow==}
+
snake-case@3.0.4:
resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
@@ -6356,6 +6278,9 @@ packages:
tslib@2.7.0:
resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
tty-browserify@0.0.1:
resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==}
@@ -6881,6 +6806,18 @@ packages:
utf-8-validate:
optional: true
+ ws@8.18.0:
+ resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
xmlhttprequest-ssl@2.0.0:
resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==}
engines: {node: '>=0.4.0'}
@@ -8237,29 +8174,31 @@ snapshots:
ethereum-cryptography: 2.1.3
micro-ftch: 0.3.1
- '@gear-js/api@0.38.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))))(rxjs@7.8.1)':
+ '@gear-js/api@0.39.0(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))))(rxjs@7.8.1)':
dependencies:
- '@polkadot/api': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/wasm-crypto': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))
+ '@polkadot/api': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/wasm-crypto': 7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)))
rxjs: 7.8.1
- '@gear-js/react-hooks@0.12.2(@gear-js/api@0.38.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))))(rxjs@7.8.1))(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@tanstack/react-query@5.52.1(react@18.3.1))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sails-js@0.1.8(@gear-js/api@0.38.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))))(rxjs@7.8.1))(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/types@11.0.2))(utf-8-validate@5.0.10)':
+ '@gear-js/react-hooks@0.14.0(@gear-js/api@0.39.0(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))))(rxjs@7.8.1))(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@tanstack/react-query@5.61.5(react@18.3.1))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sails-js-types@0.0.1)(sails-js@0.3.0(@gear-js/api@0.39.0(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))))(rxjs@7.8.1))(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/types@14.3.1)(sails-js-types@0.0.1)(sails-js-util@0.0.1))(utf-8-validate@5.0.10)':
dependencies:
- '@gear-js/api': 0.38.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))))(rxjs@7.8.1)
- '@polkadot/api': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/api-derive': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/extension-inject': 0.51.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/util@12.6.2)(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/util': 12.6.2
- '@substrate/connect': 0.8.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@tanstack/react-query': 5.52.1(react@18.3.1)
+ '@gear-js/api': 0.39.0(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))))(rxjs@7.8.1)
+ '@polkadot/api': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/api-derive': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/extension-inject': 0.56.2(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/util@13.2.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/util': 13.2.3
+ '@substrate/connect': 2.1.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@tanstack/react-query': 5.61.5(react@18.3.1)
bignumber.js: 9.1.2
nanoid: 5.0.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- sails-js: 0.1.8(@gear-js/api@0.38.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))))(rxjs@7.8.1))(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/types@11.0.2)
+ sails-js: 0.3.0(@gear-js/api@0.39.0(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))))(rxjs@7.8.1))(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/types@14.3.1)(sails-js-types@0.0.1)(sails-js-util@0.0.1)
+ sails-js-parser: 0.0.1(sails-js-types@0.0.1)
transitivePeerDependencies:
- bufferutil
+ - sails-js-types
- supports-color
- utf-8-validate
@@ -9140,17 +9079,11 @@ snapshots:
tslib: 2.6.2
webcrypto-core: 1.7.9
- '@polkadot-api/json-rpc-provider-proxy@0.0.1': {}
-
'@polkadot-api/json-rpc-provider-proxy@0.1.0':
optional: true
- '@polkadot-api/json-rpc-provider@0.0.1': {}
-
- '@polkadot-api/metadata-builders@0.0.1':
- dependencies:
- '@polkadot-api/substrate-bindings': 0.0.1
- '@polkadot-api/utils': 0.0.1
+ '@polkadot-api/json-rpc-provider@0.0.1':
+ optional: true
'@polkadot-api/metadata-builders@0.3.2':
dependencies:
@@ -9158,14 +9091,6 @@ snapshots:
'@polkadot-api/utils': 0.1.0
optional: true
- '@polkadot-api/observable-client@0.1.0(rxjs@7.8.1)':
- dependencies:
- '@polkadot-api/metadata-builders': 0.0.1
- '@polkadot-api/substrate-bindings': 0.0.1
- '@polkadot-api/substrate-client': 0.0.1
- '@polkadot-api/utils': 0.0.1
- rxjs: 7.8.1
-
'@polkadot-api/observable-client@0.3.2(@polkadot-api/substrate-client@0.1.4)(rxjs@7.8.1)':
dependencies:
'@polkadot-api/metadata-builders': 0.3.2
@@ -9175,13 +9100,6 @@ snapshots:
rxjs: 7.8.1
optional: true
- '@polkadot-api/substrate-bindings@0.0.1':
- dependencies:
- '@noble/hashes': 1.4.0
- '@polkadot-api/utils': 0.0.1
- '@scure/base': 1.1.6
- scale-ts: 1.6.0
-
'@polkadot-api/substrate-bindings@0.6.0':
dependencies:
'@noble/hashes': 1.4.0
@@ -9190,137 +9108,115 @@ snapshots:
scale-ts: 1.6.0
optional: true
- '@polkadot-api/substrate-client@0.0.1': {}
-
'@polkadot-api/substrate-client@0.1.4':
dependencies:
'@polkadot-api/json-rpc-provider': 0.0.1
'@polkadot-api/utils': 0.1.0
optional: true
- '@polkadot-api/utils@0.0.1': {}
-
'@polkadot-api/utils@0.1.0':
optional: true
- '@polkadot/api-augment@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
+ '@polkadot/api-augment@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
dependencies:
- '@polkadot/api-base': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/rpc-augment': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/types': 11.0.2
- '@polkadot/types-augment': 11.0.2
- '@polkadot/types-codec': 11.0.2
- '@polkadot/util': 12.6.2
- tslib: 2.6.2
+ '@polkadot/api-base': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/rpc-augment': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/types': 14.3.1
+ '@polkadot/types-augment': 14.3.1
+ '@polkadot/types-codec': 14.3.1
+ '@polkadot/util': 13.2.3
+ tslib: 2.8.1
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- '@polkadot/api-base@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
+ '@polkadot/api-base@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
dependencies:
- '@polkadot/rpc-core': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/types': 11.0.2
- '@polkadot/util': 12.6.2
+ '@polkadot/rpc-core': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/types': 14.3.1
+ '@polkadot/util': 13.2.3
rxjs: 7.8.1
- tslib: 2.6.2
+ tslib: 2.8.1
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- '@polkadot/api-derive@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
+ '@polkadot/api-derive@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
dependencies:
- '@polkadot/api': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/api-augment': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/api-base': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/rpc-core': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/types': 11.0.2
- '@polkadot/types-codec': 11.0.2
- '@polkadot/util': 12.6.2
- '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2)
+ '@polkadot/api': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/api-augment': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/api-base': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/rpc-core': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/types': 14.3.1
+ '@polkadot/types-codec': 14.3.1
+ '@polkadot/util': 13.2.3
+ '@polkadot/util-crypto': 13.2.3(@polkadot/util@13.2.3)
rxjs: 7.8.1
- tslib: 2.6.2
+ tslib: 2.8.1
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- '@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
- dependencies:
- '@polkadot/api-augment': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/api-base': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/api-derive': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/keyring': 12.6.2(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2)
- '@polkadot/rpc-augment': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/rpc-core': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/rpc-provider': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/types': 11.0.2
- '@polkadot/types-augment': 11.0.2
- '@polkadot/types-codec': 11.0.2
- '@polkadot/types-create': 11.0.2
- '@polkadot/types-known': 11.0.2
- '@polkadot/util': 12.6.2
- '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2)
+ '@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
+ dependencies:
+ '@polkadot/api-augment': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/api-base': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/api-derive': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/keyring': 13.2.3(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3)
+ '@polkadot/rpc-augment': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/rpc-core': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/rpc-provider': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/types': 14.3.1
+ '@polkadot/types-augment': 14.3.1
+ '@polkadot/types-codec': 14.3.1
+ '@polkadot/types-create': 14.3.1
+ '@polkadot/types-known': 14.3.1
+ '@polkadot/util': 13.2.3
+ '@polkadot/util-crypto': 13.2.3(@polkadot/util@13.2.3)
eventemitter3: 5.0.1
rxjs: 7.8.1
- tslib: 2.6.2
+ tslib: 2.8.1
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- '@polkadot/extension-inject@0.51.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/util@12.6.2)(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
+ '@polkadot/extension-inject@0.56.2(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/util@13.2.3)(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
dependencies:
- '@polkadot/api': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/rpc-provider': 12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/types': 12.4.2
- '@polkadot/util': 12.6.2
- '@polkadot/util-crypto': 13.0.2(@polkadot/util@12.6.2)
- '@polkadot/x-global': 13.0.2
- tslib: 2.6.2
+ '@polkadot/api': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/rpc-provider': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/types': 14.3.1
+ '@polkadot/util': 13.2.3
+ '@polkadot/util-crypto': 13.2.3(@polkadot/util@13.2.3)
+ '@polkadot/x-global': 13.2.3
+ tslib: 2.8.1
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- '@polkadot/keyring@12.6.2(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2)':
+ '@polkadot/keyring@13.2.3(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3)':
dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2)
- tslib: 2.6.2
+ '@polkadot/util': 13.2.3
+ '@polkadot/util-crypto': 13.2.3(@polkadot/util@13.2.3)
+ tslib: 2.8.1
- '@polkadot/keyring@13.0.2(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2)':
+ '@polkadot/networks@13.2.3':
dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2)
- tslib: 2.7.0
-
- '@polkadot/keyring@13.0.2(@polkadot/util-crypto@13.0.2(@polkadot/util@13.0.2))(@polkadot/util@13.0.2)':
- dependencies:
- '@polkadot/util': 13.0.2
- '@polkadot/util-crypto': 13.0.2(@polkadot/util@13.0.2)
- tslib: 2.7.0
-
- '@polkadot/networks@12.6.2':
- dependencies:
- '@polkadot/util': 12.6.2
- '@substrate/ss58-registry': 1.47.0
- tslib: 2.6.2
-
- '@polkadot/networks@13.0.2':
- dependencies:
- '@polkadot/util': 13.0.2
- '@substrate/ss58-registry': 1.47.0
- tslib: 2.6.2
+ '@polkadot/util': 13.2.3
+ '@substrate/ss58-registry': 1.51.0
+ tslib: 2.8.1
- '@polkadot/react-identicon@3.9.1(@polkadot/keyring@13.0.2(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2))(@polkadot/networks@13.0.2)(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)':
+ '@polkadot/react-identicon@3.11.3(@polkadot/keyring@13.2.3(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3))(@polkadot/networks@13.2.3)(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)':
dependencies:
- '@polkadot/keyring': 13.0.2(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2)
- '@polkadot/ui-settings': 3.9.1(@polkadot/networks@13.0.2)(@polkadot/util@12.6.2)
- '@polkadot/ui-shared': 3.9.1(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2)
- '@polkadot/util': 12.6.2
- '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2)
+ '@polkadot/keyring': 13.2.3(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3)
+ '@polkadot/ui-settings': 3.11.3(@polkadot/networks@13.2.3)(@polkadot/util@13.2.3)
+ '@polkadot/ui-shared': 3.11.3(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3)
+ '@polkadot/util': 13.2.3
+ '@polkadot/util-crypto': 13.2.3(@polkadot/util@13.2.3)
ethereum-blockies-base64: 1.0.2
jdenticon: 3.2.0
react: 18.3.1
@@ -9328,70 +9224,49 @@ snapshots:
react-dom: 18.3.1(react@18.3.1)
react-is: 18.2.0
styled-components: 6.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- tslib: 2.6.2
+ tslib: 2.8.1
transitivePeerDependencies:
- '@polkadot/networks'
- '@polkadot/rpc-augment@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
+ '@polkadot/rpc-augment@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
dependencies:
- '@polkadot/rpc-core': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/types': 11.0.2
- '@polkadot/types-codec': 11.0.2
- '@polkadot/util': 12.6.2
- tslib: 2.6.2
+ '@polkadot/rpc-core': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/types': 14.3.1
+ '@polkadot/types-codec': 14.3.1
+ '@polkadot/util': 13.2.3
+ tslib: 2.8.1
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- '@polkadot/rpc-core@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
+ '@polkadot/rpc-core@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
dependencies:
- '@polkadot/rpc-augment': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/rpc-provider': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/types': 11.0.2
- '@polkadot/util': 12.6.2
+ '@polkadot/rpc-augment': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/rpc-provider': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/types': 14.3.1
+ '@polkadot/util': 13.2.3
rxjs: 7.8.1
- tslib: 2.6.2
+ tslib: 2.8.1
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- '@polkadot/rpc-provider@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
+ '@polkadot/rpc-provider@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
dependencies:
- '@polkadot/keyring': 12.6.2(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2)
- '@polkadot/types': 11.0.2
- '@polkadot/types-support': 11.0.2
- '@polkadot/util': 12.6.2
- '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2)
- '@polkadot/x-fetch': 12.6.2
- '@polkadot/x-global': 12.6.2
- '@polkadot/x-ws': 12.6.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/keyring': 13.2.3(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3)
+ '@polkadot/types': 14.3.1
+ '@polkadot/types-support': 14.3.1
+ '@polkadot/util': 13.2.3
+ '@polkadot/util-crypto': 13.2.3(@polkadot/util@13.2.3)
+ '@polkadot/x-fetch': 13.2.3
+ '@polkadot/x-global': 13.2.3
+ '@polkadot/x-ws': 13.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)
eventemitter3: 5.0.1
mock-socket: 9.3.1
- nock: 13.5.4
- tslib: 2.6.2
- optionalDependencies:
- '@substrate/connect': 0.8.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
-
- '@polkadot/rpc-provider@12.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
- dependencies:
- '@polkadot/keyring': 13.0.2(@polkadot/util-crypto@13.0.2(@polkadot/util@13.0.2))(@polkadot/util@13.0.2)
- '@polkadot/types': 12.4.2
- '@polkadot/types-support': 12.4.2
- '@polkadot/util': 13.0.2
- '@polkadot/util-crypto': 13.0.2(@polkadot/util@13.0.2)
- '@polkadot/x-fetch': 13.0.2
- '@polkadot/x-global': 13.0.2
- '@polkadot/x-ws': 13.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- eventemitter3: 5.0.1
- mock-socket: 9.3.1
- nock: 13.5.4
- tslib: 2.7.0
+ nock: 13.5.6
+ tslib: 2.8.1
optionalDependencies:
'@substrate/connect': 0.8.11(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
@@ -9399,360 +9274,169 @@ snapshots:
- supports-color
- utf-8-validate
- '@polkadot/types-augment@11.0.2':
- dependencies:
- '@polkadot/types': 11.0.2
- '@polkadot/types-codec': 11.0.2
- '@polkadot/util': 12.6.2
- tslib: 2.6.2
-
- '@polkadot/types-augment@12.4.2':
+ '@polkadot/types-augment@14.3.1':
dependencies:
- '@polkadot/types': 12.4.2
- '@polkadot/types-codec': 12.4.2
- '@polkadot/util': 13.0.2
- tslib: 2.7.0
+ '@polkadot/types': 14.3.1
+ '@polkadot/types-codec': 14.3.1
+ '@polkadot/util': 13.2.3
+ tslib: 2.8.1
- '@polkadot/types-codec@11.0.2':
+ '@polkadot/types-codec@14.3.1':
dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/x-bigint': 12.6.2
- tslib: 2.6.2
+ '@polkadot/util': 13.2.3
+ '@polkadot/x-bigint': 13.2.3
+ tslib: 2.8.1
- '@polkadot/types-codec@12.4.2':
+ '@polkadot/types-create@14.3.1':
dependencies:
- '@polkadot/util': 13.0.2
- '@polkadot/x-bigint': 13.0.2
- tslib: 2.7.0
+ '@polkadot/types-codec': 14.3.1
+ '@polkadot/util': 13.2.3
+ tslib: 2.8.1
- '@polkadot/types-create@11.0.2':
+ '@polkadot/types-known@14.3.1':
dependencies:
- '@polkadot/types-codec': 11.0.2
- '@polkadot/util': 12.6.2
- tslib: 2.6.2
+ '@polkadot/networks': 13.2.3
+ '@polkadot/types': 14.3.1
+ '@polkadot/types-codec': 14.3.1
+ '@polkadot/types-create': 14.3.1
+ '@polkadot/util': 13.2.3
+ tslib: 2.8.1
- '@polkadot/types-create@12.4.2':
+ '@polkadot/types-support@14.3.1':
dependencies:
- '@polkadot/types-codec': 12.4.2
- '@polkadot/util': 13.0.2
- tslib: 2.7.0
-
- '@polkadot/types-known@11.0.2':
- dependencies:
- '@polkadot/networks': 12.6.2
- '@polkadot/types': 11.0.2
- '@polkadot/types-codec': 11.0.2
- '@polkadot/types-create': 11.0.2
- '@polkadot/util': 12.6.2
- tslib: 2.6.2
-
- '@polkadot/types-support@11.0.2':
- dependencies:
- '@polkadot/util': 12.6.2
- tslib: 2.6.2
-
- '@polkadot/types-support@12.4.2':
- dependencies:
- '@polkadot/util': 13.0.2
- tslib: 2.7.0
-
- '@polkadot/types@11.0.2':
- dependencies:
- '@polkadot/keyring': 12.6.2(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2)
- '@polkadot/types-augment': 11.0.2
- '@polkadot/types-codec': 11.0.2
- '@polkadot/types-create': 11.0.2
- '@polkadot/util': 12.6.2
- '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2)
- rxjs: 7.8.1
- tslib: 2.6.2
+ '@polkadot/util': 13.2.3
+ tslib: 2.8.1
- '@polkadot/types@12.4.2':
+ '@polkadot/types@14.3.1':
dependencies:
- '@polkadot/keyring': 13.0.2(@polkadot/util-crypto@13.0.2(@polkadot/util@13.0.2))(@polkadot/util@13.0.2)
- '@polkadot/types-augment': 12.4.2
- '@polkadot/types-codec': 12.4.2
- '@polkadot/types-create': 12.4.2
- '@polkadot/util': 13.0.2
- '@polkadot/util-crypto': 13.0.2(@polkadot/util@13.0.2)
+ '@polkadot/keyring': 13.2.3(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3)
+ '@polkadot/types-augment': 14.3.1
+ '@polkadot/types-codec': 14.3.1
+ '@polkadot/types-create': 14.3.1
+ '@polkadot/util': 13.2.3
+ '@polkadot/util-crypto': 13.2.3(@polkadot/util@13.2.3)
rxjs: 7.8.1
- tslib: 2.7.0
+ tslib: 2.8.1
- '@polkadot/ui-settings@3.9.1(@polkadot/networks@13.0.2)(@polkadot/util@12.6.2)':
+ '@polkadot/ui-settings@3.11.3(@polkadot/networks@13.2.3)(@polkadot/util@13.2.3)':
dependencies:
- '@polkadot/networks': 13.0.2
- '@polkadot/util': 12.6.2
+ '@polkadot/networks': 13.2.3
+ '@polkadot/util': 13.2.3
eventemitter3: 5.0.1
store: 2.0.12
- tslib: 2.6.2
+ tslib: 2.8.1
- '@polkadot/ui-shared@3.9.1(@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2))(@polkadot/util@12.6.2)':
+ '@polkadot/ui-shared@3.11.3(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3)':
dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/util-crypto': 12.6.2(@polkadot/util@12.6.2)
+ '@polkadot/util': 13.2.3
+ '@polkadot/util-crypto': 13.2.3(@polkadot/util@13.2.3)
colord: 2.9.3
- tslib: 2.6.2
-
- '@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2)':
- dependencies:
- '@noble/curves': 1.5.0
- '@noble/hashes': 1.4.0
- '@polkadot/networks': 12.6.2
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-crypto': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/x-bigint': 12.6.2
- '@polkadot/x-randomvalues': 12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))
- '@scure/base': 1.1.6
- tslib: 2.6.2
+ tslib: 2.8.1
- '@polkadot/util-crypto@13.0.2(@polkadot/util@12.6.2)':
+ '@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3)':
dependencies:
'@noble/curves': 1.5.0
'@noble/hashes': 1.4.0
- '@polkadot/networks': 13.0.2
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-crypto': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/x-bigint': 13.0.2
- '@polkadot/x-randomvalues': 13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))
- '@scure/base': 1.1.6
- tslib: 2.6.2
-
- '@polkadot/util-crypto@13.0.2(@polkadot/util@13.0.2)':
- dependencies:
- '@noble/curves': 1.5.0
- '@noble/hashes': 1.4.0
- '@polkadot/networks': 13.0.2
- '@polkadot/util': 13.0.2
- '@polkadot/wasm-crypto': 7.3.2(@polkadot/util@13.0.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2)))
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@13.0.2)
- '@polkadot/x-bigint': 13.0.2
- '@polkadot/x-randomvalues': 13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2))
- '@scure/base': 1.1.6
- tslib: 2.6.2
-
- '@polkadot/util@12.6.2':
- dependencies:
- '@polkadot/x-bigint': 12.6.2
- '@polkadot/x-global': 12.6.2
- '@polkadot/x-textdecoder': 12.6.2
- '@polkadot/x-textencoder': 12.6.2
- '@types/bn.js': 5.1.5
+ '@polkadot/networks': 13.2.3
+ '@polkadot/util': 13.2.3
+ '@polkadot/wasm-crypto': 7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)))
+ '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3)
+ '@polkadot/x-bigint': 13.2.3
+ '@polkadot/x-randomvalues': 13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))
+ '@scure/base': 1.2.1
+ tslib: 2.8.1
+
+ '@polkadot/util@13.2.3':
+ dependencies:
+ '@polkadot/x-bigint': 13.2.3
+ '@polkadot/x-global': 13.2.3
+ '@polkadot/x-textdecoder': 13.2.3
+ '@polkadot/x-textencoder': 13.2.3
+ '@types/bn.js': 5.1.6
bn.js: 5.2.1
- tslib: 2.6.2
+ tslib: 2.8.1
- '@polkadot/util@13.0.2':
+ '@polkadot/wasm-bridge@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)))':
dependencies:
- '@polkadot/x-bigint': 13.0.2
- '@polkadot/x-global': 13.0.2
- '@polkadot/x-textdecoder': 13.0.2
- '@polkadot/x-textencoder': 13.0.2
- '@types/bn.js': 5.1.5
- bn.js: 5.2.1
- tslib: 2.7.0
+ '@polkadot/util': 13.2.3
+ '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3)
+ '@polkadot/x-randomvalues': 13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))
+ tslib: 2.8.1
- '@polkadot/wasm-bridge@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))':
+ '@polkadot/wasm-crypto-asmjs@7.4.1(@polkadot/util@13.2.3)':
dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/x-randomvalues': 12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))
- tslib: 2.6.2
+ '@polkadot/util': 13.2.3
+ tslib: 2.8.1
- '@polkadot/wasm-bridge@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))':
+ '@polkadot/wasm-crypto-init@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)))':
dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/x-randomvalues': 13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))
- tslib: 2.6.2
+ '@polkadot/util': 13.2.3
+ '@polkadot/wasm-bridge': 7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)))
+ '@polkadot/wasm-crypto-asmjs': 7.4.1(@polkadot/util@13.2.3)
+ '@polkadot/wasm-crypto-wasm': 7.4.1(@polkadot/util@13.2.3)
+ '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3)
+ '@polkadot/x-randomvalues': 13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))
+ tslib: 2.8.1
- '@polkadot/wasm-bridge@7.3.2(@polkadot/util@13.0.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2)))':
+ '@polkadot/wasm-crypto-wasm@7.4.1(@polkadot/util@13.2.3)':
dependencies:
- '@polkadot/util': 13.0.2
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@13.0.2)
- '@polkadot/x-randomvalues': 13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2))
- tslib: 2.6.2
+ '@polkadot/util': 13.2.3
+ '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3)
+ tslib: 2.8.1
- '@polkadot/wasm-crypto-asmjs@7.3.2(@polkadot/util@12.6.2)':
+ '@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)))':
dependencies:
- '@polkadot/util': 12.6.2
- tslib: 2.6.2
+ '@polkadot/util': 13.2.3
+ '@polkadot/wasm-bridge': 7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)))
+ '@polkadot/wasm-crypto-asmjs': 7.4.1(@polkadot/util@13.2.3)
+ '@polkadot/wasm-crypto-init': 7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)))
+ '@polkadot/wasm-crypto-wasm': 7.4.1(@polkadot/util@13.2.3)
+ '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3)
+ '@polkadot/x-randomvalues': 13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))
+ tslib: 2.8.1
- '@polkadot/wasm-crypto-asmjs@7.3.2(@polkadot/util@13.0.2)':
+ '@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)':
dependencies:
- '@polkadot/util': 13.0.2
- tslib: 2.6.2
-
- '@polkadot/wasm-crypto-init@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))':
- dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-bridge': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))
- '@polkadot/wasm-crypto-asmjs': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/wasm-crypto-wasm': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/x-randomvalues': 12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))
- tslib: 2.6.2
+ '@polkadot/util': 13.2.3
+ tslib: 2.8.1
- '@polkadot/wasm-crypto-init@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))':
+ '@polkadot/x-bigint@13.2.3':
dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-bridge': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))
- '@polkadot/wasm-crypto-asmjs': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/wasm-crypto-wasm': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/x-randomvalues': 13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))
- tslib: 2.6.2
-
- '@polkadot/wasm-crypto-init@7.3.2(@polkadot/util@13.0.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2)))':
- dependencies:
- '@polkadot/util': 13.0.2
- '@polkadot/wasm-bridge': 7.3.2(@polkadot/util@13.0.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2)))
- '@polkadot/wasm-crypto-asmjs': 7.3.2(@polkadot/util@13.0.2)
- '@polkadot/wasm-crypto-wasm': 7.3.2(@polkadot/util@13.0.2)
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@13.0.2)
- '@polkadot/x-randomvalues': 13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2))
- tslib: 2.6.2
+ '@polkadot/x-global': 13.2.3
+ tslib: 2.8.1
- '@polkadot/wasm-crypto-wasm@7.3.2(@polkadot/util@12.6.2)':
+ '@polkadot/x-fetch@13.2.3':
dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2)
- tslib: 2.6.2
-
- '@polkadot/wasm-crypto-wasm@7.3.2(@polkadot/util@13.0.2)':
- dependencies:
- '@polkadot/util': 13.0.2
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@13.0.2)
- tslib: 2.6.2
-
- '@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))':
- dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-bridge': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))
- '@polkadot/wasm-crypto-asmjs': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/wasm-crypto-init': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))
- '@polkadot/wasm-crypto-wasm': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/x-randomvalues': 12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))
- tslib: 2.6.2
-
- '@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))':
- dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-bridge': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))
- '@polkadot/wasm-crypto-asmjs': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/wasm-crypto-init': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))
- '@polkadot/wasm-crypto-wasm': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/x-randomvalues': 13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))
- tslib: 2.6.2
-
- '@polkadot/wasm-crypto@7.3.2(@polkadot/util@13.0.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2)))':
- dependencies:
- '@polkadot/util': 13.0.2
- '@polkadot/wasm-bridge': 7.3.2(@polkadot/util@13.0.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2)))
- '@polkadot/wasm-crypto-asmjs': 7.3.2(@polkadot/util@13.0.2)
- '@polkadot/wasm-crypto-init': 7.3.2(@polkadot/util@13.0.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2)))
- '@polkadot/wasm-crypto-wasm': 7.3.2(@polkadot/util@13.0.2)
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@13.0.2)
- '@polkadot/x-randomvalues': 13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2))
- tslib: 2.6.2
-
- '@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)':
- dependencies:
- '@polkadot/util': 12.6.2
- tslib: 2.6.2
-
- '@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2)':
- dependencies:
- '@polkadot/util': 13.0.2
- tslib: 2.6.2
-
- '@polkadot/x-bigint@12.6.2':
- dependencies:
- '@polkadot/x-global': 12.6.2
- tslib: 2.6.2
-
- '@polkadot/x-bigint@13.0.2':
- dependencies:
- '@polkadot/x-global': 13.0.2
- tslib: 2.6.2
-
- '@polkadot/x-fetch@12.6.2':
- dependencies:
- '@polkadot/x-global': 12.6.2
+ '@polkadot/x-global': 13.2.3
node-fetch: 3.3.2
- tslib: 2.6.2
+ tslib: 2.8.1
- '@polkadot/x-fetch@13.0.2':
+ '@polkadot/x-global@13.2.3':
dependencies:
- '@polkadot/x-global': 13.0.2
- node-fetch: 3.3.2
- tslib: 2.7.0
+ tslib: 2.8.1
- '@polkadot/x-global@12.6.2':
+ '@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))':
dependencies:
- tslib: 2.6.2
+ '@polkadot/util': 13.2.3
+ '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3)
+ '@polkadot/x-global': 13.2.3
+ tslib: 2.8.1
- '@polkadot/x-global@13.0.2':
+ '@polkadot/x-textdecoder@13.2.3':
dependencies:
- tslib: 2.6.2
+ '@polkadot/x-global': 13.2.3
+ tslib: 2.8.1
- '@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))':
+ '@polkadot/x-textencoder@13.2.3':
dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/x-global': 12.6.2
- tslib: 2.6.2
+ '@polkadot/x-global': 13.2.3
+ tslib: 2.8.1
- '@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))':
+ '@polkadot/x-ws@13.2.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
dependencies:
- '@polkadot/util': 12.6.2
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2)
- '@polkadot/x-global': 13.0.2
- tslib: 2.6.2
-
- '@polkadot/x-randomvalues@13.0.2(@polkadot/util@13.0.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@13.0.2))':
- dependencies:
- '@polkadot/util': 13.0.2
- '@polkadot/wasm-util': 7.3.2(@polkadot/util@13.0.2)
- '@polkadot/x-global': 13.0.2
- tslib: 2.6.2
-
- '@polkadot/x-textdecoder@12.6.2':
- dependencies:
- '@polkadot/x-global': 12.6.2
- tslib: 2.6.2
-
- '@polkadot/x-textdecoder@13.0.2':
- dependencies:
- '@polkadot/x-global': 13.0.2
- tslib: 2.7.0
-
- '@polkadot/x-textencoder@12.6.2':
- dependencies:
- '@polkadot/x-global': 12.6.2
- tslib: 2.6.2
-
- '@polkadot/x-textencoder@13.0.2':
- dependencies:
- '@polkadot/x-global': 13.0.2
- tslib: 2.7.0
-
- '@polkadot/x-ws@12.6.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
- dependencies:
- '@polkadot/x-global': 12.6.2
- tslib: 2.6.2
- ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
-
- '@polkadot/x-ws@13.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
- dependencies:
- '@polkadot/x-global': 13.0.2
- tslib: 2.7.0
- ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/x-global': 13.2.3
+ tslib: 2.8.1
+ ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -10130,6 +9814,8 @@ snapshots:
'@scure/base@1.1.6': {}
+ '@scure/base@1.2.1': {}
+
'@scure/bip32@1.3.3':
dependencies:
'@noble/curves': 1.3.0
@@ -10252,22 +9938,15 @@ snapshots:
'@stablelib/random': 1.0.2
'@stablelib/wipe': 1.0.1
- '@substrate/connect-extension-protocol@2.0.0': {}
+ '@substrate/connect-extension-protocol@2.0.0':
+ optional: true
- '@substrate/connect-known-chains@1.1.4': {}
+ '@substrate/connect-extension-protocol@2.2.1': {}
'@substrate/connect-known-chains@1.3.0':
optional: true
- '@substrate/connect@0.8.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
- dependencies:
- '@substrate/connect-extension-protocol': 2.0.0
- '@substrate/connect-known-chains': 1.1.4
- '@substrate/light-client-extension-helpers': 0.0.6(smoldot@2.0.22(bufferutil@4.0.8)(utf-8-validate@5.0.10))
- smoldot: 2.0.22(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
+ '@substrate/connect-known-chains@1.8.0': {}
'@substrate/connect@0.8.11(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
dependencies:
@@ -10280,16 +9959,17 @@ snapshots:
- utf-8-validate
optional: true
- '@substrate/light-client-extension-helpers@0.0.6(smoldot@2.0.22(bufferutil@4.0.8)(utf-8-validate@5.0.10))':
+ '@substrate/connect@2.1.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
dependencies:
- '@polkadot-api/json-rpc-provider': 0.0.1
- '@polkadot-api/json-rpc-provider-proxy': 0.0.1
- '@polkadot-api/observable-client': 0.1.0(rxjs@7.8.1)
- '@polkadot-api/substrate-client': 0.0.1
- '@substrate/connect-extension-protocol': 2.0.0
- '@substrate/connect-known-chains': 1.1.4
- rxjs: 7.8.1
- smoldot: 2.0.22(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@substrate/connect-extension-protocol': 2.2.1
+ '@substrate/connect-known-chains': 1.8.0
+ '@substrate/smoldot-discovery': 2.0.1
+ smoldot: 2.0.34(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ '@substrate/discovery@0.2.1': {}
'@substrate/light-client-extension-helpers@1.0.0(smoldot@2.0.26(bufferutil@4.0.8)(utf-8-validate@5.0.10))':
dependencies:
@@ -10303,7 +9983,11 @@ snapshots:
smoldot: 2.0.26(bufferutil@4.0.8)(utf-8-validate@5.0.10)
optional: true
- '@substrate/ss58-registry@1.47.0': {}
+ '@substrate/smoldot-discovery@2.0.1':
+ dependencies:
+ '@substrate/discovery': 0.2.1
+
+ '@substrate/ss58-registry@1.51.0': {}
'@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.4)':
dependencies:
@@ -10375,11 +10059,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@tanstack/query-core@5.52.0': {}
+ '@tanstack/query-core@5.52.0':
+ optional: true
- '@tanstack/react-query@5.52.1(react@18.3.1)':
+ '@tanstack/query-core@5.61.5': {}
+
+ '@tanstack/react-query@5.61.5(react@18.3.1)':
dependencies:
- '@tanstack/query-core': 5.52.0
+ '@tanstack/query-core': 5.61.5
react: 18.3.1
'@types/babel__core@7.20.5':
@@ -10403,7 +10090,7 @@ snapshots:
dependencies:
'@babel/types': 7.24.0
- '@types/bn.js@5.1.5':
+ '@types/bn.js@5.1.6':
dependencies:
'@types/node': 20.12.7
@@ -11195,7 +10882,7 @@ snapshots:
lit: 3.1.0
qrcode: 1.5.3
- ? '@web3modal/wagmi@5.1.3(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@types/react@18.3.4)(@wagmi/connectors@5.1.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@types/react@18.3.4)(@wagmi/core@2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(@wagmi/core@2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(vue@3.4.3(typescript@5.5.4))(wagmi@2.12.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.52.0)(@tanstack/react-query@5.52.1(react@18.3.1))(@types/react@18.3.4)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))'
+ ? '@web3modal/wagmi@5.1.3(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@types/react@18.3.4)(@wagmi/connectors@5.1.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@types/react@18.3.4)(@wagmi/core@2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))(@wagmi/core@2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(vue@3.4.3(typescript@5.5.4))(wagmi@2.12.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.52.0)(@tanstack/react-query@5.61.5(react@18.3.1))(@types/react@18.3.4)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8))'
: dependencies:
'@wagmi/connectors': 5.1.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@types/react@18.3.4)(@wagmi/core@2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)
'@wagmi/core': 2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))
@@ -11208,7 +10895,7 @@ snapshots:
'@web3modal/siwe': 5.1.3(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@types/react@18.3.4)(react@18.3.1)
'@web3modal/wallet': 5.1.3
viem: 2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)
- wagmi: 2.12.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.52.0)(@tanstack/react-query@5.52.1(react@18.3.1))(@types/react@18.3.4)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)
+ wagmi: 2.12.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.52.0)(@tanstack/react-query@5.61.5(react@18.3.1))(@types/react@18.3.4)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)
optionalDependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
@@ -11561,7 +11248,7 @@ snapshots:
ast-types@0.15.2:
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
astral-regex@1.0.0: {}
@@ -11571,7 +11258,7 @@ snapshots:
async-mutex@0.2.6:
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
atomic-sleep@1.0.0: {}
@@ -12006,8 +11693,6 @@ snapshots:
commander@10.0.1: {}
- commander@12.1.0: {}
-
commander@2.20.3: {}
commander@8.3.0: {}
@@ -14165,7 +13850,7 @@ snapshots:
nocache@3.0.4: {}
- nock@13.5.4:
+ nock@13.5.6:
dependencies:
debug: 4.3.4
json-stringify-safe: 5.0.1
@@ -14554,7 +14239,7 @@ snapshots:
postcss@8.4.31:
dependencies:
nanoid: 3.3.7
- picocolors: 1.0.0
+ picocolors: 1.0.1
source-map-js: 1.2.0
postcss@8.4.41:
@@ -14838,7 +14523,7 @@ snapshots:
ast-types: 0.15.2
esprima: 4.0.1
source-map: 0.6.1
- tslib: 2.7.0
+ tslib: 2.8.1
rechoir@0.8.0:
dependencies:
@@ -15016,12 +14701,21 @@ snapshots:
safer-buffer@2.1.2: {}
- sails-js@0.1.8(@gear-js/api@0.38.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))))(rxjs@7.8.1))(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/types@11.0.2):
+ sails-js-parser@0.0.1(sails-js-types@0.0.1):
dependencies:
- '@gear-js/api': 0.38.1(@polkadot/api@11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@13.0.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))))(rxjs@7.8.1)
- '@polkadot/api': 11.0.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
- '@polkadot/types': 11.0.2
- commander: 12.1.0
+ sails-js-types: 0.0.1
+
+ sails-js-types@0.0.1: {}
+
+ sails-js-util@0.0.1: {}
+
+ sails-js@0.3.0(@gear-js/api@0.39.0(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))))(rxjs@7.8.1))(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/types@14.3.1)(sails-js-types@0.0.1)(sails-js-util@0.0.1):
+ dependencies:
+ '@gear-js/api': 0.39.0(@polkadot/api@14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))))(rxjs@7.8.1)
+ '@polkadot/api': 14.3.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ '@polkadot/types': 14.3.1
+ sails-js-types: 0.0.1
+ sails-js-util: 0.0.1
sass@1.77.8:
dependencies:
@@ -15029,7 +14723,8 @@ snapshots:
immutable: 4.3.5
source-map-js: 1.2.0
- scale-ts@1.6.0: {}
+ scale-ts@1.6.0:
+ optional: true
scheduler@0.23.2:
dependencies:
@@ -15176,20 +14871,20 @@ snapshots:
astral-regex: 2.0.0
is-fullwidth-code-point: 3.0.0
- smoldot@2.0.22(bufferutil@4.0.8)(utf-8-validate@5.0.10):
+ smoldot@2.0.26(bufferutil@4.0.8)(utf-8-validate@5.0.10):
dependencies:
ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
+ optional: true
- smoldot@2.0.26(bufferutil@4.0.8)(utf-8-validate@5.0.10):
+ smoldot@2.0.34(bufferutil@4.0.8)(utf-8-validate@5.0.10):
dependencies:
ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- utf-8-validate
- optional: true
snake-case@3.0.4:
dependencies:
@@ -15502,6 +15197,8 @@ snapshots:
tslib@2.7.0: {}
+ tslib@2.8.1: {}
+
tty-browserify@0.0.1: {}
type-check@0.4.0:
@@ -15808,9 +15505,9 @@ snapshots:
typescript: 5.5.4
optional: true
- wagmi@2.12.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.52.0)(@tanstack/react-query@5.52.1(react@18.3.1))(@types/react@18.3.4)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8):
+ wagmi@2.12.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@tanstack/query-core@5.52.0)(@tanstack/react-query@5.61.5(react@18.3.1))(@types/react@18.3.4)(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8):
dependencies:
- '@tanstack/react-query': 5.52.1(react@18.3.1)
+ '@tanstack/react-query': 5.61.5(react@18.3.1)
'@wagmi/connectors': 5.1.7(@react-native-async-storage/async-storage@1.23.1(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10)))(@types/react@18.3.4)(@wagmi/core@2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8)))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)(rollup@4.21.0)(typescript@5.5.4)(utf-8-validate@5.0.10)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))(zod@3.23.8)
'@wagmi/core': 2.13.4(@tanstack/query-core@5.52.0)(@types/react@18.3.4)(react@18.3.1)(typescript@5.5.4)(viem@2.19.6(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8))
react: 18.3.1
@@ -16048,6 +15745,11 @@ snapshots:
bufferutil: 4.0.8
utf-8-validate: 5.0.10
+ ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10):
+ optionalDependencies:
+ bufferutil: 4.0.8
+ utf-8-validate: 5.0.10
+
xmlhttprequest-ssl@2.0.0: {}
xtend@4.0.2: {}
diff --git a/frontend/src/consts/sails/extended_vft.ts b/frontend/src/consts/sails/extended-vft.ts
similarity index 100%
rename from frontend/src/consts/sails/extended_vft.ts
rename to frontend/src/consts/sails/extended-vft.ts
diff --git a/frontend/src/consts/sails/index.ts b/frontend/src/consts/sails/index.ts
index 15cefabd..dc7efab2 100644
--- a/frontend/src/consts/sails/index.ts
+++ b/frontend/src/consts/sails/index.ts
@@ -1,5 +1,5 @@
import { Program as BridgingPaymentProgram } from './bridging-payment';
-import { Program as VftProgram } from './extended_vft';
+import { Program as VftProgram } from './extended-vft';
import { Program as VftManagerProgram } from './vft-manager';
export { BridgingPaymentProgram, VftManagerProgram, VftProgram };
diff --git a/frontend/src/features/swap/components/swap-form/swap-form.tsx b/frontend/src/features/swap/components/swap-form/swap-form.tsx
index 4bc31b84..5ea6a7b3 100644
--- a/frontend/src/features/swap/components/swap-form/swap-form.tsx
+++ b/frontend/src/features/swap/components/swap-form/swap-form.tsx
@@ -4,9 +4,10 @@ import { FormProvider } from 'react-hook-form';
import { Input } from '@/components';
import GasSVG from '../../assets/gas.svg?react';
-import { FIELD_NAME, NETWORK_INDEX } from '../../consts';
+import { FIELD_NAME, NETWORK_INDEX, WRAPPED_VARA_CONTRACT_ADDRESS } from '../../consts';
import { useSwapForm, useBridge } from '../../hooks';
import { UseHandleSubmit, UseAccountBalance, UseFTBalance, UseFee, UseFTAllowance } from '../../types';
+import { getMergedBalance } from '../../utils';
import { Balance } from '../balance';
import { FTAllowanceTip } from '../ft-allowance-tip';
import { Network } from '../network';
@@ -39,14 +40,23 @@ function SwapForm({
const ToNetwork = isVaraNetwork ? Network.Eth : Network.Vara;
const { address, options, symbol, pair, decimals, ...bridge } = useBridge(networkIndex);
+ const isNativeToken = address === WRAPPED_VARA_CONTRACT_ADDRESS;
+
const { fee, ...config } = useFee();
const accountBalance = useAccountBalance();
const ftBalance = useFTBalance(address, decimals);
const allowance = useFTAllowance(address);
- const [{ mutateAsync: onSubmit, ...submit }, approve] = useHandleSubmit(address, fee.value, allowance.data);
+
+ const [{ mutateAsync: onSubmit, ...submit }, approve, mint] = useHandleSubmit(
+ address,
+ fee.value,
+ allowance.data,
+ ftBalance.value,
+ );
const { form, amount, onValueChange, onExpectedValueChange, handleSubmit, setMaxBalance } = useSwapForm(
isVaraNetwork,
+ isNativeToken,
accountBalance,
ftBalance,
decimals,
@@ -55,16 +65,21 @@ function SwapForm({
onSubmit,
);
- const renderFromBalance = () => (
-
- );
+ const renderFromBalance = () => {
+ const balance = isNativeToken ? getMergedBalance(accountBalance, ftBalance, decimals) : ftBalance;
+
+ return (
+
+ );
+ };
const getButtonText = () => {
+ if (mint?.isPending) return 'Minting...';
if (approve.isPending) return 'Approving...';
if (submit.isPending) return 'Swapping...';
diff --git a/frontend/src/features/swap/consts/env.ts b/frontend/src/features/swap/consts/env.ts
index f81a68ac..a0f2bda7 100644
--- a/frontend/src/features/swap/consts/env.ts
+++ b/frontend/src/features/swap/consts/env.ts
@@ -1,6 +1,9 @@
import { HexString } from '@gear-js/api';
+// TODO: read from vft manager once it's state is implemented
+const WRAPPED_VARA_CONTRACT_ADDRESS = import.meta.env.VITE_WRAPPED_VARA_CONTRACT_ADDRESS as HexString;
+
// TODO: can be read from vara bridging payment?
const ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS = import.meta.env.VITE_ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS as HexString;
-export { ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS };
+export { WRAPPED_VARA_CONTRACT_ADDRESS, ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS };
diff --git a/frontend/src/features/swap/consts/form.ts b/frontend/src/features/swap/consts/form.ts
index a8c69e31..83674eac 100644
--- a/frontend/src/features/swap/consts/form.ts
+++ b/frontend/src/features/swap/consts/form.ts
@@ -20,6 +20,7 @@ const ERROR_MESSAGE = {
NO_FT_BALANCE: 'Insufficient token balance',
NO_ACCOUNT_BALANCE: 'Insufficient account balance to pay fee',
INVALID_ADDRESS: 'Invalid address',
+ MIN_AMOUNT: 'Amount is less than fee',
} as const;
const VARA_ADDRESS_SCHEMA = z
diff --git a/frontend/src/features/swap/consts/index.ts b/frontend/src/features/swap/consts/index.ts
index b658996e..1f76ea29 100644
--- a/frontend/src/features/swap/consts/index.ts
+++ b/frontend/src/features/swap/consts/index.ts
@@ -1,7 +1,8 @@
import { BRIDGING_PAYMENT_ABI } from './abi';
-import { ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS } from './env';
+import { WRAPPED_VARA_CONTRACT_ADDRESS, ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS } from './env';
import { EVENT_NAME } from './eth';
import { FIELD_NAME, DEFAULT_VALUES, ADDRESS_SCHEMA, ERROR_MESSAGE } from './form';
+import { WrappedVaraProgram } from './sails';
import { SERVICE_NAME, QUERY_NAME } from './vara';
const NETWORK_INDEX = {
@@ -10,6 +11,7 @@ const NETWORK_INDEX = {
};
export {
+ WRAPPED_VARA_CONTRACT_ADDRESS,
ETH_BRIDGING_PAYMENT_CONTRACT_ADDRESS,
BRIDGING_PAYMENT_ABI,
FIELD_NAME,
@@ -20,4 +22,5 @@ export {
NETWORK_INDEX,
SERVICE_NAME,
QUERY_NAME,
+ WrappedVaraProgram,
};
diff --git a/frontend/src/features/swap/consts/sails/index.ts b/frontend/src/features/swap/consts/sails/index.ts
new file mode 100644
index 00000000..4d888f23
--- /dev/null
+++ b/frontend/src/features/swap/consts/sails/index.ts
@@ -0,0 +1,3 @@
+import { Program as WrappedVaraProgram } from './wrapped-vara';
+
+export { WrappedVaraProgram };
diff --git a/frontend/src/features/swap/consts/sails/wrapped-vara.ts b/frontend/src/features/swap/consts/sails/wrapped-vara.ts
new file mode 100644
index 00000000..ff26e71d
--- /dev/null
+++ b/frontend/src/features/swap/consts/sails/wrapped-vara.ts
@@ -0,0 +1,322 @@
+/* eslint-disable @typescript-eslint/no-floating-promises */
+/* eslint-disable @typescript-eslint/no-explicit-any */
+import { GearApi, decodeAddress } from '@gear-js/api';
+import { TypeRegistry } from '@polkadot/types';
+import { TransactionBuilder, getServiceNamePrefix, getFnNamePrefix, ZERO_ADDRESS, ActorId } from 'sails-js';
+
+export class Program {
+ public readonly registry: TypeRegistry;
+ public readonly tokenizer: Tokenizer;
+ public readonly vft: Vft;
+
+ constructor(public api: GearApi, public programId?: `0x${string}`) {
+ const types: Record = {};
+
+ this.registry = new TypeRegistry();
+ this.registry.setKnownTypes({ types });
+ this.registry.register(types);
+
+ this.tokenizer = new Tokenizer(this);
+ this.vft = new Vft(this);
+ }
+
+ newCtorFromCode(code: Uint8Array | Buffer, name: string, symbol: string, decimals: number): TransactionBuilder {
+ const builder = new TransactionBuilder(
+ this.api,
+ this.registry,
+ 'upload_program',
+ ['New', name, symbol, decimals],
+ '(String, String, String, u8)',
+ 'String',
+ code,
+ );
+
+ this.programId = builder.programId;
+ return builder;
+ }
+
+ newCtorFromCodeId(codeId: `0x${string}`, name: string, symbol: string, decimals: number) {
+ const builder = new TransactionBuilder(
+ this.api,
+ this.registry,
+ 'create_program',
+ ['New', name, symbol, decimals],
+ '(String, String, String, u8)',
+ 'String',
+ codeId,
+ );
+
+ this.programId = builder.programId;
+ return builder;
+ }
+}
+
+export class Tokenizer {
+ constructor(private _program: Program) {}
+
+ public burn(value: number | string | bigint): TransactionBuilder {
+ if (!this._program.programId) throw new Error('Program ID is not set');
+ return new TransactionBuilder(
+ this._program.api,
+ this._program.registry,
+ 'send_message',
+ ['Tokenizer', 'Burn', value],
+ '(String, String, u128)',
+ 'u128',
+ this._program.programId,
+ );
+ }
+
+ public mint(): TransactionBuilder {
+ if (!this._program.programId) throw new Error('Program ID is not set');
+ return new TransactionBuilder(
+ this._program.api,
+ this._program.registry,
+ 'send_message',
+ ['Tokenizer', 'Mint'],
+ '(String, String)',
+ 'u128',
+ this._program.programId,
+ );
+ }
+
+ public subscribeToMintedEvent(
+ callback: (data: { to: ActorId; value: number | string | bigint }) => void | Promise,
+ ): Promise<() => void> {
+ return this._program.api.gearEvents.subscribeToGearEvent('UserMessageSent', ({ data: { message } }) => {
+ if (!message.source.eq(this._program.programId) || !message.destination.eq(ZERO_ADDRESS)) {
+ return;
+ }
+
+ const payload = message.payload.toHex();
+ if (getServiceNamePrefix(payload) === 'Tokenizer' && getFnNamePrefix(payload) === 'Minted') {
+ callback(
+ this._program.registry
+ .createType('(String, String, {"to":"[u8;32]","value":"u128"})', message.payload)[2]
+ .toJSON() as unknown as { to: ActorId; value: number | string | bigint },
+ );
+ }
+ });
+ }
+
+ public subscribeToBurnedEvent(
+ callback: (data: { from: ActorId; value: number | string | bigint }) => void | Promise,
+ ): Promise<() => void> {
+ return this._program.api.gearEvents.subscribeToGearEvent('UserMessageSent', ({ data: { message } }) => {
+ if (!message.source.eq(this._program.programId) || !message.destination.eq(ZERO_ADDRESS)) {
+ return;
+ }
+
+ const payload = message.payload.toHex();
+ if (getServiceNamePrefix(payload) === 'Tokenizer' && getFnNamePrefix(payload) === 'Burned') {
+ callback(
+ this._program.registry
+ .createType('(String, String, {"from":"[u8;32]","value":"u128"})', message.payload)[2]
+ .toJSON() as unknown as { from: ActorId; value: number | string | bigint },
+ );
+ }
+ });
+ }
+}
+
+export class Vft {
+ constructor(private _program: Program) {}
+
+ public approve(spender: ActorId, value: number | string | bigint): TransactionBuilder {
+ if (!this._program.programId) throw new Error('Program ID is not set');
+ return new TransactionBuilder(
+ this._program.api,
+ this._program.registry,
+ 'send_message',
+ ['Vft', 'Approve', spender, value],
+ '(String, String, [u8;32], U256)',
+ 'bool',
+ this._program.programId,
+ );
+ }
+
+ public transfer(to: ActorId, value: number | string | bigint): TransactionBuilder {
+ if (!this._program.programId) throw new Error('Program ID is not set');
+ return new TransactionBuilder(
+ this._program.api,
+ this._program.registry,
+ 'send_message',
+ ['Vft', 'Transfer', to, value],
+ '(String, String, [u8;32], U256)',
+ 'bool',
+ this._program.programId,
+ );
+ }
+
+ public transferFrom(from: ActorId, to: ActorId, value: number | string | bigint): TransactionBuilder {
+ if (!this._program.programId) throw new Error('Program ID is not set');
+ return new TransactionBuilder(
+ this._program.api,
+ this._program.registry,
+ 'send_message',
+ ['Vft', 'TransferFrom', from, to, value],
+ '(String, String, [u8;32], [u8;32], U256)',
+ 'bool',
+ this._program.programId,
+ );
+ }
+
+ public async allowance(
+ owner: ActorId,
+ spender: ActorId,
+ originAddress?: string,
+ value?: number | string | bigint,
+ atBlock?: `0x${string}`,
+ ): Promise {
+ const payload = this._program.registry
+ .createType('(String, String, [u8;32], [u8;32])', ['Vft', 'Allowance', owner, spender])
+ .toHex();
+ const reply = await this._program.api.message.calculateReply({
+ destination: this._program.programId!,
+ origin: originAddress ? decodeAddress(originAddress) : ZERO_ADDRESS,
+ payload,
+ value: value || 0,
+ gasLimit: this._program.api.blockGasLimit.toBigInt(),
+ at: atBlock,
+ });
+ if (!reply.code.isSuccess) throw new Error(this._program.registry.createType('String', reply.payload).toString());
+ const result = this._program.registry.createType('(String, String, U256)', reply.payload);
+ return result[2].toBigInt() as unknown as bigint;
+ }
+
+ public async balanceOf(
+ account: ActorId,
+ originAddress?: string,
+ value?: number | string | bigint,
+ atBlock?: `0x${string}`,
+ ): Promise {
+ const payload = this._program.registry
+ .createType('(String, String, [u8;32])', ['Vft', 'BalanceOf', account])
+ .toHex();
+ const reply = await this._program.api.message.calculateReply({
+ destination: this._program.programId!,
+ origin: originAddress ? decodeAddress(originAddress) : ZERO_ADDRESS,
+ payload,
+ value: value || 0,
+ gasLimit: this._program.api.blockGasLimit.toBigInt(),
+ at: atBlock,
+ });
+ if (!reply.code.isSuccess) throw new Error(this._program.registry.createType('String', reply.payload).toString());
+ const result = this._program.registry.createType('(String, String, U256)', reply.payload);
+ return result[2].toBigInt() as unknown as bigint;
+ }
+
+ public async decimals(
+ originAddress?: string,
+ value?: number | string | bigint,
+ atBlock?: `0x${string}`,
+ ): Promise {
+ const payload = this._program.registry.createType('(String, String)', ['Vft', 'Decimals']).toHex();
+ const reply = await this._program.api.message.calculateReply({
+ destination: this._program.programId!,
+ origin: originAddress ? decodeAddress(originAddress) : ZERO_ADDRESS,
+ payload,
+ value: value || 0,
+ gasLimit: this._program.api.blockGasLimit.toBigInt(),
+ at: atBlock,
+ });
+ if (!reply.code.isSuccess) throw new Error(this._program.registry.createType('String', reply.payload).toString());
+ const result = this._program.registry.createType('(String, String, u8)', reply.payload);
+ return result[2].toNumber() as unknown as number;
+ }
+
+ public async name(
+ originAddress?: string,
+ value?: number | string | bigint,
+ atBlock?: `0x${string}`,
+ ): Promise {
+ const payload = this._program.registry.createType('(String, String)', ['Vft', 'Name']).toHex();
+ const reply = await this._program.api.message.calculateReply({
+ destination: this._program.programId!,
+ origin: originAddress ? decodeAddress(originAddress) : ZERO_ADDRESS,
+ payload,
+ value: value || 0,
+ gasLimit: this._program.api.blockGasLimit.toBigInt(),
+ at: atBlock,
+ });
+ if (!reply.code.isSuccess) throw new Error(this._program.registry.createType('String', reply.payload).toString());
+ const result = this._program.registry.createType('(String, String, String)', reply.payload);
+ return result[2].toString() as unknown as string;
+ }
+
+ public async symbol(
+ originAddress?: string,
+ value?: number | string | bigint,
+ atBlock?: `0x${string}`,
+ ): Promise {
+ const payload = this._program.registry.createType('(String, String)', ['Vft', 'Symbol']).toHex();
+ const reply = await this._program.api.message.calculateReply({
+ destination: this._program.programId!,
+ origin: originAddress ? decodeAddress(originAddress) : ZERO_ADDRESS,
+ payload,
+ value: value || 0,
+ gasLimit: this._program.api.blockGasLimit.toBigInt(),
+ at: atBlock,
+ });
+ if (!reply.code.isSuccess) throw new Error(this._program.registry.createType('String', reply.payload).toString());
+ const result = this._program.registry.createType('(String, String, String)', reply.payload);
+ return result[2].toString() as unknown as string;
+ }
+
+ public async totalSupply(
+ originAddress?: string,
+ value?: number | string | bigint,
+ atBlock?: `0x${string}`,
+ ): Promise {
+ const payload = this._program.registry.createType('(String, String)', ['Vft', 'TotalSupply']).toHex();
+ const reply = await this._program.api.message.calculateReply({
+ destination: this._program.programId!,
+ origin: originAddress ? decodeAddress(originAddress) : ZERO_ADDRESS,
+ payload,
+ value: value || 0,
+ gasLimit: this._program.api.blockGasLimit.toBigInt(),
+ at: atBlock,
+ });
+ if (!reply.code.isSuccess) throw new Error(this._program.registry.createType('String', reply.payload).toString());
+ const result = this._program.registry.createType('(String, String, U256)', reply.payload);
+ return result[2].toBigInt() as unknown as bigint;
+ }
+
+ public subscribeToApprovalEvent(
+ callback: (data: { owner: ActorId; spender: ActorId; value: number | string | bigint }) => void | Promise,
+ ): Promise<() => void> {
+ return this._program.api.gearEvents.subscribeToGearEvent('UserMessageSent', ({ data: { message } }) => {
+ if (!message.source.eq(this._program.programId) || !message.destination.eq(ZERO_ADDRESS)) {
+ return;
+ }
+
+ const payload = message.payload.toHex();
+ if (getServiceNamePrefix(payload) === 'Vft' && getFnNamePrefix(payload) === 'Approval') {
+ callback(
+ this._program.registry
+ .createType('(String, String, {"owner":"[u8;32]","spender":"[u8;32]","value":"U256"})', message.payload)[2]
+ .toJSON() as unknown as { owner: ActorId; spender: ActorId; value: number | string | bigint },
+ );
+ }
+ });
+ }
+
+ public subscribeToTransferEvent(
+ callback: (data: { from: ActorId; to: ActorId; value: number | string | bigint }) => void | Promise,
+ ): Promise<() => void> {
+ return this._program.api.gearEvents.subscribeToGearEvent('UserMessageSent', ({ data: { message } }) => {
+ if (!message.source.eq(this._program.programId) || !message.destination.eq(ZERO_ADDRESS)) {
+ return;
+ }
+
+ const payload = message.payload.toHex();
+ if (getServiceNamePrefix(payload) === 'Vft' && getFnNamePrefix(payload) === 'Transfer') {
+ callback(
+ this._program.registry
+ .createType('(String, String, {"from":"[u8;32]","to":"[u8;32]","value":"U256"})', message.payload)[2]
+ .toJSON() as unknown as { from: ActorId; to: ActorId; value: number | string | bigint },
+ );
+ }
+ });
+ }
+}
diff --git a/frontend/src/features/swap/hooks/use-swap-form.ts b/frontend/src/features/swap/hooks/use-swap-form.ts
index a6cb7dd8..e996afb2 100644
--- a/frontend/src/features/swap/hooks/use-swap-form.ts
+++ b/frontend/src/features/swap/hooks/use-swap-form.ts
@@ -2,23 +2,26 @@ import { useAlert } from '@gear-js/react-hooks';
import { zodResolver } from '@hookform/resolvers/zod';
import { useEffect } from 'react';
import { useForm } from 'react-hook-form';
+import { formatUnits, parseUnits } from 'viem';
import { BaseError } from 'wagmi';
import { WriteContractErrorType } from 'wagmi/actions';
import { z } from 'zod';
-import { logger } from '@/utils';
+import { isUndefined, logger } from '@/utils';
import { FIELD_NAME, DEFAULT_VALUES, ADDRESS_SCHEMA } from '../consts';
import { FormattedValues } from '../types';
-import { getAmountSchema } from '../utils';
+import { getAmountSchema, getMergedBalance } from '../utils';
type Values = {
value: bigint | undefined;
formattedValue: string | undefined;
+ isLoading: boolean;
};
function useSwapForm(
isVaraNetwork: boolean,
+ isNativeToken: boolean,
accountBalance: Values,
ftBalance: Values,
decimals: number | undefined,
@@ -28,8 +31,8 @@ function useSwapForm(
) {
const alert = useAlert();
- const valueSchema = getAmountSchema(accountBalance.value, ftBalance.value, fee, decimals);
- const expectedValueSchema = getAmountSchema(accountBalance.value, ftBalance.value, BigInt(0), decimals);
+ const valueSchema = getAmountSchema(isNativeToken, accountBalance.value, ftBalance.value, fee, decimals);
+ const expectedValueSchema = getAmountSchema(isNativeToken, accountBalance.value, ftBalance.value, 0n, decimals);
const addressSchema = isVaraNetwork ? ADDRESS_SCHEMA.ETH : ADDRESS_SCHEMA.VARA;
const schema = z.object({
@@ -50,8 +53,19 @@ function useSwapForm(
const setOriginalValue = (value: string) => setValue(FIELD_NAME.VALUE, value, { shouldValidate });
const setExpectedValue = (value: string) => setValue(FIELD_NAME.EXPECTED_VALUE, value, { shouldValidate });
- const onValueChange = (value: string) => setExpectedValue(value);
- const onExpectedValueChange = (value: string) => setOriginalValue(value);
+ const getValueWithFee = (value: string, operator: '+' | '-' = '+') => {
+ if (isUndefined(fee)) throw new Error('Fee is not defined');
+ if (isUndefined(decimals)) throw new Error('Decimals is not defined');
+ if (!value) return value;
+
+ const chainValue = parseUnits(value, decimals);
+ const valueWithFee = operator === '+' ? chainValue + fee : chainValue - fee;
+
+ return valueWithFee < 0 ? '0' : formatUnits(valueWithFee, decimals);
+ };
+
+ const onValueChange = (value: string) => setExpectedValue(isNativeToken ? getValueWithFee(value, '-') : value);
+ const onExpectedValueChange = (value: string) => setOriginalValue(isNativeToken ? getValueWithFee(value) : value);
const handleSubmit = form.handleSubmit((values) => {
const onSuccess = () => {
@@ -75,10 +89,11 @@ function useSwapForm(
}, [disabled]);
const setMaxBalance = () => {
- if (!ftBalance.formattedValue) throw new Error('Balance is not defined');
+ const balance = isNativeToken ? getMergedBalance(accountBalance, ftBalance, decimals) : ftBalance;
+ if (!balance.formattedValue) throw new Error('Balance is not defined');
- setOriginalValue(ftBalance.formattedValue);
- onValueChange(ftBalance.formattedValue);
+ setOriginalValue(balance.formattedValue);
+ onValueChange(balance.formattedValue);
};
return {
diff --git a/frontend/src/features/swap/hooks/vara/use-handle-vara-submit.ts b/frontend/src/features/swap/hooks/vara/use-handle-vara-submit.ts
index 2df92cb0..3b727cd3 100644
--- a/frontend/src/features/swap/hooks/vara/use-handle-vara-submit.ts
+++ b/frontend/src/features/swap/hooks/vara/use-handle-vara-submit.ts
@@ -5,23 +5,24 @@ import { useMutation } from '@tanstack/react-query';
import { BRIDGING_PAYMENT_CONTRACT_ADDRESS, BridgingPaymentProgram, VftProgram } from '@/consts';
import { isUndefined } from '@/utils';
+import { WrappedVaraProgram, WRAPPED_VARA_CONTRACT_ADDRESS } from '../../consts';
import { FUNCTION_NAME, SERVICE_NAME } from '../../consts/vara';
import { FormattedValues } from '../../types';
-function useSendBridgingPaymentRequest() {
+function useMint() {
const { data: program } = useProgram({
- library: BridgingPaymentProgram,
- id: BRIDGING_PAYMENT_CONTRACT_ADDRESS,
+ library: WrappedVaraProgram,
+ id: WRAPPED_VARA_CONTRACT_ADDRESS,
});
return useSendProgramTransaction({
program,
- serviceName: SERVICE_NAME.BRIDGING_PAYMENT,
- functionName: 'makeRequest',
+ serviceName: 'tokenizer',
+ functionName: 'mint',
});
}
-function useSendVftApprove(ftAddress: HexString | undefined) {
+function useApprove(ftAddress: HexString | undefined) {
const { data: program } = useProgram({
library: VftProgram,
id: ftAddress,
@@ -34,13 +35,28 @@ function useSendVftApprove(ftAddress: HexString | undefined) {
});
}
+function useRequestBridging() {
+ const { data: program } = useProgram({
+ library: BridgingPaymentProgram,
+ id: BRIDGING_PAYMENT_CONTRACT_ADDRESS,
+ });
+
+ return useSendProgramTransaction({
+ program,
+ serviceName: SERVICE_NAME.BRIDGING_PAYMENT,
+ functionName: 'makeRequest',
+ });
+}
+
function useHandleVaraSubmit(
ftAddress: HexString | undefined,
feeValue: bigint | undefined,
allowance: bigint | undefined,
+ ftBalance: bigint | undefined,
) {
- const bridgingPaymentRequest = useSendBridgingPaymentRequest();
- const vftApprove = useSendVftApprove(ftAddress);
+ const mint = useMint();
+ const vftApprove = useApprove(ftAddress);
+ const bridgingPaymentRequest = useRequestBridging();
const sendBridgingPaymentRequest = (amount: bigint, accountAddress: HexString) => {
if (!ftAddress) throw new Error('Fungible token address is not found');
@@ -52,19 +68,24 @@ function useHandleVaraSubmit(
});
};
- const onSubmit = async ({ amount, accountAddress }: FormattedValues) => {
+ const onSubmit = async ({ expectedAmount, accountAddress }: FormattedValues) => {
+ if (!ftAddress) throw new Error('Fungible token address is not found');
if (isUndefined(feeValue)) throw new Error('Fee is not found');
if (isUndefined(allowance)) throw new Error('Allowance is not found');
+ if (isUndefined(ftBalance)) throw new Error('FT balance is not found');
+
+ if (ftAddress === WRAPPED_VARA_CONTRACT_ADDRESS && expectedAmount > ftBalance)
+ await mint.sendTransactionAsync({ args: [], value: expectedAmount - ftBalance });
- if (amount > allowance)
- await vftApprove.sendTransactionAsync({ args: [BRIDGING_PAYMENT_CONTRACT_ADDRESS, amount] });
+ if (expectedAmount > allowance)
+ await vftApprove.sendTransactionAsync({ args: [BRIDGING_PAYMENT_CONTRACT_ADDRESS, expectedAmount] });
- return sendBridgingPaymentRequest(amount, accountAddress);
+ return sendBridgingPaymentRequest(expectedAmount, accountAddress);
};
const submit = useMutation({ mutationFn: onSubmit });
- return [submit, vftApprove] as const;
+ return [submit, vftApprove, mint] as const;
}
export { useHandleVaraSubmit };
diff --git a/frontend/src/features/swap/hooks/vara/use-vara-account-balance.ts b/frontend/src/features/swap/hooks/vara/use-vara-account-balance.ts
index aceec1f2..a37ef41b 100644
--- a/frontend/src/features/swap/hooks/vara/use-vara-account-balance.ts
+++ b/frontend/src/features/swap/hooks/vara/use-vara-account-balance.ts
@@ -5,9 +5,9 @@ function useVaraAccountBalance() {
const { account, isAccountReady } = useAccount();
const { getFormattedBalance } = useBalanceFormat();
- const data = useDeriveBalancesAll(account?.address);
- const { freeBalance } = data || {};
- const value = freeBalance?.toBigInt();
+ const { data } = useDeriveBalancesAll({ address: account?.address, watch: true });
+ const { transferable, availableBalance } = data || {};
+ const value = (transferable || availableBalance)?.toBigInt();
const formattedValue = value !== undefined ? getFormattedBalance(value).value : undefined;
// cuz swap vara form is rendered by default without login and we have to handle empty balance state
diff --git a/frontend/src/features/swap/hooks/vara/use-vara-fee.ts b/frontend/src/features/swap/hooks/vara/use-vara-fee.ts
index 24783590..2b9b84cf 100644
--- a/frontend/src/features/swap/hooks/vara/use-vara-fee.ts
+++ b/frontend/src/features/swap/hooks/vara/use-vara-fee.ts
@@ -6,7 +6,7 @@ import { isUndefined } from '@/utils';
import { QUERY_NAME, SERVICE_NAME } from '../../consts';
function useVaraFee() {
- const { getFormattedBalance } = useBalanceFormat();
+ const { getFormattedBalanceValue } = useBalanceFormat();
const { data: program } = useProgram({
library: BridgingPaymentProgram,
@@ -22,7 +22,7 @@ function useVaraFee() {
const fee = {
value: !isUndefined(config?.fee) ? BigInt(config.fee) : undefined,
- formattedValue: !isUndefined(config?.fee) ? getFormattedBalance(config.fee).value : undefined,
+ formattedValue: !isUndefined(config?.fee) ? getFormattedBalanceValue(config.fee.toString()).toFixed() : undefined,
};
const isLoading = isPending;
diff --git a/frontend/src/features/swap/types/hooks.ts b/frontend/src/features/swap/types/hooks.ts
index 813353c0..419a20d9 100644
--- a/frontend/src/features/swap/types/hooks.ts
+++ b/frontend/src/features/swap/types/hooks.ts
@@ -27,16 +27,15 @@ type UseHandleSubmit = (
ftAddress: HexString | undefined,
feeValue: bigint | undefined,
allowance: bigint | undefined,
+ ftBalance: bigint | undefined,
) => Readonly<
[
{
mutateAsync: (values: FormattedValues) => Promise;
isPending: boolean;
},
- {
- isPending: boolean;
- isLoading?: boolean;
- },
+ { isPending: boolean; isLoading?: boolean },
+ { isPending: boolean }?,
]
>;
diff --git a/frontend/src/features/swap/utils.ts b/frontend/src/features/swap/utils.ts
index d3228dc1..042b284e 100644
--- a/frontend/src/features/swap/utils.ts
+++ b/frontend/src/features/swap/utils.ts
@@ -1,13 +1,15 @@
import { HexString } from '@gear-js/api';
import { ActorId, H160 } from 'sails-js';
-import { parseUnits } from 'viem';
+import { formatUnits, parseUnits } from 'viem';
import { z } from 'zod';
import { isUndefined } from '@/utils';
import { ERROR_MESSAGE } from './consts';
+import { UseAccountBalance } from './types';
const getAmountSchema = (
+ isNativeToken: boolean,
accountBalanceValue: bigint | undefined,
ftBalanceValue: bigint | undefined,
feeValue: bigint | undefined,
@@ -16,12 +18,28 @@ const getAmountSchema = (
if (isUndefined(accountBalanceValue) || isUndefined(ftBalanceValue) || isUndefined(feeValue) || isUndefined(decimals))
return z.bigint();
- return z
+ const schema = z
.string()
.trim() // TODO: required field check
- .transform((value) => parseUnits(value, decimals)) // if fraction is > decimals, value will be rounded
- .refine((value) => value <= ftBalanceValue, { message: ERROR_MESSAGE.NO_FT_BALANCE })
- .refine(() => feeValue <= accountBalanceValue, { message: ERROR_MESSAGE.NO_ACCOUNT_BALANCE });
+ .transform((value) => parseUnits(value, decimals)); // if fraction is > decimals, value will be rounded
+
+ if (!isNativeToken)
+ return schema
+ .refine((value) => value <= ftBalanceValue, { message: ERROR_MESSAGE.NO_FT_BALANCE })
+ .refine(() => feeValue <= accountBalanceValue, { message: ERROR_MESSAGE.NO_ACCOUNT_BALANCE });
+
+ return schema
+ .refine((value) => value >= feeValue, { message: ERROR_MESSAGE.MIN_AMOUNT })
+ .refine(
+ (value) => {
+ const expectedValue = value - feeValue;
+ const isMintRequired = expectedValue > ftBalanceValue;
+ const valueToMint = isMintRequired ? expectedValue - ftBalanceValue : BigInt(0);
+
+ return valueToMint + feeValue <= accountBalanceValue;
+ },
+ { message: ERROR_MESSAGE.NO_ACCOUNT_BALANCE },
+ );
};
const getOptions = (
@@ -49,4 +67,26 @@ const getOptions = (
return { varaOptions, ethOptions };
};
-export { getAmountSchema, getOptions };
+const getMergedBalance = (
+ accountBalance: ReturnType,
+ ftBalance: ReturnType,
+ decimals: number | undefined,
+) => {
+ const isLoading = accountBalance.isLoading || ftBalance.isLoading;
+
+ if (
+ isUndefined(accountBalance.value) ||
+ isUndefined(ftBalance.value) ||
+ isUndefined(decimals) ||
+ !accountBalance.formattedValue ||
+ !ftBalance.formattedValue
+ )
+ return { value: undefined, formattedValue: undefined, isLoading };
+
+ const value = accountBalance.value + ftBalance.value;
+ const formattedValue = formatUnits(value, decimals);
+
+ return { value, formattedValue, isLoading };
+};
+
+export { getAmountSchema, getOptions, getMergedBalance };
diff --git a/frontend/src/features/wallet/components/index.ts b/frontend/src/features/wallet/components/index.ts
index abedb1d1..779c7777 100644
--- a/frontend/src/features/wallet/components/index.ts
+++ b/frontend/src/features/wallet/components/index.ts
@@ -1,5 +1,4 @@
import { NetworkWalletField } from './network-wallet-field';
import { SwapNetworkButton } from './swap-network-button';
-import { Wallet } from './wallet';
-export { Wallet, NetworkWalletField, SwapNetworkButton };
+export { NetworkWalletField, SwapNetworkButton };
diff --git a/frontend/src/features/wallet/components/wallet/index.ts b/frontend/src/features/wallet/components/wallet/index.ts
deleted file mode 100644
index c7f5f475..00000000
--- a/frontend/src/features/wallet/components/wallet/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { Wallet } from './wallet';
-
-export { Wallet };
diff --git a/frontend/src/features/wallet/components/wallet/wallet.module.scss b/frontend/src/features/wallet/components/wallet/wallet.module.scss
deleted file mode 100644
index 534f97b5..00000000
--- a/frontend/src/features/wallet/components/wallet/wallet.module.scss
+++ /dev/null
@@ -1,30 +0,0 @@
-.wallet {
- display: flex;
- align-items: center;
- gap: 24px;
-}
-
-.balance {
- display: flex;
- align-items: center;
- gap: 10px;
-
- .text {
- display: flex;
- align-items: flex-end;
- gap: 4px;
- }
-
- .value {
- font-size: 16px;
- font-weight: 600;
- line-height: 100%;
- }
-
- .unit {
- font-size: 12px;
- font-weight: 300;
- color: rgba(0, 0, 0, 0.7);
- line-height: 100%;
- }
-}
diff --git a/frontend/src/features/wallet/components/wallet/wallet.tsx b/frontend/src/features/wallet/components/wallet/wallet.tsx
deleted file mode 100644
index 93075f9d..00000000
--- a/frontend/src/features/wallet/components/wallet/wallet.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import { useAccount, useAccountDeriveBalancesAll, useApi, useBalanceFormat } from '@gear-js/react-hooks';
-import { Button } from '@gear-js/vara-ui';
-
-import VaraSVG from '@/assets/vara.svg?react';
-import { useModal } from '@/hooks';
-
-import { AccountButton } from '../account-button';
-import { WalletModal } from '../wallet-modal';
-
-import styles from './wallet.module.scss';
-
-function Wallet() {
- const { isApiReady } = useApi();
- const { account, isAccountReady } = useAccount();
- const balances = useAccountDeriveBalancesAll();
- const [isModalOpen, openModal, closeModal] = useModal();
-
- const { getFormattedBalance } = useBalanceFormat();
- const balance = isApiReady && balances ? getFormattedBalance(balances.freeBalance) : null;
-
- return isAccountReady ? (
- <>
- {account ? (
-
- {balances && (
-
-
-
- {balance && (
-
- {balance.value}
- {balance.unit}
-
- )}
-
- )}
-
-
-
- ) : (
-
- )}
-
- {isModalOpen && }
- >
- ) : null;
-}
-
-export { Wallet };
diff --git a/frontend/src/features/wallet/index.ts b/frontend/src/features/wallet/index.ts
index 734ca6f5..827c5aea 100644
--- a/frontend/src/features/wallet/index.ts
+++ b/frontend/src/features/wallet/index.ts
@@ -1,3 +1,3 @@
-import { Wallet, NetworkWalletField, SwapNetworkButton } from './components';
+import { NetworkWalletField, SwapNetworkButton } from './components';
-export { Wallet, NetworkWalletField, SwapNetworkButton };
+export { NetworkWalletField, SwapNetworkButton };
diff --git a/indexer/.dockerignore b/indexer/.dockerignore
new file mode 100644
index 00000000..4a9627bc
--- /dev/null
+++ b/indexer/.dockerignore
@@ -0,0 +1,8 @@
+/.git
+/node_modules
+/lib
+/*Versions.json
+npm-debug.log
+
+# OS Files
+.DS_Store
diff --git a/indexer/.squidignore b/indexer/.squidignore
new file mode 100644
index 00000000..726f78c5
--- /dev/null
+++ b/indexer/.squidignore
@@ -0,0 +1,7 @@
+node_modules
+builds
+lib
+Dockerfile
+.git
+.github
+.idea
diff --git a/indexer/Dockerfile b/indexer/Dockerfile
new file mode 100644
index 00000000..1f14d452
--- /dev/null
+++ b/indexer/Dockerfile
@@ -0,0 +1,46 @@
+FROM node:20-alpine AS node
+
+FROM node AS api
+WORKDIR /assets
+COPY api/gear/vft_manager.idl .
+COPY api/gear/erc20_relay.idl .
+COPY api/ethereum/IERC20Manager.json .
+COPY api/ethereum/IMessageQueue.json .
+COPY indexer/scripts/abi.js .
+RUN node abi.js IERC20Manager.json .
+RUN node abi.js IMessageQueue.json .
+
+FROM node AS node-with-gyp
+RUN apk add g++ make python3
+FROM node-with-gyp AS builder
+WORKDIR /squid
+COPY indexer/package.json .
+COPY indexer/package-lock.json .
+COPY indexer/db db
+COPY indexer/schema.graphql .
+RUN npm i -g @subsquid/cli && npm ci
+COPY indexer/tsconfig.json .
+COPY indexer/src src
+COPY --from=api /assets assets
+RUN npm run build
+RUN ls -ltr
+
+FROM node-with-gyp AS deps
+WORKDIR /squid
+COPY indexer/package.json .
+COPY indexer/package-lock.json .
+RUN npm ci --production
+
+FROM node AS squid
+WORKDIR /squid
+COPY --from=deps /squid/package.json .
+COPY --from=deps /squid/package-lock.json .
+COPY --from=deps /squid/node_modules node_modules
+COPY --from=builder /squid/lib lib
+COPY --from=builder /squid/db db
+COPY --from=builder /squid/schema.graphql schema.graphql
+COPY --from=api /assets assets
+COPY indexer/commands.json .
+RUN echo -e "loglevel=silent\\nupdate-notifier=false" >/squid/.npmrc
+RUN npm i -g @subsquid/commands && mv $(which squid-commands) /usr/local/bin/sqd
+ENV PROCESSOR_PROMETHEUS_PORT=3000
diff --git a/indexer/commands.json b/indexer/commands.json
new file mode 100644
index 00000000..6e405e48
--- /dev/null
+++ b/indexer/commands.json
@@ -0,0 +1,111 @@
+{
+ "$schema": "https://cdn.subsquid.io/schemas/commands.json",
+ "commands": {
+ "clean": {
+ "description": "delete all build artifacts",
+ "cmd": ["npx", "--yes", "rimraf", "lib"]
+ },
+ "build": {
+ "description": "Build the squid project",
+ "deps": ["clean"],
+ "cmd": ["tsc"]
+ },
+ "up": {
+ "description": "Start a PG database",
+ "cmd": ["docker", "compose", "up", "-d"]
+ },
+ "down": {
+ "description": "Drop a PG database",
+ "cmd": ["docker", "compose", "down"]
+ },
+ "migration:apply": {
+ "description": "Apply the DB migrations",
+ "cmd": ["squid-typeorm-migration", "apply"]
+ },
+ "migration:generate": {
+ "description": "Generate a DB migration matching the TypeORM entities",
+ "deps": ["build", "migration:clean"],
+ "cmd": ["squid-typeorm-migration", "generate"]
+ },
+ "migration:clean": {
+ "description": "Clean the migrations folder",
+ "cmd": ["npx", "--yes", "rimraf", "./db/migrations"]
+ },
+ "migration": {
+ "deps": ["build"],
+ "cmd": ["squid-typeorm-migration", "generate"],
+ "hidden": true
+ },
+ "codegen": {
+ "description": "Generate TypeORM entities from the schema file",
+ "cmd": ["squid-typeorm-codegen"]
+ },
+ "typegen": {
+ "description": "Generate data access classes for an ABI file(s) in the ./abi folder",
+ "cmd": [
+ "squid-evm-typegen",
+ "./src/abi",
+ { "glob": "./abi/*.json" },
+ "--multicall"
+ ]
+ },
+ "process:eth": {
+ "description": "Load .env and start the ETH squid processor",
+ "deps": ["build", "migration:apply"],
+ "cmd": ["node", "--require=dotenv/config", "lib/eth/main.js"]
+ },
+ "process:gear": {
+ "description": "Load .env and start the gear squid processor",
+ "deps": ["build", "migration:apply"],
+ "cmd": ["node", "--require=dotenv/config", "lib/gear/main.js"]
+ },
+ "process:prod:eth": {
+ "description": "Start the squid processor",
+ "deps": ["migration:apply"],
+ "cmd": ["node", "lib/eth/main.js"],
+ "hidden": true
+ },
+ "process:prod:gear": {
+ "description": "Start the squid processor",
+ "cmd": ["node", "lib/gear/main.js"],
+ "hidden": true
+ },
+ "serve": {
+ "description": "Start the GraphQL API server",
+ "cmd": ["squid-graphql-server"]
+ },
+ "serve:prod": {
+ "description": "Start the GraphQL API server with caching and limits",
+ "cmd": [
+ "squid-graphql-server",
+ "--dumb-cache",
+ "in-memory",
+ "--dumb-cache-ttl",
+ "1000",
+ "--dumb-cache-size",
+ "100",
+ "--dumb-cache-max-age",
+ "1000"
+ ]
+ },
+ "check-updates": {
+ "cmd": [
+ "npx",
+ "--yes",
+ "npm-check-updates",
+ "--filter=/subsquid/",
+ "--upgrade"
+ ],
+ "hidden": true
+ },
+ "bump": {
+ "description": "Bump @subsquid packages to the latest versions",
+ "deps": ["check-updates"],
+ "cmd": ["npm", "i", "-f"]
+ },
+ "open": {
+ "description": "Open a local browser window",
+ "cmd": ["npx", "--yes", "opener"]
+ }
+ }
+}
diff --git a/indexer/db/migrations/1730394854267-Data.js b/indexer/db/migrations/1730394854267-Data.js
new file mode 100644
index 00000000..65074960
--- /dev/null
+++ b/indexer/db/migrations/1730394854267-Data.js
@@ -0,0 +1,29 @@
+module.exports = class Data1730394854267 {
+ name = 'Data1730394854267'
+
+ async up(db) {
+ await db.query(`CREATE TABLE "transfer" ("id" character varying NOT NULL, "tx_hash" text NOT NULL, "block_number" text NOT NULL, "timestamp" TIMESTAMP WITH TIME ZONE NOT NULL, "nonce" text NOT NULL, "source_network" character varying(8) NOT NULL, "source" text NOT NULL, "dest_network" character varying(8) NOT NULL, "destination" text NOT NULL, "status" character varying(10) NOT NULL, "sender" text NOT NULL, "receiver" text NOT NULL, "amount" numeric NOT NULL, CONSTRAINT "PK_fd9ddbdd49a17afcbe014401295" PRIMARY KEY ("id"))`)
+ await db.query(`CREATE INDEX "IDX_70ff8b624c3118ac3a4862d22c" ON "transfer" ("timestamp") `)
+ await db.query(`CREATE INDEX "IDX_5662ca6334321160c607988dc2" ON "transfer" ("nonce") `)
+ await db.query(`CREATE INDEX "IDX_1aa446c2e82f2abbb358ab5248" ON "transfer" ("source") `)
+ await db.query(`CREATE INDEX "IDX_329c2ee277e5c977d4c5fbb22f" ON "transfer" ("destination") `)
+ await db.query(`CREATE INDEX "IDX_9a4ceb5c3899b95c695eb5b112" ON "transfer" ("sender") `)
+ await db.query(`CREATE INDEX "IDX_e95f070ab35073a24097069e6d" ON "transfer" ("receiver") `)
+ await db.query(`CREATE TABLE "pair" ("id" character varying NOT NULL, "gear_token" text NOT NULL, "eth_token" text NOT NULL, CONSTRAINT "PK_3eaf216329c5c50aedb94fa797e" PRIMARY KEY ("id"))`)
+ await db.query(`CREATE TABLE "completed_transfer" ("id" character varying NOT NULL, "nonce" text NOT NULL, "dest_network" character varying(8) NOT NULL, CONSTRAINT "PK_c966d1eba60d5625faf13b457a4" PRIMARY KEY ("id"))`)
+ await db.query(`CREATE UNIQUE INDEX "IDX_ab14e0c37eabeb5ba0dc3f2f78" ON "completed_transfer" ("nonce") `)
+ }
+
+ async down(db) {
+ await db.query(`DROP TABLE "transfer"`)
+ await db.query(`DROP INDEX "public"."IDX_70ff8b624c3118ac3a4862d22c"`)
+ await db.query(`DROP INDEX "public"."IDX_5662ca6334321160c607988dc2"`)
+ await db.query(`DROP INDEX "public"."IDX_1aa446c2e82f2abbb358ab5248"`)
+ await db.query(`DROP INDEX "public"."IDX_329c2ee277e5c977d4c5fbb22f"`)
+ await db.query(`DROP INDEX "public"."IDX_9a4ceb5c3899b95c695eb5b112"`)
+ await db.query(`DROP INDEX "public"."IDX_e95f070ab35073a24097069e6d"`)
+ await db.query(`DROP TABLE "pair"`)
+ await db.query(`DROP TABLE "completed_transfer"`)
+ await db.query(`DROP INDEX "public"."IDX_ab14e0c37eabeb5ba0dc3f2f78"`)
+ }
+}
diff --git a/indexer/package-lock.json b/indexer/package-lock.json
new file mode 100644
index 00000000..867922c8
--- /dev/null
+++ b/indexer/package-lock.json
@@ -0,0 +1,8722 @@
+{
+ "name": "squid-evm-template",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "squid-evm-template",
+ "dependencies": {
+ "@subsquid/evm-abi": "^0.3.0",
+ "@subsquid/evm-processor": "^1.19.1",
+ "@subsquid/graphql-server": "^4.6.0",
+ "@subsquid/scale-codec": "^4.0.1",
+ "@subsquid/substrate-processor": "^8.5.1",
+ "@subsquid/typeorm-migration": "^1.3.0",
+ "@subsquid/typeorm-store": "^1.5.1",
+ "dotenv": "^16.4.5",
+ "ethers": "^6.13.4",
+ "pg": "^8.12.0",
+ "sails-js": "^0.3.0",
+ "sails-js-parser": "^0.1.0",
+ "typeorm": "^0.3.20"
+ },
+ "devDependencies": {
+ "@subsquid/cli": "^3.0.0",
+ "@subsquid/evm-typegen": "^4.2.0",
+ "@subsquid/typeorm-codegen": "^2.0.1",
+ "@types/node": "^20.14.8",
+ "typescript": "~5.5.2"
+ }
+ },
+ "node_modules/@adraffy/ens-normalize": {
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz",
+ "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==",
+ "license": "MIT"
+ },
+ "node_modules/@apollo/protobufjs": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz",
+ "integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/long": "^4.0.0",
+ "long": "^4.0.0"
+ },
+ "bin": {
+ "apollo-pbjs": "bin/pbjs",
+ "apollo-pbts": "bin/pbts"
+ }
+ },
+ "node_modules/@apollo/usage-reporting-protobuf": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz",
+ "integrity": "sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==",
+ "dependencies": {
+ "@apollo/protobufjs": "1.2.7"
+ }
+ },
+ "node_modules/@apollo/utils.dropunuseddefinitions": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz",
+ "integrity": "sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg==",
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/utils.keyvadapter": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@apollo/utils.keyvadapter/-/utils.keyvadapter-1.1.2.tgz",
+ "integrity": "sha512-vPC5e97uwHuZ2iMHVrEeRsV4dLw0lNx2UY9APhb7StC/RMR3BdnuPwS/+5yR9tUF5IUut+iJZocHkS4y6mR9aA==",
+ "dependencies": {
+ "@apollo/utils.keyvaluecache": "^1.0.1",
+ "dataloader": "^2.1.0",
+ "keyv": "^4.4.0"
+ }
+ },
+ "node_modules/@apollo/utils.keyvaluecache": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz",
+ "integrity": "sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==",
+ "dependencies": {
+ "@apollo/utils.logger": "^1.0.0",
+ "lru-cache": "7.10.1 - 7.13.1"
+ }
+ },
+ "node_modules/@apollo/utils.logger": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz",
+ "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA=="
+ },
+ "node_modules/@apollo/utils.printwithreducedwhitespace": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz",
+ "integrity": "sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q==",
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/utils.removealiases": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz",
+ "integrity": "sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A==",
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/utils.sortast": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz",
+ "integrity": "sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA==",
+ "dependencies": {
+ "lodash.sortby": "^4.7.0"
+ },
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/utils.stripsensitiveliterals": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz",
+ "integrity": "sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w==",
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollo/utils.usagereporting": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.1.tgz",
+ "integrity": "sha512-6dk+0hZlnDbahDBB2mP/PZ5ybrtCJdLMbeNJD+TJpKyZmSY6bA3SjI8Cr2EM9QA+AdziywuWg+SgbWUF3/zQqQ==",
+ "dependencies": {
+ "@apollo/usage-reporting-protobuf": "^4.0.0",
+ "@apollo/utils.dropunuseddefinitions": "^1.1.0",
+ "@apollo/utils.printwithreducedwhitespace": "^1.1.0",
+ "@apollo/utils.removealiases": "1.0.0",
+ "@apollo/utils.sortast": "^1.1.0",
+ "@apollo/utils.stripsensitiveliterals": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "graphql": "14.x || 15.x || 16.x"
+ }
+ },
+ "node_modules/@apollographql/apollo-tools": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz",
+ "integrity": "sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==",
+ "engines": {
+ "node": ">=8",
+ "npm": ">=6"
+ },
+ "peerDependencies": {
+ "graphql": "^14.2.1 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@apollographql/graphql-playground-html": {
+ "version": "1.6.29",
+ "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz",
+ "integrity": "sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==",
+ "dependencies": {
+ "xss": "^1.0.8"
+ }
+ },
+ "node_modules/@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "node_modules/@exodus/schemasafe": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz",
+ "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==",
+ "dev": true
+ },
+ "node_modules/@gear-js/api": {
+ "version": "0.38.3",
+ "resolved": "https://registry.npmjs.org/@gear-js/api/-/api-0.38.3.tgz",
+ "integrity": "sha512-apHV+wBTY8JWvLNB+VUroSCc/nOI5mLrMNFi48EqYrIvPqa264IyzxLE48dP2g6Glry8qV7lGPVWG+BMw4zDxg==",
+ "license": "GPL-3.0",
+ "peer": true,
+ "peerDependencies": {
+ "@polkadot/api": "13.2.1",
+ "@polkadot/wasm-crypto": "7.3.2",
+ "rxjs": "7.8.1"
+ }
+ },
+ "node_modules/@graphql-tools/merge": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.4.tgz",
+ "integrity": "sha512-MivbDLUQ+4Q8G/Hp/9V72hbn810IJDEZQ57F01sHnlrrijyadibfVhaQfW/pNH+9T/l8ySZpaR/DpL5i+ruZ+g==",
+ "dependencies": {
+ "@graphql-tools/utils": "^10.0.13",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/mock": {
+ "version": "8.7.20",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.20.tgz",
+ "integrity": "sha512-ljcHSJWjC/ZyzpXd5cfNhPI7YljRVvabKHPzKjEs5ElxWu2cdlLGvyNYepApXDsM/OJG/2xuhGM+9GWu5gEAPQ==",
+ "dependencies": {
+ "@graphql-tools/schema": "^9.0.18",
+ "@graphql-tools/utils": "^9.2.1",
+ "fast-json-stable-stringify": "^2.1.0",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/mock/node_modules/@graphql-tools/merge": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.2.tgz",
+ "integrity": "sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==",
+ "dependencies": {
+ "@graphql-tools/utils": "^9.2.1",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/mock/node_modules/@graphql-tools/schema": {
+ "version": "9.0.19",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz",
+ "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==",
+ "dependencies": {
+ "@graphql-tools/merge": "^8.4.1",
+ "@graphql-tools/utils": "^9.2.1",
+ "tslib": "^2.4.0",
+ "value-or-promise": "^1.0.12"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/mock/node_modules/@graphql-tools/utils": {
+ "version": "9.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz",
+ "integrity": "sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/schema": {
+ "version": "10.0.4",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.4.tgz",
+ "integrity": "sha512-HuIwqbKxPaJujox25Ra4qwz0uQzlpsaBOzO6CVfzB/MemZdd+Gib8AIvfhQArK0YIN40aDran/yi+E5Xf0mQww==",
+ "dependencies": {
+ "@graphql-tools/merge": "^9.0.3",
+ "@graphql-tools/utils": "^10.2.1",
+ "tslib": "^2.4.0",
+ "value-or-promise": "^1.0.12"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/utils": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.2.2.tgz",
+ "integrity": "sha512-ueoplzHIgFfxhFrF4Mf/niU/tYHuO6Uekm2nCYU72qpI+7Hn9dA2/o5XOBvFXDk27Lp5VSvQY5WfmRbqwVxaYQ==",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "cross-inspect": "1.0.0",
+ "dset": "^3.1.2",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-typed-document-node/core": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz",
+ "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==",
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@hapi/hoek": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
+ "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==",
+ "dev": true
+ },
+ "node_modules/@hapi/topo": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
+ "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
+ "dev": true,
+ "dependencies": {
+ "@hapi/hoek": "^9.0.0"
+ }
+ },
+ "node_modules/@ioredis/commands": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz",
+ "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg=="
+ },
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@josephg/resolvable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@josephg/resolvable/-/resolvable-1.0.1.tgz",
+ "integrity": "sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg=="
+ },
+ "node_modules/@keyv/redis": {
+ "version": "2.5.8",
+ "resolved": "https://registry.npmjs.org/@keyv/redis/-/redis-2.5.8.tgz",
+ "integrity": "sha512-WweuUZqZN2ETcseV6r1AEum1qG6eR5poNhkZ4CIpWBOjMasT2ArTKWyIPxxYllKUS2A8wKv1l8+AqH6Jpzk7Ug==",
+ "dependencies": {
+ "ioredis": "^5.3.2"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/@kwsites/file-exists": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
+ "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1"
+ }
+ },
+ "node_modules/@kwsites/file-exists/node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@kwsites/file-exists/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/@kwsites/promise-deferred": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
+ "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==",
+ "dev": true
+ },
+ "node_modules/@noble/curves": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.6.0.tgz",
+ "integrity": "sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@noble/hashes": "1.5.0"
+ },
+ "engines": {
+ "node": "^14.21.3 || >=16"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/@noble/hashes": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.5.0.tgz",
+ "integrity": "sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": "^14.21.3 || >=16"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@oclif/core": {
+ "version": "3.27.0",
+ "resolved": "https://registry.npmjs.org/@oclif/core/-/core-3.27.0.tgz",
+ "integrity": "sha512-Fg93aNFvXzBq5L7ztVHFP2nYwWU1oTCq48G0TjF/qC1UN36KWa2H5Hsm72kERd5x/sjy2M2Tn4kDEorUlpXOlw==",
+ "dev": true,
+ "dependencies": {
+ "@types/cli-progress": "^3.11.5",
+ "ansi-escapes": "^4.3.2",
+ "ansi-styles": "^4.3.0",
+ "cardinal": "^2.1.1",
+ "chalk": "^4.1.2",
+ "clean-stack": "^3.0.1",
+ "cli-progress": "^3.12.0",
+ "color": "^4.2.3",
+ "debug": "^4.3.5",
+ "ejs": "^3.1.10",
+ "get-package-type": "^0.1.0",
+ "globby": "^11.1.0",
+ "hyperlinker": "^1.0.0",
+ "indent-string": "^4.0.0",
+ "is-wsl": "^2.2.0",
+ "js-yaml": "^3.14.1",
+ "minimatch": "^9.0.4",
+ "natural-orderby": "^2.0.3",
+ "object-treeify": "^1.1.33",
+ "password-prompt": "^1.1.3",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "supports-color": "^8.1.1",
+ "supports-hyperlinks": "^2.2.0",
+ "widest-line": "^3.1.0",
+ "wordwrap": "^1.0.0",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@oclif/core/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@oclif/core/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/@oclif/core/node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@oclif/core/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/@oclif/core/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@oclif/core/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/@oclif/core/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@oclif/core/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@oclif/core/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@oclif/plugin-autocomplete": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-3.2.2.tgz",
+ "integrity": "sha512-z4fjUgOiqlp8UFF41lHSJvKArNMyczq18ccvDnvPv7clByS7iy7s/Bj5DqNfGRmJ7IV3T9rbXwEwR+fUdAHnKw==",
+ "dev": true,
+ "dependencies": {
+ "@oclif/core": "^4",
+ "ansis": "^3.3.1",
+ "debug": "^4.3.6",
+ "ejs": "^3.1.10"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-autocomplete/node_modules/@oclif/core": {
+ "version": "4.0.32",
+ "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.32.tgz",
+ "integrity": "sha512-O3jfIAhqaJxXI2dzF81PLTMhKpFFA0Nyz8kfBnc9WYDJnvdmXK0fVAOSpwpi2mHTow/9FXxY6Kww8+Kbe7/sag==",
+ "dev": true,
+ "dependencies": {
+ "ansi-escapes": "^4.3.2",
+ "ansis": "^3.3.2",
+ "clean-stack": "^3.0.1",
+ "cli-spinners": "^2.9.2",
+ "debug": "^4.3.7",
+ "ejs": "^3.1.10",
+ "get-package-type": "^0.1.0",
+ "globby": "^11.1.0",
+ "indent-string": "^4.0.0",
+ "is-wsl": "^2.2.0",
+ "lilconfig": "^3.1.2",
+ "minimatch": "^9.0.5",
+ "semver": "^7.6.3",
+ "string-width": "^4.2.3",
+ "supports-color": "^8",
+ "widest-line": "^3.1.0",
+ "wordwrap": "^1.0.0",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-autocomplete/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@oclif/plugin-autocomplete/node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@oclif/plugin-autocomplete/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/@oclif/plugin-autocomplete/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/@oclif/plugin-autocomplete/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@oclif/plugin-autocomplete/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@oclif/plugin-autocomplete/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available": {
+ "version": "3.1.21",
+ "resolved": "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-3.1.21.tgz",
+ "integrity": "sha512-yG03rR6Z795lSlkuS+6A9JBSq/VQZ40XspTsKdXa/PUJl52RTeZeOHlaecuv4TddAE6T8VsPdWvry68q5TPE4w==",
+ "dev": true,
+ "dependencies": {
+ "@oclif/core": "^4",
+ "ansis": "^3.3.1",
+ "debug": "^4.3.5",
+ "http-call": "^5.2.2",
+ "lodash": "^4.17.21",
+ "registry-auth-token": "^5.0.2"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available/node_modules/@oclif/core": {
+ "version": "4.0.32",
+ "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.32.tgz",
+ "integrity": "sha512-O3jfIAhqaJxXI2dzF81PLTMhKpFFA0Nyz8kfBnc9WYDJnvdmXK0fVAOSpwpi2mHTow/9FXxY6Kww8+Kbe7/sag==",
+ "dev": true,
+ "dependencies": {
+ "ansi-escapes": "^4.3.2",
+ "ansis": "^3.3.2",
+ "clean-stack": "^3.0.1",
+ "cli-spinners": "^2.9.2",
+ "debug": "^4.3.7",
+ "ejs": "^3.1.10",
+ "get-package-type": "^0.1.0",
+ "globby": "^11.1.0",
+ "indent-string": "^4.0.0",
+ "is-wsl": "^2.2.0",
+ "lilconfig": "^3.1.2",
+ "minimatch": "^9.0.5",
+ "semver": "^7.6.3",
+ "string-width": "^4.2.3",
+ "supports-color": "^8",
+ "widest-line": "^3.1.0",
+ "wordwrap": "^1.0.0",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available/node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@oclif/plugin-warn-if-update-available/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@pnpm/config.env-replace": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz",
+ "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.22.0"
+ }
+ },
+ "node_modules/@pnpm/network.ca-file": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz",
+ "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "4.2.10"
+ },
+ "engines": {
+ "node": ">=12.22.0"
+ }
+ },
+ "node_modules/@pnpm/npm-conf": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz",
+ "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==",
+ "dev": true,
+ "dependencies": {
+ "@pnpm/config.env-replace": "^1.1.0",
+ "@pnpm/network.ca-file": "^1.0.1",
+ "config-chain": "^1.1.11"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@polkadot-api/json-rpc-provider": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.1.tgz",
+ "integrity": "sha512-/SMC/l7foRjpykLTUTacIH05H3mr9ip8b5xxfwXlVezXrNVLp3Cv0GX6uItkKd+ZjzVPf3PFrDF2B2/HLSNESA==",
+ "license": "MIT",
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/@polkadot-api/json-rpc-provider-proxy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.1.0.tgz",
+ "integrity": "sha512-8GSFE5+EF73MCuLQm8tjrbCqlgclcHBSRaswvXziJ0ZW7iw3UEMsKkkKvELayWyBuOPa2T5i1nj6gFOeIsqvrg==",
+ "license": "MIT",
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/@polkadot-api/metadata-builders": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.3.2.tgz",
+ "integrity": "sha512-TKpfoT6vTb+513KDzMBTfCb/ORdgRnsS3TDFpOhAhZ08ikvK+hjHMt5plPiAX/OWkm1Wc9I3+K6W0hX5Ab7MVg==",
+ "license": "MIT",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "@polkadot-api/substrate-bindings": "0.6.0",
+ "@polkadot-api/utils": "0.1.0"
+ }
+ },
+ "node_modules/@polkadot-api/observable-client": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@polkadot-api/observable-client/-/observable-client-0.3.2.tgz",
+ "integrity": "sha512-HGgqWgEutVyOBXoGOPp4+IAq6CNdK/3MfQJmhCJb8YaJiaK4W6aRGrdQuQSTPHfERHCARt9BrOmEvTXAT257Ug==",
+ "license": "MIT",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "@polkadot-api/metadata-builders": "0.3.2",
+ "@polkadot-api/substrate-bindings": "0.6.0",
+ "@polkadot-api/utils": "0.1.0"
+ },
+ "peerDependencies": {
+ "@polkadot-api/substrate-client": "0.1.4",
+ "rxjs": ">=7.8.0"
+ }
+ },
+ "node_modules/@polkadot-api/substrate-bindings": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.6.0.tgz",
+ "integrity": "sha512-lGuhE74NA1/PqdN7fKFdE5C1gNYX357j1tWzdlPXI0kQ7h3kN0zfxNOpPUN7dIrPcOFZ6C0tRRVrBylXkI6xPw==",
+ "license": "MIT",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "@noble/hashes": "^1.3.1",
+ "@polkadot-api/utils": "0.1.0",
+ "@scure/base": "^1.1.1",
+ "scale-ts": "^1.6.0"
+ }
+ },
+ "node_modules/@polkadot-api/substrate-client": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-client/-/substrate-client-0.1.4.tgz",
+ "integrity": "sha512-MljrPobN0ZWTpn++da9vOvt+Ex+NlqTlr/XT7zi9sqPtDJiQcYl+d29hFAgpaeTqbeQKZwz3WDE9xcEfLE8c5A==",
+ "license": "MIT",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "@polkadot-api/json-rpc-provider": "0.0.1",
+ "@polkadot-api/utils": "0.1.0"
+ }
+ },
+ "node_modules/@polkadot-api/utils": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.1.0.tgz",
+ "integrity": "sha512-MXzWZeuGxKizPx2Xf/47wx9sr/uxKw39bVJUptTJdsaQn/TGq+z310mHzf1RCGvC1diHM8f593KrnDgc9oNbJA==",
+ "license": "MIT",
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/@polkadot/api": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/api/-/api-13.2.1.tgz",
+ "integrity": "sha512-QvgKD3/q6KIU3ZuNYFJUNc6B8bGBoqeMF+iaPxJn3Twhh4iVD5XIymD5fVszSqiL1uPXMhzcWecjwE8rDidBoQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/api-augment": "13.2.1",
+ "@polkadot/api-base": "13.2.1",
+ "@polkadot/api-derive": "13.2.1",
+ "@polkadot/keyring": "^13.1.1",
+ "@polkadot/rpc-augment": "13.2.1",
+ "@polkadot/rpc-core": "13.2.1",
+ "@polkadot/rpc-provider": "13.2.1",
+ "@polkadot/types": "13.2.1",
+ "@polkadot/types-augment": "13.2.1",
+ "@polkadot/types-codec": "13.2.1",
+ "@polkadot/types-create": "13.2.1",
+ "@polkadot/types-known": "13.2.1",
+ "@polkadot/util": "^13.1.1",
+ "@polkadot/util-crypto": "^13.1.1",
+ "eventemitter3": "^5.0.1",
+ "rxjs": "^7.8.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/api-augment": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-13.2.1.tgz",
+ "integrity": "sha512-NTkI+/Hm48eWc/4Ojh/5elxnjnow5ptXK97IZdkWAe7mWi9hJR05Uq5lGt/T/57E9LSRWEuYje8cIDS3jbbAAw==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/api-base": "13.2.1",
+ "@polkadot/rpc-augment": "13.2.1",
+ "@polkadot/types": "13.2.1",
+ "@polkadot/types-augment": "13.2.1",
+ "@polkadot/types-codec": "13.2.1",
+ "@polkadot/util": "^13.1.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/api-base": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/api-base/-/api-base-13.2.1.tgz",
+ "integrity": "sha512-00twdIjTjzdYNdU19i2YKLoWBmf2Yr6b3qrvqIVScHipUkKMbfFBgoPRB5FtcviBbEvLurgfyzHklwnrbWo8GQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/rpc-core": "13.2.1",
+ "@polkadot/types": "13.2.1",
+ "@polkadot/util": "^13.1.1",
+ "rxjs": "^7.8.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/api-derive": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-13.2.1.tgz",
+ "integrity": "sha512-npxvS0kYcSFqmYv2G8QKWAJwFhIv/MBuGU0bV7cGP9K1A3j2Do3yYjvN1dTtY20jBavWNwmWFdXBV6/TRRsgmg==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/api": "13.2.1",
+ "@polkadot/api-augment": "13.2.1",
+ "@polkadot/api-base": "13.2.1",
+ "@polkadot/rpc-core": "13.2.1",
+ "@polkadot/types": "13.2.1",
+ "@polkadot/types-codec": "13.2.1",
+ "@polkadot/util": "^13.1.1",
+ "@polkadot/util-crypto": "^13.1.1",
+ "rxjs": "^7.8.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/keyring": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-13.2.1.tgz",
+ "integrity": "sha512-tnNLHaOuwoVC3n2tUQe0iSI4Jyxzqm7CPnf/sWMAAFImaVnC7PhiZFvqs2QGpha4ks9Lv722Vkjh7iIKUpEsUA==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/util": "13.2.1",
+ "@polkadot/util-crypto": "13.2.1",
+ "tslib": "^2.8.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "13.2.1",
+ "@polkadot/util-crypto": "13.2.1"
+ }
+ },
+ "node_modules/@polkadot/networks": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-13.2.1.tgz",
+ "integrity": "sha512-T04RTY+w8X+JB0MNAIrSFr3WX/eIUrCyYTsuf6jpg89efubpWYvfchiLTDcQrA2KfdqTBl3bQ1wgKqmWMMKNzg==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/util": "13.2.1",
+ "@substrate/ss58-registry": "^1.51.0",
+ "tslib": "^2.8.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/rpc-augment": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-13.2.1.tgz",
+ "integrity": "sha512-HkndaAJPR1fi2xrzvP3q4g48WUCb26btGTeg1AKG9FGx9P2dgtpaPRmbMitmgVSzzRurrkxf3Meip8nC7BwDeg==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/rpc-core": "13.2.1",
+ "@polkadot/types": "13.2.1",
+ "@polkadot/types-codec": "13.2.1",
+ "@polkadot/util": "^13.1.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/rpc-core": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-13.2.1.tgz",
+ "integrity": "sha512-hy0GksUlb/TfQ38m3ysIWj3qD+rIsyCdxx8Ug5rIx1u0odv86NZ7nTqtH066Ct2riVaPBgBkObFnlpDWTJ6auA==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/rpc-augment": "13.2.1",
+ "@polkadot/rpc-provider": "13.2.1",
+ "@polkadot/types": "13.2.1",
+ "@polkadot/util": "^13.1.1",
+ "rxjs": "^7.8.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/rpc-provider": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-13.2.1.tgz",
+ "integrity": "sha512-bbMVYHTNFUa89aY3UQ1hFYD+dP+v+0vhjsnHYYlv37rSUTqOGqW91rkHd63xYCpLAimFt7KRw8xR+SMSYiuDjw==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/keyring": "^13.1.1",
+ "@polkadot/types": "13.2.1",
+ "@polkadot/types-support": "13.2.1",
+ "@polkadot/util": "^13.1.1",
+ "@polkadot/util-crypto": "^13.1.1",
+ "@polkadot/x-fetch": "^13.1.1",
+ "@polkadot/x-global": "^13.1.1",
+ "@polkadot/x-ws": "^13.1.1",
+ "eventemitter3": "^5.0.1",
+ "mock-socket": "^9.3.1",
+ "nock": "^13.5.4",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@substrate/connect": "0.8.11"
+ }
+ },
+ "node_modules/@polkadot/types": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-13.2.1.tgz",
+ "integrity": "sha512-5yQ0mHMNvwgXeHQ1RZOuHaeak3utAdcBqCpHoagnYrAnGHqtO7kg7YLtT4LkFw2nwL85axu8tOQMv6/3kpFy9w==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/keyring": "^13.1.1",
+ "@polkadot/types-augment": "13.2.1",
+ "@polkadot/types-codec": "13.2.1",
+ "@polkadot/types-create": "13.2.1",
+ "@polkadot/util": "^13.1.1",
+ "@polkadot/util-crypto": "^13.1.1",
+ "rxjs": "^7.8.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/types-augment": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-13.2.1.tgz",
+ "integrity": "sha512-FpV7/2kIJmmswRmwUbp41lixdNX15olueUjHnSweFk0xEn2Ur43oC0Y3eU3Ab7Y5gPJpceMCfwYz+PjCUGedDA==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/types": "13.2.1",
+ "@polkadot/types-codec": "13.2.1",
+ "@polkadot/util": "^13.1.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/types-codec": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-13.2.1.tgz",
+ "integrity": "sha512-tFAzzS8sMYItoD5a91sFMD+rskWyv4WjSmUZaj0Y4OfLtDAiQvgO0KncdGJIB6D+zZ/T7khpgsv/CZbN3YnezA==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/util": "^13.1.1",
+ "@polkadot/x-bigint": "^13.1.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/types-create": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-13.2.1.tgz",
+ "integrity": "sha512-O/WKdsrNuMaZLf+XRCdum2xJYs5OKC6N3EMPF5Uhg10b80Y/hQCbzA/iWd3/aMNDLUA5XWhixwzJdrZWIMVIzg==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/types-codec": "13.2.1",
+ "@polkadot/util": "^13.1.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/types-known": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-13.2.1.tgz",
+ "integrity": "sha512-uz3c4/IvspLpgN8q15A+QH8KWFauzcrV3RfLFlMP2BkkF5qpOwNeP7c4U8j0CZGQySqBsJRCGWmgBXrXg669KA==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/networks": "^13.1.1",
+ "@polkadot/types": "13.2.1",
+ "@polkadot/types-codec": "13.2.1",
+ "@polkadot/types-create": "13.2.1",
+ "@polkadot/util": "^13.1.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/types-support": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-13.2.1.tgz",
+ "integrity": "sha512-jSbbUTXU+yZJQPRAWmxaDoe4NRO6SjpZPzBIbpuiadx1slON8XB80fVYIGBXuM2xRVrNrB6fCjyCTG7Razj6Hg==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/util": "^13.1.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/util": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.2.1.tgz",
+ "integrity": "sha512-+zCyQQeW4llWD5yhvPAawekRpdAU3LZPLD0j3v8nJjsG9cAyiYGZjsVxDFPpD0yixS1Hl70937bPR46761NG9g==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/x-bigint": "13.2.1",
+ "@polkadot/x-global": "13.2.1",
+ "@polkadot/x-textdecoder": "13.2.1",
+ "@polkadot/x-textencoder": "13.2.1",
+ "@types/bn.js": "^5.1.6",
+ "bn.js": "^5.2.1",
+ "tslib": "^2.8.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/util-crypto": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-13.2.1.tgz",
+ "integrity": "sha512-IalVWtRfsLEkF0fQvEfbnYwrQWUw2AHSYgJINhrZvdoC+Vy6oetvO0ZAhbfUp1c/HOaql0gex4WVrfw7gcBKjQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@noble/curves": "^1.3.0",
+ "@noble/hashes": "^1.3.3",
+ "@polkadot/networks": "13.2.1",
+ "@polkadot/util": "13.2.1",
+ "@polkadot/wasm-crypto": "^7.4.1",
+ "@polkadot/wasm-util": "^7.4.1",
+ "@polkadot/x-bigint": "13.2.1",
+ "@polkadot/x-randomvalues": "13.2.1",
+ "@scure/base": "^1.1.7",
+ "tslib": "^2.8.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "13.2.1"
+ }
+ },
+ "node_modules/@polkadot/util-crypto/node_modules/@polkadot/wasm-bridge": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-bridge/-/wasm-bridge-7.4.1.tgz",
+ "integrity": "sha512-tdkJaV453tezBxhF39r4oeG0A39sPKGDJmN81LYLf+Fihb7astzwju+u75BRmDrHZjZIv00un3razJEWCxze6g==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/wasm-util": "7.4.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*",
+ "@polkadot/x-randomvalues": "*"
+ }
+ },
+ "node_modules/@polkadot/util-crypto/node_modules/@polkadot/wasm-crypto": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-7.4.1.tgz",
+ "integrity": "sha512-kHN/kF7hYxm1y0WeFLWeWir6oTzvcFmR4N8fJJokR+ajYbdmrafPN+6iLgQVbhZnDdxyv9jWDuRRsDnBx8tPMQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/wasm-bridge": "7.4.1",
+ "@polkadot/wasm-crypto-asmjs": "7.4.1",
+ "@polkadot/wasm-crypto-init": "7.4.1",
+ "@polkadot/wasm-crypto-wasm": "7.4.1",
+ "@polkadot/wasm-util": "7.4.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*",
+ "@polkadot/x-randomvalues": "*"
+ }
+ },
+ "node_modules/@polkadot/util-crypto/node_modules/@polkadot/wasm-crypto-asmjs": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-7.4.1.tgz",
+ "integrity": "sha512-pwU8QXhUW7IberyHJIQr37IhbB6DPkCG5FhozCiNTq4vFBsFPjm9q8aZh7oX1QHQaiAZa2m2/VjIVE+FHGbvHQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*"
+ }
+ },
+ "node_modules/@polkadot/util-crypto/node_modules/@polkadot/wasm-crypto-init": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-init/-/wasm-crypto-init-7.4.1.tgz",
+ "integrity": "sha512-AVka33+f7MvXEEIGq5U0dhaA2SaXMXnxVCQyhJTaCnJ5bRDj0Xlm3ijwDEQUiaDql7EikbkkRtmlvs95eSUWYQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/wasm-bridge": "7.4.1",
+ "@polkadot/wasm-crypto-asmjs": "7.4.1",
+ "@polkadot/wasm-crypto-wasm": "7.4.1",
+ "@polkadot/wasm-util": "7.4.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*",
+ "@polkadot/x-randomvalues": "*"
+ }
+ },
+ "node_modules/@polkadot/util-crypto/node_modules/@polkadot/wasm-crypto-wasm": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-7.4.1.tgz",
+ "integrity": "sha512-PE1OAoupFR0ZOV2O8tr7D1FEUAwaggzxtfs3Aa5gr+yxlSOaWUKeqsOYe1KdrcjmZVV3iINEAXxgrbzCmiuONg==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/wasm-util": "7.4.1",
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*"
+ }
+ },
+ "node_modules/@polkadot/wasm-bridge": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-bridge/-/wasm-bridge-7.3.2.tgz",
+ "integrity": "sha512-AJEXChcf/nKXd5Q/YLEV5dXQMle3UNT7jcXYmIffZAo/KI394a+/24PaISyQjoNC0fkzS1Q8T5pnGGHmXiVz2g==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/wasm-util": "7.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*",
+ "@polkadot/x-randomvalues": "*"
+ }
+ },
+ "node_modules/@polkadot/wasm-bridge/node_modules/@polkadot/wasm-util": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-7.3.2.tgz",
+ "integrity": "sha512-bmD+Dxo1lTZyZNxbyPE380wd82QsX+43mgCm40boyKrRppXEyQmWT98v/Poc7chLuskYb6X8IQ6lvvK2bGR4Tg==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*"
+ }
+ },
+ "node_modules/@polkadot/wasm-crypto": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-7.3.2.tgz",
+ "integrity": "sha512-+neIDLSJ6jjVXsjyZ5oLSv16oIpwp+PxFqTUaZdZDoA2EyFRQB8pP7+qLsMNk+WJuhuJ4qXil/7XiOnZYZ+wxw==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/wasm-bridge": "7.3.2",
+ "@polkadot/wasm-crypto-asmjs": "7.3.2",
+ "@polkadot/wasm-crypto-init": "7.3.2",
+ "@polkadot/wasm-crypto-wasm": "7.3.2",
+ "@polkadot/wasm-util": "7.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*",
+ "@polkadot/x-randomvalues": "*"
+ }
+ },
+ "node_modules/@polkadot/wasm-crypto-asmjs": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-7.3.2.tgz",
+ "integrity": "sha512-QP5eiUqUFur/2UoF2KKKYJcesc71fXhQFLT3D4ZjG28Mfk2ZPI0QNRUfpcxVQmIUpV5USHg4geCBNuCYsMm20Q==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*"
+ }
+ },
+ "node_modules/@polkadot/wasm-crypto-init": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-init/-/wasm-crypto-init-7.3.2.tgz",
+ "integrity": "sha512-FPq73zGmvZtnuJaFV44brze3Lkrki3b4PebxCy9Fplw8nTmisKo9Xxtfew08r0njyYh+uiJRAxPCXadkC9sc8g==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/wasm-bridge": "7.3.2",
+ "@polkadot/wasm-crypto-asmjs": "7.3.2",
+ "@polkadot/wasm-crypto-wasm": "7.3.2",
+ "@polkadot/wasm-util": "7.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*",
+ "@polkadot/x-randomvalues": "*"
+ }
+ },
+ "node_modules/@polkadot/wasm-crypto-init/node_modules/@polkadot/wasm-util": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-7.3.2.tgz",
+ "integrity": "sha512-bmD+Dxo1lTZyZNxbyPE380wd82QsX+43mgCm40boyKrRppXEyQmWT98v/Poc7chLuskYb6X8IQ6lvvK2bGR4Tg==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*"
+ }
+ },
+ "node_modules/@polkadot/wasm-crypto-wasm": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-7.3.2.tgz",
+ "integrity": "sha512-15wd0EMv9IXs5Abp1ZKpKKAVyZPhATIAHfKsyoWCEFDLSOA0/K0QGOxzrAlsrdUkiKZOq7uzSIgIDgW8okx2Mw==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/wasm-util": "7.3.2",
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*"
+ }
+ },
+ "node_modules/@polkadot/wasm-crypto-wasm/node_modules/@polkadot/wasm-util": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-7.3.2.tgz",
+ "integrity": "sha512-bmD+Dxo1lTZyZNxbyPE380wd82QsX+43mgCm40boyKrRppXEyQmWT98v/Poc7chLuskYb6X8IQ6lvvK2bGR4Tg==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*"
+ }
+ },
+ "node_modules/@polkadot/wasm-crypto/node_modules/@polkadot/wasm-util": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-7.3.2.tgz",
+ "integrity": "sha512-bmD+Dxo1lTZyZNxbyPE380wd82QsX+43mgCm40boyKrRppXEyQmWT98v/Poc7chLuskYb6X8IQ6lvvK2bGR4Tg==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "tslib": "^2.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*"
+ }
+ },
+ "node_modules/@polkadot/wasm-util": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-7.4.1.tgz",
+ "integrity": "sha512-RAcxNFf3zzpkr+LX/ItAsvj+QyM56TomJ0xjUMo4wKkHjwsxkz4dWJtx5knIgQz/OthqSDMR59VNEycQeNuXzA==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "tslib": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "*"
+ }
+ },
+ "node_modules/@polkadot/x-bigint": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.2.1.tgz",
+ "integrity": "sha512-NYfH0fKfZFkjE5wOiLmfj+oJFyzSHLJrJt5DmzWwvbhw3dT4Qz2UgBL0i/Ei6REkpOGCXX2DmNbbZBr6sn4f1Q==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/x-global": "13.2.1",
+ "tslib": "^2.8.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/x-fetch": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-13.2.1.tgz",
+ "integrity": "sha512-y/JgDRyH4JZN0QzI4V3Hf7Bah2FOOTw7sbmlo/o/3Tt0zjLnCbSvu7Lf1+fKBDksQWpElUBg3nVJrw4HAIiaRQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/x-global": "13.2.1",
+ "node-fetch": "^3.3.2",
+ "tslib": "^2.8.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/x-global": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.2.1.tgz",
+ "integrity": "sha512-Q9PZY+Xw9ffBYcJjwMCQfGgFi5QNv4GJ1ZqIuJMQBAcM21fn8vuFMfGC24R1pAAJAaBMPkQ9xh8R2cpu9SIjRg==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "tslib": "^2.8.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/x-randomvalues": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-13.2.1.tgz",
+ "integrity": "sha512-LZBlsmz6r+AKHpqTGAjWecn5aNYGnfgLxxu0JZJo1aOQdVrXy7sDl1M5x1U+ZFeShVeSAU54rrWCcHB+zsGHSA==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/x-global": "13.2.1",
+ "tslib": "^2.8.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@polkadot/util": "13.2.1",
+ "@polkadot/wasm-util": "*"
+ }
+ },
+ "node_modules/@polkadot/x-textdecoder": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.2.1.tgz",
+ "integrity": "sha512-cyKv5T48goBEMsb1lnKrXPpAPXkpWwAa+Ob0w2eEzsjBPzWEeIPMKFuE4VpPRoZ/Sn6v3hwz98WS8ueCO5MXyQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/x-global": "13.2.1",
+ "tslib": "^2.8.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/x-textencoder": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.2.1.tgz",
+ "integrity": "sha512-tugNLn/9UbA1n64mMWliWI1j5kAnnNIHgJ8khbMKyrHS5K+m8BP/avUrlg3u5ukM1RB1cCoJB9uWcT4Sovf65Q==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/x-global": "13.2.1",
+ "tslib": "^2.8.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@polkadot/x-ws": {
+ "version": "13.2.1",
+ "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-13.2.1.tgz",
+ "integrity": "sha512-bLw4AL1UlzhveOPj5p3PPbDlrq+B7QbuNQ7F4UBVtEkaZZKJzhviE0mYGrObaguv1ib2tIIrYc7FNqmH6KpRzQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@polkadot/x-global": "13.2.1",
+ "tslib": "^2.8.0",
+ "ws": "^8.18.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
+ },
+ "node_modules/@protobufjs/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
+ },
+ "node_modules/@protobufjs/codegen": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
+ },
+ "node_modules/@protobufjs/eventemitter": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
+ },
+ "node_modules/@protobufjs/fetch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.0"
+ }
+ },
+ "node_modules/@protobufjs/float": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
+ },
+ "node_modules/@protobufjs/inquire": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
+ },
+ "node_modules/@protobufjs/path": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
+ },
+ "node_modules/@protobufjs/pool": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
+ },
+ "node_modules/@protobufjs/utf8": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
+ },
+ "node_modules/@scure/base": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz",
+ "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==",
+ "license": "MIT",
+ "peer": true,
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/@sideway/address": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz",
+ "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==",
+ "dev": true,
+ "dependencies": {
+ "@hapi/hoek": "^9.0.0"
+ }
+ },
+ "node_modules/@sideway/formula": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
+ "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==",
+ "dev": true
+ },
+ "node_modules/@sideway/pinpoint": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
+ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
+ "dev": true
+ },
+ "node_modules/@sqltools/formatter": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz",
+ "integrity": "sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw=="
+ },
+ "node_modules/@subsquid/big-decimal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/big-decimal/-/big-decimal-1.0.0.tgz",
+ "integrity": "sha512-/wyZEYC4Mlcm7jQWGhZnCvYpIosRmDSlNbv9SJBphE88aaFe8bOxl4sYwM/olzJgCn4Ir45nBsPU0ebF1+nXog==",
+ "peer": true,
+ "dependencies": {
+ "big.js": "~6.2.1"
+ }
+ },
+ "node_modules/@subsquid/cli": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/cli/-/cli-3.0.0.tgz",
+ "integrity": "sha512-HtmjScbG+g2bMIuGl6Ohvd6sinTKCbNN5ndanqOD+C86otzxBHD3aPqaifveugFdZI4f2yOIZ6+VIWsmIfEqoQ==",
+ "dev": true,
+ "dependencies": {
+ "@oclif/core": "3.27.0",
+ "@oclif/plugin-autocomplete": "3.2.2",
+ "@oclif/plugin-warn-if-update-available": "^3.1.13",
+ "@subsquid/commands": "^2.3.1",
+ "@subsquid/manifest": "^2.0.0-beta.6",
+ "@subsquid/manifest-expr": "^0.0.1",
+ "@types/fast-levenshtein": "^0.0.4",
+ "@types/lodash": "^4.17.7",
+ "@types/targz": "^1.0.4",
+ "async-retry": "^1.3.3",
+ "axios": "^1.7.5",
+ "axios-retry": "^4.5.0",
+ "blessed-contrib": "^4.11.0",
+ "chalk": "^4.1.2",
+ "cli-diff": "^1.0.0",
+ "cli-select": "^1.1.2",
+ "cross-spawn": "^7.0.3",
+ "date-fns": "^3.6.0",
+ "dotenv": "^16.4.5",
+ "fast-levenshtein": "^3.0.0",
+ "figlet": "^1.7.0",
+ "form-data": "^4.0.0",
+ "glob": "^10.4.5",
+ "ignore": "^5.3.2",
+ "inquirer": "^8.2.6",
+ "joi": "^17.13.3",
+ "js-yaml": "^4.1.0",
+ "lodash": "^4.17.21",
+ "ms": "^2.1.3",
+ "neo-blessed": "^0.2.0",
+ "open": "^8.1.0",
+ "pretty-bytes": "^5.6.0",
+ "qs": "^6.13.0",
+ "reblessed": "^0.2.1",
+ "simple-git": "^3.25.0",
+ "split2": "^4.2.0",
+ "targz": "^1.0.1",
+ "tree-kill": "^1.2.2"
+ },
+ "bin": {
+ "sqd": "bin/run.js"
+ }
+ },
+ "node_modules/@subsquid/cli/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/@subsquid/cli/node_modules/qs": {
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
+ "dev": true,
+ "dependencies": {
+ "side-channel": "^1.0.6"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/@subsquid/commands": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/@subsquid/commands/-/commands-2.3.1.tgz",
+ "integrity": "sha512-KV3PVO0daLV3+zB0A8iYdEAdTlm4pdOPhTuHT8oZoY/8o9uMYae+5iIUZs76ko6M/ELXgaX47L4+QizdPKCJlg==",
+ "dev": true,
+ "dependencies": {
+ "@subsquid/logger": "^1.3.2",
+ "@subsquid/util-internal": "^3.0.0",
+ "@subsquid/util-internal-config": "^2.2.2",
+ "glob": "^10.3.10",
+ "supports-color": "^8.1.1"
+ },
+ "bin": {
+ "squid-commands": "bin/run.js"
+ }
+ },
+ "node_modules/@subsquid/evm-abi": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@subsquid/evm-abi/-/evm-abi-0.3.1.tgz",
+ "integrity": "sha512-kWD8KjPBj4bR7u2Ct0xZmmVVkto0DKbSv9LQoh3fdGpS1UXbMg1jt4idupd970U8O7u3JJoTosgtApaXbKfoig==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@subsquid/evm-codec": "^0.3.0",
+ "keccak256": "^1.0.6"
+ }
+ },
+ "node_modules/@subsquid/evm-codec": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/evm-codec/-/evm-codec-0.3.0.tgz",
+ "integrity": "sha512-W6EIiC7MJN2oWdbgzpUSDop+UtROdFAlvsrzc10g3AnCAaK31nH59tkTjylRxgECewWFCFWZrwsVp+a+lwvXMA==",
+ "dependencies": {
+ "@subsquid/util-internal-hex": "^1.2.2"
+ }
+ },
+ "node_modules/@subsquid/evm-processor": {
+ "version": "1.21.2",
+ "resolved": "https://registry.npmjs.org/@subsquid/evm-processor/-/evm-processor-1.21.2.tgz",
+ "integrity": "sha512-UbBHia5m35OppLAcBbeLDpQsLyP19+htoy4n/zrNXp7lMq9rr6bs3J8r6hmai+XWYFE18xyOHGJ3mEGp1IUaEg==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@subsquid/http-client": "^1.5.0",
+ "@subsquid/logger": "^1.3.3",
+ "@subsquid/rpc-client": "^4.9.0",
+ "@subsquid/util-internal": "^3.2.0",
+ "@subsquid/util-internal-archive-client": "^0.1.2",
+ "@subsquid/util-internal-hex": "^1.2.2",
+ "@subsquid/util-internal-ingest-tools": "^1.1.4",
+ "@subsquid/util-internal-processor-tools": "^4.1.1",
+ "@subsquid/util-internal-range": "^0.3.0",
+ "@subsquid/util-internal-validation": "^0.6.0",
+ "@subsquid/util-timeout": "^2.3.2"
+ }
+ },
+ "node_modules/@subsquid/evm-typegen": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/evm-typegen/-/evm-typegen-4.3.0.tgz",
+ "integrity": "sha512-a/9MyePxlKmWpcsAopcZXBeNv+W0Mf39j7USOeHyE9QYJ7avF6baMsOQFvzbOwlk8s6w/uEURMxAMvnKgCWo5Q==",
+ "dev": true,
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@subsquid/evm-abi": "^0.3.0",
+ "@subsquid/evm-codec": "^0.3.0",
+ "@subsquid/http-client": "^1.4.0",
+ "@subsquid/logger": "^1.3.3",
+ "@subsquid/util-internal": "^3.2.0",
+ "@subsquid/util-internal-code-printer": "^1.2.2",
+ "@subsquid/util-internal-commander": "^1.4.0",
+ "commander": "^11.1.0"
+ },
+ "bin": {
+ "squid-evm-typegen": "bin/run.js"
+ }
+ },
+ "node_modules/@subsquid/graphiql-console": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/graphiql-console/-/graphiql-console-0.3.0.tgz",
+ "integrity": "sha512-C89mus6IXnNi0xMQrZqUFBZwLj8tbuq9lye8Gq/lHmmERAUpi6UsWEyLdJLx2mneZzF3JtY8eNiiZ16jmjtvfw=="
+ },
+ "node_modules/@subsquid/graphql-server": {
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/graphql-server/-/graphql-server-4.9.0.tgz",
+ "integrity": "sha512-dU/92bwXxBh7t8lK9p20LJc9xX08OxAubY0uWJq+UUTrr5oanYeeSa1vkQb7vZ2Ma6WrGkC+rdPjFliDoyOtcg==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@apollo/utils.keyvadapter": "~1.1.2",
+ "@apollo/utils.keyvaluecache": "~1.0.2",
+ "@graphql-tools/merge": "^9.0.1",
+ "@graphql-tools/schema": "^10.0.2",
+ "@graphql-tools/utils": "^10.0.11",
+ "@keyv/redis": "~2.5.8",
+ "@subsquid/logger": "^1.3.3",
+ "@subsquid/openreader": "^5.1.1",
+ "@subsquid/typeorm-config": "^4.1.1",
+ "@subsquid/util-internal": "^3.2.0",
+ "@subsquid/util-internal-commander": "^1.4.0",
+ "@subsquid/util-internal-http-server": "^2.0.0",
+ "@subsquid/util-internal-ts-node": "^0.0.0",
+ "apollo-server-core": "^3.13.0",
+ "apollo-server-express": "^3.13.0",
+ "apollo-server-plugin-response-cache": "~3.7.1",
+ "commander": "^11.1.0",
+ "dotenv": "^16.3.1",
+ "express": "^4.18.2",
+ "graphql": "^15.8.0",
+ "graphql-ws": "^5.14.2",
+ "keyv": "~4.5.4",
+ "pg": "^8.11.3",
+ "ws": "^8.14.2"
+ },
+ "bin": {
+ "squid-graphql-server": "bin/run.js"
+ },
+ "peerDependencies": {
+ "@subsquid/big-decimal": "^1.0.0",
+ "class-validator": "^0.14.0",
+ "type-graphql": "^1.2.0-rc.1",
+ "typeorm": "^0.3.17"
+ },
+ "peerDependenciesMeta": {
+ "@subsquid/big-decimal": {
+ "optional": true
+ },
+ "class-validator": {
+ "optional": true
+ },
+ "type-graphql": {
+ "optional": true
+ },
+ "typeorm": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@subsquid/http-client": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/http-client/-/http-client-1.5.0.tgz",
+ "integrity": "sha512-C7lb67mu/Xhno3x4EOzIPZ9fqixq797rT7DxvKVRXJBE7dYFEPyrOBiKO1W45YwX3lFfuHGKpMu2YBOeS/L7lQ==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@subsquid/logger": "^1.3.3",
+ "@subsquid/util-internal": "^3.2.0",
+ "node-fetch": "^3.3.2"
+ }
+ },
+ "node_modules/@subsquid/logger": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@subsquid/logger/-/logger-1.3.3.tgz",
+ "integrity": "sha512-BdoRVIOrIRzKdMZPoJxzJzPLulf5Q09GeLtJn0whP+rhDV5nQ4ANDAzjPg9jmgH9WkMYAr2XH4lny/4PjhQUNA==",
+ "dependencies": {
+ "@subsquid/util-internal-hex": "^1.2.2",
+ "@subsquid/util-internal-json": "^1.2.2",
+ "supports-color": "^8.1.1"
+ }
+ },
+ "node_modules/@subsquid/manifest": {
+ "version": "2.0.0-beta.9",
+ "resolved": "https://registry.npmjs.org/@subsquid/manifest/-/manifest-2.0.0-beta.9.tgz",
+ "integrity": "sha512-qCgE5ZSL9717dBqnN30Nz95CZKL8RGxeYT3pH74t6jhHg9kCvS669+kg8Jf87q/5YbPnew5KIC6kdv00YS6mMw==",
+ "dev": true,
+ "dependencies": {
+ "joi": "17.13.3",
+ "js-yaml": "^4.1.0",
+ "lodash": "^4.17.21"
+ }
+ },
+ "node_modules/@subsquid/manifest-expr": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/@subsquid/manifest-expr/-/manifest-expr-0.0.1.tgz",
+ "integrity": "sha512-QKrgq+BPVX03SPm/kxXr3kDRDFn+ddBAuA9ysvae3PBA0jlj5DUSFxNjIoGZoy+RBwu82t4T0Xt4oTXR8e0OBw==",
+ "dev": true
+ },
+ "node_modules/@subsquid/openreader": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@subsquid/openreader/-/openreader-5.1.1.tgz",
+ "integrity": "sha512-rT5TnIJlkff+dtwDCwiBscNG6GqNGmXoUbRFDhTxz6NypYIBhxdwKLVFROFs7kwftjgt4IRKnCPcAfuq+Zs4Bw==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@graphql-tools/merge": "^9.0.1",
+ "@subsquid/graphiql-console": "^0.3.0",
+ "@subsquid/logger": "^1.3.3",
+ "@subsquid/util-internal": "^3.2.0",
+ "@subsquid/util-internal-commander": "^1.4.0",
+ "@subsquid/util-internal-hex": "^1.2.2",
+ "@subsquid/util-internal-http-server": "^2.0.0",
+ "@subsquid/util-naming": "^1.3.0",
+ "apollo-server-core": "^3.13.0",
+ "apollo-server-express": "^3.13.0",
+ "commander": "^11.1.0",
+ "deep-equal": "^2.2.3",
+ "express": "^4.18.2",
+ "graphql": "^15.8.0",
+ "graphql-parse-resolve-info": "^4.14.0",
+ "graphql-ws": "^5.14.2",
+ "inflected": "^2.1.0",
+ "pg": "^8.11.3",
+ "ws": "^8.14.2"
+ },
+ "bin": {
+ "openreader": "bin/main.js"
+ },
+ "peerDependencies": {
+ "@subsquid/big-decimal": "^1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@subsquid/big-decimal": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@subsquid/rpc-client": {
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/rpc-client/-/rpc-client-4.9.0.tgz",
+ "integrity": "sha512-lpb6qRMMlaacXOFPRhv4CZ7g4w7pKIR7ZEbMjyFexLOdv9MkcYzuGD5XT5REGaBA6mfQMaLa33K5lqAb+tJKBQ==",
+ "dependencies": {
+ "@subsquid/http-client": "^1.4.0",
+ "@subsquid/logger": "^1.3.3",
+ "@subsquid/util-internal": "^3.2.0",
+ "@subsquid/util-internal-binary-heap": "^1.0.0",
+ "@subsquid/util-internal-counters": "^1.3.2",
+ "@subsquid/util-internal-json-fix-unsafe-integers": "^0.0.0",
+ "websocket": "^1.0.34"
+ }
+ },
+ "node_modules/@subsquid/scale-codec": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@subsquid/scale-codec/-/scale-codec-4.0.1.tgz",
+ "integrity": "sha512-H3mi5GIvlrvOSJVSYQRNnaiulSDktPF4TwUvquAgN86tN4kokyX8XcEM2Htrm1sVWRtMi7SgYpyVR5Yg5iPKUQ==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@subsquid/util-internal-hex": "^1.2.2",
+ "@subsquid/util-internal-json": "^1.2.2"
+ }
+ },
+ "node_modules/@subsquid/scale-type-system": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@subsquid/scale-type-system/-/scale-type-system-1.0.2.tgz",
+ "integrity": "sha512-bZSUGO/Hfnf/+luZ8lWEsGqr9iIiQeaifmXEiOGBpr5Ace6H+pPY3lFmDTPWigoqt7VxrhRO0jvk5RLAyeBJvg==",
+ "license": "GPL-3.0-or-later",
+ "peer": true,
+ "dependencies": {
+ "@subsquid/util-internal": "^3.0.0"
+ },
+ "peerDependencies": {
+ "@subsquid/scale-codec": "^4.0.1"
+ }
+ },
+ "node_modules/@subsquid/substrate-data": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@subsquid/substrate-data/-/substrate-data-4.2.1.tgz",
+ "integrity": "sha512-e7kHouz71WiH+yYyrbil2iRSlFDPQcLqnUYT2/ZySdf5KbhboxTL+JKYE006nza6U77E9U9gIy1wykGqpa9L2Q==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@subsquid/scale-codec": "^4.0.1",
+ "@subsquid/substrate-data-raw": "^1.2.0",
+ "@subsquid/util-internal": "^3.2.0",
+ "@subsquid/util-internal-hex": "^1.2.2",
+ "@subsquid/util-internal-ingest-tools": "^1.1.4",
+ "@subsquid/util-internal-range": "^0.3.0",
+ "@subsquid/util-xxhash": "^1.2.2",
+ "@substrate/calc": "^0.2.8",
+ "blake2b": "^2.1.4"
+ },
+ "peerDependencies": {
+ "@subsquid/rpc-client": "^4.9.0",
+ "@subsquid/substrate-runtime": "^2.0.0"
+ }
+ },
+ "node_modules/@subsquid/substrate-data-raw": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/substrate-data-raw/-/substrate-data-raw-1.2.0.tgz",
+ "integrity": "sha512-bQne2arxfbCAe3Kr0WikM2uyC3L4DfvkcQpy5+9nYBMzH5/Z9KBZMLUzv5dwFDAkHlCXEogcYu5Yh0NGk3O93Q==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@subsquid/util-internal": "^3.2.0",
+ "@subsquid/util-internal-ingest-tools": "^1.1.4",
+ "@subsquid/util-internal-range": "^0.3.0",
+ "@subsquid/util-timeout": "^2.3.2"
+ },
+ "peerDependencies": {
+ "@subsquid/logger": "^1.3.3",
+ "@subsquid/rpc-client": "^4.9.0"
+ }
+ },
+ "node_modules/@subsquid/substrate-processor": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/@subsquid/substrate-processor/-/substrate-processor-8.5.1.tgz",
+ "integrity": "sha512-jpA0dNpOVTkhyHg4KC2aD0TYbs2r1/ibPhFcejXTPfdibNcY0Vu/1PUW5E9OaravSLKuKD/hZxeqTKIDY/362g==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@subsquid/http-client": "^1.5.0",
+ "@subsquid/logger": "^1.3.3",
+ "@subsquid/rpc-client": "^4.9.0",
+ "@subsquid/substrate-data": "^4.2.0",
+ "@subsquid/substrate-data-raw": "^1.2.0",
+ "@subsquid/util-internal": "^3.2.0",
+ "@subsquid/util-internal-archive-client": "^0.1.2",
+ "@subsquid/util-internal-hex": "^1.2.2",
+ "@subsquid/util-internal-ingest-tools": "^1.1.4",
+ "@subsquid/util-internal-json": "^1.2.3",
+ "@subsquid/util-internal-processor-tools": "^4.1.1",
+ "@subsquid/util-internal-range": "^0.3.0",
+ "@subsquid/util-internal-validation": "^0.6.0"
+ },
+ "peerDependencies": {
+ "@subsquid/substrate-runtime": "^2.0.0"
+ }
+ },
+ "node_modules/@subsquid/substrate-runtime": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/substrate-runtime/-/substrate-runtime-2.0.0.tgz",
+ "integrity": "sha512-sjw0BmcUPnXasYqv9zuI8wb21Y2hyIPpz24ut9eBTVXUvdBobASw/6iFlQsFoxqzz39xxQfZIZsWXBet5AViAw==",
+ "license": "GPL-3.0-or-later",
+ "peer": true,
+ "dependencies": {
+ "@subsquid/scale-codec": "^4.0.1",
+ "@subsquid/scale-type-system": "^1.0.2",
+ "@subsquid/util-internal": "^3.1.0",
+ "@subsquid/util-internal-hex": "^1.2.2",
+ "@subsquid/util-naming": "^1.2.2",
+ "@subsquid/util-xxhash": "^1.2.2",
+ "blake2b": "^2.1.4"
+ }
+ },
+ "node_modules/@subsquid/typeorm-codegen": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@subsquid/typeorm-codegen/-/typeorm-codegen-2.0.2.tgz",
+ "integrity": "sha512-MDeA4LrqbRIYpmlwRdO1GyPzq+pfIS17VAgkMbYx2LtyqMbSvIaYU5D+iE0QMJr/XvO4bXC8+qZ6Fx4kIMuvfw==",
+ "dev": true,
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "@subsquid/openreader": "^5.0.0",
+ "@subsquid/util-internal": "^3.2.0",
+ "@subsquid/util-internal-code-printer": "^1.2.2",
+ "@subsquid/util-naming": "^1.3.0",
+ "commander": "^11.1.0"
+ },
+ "bin": {
+ "squid-typeorm-codegen": "bin/run.js"
+ }
+ },
+ "node_modules/@subsquid/typeorm-config": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/@subsquid/typeorm-config/-/typeorm-config-4.1.1.tgz",
+ "integrity": "sha512-3T2L2jmFIRYxWHL/w4rMuaSiHLhDywQWPKtfD3TaSohjXR+VdDG5XimDMmSwM4dzQTBToGpnfUEkzH3v1+EnCg==",
+ "dependencies": {
+ "@subsquid/logger": "^1.3.3",
+ "@subsquid/util-internal-ts-node": "^0.0.0",
+ "@subsquid/util-naming": "^1.3.0"
+ },
+ "peerDependencies": {
+ "typeorm": "^0.3.17"
+ },
+ "peerDependenciesMeta": {
+ "typeorm": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@subsquid/typeorm-migration": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/typeorm-migration/-/typeorm-migration-1.3.0.tgz",
+ "integrity": "sha512-+xyOvN5asKdSEUMjKRuuwLDaOSRBBCRc2LIVdsyv5nnXXcmtOShfQsHQNX9EdKD2xx4cH2bnD7ol3PY63Q2xQw==",
+ "dependencies": {
+ "@subsquid/typeorm-config": "^4.1.0",
+ "@subsquid/util-internal": "^3.0.0",
+ "@subsquid/util-internal-code-printer": "^1.2.2",
+ "@subsquid/util-internal-ts-node": "^0.0.0",
+ "commander": "^11.1.0",
+ "dotenv": "^16.3.1"
+ },
+ "bin": {
+ "squid-typeorm-migration": "bin/squid-typeorm-migration",
+ "squid-typeorm-migration-apply": "bin/squid-typeorm-migration-apply",
+ "squid-typeorm-migration-create": "bin/squid-typeorm-migration-create",
+ "squid-typeorm-migration-generate": "bin/squid-typeorm-migration-generate",
+ "squid-typeorm-migration-revert": "bin/squid-typeorm-migration-revert"
+ },
+ "peerDependencies": {
+ "typeorm": "^0.3.17"
+ }
+ },
+ "node_modules/@subsquid/typeorm-store": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/@subsquid/typeorm-store/-/typeorm-store-1.5.1.tgz",
+ "integrity": "sha512-XIhc/4qotnJP+8RDxWjUdsSCr+LOPOAp9U+u0VCqnyXx5rN13MDS0L5KSkIGinr/OQtK1CBWmRpDLF4ExWcWCw==",
+ "dependencies": {
+ "@subsquid/typeorm-config": "^4.1.1",
+ "@subsquid/util-internal": "^3.2.0"
+ },
+ "peerDependencies": {
+ "@subsquid/big-decimal": "^1.0.0",
+ "typeorm": "^0.3.17"
+ }
+ },
+ "node_modules/@subsquid/util-internal": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal/-/util-internal-3.2.0.tgz",
+ "integrity": "sha512-foNCjOmZaP8MKMa9sNe2GXTjFSDM9UqA0I0C0/ZvCxM1lCmG3mxZb70f8Wyi7TePXC/eV8eARbIqFyz0GjQmzA=="
+ },
+ "node_modules/@subsquid/util-internal-archive-client": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-archive-client/-/util-internal-archive-client-0.1.2.tgz",
+ "integrity": "sha512-XATZWOIHUqIuqzb9hxaFIsz/BItb5qLoYjk6uhFcR9ART2AExXLU5l26SvSrq3hUnqfznIkQMZVQ1SKqnGzx4g==",
+ "dependencies": {
+ "@subsquid/util-internal": "^3.1.0",
+ "@subsquid/util-internal-range": "^0.3.0"
+ },
+ "peerDependencies": {
+ "@subsquid/http-client": "^1.4.0",
+ "@subsquid/logger": "^1.3.3"
+ },
+ "peerDependenciesMeta": {
+ "@subsquid/logger": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@subsquid/util-internal-binary-heap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-binary-heap/-/util-internal-binary-heap-1.0.0.tgz",
+ "integrity": "sha512-88auuc8yNFmCZugmJSTYzS7WM/nN2obKGQCgrl8Jty5rJUFbqazGSi8icqftKhv6MPtUMJ3PSTRLiTFXAUGnAA=="
+ },
+ "node_modules/@subsquid/util-internal-code-printer": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-code-printer/-/util-internal-code-printer-1.2.2.tgz",
+ "integrity": "sha512-uerf8T/FU4bxxhat09MgRrdmwifLwV+tO7QvlMvZ5ccwaVrJjHs+0/LY/h1e9YowH3+ZtwPqjYrd5tNOHWX8wA=="
+ },
+ "node_modules/@subsquid/util-internal-commander": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-commander/-/util-internal-commander-1.4.0.tgz",
+ "integrity": "sha512-I+IztlLVow9z2S5lK/ON4aBRYXKtAKXl/rVPUn1Ue5vq+5JgEFbWEKJgnwXkd0qKnKeoYeaRFlcyQVfxirxzJw==",
+ "peerDependencies": {
+ "commander": "^11.1.0"
+ }
+ },
+ "node_modules/@subsquid/util-internal-config": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-config/-/util-internal-config-2.2.2.tgz",
+ "integrity": "sha512-Qc8YH8eoPWrOoPHLnXJ/ksPo2pLpa126bY7qaM22/++Nk8DyexLxgbjYZTBeIHd/DXjTfgJpDDfxmCyy5RWZmA==",
+ "dev": true,
+ "dependencies": {
+ "@exodus/schemasafe": "^1.3.0",
+ "jsonc-parser": "^3.2.0"
+ }
+ },
+ "node_modules/@subsquid/util-internal-counters": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-counters/-/util-internal-counters-1.3.2.tgz",
+ "integrity": "sha512-GxpOIL36JXSo0KdOT7k6CsI4DY804rn/X7pTdfKhych0ReHaDghnwNyvgb7Njv9euEHWUt4MxXbfQ9YrbpPDng=="
+ },
+ "node_modules/@subsquid/util-internal-hex": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-hex/-/util-internal-hex-1.2.2.tgz",
+ "integrity": "sha512-E43HVqf23jP5hvtWF9GsiN8luANjnJ1daR2SVTwaIUAYU/uNjv1Bi6tHz2uexlflBhyxAgBDmHgunXZ45wQTIw=="
+ },
+ "node_modules/@subsquid/util-internal-http-server": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-http-server/-/util-internal-http-server-2.0.0.tgz",
+ "integrity": "sha512-MUAJGMuDjbA3B+KQFZmMkm9FuWVx067pINt+EWuq3fSZqYPr1kRkTCTSJK7uT6Q8omqJtJFRWveyOWlXmixvfg==",
+ "dependencies": {
+ "@subsquid/logger": "^1.3.3",
+ "stoppable": "^1.1.0"
+ }
+ },
+ "node_modules/@subsquid/util-internal-ingest-tools": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-ingest-tools/-/util-internal-ingest-tools-1.1.4.tgz",
+ "integrity": "sha512-2xWyqfg0mITsNdsYuGi3++UTy/D04N69KovyW5Rd71zCDSEedV0ePX5hQl/IT/o+H/u++HcXPggwJMVl09g6kQ==",
+ "dependencies": {
+ "@subsquid/logger": "^1.3.3",
+ "@subsquid/util-internal": "^3.2.0",
+ "@subsquid/util-internal-range": "^0.3.0"
+ },
+ "peerDependencies": {
+ "@subsquid/util-internal-archive-client": "^0.1.2"
+ },
+ "peerDependenciesMeta": {
+ "@subsquid/util-internal-archive-client": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@subsquid/util-internal-json": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-json/-/util-internal-json-1.2.3.tgz",
+ "integrity": "sha512-H5qW5kG20IzVMpb7GhPbVRxGuACEf1DPIXE1+LNXYxt8t/GX4zQREQWHRvCB3lck+RORLJD3WJbQUtxN5UYB3Q==",
+ "dependencies": {
+ "@subsquid/util-internal-hex": "^1.2.2"
+ }
+ },
+ "node_modules/@subsquid/util-internal-json-fix-unsafe-integers": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-json-fix-unsafe-integers/-/util-internal-json-fix-unsafe-integers-0.0.0.tgz",
+ "integrity": "sha512-mtbN15IgXtV4yo98RQla+O3DhFwB28o3JTBrFuBc/i/qzxyZNbKoVdq/uczomGdXrHxGkWhTDe/istIQe9gn6w=="
+ },
+ "node_modules/@subsquid/util-internal-processor-tools": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-processor-tools/-/util-internal-processor-tools-4.1.1.tgz",
+ "integrity": "sha512-zzisejusRteAvwjqFDLlFapH9b86E8GdfNswuNWSjASE+VWadJ/PLfrlXFnsbAo4SxPKtqXWEewoK8cjzVjaZA==",
+ "dependencies": {
+ "@subsquid/logger": "^1.3.3",
+ "@subsquid/util-internal": "^3.2.0",
+ "@subsquid/util-internal-counters": "^1.3.2",
+ "@subsquid/util-internal-prometheus-server": "^1.3.0",
+ "@subsquid/util-internal-range": "^0.3.0",
+ "@subsquid/util-internal-squid-id": "^0.0.0",
+ "prom-client": "^14.2.0"
+ }
+ },
+ "node_modules/@subsquid/util-internal-prometheus-server": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-prometheus-server/-/util-internal-prometheus-server-1.3.0.tgz",
+ "integrity": "sha512-E/ch5mxBg1CIGPsuAqUAQ7vVln2oTPm+Rl+0WYweH8JeZ81rD01XAmxhDuZzZnMMMzfZd9W4NlE4mCXbhSY1Ug==",
+ "dependencies": {
+ "@subsquid/util-internal-http-server": "^2.0.0"
+ },
+ "peerDependencies": {
+ "prom-client": "^14.2.0"
+ }
+ },
+ "node_modules/@subsquid/util-internal-range": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-range/-/util-internal-range-0.3.0.tgz",
+ "integrity": "sha512-5/oDNW0TS66o4vWRzYSYXEfNnFRZsAzoi4pZNdPn7n1l+xV7ZTa0Y57XA6cP5hrWCaIYav4z1zECPngLDV/qeQ==",
+ "dependencies": {
+ "@subsquid/util-internal": "^3.1.0",
+ "@subsquid/util-internal-binary-heap": "^1.0.0"
+ }
+ },
+ "node_modules/@subsquid/util-internal-squid-id": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-squid-id/-/util-internal-squid-id-0.0.0.tgz",
+ "integrity": "sha512-LyVZIGUbC87r+3VFBRiNOEycxvpkOEEjt5enY02iGl6MneLwq3m17D44xAkwfFj/U+t7GA76eeHIoI2ZkiQKog=="
+ },
+ "node_modules/@subsquid/util-internal-ts-node": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-ts-node/-/util-internal-ts-node-0.0.0.tgz",
+ "integrity": "sha512-VBnrKrkNcqbT3hMLrjpEPuwMAihFhW9oUmK53bccBCCXrUiATNUblQD2S4IWd9/UBO5Q33ohpbE9sAodDq2DXw=="
+ },
+ "node_modules/@subsquid/util-internal-validation": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-internal-validation/-/util-internal-validation-0.6.0.tgz",
+ "integrity": "sha512-OjrtBS9oJQApNa/ar9IMB0l2+IIydxLKIlxpJsyHgI0buK+aWofDq1aPaPh3XtCKrHzLDkrM9KAqkt8fQirifQ==",
+ "license": "GPL-3.0-or-later",
+ "peerDependencies": {
+ "@subsquid/logger": "^1.3.3"
+ },
+ "peerDependenciesMeta": {
+ "@subsquid/logger": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@subsquid/util-naming": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-naming/-/util-naming-1.3.0.tgz",
+ "integrity": "sha512-PfYg1uFHwb7e6egbkzIbQTWf7DVlZIQr2gHy4VE35ZNiA15R9wkJLo/Mym6OkwLQyjJwhhq7pCFhkz6tm19m+A==",
+ "dependencies": {
+ "camelcase": "^6.3.0",
+ "inflected": "^2.1.0"
+ }
+ },
+ "node_modules/@subsquid/util-timeout": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-timeout/-/util-timeout-2.3.2.tgz",
+ "integrity": "sha512-DVUnuiWAX7/4ZvbzuHENUShEEV4G0M38mQ/+R8DpHxwpCSrtEaSRaUMwdyUSn/WVqR7wo9+jkLCxFjE5feCURQ=="
+ },
+ "node_modules/@subsquid/util-xxhash": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@subsquid/util-xxhash/-/util-xxhash-1.2.2.tgz",
+ "integrity": "sha512-S49O4bxs80y3/oBl1xKBE/zzvDPLr88yE+03zfOXaNj/wesTGzicqBxhzDULmyo6kpdRmc0ZPOZCQ3U6gNQpxQ==",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "xxhash-wasm": "^1.0.2",
+ "xxhashjs": "^0.2.2"
+ }
+ },
+ "node_modules/@substrate/calc": {
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@substrate/calc/-/calc-0.2.8.tgz",
+ "integrity": "sha512-1c3mxf35FBeOswduhy0Wil9s4exHahXFo974qa0Ci2AORX8JTxmwhBb10+3Ls9iWoTFwvgOaFr9v1HeRL5tCig==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@substrate/connect": {
+ "version": "0.8.11",
+ "resolved": "https://registry.npmjs.org/@substrate/connect/-/connect-0.8.11.tgz",
+ "integrity": "sha512-ofLs1PAO9AtDdPbdyTYj217Pe+lBfTLltdHDs3ds8no0BseoLeAGxpz1mHfi7zB4IxI3YyAiLjH6U8cw4pj4Nw==",
+ "deprecated": "versions below 1.x are no longer maintained",
+ "license": "GPL-3.0-only",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "@substrate/connect-extension-protocol": "^2.0.0",
+ "@substrate/connect-known-chains": "^1.1.5",
+ "@substrate/light-client-extension-helpers": "^1.0.0",
+ "smoldot": "2.0.26"
+ }
+ },
+ "node_modules/@substrate/connect-extension-protocol": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-2.2.0.tgz",
+ "integrity": "sha512-8b5bN/jo6qD4vcnoWr3T+Nn2u1XLRkJTsEt8b9iGvPPZ1cFcPCVQVpn3lP3U3WqbuSLiVkh0CjX5TW+aCUAi3g==",
+ "license": "GPL-3.0-only",
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/@substrate/connect-known-chains": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@substrate/connect-known-chains/-/connect-known-chains-1.6.0.tgz",
+ "integrity": "sha512-ImPIaaQjSs07qI+gfP6sV/HnupexqgPnyicsPax3Pc6mqDp2HUNMDVdaoWjR84yPbgN8+un/P4KOEb5g4wqHSg==",
+ "license": "GPL-3.0-only",
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/@substrate/light-client-extension-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@substrate/light-client-extension-helpers/-/light-client-extension-helpers-1.0.0.tgz",
+ "integrity": "sha512-TdKlni1mBBZptOaeVrKnusMg/UBpWUORNDv5fdCaJklP4RJiFOzBCrzC+CyVI5kQzsXBisZ+2pXm+rIjS38kHg==",
+ "license": "MIT",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "@polkadot-api/json-rpc-provider": "^0.0.1",
+ "@polkadot-api/json-rpc-provider-proxy": "^0.1.0",
+ "@polkadot-api/observable-client": "^0.3.0",
+ "@polkadot-api/substrate-client": "^0.1.2",
+ "@substrate/connect-extension-protocol": "^2.0.0",
+ "@substrate/connect-known-chains": "^1.1.5",
+ "rxjs": "^7.8.1"
+ },
+ "peerDependencies": {
+ "smoldot": "2.x"
+ }
+ },
+ "node_modules/@substrate/ss58-registry": {
+ "version": "1.51.0",
+ "resolved": "https://registry.npmjs.org/@substrate/ss58-registry/-/ss58-registry-1.51.0.tgz",
+ "integrity": "sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==",
+ "license": "Apache-2.0",
+ "peer": true
+ },
+ "node_modules/@types/accepts": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz",
+ "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/bn.js": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.6.tgz",
+ "integrity": "sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/body-parser": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
+ "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/cli-progress": {
+ "version": "3.11.6",
+ "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.6.tgz",
+ "integrity": "sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/connect": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
+ "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/cors": {
+ "version": "2.8.12",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
+ "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
+ },
+ "node_modules/@types/express": {
+ "version": "4.17.14",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz",
+ "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==",
+ "dependencies": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.18",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
+ }
+ },
+ "node_modules/@types/express-serve-static-core": {
+ "version": "4.17.31",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz",
+ "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*"
+ }
+ },
+ "node_modules/@types/fast-levenshtein": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/@types/fast-levenshtein/-/fast-levenshtein-0.0.4.tgz",
+ "integrity": "sha512-tkDveuitddQCxut1Db8eEFfMahTjOumTJGPHmT9E7KUH+DkVq9WTpVvlfenf3S+uCBeu8j5FP2xik/KfxOEjeA==",
+ "dev": true
+ },
+ "node_modules/@types/http-errors": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
+ "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA=="
+ },
+ "node_modules/@types/lodash": {
+ "version": "4.17.13",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz",
+ "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==",
+ "dev": true
+ },
+ "node_modules/@types/long": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
+ "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="
+ },
+ "node_modules/@types/mime": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
+ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="
+ },
+ "node_modules/@types/node": {
+ "version": "20.14.8",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.8.tgz",
+ "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==",
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/@types/qs": {
+ "version": "6.9.15",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz",
+ "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg=="
+ },
+ "node_modules/@types/range-parser": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
+ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="
+ },
+ "node_modules/@types/send": {
+ "version": "0.17.4",
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
+ "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
+ "dependencies": {
+ "@types/mime": "^1",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/serve-static": {
+ "version": "1.15.7",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz",
+ "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==",
+ "dependencies": {
+ "@types/http-errors": "*",
+ "@types/node": "*",
+ "@types/send": "*"
+ }
+ },
+ "node_modules/@types/tar-fs": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@types/tar-fs/-/tar-fs-2.0.4.tgz",
+ "integrity": "sha512-ipPec0CjTmVDWE+QKr9cTmIIoTl7dFG/yARCM5MqK8i6CNLIG1P8x4kwDsOQY1ChZOZjH0wO9nvfgBvWl4R3kA==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "@types/tar-stream": "*"
+ }
+ },
+ "node_modules/@types/tar-stream": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@types/tar-stream/-/tar-stream-3.1.3.tgz",
+ "integrity": "sha512-Zbnx4wpkWBMBSu5CytMbrT5ZpMiF55qgM+EpHzR4yIDu7mv52cej8hTkOc6K+LzpkOAbxwn/m7j3iO+/l42YkQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/targz": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@types/targz/-/targz-1.0.4.tgz",
+ "integrity": "sha512-4i2weIjweWsnrvutLH7dM/+FPVSFSqxb+XKWo61tAiHxyYYHveImqys5JijMboKJz+jhFu24SlFrdVAB0xAMIw==",
+ "dev": true,
+ "dependencies": {
+ "@types/tar-fs": "*"
+ }
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/aes-js": {
+ "version": "4.0.0-beta.5",
+ "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz",
+ "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==",
+ "license": "MIT"
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/ansi-term": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/ansi-term/-/ansi-term-0.0.2.tgz",
+ "integrity": "sha512-jLnGE+n8uAjksTJxiWZf/kcUmXq+cRWSl550B9NmQ8YiqaTM+lILcSe5dHdp8QkJPhaOghDjnMKwyYSMjosgAA==",
+ "dev": true,
+ "dependencies": {
+ "x256": ">=0.0.1"
+ }
+ },
+ "node_modules/ansicolors": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz",
+ "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==",
+ "dev": true
+ },
+ "node_modules/ansis": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/ansis/-/ansis-3.3.2.tgz",
+ "integrity": "sha512-cFthbBlt+Oi0i9Pv/j6YdVWJh54CtjGACaMPCIrEV4Ha7HWsIjXDwseYV79TIL0B4+KfSwD5S70PeQDkPUd1rA==",
+ "dev": true,
+ "engines": {
+ "node": ">=15"
+ }
+ },
+ "node_modules/any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
+ },
+ "node_modules/apollo-datasource": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-3.3.2.tgz",
+ "integrity": "sha512-L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg==",
+ "deprecated": "The `apollo-datasource` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.",
+ "dependencies": {
+ "@apollo/utils.keyvaluecache": "^1.0.1",
+ "apollo-server-env": "^4.2.1"
+ },
+ "engines": {
+ "node": ">=12.0"
+ }
+ },
+ "node_modules/apollo-reporting-protobuf": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.4.0.tgz",
+ "integrity": "sha512-h0u3EbC/9RpihWOmcSsvTW2O6RXVaD/mPEjfrPkxRPTEPWqncsgOoRJw+wih4OqfH3PvTJvoEIf4LwKrUaqWog==",
+ "deprecated": "The `apollo-reporting-protobuf` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/usage-reporting-protobuf` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.",
+ "dependencies": {
+ "@apollo/protobufjs": "1.2.6"
+ }
+ },
+ "node_modules/apollo-reporting-protobuf/node_modules/@apollo/protobufjs": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.6.tgz",
+ "integrity": "sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/long": "^4.0.0",
+ "@types/node": "^10.1.0",
+ "long": "^4.0.0"
+ },
+ "bin": {
+ "apollo-pbjs": "bin/pbjs",
+ "apollo-pbts": "bin/pbts"
+ }
+ },
+ "node_modules/apollo-reporting-protobuf/node_modules/@types/node": {
+ "version": "10.17.60",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
+ "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
+ },
+ "node_modules/apollo-server-core": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.13.0.tgz",
+ "integrity": "sha512-v/g6DR6KuHn9DYSdtQijz8dLOkP78I5JSVJzPkARhDbhpH74QNwrQ2PP2URAPPEDJ2EeZNQDX8PvbYkAKqg+kg==",
+ "dependencies": {
+ "@apollo/utils.keyvaluecache": "^1.0.1",
+ "@apollo/utils.logger": "^1.0.0",
+ "@apollo/utils.usagereporting": "^1.0.0",
+ "@apollographql/apollo-tools": "^0.5.3",
+ "@apollographql/graphql-playground-html": "1.6.29",
+ "@graphql-tools/mock": "^8.1.2",
+ "@graphql-tools/schema": "^8.0.0",
+ "@josephg/resolvable": "^1.0.0",
+ "apollo-datasource": "^3.3.2",
+ "apollo-reporting-protobuf": "^3.4.0",
+ "apollo-server-env": "^4.2.1",
+ "apollo-server-errors": "^3.3.1",
+ "apollo-server-plugin-base": "^3.7.2",
+ "apollo-server-types": "^3.8.0",
+ "async-retry": "^1.2.1",
+ "fast-json-stable-stringify": "^2.1.0",
+ "graphql-tag": "^2.11.0",
+ "loglevel": "^1.6.8",
+ "lru-cache": "^6.0.0",
+ "node-abort-controller": "^3.0.1",
+ "sha.js": "^2.4.11",
+ "uuid": "^9.0.0",
+ "whatwg-mimetype": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "peerDependencies": {
+ "graphql": "^15.3.0 || ^16.0.0"
+ }
+ },
+ "node_modules/apollo-server-core/node_modules/@graphql-tools/merge": {
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz",
+ "integrity": "sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==",
+ "dependencies": {
+ "@graphql-tools/utils": "8.9.0",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/apollo-server-core/node_modules/@graphql-tools/schema": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz",
+ "integrity": "sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==",
+ "dependencies": {
+ "@graphql-tools/merge": "8.3.1",
+ "@graphql-tools/utils": "8.9.0",
+ "tslib": "^2.4.0",
+ "value-or-promise": "1.0.11"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/apollo-server-core/node_modules/@graphql-tools/utils": {
+ "version": "8.9.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz",
+ "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/apollo-server-core/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/apollo-server-core/node_modules/value-or-promise": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.11.tgz",
+ "integrity": "sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/apollo-server-env": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz",
+ "integrity": "sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g==",
+ "deprecated": "The `apollo-server-env` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/utils.fetcher` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.",
+ "dependencies": {
+ "node-fetch": "^2.6.7"
+ },
+ "engines": {
+ "node": ">=12.0"
+ }
+ },
+ "node_modules/apollo-server-env/node_modules/node-fetch": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/apollo-server-errors": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz",
+ "integrity": "sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA==",
+ "deprecated": "The `apollo-server-errors` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.",
+ "engines": {
+ "node": ">=12.0"
+ },
+ "peerDependencies": {
+ "graphql": "^15.3.0 || ^16.0.0"
+ }
+ },
+ "node_modules/apollo-server-express": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.13.0.tgz",
+ "integrity": "sha512-iSxICNbDUyebOuM8EKb3xOrpIwOQgKxGbR2diSr4HP3IW8T3njKFOoMce50vr+moOCe1ev8BnLcw9SNbuUtf7g==",
+ "dependencies": {
+ "@types/accepts": "^1.3.5",
+ "@types/body-parser": "1.19.2",
+ "@types/cors": "2.8.12",
+ "@types/express": "4.17.14",
+ "@types/express-serve-static-core": "4.17.31",
+ "accepts": "^1.3.5",
+ "apollo-server-core": "^3.13.0",
+ "apollo-server-types": "^3.8.0",
+ "body-parser": "^1.19.0",
+ "cors": "^2.8.5",
+ "parseurl": "^1.3.3"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "peerDependencies": {
+ "express": "^4.17.1",
+ "graphql": "^15.3.0 || ^16.0.0"
+ }
+ },
+ "node_modules/apollo-server-plugin-base": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.7.2.tgz",
+ "integrity": "sha512-wE8dwGDvBOGehSsPTRZ8P/33Jan6/PmL0y0aN/1Z5a5GcbFhDaaJCjK5cav6npbbGL2DPKK0r6MPXi3k3N45aw==",
+ "deprecated": "The `apollo-server-plugin-base` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.",
+ "dependencies": {
+ "apollo-server-types": "^3.8.0"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "peerDependencies": {
+ "graphql": "^15.3.0 || ^16.0.0"
+ }
+ },
+ "node_modules/apollo-server-plugin-response-cache": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/apollo-server-plugin-response-cache/-/apollo-server-plugin-response-cache-3.7.1.tgz",
+ "integrity": "sha512-3FHwwySf1kQl8dGC+2E08LtDeFGUOeqckLchAD1REYx1vwMZbGhmEIwaNezjXwxkTM5Y7l38n0vQTka6YoQN7w==",
+ "deprecated": "The `apollo-server-plugin-response-cache` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server-plugin-response-cache` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.",
+ "dependencies": {
+ "@apollo/utils.keyvaluecache": "^1.0.1",
+ "apollo-server-plugin-base": "^3.6.3",
+ "apollo-server-types": "^3.6.3"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "peerDependencies": {
+ "graphql": "^15.3.0 || ^16.0.0"
+ }
+ },
+ "node_modules/apollo-server-types": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.8.0.tgz",
+ "integrity": "sha512-ZI/8rTE4ww8BHktsVpb91Sdq7Cb71rdSkXELSwdSR0eXu600/sY+1UXhTWdiJvk+Eq5ljqoHLwLbY2+Clq2b9A==",
+ "deprecated": "The `apollo-server-types` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.",
+ "dependencies": {
+ "@apollo/utils.keyvaluecache": "^1.0.1",
+ "@apollo/utils.logger": "^1.0.0",
+ "apollo-reporting-protobuf": "^3.4.0",
+ "apollo-server-env": "^4.2.1"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "peerDependencies": {
+ "graphql": "^15.3.0 || ^16.0.0"
+ }
+ },
+ "node_modules/app-root-path": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz",
+ "integrity": "sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==",
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/array-buffer-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
+ "dev": true
+ },
+ "node_modules/async-retry": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz",
+ "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==",
+ "dependencies": {
+ "retry": "0.13.1"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "dev": true
+ },
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/axios": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
+ "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
+ "dev": true,
+ "dependencies": {
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/axios-retry": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.5.0.tgz",
+ "integrity": "sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==",
+ "dev": true,
+ "dependencies": {
+ "is-retry-allowed": "^2.2.0"
+ },
+ "peerDependencies": {
+ "axios": "0.x || 1.x"
+ }
+ },
+ "node_modules/b4a": {
+ "version": "1.6.7",
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz",
+ "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/big.js": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.1.tgz",
+ "integrity": "sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==",
+ "peer": true,
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/bigjs"
+ }
+ },
+ "node_modules/bintrees": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz",
+ "integrity": "sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw=="
+ },
+ "node_modules/bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "dev": true,
+ "dependencies": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "node_modules/bl/node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/blake2b": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/blake2b/-/blake2b-2.1.4.tgz",
+ "integrity": "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A==",
+ "license": "ISC",
+ "dependencies": {
+ "blake2b-wasm": "^2.4.0",
+ "nanoassert": "^2.0.0"
+ }
+ },
+ "node_modules/blake2b-wasm": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz",
+ "integrity": "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w==",
+ "license": "MIT",
+ "dependencies": {
+ "b4a": "^1.0.1",
+ "nanoassert": "^2.0.0"
+ }
+ },
+ "node_modules/blessed-contrib": {
+ "version": "4.11.0",
+ "resolved": "https://registry.npmjs.org/blessed-contrib/-/blessed-contrib-4.11.0.tgz",
+ "integrity": "sha512-P00Xji3xPp53+FdU9f74WpvnOAn/SS0CKLy4vLAf5Ps7FGDOTY711ruJPZb3/7dpFuP+4i7f4a/ZTZdLlKG9WA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-term": ">=0.0.2",
+ "chalk": "^1.1.0",
+ "drawille-canvas-blessed-contrib": ">=0.1.3",
+ "lodash": "~>=4.17.21",
+ "map-canvas": ">=0.1.5",
+ "marked": "^4.0.12",
+ "marked-terminal": "^5.1.1",
+ "memory-streams": "^0.1.0",
+ "memorystream": "^0.3.1",
+ "picture-tuber": "^1.0.1",
+ "sparkline": "^0.1.1",
+ "strip-ansi": "^3.0.0",
+ "term-canvas": "0.0.5",
+ "x256": ">=0.0.1"
+ }
+ },
+ "node_modules/blessed-contrib/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/blessed-contrib/node_modules/ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/blessed-contrib/node_modules/chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/blessed-contrib/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/blessed-contrib/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/blessed-contrib/node_modules/supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/bn.js": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
+ "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
+ "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.5",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.11.0",
+ "raw-body": "2.5.2",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/bresenham": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/bresenham/-/bresenham-0.0.3.tgz",
+ "integrity": "sha512-wbMxoJJM1p3+6G7xEFXYNCJ30h2qkwmVxebkbwIl4OcnWtno5R3UT9VuYLfStlVNAQCmRjkGwjPFdfaPd4iNXw==",
+ "dev": true
+ },
+ "node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/buffer-alloc": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
+ "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
+ "dev": true,
+ "dependencies": {
+ "buffer-alloc-unsafe": "^1.1.0",
+ "buffer-fill": "^1.0.0"
+ }
+ },
+ "node_modules/buffer-alloc-unsafe": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
+ "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
+ "dev": true
+ },
+ "node_modules/buffer-fill": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
+ "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==",
+ "dev": true
+ },
+ "node_modules/buffers": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
+ "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.2.0"
+ }
+ },
+ "node_modules/bufferutil": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz",
+ "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">=6.14.2"
+ }
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cardinal": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz",
+ "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==",
+ "dev": true,
+ "dependencies": {
+ "ansicolors": "~0.3.2",
+ "redeyed": "~2.1.0"
+ },
+ "bin": {
+ "cdl": "bin/cdl.js"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true
+ },
+ "node_modules/charm": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/charm/-/charm-0.1.2.tgz",
+ "integrity": "sha512-syedaZ9cPe7r3hoQA9twWYKu5AIyCswN5+szkmPBe9ccdLrj4bYaCnLVPTLd2kgVRc7+zoX4tyPgRnFKCj5YjQ==",
+ "dev": true
+ },
+ "node_modules/chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+ "dev": true
+ },
+ "node_modules/clean-stack": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz",
+ "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "dev": true,
+ "dependencies": {
+ "restore-cursor": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-diff": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/cli-diff/-/cli-diff-1.0.0.tgz",
+ "integrity": "sha512-XOVrll4VMhxBv26WqV6OH9cWqRxBXthh3uZ3dtg+CLqB8m0R6QJiSoDIXQNXDAeo/FAkQ+kF9Ph8NhQskU3LpQ==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^2.4.1",
+ "diff": "^3.5.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/cli-diff/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-diff/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-diff/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/cli-diff/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "dev": true
+ },
+ "node_modules/cli-diff/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/cli-diff/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-diff/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-highlight": {
+ "version": "2.1.11",
+ "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz",
+ "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "highlight.js": "^10.7.1",
+ "mz": "^2.4.0",
+ "parse5": "^5.1.1",
+ "parse5-htmlparser2-tree-adapter": "^6.0.0",
+ "yargs": "^16.0.0"
+ },
+ "bin": {
+ "highlight": "bin/highlight"
+ },
+ "engines": {
+ "node": ">=8.0.0",
+ "npm": ">=5.0.0"
+ }
+ },
+ "node_modules/cli-highlight/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-highlight/node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/cli-highlight/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/cli-highlight/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-highlight/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-highlight/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/cli-highlight/node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/cli-highlight/node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/cli-progress": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz",
+ "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.3"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-progress/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-progress/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/cli-progress/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-progress/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-select": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/cli-select/-/cli-select-1.1.2.tgz",
+ "integrity": "sha512-PSvWb8G0PPmBNDcz/uM2LkZN3Nn5JmhUl465tTfynQAXjKzFpmHbxStM6X/+awKp5DJuAaHMzzMPefT0suGm1w==",
+ "dev": true,
+ "dependencies": {
+ "ansi-escapes": "^3.2.0"
+ }
+ },
+ "node_modules/cli-select/node_modules/ansi-escapes": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-spinners": {
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
+ "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-table3": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz",
+ "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0"
+ },
+ "engines": {
+ "node": "10.* || >= 12.*"
+ },
+ "optionalDependencies": {
+ "@colors/colors": "1.5.0"
+ }
+ },
+ "node_modules/cli-table3/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-table3/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/cli-table3/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-table3/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-width": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/cliui/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/cliui/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/cluster-key-slot": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz",
+ "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/color": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
+ "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1",
+ "color-string": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=12.5.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/color-string": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
+ "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/commander": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz",
+ "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "node_modules/config-chain": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
+ "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
+ "dev": true,
+ "dependencies": {
+ "ini": "^1.3.4",
+ "proto-list": "~1.2.1"
+ }
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+ "dev": true
+ },
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/cross-inspect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/cross-inspect/-/cross-inspect-1.0.0.tgz",
+ "integrity": "sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/cssfilter": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz",
+ "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw=="
+ },
+ "node_modules/cuint": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz",
+ "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==",
+ "license": "MIT"
+ },
+ "node_modules/d": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
+ "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
+ "dependencies": {
+ "es5-ext": "^0.10.64",
+ "type": "^2.7.2"
+ },
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/data-uri-to-buffer": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
+ "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/dataloader": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.2.tgz",
+ "integrity": "sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g=="
+ },
+ "node_modules/date-fns": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz",
+ "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/kossnocorp"
+ }
+ },
+ "node_modules/dayjs": {
+ "version": "1.11.11",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz",
+ "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg=="
+ },
+ "node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/deep-equal": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz",
+ "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.5",
+ "es-get-iterator": "^1.1.3",
+ "get-intrinsic": "^1.2.2",
+ "is-arguments": "^1.1.1",
+ "is-array-buffer": "^3.0.2",
+ "is-date-object": "^1.0.5",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.2",
+ "isarray": "^2.0.5",
+ "object-is": "^1.1.5",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.4",
+ "regexp.prototype.flags": "^1.5.1",
+ "side-channel": "^1.0.4",
+ "which-boxed-primitive": "^1.0.2",
+ "which-collection": "^1.0.1",
+ "which-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/defaults": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
+ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+ "dev": true,
+ "dependencies": {
+ "clone": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.4.5",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
+ "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/drawille-blessed-contrib": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/drawille-blessed-contrib/-/drawille-blessed-contrib-1.0.0.tgz",
+ "integrity": "sha512-WnHMgf5en/hVOsFhxLI8ZX0qTJmerOsVjIMQmn4cR1eI8nLGu+L7w5ENbul+lZ6w827A3JakCuernES5xbHLzQ==",
+ "dev": true
+ },
+ "node_modules/drawille-canvas-blessed-contrib": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/drawille-canvas-blessed-contrib/-/drawille-canvas-blessed-contrib-0.1.3.tgz",
+ "integrity": "sha512-bdDvVJOxlrEoPLifGDPaxIzFh3cD7QH05ePoQ4fwnqfi08ZSxzEhOUpI5Z0/SQMlWgcCQOEtuw0zrwezacXglw==",
+ "dev": true,
+ "dependencies": {
+ "ansi-term": ">=0.0.2",
+ "bresenham": "0.0.3",
+ "drawille-blessed-contrib": ">=0.0.1",
+ "gl-matrix": "^2.1.0",
+ "x256": ">=0.0.1"
+ }
+ },
+ "node_modules/dset": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz",
+ "integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "node_modules/ejs": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+ "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
+ "dev": true,
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-get-iterator": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
+ "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "has-symbols": "^1.0.3",
+ "is-arguments": "^1.1.1",
+ "is-map": "^2.0.2",
+ "is-set": "^2.0.2",
+ "is-string": "^1.0.7",
+ "isarray": "^2.0.5",
+ "stop-iteration-iterator": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es5-ext": {
+ "version": "0.10.64",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
+ "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.3",
+ "esniff": "^2.0.1",
+ "next-tick": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "node_modules/es6-symbol": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
+ "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
+ "dependencies": {
+ "d": "^1.0.2",
+ "ext": "^1.7.0"
+ },
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/esniff": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
+ "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
+ "dependencies": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.62",
+ "event-emitter": "^0.3.5",
+ "type": "^2.7.2"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/ethers": {
+ "version": "6.13.4",
+ "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.4.tgz",
+ "integrity": "sha512-21YtnZVg4/zKkCQPjrDj38B1r4nQvTZLopUGMLQ1ePU2zV/joCfDC3t3iKQjWRzjjjbzR+mdAIoikeBRNkdllA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/ethers-io/"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.buymeacoffee.com/ricmoo"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@adraffy/ens-normalize": "1.10.1",
+ "@noble/curves": "1.2.0",
+ "@noble/hashes": "1.3.2",
+ "@types/node": "22.7.5",
+ "aes-js": "4.0.0-beta.5",
+ "tslib": "2.7.0",
+ "ws": "8.17.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/ethers/node_modules/@noble/curves": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz",
+ "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==",
+ "license": "MIT",
+ "dependencies": {
+ "@noble/hashes": "1.3.2"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/ethers/node_modules/@noble/hashes": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
+ "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/ethers/node_modules/@types/node": {
+ "version": "22.7.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz",
+ "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==",
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~6.19.2"
+ }
+ },
+ "node_modules/ethers/node_modules/tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==",
+ "license": "0BSD"
+ },
+ "node_modules/ethers/node_modules/undici-types": {
+ "version": "6.19.8",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
+ "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
+ "license": "MIT"
+ },
+ "node_modules/ethers/node_modules/ws": {
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
+ "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ },
+ "node_modules/event-stream": {
+ "version": "0.9.8",
+ "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-0.9.8.tgz",
+ "integrity": "sha512-o5h0Mp1bkoR6B0i7pTCAzRy+VzdsRWH997KQD4Psb0EOPoKEIiaRx/EsOdUl7p1Ktjw7aIWvweI/OY1R9XrlUg==",
+ "dev": true,
+ "dependencies": {
+ "optimist": "0.2"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/event-stream/node_modules/optimist": {
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz",
+ "integrity": "sha512-Wy7E3cQDpqsTIFyW7m22hSevyTLxw850ahYv7FWsw4G6MIKVTZ8NSA95KBrQ95a4SMsMr1UGUUnwEFKhVaSzIg==",
+ "dev": true,
+ "dependencies": {
+ "wordwrap": ">=0.0.1 <0.1.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/event-stream/node_modules/wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/eventemitter3": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
+ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/express": {
+ "version": "4.19.2",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
+ "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.2",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.6.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.11.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/ext": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
+ "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
+ "dependencies": {
+ "type": "^2.7.2"
+ }
+ },
+ "node_modules/external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "dev": true,
+ "dependencies": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz",
+ "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==",
+ "dev": true,
+ "dependencies": {
+ "fastest-levenshtein": "^1.0.7"
+ }
+ },
+ "node_modules/fastest-levenshtein": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+ "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.9.1"
+ }
+ },
+ "node_modules/fastq": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "dev": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fetch-blob": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
+ "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "dependencies": {
+ "node-domexception": "^1.0.0",
+ "web-streams-polyfill": "^3.0.3"
+ },
+ "engines": {
+ "node": "^12.20 || >= 14.13"
+ }
+ },
+ "node_modules/figlet": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.8.0.tgz",
+ "integrity": "sha512-chzvGjd+Sp7KUvPHZv6EXV5Ir3Q7kYNpCr4aHrRW79qFtTefmQZNny+W1pW9kf5zeE6dikku2W50W/wAH2xWgw==",
+ "dev": true,
+ "bin": {
+ "figlet": "bin/index.js"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/figures/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dev": true,
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.9",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
+ "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "dependencies": {
+ "is-callable": "^1.1.3"
+ }
+ },
+ "node_modules/foreground-child": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
+ "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
+ "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
+ "dev": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/formdata-polyfill": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
+ "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
+ "dependencies": {
+ "fetch-blob": "^3.1.2"
+ },
+ "engines": {
+ "node": ">=12.20.0"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "dev": true
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-package-type": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/gl-matrix": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-2.8.1.tgz",
+ "integrity": "sha512-0YCjVpE3pS5XWlN3J4X7AiAx65+nqAI54LndtVFnQZB6G/FVLkZH8y8V6R3cIoOQR4pUdfwQGd1iwyoXHJ4Qfw==",
+ "dev": true
+ },
+ "node_modules/glob": {
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ "dev": true
+ },
+ "node_modules/graphql": {
+ "version": "15.9.0",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.9.0.tgz",
+ "integrity": "sha512-GCOQdvm7XxV1S4U4CGrsdlEN37245eC8P9zaYCMr6K1BG0IPGy5lUwmJsEOGyl1GD6HXjOtl2keCP9asRBwNvA==",
+ "engines": {
+ "node": ">= 10.x"
+ }
+ },
+ "node_modules/graphql-parse-resolve-info": {
+ "version": "4.14.0",
+ "resolved": "https://registry.npmjs.org/graphql-parse-resolve-info/-/graphql-parse-resolve-info-4.14.0.tgz",
+ "integrity": "sha512-5Fbquh3IZMciLYgtiWeFxAeZOwpPyonhbaN05fzL/Gll0HS0hMqJh1Q88NQLHiASD6//cJ3LTXLncuajRqsUcA==",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "tslib": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ },
+ "peerDependencies": {
+ "graphql": ">=0.9 <0.14 || ^14.0.2 || ^15.4.0 || ^16.3.0"
+ }
+ },
+ "node_modules/graphql-parse-resolve-info/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/graphql-parse-resolve-info/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/graphql-tag": {
+ "version": "2.12.6",
+ "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
+ "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/graphql-ws": {
+ "version": "5.16.0",
+ "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.16.0.tgz",
+ "integrity": "sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==",
+ "workspaces": [
+ "website"
+ ],
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "graphql": ">=0.11 <=16"
+ }
+ },
+ "node_modules/has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-ansi/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-bigints": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
+ "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/here": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/here/-/here-0.0.2.tgz",
+ "integrity": "sha512-U7VYImCTcPoY27TSmzoiFsmWLEqQFaYNdpsPb9K0dXJhE6kufUqycaz51oR09CW85dDU9iWyy7At8M+p7hb3NQ==",
+ "dev": true
+ },
+ "node_modules/highlight.js": {
+ "version": "10.7.3",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/http-call": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz",
+ "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==",
+ "dev": true,
+ "dependencies": {
+ "content-type": "^1.0.4",
+ "debug": "^4.1.1",
+ "is-retry-allowed": "^1.1.0",
+ "is-stream": "^2.0.0",
+ "parse-json": "^4.0.0",
+ "tunnel-agent": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/http-call/node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/http-call/node_modules/is-retry-allowed": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
+ "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/http-call/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/hyperlinker": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz",
+ "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/inflected": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/inflected/-/inflected-2.1.0.tgz",
+ "integrity": "sha512-hAEKNxvHf2Iq3H60oMBHkB4wl5jn3TPF3+fXek/sRwAB5gP9xWs4r7aweSF95f99HFoz69pnZTcu8f0SIHV18w=="
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
+ "node_modules/inquirer": {
+ "version": "8.2.6",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz",
+ "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.1",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "0.0.8",
+ "ora": "^5.4.1",
+ "run-async": "^2.4.0",
+ "rxjs": "^7.5.5",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6",
+ "wrap-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/inquirer/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/inquirer/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/inquirer/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/inquirer/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/inquirer/node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/internal-slot": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+ "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.0",
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/ioredis": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.4.1.tgz",
+ "integrity": "sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==",
+ "dependencies": {
+ "@ioredis/commands": "^1.1.1",
+ "cluster-key-slot": "^1.1.0",
+ "debug": "^4.3.4",
+ "denque": "^2.1.0",
+ "lodash.defaults": "^4.2.0",
+ "lodash.isarguments": "^3.1.0",
+ "redis-errors": "^1.2.0",
+ "redis-parser": "^3.0.0",
+ "standard-as-callback": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=12.22.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ioredis"
+ }
+ },
+ "node_modules/ioredis/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ioredis/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-arguments": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
+ "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-array-buffer": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "dev": true
+ },
+ "node_modules/is-bigint": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+ "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+ "dependencies": {
+ "has-bigints": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
+ "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
+ "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true,
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-interactive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
+ "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-regex": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+ "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-retry-allowed": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz",
+ "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-set": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-shared-array-buffer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
+ "dependencies": {
+ "call-bind": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+ "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
+ "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-weakmap": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakset": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
+ "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+ },
+ "node_modules/jackspeak": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
+ "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/jake": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz",
+ "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==",
+ "dev": true,
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.4",
+ "minimatch": "^3.1.2"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jake/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/jake/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/joi": {
+ "version": "17.13.3",
+ "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz",
+ "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==",
+ "dev": true,
+ "dependencies": {
+ "@hapi/hoek": "^9.3.0",
+ "@hapi/topo": "^5.1.0",
+ "@sideway/address": "^4.1.5",
+ "@sideway/formula": "^3.0.1",
+ "@sideway/pinpoint": "^2.0.0"
+ }
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
+ },
+ "node_modules/json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true
+ },
+ "node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
+ "license": "ISC",
+ "peer": true
+ },
+ "node_modules/jsonc-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
+ "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
+ "dev": true
+ },
+ "node_modules/keccak": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz",
+ "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-addon-api": "^2.0.0",
+ "node-gyp-build": "^4.2.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/keccak256": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/keccak256/-/keccak256-1.0.6.tgz",
+ "integrity": "sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw==",
+ "dependencies": {
+ "bn.js": "^5.2.0",
+ "buffer": "^6.0.3",
+ "keccak": "^3.0.2"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/lilconfig": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
+ "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antonk52"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "node_modules/lodash.defaults": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
+ },
+ "node_modules/lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg=="
+ },
+ "node_modules/lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA=="
+ },
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/loglevel": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz",
+ "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==",
+ "engines": {
+ "node": ">= 0.6.0"
+ },
+ "funding": {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/loglevel"
+ }
+ },
+ "node_modules/long": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
+ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
+ },
+ "node_modules/lru-cache": {
+ "version": "7.13.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz",
+ "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/map-canvas": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/map-canvas/-/map-canvas-0.1.5.tgz",
+ "integrity": "sha512-f7M3sOuL9+up0NCOZbb1rQpWDLZwR/ftCiNbyscjl9LUUEwrRaoumH4sz6swgs58lF21DQ0hsYOCw5C6Zz7hbg==",
+ "dev": true,
+ "dependencies": {
+ "drawille-canvas-blessed-contrib": ">=0.0.1",
+ "xml2js": "^0.4.5"
+ }
+ },
+ "node_modules/marked": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
+ "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
+ "dev": true,
+ "bin": {
+ "marked": "bin/marked.js"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/marked-terminal": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.2.0.tgz",
+ "integrity": "sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-escapes": "^6.2.0",
+ "cardinal": "^2.1.1",
+ "chalk": "^5.2.0",
+ "cli-table3": "^0.6.3",
+ "node-emoji": "^1.11.0",
+ "supports-hyperlinks": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=14.13.1 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "marked": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/marked-terminal/node_modules/ansi-escapes": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz",
+ "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/marked-terminal/node_modules/chalk": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+ "dev": true,
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memory-streams": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/memory-streams/-/memory-streams-0.1.3.tgz",
+ "integrity": "sha512-qVQ/CjkMyMInPaaRMrwWNDvf6boRZXaT/DbQeMYcCWuXPEBf1v8qChOc9OlEVQp2uOvRXa1Qu30fLmKhY6NipA==",
+ "dev": true,
+ "dependencies": {
+ "readable-stream": "~1.0.2"
+ }
+ },
+ "node_modules/memory-streams/node_modules/isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
+ "dev": true
+ },
+ "node_modules/memory-streams/node_modules/readable-stream": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+ "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
+ "dev": true,
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "node_modules/memory-streams/node_modules/string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
+ "dev": true
+ },
+ "node_modules/memorystream": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
+ "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz",
+ "integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==",
+ "bin": {
+ "mkdirp": "dist/cjs/src/bin.js"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/mock-socket": {
+ "version": "9.3.1",
+ "resolved": "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz",
+ "integrity": "sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "dev": true
+ },
+ "node_modules/mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "dependencies": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "node_modules/nanoassert": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz",
+ "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==",
+ "license": "ISC"
+ },
+ "node_modules/natural-orderby": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz",
+ "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/neo-blessed": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/neo-blessed/-/neo-blessed-0.2.0.tgz",
+ "integrity": "sha512-C2kC4K+G2QnNQFXUIxTQvqmrdSIzGTX1ZRKeDW6ChmvPRw8rTkTEJzbEQHiHy06d36PCl/yMOCjquCRV8SpSQw==",
+ "dev": true,
+ "bin": {
+ "neo-blessed": "bin/tput.js"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/next-tick": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
+ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
+ },
+ "node_modules/nock": {
+ "version": "13.5.5",
+ "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.5.tgz",
+ "integrity": "sha512-XKYnqUrCwXC8DGG1xX4YH5yNIrlh9c065uaMZZHUoeUUINTOyt+x/G+ezYk0Ft6ExSREVIs+qBJDK503viTfFA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "debug": "^4.1.0",
+ "json-stringify-safe": "^5.0.1",
+ "propagate": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13"
+ }
+ },
+ "node_modules/nock/node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/nock/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/node-abort-controller": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz",
+ "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ=="
+ },
+ "node_modules/node-addon-api": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz",
+ "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA=="
+ },
+ "node_modules/node-domexception": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "github",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "engines": {
+ "node": ">=10.5.0"
+ }
+ },
+ "node_modules/node-emoji": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
+ "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
+ "dev": true,
+ "dependencies": {
+ "lodash": "^4.17.21"
+ }
+ },
+ "node_modules/node-fetch": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
+ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
+ "dependencies": {
+ "data-uri-to-buffer": "^4.0.0",
+ "fetch-blob": "^3.1.4",
+ "formdata-polyfill": "^4.0.10"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/node-fetch"
+ }
+ },
+ "node_modules/node-gyp-build": {
+ "version": "4.8.1",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz",
+ "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==",
+ "bin": {
+ "node-gyp-build": "bin.js",
+ "node-gyp-build-optional": "optional.js",
+ "node-gyp-build-test": "build-test.js"
+ }
+ },
+ "node_modules/nopt": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz",
+ "integrity": "sha512-x8vXm7BZ2jE1Txrxh/hO74HTuYZQEbo8edoRcANgdZ4+PCV+pbjd/xdummkmjjC7LU5EjPzlu8zEq/oxWylnKA==",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
+ "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-is": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
+ "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object-treeify": {
+ "version": "1.1.33",
+ "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz",
+ "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+ "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/open": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+ "dev": true,
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/optimist": {
+ "version": "0.3.7",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
+ "integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==",
+ "dev": true,
+ "dependencies": {
+ "wordwrap": "~0.0.2"
+ }
+ },
+ "node_modules/optimist/node_modules/wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/ora": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
+ "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
+ "dev": true,
+ "dependencies": {
+ "bl": "^4.1.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "is-unicode-supported": "^0.1.0",
+ "log-symbols": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ora/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ora/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/package-json-from-dist": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
+ "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw=="
+ },
+ "node_modules/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
+ "dev": true,
+ "dependencies": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/parse5": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
+ "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug=="
+ },
+ "node_modules/parse5-htmlparser2-tree-adapter": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
+ "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
+ "dependencies": {
+ "parse5": "^6.0.1"
+ }
+ },
+ "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/password-prompt": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz",
+ "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==",
+ "dev": true,
+ "dependencies": {
+ "ansi-escapes": "^4.3.2",
+ "cross-spawn": "^7.0.3"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-scurry": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz",
+ "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==",
+ "engines": {
+ "node": "14 || >=16.14"
+ }
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pg": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/pg/-/pg-8.12.0.tgz",
+ "integrity": "sha512-A+LHUSnwnxrnL/tZ+OLfqR1SxLN3c/pgDztZ47Rpbsd4jUytsTtwQo/TLPRzPJMp/1pbhYVhH9cuSZLAajNfjQ==",
+ "dependencies": {
+ "pg-connection-string": "^2.6.4",
+ "pg-pool": "^3.6.2",
+ "pg-protocol": "^1.6.1",
+ "pg-types": "^2.1.0",
+ "pgpass": "1.x"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ },
+ "optionalDependencies": {
+ "pg-cloudflare": "^1.1.1"
+ },
+ "peerDependencies": {
+ "pg-native": ">=3.0.1"
+ },
+ "peerDependenciesMeta": {
+ "pg-native": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/pg-cloudflare": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz",
+ "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==",
+ "optional": true
+ },
+ "node_modules/pg-connection-string": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.4.tgz",
+ "integrity": "sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA=="
+ },
+ "node_modules/pg-int8": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz",
+ "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/pg-pool": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.2.tgz",
+ "integrity": "sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==",
+ "peerDependencies": {
+ "pg": ">=8.0"
+ }
+ },
+ "node_modules/pg-protocol": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.1.tgz",
+ "integrity": "sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg=="
+ },
+ "node_modules/pg-types": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz",
+ "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==",
+ "dependencies": {
+ "pg-int8": "1.0.1",
+ "postgres-array": "~2.0.0",
+ "postgres-bytea": "~1.0.0",
+ "postgres-date": "~1.0.4",
+ "postgres-interval": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pgpass": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz",
+ "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==",
+ "dependencies": {
+ "split2": "^4.1.0"
+ }
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/picture-tuber": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/picture-tuber/-/picture-tuber-1.0.2.tgz",
+ "integrity": "sha512-49/xq+wzbwDeI32aPvwQJldM8pr7dKDRuR76IjztrkmiCkAQDaWFJzkmfVqCHmt/iFoPFhHmI9L0oKhthrTOQw==",
+ "dev": true,
+ "dependencies": {
+ "buffers": "~0.1.1",
+ "charm": "~0.1.0",
+ "event-stream": "~0.9.8",
+ "optimist": "~0.3.4",
+ "png-js": "~0.1.0",
+ "x256": "~0.0.1"
+ },
+ "bin": {
+ "picture-tube": "bin/tube.js"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/png-js": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/png-js/-/png-js-0.1.1.tgz",
+ "integrity": "sha512-NTtk2SyfjBm+xYl2/VZJBhFnTQ4kU5qWC7VC4/iGbrgiU4FuB4xC+74erxADYJIqZICOR1HCvRA7EBHkpjTg9g==",
+ "dev": true
+ },
+ "node_modules/possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/postgres-array": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz",
+ "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postgres-bytea": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz",
+ "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postgres-date": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz",
+ "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/postgres-interval": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz",
+ "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==",
+ "dependencies": {
+ "xtend": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pretty-bytes": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
+ "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true
+ },
+ "node_modules/prom-client": {
+ "version": "14.2.0",
+ "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-14.2.0.tgz",
+ "integrity": "sha512-sF308EhTenb/pDRPakm+WgiN+VdM/T1RaHj1x+MvAuT8UiQP8JmOEbxVqtkbfR4LrvOg5n7ic01kRBDGXjYikA==",
+ "dependencies": {
+ "tdigest": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/propagate": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz",
+ "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/proto-list": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
+ "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
+ "dev": true
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+ "dev": true
+ },
+ "node_modules/pump": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
+ "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
+ "dev": true,
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/reblessed": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/reblessed/-/reblessed-0.2.1.tgz",
+ "integrity": "sha512-L2/u0PpF18T8YKc5EiwnY8/+YNBR2DOtbb45H8AvgtxYzU64Xr7D1lI+rjZ8hNHHAK40n99lGmU3wvxat8L89Q==",
+ "dev": true,
+ "bin": {
+ "reblessed": "bin/tput.js"
+ },
+ "engines": {
+ "node": ">= 8.10"
+ }
+ },
+ "node_modules/redeyed": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz",
+ "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==",
+ "dev": true,
+ "dependencies": {
+ "esprima": "~4.0.0"
+ }
+ },
+ "node_modules/redis-errors": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
+ "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/redis-parser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
+ "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==",
+ "dependencies": {
+ "redis-errors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/reflect-metadata": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz",
+ "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q=="
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+ "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/registry-auth-token": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz",
+ "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==",
+ "dev": true,
+ "dependencies": {
+ "@pnpm/npm-conf": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "dev": true,
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/restore-cursor/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
+ },
+ "node_modules/retry": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/run-async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/sails-js": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/sails-js/-/sails-js-0.3.0.tgz",
+ "integrity": "sha512-GyxWBguS5GTqqfuLDERiMHPVVgt5cKNKy2HLQYrbXPUwkCRkfQ03sHptIt+uSyBNoYnzXkXqcGXmvW1GyEal+w==",
+ "license": "GPL-3.0",
+ "bin": {
+ "sails-js": "lib/app.js"
+ },
+ "peerDependencies": {
+ "@gear-js/api": "0.38.3",
+ "@polkadot/api": "13.2.1",
+ "@polkadot/types": "13.2.1",
+ "sails-js-types": "0.0.1",
+ "sails-js-util": "0.0.1"
+ }
+ },
+ "node_modules/sails-js-parser": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/sails-js-parser/-/sails-js-parser-0.1.0.tgz",
+ "integrity": "sha512-Kq7NqIFZIKhDRTQ11qn2KCThjBGWE4I23K7YgrBmc8RY8UEs/mAhAm9T4r934lmQm3QAEhm7Igetue921kS5PQ==",
+ "license": "GPL-3.0",
+ "peerDependencies": {
+ "sails-js-types": "0.0.1"
+ }
+ },
+ "node_modules/sails-js-types": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/sails-js-types/-/sails-js-types-0.0.1.tgz",
+ "integrity": "sha512-pwJVfCtbLFOqcMtBZyb58pE+giww4cAETWr+LBK0euDWuej5SSPiE9s1oOalURkV3cJTJf2PUavZMsWHyKeNLQ==",
+ "peer": true
+ },
+ "node_modules/sails-js-util": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/sails-js-util/-/sails-js-util-0.0.1.tgz",
+ "integrity": "sha512-Hyc7WaqpKVpFSr0AnQrKVqyHcwh1HlGvrouGLnaVq0xTTMH8/NgWasP3PuAZ0/W0k0kaK77Nt5J1rwZGlWpx2Q==",
+ "peer": true
+ },
+ "node_modules/sax": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
+ "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==",
+ "dev": true
+ },
+ "node_modules/scale-ts": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/scale-ts/-/scale-ts-1.6.0.tgz",
+ "integrity": "sha512-Ja5VCjNZR8TGKhUumy9clVVxcDpM+YFjAnkMuwQy68Hixio3VRRvWdE3g8T/yC+HXA0ZDQl2TGyUmtmbcVl40Q==",
+ "license": "MIT",
+ "optional": true,
+ "peer": true
+ },
+ "node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "node_modules/sha.js": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ },
+ "bin": {
+ "sha.js": "bin.js"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/simple-git": {
+ "version": "3.27.0",
+ "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.27.0.tgz",
+ "integrity": "sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==",
+ "dev": true,
+ "dependencies": {
+ "@kwsites/file-exists": "^1.1.1",
+ "@kwsites/promise-deferred": "^1.1.1",
+ "debug": "^4.3.5"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/steveukx/git-js?sponsor=1"
+ }
+ },
+ "node_modules/simple-git/node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/simple-git/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/simple-swizzle": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+ "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
+ "dev": true,
+ "dependencies": {
+ "is-arrayish": "^0.3.1"
+ }
+ },
+ "node_modules/simple-swizzle/node_modules/is-arrayish": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+ "dev": true
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/smoldot": {
+ "version": "2.0.26",
+ "resolved": "https://registry.npmjs.org/smoldot/-/smoldot-2.0.26.tgz",
+ "integrity": "sha512-F+qYmH4z2s2FK+CxGj8moYcd1ekSIKH8ywkdqlOz88Dat35iB1DIYL11aILN46YSGMzQW/lbJNS307zBSDN5Ig==",
+ "license": "GPL-3.0-or-later WITH Classpath-exception-2.0",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "ws": "^8.8.1"
+ }
+ },
+ "node_modules/sparkline": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/sparkline/-/sparkline-0.1.2.tgz",
+ "integrity": "sha512-t//aVOiWt9fi/e22ea1vXVWBDX+gp18y+Ch9sKqmHl828bRfvP2VtfTJVEcgWFBQHd0yDPNQRiHdqzCvbcYSDA==",
+ "dev": true,
+ "dependencies": {
+ "here": "0.0.2",
+ "nopt": "~2.1.2"
+ },
+ "bin": {
+ "sparkline": "bin/sparkline"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/split2": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
+ "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
+ "engines": {
+ "node": ">= 10.x"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true
+ },
+ "node_modules/standard-as-callback": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
+ "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/stop-iteration-iterator": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
+ "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
+ "dependencies": {
+ "internal-slot": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/stoppable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz",
+ "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==",
+ "engines": {
+ "node": ">=4",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/string-width-cjs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/supports-hyperlinks": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+ "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-hyperlinks/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tar-fs": {
+ "version": "1.16.3",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz",
+ "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==",
+ "dev": true,
+ "dependencies": {
+ "chownr": "^1.0.1",
+ "mkdirp": "^0.5.1",
+ "pump": "^1.0.0",
+ "tar-stream": "^1.1.2"
+ }
+ },
+ "node_modules/tar-fs/node_modules/mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/tar-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
+ "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
+ "dev": true,
+ "dependencies": {
+ "bl": "^1.0.0",
+ "buffer-alloc": "^1.2.0",
+ "end-of-stream": "^1.0.0",
+ "fs-constants": "^1.0.0",
+ "readable-stream": "^2.3.0",
+ "to-buffer": "^1.1.1",
+ "xtend": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/tar-stream/node_modules/bl": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz",
+ "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==",
+ "dev": true,
+ "dependencies": {
+ "readable-stream": "^2.3.5",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "node_modules/tar-stream/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true
+ },
+ "node_modules/tar-stream/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/tar-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "node_modules/tar-stream/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/targz": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/targz/-/targz-1.0.1.tgz",
+ "integrity": "sha512-6q4tP9U55mZnRuMTBqnqc3nwYQY3kv+QthCFZuMk+Tn1qYUnMPmL/JZ/mzgXINzFpSqfU+242IFmFU9VPvqaQw==",
+ "dev": true,
+ "dependencies": {
+ "tar-fs": "^1.8.1"
+ }
+ },
+ "node_modules/tdigest": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.2.tgz",
+ "integrity": "sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==",
+ "dependencies": {
+ "bintrees": "1.0.2"
+ }
+ },
+ "node_modules/term-canvas": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/term-canvas/-/term-canvas-0.0.5.tgz",
+ "integrity": "sha512-eZ3rIWi5yLnKiUcsW8P79fKyooaLmyLWAGqBhFspqMxRNUiB4GmHHk5AzQ4LxvFbJILaXqQZLwbbATLOhCFwkw==",
+ "dev": true
+ },
+ "node_modules/thenify": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+ "dependencies": {
+ "any-promise": "^1.0.0"
+ }
+ },
+ "node_modules/thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "dependencies": {
+ "thenify": ">= 3.1.0 < 4"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+ "dev": true
+ },
+ "node_modules/tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "dependencies": {
+ "os-tmpdir": "~1.0.2"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/to-buffer": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
+ "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
+ "dev": true
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "node_modules/tree-kill": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
+ "dev": true,
+ "bin": {
+ "tree-kill": "cli.js"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz",
+ "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==",
+ "license": "0BSD"
+ },
+ "node_modules/tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/type": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
+ "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ=="
+ },
+ "node_modules/type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dependencies": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "node_modules/typeorm": {
+ "version": "0.3.20",
+ "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.20.tgz",
+ "integrity": "sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q==",
+ "dependencies": {
+ "@sqltools/formatter": "^1.2.5",
+ "app-root-path": "^3.1.0",
+ "buffer": "^6.0.3",
+ "chalk": "^4.1.2",
+ "cli-highlight": "^2.1.11",
+ "dayjs": "^1.11.9",
+ "debug": "^4.3.4",
+ "dotenv": "^16.0.3",
+ "glob": "^10.3.10",
+ "mkdirp": "^2.1.3",
+ "reflect-metadata": "^0.2.1",
+ "sha.js": "^2.4.11",
+ "tslib": "^2.5.0",
+ "uuid": "^9.0.0",
+ "yargs": "^17.6.2"
+ },
+ "bin": {
+ "typeorm": "cli.js",
+ "typeorm-ts-node-commonjs": "cli-ts-node-commonjs.js",
+ "typeorm-ts-node-esm": "cli-ts-node-esm.js"
+ },
+ "engines": {
+ "node": ">=16.13.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/typeorm"
+ },
+ "peerDependencies": {
+ "@google-cloud/spanner": "^5.18.0",
+ "@sap/hana-client": "^2.12.25",
+ "better-sqlite3": "^7.1.2 || ^8.0.0 || ^9.0.0",
+ "hdb-pool": "^0.1.6",
+ "ioredis": "^5.0.4",
+ "mongodb": "^5.8.0",
+ "mssql": "^9.1.1 || ^10.0.1",
+ "mysql2": "^2.2.5 || ^3.0.1",
+ "oracledb": "^6.3.0",
+ "pg": "^8.5.1",
+ "pg-native": "^3.0.0",
+ "pg-query-stream": "^4.0.0",
+ "redis": "^3.1.1 || ^4.0.0",
+ "sql.js": "^1.4.0",
+ "sqlite3": "^5.0.3",
+ "ts-node": "^10.7.0",
+ "typeorm-aurora-data-api-driver": "^2.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@google-cloud/spanner": {
+ "optional": true
+ },
+ "@sap/hana-client": {
+ "optional": true
+ },
+ "better-sqlite3": {
+ "optional": true
+ },
+ "hdb-pool": {
+ "optional": true
+ },
+ "ioredis": {
+ "optional": true
+ },
+ "mongodb": {
+ "optional": true
+ },
+ "mssql": {
+ "optional": true
+ },
+ "mysql2": {
+ "optional": true
+ },
+ "oracledb": {
+ "optional": true
+ },
+ "pg": {
+ "optional": true
+ },
+ "pg-native": {
+ "optional": true
+ },
+ "pg-query-stream": {
+ "optional": true
+ },
+ "redis": {
+ "optional": true
+ },
+ "sql.js": {
+ "optional": true
+ },
+ "sqlite3": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ },
+ "typeorm-aurora-data-api-driver": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/typeorm/node_modules/debug": {
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
+ "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/typeorm/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/typescript": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz",
+ "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/utf-8-validate": {
+ "version": "5.0.10",
+ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz",
+ "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">=6.14.2"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/value-or-promise": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz",
+ "integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+ "dev": true,
+ "dependencies": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "node_modules/web-streams-polyfill": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
+ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "node_modules/websocket": {
+ "version": "1.0.35",
+ "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz",
+ "integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==",
+ "dependencies": {
+ "bufferutil": "^4.0.1",
+ "debug": "^2.2.0",
+ "es5-ext": "^0.10.63",
+ "typedarray-to-buffer": "^3.1.5",
+ "utf-8-validate": "^5.0.2",
+ "yaeti": "^0.0.6"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
+ "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+ "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+ "dependencies": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-collection": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
+ "dependencies": {
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/widest-line": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
+ "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/widest-line/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/widest-line/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/widest-line/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/widest-line/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
+ "dev": true
+ },
+ "node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true
+ },
+ "node_modules/ws": {
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
+ "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/x256": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/x256/-/x256-0.0.2.tgz",
+ "integrity": "sha512-ZsIH+sheoF8YG9YG+QKEEIdtqpHRA9FYuD7MqhfyB1kayXU43RUNBFSxBEnF8ywSUxdg+8no4+bPr5qLbyxKgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/xml2js": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
+ "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
+ "dev": true,
+ "dependencies": {
+ "sax": ">=0.6.0",
+ "xmlbuilder": "~11.0.0"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/xmlbuilder": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/xss": {
+ "version": "1.0.15",
+ "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz",
+ "integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==",
+ "dependencies": {
+ "commander": "^2.20.3",
+ "cssfilter": "0.0.10"
+ },
+ "bin": {
+ "xss": "bin/xss"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/xss/node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ },
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "node_modules/xxhash-wasm": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz",
+ "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==",
+ "license": "MIT"
+ },
+ "node_modules/xxhashjs": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz",
+ "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==",
+ "license": "MIT",
+ "dependencies": {
+ "cuint": "^0.2.2"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yaeti": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
+ "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==",
+ "engines": {
+ "node": ">=0.10.32"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/yargs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ }
+ }
+}
diff --git a/indexer/package.json b/indexer/package.json
new file mode 100644
index 00000000..d434d1b5
--- /dev/null
+++ b/indexer/package.json
@@ -0,0 +1,29 @@
+{
+ "name": "squid-evm-template",
+ "private": true,
+ "scripts": {
+ "build": "rm -rf lib && tsc"
+ },
+ "dependencies": {
+ "@subsquid/evm-abi": "^0.3.0",
+ "@subsquid/evm-processor": "^1.19.1",
+ "@subsquid/graphql-server": "^4.6.0",
+ "@subsquid/scale-codec": "^4.0.1",
+ "@subsquid/substrate-processor": "^8.5.1",
+ "@subsquid/typeorm-migration": "^1.3.0",
+ "@subsquid/typeorm-store": "^1.5.1",
+ "dotenv": "^16.4.5",
+ "ethers": "^6.13.4",
+ "pg": "^8.12.0",
+ "sails-js": "^0.3.0",
+ "sails-js-parser": "^0.1.0",
+ "typeorm": "^0.3.20"
+ },
+ "devDependencies": {
+ "@subsquid/cli": "^3.0.0",
+ "@subsquid/evm-typegen": "^4.2.0",
+ "@subsquid/typeorm-codegen": "^2.0.1",
+ "@types/node": "^20.14.8",
+ "typescript": "~5.5.2"
+ }
+}
diff --git a/indexer/schema.graphql b/indexer/schema.graphql
new file mode 100644
index 00000000..55fddd60
--- /dev/null
+++ b/indexer/schema.graphql
@@ -0,0 +1,39 @@
+enum Network {
+ Ethereum
+ Gear
+}
+
+enum Status {
+ Pending
+ InProgress
+ Completed
+ Failed
+}
+
+type Transfer @entity {
+ id: ID!
+ txHash: String!
+ blockNumber: String!
+ timestamp: DateTime! @index
+ nonce: String! @index
+ sourceNetwork: Network!
+ source: String! @index
+ destNetwork: Network!
+ destination: String! @index
+ status: Status!
+ sender: String! @index
+ receiver: String! @index
+ amount: BigInt!
+}
+
+type Pair @entity {
+ id: ID!
+ gearToken: String!
+ ethToken: String!
+}
+
+type CompletedTransfer @entity {
+ id: ID!
+ nonce: String! @index @unique
+ destNetwork: Network!
+}
diff --git a/indexer/scripts/abi.js b/indexer/scripts/abi.js
new file mode 100644
index 00000000..a53b7ed0
--- /dev/null
+++ b/indexer/scripts/abi.js
@@ -0,0 +1,8 @@
+const fs = require('fs');
+const path = require('path');
+
+const [abiPath, destPath] = process.argv.slice(2);
+
+const abi = JSON.parse(fs.readFileSync(abiPath, 'utf8'));
+
+fs.writeFileSync(path.join(destPath, abiPath.split('/').at(-1)), JSON.stringify(abi.abi, null, 2));
diff --git a/indexer/squid.yaml b/indexer/squid.yaml
new file mode 100644
index 00000000..efa9beb0
--- /dev/null
+++ b/indexer/squid.yaml
@@ -0,0 +1,21 @@
+manifestVersion: subsquid.io/v0.1
+name: bridge
+version: 1
+description: A squid that indexes transfers between ETH and GEAR
+build:
+deploy:
+ addons:
+ postgres:
+ processor:
+ - name: eth-processor
+ cmd:
+ - sqd
+ - process:prod:eth
+ - name: gear-processor
+ cmd:
+ - sqd
+ - process:prod:gear
+ api:
+ cmd:
+ - sqd
+ - serve:prod
diff --git a/indexer/src/common/env.ts b/indexer/src/common/env.ts
new file mode 100644
index 00000000..6aeb3290
--- /dev/null
+++ b/indexer/src/common/env.ts
@@ -0,0 +1,13 @@
+import * as dotenv from 'dotenv';
+
+dotenv.config();
+
+export const getEnv = (key: string, _default?: string): string => {
+ const env = process.env[key] || _default;
+
+ if (!env) {
+ throw new Error(`Missing env: ${key}`);
+ }
+
+ return env;
+};
diff --git a/indexer/src/common/index.ts b/indexer/src/common/index.ts
new file mode 100644
index 00000000..63cf66e4
--- /dev/null
+++ b/indexer/src/common/index.ts
@@ -0,0 +1,3 @@
+export * from './env';
+export * from './tempState';
+export * from './nonce';
diff --git a/indexer/src/common/nonce.ts b/indexer/src/common/nonce.ts
new file mode 100644
index 00000000..0d22e78e
--- /dev/null
+++ b/indexer/src/common/nonce.ts
@@ -0,0 +1,15 @@
+import { Codec, Src, TypeKind } from '@subsquid/scale-codec';
+import { hexToBigInt } from '@polkadot/util';
+import * as crypto from 'node:crypto';
+
+export const ethNonce = (data: string) => crypto.createHash('sha256').update(data).digest('hex');
+
+const codec = new Codec([{ kind: TypeKind.Primitive, primitive: 'U256' }]);
+
+export const gearNonce = (data: string, isLe = true) => {
+ let nonce = codec.encodeToHex(0, hexToBigInt(data, { isLe })).slice(2);
+ while (nonce.startsWith('00')) {
+ nonce = nonce.slice(2);
+ }
+ return nonce;
+};
diff --git a/indexer/src/common/tempState.ts b/indexer/src/common/tempState.ts
new file mode 100644
index 00000000..f8a48036
--- /dev/null
+++ b/indexer/src/common/tempState.ts
@@ -0,0 +1,142 @@
+import { DataHandlerContext as SContext } from '@subsquid/substrate-processor';
+import { DataHandlerContext as EContext } from '@subsquid/evm-processor';
+import { Store } from '@subsquid/typeorm-store';
+import { ZERO_ADDRESS } from 'sails-js';
+import { ZeroAddress } from 'ethers';
+import { randomUUID } from 'crypto';
+import { In } from 'typeorm';
+import { CompletedTransfer, Network, Pair, Status, Transfer } from '../model';
+
+export class TempState {
+ private _transfers: Map;
+ private _completed: Map;
+ private _ctx: SContext | EContext;
+ private _tokens: Map;
+ private _addedTokens: Array;
+
+ constructor(private _network: Network) {
+ this._transfers = new Map();
+ this._tokens = new Map();
+ this._completed = new Map();
+ }
+
+ public async new(ctx: SContext | EContext) {
+ this._ctx = ctx;
+ this._transfers.clear();
+ this._tokens.clear();
+ this._completed.clear();
+ this._addedTokens = [];
+ await this._getTokens();
+ await this._getCompleted();
+ }
+
+ public async save() {
+ if (this._transfers.size > 0) {
+ await this._ctx.store.save(Array.from(this._transfers.values()));
+ }
+
+ if (this._addedTokens.length > 0) {
+ await this._ctx.store.save(this._addedTokens);
+ }
+
+ if (this._completed.size > 0) {
+ const transfers = await this._getTransfers(Array.from(this._completed.keys()));
+ const completedToDelete: CompletedTransfer[] = [];
+
+ if (transfers.length > 0) {
+ for (const t of transfers) {
+ t.status = Status.Completed;
+ completedToDelete.push(this._completed.get(t.nonce)!);
+ this._completed.delete(t.nonce);
+ }
+ if (completedToDelete.length > 0) {
+ await this._ctx.store.save(transfers);
+ await this._ctx.store.remove(completedToDelete);
+ }
+ }
+ if (this._completed.size > 0) {
+ await this._ctx.store.save(Array.from(this._completed.values()));
+ }
+ }
+
+ if (this._transfers.size > 0 || this._addedTokens.length > 0 || this._completed.size > 0) {
+ this._ctx.log.info(
+ `Saved: ${this._transfers.size} transfers, ${this._completed.size} completed, ${this._addedTokens.length} pairs`,
+ );
+ }
+ }
+
+ private async _getTokens() {
+ const tokens = await this._ctx.store.find(Pair);
+
+ for (const token of tokens) {
+ if (this._network === Network.Ethereum) {
+ this._tokens.set(token.ethToken, token);
+ } else {
+ this._tokens.set(token.gearToken, token);
+ }
+ }
+ }
+
+ private async _getCompleted() {
+ const completed = await this._ctx.store.find(CompletedTransfer, { where: { destNetwork: this._network } });
+
+ for (const c of completed) {
+ this._completed.set(c.nonce, c);
+ }
+ }
+
+ public getDestinationAddress(source: string): string {
+ source = source.toLowerCase();
+ const pair = this._tokens.get(source);
+ if (!pair) {
+ return this._network === Network.Ethereum ? ZERO_ADDRESS : ZeroAddress;
+ }
+ if (this._network === Network.Ethereum) {
+ return pair.gearToken;
+ } else {
+ return pair.ethToken;
+ }
+ }
+
+ public addPair(gear: string, eth: string) {
+ const pair = new Pair({
+ id: randomUUID(),
+ gearToken: gear.toLowerCase(),
+ ethToken: eth.toLowerCase(),
+ });
+ if (this._network === Network.Ethereum) this._tokens.set(eth, pair);
+ else this._tokens.set(gear, pair);
+
+ this._addedTokens.push(pair);
+
+ this._ctx.log.info({ gear, eth }, 'Pair added');
+ }
+
+ public removePair(gear: string, eth: string) {
+ // TODO
+ }
+
+ public transferRequested(transfer: Transfer) {
+ transfer.txHash = transfer.txHash.toLowerCase();
+ transfer.source = transfer.source.toLowerCase();
+ transfer.destination = transfer.destination.toLowerCase();
+ transfer.sender = transfer.sender.toLowerCase();
+ transfer.receiver = transfer.receiver.toLowerCase();
+ transfer.nonce = transfer.nonce;
+ this._transfers.set(transfer.nonce, transfer);
+
+ this._ctx.log.info(`Transfer requested: ${transfer.nonce}`);
+ }
+
+ public transferCompleted(nonce: string) {
+ this._completed.set(nonce, new CompletedTransfer({ id: randomUUID(), nonce, destNetwork: this._network }));
+ this._ctx.log.info(`Transfer completed: ${nonce}`);
+ }
+
+ private _getTransfers(nonces: string[]) {
+ return this._ctx.store.find(Transfer, {
+ where: { nonce: In(nonces), destNetwork: this._network },
+ });
+ }
+}
diff --git a/indexer/src/eth/abi/abi.support.ts b/indexer/src/eth/abi/abi.support.ts
new file mode 100644
index 00000000..47aa71c1
--- /dev/null
+++ b/indexer/src/eth/abi/abi.support.ts
@@ -0,0 +1,117 @@
+import assert from 'assert';
+import * as ethers from 'ethers';
+
+export interface LogRecord {
+ topics: string[];
+ data: string;
+}
+
+export class LogEvent {
+ private fragment: ethers.EventFragment;
+
+ constructor(
+ private abi: ethers.Interface,
+ public readonly topic: string,
+ ) {
+ let fragment = abi.getEvent(topic);
+ assert(fragment != null, 'Missing fragment');
+ this.fragment = fragment;
+ }
+
+ decode(rec: LogRecord): Args {
+ return this.abi.decodeEventLog(this.fragment, rec.data, rec.topics) as any as Args;
+ }
+}
+
+export class Func {
+ private fragment: ethers.FunctionFragment;
+
+ constructor(
+ private abi: ethers.Interface,
+ public readonly sighash: string,
+ ) {
+ let fragment = abi.getFunction(sighash);
+ assert(fragment != null, 'Missing fragment');
+ this.fragment = fragment;
+ }
+
+ decode(input: ethers.BytesLike): Args & FieldArgs {
+ return this.abi.decodeFunctionData(this.fragment, input) as any as Args & FieldArgs;
+ }
+
+ encode(args: Args): string {
+ return this.abi.encodeFunctionData(this.fragment, args);
+ }
+
+ decodeResult(output: ethers.BytesLike): Result {
+ const decoded = this.abi.decodeFunctionResult(this.fragment, output);
+ return decoded.length > 1 ? decoded : decoded[0];
+ }
+
+ tryDecodeResult(output: ethers.BytesLike): Result | undefined {
+ try {
+ return this.decodeResult(output);
+ } catch (err: any) {
+ return undefined;
+ }
+ }
+}
+
+export function isFunctionResultDecodingError(val: unknown): val is Error & { data: string } {
+ if (!(val instanceof Error)) return false;
+ let err = val as any;
+ return err.code == 'CALL_EXCEPTION' && typeof err.data == 'string' && !err.errorArgs && !err.errorName;
+}
+
+export interface ChainContext {
+ _chain: Chain;
+}
+
+export interface BlockContext {
+ _chain: Chain;
+ block: Block;
+}
+
+export interface Block {
+ height: number;
+}
+
+export interface Chain {
+ client: {
+ call: (method: string, params?: unknown[]) => Promise;
+ };
+}
+
+export class ContractBase {
+ private readonly _chain: Chain;
+ private readonly blockHeight: number;
+ readonly address: string;
+
+ constructor(ctx: BlockContext, address: string);
+ constructor(ctx: ChainContext, block: Block, address: string);
+ constructor(ctx: BlockContext, blockOrAddress: Block | string, address?: string) {
+ this._chain = ctx._chain;
+ if (typeof blockOrAddress === 'string') {
+ this.blockHeight = ctx.block.height;
+ this.address = ethers.getAddress(blockOrAddress);
+ } else {
+ if (address == null) {
+ throw new Error('missing contract address');
+ }
+ this.blockHeight = blockOrAddress.height;
+ this.address = ethers.getAddress(address);
+ }
+ }
+
+ async eth_call(
+ func: Func,
+ args: Args,
+ ): Promise {
+ let data = func.encode(args);
+ let result = await this._chain.client.call('eth_call', [
+ { to: this.address, data },
+ '0x' + this.blockHeight.toString(16),
+ ]);
+ return func.decodeResult(result);
+ }
+}
diff --git a/indexer/src/eth/abi/erc20-treasury.ts b/indexer/src/eth/abi/erc20-treasury.ts
new file mode 100644
index 00000000..46f7f3e4
--- /dev/null
+++ b/indexer/src/eth/abi/erc20-treasury.ts
@@ -0,0 +1,16 @@
+import ABI_JSON from '../../../assets/IERC20Manager.json';
+import { LogEvent } from './abi.support';
+import * as ethers from 'ethers';
+
+export const abi = new ethers.Interface(ABI_JSON);
+
+export const events = {
+ BridgingRequested: new LogEvent<
+ [from: string, to: string, token: string, amount: bigint] & {
+ from: string;
+ to: string;
+ token: string;
+ amount: bigint;
+ }
+ >(abi, abi.getEvent('BridgingRequested')!.topicHash),
+};
diff --git a/indexer/src/eth/abi/message-queue.ts b/indexer/src/eth/abi/message-queue.ts
new file mode 100644
index 00000000..7ca45300
--- /dev/null
+++ b/indexer/src/eth/abi/message-queue.ts
@@ -0,0 +1,15 @@
+import ABI_JSON from '../../../assets/IMessageQueue.json';
+import { LogEvent } from './abi.support';
+import * as ethers from 'ethers';
+
+export const abi = new ethers.Interface(ABI_JSON);
+
+export const events = {
+ MessageProcessed: new LogEvent<
+ [blockNumber: bigint, messageHash: string, messageNonce: string] & {
+ blockNumber: bigint;
+ messageHash: string;
+ nonce: string;
+ }
+ >(abi, abi.getEvent('MessageProcessed')!.topicHash),
+};
diff --git a/indexer/src/eth/config.ts b/indexer/src/eth/config.ts
new file mode 100644
index 00000000..d137d697
--- /dev/null
+++ b/indexer/src/eth/config.ts
@@ -0,0 +1,9 @@
+import { getEnv } from '../common';
+
+export const config = {
+ archiveUrl: getEnv('ETH_ARCHIVE_URL', 'https://v2.archive.subsquid.io/network/ethereum-holesky'),
+ rpcUrl: getEnv('ETH_RPC_URL'),
+ erc20Manager: getEnv('ETH_ERC20_MANAGER').toLowerCase(),
+ msgQ: getEnv('ETH_MSQ_QUEUE').toLowerCase(),
+ fromBlock: Number(getEnv('ETH_FROM_BLOCK', '2636000')),
+};
diff --git a/indexer/src/eth/main.ts b/indexer/src/eth/main.ts
new file mode 100644
index 00000000..5f4d5b69
--- /dev/null
+++ b/indexer/src/eth/main.ts
@@ -0,0 +1,59 @@
+import { TypeormDatabase } from '@subsquid/typeorm-store';
+import { randomUUID } from 'node:crypto';
+
+import * as erc20TreasuryAbi from './abi/erc20-treasury';
+import * as messageQueueAbi from './abi/message-queue';
+import { Network, Status, Transfer } from '../model';
+import { processor, Context } from './processor';
+import { ethNonce, gearNonce, TempState } from '../common';
+import { config } from './config';
+
+const tempState = new TempState(Network.Ethereum);
+
+const ERC20_MANAGER = config.erc20Manager;
+const ERC20_MANAGER_BRIDGING_REQUESTED = erc20TreasuryAbi.events.BridgingRequested.topic;
+const MSGQ = config.msgQ;
+const MSGQ_MESSAGE_PROCESSED = messageQueueAbi.events.MessageProcessed.topic;
+
+const handler = async (ctx: Context) => {
+ await tempState.new(ctx);
+
+ const promises = [];
+
+ for (let block of ctx.blocks) {
+ for (let log of block.logs) {
+ const address = log.address.toLowerCase();
+ const topic = log.topics[0].toLowerCase();
+ if (address === ERC20_MANAGER && topic === ERC20_MANAGER_BRIDGING_REQUESTED) {
+ const [from, to, token, amount] = erc20TreasuryAbi.events.BridgingRequested.decode(log);
+
+ tempState.transferRequested(
+ new Transfer({
+ id: randomUUID(),
+ txHash: log.transactionHash,
+ blockNumber: block.header.height.toString(),
+ timestamp: new Date(block.header.timestamp),
+ nonce: ethNonce(`${block.header.height}${log.transactionIndex}`),
+ sourceNetwork: Network.Ethereum,
+ source: token,
+ destNetwork: Network.Gear,
+ destination: tempState.getDestinationAddress(token),
+ status: Status.Pending,
+ sender: from,
+ receiver: to,
+ amount,
+ }),
+ );
+ } else if (address === MSGQ && topic === MSGQ_MESSAGE_PROCESSED) {
+ const [_, __, nonce] = messageQueueAbi.events.MessageProcessed.decode(log);
+ promises.push(tempState.transferCompleted(gearNonce(nonce, false)));
+ }
+ }
+ }
+
+ await Promise.all(promises);
+
+ await tempState.save();
+};
+
+processor.run(new TypeormDatabase({ supportHotBlocks: true, stateSchema: 'eth_processor' }), handler);
diff --git a/indexer/src/eth/processor.ts b/indexer/src/eth/processor.ts
new file mode 100644
index 00000000..b46f52aa
--- /dev/null
+++ b/indexer/src/eth/processor.ts
@@ -0,0 +1,43 @@
+import {
+ BlockHeader,
+ DataHandlerContext,
+ EvmBatchProcessor,
+ EvmBatchProcessorFields,
+ Log as _Log,
+ Transaction as _Transaction,
+} from '@subsquid/evm-processor';
+import { Store } from '@subsquid/typeorm-store';
+
+import * as erc20TreasuryAbi from './abi/erc20-treasury';
+import * as messageQueueAbi from './abi/message-queue';
+import { config } from './config';
+
+export const processor = new EvmBatchProcessor()
+ .setGateway(config.archiveUrl)
+ .setRpcEndpoint({
+ url: config.rpcUrl,
+ rateLimit: 10,
+ })
+ .setFinalityConfirmation(75)
+ .setFields({
+ log: {
+ transactionHash: true,
+ },
+ })
+ .addLog({
+ address: [config.erc20Manager],
+ topic0: [erc20TreasuryAbi.events.BridgingRequested.topic],
+ })
+ .addLog({
+ address: [config.msgQ],
+ topic0: [messageQueueAbi.events.MessageProcessed.topic],
+ })
+ .setBlockRange({
+ from: config.fromBlock,
+ });
+
+export type Fields = EvmBatchProcessorFields;
+export type Context = DataHandlerContext;
+export type Block = BlockHeader;
+export type Log = _Log;
+export type Transaction = _Transaction;
diff --git a/indexer/src/gear/codec.ts b/indexer/src/gear/codec.ts
new file mode 100644
index 00000000..f9640f86
--- /dev/null
+++ b/indexer/src/gear/codec.ts
@@ -0,0 +1,39 @@
+import * as fs from 'fs';
+import { getFnNamePrefix, getServiceNamePrefix, Sails } from 'sails-js';
+import { SailsIdlParser } from 'sails-js-parser';
+
+export class Codec {
+ constructor(private sails: Sails) {}
+
+ static async create(idlPath: string) {
+ const parser = new SailsIdlParser();
+ await parser.init();
+ const vft = new Sails(parser);
+ vft.parseIdl(fs.readFileSync(idlPath, 'utf-8'));
+
+ return new Codec(vft);
+ }
+
+ decodeInput(data: `0x${string}`): T {
+ const service = getServiceNamePrefix(data);
+ const fn = getFnNamePrefix(data);
+
+ return this.sails.services[service].functions[fn].decodePayload(data);
+ }
+
+ decodeOutput(service: string, fn: string, data: `0x${string}`): T {
+ return this.sails.services[service].functions[fn].decodeResult(data);
+ }
+
+ decodeEvent(service: string, method: string, data: `0x${string}`): T {
+ return this.sails.services[service].events[method].decode(data);
+ }
+
+ service(data: `0x${string}`): string {
+ return getServiceNamePrefix(data);
+ }
+
+ method(data: `0x${string}`): string {
+ return getFnNamePrefix(data);
+ }
+}
diff --git a/indexer/src/gear/config.ts b/indexer/src/gear/config.ts
new file mode 100644
index 00000000..fd08e746
--- /dev/null
+++ b/indexer/src/gear/config.ts
@@ -0,0 +1,9 @@
+import { getEnv } from '../common';
+
+export const config = {
+ archiveUrl: getEnv('GEAR_ARCHIVE_URL', 'https://v2.archive.subsquid.io/network/vara-testnet'),
+ rpcUrl: getEnv('GEAR_RPC_URL', 'https://testnet.vara.network'),
+ vftManager: getEnv('GEAR_VFT_MANAGER'),
+ erc20Relay: getEnv('GEAR_ERC20_RELAY'),
+ fromBlock: Number(getEnv('GEAR_FROM_BLOCK', '11000000')),
+};
diff --git a/indexer/src/gear/main.ts b/indexer/src/gear/main.ts
new file mode 100644
index 00000000..98f0673a
--- /dev/null
+++ b/indexer/src/gear/main.ts
@@ -0,0 +1,120 @@
+import { TypeormDatabase } from '@subsquid/typeorm-store';
+import { randomUUID } from 'crypto';
+import { BridgingRequested, Relayed, TokenMapping } from './types';
+import { ethNonce, gearNonce, TempState } from '../common';
+import { ProcessorContext, processor } from './processor';
+import { Network, Status, Transfer } from '../model';
+import { isUserMessageSent } from './util';
+import { config } from './config';
+import { Codec } from './codec';
+
+const tempState = new TempState(Network.Gear);
+
+let vftManagerDecoder: Codec;
+let erc20RelayDecoder: Codec;
+
+const handler = async (ctx: ProcessorContext) => {
+ await tempState.new(ctx);
+
+ const promises = [];
+
+ for (const block of ctx.blocks) {
+ const timestamp = new Date(block.header.timestamp!);
+ const blockNumber = block.header.height.toString();
+
+ for (const event of block.events) {
+ if (isUserMessageSent(event)) {
+ const msg = event.args.message;
+ switch (msg.source) {
+ case config.vftManager: {
+ const service = vftManagerDecoder.service(msg.payload);
+ if (service !== 'VftManager') continue;
+ const method = vftManagerDecoder.method(msg.payload);
+
+ switch (method) {
+ case 'BridgingRequested': {
+ const { nonce, vara_token_id, sender, receiver, amount } =
+ vftManagerDecoder.decodeEvent(service, method, msg.payload);
+ const id = randomUUID();
+
+ const transfer = new Transfer({
+ id,
+ txHash: event.extrinsic!.hash,
+ blockNumber,
+ timestamp,
+ nonce: gearNonce(nonce),
+ sourceNetwork: Network.Gear,
+ source: vara_token_id,
+ destNetwork: Network.Ethereum,
+ destination: tempState.getDestinationAddress(vara_token_id),
+ status: Status.Pending,
+ sender,
+ receiver,
+ amount: BigInt(amount),
+ });
+ tempState.transferRequested(transfer);
+ break;
+ }
+ case 'TokenMappingAdded': {
+ const { vara_token_id, eth_token_id } = vftManagerDecoder.decodeEvent(
+ service,
+ method,
+ msg.payload,
+ );
+ tempState.addPair(vara_token_id, eth_token_id);
+ break;
+ }
+ case 'TokenMappingRemoved': {
+ const { vara_token_id, eth_token_id } = vftManagerDecoder.decodeEvent(
+ service,
+ method,
+ msg.payload,
+ );
+ tempState.removePair(vara_token_id, eth_token_id);
+ break;
+ }
+ default: {
+ continue;
+ }
+ }
+ }
+ case config.erc20Relay: {
+ const service = erc20RelayDecoder.service(msg.payload);
+ if (service !== 'Erc20Relay') continue;
+ const method = erc20RelayDecoder.method(msg.payload);
+ if (method !== 'Relayed') continue;
+
+ const { block_number, transaction_index } = erc20RelayDecoder.decodeEvent(
+ service,
+ method,
+ msg.payload,
+ );
+
+ const nonce = ethNonce(`${block_number}${transaction_index}`);
+ promises.push(tempState.transferCompleted(nonce));
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ await Promise.all(promises);
+
+ await tempState.save();
+};
+
+export const runProcessor = async () => {
+ vftManagerDecoder = await Codec.create('./assets/vft_manager.idl');
+ erc20RelayDecoder = await Codec.create('./assets/erc20_relay.idl');
+
+ processor.run(
+ new TypeormDatabase({
+ supportHotBlocks: true,
+ stateSchema: 'gear_processor',
+ }),
+ handler,
+ );
+};
+
+runProcessor();
diff --git a/indexer/src/gear/processor.ts b/indexer/src/gear/processor.ts
new file mode 100644
index 00000000..f67eb9fe
--- /dev/null
+++ b/indexer/src/gear/processor.ts
@@ -0,0 +1,41 @@
+import {
+ BlockHeader,
+ DataHandlerContext,
+ SubstrateBatchProcessor,
+ SubstrateBatchProcessorFields,
+ Event as _Event,
+ Call as _Call,
+ Extrinsic as _Extrinsic,
+} from '@subsquid/substrate-processor';
+import { Store } from '@subsquid/typeorm-store';
+import { config } from './config';
+
+export const processor = new SubstrateBatchProcessor()
+ .setGateway(config.archiveUrl)
+ .setRpcEndpoint({
+ url: config.rpcUrl,
+ rateLimit: 10,
+ })
+ .setFinalityConfirmation(75)
+ .setFields({
+ extrinsic: {
+ hash: true,
+ },
+ event: {
+ args: true,
+ },
+ block: {
+ timestamp: true,
+ },
+ })
+ .addGearUserMessageSent({ programId: [config.vftManager, config.erc20Relay], extrinsic: true, call: true })
+ .setBlockRange({
+ from: config.fromBlock,
+ });
+
+export type Fields = SubstrateBatchProcessorFields;
+export type Block = BlockHeader;
+export type Event = _Event;
+export type Call = _Call;
+export type Extrinsic = _Extrinsic;
+export type ProcessorContext = DataHandlerContext;
diff --git a/indexer/src/gear/types/erc20-relay.ts b/indexer/src/gear/types/erc20-relay.ts
new file mode 100644
index 00000000..5a207dd7
--- /dev/null
+++ b/indexer/src/gear/types/erc20-relay.ts
@@ -0,0 +1,8 @@
+export interface Relayed {
+ readonly slot: string;
+ readonly block_number: number;
+ readonly transaction_index: number;
+ readonly fungible_token: string;
+ readonly to: string;
+ readonly amount: string;
+}
diff --git a/indexer/src/gear/types/index.ts b/indexer/src/gear/types/index.ts
new file mode 100644
index 00000000..4348cd10
--- /dev/null
+++ b/indexer/src/gear/types/index.ts
@@ -0,0 +1,3 @@
+export * from './message';
+export * from './vft-gateway';
+export * from './erc20-relay';
diff --git a/indexer/src/gear/types/message.ts b/indexer/src/gear/types/message.ts
new file mode 100644
index 00000000..285787f7
--- /dev/null
+++ b/indexer/src/gear/types/message.ts
@@ -0,0 +1,30 @@
+import { Event } from '../processor';
+
+export type MessageQueuedEvent = Omit & { args: MessageQueuedArgs };
+
+export interface MessageQueuedArgs {
+ readonly id: string;
+ readonly source: string;
+ readonly destination: string;
+ readonly entry: 'Init' | 'Handle' | 'Reply';
+}
+
+export type UserMessageSentEvent = Omit & { args: UserMessageSentArgs };
+
+export interface UserMessageSentArgs {
+ readonly message: {
+ readonly id: string;
+ readonly source: string;
+ readonly destination: string;
+ readonly payload: `0x${string}`;
+ readonly value: string;
+ readonly details: UserMessageSentArgs;
+ };
+}
+
+export interface UserMessageSentDetails {
+ readonly to: string;
+ readonly code: {
+ readonly __kind: 'Success' | 'Error';
+ };
+}
diff --git a/indexer/src/gear/types/vft-gateway.ts b/indexer/src/gear/types/vft-gateway.ts
new file mode 100644
index 00000000..2759f257
--- /dev/null
+++ b/indexer/src/gear/types/vft-gateway.ts
@@ -0,0 +1,12 @@
+export interface BridgingRequested {
+ readonly nonce: string;
+ readonly vara_token_id: string;
+ readonly amount: string;
+ readonly sender: string;
+ readonly receiver: string;
+}
+
+export interface TokenMapping {
+ readonly vara_token_id: string;
+ readonly eth_token_id: string;
+}
diff --git a/indexer/src/gear/util.ts b/indexer/src/gear/util.ts
new file mode 100644
index 00000000..884d494f
--- /dev/null
+++ b/indexer/src/gear/util.ts
@@ -0,0 +1,10 @@
+import { Event } from './processor';
+import { MessageQueuedEvent, UserMessageSentEvent } from './types';
+
+export function isMessageQueued(event: Event): event is MessageQueuedEvent {
+ return event.name === 'Gear.MessageQueued';
+}
+
+export function isUserMessageSent(event: Event): event is UserMessageSentEvent {
+ return event.name === 'Gear.UserMessageSent';
+}
diff --git a/indexer/src/model/generated/_network.ts b/indexer/src/model/generated/_network.ts
new file mode 100644
index 00000000..d4789ba1
--- /dev/null
+++ b/indexer/src/model/generated/_network.ts
@@ -0,0 +1,4 @@
+export enum Network {
+ Ethereum = "Ethereum",
+ Gear = "Gear",
+}
diff --git a/indexer/src/model/generated/_status.ts b/indexer/src/model/generated/_status.ts
new file mode 100644
index 00000000..482660e6
--- /dev/null
+++ b/indexer/src/model/generated/_status.ts
@@ -0,0 +1,6 @@
+export enum Status {
+ Pending = "Pending",
+ InProgress = "InProgress",
+ Completed = "Completed",
+ Failed = "Failed",
+}
diff --git a/indexer/src/model/generated/completedTransfer.model.ts b/indexer/src/model/generated/completedTransfer.model.ts
new file mode 100644
index 00000000..76e82c54
--- /dev/null
+++ b/indexer/src/model/generated/completedTransfer.model.ts
@@ -0,0 +1,19 @@
+import {Entity as Entity_, Column as Column_, PrimaryColumn as PrimaryColumn_, StringColumn as StringColumn_, Index as Index_} from "@subsquid/typeorm-store"
+import {Network} from "./_network"
+
+@Entity_()
+export class CompletedTransfer {
+ constructor(props?: Partial) {
+ Object.assign(this, props)
+ }
+
+ @PrimaryColumn_()
+ id!: string
+
+ @Index_({unique: true})
+ @StringColumn_({nullable: false})
+ nonce!: string
+
+ @Column_("varchar", {length: 8, nullable: false})
+ destNetwork!: Network
+}
diff --git a/indexer/src/model/generated/index.ts b/indexer/src/model/generated/index.ts
new file mode 100644
index 00000000..4d2710d4
--- /dev/null
+++ b/indexer/src/model/generated/index.ts
@@ -0,0 +1,5 @@
+export * from "./transfer.model"
+export * from "./_network"
+export * from "./_status"
+export * from "./pair.model"
+export * from "./completedTransfer.model"
diff --git a/indexer/src/model/generated/marshal.ts b/indexer/src/model/generated/marshal.ts
new file mode 100644
index 00000000..2cf1c3a8
--- /dev/null
+++ b/indexer/src/model/generated/marshal.ts
@@ -0,0 +1,149 @@
+import assert from 'assert'
+
+
+export interface Marshal {
+ fromJSON(value: unknown): T
+ toJSON(value: T): S
+}
+
+
+export const string: Marshal = {
+ fromJSON(value: unknown): string {
+ assert(typeof value === 'string', 'invalid String')
+ return value
+ },
+ toJSON(value) {
+ return value
+ }
+}
+
+
+export const id = string
+
+
+export const int: Marshal = {
+ fromJSON(value: unknown): number {
+ assert(Number.isInteger(value), 'invalid Int')
+ return value as number
+ },
+ toJSON(value) {
+ return value
+ }
+}
+
+
+export const float: Marshal = {
+ fromJSON(value: unknown): number {
+ assert(typeof value === 'number', 'invalid Float')
+ return value as number
+ },
+ toJSON(value) {
+ return value
+ }
+}
+
+
+export const boolean: Marshal = {
+ fromJSON(value: unknown): boolean {
+ assert(typeof value === 'boolean', 'invalid Boolean')
+ return value
+ },
+ toJSON(value: boolean): boolean {
+ return value
+ }
+}
+
+
+export const bigint: Marshal = {
+ fromJSON(value: unknown): bigint {
+ assert(typeof value === 'string', 'invalid BigInt')
+ return BigInt(value)
+ },
+ toJSON(value: bigint): string {
+ return value.toString()
+ }
+}
+
+
+export const bigdecimal: Marshal = {
+ fromJSON(value: unknown): bigint {
+ assert(typeof value === 'string', 'invalid BigDecimal')
+ return decimal.BigDecimal(value)
+ },
+ toJSON(value: any): string {
+ return value.toString()
+ }
+}
+
+
+// credit - https://github.com/Urigo/graphql-scalars/blob/91b4ea8df891be8af7904cf84751930cc0c6613d/src/scalars/iso-date/validator.ts#L122
+const RFC_3339_REGEX =
+ /^(\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60))(\.\d{1,})?([Z])$/
+
+
+function isIsoDateTimeString(s: string): boolean {
+ return RFC_3339_REGEX.test(s)
+}
+
+
+export const datetime: Marshal = {
+ fromJSON(value: unknown): Date {
+ assert(typeof value === 'string', 'invalid DateTime')
+ assert(isIsoDateTimeString(value), 'invalid DateTime')
+ return new Date(value)
+ },
+ toJSON(value: Date): string {
+ return value.toISOString()
+ }
+}
+
+
+export const bytes: Marshal = {
+ fromJSON(value: unknown): Buffer {
+ assert(typeof value === 'string', 'invalid Bytes')
+ assert(value.length % 2 === 0, 'invalid Bytes')
+ assert(/^0x[0-9a-f]+$/i.test(value), 'invalid Bytes')
+ return Buffer.from(value.slice(2), 'hex')
+ },
+ toJSON(value: Uint8Array): string {
+ if (Buffer.isBuffer(value)) {
+ return '0x' + value.toString('hex')
+ } else {
+ return '0x' + Buffer.from(value.buffer, value.byteOffset, value.byteLength).toString('hex')
+ }
+ }
+}
+
+
+export function fromList(list: unknown, f: (val: unknown) => T): T[] {
+ assert(Array.isArray(list))
+ return list.map((val) => f(val))
+}
+
+
+export function nonNull(val: T | undefined | null): T {
+ assert(val != null, 'non-nullable value is null')
+ return val
+}
+
+
+export function enumFromJson(json: unknown, enumObject: E): E[keyof E] {
+ assert(typeof json == 'string', 'invalid enum value')
+ let val = (enumObject as any)[json]
+ assert(typeof val == 'string', `invalid enum value`)
+ return val as any
+}
+
+
+const decimal = {
+ get BigDecimal(): any {
+ throw new Error('Package `@subsquid/big-decimal` is not installed')
+ }
+}
+
+
+try {
+ Object.defineProperty(decimal, "BigDecimal", {
+ value: require('@subsquid/big-decimal').BigDecimal
+ })
+} catch (e) {}
diff --git a/indexer/src/model/generated/pair.model.ts b/indexer/src/model/generated/pair.model.ts
new file mode 100644
index 00000000..6c4b7632
--- /dev/null
+++ b/indexer/src/model/generated/pair.model.ts
@@ -0,0 +1,17 @@
+import {Entity as Entity_, Column as Column_, PrimaryColumn as PrimaryColumn_, StringColumn as StringColumn_} from "@subsquid/typeorm-store"
+
+@Entity_()
+export class Pair {
+ constructor(props?: Partial) {
+ Object.assign(this, props)
+ }
+
+ @PrimaryColumn_()
+ id!: string
+
+ @StringColumn_({nullable: false})
+ gearToken!: string
+
+ @StringColumn_({nullable: false})
+ ethToken!: string
+}
diff --git a/indexer/src/model/generated/transfer.model.ts b/indexer/src/model/generated/transfer.model.ts
new file mode 100644
index 00000000..6edffa51
--- /dev/null
+++ b/indexer/src/model/generated/transfer.model.ts
@@ -0,0 +1,55 @@
+import {Entity as Entity_, Column as Column_, PrimaryColumn as PrimaryColumn_, StringColumn as StringColumn_, DateTimeColumn as DateTimeColumn_, Index as Index_, BigIntColumn as BigIntColumn_} from "@subsquid/typeorm-store"
+import {Network} from "./_network"
+import {Status} from "./_status"
+
+@Entity_()
+export class Transfer {
+ constructor(props?: Partial) {
+ Object.assign(this, props)
+ }
+
+ @PrimaryColumn_()
+ id!: string
+
+ @StringColumn_({nullable: false})
+ txHash!: string
+
+ @StringColumn_({nullable: false})
+ blockNumber!: string
+
+ @Index_()
+ @DateTimeColumn_({nullable: false})
+ timestamp!: Date
+
+ @Index_()
+ @StringColumn_({nullable: false})
+ nonce!: string
+
+ @Column_("varchar", {length: 8, nullable: false})
+ sourceNetwork!: Network
+
+ @Index_()
+ @StringColumn_({nullable: false})
+ source!: string
+
+ @Column_("varchar", {length: 8, nullable: false})
+ destNetwork!: Network
+
+ @Index_()
+ @StringColumn_({nullable: false})
+ destination!: string
+
+ @Column_("varchar", {length: 10, nullable: false})
+ status!: Status
+
+ @Index_()
+ @StringColumn_({nullable: false})
+ sender!: string
+
+ @Index_()
+ @StringColumn_({nullable: false})
+ receiver!: string
+
+ @BigIntColumn_({nullable: false})
+ amount!: bigint
+}
diff --git a/indexer/src/model/index.ts b/indexer/src/model/index.ts
new file mode 100644
index 00000000..73bfb288
--- /dev/null
+++ b/indexer/src/model/index.ts
@@ -0,0 +1 @@
+export * from "./generated"
diff --git a/indexer/tsconfig.json b/indexer/tsconfig.json
new file mode 100644
index 00000000..254f9761
--- /dev/null
+++ b/indexer/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "target": "es2020",
+ "outDir": "lib",
+ "rootDir": "src",
+ "strict": true,
+ "declaration": false,
+ "sourceMap": true,
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "emitDecoratorMetadata": true,
+ "skipLibCheck": true,
+ "resolveJsonModule": true,
+ "strictPropertyInitialization": false
+ },
+ "include": ["src"],
+ "exclude": ["node_modules"]
+}
diff --git a/prover/src/block_finality/mod.rs b/prover/src/block_finality/mod.rs
index c33e9fce..4a2060eb 100644
--- a/prover/src/block_finality/mod.rs
+++ b/prover/src/block_finality/mod.rs
@@ -35,7 +35,7 @@ impl_target_set! {
/// Blake2 hash of concatenated validator public keys.
pub validator_set_hash: Blake2Target,
/// GRANDPA message.
- pub message: GrandpaVoteTarget,
+ pub message: GrandpaMessageTarget,
}
}
@@ -45,10 +45,9 @@ impl_target_set! {
// - block number (4 bytes)
// - round number (8 bytes)
// - authority set id (8 bytes)
-// TODO: Rename to GrandpaMessageTarget
impl_parsable_target_set! {
/// Target that reflects the way GRANDPA vote is implemented in substrate.
- pub struct GrandpaVoteTarget {
+ pub struct GrandpaMessageTarget {
/// Discriminant determining sub-round of voting. 1 here stands for pre-commit.
pub discriminant: BitArrayTarget<8>,
/// Block hash that's being finalized.
diff --git a/prover/src/block_finality/validator_signs_chain/indexed_validator_sign.rs b/prover/src/block_finality/validator_signs_chain/indexed_validator_sign.rs
index c0715d7e..10dc2b3a 100644
--- a/prover/src/block_finality/validator_signs_chain/indexed_validator_sign.rs
+++ b/prover/src/block_finality/validator_signs_chain/indexed_validator_sign.rs
@@ -11,7 +11,7 @@ use plonky2::{
use plonky2_field::types::Field;
-use super::{single_validator_sign::SingleValidatorSign, GrandpaVoteTarget};
+use super::{single_validator_sign::SingleValidatorSign, GrandpaMessageTarget};
use crate::{
block_finality::validator_set_hash::ValidatorSetHashTarget,
common::{
@@ -32,7 +32,7 @@ impl_target_set! {
/// Validator index that have signed GRANDPA message.
pub validator_idx: Target,
/// GRANDPA message.
- pub message: GrandpaVoteTarget,
+ pub message: GrandpaMessageTarget,
}
}
diff --git a/prover/src/block_finality/validator_signs_chain/mod.rs b/prover/src/block_finality/validator_signs_chain/mod.rs
index 745f63ce..7ed86161 100644
--- a/prover/src/block_finality/validator_signs_chain/mod.rs
+++ b/prover/src/block_finality/validator_signs_chain/mod.rs
@@ -42,7 +42,7 @@ use self::indexed_validator_sign::IndexedValidatorSignTarget;
use indexed_validator_sign::IndexedValidatorSign;
-use super::{validator_set_hash::ValidatorSetHash, GrandpaVoteTarget, ProcessedPreCommit};
+use super::{validator_set_hash::ValidatorSetHash, GrandpaMessageTarget, ProcessedPreCommit};
const VALIDATOR_SIGN_PROVER_THREAD_MAX_STACK_SIZE: usize = 65_536 * 64;
@@ -52,7 +52,7 @@ impl_target_set! {
/// Blake2 hash of concatenated validator public keys.
pub validator_set_hash: Blake2Target,
/// GRANDPA message.
- pub message: GrandpaVoteTarget,
+ pub message: GrandpaMessageTarget,
}
}
@@ -159,7 +159,7 @@ impl_target_set! {
validator_set_hash: Blake2Target,
validator_count: Target,
- message: GrandpaVoteTarget,
+ message: GrandpaMessageTarget,
latest_validator_idx: Target,
sign_count: Target,
@@ -173,7 +173,7 @@ impl_parsable_target_set! {
validator_set_hash: Blake2Target,
validator_set_count: Target,
- message: GrandpaVoteTarget,
+ message: GrandpaMessageTarget,
latest_validator_idx: Target,
sign_count: Target,
diff --git a/prover/src/block_finality/validator_signs_chain/single_validator_sign.rs b/prover/src/block_finality/validator_signs_chain/single_validator_sign.rs
index b239271d..fcc5c3d4 100644
--- a/prover/src/block_finality/validator_signs_chain/single_validator_sign.rs
+++ b/prover/src/block_finality/validator_signs_chain/single_validator_sign.rs
@@ -10,7 +10,7 @@ use plonky2::{
use plonky2_ed25519::gadgets::eddsa::make_verify_circuits as ed25519_circuit;
-use super::GrandpaVoteTarget;
+use super::GrandpaMessageTarget;
use crate::{
common::{
array_to_bits,
@@ -30,7 +30,7 @@ impl_target_set! {
/// Public inputs for `SingleValidatorSign`.
pub struct PublicInputsTarget {
/// GRANDPA message.
- pub message: GrandpaVoteTarget,
+ pub message: GrandpaMessageTarget,
/// Validator public key.
pub public_key: Ed25519PublicKeyTarget,
}